1. 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제
-고정형 (실내) 혼합현실 시스템을 통한 실시간 멀티버스 인터랙션 기술 개발
A Realtime Interaction to Multiverse using Augmented Reality under Indoor
Environment
김종현(Kim, Jong-Hyoun)
계원디자인예술대학 게임웨어과 교수
목차
과제 개요 및 목표
개요
목표 및 일정
시스템 개요
제 개발 게임 기획 디자인
제 개발 인터페이스 및
프로토콜의 설계
제 개발
기술 구현
제 개발 인식 및
기술 구현
2. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
1 과제 개요 및 목표
1.1 개요
공간 혁명의 한 축인 가상공간의 확대는 경제, 사회, 문화 전반에 걸쳐 새로운 지평
을 확장하고 있다. 토니스콧 감독의 2007년 영화 데자뷰 에서 다루었던 평행우주
(수없이 나눠진 우주 속에 지금의 또 다른 내가 하나씩 다 존재하고 있다는 것)의 첫
사례가 가상공간에서 적용될 가능성이 높아지고 있다. 소위 multiverse 세상이 도래
하고 있는 것이다. 인간은 다수의 가상세계와 유일한 현실세계가 공존하는 확장세계
에서 살아가야 한다. 세계간의 간극을 제거하고 하나의 공간으로 seamless하게 만드
는 매개체로 AR 기술이 적용될 수 있다. 현실세계와 동일한 방법으로 가상세계에 접
근할 수 있는 인터페이스로 Tangible User Interface(TUI)가 적극적으로 응용될 수
있다. AR과 TUI는 세계간의 접점에 위치되어 가상의 오브제를 현실로 가져오며 역으
로 현실의 오브제를 가상으로 투영한다. 객체와의 seamless 상호작용을 제공하는
TUI와 공간적으로 seamless 표현을 제공하는 AR의 특성을 융합하는 TAR 인터페이
스는 다음과 같은 TUI 설계 원칙을 준용한다.
가상 콘텐츠를 조작할 실질 콘트롤러의 이용
공간에서의 3D 상호작용 기법의 지원
시간 및 공간상의 동시적(simultaneous) 상호작용
요구되는 기능과 의도적으로 제작된 객체와의 일치
다중 참여자의 협업 허용
다중 손(multi-handed) 상호작용의 지원
다중 객체의 병렬 행위의 지원
본 과제는 현실 및 가상세계 상호 인터랙션을 위한 제반 기술을 연구 개발한다.
TAR 인터페이스를 지향하는 본 연구는 공존 세계의 원활한 상호 인터랙션을 위해 다
음의 4가지 조건을 전제한다. 본 과제가 개발하고자 하는 멀티버스 인터랙션 기술은
(본인이 명명한) TIME(Tangible, Indistinguishable, Mutually understandable,
Extractive)을 충족해야 한다.
1. Tangible : 인간과 가상 또는 실질 오브제와의 상호 인터랙션을 위한 매개체는 현실에서
의 그 수단이 동일(또는 유사)해야 하며 그 매개체는 만져서(또는 다른 감각을 통해) 느
낄 수 있는 실체적(또는 그렇다고 인지할 수 있는) 수단이어야 한다.
2. Indistinguishable : 현실로 투영되는 가상의 오브제는 현실의 그것과 이질적으로 보이지
않도록 모양, 움직임, 색상 등이 자연스러워야 한다. 그것은 3D 형태로 존재하며 인간의
2
3. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
시각과의 거리, 높이, 방향 등에 따라 다르게 보여야 한다.
3. Mutually understandable : 현실세계에 투영된 가상의 오브제는 인간과 상호 대화하고
서로의 행동을 이해할 수 있어야 한다. 상호 이해를 위한 프로토콜 및 인터페이스가 제공
되어야 한다.
4. Extractive : 가상세계의 임의의 오브제는 개체별로 선택, 추출되어 현실세계로 이동 가능
해야 한다. 이동된 오브제는 가상세계에서의 행동 및 모습과 동일한 행태를 가져야 한다.
1.2 목표 및 일정
1.2.1 과제 목표
본 연구는, 실내 환경에서, 가상세계의 임의의 오브제를 선택, 추출하여 그 객체를 현실에 투영하고
그 객체와 의사소통하여 그 결과를 실시간으로 가상세계에 반영할 수 있는 멀티버스 인터랙션 기술
및 인터페이스를 개발하는 것을 목표로 한다.
과제 목표의 효과적 달성을 위한 주요 과제 내용은 다음과 같다.
1. 개발할 인터랙션 기술을 효과적으로 표현하고 테스트할 3D 기반 소규모 게임의 기획, 디
자인, 구현(12개월)
2. 가상 오브제의 선택, 추출, 투영 및 투영 개체와의 대화를 위한 Tangible 인터페이스 및
프로토콜의 설계제작(6개월)
3. Marker 기반 개체 투영 기술 개발(13개월)
4. Finger silhouette 인식 및 hand gesture tracking 기술 구현(13개월)
5. 개발 기술의 주관 기관 구현 플랫폼에의 이식 및 통합(3개월)
3
4. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
구분 개발 내용 개발 범위
게임 시나리오 작성 및 기획
개발할 인터랙션 기술을 효과적으로 배경 및 캐릭터 스케치
제 1 개발 표현하고 테스트할 3D 기반 소규모 배경 및 캐릭터 3D 모델링
게임의 기획, 디자인, 구현 게임 프로그래밍 구현
개발 2,3,4와의 통합
가상 오브제의 선택, 추출, 투영 및 투
가상 오브제 선택 및 투영 프로토콜 정의/설계
제 2 개발 영 개체와의 대화를 위한 Tangible 인
투영 개체와의 대화 프로토콜 정의/설계
터페이스 및 프로토콜의 설계
ARTookit 및 OSGART 코드 분석
마커 디자인 및 제작
마커 인식 알고리즘 구현
제 3 개발 Marker 기반 개체 투영 기술 개발
개체 Registration 알고리즘 구현
개체 Calibration 알고리즘 구현
개발 2 결과 반영
관련 기술 서베이
Finger Silhouette 알고리즘 구현
Finger silhouette 인식 및 hand
제 4 개발 Hand Tracking 알고리즘 구현
gesture tracking 기술 구현
통합 최적 알고리즘 구현
개발 2 결과 반영 및 개발 3과의 연계
개발 기술의 주관 기관 구현 플랫폼에 개발 3 결과의 이식 및 통합
제 5 개발
의 이식 및 통합 개발 4 결과의 이식 및 통합
1.2.2 과제 개발 일정 및 결과물
+과제 (17개월) : 김 종현
월별 세부 수행 계획
연구기간(월) : 2009/10~2011/02(17개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
주요 과제 1
주요 과제 2
주요 과제 3
주요 과제 4
주요 과제 5
4
5. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
+주요 과제 1 (12개월) : 이 희정, 김 수지
월별 세부 수행 계획
연구기간(월) : 2009/12~2010/11(12개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 결과 산출물
게임 시나리오 작성 및 기획 기획서
배경 및 캐릭터 스케치 스케치 이미지
배경 및 캐릭터 3D 모델링 모델링 데이터
게임 프로그래밍 구현 프로그램 코드
메시지 플로우
과제 2,3,4와의 통합 다이어그램 및
설명서
+주요 과제 2 (6개월) : 김 종현
월별 세부 수행 계획
연구기간(월) : 2010/01~2010/06(6개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 결과 산출물
XML정의서, 콘티,
가상 오브제 선택 및 투영 프로토콜 인터페이스 스케
치
XML정의서, 콘티,
투영 개체와의 대화 프로토콜 인터페이스 스케
치
5
6. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
+주요 과제 3 (13개월) : 김 종현
월별 세부 수행 계획
연구기간(월) : 2009/10~2010/10(13개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 13 결과 산출물
ARTookit 및 OSGART 코드 분석
마커 디자인 및 제작 스케치, mockup
알고리즘 및 코
마커 인식 알고리즘 구현
드
알고리즘 및 코
개체 Calibration 알고리즘 구현
드
알고리즘 및 코
개체 Augmentation 알고리즘 구현
드
과제 2 결과 반영
+주요 과제 4 (13개월) : 안 정호
월별 세부 수행 계획
연구기간(월) : 2009/11~2010/12(13개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 13 결과 산출물
관련 기술 서베이
알고리즘 및 코
Finger Silhouette 알고리즘 구현
드
알고리즘 및 코
Hand Tracking 알고리즘 구현
드
알고리즘 및 코
통합 최적 알고리즘 구현
드
과제 2 결과 반영 및 과제 3과의 연
계
+주요 과제 5 (3개월) : 김 종현, 안 정호, 최 창락
월별 세부 수행 계획
연구기간(월) : 2010/12~2011/02(3개월)
단계별 구분
1 2 3 4 5 6 7 8 9 10 11 12 결과 산출물
연계 프로토콜 규
과제 3 결과의 이식 및 통합
약서
연계 프로토콜 규
과제 4 결과의 이식 및 통합
약서
6
35. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
제 3 개발 : 객체 Calibration & Augmentation 기술 구현
정해진 패턴의 마커 인식이 아닌 사용자 선호의 이미지를 인식하고 이를 목표 대상
으로 하여 대상의 움직임에 따라 그 위에 3D 객체를 투영하는 기술을 개발한다. 개발
모듈은 카메라 캘리브레이션, 객체 augmentation의 서브 모듈로 구성된다.
기존 마커 시스템
기존의 여러 증강 현실 연구에서는 가상 객체를 증강할 위치의 인식과 카메라의 자
세 추정을 위하여 흑백 이미지의 정사각형 마커를 주로 사용하였다. ARToolKit[5]은
검은 색의 정사각형 테두리 내부에서 임의 형태의기호로 마커를 구분한다. ARTag
[6]는 이전보다 조명에강건하고 내부 패턴 인식의 정확도를 높이기 위하여 마커 내부
를 디지털 패턴으로 생성하였다. 이와 같은 흑백 이미지 형태의 마커 시스템은 증강
현실을 쉽게 구현할 수 있지만 실제의 환경이 흑백보다는 다양한 색상으로 구성되어
있기 때문에 쉽게 어울리지 않는 단점이 있다. Colorcode [7]는 흑백의 1차원 바코드
를 네 가지 색상을 이용한 2차원 사각형 코드로 확장하였다. 이것은 색상과 명도 차
를 이용하여 코드를 인식하는 것으로 증강현실용으로 사용하는 것이 가능하며 흑백
이미지의 마커보다 실제 환경에 자연스럽다는 장점이 있다. 하지만 여전히 내부의 패
턴이 인식을 쉽게 하기 위한 디지털 패턴이므로 사용자가 어떤 의미의 마커인지 인식
하기 어렵다. 또한 기존의 흑백이나 컬러 이미지 마커인 경우 증강할 대상과 분리된
상태에서 사용되는데 이는 시선이 대상물과 마커로 분리되어 몰입감을 떨어뜨리게 된
다.
이러한 문제의 해결방안으로 마커를 보이지 않도록 하는 연구가 시도되고 있다.
Invisible marker는 사람의 눈으로는 인식이 불가능하지만 적외선 카메라를 통해서는
반응하는 잉크 펜을 이용하여 마커를 생성한다 [8]. 따라서 증강현실의 마커와 같이
몰입을 방해하는 요소를 줄일수 있다. 그러나 적외선 잉크 성분이 햇빛에 노출되어
35
36. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
일정 시간이 경과하면 증발해 버린다는 것과 적외선 카메라의 장착 등 부가 장비와
비용이 필요하다는 단점이 있다. Digimark사는 디지털 정보나 이미지의 저작권을 보
호하기 위한 보안기술의 하나인 워터마크 기술을 사용하여 잡지 등의 광고에 정보를
숨기고 카메라로 이를 인식하여 디지털 콘텐츠에 접속할 수 있도록 한다 [9]. 그러나
이기술은 증강 현실을 위한 오브젝트의 자세 추정을 알아내는데 적합한 특징 점을 찾
기가 어렵다는 단점이 있다. BazAR은 마커를 사용하지 않고 오브젝트 자체의 특징점
을 추출, 분류, 인식하고 자세를 추정한다 [10]. 그러나 이것 역시 처리의 복잡도 때
문에 현재까지 모바일 증강현실 분야에서 실시간으로 구현하기 어렵다는 단점이 있
다.
Calibration
Level 1 Level 2 Level 3
View 집합 형성하기
- 뷰 집합 샘플링
개발 내용 Keypoint 분류 Keypoint 인식
- 다중스케일 Keypoint 추출
- 최종 Keypoint 선택
뉴럴넷 알고리즘
비고 K-Nearest Neighbor 알고리즘
유전자 알고리즘
36
49. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
Augmentation
Level 1 Level 2 Level 3
객체 augmentation 초기화 대상 추적 방법론 고안
Keyframe 작업
- Viewpoint 독립의 지역 - Keyframe 기반 추적
개발 내용 - Keyframe 생성
descriptor 설정 - Keyframe과 이전
- Keyframe 랜더링
- augmentation 위치 확정 frame간의 정보 조합
비고 eigen 이미지 방법론
49
50. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
제 4 개발 : Finger silhouette 인식 및 Hand gesture tracking 기술 구현
1. 제스처 분석
본 세부 과제는 가상공간의 오브제와의 인터랙션을 위해 현실공간에 있는 사용자의
제스처를 인식하는 것을 목표로 한다. 인터랙션을 위한 사용자의 제스처는 Push,
Pull, Pointing 등 세 가지이고 이들의 기능과 특징은 다음 표와 같다.
제스처 종류 기능 특징
손바닥이 보이는 상태에서 가슴에
Push Zoom out
서 부터 앞으로 밈
주먹을 쥔 상태에서 엄지손가락을
Pull Zoom in
세우고 앞에서 뒤로 당김
검지 손가락을 이용하여 가상 객체
Object Selection
를 선택한다
Pointing
객체 선택후 손을 이동하여 객체가
Object Move
이동할 방향을 지정
우리는 이를 구현하기 위해 다음의 세부 목표를 가진다
- 손 검출(Detection) 및 추적(Tracking)
- 손 모양 분할(Segmentation) 및 인식(Recognition)
- Pointing 제스처의 객체 선택 및 이동 위치 지정 제스처 인식
제스처 인식은 손이 움직이는 경로와 움직임 속에서 발생하는 손 모양(posture)에
따라 그 종류가 구분된다. 따라서 제스처 인식을 위해 양손을 검출하고, 검출 후 지속
적인 추적이 안정적으로 이루어져야 하는 것이 무엇보다 중요하다. 또한 손의 움직임
동안 발생하는 손 모양을 인식함으로써 Push, Pull, Pointing(Object Selection,
Object move)을 결정할 수 있다.
Push와 Pull 제스처에서 당기는 동작과 미는 동작은 사실상 동일하기 때문에 이를
50
51. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
구별하긴 어렵다. 이 두 제스처의 구별은 손 모양을 구분함으로써 가능하다. 다시 말
해, 가슴 부분에서 손바닥 모양(Palm)이 인식되면 Push 제스처, 주먹을 쥔 상태에서
엄지손가락을 세운 모양(Thumb-Up)이 인식되면 Pull 제스처라 인식할 수 있다. 마
찬가지로, Pointing 제스처에서는 엄지와 검지 손가락 모양을 인식함으로써 지금 취해
지고 있는 손의 움직임이 Pointing제스처라는 것을 인식할 수 있다.
손 모양 인식은 손 움직임이 적은 상태에서 수행되어져야 한다. 우리는 사용자가
의미있는 동작을 수행하는 과정에서 잠시 동작을 멈춘다는 가정을 하고 있다.
제스처 인식을 위한 손 검출 및 추적 방법론은 아래 그림과 같다. 우리는 피부색
검출과 얼굴 검출이라는 전처리 과정을 통해, 손 검출 및 추적 과정을 수행한다.
2. 손 검출을 위한 전처리(Preprocessing for Hand detection)
손 검출을 위해 우리는 피부색을 모델링하여 피부색 영역을 검출한다.
검출(Skin
피부색 검출(Skin color detection)
우리는 피부색 검출을 위해 75개의 피부 영상 조각을 수집하였다. 다음 그림은 피
부색 영상 샘플 중 일부를 보여준다.
각 픽셀의 RGB값을 YCbCr 컬러 모델로 변환하였다. YCbCr 컬러값을 얻기 위한 변
환공식은 다음과 같다.
51
52. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
YCbCr 모델에서 Y는 컬러의 밝기성분을 나타내고 Cb, Cr성분은 컬러 성분을 나타
낸다. 따라서 우리는 Cb, Cr 성분만을 취하여 피부색의 분포를 알아보았다.
위의 왼쪽 그림은 CbCr의 공간상에서 피부색의 분포를 보여 준다. 우리는 이 영역
에 속하는 컬러를 피부색이라 분류한다. 이 영역을 모델링하기 위해 우리는 위 오른
쪽 그림과 같이 양자화를 시킨 후, Look-Up Table(LUT)을 구성하였다. 이 LUT의
사이즈는 42 65이며 Cb 값은 89에서 130사이에, Cr 값은 114에서 178사이에 있다.
우리는 이 컬러 모델을 이용하여 다음과 같이 영상에서 피부색 영역을 검출하였
다.
52
53. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
그림 원 영상 피부색 영역 검출
제거(Noise
피부색 노이즈 제거(Noise removal)
피부색은 인간의 피부가 아닌 영역에서도 검출될 수 있는 자연의 색이다. 우리는 불
필요한 피부색 영역을 제거하기 위해 연결성 분석(Connected Component Analysis)
를 수행하여 연결 영역(Connected Component)을 둘러싸고 있는 박스를 찾아내고 다
음 조건을 만족하는 연결영역을 제거하였다.
N1. 가로 세로 < T1
N2. 가로/세로 > T2
N3. 세로/가로 > T3
위 조건들은 너무 작은 영역이나, 가로, 세로의 비가 지나치게 큰 영역은 인간의 피
부 영역이 아닐 것이라는 가정 하에 수행되었다. 실험에서 T1=100, T2 = 3, T3 =3
을 취하였다.
그림 노이즈가 제거된 피부색 영역
53
54. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
검출(Face
얼굴 검출(Face Detection)
얼굴 검출을 위한 많은 방법론들이 연구되어 있으나 실시간 이슈와 정확도를 담보
할 수 없는 단점을 가지고 있어 우리는 피부색 영역의 크기를 이용하여 간단히 얼굴
영역을 검출하였다. 우리는 얼굴 검출을 위해 주요 제스처 행위자가 한 명이라는 가
정을 하고 있다.
우리는 노이즈가 제거된 피부색 검출 영상에 대해 연결성 분석을 수행한 후, 영상의
윗 부분부터 아래 방향으로 연결 성분을 검색하여 처음으로 나타나는 큰 영역을 얼굴
이라 지정하였다. 즉 다음과 같은 조건식을 만족하는 연결 영역의 외곽 박스
(Bounding box)를 얼굴 영역이라 정한다.
width height > MF
우리는 실험에서 MF값을 1000으로 설정하였다. 아래 그림은 얼굴 검출의 예를 보
여 준다.
그림 피부색을 이용한 얼굴 검출
3. 손 검출 (Hand Detection)
제스처 인식을 손 검출 및 추적 모듈의 목표는 카메라 입력 영상 각각에 대해 손의
위치를 알아내는 것이다. 우리는 이를 위해 전처리 과정에서 얻은 얼굴 위치 정보를
통해 움직이는 손 검출을 위한 ROI(Region Of Interest)를 설정하고 차 영상
(difference image)과 피부색 정보를 이용하여 이동 중인 피부색 블랍(skin blob)들
을 검출한다. 설정한 ROI에 속하는 피부색 블랍을 손이라 검출한다. 다음은 전처리
후 손 검출 및 추적을 위한 도식을 보여 준다.
54
55. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
검출(Moving
이동 피부색 블랍 검출(Moving Skin Color Blob Detection)
카메라를 통한 연속적인 영상 입력시 연속된 두 프레임의 차 영상은 촬영 중인 객
체의 움직임 정보를 담고 있다.
우리는 두 프레임의 차이가 발생한 영역은 움직임이 발생한 영역이다. 우리는 이
영역들 중 피부색이 검출된 부분을 찾는다. 이 부분이 이동 중인 손이 위치한 (후보)
영역이라 볼 수 있다. 다음 그림은 차영상과 차영상 중 피부색이 검출된 부분을 보여
준다.
그림 차 영상 차영상에서 검출된 피부색 영역
우리는 차영상에서 검출된 피부색 영역으로부터 손 영역을 복원한다. 이는 차영상
의 피부색 영역의 픽셀들을 시작점(seed)으로 하여 피부색 영상의 연결 성분을 추출
해 내는 방식으로 수행되었다.
55
56. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
그림 Pull
제스처 손
그림 검출된 손 영역 영역
위 오른쪽 그림은 Pull 제스처 시 가슴 부분에서 나타난 손/손가락 실루엣을 보여
준다.
손 검출 ROI 설정
얼굴 박스 영역의 중심 x 좌표를 기준으로 오른쪽 박스 영역을 왼손 검출 ROI 영
역, 왼쪽 박스 영역를 오른손 검출 ROI 영역으로 설정한다. 얼굴 박스의 높이를 L이
라 할 때, ROI 박스의 크기는 폭이 3L, 높이가 4L이다. 우리는 차렷 자세와 유사한 상
태에서 가상공간과의 인터페이스를 시작하는 것을 가정하였다.
그림 손 검출을 위한 ROI 설정
56
57. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
검출(Hand
손 검출(Hand Detection)
우리는 이동 피부색 블랍이 손 검출을 위한 (왼손, 오른손) ROI에 처음 나타날 때,
ROI에 속한 가장 큰 블랍을 해당 손이라 검출하고 추적(Tracking)을 실시한다. 검출
되지 않은 손에 대해서는 매 프레임 검출 작업을 수행한다. 손 검출 과정을 요약하면
다음과 같다.
If there exist moving skin blobs in Left(Right) hand ROI,
find the biggest blob, and
identify it as the Left(Right) hand
Else
Left(Right) hand is not yet detected
다음은 이 과정을 도식화한 것이다. 이는 위 도식의 Hand Detection and
Tracking 모듈의 다음 레벨의 세부 도식에 해당한다.
그림 손 검출 및 추적 과정
4. 손 추적(Hand Tracking)
검출된 각각의 손에 대해 추적과정을 수행한다. 만약 특정 손의 움직임이 검출되
지 않은 경우 설정된 ROI 영역에 대해서만 검출과정을 반복한다.
추적 과정은 검출과정과 유사하나 ROI 영역을 설정하지 않는다. 이동 피부색 블랍
을 검출한 후 가장 가까운 블랍을 해당 손의 다음 위치로 정하는 블랍 매칭(Blob
57
58. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
matching)을 수행한다. 이른 정리하면 다음과 같다.
Find the nearest blobs to the previous hand position and identify it as the hand
만약 이동 피부색 블랍이 검출되지 않은 경우, 잠시 멈춘 상태로 파악하고 이전 손
위치를 현재 손 위치에 기록한다. (추적 결과는 첨부 동영상을 참조)
분석(Hand
손 상태 분석(Hand State Analysis)
추적 중에 있는 손을 다음과 같은 4가지 상태로 분류한다.
상태 의미 판단
Moving 연속된 두 프레임에서 손의 위치 변화
M
(이동 중) 가 있는 경우
Occluding
O 얼굴 박스와 손 박스가 겹친 경우
(얼굴 앞에 위치)
Holding 연속된 두 프레임에서 손의 위치 변화
H
(멈춤) 가 매우 적은 경우
Turning about
T 손의 움직임 방향이 꺽인 경우
(이동 각도의 변화)
손 상태 분석은 다음과 같은 이유로 제스처 인식을 위해 매우 중요하다.
- 이동 중인 상태(M)는 의미가 적거나, 앞뒤의 다른 상태와 더불어 의미를 가진다.
- 사용자의 손이 얼굴 앞에 위치한 경우(O) 손 모양을 분리해 낼 때 피부색 이외의
작업이 필요함을 의미한다.
- 의미있는 제스처를 취하고자 하는 경우 사용자는 대부분 잠시 멈춤(H) 상태에
들어간다.
- 손 움직임의 멈춘 후 방향이 바뀌는 경우(T)는 Pointing 제스처시 가상 객체를
지정하거나 가상객체를 옮겨 놓은 위치를 지정하는 경우가 많다.
동작중의 각 손은 한가지 이상의 상태를 가질 수 있다. 우리는 멈춤(H) 또는 턴(T)
상태에서 손 영역을 잘라내어 이 영상 조각으로 손 모양 인식을 수행한다.
58
59. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서
5. 이후 작업
우리는 중간 보고이후 다음과 같은 개발 작업을 수행하여 마무리할 계획이다.
손 모양 인식(Hand Posture) 및 제스처 인식
분류하고자 하는 손 모양과 관련 제스처에 관한 설명은 다음과 같다.
손 모양 관련 제스처 설명
Thumb-Up Pull 가슴 부분에서 나타날 경우
Palm Push 가슴 부분에서 나타날 경우
Thumb-Index Up Pointing H, T 상태에서 나타날 경우
Else Garbage 무의미한 제스처
손 모양 인식을 위해 우리는 관련된 손 영역 영상의 학습데이터를 모아 분류 작업
을 수행 할 것이다. 획득된 영상 매칭을 이용한 인식 뿐 아니라, 손의 위치(가슴 부분
여부) 정보, 얼굴 대비 손 영역의 크기, 곡류(Curvature) 특징을 추출하여 분류할 계
획이다. 또한, 제스처 인식을 위해 손 상태 정보의 변화와 손 모양 인식 정보를 결합
하여 인식기(Classifier)를 구성할 것이다.
인식(Body
신체 부분 인식(Body Part Recognition)
가상의 객체가 사용자의 몸 동작을 따라할 수 있기 위해 주요 신체 부분 인식을 수
행하려 한다. 우리가 고려 중인 주요 신체 부분은 다음과 같다. 우리는 얼굴 및 손 영
역 검출을 이미 수행하였다. 팔꿈치, 무릅, 발 위치 추정을 수행하고자 한다.
59