OpenFS: Multi-Hand-Capable Fingerspelling Recognition with Implicit Signing-Hand Detection and Frame-Wise Letter-Conditioned Synthesis
Organizations: KAIST · KT · KETI
Abstract
Fingerspelling is a component of sign languages in which words are spelled out letter by letter using specific hand poses. Automatic fingerspelling recognition plays a crucial role in bridging the communication gap between Deaf and hearing communities, yet it remains challenging due to the signing-hand ambiguity issue, the lack of appropriate training losses, and the out-of-vocabulary (OOV) problem. Prior fingerspelling recognition methods rely on explicit signing-hand detection, which often leads to recognition failures, and on a connectionist temporal classification (CTC) loss, which exhibits the peaky behavior problem. To address these issues, we develop OpenFS, an open-source approach for fingerspelling recognition and synthesis. We propose a multi-hand-capable fingerspelling recognizer that supports both single- and multi-hand inputs and performs implicit signing-hand detection by incorporating a dual-level positional encoding and a signing-hand focus (SF) loss. The SF loss encourages cross-attention to focus on the signing hand, enabling implicit signing-hand detection during recognition. Furthermore, without relying on the CTC loss, we introduce a monotonic alignment (MA) loss that enforces the output letter sequence to follow the temporal order of the input pose sequence through cross-attention regularization. In addition, we propose a frame-wise letter-conditioned generator that synthesizes realistic fingerspelling pose sequences for OOV words. This generator enables the construction of a new synthetic benchmark, called FSNeo. Through comprehensive experiments, we demonstrate that our approach achieves state-of-the-art performance in recognition and validate the effectiveness of the proposed recognizer and generator. Codes and data are available in: https://github.com/AIRC-KETI/OpenFS.
Figures & tables
| Method | CFSW [ 55 ] | CFSWP [ 57 ] | FSNeo |
|---|---|---|---|
| Shi et al . [ 55 ] | 57.5 | 58.3 | - |
| Shi et al . [ 57 ] | 61.2 | 62.3 | - |
| FSS-Net [ 54 ] | 52.5 | 64.4 | - |
| PoseNet [ 13 ] | 61.6 | 61.0 | 61.2 |
| Ours | 75.4 | 70.5 | 80.5 |
| PoseNet † [ 13 ] | 69.2( +7.6 ) | 69.4( +8.4 ) | 94.9( +33.7 ) |
| Method | Fair Acc. | IV Acc. | OOV Acc. |
|---|---|---|---|
| PoseNet [ 13 ] | 66.2 | 65.0 | 58.8 |
| Ours | 76.0 | 80.1 | 71.8 |
| PoseNet † [ 13 ] | 74.5( +8.3 ) | 70.9( +5.9 ) | 67.9( +9.1 ) |
| Ours † | 77.9 (+1.9) | 84.5 (+4.4) | 72.5 (+0.7) |
| Method | Accuracy | Method | Accuracy |
|---|---|---|---|
| PoseNet [ 13 ] | 90.4 | Ours/Ours † | 99.9 |
| Method | CFSW [ 55 ] |
|---|---|
| w standard pos. enc. & w/o | 73.2 |
| w standard pos. enc. & w | 73.1 |
| w dual-level pos. enc. & w/o | 74.8 |
| w dual-level pos. enc. & w | 75.4 |
| Generator condition | PoseNet [ 13 ] | Our recognizer |
|---|---|---|
| WC [ 50 ] | 19.9 | 23.3 |
| LC | 26.4 | 40.2 |
| FWLC (Ours) | 63.5 | 82.3 |
| Method | BS | ( ) | ( ) | ( ) | FPS ( ) |
|---|---|---|---|---|---|
| PoseNet [ 13 ] | 1 | 4,282 | 0.2 | 1 | 6 |
| Ours | 1 | 39 | 22.0 | 106 | 962 |
| Ours | 32 | 6 | 149.8 | 725 | 6,356 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | Recognizer |
|---|---|
| Architecture | Transformer encoder–decoder |
| Layers | |
| Hidden dimension | 256 |
| Feed-forward dimension | 2,048 |
| Attention heads | 8 |
| Activation | GELU |
| Layer | Input Dimension | Output Dimension |
|---|---|---|
| Encoder: Pose embedding | ||
| Linear | pose_dim | |
| LayerNorm | ||
| ReLU | ||
| Linear | ||
| LayerNorm | ||
| Component | Generator (DDIM) |
|---|---|
| Architecture | Transformer encoder |
| Layers | |
| Hidden dimension | 256 |
| Feed-forward dimension | 1,024 |
| Attention heads | 4 |
| Activation | GELU |
| Layer | Input Dimension | Output Dimension |
|---|---|---|
| Time embedding | ||
| Sinusoidal | 1 | 256 |
| Linear | 256 | 256 |
| SiLU | 256 | 256 |
| Linear | 256 | 256 |
| Pose embedding | ||
| Layer | Input Dimension | Output Dimension |
|---|---|---|
| Linear | 256 | 256 |
| LayerNorm | 256 | 256 |
| ReLU | 256 | 256 |
| Dropout ( ) | 256 | 256 |
| Linear | 256 | char_size |
| Coordinate Dim. | Concatenation | Letter Accuracy |
|---|---|---|
| 3D | frame-wise | 73.4 |
| 2D | joint-wise | 71.6 |
| 2D | frame-wise | 75.4 |
| Method | FID ( ) | Diversity ( ) |
|---|---|---|
| Real | - | 1.1107 ± 0.0115 |
| WC | 0.4036 ± 0.0408 | 0.7803 ± 0.0015 |
| LC | 0.4159 ± 0.0516 | 0.8987 ± 0.0009 |
| FWLC | 0.3695 ± 0.0522 | 0.8996 ± 0.0006 |
| Method | Model Size (MB) | Params. (M) | FPS |
|---|---|---|---|
| PoseNet [ 13 ] | 33.5 | 8.78 | 6 |
| MHC recognizer | 33.7 | 8.81 | 962 |
| FWLC generator | 24.8 | 6.48 | 96 |
| Method | Deletions | Substitutions | Insertions |
|---|---|---|---|
| PoseNet [ 13 ] | 962(21.8%) | 502(11.4%) | 235(5.3%) |
| Ours | 458(10.4%) | 390(8.8%) | 239(5.4%) |
| PoseNet † [ 13 ] | 850(19.2%) | 339(7.7%) | 173(3.9%) |
| Ours † | 336(7.6%) | 344(7.8%) | 304(6.9%) |
| Method | 1-4 | 5+ | Diff. |
|---|---|---|---|
| PoseNet [ 13 ] | 65.6 | 59.4 | 6.2 |
| Ours | 79.2 | 73.4 | 5.8 |
| PoseNet † [ 13 ] | 69.2 | 68.8 | 0.4 |
| Ours † | 80.0 | 76.6 | 3.4 |
| Method | CFSW | CFSWP | FSNeo |
|---|---|---|---|
| PoseNet [ 13 ] | 28.8 | 25.7 | 4.7 |
| Ours | 44.6 | 40.4 | 24.1 |
| PoseNet † [ 13 ] | 36.9( +8.1 ) | 36.0( +10.3 ) | 64.2( +59.5 ) |
| Ours † | 50.5 (+5.9) | 48.5 (+8.1) | 82.0 (+57.9) |
| Method | Letter Acc. | Top-1 Acc. | Params. (M) |
|---|---|---|---|
| ByT5-s [ 15 , 66 ] | 66.2 | 17.9 | 300M |
| ByT5-p [ 15 , 66 ] | 88.9 | 52.9 | 300M |
| Ours | 93.7 | 59.4 | 8.81M |
Sign Language Recognition
Sign language recognition uses video, images, or sensor data to identify signs, fingerspelling, and continuous signing across people and settings.
See all 56 papers