게임프로그래밍 가상현실게임환경에서의가상손제어를위한 사용자손인식방법 김부년, 김종호, 김태영서경대학교컴퓨터공학과 XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXX, XXXXXXXXXXXXXXX A Method of Hand Recognition for Virtual Hand Control of Virtual Reality Game Environment Boo-Nyon Kim, Jongho Kim, Tae-Young Kim Department of Computer Engineering, SeoKyeong University 요약 본논문에서는사용자의손을인식하여가상현실게임환경에서가상의손을제어할수있는방법을제안한다. 카메라를통해획득한영상을통하여사용자의손이동과가리키는방향에대한정보를획득하고이를이용하여가상의손을게임화면에나타낸다. 사용자의손의움직임은가상의손이물건을선택하고옮기도록하는입력인터페이스로활용할수있다. 제안하는방법은비전기반손인식기법으로먼저 RGB 컬러영역에서 HSV 컬러영역으로입력영상을변환하고 H, S 값에대한이중임계값과연결요소분석을이용하여손영역을분할한다. 다음으로분할된영역에대하여 0, 1 차모멘트를적용하고이를이용하여손영역에대한무게중심점을구한다. 구해진무게중심점은손의중심에위치하게되며, 분할된손영역의픽셀집합중무게중심점으로부터멀리떨어진픽셀들을손가락의끝점으로인식한다. 마지막으로무게중심점과손끝점에대한벡터를통하여손의축을구한다. 인식안정성과성능을높이기위하여누적버퍼를이용한떨림보정과경계상자를이용한처리영역을설정하였다. 본논문의방법은기존의비전기술을통한손인식방법들에비하여별도의착용마커를두지않고실시간으로처리가가능하다. 다양한입력영상들에대한실험결과는제안기법으로정확하게손을분할하고, 안정된인식결과를고속으로처리할수있음을보여주었다. ABSTRACT In this paper, we propose a control method of virtual hand by the recognition of a user's hand in the virtual reality game environment. We display virtual hand on the game screen after getting the information of the user's hand movement and the direction thru input images by camera. We can utilize the movement of a user's hand as an input interface for virtual hand to select and move the object. As a hand recognition method based on the vision technology, the proposed method transforms input image from RGB color space to HSV color space, then segments the hand area using double threshold of H, S value and connected component analysis. Next, The center of gravity of the hand area can be calculated by 0 and 1 moment implementation of the segmented area. Since the center of gravity is positioned onto the center of the hand, the further apart pixels from the center of the gravity among the pixels in the segmented image can be recognized as fingertips. Finally, the axis of the hand is obtained as the vector of the center of gravity and the fingertips. In order to increase recognition stability and performance the method using a history buffer and a bounding box is also shown. The experiments on various input images show that our hand recognition method provides high level of accuracy and relatively fast stable results. Keyword : Virtual Reality Game, Hand Interface, Hand Recognition Fingertip Extraction 접수일자 : 2010년 02월 10일, 완료일자 : 2010년 03월 16일 교신저자 : 김태영 이논문은 2009년도정부 ( 교육과학기술부 ) 의재원으로한국연구재단의지원을받아수행된기초연구사업임 (2009-0065960). 본연구는문화체육관광부및한국콘텐츠진흥원의 2009년도문화콘텐츠산업기술지원사업의연구결과로수행되었음 제 10 권제 2 호 2010 년 4 월 49
가상현실게임환경에서의가상손제어를위한사용자손인식방법 1. 서론기존의가상환경게임은키보드나마우스와같은사용자인터페이스를통하여게임캐릭터가사용자의명령을입력받음으로써사용자의행동을게임에반영하는게임이주를이루어게임에대한몰입감이부족하였다. 사용자인터페이스는가상환경게임의몰입감을고조시키기위한중요기술로서최근에는실제사용자의동작이나음성등의인터페이스를통하여게임환경에직접적으로영향을미치도록하는실감형게임에대한관심이높아져가고있다. 이러한인터페이스에대한연구로사용자와하나가되는인체친화적인인터페이스연구가활발하게진행되고있으며 [1] 멀티터치인터페이스, 센서를이용한동작인식에기반한실감형인터페이스, 햅틱기술을적용한촉각피드백의인터페이스등의인터페이스가각광을받고있다. 하지만이러한인터페이스는멀티터치스크린, 센서, 햅틱장비등고가의장비가필요하기때문에많은어플리케이션에적용하기가힘들다는단점을가지고있어센서등의하드웨어를벗어나사람의얼굴이나신체의일부를소프트웨어적으로인식하여교육, 게임등의다양한응용분야에적용할수있도록하기위한사용자인터페이스연구들이시도되고있다. 고등 [2] 은 HSV 컬러변환과이중임계값기법으로손영역을분할하고, 손영역의궤적을추적하여동작을인식하는인터페이스를제시하였다. 하지만이기법은손영역의분할을단순화하기위해특정색의장갑을착용하여제약을두었고, 손의궤적을추적하기위해영역의크기변화를시작제스처로활용하여카메라위치를고정시키기때문에동적인환경에도적용할수없는단점을가지고있다. 최등 [3] 은특정색정보를이용하여영상에서손의대략적위치를찾고, 통계학적색상모델을사용하여배경을제거하여손영역을분할하였다. 그리고주성분분석법과신경망회로기법을사용하여 손동작을인식하였다. 하지만, 손영역을분할하기위해손목에특정색의밴드를착용하여야한다는제약을두었다. Malik 등 [4] 은히스토그램분석을통한임계값기법과연결요소분석기법으로영역에서손가락을분할하고, 주축분석으로손끝점에대한정보를추출하는기법을제안하였다. 하지만, 이기법은모든손가락의주축이평행해야한다는가정이전제가되어서응용범위가제한된다는단점이있었다. Liang 등 [5] 은손동작을인식하기위하여시뮬레이티드어닐링 (Simulated Annealing) 기법을이용한다중방향탐색기법을제안하였다. 비교적안정된인식결과를보여주었으나계산량이많아실시간응용에는적합하지않았다. 본논문에서는비전기반의손끝점및축방향인식기법을제안한다. 먼저 RGB 컬러영상에서 RGB를정규화하고, 정규화된컬러영상을 HSV(Hue, Saturation, Value) 컬러영상으로변환한다. 그리고조명에영향을적게받는 Hue( 이하 H) 와 Saturation( 이하 S) 채널을사용하는이중임계값과연결요소분석을이용하여영상에서의손분할기법을제안한다. 다음으로분할된영역의무게중심을구하고, 이를이용하여손끝점과축방향을추출한다. 또한, 인식의안정화와성능향상을위하여손끝점과축방향에대한히스토리버퍼를이용해이전영상의결과정보를기억하고, 이를현재결과값에보정함으로써떨림등의오류를줄였으며분할된영상을모두포함하는최소한의경계상자 (Bounding Box) 를만들어영상처리를가속화하여연속되는영상에서의인식속도를높였다. 본논문은다음과같은순서로구성되어있다. 2 장에서는본논문에서제안한손끝점및축방향인식기법에대해서설명한다. 3장에서는실험결과를기술하고, 4장에서결론을맺는다. 50 한국게임학회논문지
A Method of Hand Recognition for Virtual Hand Control of Virtual Reality Game Environment 2. 손끝점및축방향인식기법 [ 그림 1] 은본논문에서제안하는기법의전체적인과정을보여준다. cos min ( 식 1) ( 식 2) [ 그림 1] 제안하는기법전체적인과정 2.1 HSV 컬러영역변환및이중임계값기법카메라에서얻어지는 RGB 영상정보는카메라의기종에따라서조금씩차이를보여주고있기때문에 RGB 영상정보를정규화해주는작업이필요하다. 그리고 RGB 컬러영역은조명의영향에따라 RGB 영상정보값이크게변하기때문에조명의영향을덜받는 HSV 컬러영역으로의색상변환이필요하다. 본논문에서는 HSV 컬러영역에서도비교적조명의영향을적게받는 Hue( 이하 H) 와 Saturation( 이하 S) 성분의이중임계값을이용하여카메라이미지에서피부색영역을추출한다. 먼저, 카메라에서들어오는비정규화된 RGB 영상정보를 ( 식 1) 을적용하여정규화하고, 정규화된 RGB 영상정보를이용하여 ( 식 2) 를적용하여 HSV 컬러영역으로변환한다. [ 그림 2] 와같이다양한샘플영상을만들고, 배경을임의적으로제거하여피부색에대한영상정보만을남긴다. 피부영역만포함된샘플영상들의각픽셀에대해서 ( 식 2) 를적용하여 HSV 컬러영역으로변환하고, H와 S성분영역의빈도수를누적시켜평균픽셀수를계산하여 H와 S에대한평균히스토그램을만들어임계값을결정하였다. [ 그림 2] 와같은 100여개의샘플영상을활용하여 H는 200~250, S는 0.24~0.59의값에서피부색이분포하는것을알수있었다. [ 그림 2] 손영역에대한다양한샘플영상 2.2 연결요소분석을통한손영역분할지금까지제시한 H와 S의이중임계값을이용한기법은영상에서피부색을추출할수있지만손영역뿐만아니라주변의잡음까지함께추출되어정확한손영역분할을할수없다. 따라서본논문에서는 RGB 정규화와 HSV 영상변환, H와 S성분의이중임계값적용후연결요소를분석하 제 10 권제 2 호 2010 년 4 월 51
가상현실게임환경에서의가상손제어를위한사용자손인식방법 여가장큰영역을손영역이라고가정하였다. 먼저, HSV 영상변환과 H, S성분의이중임계값적용후생성된이진영상을스캔하여주변픽셀과의관계를고려하여번호를할당하고할당되는번호의등가테이블을작성한다. 그리고작성된등가테이블을참조하여각픽셀의고유번호를할당한다. 마지막으로는각연결요소의픽셀수를파악하여큰영역부터작은영역까지오름차순으로번호를재할당함으로써연결요소성분에서가장큰영역을찾아낼수있다. [ 그림 3] 은연결요소분석을통한영역분할의과정을나타낸다. 2.3 손끝점과손축방향추출본논문에서는경계상자에서손영역의무게중심은 ( 식 3) 을통하여구할수있다. 손영역의판단함수 I를사용하여경계상자내에서손영역에대한좌표 (x,y) 를판단하여, 무게중심점 (Cx, Cy) 를구한다. 무게중심점을구한뒤에무게중심점으로부터 y값이작은영역들에대하여가장먼거리에있는점을손끝점으로추출하고, 손끝점과무게중심점으로생성되는벡터를축으로추출하였다. 이렇게추출된손끝점은혼합현실에응용되어포인팅과손오브젝트의위치등에사용될수있고, 손축은손오브젝트의회전정보로활용되어사용자의손의방향에따라정합되는손오브젝트가동기화되어움직이므로실감나는표현이가능하다. _or_or _or _or ( 식 3) 2.4 히스토리버퍼를사용하여떨림현상보정 [ 그림 3] 연결요소분석을통한영역분할의과정 (a) 근접픽셀의레이블이충돌이될때, 서로다른레이블중작은숫자의레이블을할당 (b) (a) 를모든픽셀에수행한뒤, 등가테이블의정리를통해, 레이블 1과 4만남게되고, 이를픽셀에적용 (c) 분리된레이블의픽셀수를기준으로큰영역에서작은영역으로오름차순정렬하여, 레이블을다시할당 (d) 연결요소분석을통해생성된결과 본논문에서제안하는컬러를이용한영역분할은배경영상의복잡도, 조명, 환경등에매우민감한반응을보이고있다. 제안하는기법이비교적정확한영상분할을하여도모든영상프레임에서예외적인부분이발생할수있기때문에이러한문제를해결해야한다. 본논문에서는카메라의움직임의최적화를위하여각프레임의손끝점과축방향에대한히스토리버퍼를사용하여떨림현상을제거하는방법을제안한다. 각프레임의손끝점과축방향에대한평균필터및중간필터의개념과유사한보정방법을통해떨림현상을제거한다 [6]. 52 한국게임학회논문지
A Method of Hand Recognition for Virtual Hand Control of Virtual Reality Game Environment 2.5 경계상자를통한영상처리가속화기법입력영상에서손영역이차지하는비율은통상적으로불과 20~30% 에지나지않는다. 그렇기때문에다음영상의영상처리에서위와같은영상처리과정을수행한다면매우큰낭비가된다. 따라서본논문에서는불필요한영상처리과정을줄이기위하여경계상자 1) 를생성하여영상처리를가속화하였다. 경계상자를통한영상처리가속화기법은 [ 그림 4] 와같다. 먼저, 분할된손영역을스캔하여손영역의경계정보 2) 를얻고, 경계상자를생성한다. 경계정보에대해서는프레임속도에적절한오프셋을주어확장한뒤, 다음프레임의영역추적정보로활용한다. 다음손끝점및축방향기법에서는여기서생성된경계상자를활용한다. 개발되었다. 사용된카메라의입력영상의크기는 320x240이었다. 평균적으로입력영상에대한제안기법의처리속도를측정한결과약 30fps의성능을보여주었다. [ 그림 5] 는본논문에서제안하는기법의수행과정을단계별로보여주었다. (a) 는카메라에서받은입력영상이고, (b) 는 RGB 색상영상을 HSV 로변환하고이중임계값을적용하여피부색을검출한영상이다. (c) 는연결요소분석으로손영역을남긴영상이고, (d) 는 (c) 의결과에서손의영역을포함하는최소한의경계상자이고, (e) 는손끝점과축방향을검출한최종결과영상이다. 실험결과본논문에서제안한기법은매우빠른연산속도와정확한인식결과를확인하였다. [ 그림 5] 제안하는기법의수행과정 [ 그림 4] 경계상자를통한영상처리가속화과정 3. 실험결과실험은 AMD Phenom(tm) II X4 920 2.80GHz 프로세서에 4GB 주메모리를갖는시스템에서수행되었다. 그래픽스하드웨어는 ATI Radeon HD 4850을사용하였고, Visual Studio 2005 환경에서 이등 [7] 의논문에서제안하는손끝점추출과손동작인식기법은정확한손영역을추출하였고, 실시간손동작인식이가능하였다. 하지만손끝점에대한인식과동작을이용한입력인터페이스를위한방법으로실제사용자의손이어떠한모양으로객체를가리키고있는지에대한정보는알수없다. 이에반하여본논문에서제안하는방 법은손끝점추출과함께손이가리키고있는방향을인식함으로써실제사용자의손모양을게임에증강시킬수있다. 본논문에서제안하는방법의성능을비교하기위하여손끝점에대한인식 1) 경계상자 : 경계정보로생성되는이미지 2) 경계정보 : 경계좌표값 제 10 권제 2 호 2010 년 4 월 53
가상현실게임환경에서의가상손제어를위한사용자손인식방법 률과인식속도를비교한결과는 [ 표 1] 과같다. 속도는카메라를통하여획득한동영상에대하여손끝점인식후손끝점을나타내는데소요된 fps(frame per second) 이며, 인식률은전체동영상의프레임수에대한인식성공률이다. 동영상은약 700프레임으로구성된손영상을사용하였다. 결과를보여준다. 제안하는방법은 [ 그림 7](d) 에서보는바와같이하나의손가락이객체를가리키고있을시의끝점인식뿐만아니라 2개이상의손가락이객체를가리킬때에도끝점인식이가능하다. [ 표 1] 손끝점인식성능비교결과 비교 속도 인식률 제안하는방법 38~43 fps 91.4% [6] 의방법 31~41 fps 82.8% 인식률에영향을주었던영상들은 [ 그림 6] 과같이손의일부만포함된영상으로기존방법에서는손끝점이인식되지않았지만제안하는방법은손끝점을인식할수있었다. (a) (b) [ 그림 7] 다양한배경과손모양에대한손끝점및축방향인식결과 (c) (d) [ 그림 6] 손끝점인식률비교 (a), (c) 제안하는방법의인식결과 (b), (d)[6] 의방법의인식결과 다음 [ 그림 8] 은본논문에서제안한방법을이용하여인식된사용자의손을증강시킨응용프로그램의결과로추출된사용자의손끝점을이용하여가상의손을이동하고, 축방향을통하여손이가리키는방향을프로그램에적용하도록한프로그램결과이다. 또한기존방법에비하여인식에소요되는최저 / 최고인식속도의차이가심하지않아비교적안정적인속도로인식이가능함을알수있다. [ 그림 7] 은다양한배경과다양한손모양에대하여손끝점인식뿐만아니라축방향을추출한 54 한국게임학회논문지
A Method of Hand Recognition for Virtual Hand Control of Virtual Reality Game Environment [ 그림 8] 손을이용한접시닦기프로그램 4. 결론본논문에서는비전기반의손끝점및축방향인식기법을제안하였다. 제안하는방법은조명에영향을적게받는 Hue와 Saturation을이용한이중임계값과연결요소분석을이용하여손영역을분할하고분할된영역에대한모멘트값과특징점들을이용하여손의끝점과축방향을인식한다. 인식안정성과처리속도를높이기위하여누적버퍼를이용한떨림보정과경계상자를이용한처리영역을설정하여기존방법보다인식률및성능을향상시켰다. 또한하나이상의손가락이객체를가리킬시에도손끝점인식이가능하다. 실험결과다양한입력영상들에대하여제안기법이기존방법보다안정된인식결과를고속으로처리할수있음을보여주었다. 또한본논문에서제안한방법을통하여다양한배경과손모양에서도손끝점을이용하는포인팅과축방향을오브젝트와동기화하여사용자의손을응용프로그램에증강시킴으로서실감나는표현을할수있었다. 제안기법은몰입감과직관적입력방식이필요한혼합현실기반게임의사용자인터페이스로의활용이가능하다. 구현, 한국컴퓨터종합학술대회논문집, pp.507-511, 2008. [3] 최준영, 서병국, 박종일, 손동작을이용한인 간친화형 증강현실 인터페이스, 한양대학교, 2009. 1. [4] S. Malik, C. McDonald, G. Roth, "Hand tracking for interactive pattern-based augmented reality, Proceedings of International Symposium on Mixed and Augmented Reality, pp.117-126, 2002. [5] W. Liang, Y. Jia, F. Sun, B. Ning, T. Liu, X. Wu, Visual Hand Tracking Using MDSA Method, IMACS Multiconference on Computational Engineering in Systems Applications, pp.255-259, 2006. [6] 윤종현, 이범종, 박종승, 히스토리버퍼를사용 하여떨림현상을줄이는마커추적, 한국정보 과학회, pp.448-452, 2006. 10. [7] 이정진, 김종호, 김태영, 증강현실응용을위한 손끝점추출과손동작인식기법, 한국멀티 미디어학회, 2010. 02. 참고문헌 [1] 이안재, 제품가치를높이는인터페이스기술, SERI 경제포커스, 2008. 10. 27. [2] 고민삼, 이광희, 김창우, 안준호, 김인중, 비전기반제스쳐인식을이용한사용자인터페이스 제 10 권제 2 호 2010 년 4 월 55
가상현실게임환경에서의가상손제어를위한사용자손인식방법 김부년 (Boo-Nyon Kim) 2009 년 - 현재서경대학교컴퓨터공학과학사과정 관심분야 : 증강현실, 실시간렌더링, 게임 김종호 (Jongho Kim) 2008 년 2 월서경대학교컴퓨터공학과학사 2010 년 2 월서경대학교전자컴퓨터공학과석사 2010 년 3 월 - 현재서경대학교전자컴퓨터공학과박사과정 관심분야 : 증강현실, 실시간렌더링, 모바일 3D 김태영 (Tae-Young Kim) 1991 년 2 월이화여자대학교전자계산학과학사 1993 년 2 월이화여자대학교전자계산학과석사 1993 년 3 월 -2002 년 2 월한국통신멀티미디어연구소선임연구원 2001 년 8 월서울대학교컴퓨터공학부박사 2002 년 3 월 - 현재서경대학교컴퓨터공학과조교수 관심분야 : 실시간렌더링, 모바일 3D, 증강현실, 볼륨그래픽스 56 한국게임학회논문지