Skip to content

손과 웹캠으로 마우스 커서 조작하기

Notifications You must be signed in to change notification settings

canlion/hand_mouse

 
 

Repository files navigation

웹캠을 이용한 가상 마우스

프로젝트 소개

개요

  • 웹캠을 통해 사용자의 손동작을 인식하여 마우스 커서 조작
  • 목적
    • 마우스 또는 터치스크린 기기의 조작 방식 대체
      • 코로나 등의 질병 전염을 줄이기 위해 키오스크 등의 터치 스크린 기기의 위생 개선
      • 실시간으로 컨텐츠 제작과 컴퓨터 조작을 동시에 수행해야하는 1인 컨텐츠 제작자들의 편의성 증진

흐름도

사용

설치

# 레포지터리 클론
git clone https://github.com/boostcampaitech3/final-project-level3-cv-13.git
cd final-project-level3-cv-13

# 가상환경 생성
virtualenv virtual_mouse --python=3.8
source virtual_mouse/bin/activate

# 의존성 설치 및 플러그인 충돌 우회
pip install -r requirements.txt
mv virtual_mouse/lib/python3.8/site-packages/cv2/qt/plugins/ virtual_mouse/lib/python3.8/site-packages/cv2/qt/plugins_/

# 실행
python3 main.py

GUI 구성

손동작 종류

이동 클릭 우클릭 None
  • 드래그: 클릭 상태 1초간 유지

모델

키포인트 디텍션 모델

  • Top-down heatmap based hand keypoint estimation with MobileNetV3-Large backbone
  • FreiHAND dataset으로 학습 후 CV7AHAND dataset으로 재학습
  • CV7AHAND: 사용환경에 적합하게 직접 제작한 데이터셋

제스쳐 분류 모델

  • Three-layer MLP - Sequential(Linear, BN, ReLU, Linear, BN, ReLU, Linear, Sigmoid)
  • Input shape: (BATCH_SIZE, 42), Output shape: (BATCH_SIZE, 4)
  • 손동작을 취하면서 직접 제작한 데이터셋으로 학습

팀 CV7Λ

T3049 T3114 T3165 T3209 T3216
김재훈 송진우 이종민 조정빈 천영호

참고

About

손과 웹캠으로 마우스 커서 조작하기

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 89.3%
  • Python 10.7%