ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Neural Sign Language Translation based on Human Keypoint Estimation
    수화 프로젝트 2021. 9. 13. 12:20

    1. Introduction

    - Sign language recognition & translation : visual language를 구어로 해석하는 것

     

    * 수화 특징

    - 수화는 고유한 문법으로 손의 모양과 움직임을 통해 언어적 의미를 나타냄

    - 얼굴의 표현으로 감정과 특정한 의도를 표현함

    - 많은 수화는 손과 얼굴 표정의 연속적인 표현으로 구어의 단어와 문장을 표현

    - 손(손가락) 언어는 한 손 모양으로 알파벳의 각 문자를 표현

    - 즉, 같은 의도여도 수화로 표현하는 것에는 셀 수 없을 정도로 많은 조합 존재

     

    * 문제점

    - 수화를 이해하는 것은 높은 수준의 spatial & temporal 지식이 요구됨

    - 현재 인공 신경망 기반 컴퓨터 비전 수준으로는 어려운 테스크

    - 거기다 인공 신경망을 학습할 데이터의 부족도 문제점

     

    * 본 연구

    - 청각 장애를 가진 11명의 전문 signer를 통해 한국어 수화 데이터셋 구축

    - 다양한 긴급 상황에 관련된 419 단어, 105 문장의 high-resolution 비디오 포함

    - 양 손, 포즈, 얼굴의 사람 키포인트를 기반으로 한 수화 번역 시스템 구축

    - 데이터셋의 크기가 충분히 크지 않은 것을 고려했을 때 강건한 성능을 보임 

     

    2. Related Work

    -

    -

     

    3. KETI Sign Language Dataset

    - 다양한 긴급 상황에서 청각 장애가 있는 사람들의 한국어 수화를 이해하기 위해 구축됨

    - 긴급 상황에 관련된 일반적인 대화를 검토하여 최종적으로 유용한 105개 문장과 419개 단어를 선정함

     

     

    - 11578 full high definition (HD) 비디오로 구성됨

    - 초당 30 프레임, 앞과 옆 2개의 카메라 각도로 녹화

    - Dataset is recorede by the designed corpus (?)

    - 11명의 청각 장애가 있는 signer로부터 수행

    - 각각의 signer는 총 1048개의 비디오를 녹화함

    - 학습 데이터 9명, 검증 데이터 1명, 테스트 데이터 1명으로 구성

     

     

    - 모든 수화 비디오에 해당하는 gloss sequence를 주석으로 달았음

    - Gloss : 수화를 기록하기 위해 사용되는 단어 부호에 일치하는 고유한 단어

      ex) 'I am burned' -> ('FIRE', 'SCAR')

           'A gouse is on fire' -> ('House', 'FIRE')

    - Gloss는 같은 의미의 다양한 자연어 문장이나 단어로 표현될 수 있기 때문에 부호에 주석으로 달리는 것이 적절함

    - 한국어 수화 전문가들의 도움을 받아 모든 표기에 gloss 주석을 달았음

     

    - KETI 데이터셋은 청각 장애인들과의 의사소통을 위해 인공지능 기반 수화 인식기 또는 번역기를 개발하기 위해 사용

    - 원치 않은 영향을 최소화하기 위해 블루 스크린 스튜디오에서 녹화

    4. Our Approach

    - 사람 키포인트를 기반으로 한 sign recognition 시스템 제안

    - 사람 키포인트를 추정하기 위해 pre-existing library인 OpenPose 이용

    - OpenPose는 실시간 다인 키포인트 탐지를 위한 오픈소스 툴킷

    - OpenPose는 몸 포즈에서 18개, 양 손에서 각각 21개, 얼굴에서 70개, 총 130개의 키포인트를 추정함

     

    4.1. Human Keypoint Detection by OpenPose

    - 사람 몸만 감지하기 때문에 다양한 어수선한 배경에서도 강건함

    - 추출된 키포인트의 variance가 무시해도 될 정도이기 때문에 signer에 상관없이 잘 작동

    - Signer에 의존적인 variance를 줄이기 위해 vector standardization 테크닉 적용

    - Keypoint detection 시스템이 발전하면 본 연구의 시스템도 그 이점을 누릴 수 있음

    - 데이터셋이 충분히 크지 않을 때 고차원의 feature를 사용하는 것은 필수적

    - 특히 수화 데이터셋은 수집하기가 더 어려움

     

    4.2. Feature Vector Noramlization

    - 적은 데이터로 수화 번역 할 때 가장 문제점은 signer에 따라 같은 수화여도 다르게 보여 visual variance가 크다는 것

    - 이를 해결하기 위해 object 2D normalization 적용

     

    - 키포인트의 x축, y축 벡터를 순서를 유지한 채 따로 수집

    - 데이터의 variance를 줄이기 위해 평균과 표준편차를 이용하여 feature vector를 normalize

    - 각 축에서 normalized vector를 concatenate하여 최종 feature vector 생성, 이를 neural network의 input으로 넣음

     

    - 몸의 아래부분은 수화 번역에 불필요하므로 OpenPose가 감지한 137개의 키포인트 중 124개 이용

    - 각 수화 비디오로부터 10부터 50개의 keyframe을 랜덤하게 샘플링

    - input feature vector의 차원은 248 x |V| ( |V|는 10,20,30,40,50 중 하나 )

     

    4.3. Frame Skip Sampling for Data Augmentation

    - 학습 데이터를 증가시키기 위해 비디오 데이터를 처리할 때 자주 사용되는 random frame skip sampling 이용

    - 비디오에서 multiple representative feature를 랜덤하게 추출

    : 수화 비디오 데이터 / l : 프레임 수

    - 고정된 수의 프레임을 랜덤하게 선택

    : 프레임 사이 갭의 평균 길이를 계산

     

    - Baseline sequence

    - Random sequence

     

    4.4. Attention-based Encoder-Decoder Network

    - 기계 번역에서 LSTM, GRU와 같은 RNN 아키텍쳐 기반의 encoder-decoder framework가 주목받고 있음

    - Encoder가 input sentence을 처리하면 sequence를 대표하는 고정된 길이의 contect vector를 생성함

    - Decoder는 이전에 예측한 단어와 encoder의 context vector를 조건으로 하여 다음 단어를 예측함

     

    * Bahdananu attention

    - 고정된 길이의 context vector가 번역 모델의 성능을 향상시키는 데에 bottleneck이라고 추측

    - Encoder의 hidden state로부터 관련된 부분을 자동적으로 찾아줌으로써 context vector를 계산하는 것을 제안

    - 이러한 attention mechanism은 매우 유용

     

    * Luong attention

    - Bahdananu와 거의 유사하지만 몇몇 디테일이 다름

    - Encoder, decoder의 top RNN layer의 hidden state만 사용

    - computation path 단순화

    - Hidden state 사이의 alignment 정도를 계산하기 위한 3가지 scoring function 제안

     

    * Multi-head attention (Transformer)

    - 어떠한 recurrence와 convolution도 없는 오로지 attention mechanism에만 기반으로 한 새로운 아키텍처

    - 가장 큰 특징은 multi-head attention

    1. Encoder-decoder attention

    2. Encoder self-attention

    3. Decoder self-attention

    - Sequence에서 단어의 상대적/절대적인 위치에 대한 정보를 포함하기 위해 positional encoding 이용

     

    5. Experimental Results

    - PyTorch 이용

    - Dropout regularization 이용

    - Vanilla seq2seq model과 2개의 attention-based model의 hidden state 차원은 256로 설정

    - Transformer의 input과 output 차원도 256로 설정

    - 선택된 frame 수는 50

     

    - 한국어는 교착어이기 때문에 주석 문장에 대한 morpgological 분석이 수행됨

    - 한국어 문장을 POS level로 토큰화하기 위해 KoNLPy의 Kkma part-of-speech tagger 이용

     

    - 기본적으로 accuracy 계산

    - 기계 번역 모델의 성능을 평가하기 위한 대표적인 metric 이용 : BLEU, ROUGE-L, METEOR, CIDEr

     

    * Sentence-level vs Gloss-level training

    - 다양한 타입의 주석을 이용했을 때 번역 성능 비교

    - Gloss-level 번역이 더 나은 성능 보임

    - 이는 각 수화가 여러개의 자연어 문장과 일치하는 반면, 유일한 하나의 gloss sequence와 일치하기 때문

     

    * Effect of feature normalization methods

    - OpenPose에 의해 추정된 사람 키포인트의 효과를 평가하기 위해 5가지 케이스를 비교함

    1) no normalization

    2) feature normalization

    3) object noramlization

    4) 2-dimensional normalization

    5) object 2D normalization

     

    - feature normalization은 전체 feature의 평균과 표준 편차로 normalize

    - object normalization은 양 손, 몸, 얼굴 각각 normalize

    - 2D normalization은 x축, y축 각각 normalize

    - 본 연구에서 제안한 object 2D normalization method가 가장 우수

     

    * Effect of augmentation factor

    - Random frame skip sampling의 data augmentation 효과를 검증

    - 하나의 수화 비디오로부터 랜덤하게 샘플링되는 training sample의 수를 augmentation factor라고 부름

    - 최적의 augmentation factor는 50

    - 하나의 수화 비디오의 평균 frame 수는 200 이상이므로 frame 사이 갭의 평균 길이는 4 이상

    - 확률적으로 정확히 같은 training sample을 가질 확률은 굉장히 낮음

     

    * Effect of attention mechanisms

    - 4종류의 encoder-decoder 아키텍쳐 비교

    - Luong et al.의 attention-based model과 Transformer 사이의 명확한 대조 확인 가능

    - Luong et al.의 모델이 validation set에서 더 나은 성능을 보임

    - Transformer가 test set에서 더 나은 성능을 보임

     

    * Effect of the number of sampled frames

    - 효과적으로 불필요한 frame들을 스킵하여 계산 비용을 줄이기 위하여 최적의 frame 수를 아는 것은 중요

    - Variable-length input sequence와도 sequence-to-sequence 모델은 작동하므로 sampled frame수를 고정할 필요 없음

    - 그러나 vanishing gradient 문제때문에 번역 성능은 감소하는 경향이 있으므로 최적의 frame 수를 아는 것은 중요

    - 실험 결과 최고의 번역 성능을 위한 최적의 frame 수는 validation set에서 30, test set에서 50

     

    * Effect of batch size

    - 최근 작은 batch size으로 학습했을 때 test set에 더 잘 일반화 된다는 의견 받아들여지고 있음

    - 본 연구에서는 반대 결과

     

    5.1. Ablation study

    - 양 손, 몸, 얼굴의 키포인트 정보의 사용의 효과를 연구

    - 양 손의 키포인트 정보가 가장 중요함

     

    - 얼굴의 키포인트 정보는 일반적으로 성능 향상에 도움이 되지 않음, 심지어 성능이 하락함

    - 이것은 아마 얼굴의 키포인트 수가 70개로 다른 것에 비해 훨씬 커서 불균형하기 때문?

     

    - 몸의 12개의 키포인트가 성능을 boosting up

    - 각 파트를 따로따로 normalize 하기 때문에 상대적인 위치에 대한 정보를 잃음

    - 하지만 몸의 키포인트로부터 상대적인 위치를 아는 것이 가능함

     

    6. Conclusion

    - 한국어 구어로 수동으로 주석이 달린 새로운 수화 데이터셋 도입

    - Sequence-to-sequence 번역 모델 기반의 neural sign language translation model 제안

    - 저차원의 수화 비디오에서 고차원의 특징을 추출하는 것은 불가피함

    - OpenPose에 의해 추정된 사람 키포인트를 기반으로 한 새로운 수화 번역 시스템을 성공적으로 학습시킴

     

    - 비디오의 공간적 특성을 이용한 데이터 확대 기법을 활용하여 수화 번역 시스템을 개선하는 것을 목표로 함

    - KETI 수화 데이터셋을 확장하는 것도 중요


    본 논문 : Ko, S. K., Kim, C. J., Jung, H., & Cho, C. (2019). Neural sign language translation based on human keypoint estimation. Applied Sciences (Switzerland), 9(13). https://doi.org/10.3390/app9132683

     

     

Designed by Tistory.