SlideShare uma empresa Scribd logo
1 de 61
지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제
-고정형 (실내) 혼합현실 시스템을 통한 실시간 멀티버스 인터랙션 기술 개발
A Realtime Interaction to Multiverse using Augmented Reality under Indoor
Environment


김종현(Kim, Jong-Hyoun)

계원디자인예술대학 게임웨어과 교수



목차
      과제 개요 및 목표

          개요
          목표 및 일정
          시스템 개요

      제   개발   게임 기획   디자인

      제  개발          인터페이스 및
     프로토콜의 설계

      제  개발
     기술 구현

      제   개발              인식 및
                    기술 구현
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
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
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
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
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
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




1.3 시스템 개요




그림 1 개발 기술의 적용 예시도




                       7
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




그림 2 개발 시스템의 물리적 구성도




그림 3 개발 시스템의 논리적 구성도




                                         8
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




제 1 개발 : 게임 기획 & 디자인

게임 시나리오 및 기획




                         9
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         10
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 11
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         12
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 13
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         14
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




배경 및 캐릭터 디자인




                15
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         16
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 17
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         18
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 19
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         20
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 21
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




모델링




                                         22
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 23
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         24
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




제 2 개발 : Tangible 인터페이스 및 프로토콜의 설계

XML Schema : interface.xsd
 <?xml version="1.0" encoding="EUC-KR"?>
  <schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       targetNamespace="http://www.kaywon.ac.kr">
  <element name="interface">
    <complexType>
      <sequence>
        <element ref="instance" minOccurs="1" maxOccurs="unbounded" />
      </sequence>
     <complexType>
   </element>


  <element name="instance">
    <complexType>
      <sequence>
        <element name="name" type="string" />
        <element name="description" type="string" />
      <sequence>
      <attribute name="id" type="string"/>
      <attribute name="status" default="on">
         <simpleType>
            <restriction base="string">
                <enumeration value="on"/>
                <enumeration value="off"/>
            </restriction>
          </simpleType>
       </attribute>
     <complexType>
   </element>
  </schema>


DTD : interface.dtd
 <!ELEMENT interface (instance+)>
 <!ATTLIST interface



                                     25
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




        xmlns CDATA #FIXED "http://www.kaywon.ac.kr"
 >


 <!ELEMENT instance (name, description)>
 <!ATTLIST instance
        id CDATA #REQUIRED
        status CDATA #REQUIRED
 >


 <!ELEMENT name (#PCDATA)>
 <!ELEMENT description (#PCDATA)>


Zoom In : zoomin.xml
 <?xml version="1.0" encoding="EUC-KR"?>
 <inferface xmlns="http://www.kaywon.ac.kr">
     <instance id="KSAD-AR01" status="on">
      <name>"Zoom In"</name>
      <description>"Zoom the screen In"</description>
     </instance>
 </interface>




                                                  http://www.faceb
                                                  ook.com/video/vi
                                                  deo.php?v=11622
                                                  0801729687&oid=
                                                  193891581197




                                         26
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




Zoom Ou : tzoomout.xml
 <?xml version="1.0" encoding="EUC-KR"?>
 <inferface xmlns="http://www.kaywon.ac.kr">
   <instance id="KSAD-AR02" status="on">
     <name>"Zoom Out"</name>
     <description>"Zoom the screen Out"</description>



                                   27
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




   </instance>
 </interface>




                                                 http://www.facebook.

                                                 com/group.php/video

                                                 /video.php?v=116221

                                                 515062949&oid=1938

                                                 91581197




                                         28
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




Select & Pick Out : pickout.xml
 <?xml version="1.0" encoding="EUC-KR"?>
 <inferface xmlns="http://www.kaywon.ac.kr">
   <instance id="KSAD-AR03" status="on">
     <name>"Pick Out"</name>
     <description>"Pick the object Out"</description>
   </instance>
 </interface>




                                                        http://www.faceb
                                                        ook.com/group.p
                                                        hp/video/video.p
                                                        hp?v=116222948
                                                        396139&oid=1938
                                                        91581197




                                    29
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




Jump Up : jumpup.xml


                                         30
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




<?xml version="1.0" encoding="EUC-KR"?>
<inferface xmlns="http://www.kaywon.ac.kr">
 <instance id="KSAD-AR04" status="on">
   <name>"Jump Up"</name>
   <description>"for player to jump up"</description>
 </instance>
</interface>




                                                    http://www.faceb
                                                    ook.com/video/vi
                                                    deo.php?v=11456
                                                    3751895392&oid=
                                                    193891581197




                                  31
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         32
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




Landing : landing.xml
 <?xml version="1.0" encoding="EUC-KR"?>
 <inferface xmlns="http://www.kaywon.ac.kr">
   <instance id="KSAD-AR05" status="on">
     <name>"Landing"</name>
     <description>"for player to land to floor"</description>
   </instance>
 </interface>




                                                       http://www.faceb
                                                       ook.com/video/vi
                                                       deo.php?v=11456
                                                       3751895392&oid=
                                                       193891581197




                                     33
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         34
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




제 3 개발 : 객체 Calibration & Augmentation 기술 구현

 정해진 패턴의 마커 인식이 아닌 사용자 선호의 이미지를 인식하고 이를 목표 대상
으로 하여 대상의 움직임에 따라 그 위에 3D 객체를 투영하는 기술을 개발한다. 개발
모듈은 카메라 캘리브레이션, 객체 augmentation의 서브 모듈로 구성된다.




기존 마커 시스템

 기존의 여러 증강 현실 연구에서는 가상 객체를 증강할 위치의 인식과 카메라의 자
세 추정을 위하여 흑백 이미지의 정사각형 마커를 주로 사용하였다. ARToolKit[5]은
검은 색의 정사각형 테두리 내부에서 임의 형태의기호로 마커를 구분한다. ARTag
[6]는 이전보다 조명에강건하고 내부 패턴 인식의 정확도를 높이기 위하여 마커 내부
를 디지털 패턴으로 생성하였다. 이와 같은 흑백 이미지 형태의 마커 시스템은 증강
현실을 쉽게 구현할 수 있지만 실제의 환경이 흑백보다는 다양한 색상으로 구성되어
있기 때문에 쉽게 어울리지 않는 단점이 있다. Colorcode [7]는 흑백의 1차원 바코드
를 네 가지 색상을 이용한 2차원 사각형 코드로 확장하였다. 이것은 색상과 명도 차
를 이용하여 코드를 인식하는 것으로 증강현실용으로 사용하는 것이 가능하며 흑백
이미지의 마커보다 실제 환경에 자연스럽다는 장점이 있다. 하지만 여전히 내부의 패
턴이 인식을 쉽게 하기 위한 디지털 패턴이므로 사용자가 어떤 의미의 마커인지 인식
하기 어렵다. 또한 기존의 흑백이나 컬러 이미지 마커인 경우 증강할 대상과 분리된
상태에서 사용되는데 이는 시선이 대상물과 마커로 분리되어 몰입감을 떨어뜨리게 된
다.
 이러한 문제의 해결방안으로 마커를 보이지 않도록 하는 연구가 시도되고 있다.
Invisible marker는 사람의 눈으로는 인식이 불가능하지만 적외선 카메라를 통해서는
반응하는 잉크 펜을 이용하여 마커를 생성한다 [8]. 따라서 증강현실의 마커와 같이
몰입을 방해하는 요소를 줄일수 있다. 그러나 적외선 잉크 성분이 햇빛에 노출되어



                               35
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




일정 시간이 경과하면 증발해 버린다는 것과 적외선 카메라의 장착 등 부가 장비와
비용이 필요하다는 단점이 있다. Digimark사는 디지털 정보나 이미지의 저작권을 보
호하기 위한 보안기술의 하나인 워터마크 기술을 사용하여 잡지 등의 광고에 정보를
숨기고 카메라로 이를 인식하여 디지털 콘텐츠에 접속할 수 있도록 한다 [9]. 그러나
이기술은 증강 현실을 위한 오브젝트의 자세 추정을 알아내는데 적합한 특징 점을 찾
기가 어렵다는 단점이 있다. BazAR은 마커를 사용하지 않고 오브젝트 자체의 특징점
을 추출, 분류, 인식하고 자세를 추정한다 [10]. 그러나 이것 역시 처리의 복잡도 때
문에 현재까지 모바일 증강현실 분야에서 실시간으로 구현하기 어렵다는 단점이 있
다.


Calibration
                        Level 1                       Level 2                Level 3
              View 집합 형성하기
               - 뷰 집합 샘플링
     개발 내용                                    Keypoint 분류               Keypoint 인식
               - 다중스케일 Keypoint 추출
               - 최종 Keypoint 선택
                                                                        뉴럴넷 알고리즘
      비고                                      K-Nearest Neighbor 알고리즘
                                                                        유전자 알고리즘




                                         36
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




원본 목표 대상 이미지




다중 스케일 키포인트 추출




                  37
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




최종 키포인트 확정



키포인트 인식




                                                 http://www.faceb
                                                 ook.com/video/vi
                                                 deo.php?v=1236
                                                 30447655389&oi
                                                 d=123084587702
                                                 862




                                         38
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 39
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         40
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




이미지 거리, 방향, 경사도 인식




http://www.facebook.com/video/video.php?v=137384762946624&oid=193891581197




                                         41
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         42
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 43
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         44
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




 45
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                         46
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




부분 이미지를 이용한 목표 추적




                     47
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




http://www.facebook.com/video/video.php?v=138051382879962&oid=193891581197




                                         48
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




Augmentation
                    Level 1              Level 2                     Level 3
                                객체 augmentation 초기화          대상 추적 방법론 고안
               Keyframe 작업
                                - Viewpoint 독립의 지역            - Keyframe 기반 추적
 개발 내용         - Keyframe 생성
                                  descriptor 설정               - Keyframe과 이전
               - Keyframe 랜더링
                                - augmentation 위치 확정            frame간의 정보 조합
 비고                             eigen 이미지 방법론




                                    49
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
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




구별하긴 어렵다. 이 두 제스처의 구별은 손 모양을 구분함으로써 가능하다. 다시 말
해, 가슴 부분에서 손바닥 모양(Palm)이 인식되면 Push 제스처, 주먹을 쥔 상태에서
엄지손가락을 세운 모양(Thumb-Up)이 인식되면 Pull 제스처라 인식할 수 있다. 마
찬가지로, Pointing 제스처에서는 엄지와 검지 손가락 모양을 인식함으로써 지금 취해
지고 있는 손의 움직임이 Pointing제스처라는 것을 인식할 수 있다.
  손 모양 인식은 손 움직임이 적은 상태에서 수행되어져야 한다. 우리는 사용자가
의미있는 동작을 수행하는 과정에서 잠시 동작을 멈춘다는 가정을 하고 있다.


  제스처 인식을 위한 손 검출 및 추적 방법론은 아래 그림과 같다. 우리는 피부색
검출과 얼굴 검출이라는 전처리 과정을 통해, 손 검출 및 추적 과정을 수행한다.




2. 손 검출을 위한 전처리(Preprocessing for Hand detection)

 손 검출을 위해 우리는 피부색을 모델링하여 피부색 영역을 검출한다.


    검출(Skin
피부색 검출(Skin color detection)

 우리는 피부색 검출을 위해 75개의 피부 영상 조각을 수집하였다. 다음 그림은 피
부색 영상 샘플 중 일부를 보여준다.




 각 픽셀의 RGB값을 YCbCr 컬러 모델로 변환하였다. YCbCr 컬러값을 얻기 위한 변
환공식은 다음과 같다.




                                51
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




     YCbCr 모델에서 Y는 컬러의 밝기성분을 나타내고 Cb, Cr성분은 컬러 성분을 나타
낸다. 따라서 우리는 Cb, Cr 성분만을 취하여 피부색의 분포를 알아보았다.




 위의 왼쪽 그림은 CbCr의 공간상에서 피부색의 분포를 보여 준다. 우리는 이 영역
에 속하는 컬러를 피부색이라 분류한다. 이 영역을 모델링하기 위해 우리는 위 오른
쪽 그림과 같이 양자화를 시킨 후, Look-Up Table(LUT)을 구성하였다. 이 LUT의
사이즈는 42 65이며 Cb 값은 89에서 130사이에, Cr 값은 114에서 178사이에 있다.
     우리는 이 컬러 모델을 이용하여 다음과 같이 영상에서 피부색 영역을 검출하였
다.




                                         52
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




그림 원 영상                                    피부색 영역 검출


        제거(Noise
피부색 노이즈 제거(Noise removal)

 피부색은 인간의 피부가 아닌 영역에서도 검출될 수 있는 자연의 색이다. 우리는 불
필요한 피부색 영역을 제거하기 위해 연결성 분석(Connected Component Analysis)
를 수행하여 연결 영역(Connected Component)을 둘러싸고 있는 박스를 찾아내고 다
음 조건을 만족하는 연결영역을 제거하였다.
  N1. 가로 세로 < T1
  N2. 가로/세로 > T2
  N3. 세로/가로 > T3
 위 조건들은 너무 작은 영역이나, 가로, 세로의 비가 지나치게 큰 영역은 인간의 피
부 영역이 아닐 것이라는 가정 하에 수행되었다. 실험에서 T1=100, T2 = 3, T3 =3
을 취하였다.




              그림 노이즈가 제거된 피부색 영역




                             53
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
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




          검출(Moving
이동 피부색 블랍 검출(Moving Skin Color Blob Detection)

 카메라를 통한 연속적인 영상 입력시 연속된 두 프레임의 차 영상은 촬영 중인 객
체의 움직임 정보를 담고 있다.
  우리는 두 프레임의 차이가 발생한 영역은 움직임이 발생한 영역이다. 우리는 이
영역들 중 피부색이 검출된 부분을 찾는다. 이 부분이 이동 중인 손이 위치한 (후보)
영역이라 볼 수 있다. 다음 그림은 차영상과 차영상 중 피부색이 검출된 부분을 보여
준다.




  그림 차 영상                            차영상에서 검출된 피부색 영역



  우리는 차영상에서 검출된 피부색 영역으로부터 손 영역을 복원한다. 이는 차영상
의 피부색 영역의 픽셀들을 시작점(seed)으로 하여 피부색 영상의 연결 성분을 추출
해 내는 방식으로 수행되었다.




                               55
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                                                 그림 Pull
                                                 제스처 손
    그림 검출된 손 영역                                  영역



  위 오른쪽 그림은 Pull 제스처 시 가슴 부분에서 나타난 손/손가락 실루엣을 보여
준다.


손 검출 ROI 설정

 얼굴 박스 영역의 중심 x 좌표를 기준으로 오른쪽 박스 영역을 왼손 검출 ROI 영
역, 왼쪽 박스 영역를 오른손 검출 ROI 영역으로 설정한다. 얼굴 박스의 높이를 L이
라 할 때, ROI 박스의 크기는 폭이 3L, 높이가 4L이다. 우리는 차렷 자세와 유사한 상
태에서 가상공간과의 인터페이스를 시작하는 것을 가정하였다.




                  그림 손 검출을 위한 ROI 설정




                                         56
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
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
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
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




                           그림 주요 신체 부분




                                         60
2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서




참고 문헌




         61

Mais conteúdo relacionado

Semelhante a Mid-term Report

모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)
모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)
모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)keesung kim
 
성공적인 UX디자인을 위한 프로토타입 방법론
성공적인 UX디자인을 위한 프로토타입 방법론 성공적인 UX디자인을 위한 프로토타입 방법론
성공적인 UX디자인을 위한 프로토타입 방법론 Unbong Kang
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~Lee Jungpyo
 
소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set세영 이
 
수화 인식 자동 번역 iOS 앱 프로젝트 제안서
수화 인식 자동 번역 iOS 앱 프로젝트 제안서수화 인식 자동 번역 iOS 앱 프로젝트 제안서
수화 인식 자동 번역 iOS 앱 프로젝트 제안서Anna Kim
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론JeongDong Kim
 
소프트웨어공학 2조 기획서
소프트웨어공학 2조 기획서소프트웨어공학 2조 기획서
소프트웨어공학 2조 기획서상진 손
 
Research Works of Jonghoon seo
Research Works of Jonghoon seoResearch Works of Jonghoon seo
Research Works of Jonghoon seoJonghoon Seo
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxMyungHoKim10
 
XR콘텐츠 기획자/3D디자이너/개발자 교육
XR콘텐츠 기획자/3D디자이너/개발자 교육XR콘텐츠 기획자/3D디자이너/개발자 교육
XR콘텐츠 기획자/3D디자이너/개발자 교육HooAhm Lee
 
AR/VR 기술 트렌드와 Immersive Web 동향
AR/VR 기술 트렌드와 Immersive Web 동향AR/VR 기술 트렌드와 Immersive Web 동향
AR/VR 기술 트렌드와 Immersive Web 동향iamhjoo (송형주)
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)SangIn Choung
 
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016정하 김
 
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)승용 윤
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰Jubok Kim
 
2. Smart Media M&M Networks vol1
2. Smart Media M&M Networks vol12. Smart Media M&M Networks vol1
2. Smart Media M&M Networks vol1M&M Networks
 
1st Meeting : Visionary Group for Smart Glasses
1st Meeting : Visionary Group for Smart Glasses1st Meeting : Visionary Group for Smart Glasses
1st Meeting : Visionary Group for Smart GlassesHyungmin Park
 

Semelhante a Mid-term Report (20)

모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)
모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)
모바일시대의프로토타이핑 (@웹월드컨퍼런스, 2014.11.19)
 
성공적인 UX디자인을 위한 프로토타입 방법론
성공적인 UX디자인을 위한 프로토타입 방법론 성공적인 UX디자인을 위한 프로토타입 방법론
성공적인 UX디자인을 위한 프로토타입 방법론
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~
 
소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set소프트웨어 개발과 Agile skill set
소프트웨어 개발과 Agile skill set
 
수화 인식 자동 번역 iOS 앱 프로젝트 제안서
수화 인식 자동 번역 iOS 앱 프로젝트 제안서수화 인식 자동 번역 iOS 앱 프로젝트 제안서
수화 인식 자동 번역 iOS 앱 프로젝트 제안서
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론
 
소프트웨어공학 2조 기획서
소프트웨어공학 2조 기획서소프트웨어공학 2조 기획서
소프트웨어공학 2조 기획서
 
Codex project
Codex projectCodex project
Codex project
 
Research Works of Jonghoon seo
Research Works of Jonghoon seoResearch Works of Jonghoon seo
Research Works of Jonghoon seo
 
Research
ResearchResearch
Research
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptx
 
XR콘텐츠 기획자/3D디자이너/개발자 교육
XR콘텐츠 기획자/3D디자이너/개발자 교육XR콘텐츠 기획자/3D디자이너/개발자 교육
XR콘텐츠 기획자/3D디자이너/개발자 교육
 
AR/VR 기술 트렌드와 Immersive Web 동향
AR/VR 기술 트렌드와 Immersive Web 동향AR/VR 기술 트렌드와 Immersive Web 동향
AR/VR 기술 트렌드와 Immersive Web 동향
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016
Ibitp취업연계교육안내 sw융합전문인력양성 io_t및vr교육_20171016
 
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
 
Proposal
ProposalProposal
Proposal
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
 
2. Smart Media M&M Networks vol1
2. Smart Media M&M Networks vol12. Smart Media M&M Networks vol1
2. Smart Media M&M Networks vol1
 
1st Meeting : Visionary Group for Smart Glasses
1st Meeting : Visionary Group for Smart Glasses1st Meeting : Visionary Group for Smart Glasses
1st Meeting : Visionary Group for Smart Glasses
 

Mais de JongHyoun

게임, 인간, 문화 그리고 사회관계 김종현교수
게임, 인간, 문화 그리고 사회관계 김종현교수게임, 인간, 문화 그리고 사회관계 김종현교수
게임, 인간, 문화 그리고 사회관계 김종현교수JongHyoun
 
Game Planning
Game PlanningGame Planning
Game PlanningJongHyoun
 
등장인물분석 가상캐스팅
등장인물분석 가상캐스팅등장인물분석 가상캐스팅
등장인물분석 가상캐스팅JongHyoun
 
Tangible&amp;Rendering
Tangible&amp;RenderingTangible&amp;Rendering
Tangible&amp;RenderingJongHyoun
 
AR, the TODAY
AR, the TODAYAR, the TODAY
AR, the TODAYJongHyoun
 
Indoor Location Tracking
Indoor Location TrackingIndoor Location Tracking
Indoor Location TrackingJongHyoun
 
가상세계와클론
가상세계와클론가상세계와클론
가상세계와클론JongHyoun
 
국내게임엔진 1
국내게임엔진 1국내게임엔진 1
국내게임엔진 1JongHyoun
 
Robot Pet Society with Human-being
Robot Pet Society with Human-beingRobot Pet Society with Human-being
Robot Pet Society with Human-beingJongHyoun
 
감성공간을 위한 스토리 인지기술
감성공간을 위한 스토리 인지기술감성공간을 위한 스토리 인지기술
감성공간을 위한 스토리 인지기술JongHyoun
 
Tangible AR Interface
Tangible AR InterfaceTangible AR Interface
Tangible AR InterfaceJongHyoun
 

Mais de JongHyoun (19)

WG
WGWG
WG
 
게임, 인간, 문화 그리고 사회관계 김종현교수
게임, 인간, 문화 그리고 사회관계 김종현교수게임, 인간, 문화 그리고 사회관계 김종현교수
게임, 인간, 문화 그리고 사회관계 김종현교수
 
기획서 2
기획서 2기획서 2
기획서 2
 
2 by Dr.Ahn
2 by Dr.Ahn2 by Dr.Ahn
2 by Dr.Ahn
 
1 by Dr.Ahn
1 by Dr.Ahn1 by Dr.Ahn
1 by Dr.Ahn
 
Game Planning
Game PlanningGame Planning
Game Planning
 
3 by Dr.Ahn
3 by Dr.Ahn3 by Dr.Ahn
3 by Dr.Ahn
 
등장인물분석 가상캐스팅
등장인물분석 가상캐스팅등장인물분석 가상캐스팅
등장인물분석 가상캐스팅
 
Tangible&amp;Rendering
Tangible&amp;RenderingTangible&amp;Rendering
Tangible&amp;Rendering
 
AR, the TODAY
AR, the TODAYAR, the TODAY
AR, the TODAY
 
Indoor Location Tracking
Indoor Location TrackingIndoor Location Tracking
Indoor Location Tracking
 
가상세계와클론
가상세계와클론가상세계와클론
가상세계와클론
 
국내게임엔진 1
국내게임엔진 1국내게임엔진 1
국내게임엔진 1
 
Tangible A
Tangible  ATangible  A
Tangible A
 
Robot Pet Society with Human-being
Robot Pet Society with Human-beingRobot Pet Society with Human-being
Robot Pet Society with Human-being
 
about OWI
about OWIabout OWI
about OWI
 
감성공간을 위한 스토리 인지기술
감성공간을 위한 스토리 인지기술감성공간을 위한 스토리 인지기술
감성공간을 위한 스토리 인지기술
 
Tangible AR Interface
Tangible AR InterfaceTangible AR Interface
Tangible AR Interface
 
Cyber Clone
Cyber CloneCyber Clone
Cyber Clone
 

Mid-term Report

  • 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
  • 7. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 1.3 시스템 개요 그림 1 개발 기술의 적용 예시도 7
  • 8. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 그림 2 개발 시스템의 물리적 구성도 그림 3 개발 시스템의 논리적 구성도 8
  • 9. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 제 1 개발 : 게임 기획 & 디자인 게임 시나리오 및 기획 9
  • 15. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 배경 및 캐릭터 디자인 15
  • 25. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 제 2 개발 : Tangible 인터페이스 및 프로토콜의 설계 XML Schema : interface.xsd <?xml version="1.0" encoding="EUC-KR"?> <schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.kaywon.ac.kr"> <element name="interface"> <complexType> <sequence> <element ref="instance" minOccurs="1" maxOccurs="unbounded" /> </sequence> <complexType> </element> <element name="instance"> <complexType> <sequence> <element name="name" type="string" /> <element name="description" type="string" /> <sequence> <attribute name="id" type="string"/> <attribute name="status" default="on"> <simpleType> <restriction base="string"> <enumeration value="on"/> <enumeration value="off"/> </restriction> </simpleType> </attribute> <complexType> </element> </schema> DTD : interface.dtd <!ELEMENT interface (instance+)> <!ATTLIST interface 25
  • 26. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 xmlns CDATA #FIXED "http://www.kaywon.ac.kr" > <!ELEMENT instance (name, description)> <!ATTLIST instance id CDATA #REQUIRED status CDATA #REQUIRED > <!ELEMENT name (#PCDATA)> <!ELEMENT description (#PCDATA)> Zoom In : zoomin.xml <?xml version="1.0" encoding="EUC-KR"?> <inferface xmlns="http://www.kaywon.ac.kr"> <instance id="KSAD-AR01" status="on"> <name>"Zoom In"</name> <description>"Zoom the screen In"</description> </instance> </interface> http://www.faceb ook.com/video/vi deo.php?v=11622 0801729687&oid= 193891581197 26
  • 27. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 Zoom Ou : tzoomout.xml <?xml version="1.0" encoding="EUC-KR"?> <inferface xmlns="http://www.kaywon.ac.kr"> <instance id="KSAD-AR02" status="on"> <name>"Zoom Out"</name> <description>"Zoom the screen Out"</description> 27
  • 28. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 </instance> </interface> http://www.facebook. com/group.php/video /video.php?v=116221 515062949&oid=1938 91581197 28
  • 29. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 Select & Pick Out : pickout.xml <?xml version="1.0" encoding="EUC-KR"?> <inferface xmlns="http://www.kaywon.ac.kr"> <instance id="KSAD-AR03" status="on"> <name>"Pick Out"</name> <description>"Pick the object Out"</description> </instance> </interface> http://www.faceb ook.com/group.p hp/video/video.p hp?v=116222948 396139&oid=1938 91581197 29
  • 30. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 Jump Up : jumpup.xml 30
  • 31. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 <?xml version="1.0" encoding="EUC-KR"?> <inferface xmlns="http://www.kaywon.ac.kr"> <instance id="KSAD-AR04" status="on"> <name>"Jump Up"</name> <description>"for player to jump up"</description> </instance> </interface> http://www.faceb ook.com/video/vi deo.php?v=11456 3751895392&oid= 193891581197 31
  • 33. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 Landing : landing.xml <?xml version="1.0" encoding="EUC-KR"?> <inferface xmlns="http://www.kaywon.ac.kr"> <instance id="KSAD-AR05" status="on"> <name>"Landing"</name> <description>"for player to land to floor"</description> </instance> </interface> http://www.faceb ook.com/video/vi deo.php?v=11456 3751895392&oid= 193891581197 33
  • 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
  • 37. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 원본 목표 대상 이미지 다중 스케일 키포인트 추출 37
  • 38. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 최종 키포인트 확정 키포인트 인식 http://www.faceb ook.com/video/vi deo.php?v=1236 30447655389&oi d=123084587702 862 38
  • 41. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 이미지 거리, 방향, 경사도 인식 http://www.facebook.com/video/video.php?v=137384762946624&oid=193891581197 41
  • 47. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 부분 이미지를 이용한 목표 추적 47
  • 48. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 http://www.facebook.com/video/video.php?v=138051382879962&oid=193891581197 48
  • 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
  • 60. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 그림 주요 신체 부분 60
  • 61. 2009 지식경제부 전략기술개발사업(과제번호:10032132)의 위탁과제 중간보고서 참고 문헌 61