Skip to content

Prometheus-AI-Project/2025-2_Sign2Talk

 
 

Repository files navigation

Sign2Talk: 실시간 한국 수어 인식 및 문장 변환 시스템

한국 수어(KSL)를 실시간으로 분석해 여 자연스러운 한국어 문장으로 변환해주는 서비스


📋 프로젝트 개요

이 프로젝트는 청각장애인과 비청각장애인 사이의 언어 장벽을 낮추기 위해 개발되었습니다. 단순히 수어 단어를 나열하는 것에 그치지 않고, 딥러닝 모델로 인식된 단어 시퀀스를 LLM(GPT)이 문맥에 맞는 자연스러운 문장으로 재구성합니다.

시스템 아키텍처

[데이터 수집] → [전처리 파이프라인] → [앙상블 모델 학습] → [실시간 인식 및 GPT 문장 생성]
(1,210개 영상)    (속도/공간 정규화)     (96.69% 정확도)       (OpenAI API 연동)


✨ 주요 특징

  • 고정밀 앙상블 모델: 4가지 서로 다른 아키텍처(CNN, Attention, Transformer, Hybrid)를 결합하여 **96.69%**의 높은 테스트 정확도를 달성했습니다.

  • 강건한 전처리 기술:

  • 속도 정규화: 사용자마다 다른 수어 속도를 30프레임으로 리샘플링하여 동일하게 인식합니다.

  • 공간 정규화: 어깨 너비를 기준으로 거리 데이터를 정규화하여 체격 차이를 보정합니다.

  • 실시간 연속 인식: 5프레임 단위의 빠른 예측 스트라이드를 통해 끊김 없는 인식이 가능합니다.

  • 자연어 문장 생성: 영화보다 와 같은 단어 나열을 "나는 영화를 본다."와 같은 완성된 문장으로 변환합니다.


🛠 기술 스택

  • 언어: Python
  • 프레임워크: TensorFlow, Keras
  • 컴퓨터 비전: OpenCV, MediaPipe (손 및 포즈 랜드마크 추출)
  • 자연어 처리: OpenAI GPT-4o mini API
  • 데이터 구성: 67개 수어 클래스, 2,420개 학습 샘플 (미러링 증강 포함)

🧠 모델 아키텍처 (4-Model Ensemble)

모델 버전 아키텍처 특징 주요 장점
V1 Multi-scale Temporal CNN 다양한 시간적 스케일(Dilation) 포착, 속도 변화에 강건
V2 CNN + Attention Global Average/Max Pooling 병렬 구조로 중요 피처 강조
V3 Transformer Self-attention을 통한 장거리 시퀀스 의존성 학습 (가중치 최대)
V4 Hybrid (CNN + Transformer) 지역적 패턴(CNN)과 전역적 문맥(Transformer)의 결합

🚀 설치 및 실행 방법

1. 환경 설정

# 저장소 클론
git clone https://github.com/soyyoon/Sign2Talk.git
cd Sign2Talk

# 필수 패키지 설치
pip install opencv-python mediapipe tensorflow numpy pillow openai

2. API 키 설정

GPT 문장 생성 기능을 위해 OpenAI API 키가 필요합니다.

export OPENAI_API_KEY='your-api-key-here'

3. 프로그램 실행

  • 단순 단어 인식 모드: python webcam.py
  • 연속 인식 및 문장 생성 모드: python webcam_space.py

📂 프로젝트 구조

Sign2Talk/
├── data_preprocessing.py   # 속도/공간 정규화 및 증강 로직
├── training_model.py       # 4개 모델 학습 및 앙상블 가중치 최적화
├── webcam_space.py         # 실시간 연속 인식 및 GPT 연동 메인 파일
├── models/                 # 학습된 .keras 모델 및 가중치 파일
├── mean.npy / std.npy      # 데이터 정규화용 통계값
└── class_names.json        # 67개 수어 라벨 정보


📈 성능 지표

  • 테스트 정확도: 96.69%
  • 인식 속도: 약 0.2초 (단어 단위)
  • 문장 생성 속도: 1~2초 내외
  • 실시간 프레임: 25-30 FPS

🧩 향후 확장 계획

  • 감정 분석: 표정 인식을 통한 문장의 감정 톤(Tone) 조절
  • 양방향 소통: 음성을 수어 애니메이션이나 텍스트로 변환하는 기능 추가
  • 데이터셋 확장: 더 다양한 일상 대화 카테고리 추가

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%