본문 바로가기
프로젝트

[프로젝트] 실시간 수어 번역 인식 모듈 생성

by rahites 2023. 1. 2.

# 본 프로젝트는 '2022-2 딥러닝 수업' 과제로 제출한 프로젝트임을 명시합니다.

( 2022.10.27 ~ 2022.12.14 )

 

주제

실시간 수어 번역 인식 모듈 생성

 

방법

1. 데이터 수집 

: 31개의 자음, 모음에 대한 팀원들의 학습 영상 촬영

2. 데이터 전처리

: MediaPipe를 이용하여 촬영한 영상들을 npy 형태의 파일로 변환한 이후 하나의 npy 파일로 병합

3. 모델링 

: LSTM 모델을 이용한 시계열 데이터 학습

4. 평가

: 모델의 정확도 평가 및 모델 시연

 

https://github.com/Rahites/Sign_Language_Translation

 

GitHub - Rahites/Sign_Language_Translation

Contribute to Rahites/Sign_Language_Translation development by creating an account on GitHub.

github.com

 


1. 데이터 수집

- 31개의 자음, 모음에 대한 지문자에 대한 학습 영상 촬영

출처 : https://www.urimal.org/1222
각각 "ㅎ", "ㅏ", "ㄱ"에 대한 수화

 

2. 데이터 전처리

(1) OpenCV를 이용한 비디오 데이터 읽기

(2) MediaPipe를 활용한 오른손 Keypoint 검출

(3) Keypoint 값에 대한 Vector, Angle 계산 (벡터 정규화 적용)

https://google.github.io/mediapipe/solutions/hands.html

(4) 지정한 단위로 sequence를 생성해주고 (data개수, sequence_length, value) 형태의 npy파일을 생성

(5) 3명의 npy를 concat해주어 최종 data를 완성

 

3. 모델링

- LSTM 모델을 활용해 모델링 진행

: L2 정규화, ReLU, Dropout, Categorical_CrossEntropy, Adam, ReduceLROnPlateau, EarlyStopping

 

4. 평가

- Accuracy

- F1-Score

- 모델 시연(영상 - 자음)

출처 : 유손생 Youtube(수어 지문자 배우기 "수화로 내 이름은?")

https://www.youtube.com/watch?v=0eTc8GPMv74 

 

- 모델 시연(영상 - 모음)

출처 : 하이루비 Youtube(수어(수화)배우기◇지화[하이루비])

https://www.youtube.com/watch?v=CuwNdWOzPrA 

 

- 모델 시연(실시간 - "딥러닝")

"딥러닝"을 지화로 표현

5. 결론 및 개선사항

- 그렇게 많은 Epoch를 돌리지 않았지만 어느정도 좋은 성능을 기록한 것을 확인할 수 있었습니다.

- TFLite를 이용한 실시간 모델 평가, 유튜브 영상 평가에서 모두 준수한 성능을 보입니다. 

- 이번 프로젝트에서는 단순히 지화를 인식한 결과를 화면에 띄우는 것을 목표로 하였는데 Jamos 패키지를 이용해 지금까지 입력 자모음을 합치는 모델을 만들 수 있을 것입니다.

- 지화(자모음)뿐만 아니라 단어 및 문장에 대한 학습이 가능할 것입니다.

- 수화에서 중요한 얼굴, 팔 등의 비수지 신호에 대한 joint를 첨가하면 좋을 것 같습니다.

- 더 많은 데이터 셋(ex. 전문가의 정확한 수화로 학습)으로 학습한다면 더 높은 성능을 기록할 수 있을 것입니다. 

 

 

댓글