본문으로 건너뛰기
r/computervision조회 2

탭 내에서 실행되는 12종 손 제스처 인식기

MediaPipe Hands의 21개 랜드마크를 입력으로 하는 약 66K 파라미터 MLP를 ONNX Runtime Web로 브라우저에서 실행해 클래스별 시계열 분할 기준 95.5% 정확도를 보고했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

이 프로젝트는 MediaPipe Hands가 제공하는 21개 랜드마크를 입력으로 하는 126→256→128→13 구조의 MLP(약 66K 파라미터, 260KB)를 ONNX Runtime Web로 브라우저에서 실행해 클래스별 시계열 분할 기준 95.5% 정확도를 보고했다. 데이터는 hold-to-capture 방식으로 수집되어 같은 버스트가 학습과 테스트에 섞이는 문제를 피하기 위해 각 클래스별 앞 80%를 학습, 뒤 20%를 테스트하는 temporal split을 사용했고 전이 프레임을 별도 클래스(13번째)로 캡처해 전이 중 오탐을 감소시키는 설계를 적용했다. 배포 파이프라인에서는 알려진 랜드마크 벡터를 JS 처리 경로에 통과시켜 PyTorch 레퍼런스 로그잇과 비교하는 parity self-test로 정규화 드리프트를 검출하도록 하여 배포 신뢰도를 확보했다. 현재 모델은 단일 피험자 기반으로 tiger↔ram 혼동률이 약 14%로 보고되어 다중 피험자 데이터와 교차검증을 통한 일반화 평가가 필요하다.

실용적 조언

  • 랜드마크 기반 분류기를 배포할 때는 학습 시의 정규화 절차를 배포 파이프라인에 동일하게 구현하고, parity 테스트로 정규화 드리프트를 검증할 것을 권장한다.
  • 데이터 수집 시에는 다양한 피험자와 촬영 조건을 포함하고, 가능한 경우 leave-one-person-out 검증을 통해 개인 간 일반화를 사전에 평가해야 한다.
  • 전이 프레임을 별도 클래스로 수집하거나 전이 감지 로직을 도입하면 연속 동작에서의 오탐을 줄일 수 있으므로 실사용 인터페이스에 대한 신뢰도를 높일 수 있다.

섹션별 상세

01
모델 설계는 픽셀 대신 기하학적 랜드마크를 입력으로 받아 경량 MLP로 분류하는 접근이다. MediaPipe Hands가 반환하는 21개 랜드마크를 손목 중심 정규화와 스케일 불변 처리를 거쳐 126차원 벡터로 만들고, 126→256→128→13 구조의 MLP(약 66K 파라미터)를 통해 13개 클래스를 출력하도록 구성되었다. 이 구성으로 모델 파일 크기가 260KB에 불과하고 ONNX Runtime Web에서 CPU 추론이 프레임당 수밀리초 수준으로 동작해 브라우저 단독 실행과 개인정보 비유출을 달성했다. 기하학 기반 입력을 사용함으로써 연산량과 모델 크기를 크게 줄여 모바일·엣지 환경에서의 실시간 적용이 가능하다는 의미가 있다.
02
데이터 수집과 평가 방식은 연속 촬영(hold-to-capture) 특성을 고려해 설계되었고, 이는 무작위 분할로 인한 정보 유출을 방지하기 위한 시계열 분할로 이어졌다. 각 클래스의 앞 80% 프레임을 학습에, 뒤 20%를 테스트에 할당하는 per-class temporal split을 사용해 학습 중에 캡처된 거의 동일한 버스트가 학습과 테스트에 섞이는 것을 피했다. 이 평가 방식에서 보고된 분류 정확도는 클래스별 시계열 분할 기준 95.5%였다. 무작위 분할로 평가하면 버스트 단위 중복으로 실제 성능을 과대평가할 수 있다는 점을 명확히 하고 있다.
03
전이(transition) 프레임을 별도 클래스로 수집해 전이 과정에서 발생하는 혼동을 직접적으로 처리하고 있다. 손이 한 제스처에서 다른 제스처로 이동할 때 생기는 중간 형태는 잠시 다른 클래스와 유사하게 보이므로 손목 움직임을 트리거로 하는 캡처 모드로 전이 프레임을 13번째 클래스로 라벨링했다. 배포 파이프라인에서는 결정적 'none' 바이어스가 모든 출력을 음소거할 수 있도록 하고, 전이 조건 이하에서는 나머지 클래스들에 대해 P(sign | not transit)를 재정규화해 경쟁시키는 로직을 적용했다. 이 방식은 전이 중의 오탐을 줄이고 연속적 입력에서의 안정성을 확보하는 실용적 이점을 제공한다.
04
배포 검증을 위해 parity self-test를 도입해 학습 파이프라인과 JS 파이프라인 간의 정규화 불일치를 즉시 검출하도록 했다. 페이지 로드 시 알려진 랜드마크 벡터를 전체 JavaScript 처리 경로에 통과시켜 얻은 로그잇을 PyTorch 레퍼런스와 비교하며, 이 비교는 모델을 내보낼 때마다 재생성되어 배포 전후의 일관성을 확인한다. 작성자는 정규화 드리프트를 '침묵의 살인자'로 규정하며 이 테스트가 신뢰할 수 없는 예측을 배포 전에 가려낸다고 보고했다. 이러한 검증은 특히 랜드마크 정규화가 사소한 변화에도 모델 성능에 큰 영향을 줄 수 있는 시스템에서 필수적이다.
05
일반화 측면에서는 아직 한계가 명확히 드러나며 추가 데이터가 필요하다. 현재 모델은 단일 피험자(subj) 기반으로 학습되었고 leave-one-person-out 검증을 구현했지만 '낯선 사람에서의 작동'을 입증하는 전체 수치는 공개되지 않았다. 클래스 간 혼동 예로 tiger와 ram은 관절 기하학만으로 볼 때 약 14%의 혼동률을 보였는데, 이는 근본적으로 유사한 관절 배치가 구별을 어렵게 만든다는 것을 시사한다. 따라서 다중 피험자 데이터 수집과 교차검증을 통한 일반화 평가가 뒤따라야 실제 적용 가능성이 확보된다.

용어 해설

손 랜드마크(Hand Landmarks)
손의 관절과 주요 지점을 좌표 벡터로 표현한 정보로서 이 글에서는 MediaPipe Hands가 반환하는 21개 포인트를 의미한다. 입력으로 사용된 랜드마크는 손목 중심 정규화와 스케일 불변 처리를 거쳐 기하학적 특징으로 변환되고, 이 특징이 MLP의 입력 벡터로 사용되어 픽셀 대신 관절 위치로 분류를 수행한다. 랜드마크 기반 표현은 이미지 전체를 처리하는 CNN보다 모델 크기와 연산량을 크게 줄여 브라우저 내 실시간 추론을 가능하게 한다.
시계열 분할(Temporal Split)
데이터셋을 시간 순서에 따라 앞부분과 뒷부분으로 나누어 학습용과 평가용으로 사용하는 분할 방식으로, 이 글에서는 각 클래스의 처음 80% 프레임을 학습에, 마지막 20%를 테스트에 사용했다. 동일한 촬영 버스트가 학습과 테스트에 섞이는 것을 방지해 과적합을 숨기지 않도록 설계되며, 특히 연속 캡처 방식으로 수집된 데이터에서 무작위 분할이 유발하는 정보 유출을 차단한다. 실험적 근거로 본 프로젝트는 이 분할을 사용해 클래스별 정확도 95.5%를 보고했다.
정규화 드리프트(Normalization Drift)
학습 시 적용한 입력 정규화와 배포 시 파이프라인에서 생성되는 입력 분포가 불일치해 모델 성능이 떨어지는 현상을 말한다. 본 시스템에서는 학습 파이프라인과 JS 파이프라인 사이의 정규화 불일치가 예측 신뢰도를 잠식할 수 있어, 배포 시 동일 입력에 대해 레퍼런스 로그잇을 비교하는 parity self-test로 이를 검출한다. 정규화 드리프트는 특히 랜드마크 좌표의 스케일·중심화 처리에서 자주 발생한다.
한 사람 제외 교차검증(Leave-One-Person-Out)
데이터셋에서 특정 개인의 모든 샘플을 테스트셋으로 떼어놓고 나머지로 학습해 모델의 개인 간 일반화 성능을 측정하는 방법이다. 작성자는 단일 사용자 기반 모델이므로 이 검증을 구현해 개인 의존성을 평가하려 했으나, 최종적으로 '낯선 사람에서의 정확도' 수치는 보고되지 않았다. 이 검증은 인체 형태 기반 분류기의 실제 일반화 문제를 직접적으로 드러낸다.
다층 퍼셉트론(MLP)
여러 개의 완전연결층으로 구성된 신경망 구조로서 본 작업에서는 126→256→128→13 구조의 MLP가 사용되어 21개 랜드마크(각 3차원)에서 추출한 기하학적 특징을 입력으로 받아 13개 클래스를 출력한다. 이 MLP는 약 66K 파라미터 규모로 경량화되어 파일 크기가 260KB에 불과하며, 브라우저 CPU에서 밀리초 단위 추론을 가능하게 했다. MLP는 공간적 패턴을 CNN처럼 직접 처리하지 않고 좌표 특성의 비선형 결합을 통해 분류를 수행한다.

언급된 도구

MediaPipe Hands추천

브라우저/클라이언트에서 손 관절 21개 랜드마크를 추출하는 라이브러리

ONNX Runtime Web추천

ONNX 형식 모델을 브라우저에서 실행하기 위한 추론 런타임

PyTorch중립

모델 학습과 레퍼런스 로그잇 생성에 사용된 프레임워크

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 23.수집 2026. 07. 23.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.