C++로 만든 손동작 인식을 이용한 Finger Pad
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

Ⅰ. 서 론 4

Ⅱ. 손 영역 검출 방법 6
1. YCbCr 칼라공간변환 6
2. 손 색상 모델 생성 7
3. 손 영역 노이즈 제거 7
4. Morphology 연산을 이용한 영상 보정 8
5. Zhang Suen 세선화 알고리즘 9

Ⅲ. 제스처 인식 12
1. 인식을 위한 손 영역의 정규화 12
2. 손의 중심 찾기 12
3. 인식을 위한 손가락의 개수를 추출 13

Ⅳ. 실험 및 결과 15
1. 전체 시스템의 구조 15
2. 실험 결과 18

Ⅴ. 결 론 22

참고문헌 23

본문내용

절 전체 시스템의 구조
본 논문에서 제안한 실시간 손동작 인식 시스템은 마우스의 기능을 손동작으로 대신하는 새로운 인터페이스를 제공한다. 마우스 동작을 인식시키기 위하여 <그림 9>의 마우스 11개 동작을 정의하고 손가락의 개수 및 여러 가지 기록된 정보들을 가지고 마우스의 기능을 부여하는 작업이 수행된다. 각 제스처를 정확히 표현하는 데는 어느 정도 시간이 걸리며, 제스처와 제스처 사이에 불필요한 동작이 잘 못 인식될 수 있다. 따라서 제안된 시스템에서는 정의된 동작만을 실행한다.
<마우스 포인터 이동 기능>
검지손가락을 편 상태에서 손가락을 움직이면 검지손가락 끝에 따라 마우스 포인터가 이동합니다.
<마우스 드래그 기능>
검지손가락을 편 상태에서 엄지손가락을 펴면 마우스 드래그 기능을 합니다.
<마우스 좌 클릭 기능>
마우스의 드래그 기능 중 엄지손가락을 접으면 마우스 좌 클릭 기능을 합니다.
<마우스 우 클릭 기능>
검지손가락을 편 상태에서 엄지손가락과 중지손가락을 펴면 마우스 우 클릭 기능을 합니다.
<뒤로 이동 기능>
검지손가락을 편 상태에서 중지, 약지, 새끼손가락을 펴면 뒤로 이동 기능을 합니다.
<앞으로 이동 기능>
검지손가락을 편 상태에서 나머지 손가락들을 모두 펴면 앞으로 이동 기능을 합니다.

Function은 기본적으로 off 상태입니다. 엄지손가락을 펴고 있으면 Function이 On 상태가 됩니다.
<스크롤다운 기능>
엄지손가락을 편 상태에서 검지손가락을 펴면 스크롤다운 기능이 수행 됩니다.
<스크롤 업 기능>
엄지손가락을 편 상태에서 검지손가락과 중지손가락을 펴면 스크롤 업 기능이 수행 됩니다.
<창 이동 기능>
엄지손가락을 편 상태에서 검지손가락과 중지손가락과 약지손가락을 펴면 창 이동 기능을 합니다.
<탭 이동 기능>
엄지손가락을 편 상태에서 나머지 손가락들을 모두 펴면 탭 이동 기능을 합니다.
실험은 펜티엄Ⅲ 800MHz 칩이 장착된 PC에서 수행하였다. 운영체제로는 Windows XP를 사용하였고 컴파일러로는 Visual C++ 6.0을 사용하였다. 영상 입력 장치로는 범용 USB PC CAM를 사용하였다.
영상 처리를 위해 사용한 영상의 크기는 320×240 크기의 칼라영상을 사용하였으며 초당 20프레임의 속도로 영상을 획득하였다.
실험 환경은 USB PC CAM이 모니터 위에 장착되어 있고 사용자는 모니터의 정면에서 동작을 취한다. CAM에 입력되는 배경 영상은 일반적인 사무실의 배경과 유사하게 설정하였다. <그림 10>는 전체시스템의 계략적인 구조를 보여준다.
<그림 10> 실시간 손동작 인식 시스템 블록도
제 2 절 실험 결과
실시간 손동작 인식 시스템이 잘 작동하기 위해서는 입력되는 영상에서 정확하게 손 영역을 추출하여야 한다. <그림 11>은 제안된 시스템을 적용한 인터넷 서핑의 실행모습을 보여준다. (a)는 Finger pad의 시작화면을 보여준다. (b)는 마우스 포인터를 이동하는 모습을 보여주고, (c)는 마우스를 드래그하는 모습을 보여준다. (d)의 그림은 스크롤 업 동작을 수행하는 모습을 보여주고 있다.
<그림 12>과 <그림 13>, <그림 14>는 각각 탭 이동 제스처와 오른쪽 버튼 제스처를 인식하는 모습, 시스템 메뉴 설명을 보여준다.
(a) Finger pad의 시작화면
<그림 11> 인터넷 서핑 실행 결과 (계속)
(b) 마우스 이동 화면
(c) 마우스 드래그 화면
<그림 11> 인터넷 서핑 실행 결과 (계속)
(d) 스크롤 업 화면
<그림 11> 인터넷 서핑 실행 결과
<그림 12> 탭 이동 화면
<그림 13> 마우스 오른쪽 클릭 화면
제 5 장 결 론
본 논문에서는 카메라로부터 실시간으로 입력되는 영상으로부터 손동작을 인식하여 마우스 기능의 인터페이스를 제공하는 시스템을 제안하였다. 실시간 손동작 인식 시스템은 카메라에서 입력되는 영상의 특징을 기반으로 사용자에게 부가적인 장치를 착용하게 하지 않고 자연스러운 상태에서 제스처 기반 인터페이스를 제공 할 수 있었다.
칼라영상의 영역분리를 쉽게 하기 위해 정의한 손 색상 모델은 손 색상에 해당하는 영역을 배경영상으로부터 잘 분리하였고, 손의 중심과 손가락 개수를 색상과 각도를 이용하여 추출한 후 각 제스처를 정확하게 인식해 내었다.
본 논문에서는 객관적인 성능 평가를 하기보다는 특정한 응용 시스템에 제스처 인식방법을 적용함으로써 제안하는 제스처 인식 시스템의 효용성을 보이는 것으로 성능 평가를 대신하고 있다.
본 논문에서는 손이 아닌 다른 피부색 영역이 있는 경우 이를 제거하는 방법을 보완하는 것이 향후 과제로 남는다. 제안한 시스템에서 사용한 제스처들은 일반적으로 책상 위의 범위에서 표현이 가능하므로 카메라의 FOV(Field of view)를 이 범위에 제한하면 대부분의 경우 손 영역을 제대로 추출할 수 있지만 보다 보편적인 경우에는 얼굴이 포함될 수 있고, 다른 피부색 영역과 손이 겹칠 수도 있다. 또한 사용자 이외에 다른 사람이 FOV 내에서 움직이는 경우도 발생할 수 있다. 이런 경우 여러 개의 살색 영역을 손의 후보 영역을 판별해 낼 수 있을 것이다.
그리고 본 논문에서 제안한 실시간 손동작 인식 시스템은 입력영상을 프레임마나 실시간으로 처리함으로써 실제 마우스의 성능에 비하여 느린 결과를 나타낸다. 이를 보완하기 위해 프레임을 처리 부분을 하드웨어적으로 구현 한다면 빠른 성능을 보일 것으로 기대된다.
참 고 문 헌
(1) 고일주, 최형일, “영역 추출과 추적에 의한 손 영역 획득”, 한국정보과학회 봄
학술발표논문집 Vol. 23, No. 1 pp. 239-242, 1996.
(2) 김용성, Visual C++ 6.0 완벽가이드, 영진 출판사, 1998
(3) 이문호, Visual C++ 실용 영상 신호처리, 대영사, 2001
(4) 이길만, 문대성, 김성옥, 김민환, “실생활 환경에서의 손동작 인식 및 추적 방
법”, 한국멀티미디어학회 추계학술발표논문집 pp.577-582, 1999.
(5) 조오영, “인터액티브 가상 환경을 위한 손 제스처 인식 시스템”, 고려대학교 전
자공학과 석사학위논문, 1999
  • 가격5,000
  • 페이지수23페이지
  • 등록일2009.01.28
  • 저작시기2008.12
  • 파일형식한글(hwp)
  • 자료번호#516197
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니