강인한 손가락 끝 추출과 확장된 CAMSHIFT 알고리즘을 이용한 자연스러운 Human-Robot Interaction 을 위한 손동작 인식 A Robust Fingertip Extraction and Extended CAMSHIFT based Hand Gesture Recognition for Natural Human-like Human-Robot Interaction
이 래 경, 안 수 용, 오 세 영
* (Lae-Kyoung Lee 1 , Su-Yong An 1 , and Se-Young Oh 1 )
1
Pohang University of Science & Technology
Abstract: In this paper, we propose a robust fingertip extraction and extended Continuously Adaptive Mean Shift (CAMSHIFT) based robust hand gesture recognition for natural human-like HRI (Human-Robot Interaction). Firstly, for efficient and rapid hand detection, the hand candidate regions are segmented by the combination with robust YC b C r skin color model and haar-like features based adaboost. Using the extracted hand candidate regions, we estimate the palm region and fingertip position from distance transformation based voting and geometrical feature of hands. From the hand orientation and palm center position, we find the optimal fingertip position and its orientation. Then using extended CAMSHIFT, we reliably track the 2D hand gesture trajectory with extracted fingertip. Finally, we applied the conditional density propagation (CONDENSATION) to recognize the pre-defined temporal motion trajectories. Experimental results show that the proposed algorithm not only rapidly extracts the hand region with accurately extracted fingertip and its angle but also robustly tracks the hand under different illumination, size and rotation conditions.
Using these results, we successfully recognize the multiple hand gestures.
Keywords: skin color model, extended CAMSHIFT, hand gesture recognition, fingertip, HRI
I. 서론
최근 R-learning 기반의 교육용 로봇이나 지능형 휠체어 로 봇과 같은 재활 보조로봇과 같이 인간에게 친숙하고 같이 생 활하면서 도움을 주는 반려자의 존재로써 로봇의 역할이 부 각되고 있다. 이에 발맞춰 인간과 로봇간의 원활한 상호작용 을 위한 자연스럽고 다양한 형태의 인간 친화적인 인터페이 스에 대한 대중적 요구와 이를 이용한 응용서비스 및 관련 연구가 활발히 진행되고 있다[15]. 특히 최근 가상현실, 3D TV, 스마트 폰과 같은 통합형 멀티미디어 기기나, 지능형 시 스템 및 응용 서비스의 대중화로 인해, 기존 키보드나 마우 스, 음성 인식기반 소통 방법과 같이 환경적인 제약이 많은 방식에 대한 개선의 요구가 급격히 증대되고 이를 대체하기 위한 다양한 방법들이 제안되고 있는 상황이다.
기존의 가장 일반화되어 있는 사용자 인터페이스의 한 영 역으로서 영상 기반 손 동작 및 형태 인식은 단일 카메라에 서 다수, 3D 카메라 등을 이용한 복합 시스템으로의 확장이 가속화 되고 있다. 특히 그 대표적 사례로, 최근에는 Kinect 와 같은 3차원 카메라의 대중화와 더불어 GPU와 같은 영상 처리 성능 개선 기술의 혁신적 발전으로 인한 공간적, 표현 적 제약성을 극복하고 저비용, 대중화를 위한 무 표식 (markerless) 기반에 손과 손가락 추출 및 관련 동작 인식이 일반화되고, 방향 지시, 클릭, 손가락 필기체 인식 등의 다양
한 영상기반의 손 동작 인식에 대한 연구가 집중적으로 진행 되고 있다[2,3,14]. 이와 동시에 기존의 단순히 손 모습, 동작, 부분적 몸 동작 등의 제한적인 표현 방식에서 벗어나 좀더 자연스럽고 다양한 의미의 부여, 전달을 위한 방법으로 전신 동작 인식과 손가락 동작 인식에 대한 연구 또한 최근 활발 하게 진행되고 있는 상황이다[1].
이에 본 논문에서는 단일 카메라 기반 환경에서 강인한 손 추적 알고리즘과 손가락 정보 인식 방법을 융합하여 2차원 의 손동작 정보를 바탕으로 보다 자연스럽고 다양한 화자의 의사를 전달하기 위한 HRI 방법을 제안하고자 한다. 특히 연 속적인 필터링 과정(cascade filtering procedure)을 제안함으로써 다양한 배경과 환경 조건하에서 손 영역 검출의 강인성과 연 산 속도 개선 효과를 동시에 가지도록 하였다. 이와 동시에 검출된 손 영역으로부터 효과적인 손가락 끝 추출 방법을 제 안하여, 향후 가상현실이나 3D기반 응용서비스로의 활용 가 능성을 보인다. 그리고 다양한 손동작 인식을 위해 외부 환 경 조건 변화에 강인한 확장된 CAMSHIFT 추적 알고리즘을 제안하고, 이를 통해 얻어진 2차원의 손동작 경로 패턴과 속 도 값을 바탕으로 콘덴세이션(condensation) 알고리즘과의 융 합을 통한 안정적인 손동작 인식 방법을 제안하였다.
본 논문의 전체적인 구성은 다음과 같다. 먼저 II 장에서 제안하고자 하는 HRI 시스템 구성 및 전체 알고리즘 흐름도 를 바탕으로, 개선된 손 영역 검출 방법과 강인한 손가락 끝 추출 및 엄지손가락 판별 방법을 설명한다. 그리고, III 장에 서는 검출된 초기 손 영역을 바탕으로 효율적이고 안정적인 손 추적을 위해 제안된 확장된 CAMSHIFT 알고리즘과 이를 통해 추적된 손의 동작 경로 및 관련 정보를 활용한 손동작
Copyright© ICROS 2012
* 책임저자(Corresponding Author)
논문접수: 2011. 12. 13., 수정: 2012. 1. 9., 채택확정: 2012. 2. 11.
이래경, 안수용, 오세영: 포항공과대학교 전자전기공학과 ([email protected]/[email protected]/[email protected])
※ 본 연구는 지식경제부 및 정보통신산업진흥원의 “IT명품인재양성
사업”의 연구결과로 수행되었음 (C1515-1121-0003).
인식 방법을 제안한다. 다음 IV 장에서는 제안된 알고리즘들 에 대한 다양한 성능 평가 및 해당 결과들에 대한 내용을 기 술하고, 끝으로 V 장에서는 제안된 알고리즘에 대한 요약을 통해 본 논문에 대한 결론을 내리며 마무리 짓는다.
II. 개선된 손 영역 검출과 강인한 손가락 끝 추출 본 연구는 그림 1과 같은 HRI 시스템 구조를 바탕으로 배 경 조건에 대한 추가 설정이나 제약 없는 일반적인 실내 환 경에서 320×240 해상도의 RGB 입력영상을 바탕으로 수행되 었다. 그림 2는 본 논문에서 제안하는 손가락 정보 추출 및 안정적인 손 추적 과정을 통한 손동작 인식 알고리즘의 세부 흐름도를 나타낸다.
1. 피부색 모델과 Haar-like 특징을 융합한 개선된 손 영역 검출
보다 자연스럽고 강인한 손 검출과 손동작 인식을 수행하 기 위해, 본 논문에서는 그림 3과 같은 연속적인 3단계 검출/
필터링 과정을 제안함으로써 안정적인 손 영역을 추출이 가 능하도록 하였다. 해당 방법의 경우, 기존의 색상기반 물체 분할 방법이 가지는 장점들(사전 학습과정의 불필요, 알고리 즘의 단순화, 실시간 처리)과 Viola & Jones의 특징 정보를 이 용한 adaboost 방법[4,5]의 빠른 검출 속도와 높은 인식률의 장점들을 동시에 가지는 단순하면서도 효율적인 융합 방법
이다. 본 논문에서는 이러한 상호 보완적인 두 방법들의 융 합 구조를 제안함으로써, 대상체 검출 정확도의 향상과 더불 어 검출 속도의 개선 효과를 동시에 추구하고자 하였다. 이 를 위한 첫 단계로, 색상 정보기반의 손 후보 영역 분할과정 과 이렇게 분할된 손 후보 영역들에 대해 후 처리 과정(post- processing)를 거침으로써 주어진 영상에서의 안정적인 1차 손 후보 blob 리스트들의 추출이 이루어진다. 끝으로 추출된 blob 리스트의 영역들에 대한 adaboost 손 검출기를 이용한 검출과정의 수행을 통해 최종적인 손 영역 검출이 완료된다.
1.1 피부색 모델 기반의 손 영역 분할과 후처리 과정 본 논문에서는 다양한 손 동작에 따른 조명 변화에 강인하 고 효과적인 피부색 모델의 선정을 위해 기존의 여러 색상 기반 피부색 검출 방법들[6,7]에 대한 사전 비교 실험을 통해 얻어진 평가 결과를 바탕으로 안정적인 피부색 기반의 검출 방법을 선택하도록 하였다. 그 결과로 적은 연산량과 낮은 실패율을 가지면서, 조명 변화에 강인한 특성을 가지는 Hsu 방법[6]을 채택하였다. 해당 방법은 표 1과 같이 RGB 영상을 YC b C r 색상 모델로 변환한 후, 전체 색상 성분 중 조명 변화 에 민감한 Y성분을 제외한 C b , C r 색상 성분들에 대한 색상 조정과정과 타원 모델 기반의 피부색 필터링 과정을 거침으 로써 최종적인 피부색 영역의 검출이 이루어진다. 일반적으 로 앞선 과정들을 통해 얻어진 이진화 영상의 경우, 잡음과 더불어 유사한 피부색 영역에 대한 분할 결과들 또한 포함하 고 있다. 이에 대해 모폴로지 연산을 통한 잡음 제거 과정과 잔존하는 유사한 피부색 물체들을 제거하기 위한 blob 기반 의 연산과정(크기/형상 기반 필터링)으로 구성된 후처리 과정 의 수행을 통해 보다 안정적인 손 후보 영역들의 추출이 가 능하도록 하였다. 그림 4에서는 다수의 피부색 물체들이 존 재하고 조명 변화가 존재하는 입력 영상들에 대한 피부색 영 역(적색 부분)의 추출 영상과, 이후 후처리 과정을 통해 추출 된 최종적인 손 후보 영역들(녹색 사각 경계선)에 대한 결과 들을 보여준다.
그림 3. 환경 변화에 강인한 손 검출 알고리즘 흐름도.
Fig. 3. The flow chart of the proposed improved hand detection under various light conditions.
그림 1. 제안된 손 검출, 손 동작 기반의 HRI 시스템 구성도.
Fig. 1. The proposed hand detection, gesture recognition based HRI system.
그림 2. 제안된 손가락 정보를 이용한 손동작 인식 알고리즘 흐름도.
Fig. 2. The flow chart of the proposed hand gesture recognition
algorithm with finger information.
표 1. 제안된 피부색 모델 기반 손 영역 추출 알고리즘.
Table 1. The proposed skin-color model based hand region segmentation.
1: 색상 공간 변환 (RGB →YC b C r )
0.299 0.587 0.114 16 0.169 0.331 0.5 128
0.5 0.419 0.081 128
b r
Y R
C G
C B
= − − +
− −
(1)
2: 색상 상관 관계 보정 및 피부색 필터링
2-1: 색상 상관 관계 보정: C b , C r 성분에 대한 비선형 변환
min
max
min
max
( ) * (118 108)
108 ,
( ) ( ) * (118 108)
108 ,
( ) * (154 144)
154 ,
( ) ( ) * (154 132)
154 ,
l
l l
b
h
h h
l
l l
r
h
h h
K Y
if Y K
K Y
C Y Y K
if Y K
Y K
K Y
if Y K
K Y
C Y Y K
if Y K
Y K
− −
+ <
−
= + − − − >
− −
− <
−
= − − − − >
(2a)
[ ]
min min max
max
( ) * ( )
( ) ( ) * ( )
( ( ) ( )) ( ) ( ) ( )
( ) , ,
i i
i l
l i
i i
i h
h
i
i i i h h l
i i
i l h
Y Y Wc WLc
WLc if Y K
K Y
Wc Y Y Y Wc WHc
WHc if Y K
Y K
C Y C Y Wc C K if K Y K
C Y Wc Y
C Y if Y K K
− −
+ <
−
= + − − − >
− + < <
′ =
∈
(2b)
where i in W Ci (Y ) is b or r, Wc b = 46.97, WLc b = 23, WHc b = 14, Wc r = 38.76, WLc r = 20, WHc r =10, K l = 125, K h = 188, Y min = 16, and Y max = 235.
2-2: 피부색 필터링: Hsu 의 타원형 모델 적용
2 2
2 2
(cos ) * ( ) (sin ) * ( ), ( sin ) ( ) (cos ) ( ),
( )
( )
1 ,
b x r y
b x r y
x y
x C c C c
y C c C c
y ec x ec
a b
θ θ
θ θ
′ ′
= − + −
′ ′
= − ∗ − + ∗ −
− + − <=
(3)
where c x = 109.38, c y = 152.02, θ = 2.53 in radians, ec x = 1.60, ec y = 2.41, a = 25.39, and b = 14.03.
3: 모폴로지 연산과 Blob 기반 후처리 과정
- 모폴로지 열림/닫힘 연산을 통한 배경 잡음 제거 - Blob 기반 후처리를 통한 손 후보 영역 추출 결과: 검출된 피부색 손 후보 영역 R hand
1.2 Haar-like 기반 Adaboost 기반 손 영역 검출 앞서 제안된 방법을 통해 얻어진 결과에는 그림 4(c)나 그 림 5(d)와 같이 손 영역 이외에 영역들(얼굴, 목, 그림/배경 등)이 함께 존재하게 된다. 이런 유사 피부색 물체들과의 효 과적인 분별을 위해서, 본 논문에서는 그림 5와 같이 기존 얼굴 검출 영역에 많이 사용되는 Viola & Jones의 adaboost 학 습 방법을 손 검출에 적용함으로써 보다 빠르고 강인한 검출 성능을 확보하도록 하였다. 이를 위해 그림 5(b)에 보이는 것 처럼 총 15개의 haar-like 특징들(기본 특징: 8개, 확장형 특징:
(a) The proposed skin-color model based segmentation process.
(b) Multiple skin-color object segmentation results.
(c) Skin-colored objects detection under various light conditions.
그림 4. 제안된 YC b C r 피부색 모델 기반의 영상 분할.
Fig. 4. The proposed YC b C r skin-color model based segmentation.
(a) Haar-like features based hand detection process.
(b) The proposed haar-like features set for hand detector.
(c) Adaboost based hand detection result.
(d) Improved hand detection results (skin color + haar-like feature).
그림 5. 제안된 Haar-like 특징 기반 손 검출 및 개선된 검출 알고리즘 기반 검출 결과.
Fig. 5. The proposed haar-like feature based adaboost hand detection and improved hand detection results.
7개)을 이용하여 손에 대한 학습 과정을 수행한 뒤, 학습 결
과를 바탕으로 주어진 입력 영상에 대한 손 검출 과정을 수
행하게 된다(그림 5(c), (d)). 기존 adaboost 기반 물체 검출의
경우, 일반적으로 영상 전체 영역에 대한 탐색과 검출 과정
을 수행하는 반면, 본 논문에서는 검출된 손 후보 blob 리스
트들의 존재 영역에 국한하여 탐색/검출 과정이 적용됨으로
써, 기존 방식에 비해 검출 속도 개선(최소 20 % 상승)효과와 더불어 오인식 감소(최대 8~9 %)효과를 동시에 가질 수 있음 을 여러 실험들을 통해서 확인할 수 있었다. 그림 5에서는 피부색 모델과 adaboost 모델을 융합하는 과정과 제안된 방 식의 손 검출 결과들을 보여주고 있다.
2. 다양한 손동작에 강인한 손가락 끝 추출 및 엄지 손가락 판단 방법
본 논문에서는 기존의 보편적인 손 형상, 모션 정보뿐만 아니라 사람들간의 의사 소통 방식과 같이 손가락 개수 및 방향 등의 손가락 정보의 추출, 융합을 통해 보다 자연스럽 고 직관적인 의미 전달과 표현이 가능한 방법을 제안하고자 한다. 이를 위해서 특정 마크나 부가 장치 없이 일반 저가의 단일 카메라 환경에서 실시간 연산이 가능하고, 손의 고 자 유도 특성에 따른 형상/자세 변화에 강인한 손가락 끝 추출 방법과 엄지 손가락의 판별 방법을 제안한다.
기존의 대표적인 손가락 추출방법으로는 그림 6과 같이 손의 경계(contour)영역을 따라 얻어진 기울기 정보(K- Curvatures)를 기반으로 손가락 사이의 굴곡 정보를 이용한 검출 방법[8]과 그림 7과 같은 Convex Hull 기반의 Convexity Defects를 이용한 방법[9]이 있다. 이외에도 능동 형상 모델 (active shape modeling)과 에지(edge)정보를 이용해 손가락 형 상 모델과의 매칭 확률을 이용한 검출 방법도 있다. 일반적 으로 기울기 정보를 이용한 전자의 경우, 기울기 차이가 뚜 렷한 형상에 대해서는 보편적으로 좋은 결과를 보여주나 다 양한 포즈로 인해 발생되는 크기 변화나 굴곡화된 형상은 물
론, 손 이외에 손목, 팔꿈치 등 부가적인 영역이 포함된 상황 에 대해서는 다수의 오 검출 결과를 보인다. 그로 인해 정확 한 손가락 끝 검출을 위해서는 추가 필터링 과정과 정량화된 허용 기울기 값의 선정에 대한 문제점을 가지고 있다. 반면 Convex Hull 기반 방법의 경우, 전자에 비해 계산량이 적고, 비교적 노이즈에 강인한 방법인 반면, 정확한 손가락의 추정 및 해당 손가락의 방향 정보를 얻기 위해서는 추가 후처리 과정을 반드시 필요로 하는 단점을 가진다.
본 논문에서 제안하는 강인한 손가락 끝 추출 방법은 후자 의 방법을 기반으로 그림 7(a)와 같은 6단계의 세부 과정들 로 구성된다. 첫번째 단계로, 앞서 손 영역 추출 과정에서 얻 어진 최종적인 손 영역 혹은 피부색 기반 필터링 과정을 통 해 얻어진 손 영상(Step #1)에 대한 거리 변환(distance transform)연산과 그 결과 영상의 특징을 이용해 손의 중심점 을 추출하는 과정(Step #2)이 수행된다. 이후 손 영역의 경계 정보의 추출과정과 Convex Defects 계산을 통해, 손가락 끝 후보 지점들을 추출하는 과정들(Step #3, #4)을 수행하게 된다.
여기서 추출된 손가락 끝 후보 영역들이 손의 크기, 모양, 자 세 변화에 따라서 가지는 많은 오류 정보들을 제거하기 위해 이웃한 손가락 끝 후보 점들간의 상호 거리, defects정보에 기 반한 후보 지점들간의 융합/필터링 과정을 거치게 된다. 이렇 게 얻어진 후보 지점들 중에 보다 안정적인 손가락 끝점을 예측하기 위해, 손가락 첫 마디가 가지는 타원형의 형태학적 특성을 토대로 개선된 타원 근사화 모델(enhanced direct least- square fitting of ellipse)과의 적합도를 평가하게 된다. 이러한 결과를 바탕으로 각 손가락 끝점과 손 중심점과의 벡터 각도 차 정보를 이용한 추가 필터링 과정을 거침으로써, 근사화된 최적의 손가락 끝 지점들을 예측하는 과정을 마치게 된다 (Step #5). 끝으로 예측된 손가락 끝 지점들에 대한 타원 중심 좌표와 그 기울기 정보를 이용하여 인접한 손 경계 정보와의 교점 계산을 통해 최종적인 손가락 끝 지점의 위치를 추출할 수 있다(Step #6).
대부분의 손동작 인식의 경우, 정밀한 손가락 끝점에 대한 위치 정보보다는 비교적 안정적인 손가락 끝점의 존재 위치 와 정확한 각도 정보만으로도 충분히 그 활용 가치를 가지기 때문에, 소요 연산 시간 및 적용 어플리케이션의 필요 정밀 도 수준에 따라 마지막 단계인 최종 손가락 끝 좌표 추출 단 계는 선택적인 적용이 가능한 특성을 가진다. 본 논문에서는 이후 손동작 인식 실험 과정에 있어, 연산 시간의 단축을 위 해 근사화된 타원 중심 좌표를 실제 손가락 끝점 좌표로 대 체하여 사용하도록 하였다. 또한 손 혹은 손가락을 이용한 동작 인식에 있어 엄지 손가락은 그 존재 여부에 따라 좌우 손의 구분 역할 이외에, 손가락을 통한 의미 표현, 다양한 모 션 구분 용도 등에서 그 검출의 중요성을 내포하고 있다. 이 를 위해 본 논문에서는 손의 중심 좌표를 기준으로 추출된 손의 방향 정보와 손가락 끝 좌표 간의 벡터 각(반 시계 방 향 기준)을 이용하여 강인한 엄지 손가락의 검출이 가능하도 록 하였다. 그림 7(b)의 첫째 행 영상들은 7(a)에서 설명한 손 가락 끝 좌표의 추출 단계별 결과들을 보여주며, 7(b)의 둘째 행에서는 여러 입력 영상들에 대한 엄지손가락 추출 결과와 그 세부 항목들을 보여준다.
그림 6. 기울기 정보를 이용한 손가락 끝 추출 결과.
Fig. 6. Curvature based fingertip extraction results.
(a) (b)
그림 7. 제안된 손가락 끝과 엄지 손가락 추출 과정 및 결과.
Fig. 7. Proposed fingertip & thumb identification detection flow
chart and results.
III. 확장된 CAMSHIFT 알고리즘을 이용한 손 추적과 손동작 경로 정보를 활용한 손동작 인식 1. 확장된 CAMSHIFT 알고리즘을 이용한 이동 물체 추적
보다 정확한 손동작 인식의 수행을 위해서는 안정적인 손 추적 과정이 반드시 선행되어야 한다. 이를 위해 본 논문에 서는 다양한 손동작에 따라 빈번하게 발생되는 얼굴과 같은 유사 색의 물체 혹은 배경과의 겹침 문제(occlusion)을 해결하 고, 배경 및 조명 변화에 강인한 추적 성능을 가지는 확장된 CAMSHIFT 알고리즘을 제안한다. 그림 8에서 보여지는 바와 같이 제안된 확장형 CAMSHIFT 알고리즘은 HSV색상 공간 에서 색상(hue)정보 이외에 채도(saturation)성분을 추가적으로 사용하는 다채널 색상 히스토그램 모델의 채택하여 적은 연 산량으로 낮은 색상(hue)값에서의 색상 분별력 개선 효과를 가지도록 하였다. 그리고 안정적인 물체 추적 성능을 위해 적응형 색상 히스토그램 기반의 역 투영 방법을 이용한 추적 대상체의 히스토그램 모델 갱신 방법을 제안하였다. 이렇게 제안된 추적 대상체의 색상 히스토그램 갱신과정은 그림 9 와 같은 과정들의 순차적 반복을 통해 이루어진다.
먼저, 사용자의 초기 설정 혹은 이전 검출 결과에 따라 얻 어진 추적 윈도우 영역을 동일한 크기의 M개의 블록으로 분 할하는 과정을 수행한다. 그리고 각 분할된 영역들에 대한 누적 히스토그램의 계산과 식 (4)를 통해 얻어진 기준 히스 토그램과의 오차 값 계산을 통한 개별 블록들에 대한 분류 및 가중치 할당 과정이 수행된다. 여기서 개별 블록들은 식 (4)의 범위에 따라 완전 유효 항목(perfect inlier), 부분적 유효 항목(weighted inlier), 거짓 항목(outlier)의 세 항목으로 구분되 고 (그림 9(b)에서 각각 흰색 블록, 파란 블록, 적색 블록으로 표현), 이들 중 유효 항목들(부분적 유효+완전 유효 항목)의 히스토그램과 그 가중치를 바탕으로 현재 시간(t)의 평균 히 스토그램 분포( H )를 계산하게 된다. 그리고 식 (5)에서 주 ˆ
t어진 것과 같은 추적 대상체의 색상 히스토그램 모델 (H t )의 갱신 과정을 통해서, 색상/ 휘도 변화에 강인한 추적 특성을
가지도록 하였다(일반적으로 τ = 0.3~0.5사이 값 적용).
2
1
1 it t t
block i ij ij
ix B
H H
S
−
∈
= ∑ −
E (4)
t
(1 ) * ˆ
tH = −
τH +
τH
t-1(5)
한편, 유사 색상의 물체 혹은 배경과의 겹침 상황에 대한 판단과 그에 대한 상황 처리를 위해, 그림 8와 같이 위치 정 보와 속도 정보로 구성된 상태 벡터 x t = (x(t), y(t), v x (t), v y (t)) T 와 측정벡터 z t = (x(t), y(t)) T 를 가지는 2개의 칼만 필터[11]와 식 (6)과 같은 Filter’s Residue개념의 결합 구조를 채택하였다.
2 2