DOI QR코드

DOI QR Code

Human-Object Interaction Framework Using RGB-D Camera

RGB-D 카메라를 사용한 사용자-실사물 상호작용 프레임워크

  • Baeka, Yong-Hwan (Hanyang University, Department of Computer and Software) ;
  • Lim, Changmin (Hanyang University, Department of Computer and Software) ;
  • Park, Jong-Il (Hanyang University, Department of Computer and Software)
  • 백용환 (한양대학교 컴퓨터소프트웨어학과) ;
  • 임창민 (한양대학교 컴퓨터소프트웨어학과) ;
  • 박종일 (한양대학교 컴퓨터소프트웨어학과)
  • Received : 2015.11.10
  • Accepted : 2016.01.14
  • Published : 2016.01.30

Abstract

Recent days, touch interaction interface is the most widely used interaction interface to communicate with digital devices. Because of its usability, touch technology is applied almost everywhere from watch to advertising boards and it is growing much bigger. However, this technology has a critical weakness. Normally, touch input device needs a contact surface with touch sensors embedded in it. Thus, touch interaction through general objects like books or documents are still unavailable. In this paper, a human-object interaction framework based on RGB-D camera is proposed to overcome those limitation. The proposed framework can deal with occluded situations like hovering the hand on top of the object and also moving objects by hand. In such situations object recognition algorithm and hand gesture algorithm may fail to recognize. However, our framework makes it possible to handle complicated circumstances without performance loss. The framework calculates the status of the object with fast and robust object recognition algorithm to determine whether it is an object or a human hand. Then, the hand gesture recognition algorithm controls the context of each object by gestures almost simultaneously.

터치 인터페이스는 가장 최근에 등장한 상호작용 인터페이스 중에서도 그 사용성과 응용성이 뛰어난 인터페이스이다. 기술의 발전과 더불어 터치 인터페이스는 현대 사회에서 시계에서부터 광고판까지 많은 영역에 걸쳐 빠르게 퍼져나가고 있다. 하지만 여전히 터치 상호작용은 접촉식 센서가 내장되어있는 유효한 영역 내에서만 이루어질 수 있다. 따라서 센서가 내장될 수 없는 일반적인 사물들과의 상호작용은 아직 불가능한 상황이다. 본 논문에서는 이와 같은 제약 사항을 극복하기 위해 RGB-D 카메라를 이용한 사람-사물 상호작용 프레임워크를 제안한다. 제안하는 프레임워크는 물체와 사용자의 손이 서로 가려지는 상황에서도 서로 문제없이 상호작용을 수행할 수 있는 장점을 가지고 있으며, 빠르고 크기 변화와 회전에 강인한 물체 인식 알고리즘과 윤곽 정보를 이용한 손 제스처 인식 알고리즘을 통해 실시간으로 사용자가 사물과 상호작용을 수행할 수 있다.

Keywords

Ⅰ. 서 론

사용자들이 컴퓨터와 소통하기 위해서는 상호작용 인터페이스가 중요하다. 지금도 널리 사용되고 있는 고전적인 상호작용 인터페이스로는 키보드, 마우스 등이 있고 지금도 가장 기본적인 인터페이스로서의 역할을 수행하고 있다. 이러한 인터페이스도 물론 배우기 쉽고 충분히 활용성 있게 사용될 수 있지만, 기술의 발전에 힘입어 조금 더 사람과 사람 사이에서의 소통하는 방식에 가까운 상호작용 인터페이스들이 나타나고 있다. 그 중에서 터치 인터페이스는 고전적인 상호작용 인터페이스를 대체하고 있는 가장 성공적인 인터페이스에 속한다. 키보드, 마우스와 같은 상호작용 인터페이스는 사용자의 의도와 컴퓨터의 동작을 직접적으로 연결하기 보다는 간접적인 역할을 수행하고 있다. 키보드는 낱자 하나하나를 입력 받아 최종적으로 나타내고자하는 단어를 만들어내는 것이고, 마우스는 화면상에 나타나는 마우스 커서를 마우스라는 도구를 사용하여 간접적으로 원하는 위치로 이동하게 해준다. 하지만 터치 인터페이스에서는 사용자의 터치 위치가 곧 최종적인 명령에 해당한다. 터치 인터페이스는 이러한 뛰어난 직관성 덕분에 많은 기기와 장비들에 기본적인 상호작용 수단으로서 그 영역을 넓혀가고 있다.

상용화된 터치 인터페이스 장치들은 일반적으로 디스플레이 장치와 터치 센서로 구성되어 있다. 디스플레이 장치는 컴퓨터에게 전달할 명령을 아이콘이라는 그래픽으로 표현하여 디스플레이 장치를 통해 사용자에게 보여주고, 터치 인터페이스를 통해 사용자의 터치를 입력 받아 처리함으로써 사용자가 실제 사물을 눌러 명령을 전달하는 효과를 느끼게 해준다. 이러한 상호작용 방식은 협소한 디스플레이 공간 내에서 화면에 있는 아이콘들의 구성을 유동적으로 바꿔주는 것을 통해 상황에 따라 유연하게 대처할 수 있는 장점을 가지고 있다. 하지만 사용자에게 상호작용할 명령을 보여줄 수 있는 수단이 디스플레이 장치와 그 장치에 연결된 터치 센서에 의해 제한되기 때문에 그 상호작용 범위는 디지털화된 가상 객체에 머무르고 있다. 따라서 디스플레이라는 제한적인 공간을 벗어난 인터페이스를 구성 할 수 있다면 실제 사물과의 터치 상호작용도 가능할 것이다.

일반적인 터치 인터페이스는 터치 장치에 부착된 센서와의 접촉을 통해 발생되는 터치 이벤트를 처리하는 것으로 상호작용 동작을 수행하게 된다. 하지만 우리가 일상적으로 사용하는 사물의 접촉면에는 이러한 센서가 존재하지 않는다. 이에 물리적인 접촉을 요구하는 센서가 아닌 비접촉식 센서인 광학 센서를 통해 물체의 상태를 파악하는 방식이 반드시 필요하다. 하지만 일반적인 광학 센서인 RGB 카메라는 물체의 형태나 색상 정보는 알 수 있지만 물체까지의 거리 정보는 알 수 없다. 이와 같은 공간상의 위치를 나타낼 수 있는 거리 정보가 없다면 사용자가 물체와 접촉했는지 여부를 판단할 방법이 없다. 따라서 본 논문에서는 RGB-D 카메라를 기반으로 하는 상호작용 프레임워크를 제안한다.

 

Ⅱ. RGB-D 카메라를 사용한 사용자-실사물 상호작용 프레임워크

1. 개요

제안하는 상호작용 프레임워크는 RGB-D 카메라가 탁상 공간에 수직으로 설치된 구성을 기준으로 한다. 이러한 형태의 작업 공간 구성은 일찍이 Wilson[1]이 활용한 방식과 유사하다. Wilson의 논문에서는 RGB-D 카메라를 통해 상호작용 공간 내의 3차원 공간 정보를 획득하고 이를 가상공간에 반영하는 방식을 제시하였다. 상호작용 공간 내에 있는 현실의 공간 정보가 가상 세계에 영향을 주어 반응하는 것이 마치 현실과 가상 공한이 융합한 효과를 보여주었다. 또한 프로젝터를 통해 사용자에게 가상공간의 정보를 현실 공간에 투사하여 현실 세계의 변화가 가상 세계와 상호작용을 이루는 것을 사용자의 눈에 직접 보여주었다.

Adcock 등은[2] Wilson의 방식을 더 발전시켜 원격 제어 상황에서 송신자의 3차원 공간 정보를 원격지에 전송하는 시스템을 제안하였다. 제안한 시스템은 RGB-D 카메라의 정보를 3차원 메쉬로 복원하여 수신자가 원하는 시점을 자유롭게 관측하여 원격지에 있는 송신자를 도울 수 있도록 하였다. 이 과정에서 저자는 깊이 영상을 움직여진 물체와 움직이지 않은 물체를 2가지 영역으로 구분하여 관리하여 상호작용을 수행하였다.

위의 두 논문은 현실 세계의 정보를 가상공간과 융합하여 여러 가지 상호작용이 가능함을 보여주고 있다. 하지만 두 논문 모두 현실 세계의 사물이 어떠한 속성을 가지고 있는지 혹은 그 속성에 따라 가상공간에서 다른 역할을 수행하는지를 표현해내지는 못하고 있다. 사람이 실제 사물과 상호작용을 한다는 것은 사물의 형상뿐만이 아니라 최종적으로 그 사물에 대한 속성이나 의미가 반영된 상호작용을 수행하고자 할 것이다. 본 논문에서는 제시된 위의 두가지 논문의 한계를 극복하고자 실시간으로 사물을 인식할 수 있고 동시에 사용자 제스처를 인식하여 사람-사물 상호작용을 위한 프레임워크를 구성하였다. 프레임워크의 입력정보는 RGB-D 카메라에서 들어온 원시 데이터로 이 정보를 재가공 및 추상화하여 크게 2가지 정보, 상호작용 대상이 되는 물체에 대한 정보와 사용자 손 제스처에 대한 정보를 최종 사용자에게 보이는 응용소프트웨어 계층으로 전달한다. 상호작용 대상이 되는 물체에 대한 정보는 물체 인식 알고리즘을 통해 현재 물체의 중심 위치, 윤곽선 정보 그리고 카메라로부터의 거리 정보를 가지고 있다. 사용자의 손 제스처 정보의 경우에는 양 손의 중심 위치, 현재 손가락의 개수, 각 손가락의 카메라로부터의 거리, 손동작 제스처 이벤트를 가지고 있다.

2. 프레임워크 구성 및 동작 흐름

제안하는 프레임워크의 핵심 구성요소는 현재 카메라에 비춰지는 장면에 대한 깊이 정보를 정적 요소와 동적 요소로 구분함에 있다. 정적 요소는 움직이지 않는 물체들에 해당하는 영역으로 사용자가 상호작용할 사물들이 이 요소에 해당된다. 반면 동적 요소는 정적 요소에 해당하지 않는 나머지 구성요소로 본 논문에서는 사람의 손이 이 영역에 해당하게 된다. 깊이 정보를 크게 2가지 요소로 구분하는 이유는 각각에 적용되는 알고리즘과 관리되는 정보의 차이가 있기 때문이다. 정적 요소는 상호작용 대상인 사물이 있는 영역이므로 물체 인식 알고리즘을 적용해야하고, 사용자의 손이 물체를 가리거나 의도적으로 물체를 움직이더라도 그 상황정보를 유지하고 있어야 한다. 즉, 물체가 가려졌을 때의 자기 자신에 대한 깊이 정보와 물체가 움직였을 때 그 변화를 자신이 파악하고 있어야 한다. 반면 동적 영역에는 사용자의 손이 해당되므로 손 제스처 인식 알고리즘을 적용하여 제스처 명령인지 아닌지 판단하고 제스처에 종류에 따라 적절한 대응을 할 수 있도록 돕는다. 이와 같이 깊이 정보를 구분하기 위해 제안된 프레임워크는 그림 1과 같은 과정을 거쳐 가게 된다. Wilson의 논문에서는 정적 요소로 판단하는 기준이 시간에 따라 지속적으로 움직이지 않는 모든 형상에 대해 적용하였다. 하지만 실제로 그 물체를 개별적으로 인식하여 정적 영역으로 구분해낸 것이 아니기 때문에 각각의 물체의 고유한 정보를 통해 상호작용을 하는 것이 불가능했다. 제안하는 프레임워크에서는 각각의 물체를 인식한 이후에 정적 영역으로 구분했기 때문에 각각의 영역을 서로 식별해내어 좀 더 구체적이고 다양한 상호작용을 수행할 수 있다.

그림 1.프레임워크 흐름도 Fig. 1. Framework workflow

본 프레임워크는 매 프레임마다 다음의 과정을 수행하게 된다. 우선 상호작용 공간의 배경 깊이 정보를 바탕으로 깊이 영상에 대해 배경 차분을 수행하여 그림 2-(c)와 같은 전경 깊이 영상을 획득한다. 이 전경 깊이 영상에는 상호작용 공간에 놓여있는 물체와 그 위에 상호작용 중인 손이 포함되어있을 수 있다. 이와 동시에 이전에 인식했던 사물들에 대한 정보를 바탕으로, 각각의 깊이 정보와 배경 깊이 정보를 사용하여 그림 2-(b)와 같이 정적 요소들에 대한 깊이 영상을 합성한다. 이렇게 합성한 정적 깊이 영상과 전경 깊이 영상에 대한 차 영상을 구하면 그림 2-(d)와 같이 동적요소에 대해 합성한 깊이 영상을 획득할 수 있다. 합성된 동적 깊이 영상을 바탕으로 손 제스처 인식 알고리즘을 적용한다. 마찬가지로 합성한 정적 깊이 영상과 동적 깊이 영상, 색상 영상으로 물체 인식 알고리즘을 적용하여 새로운 물체가 있는지 확인하게 된다.

그림 2.프레임워크 단계별 깊이 영상 (a) 학습한 배경 깊이 영상 (b) 합성 정적 깊이 영상 (c) 전경 영상 (d) 합성 동적 깊이 영상 Fig. 2. Depth maps for each framework stages (a) trained background depth map (b) synthetic static depth map (c) foreground depth map (d) synthetic dynamic depth map

 

III. 깊이 영상에 대한 배경 차분

1. 개요

RGB-D 카메라는 색상 영상과 깊이 영상을 동시에 제공하는 기능을 가지고 있다. 색상 영상의 경우에는 물체에 의해 반사된 빛이 카메라의 센서에 들어와서 디지털 정보로 변환된다. 하지만 깊이 영상의 경우에는 다양한 처리 과정을 통해 얻을 수 있다. 본 논문에서 사용한 RGB-D 카메라의 경우 Time-of-Flight 기술을 적용한 카메라로 적외선 광원을 빠르게 점멸하고 적외선이 물체에 의해 반사되어 오는 시간을 측정하여 거리를 계산하게 된다. 모든 광학계에 잡음이 있듯, RGB-D 카메라를 통해 구한 깊이 영상 또한 잡음이 존재한다. 이 잡음을 반영한 모델을 사용하여 배경 차분을 수행하면 고품질의 차분 결과를 얻을 수 있다.

2. 깊이 영상 잡음 모델

깊이 영상 잡음 모델을 구하기 위해 간단한 실험을 구성하였다. 카메라에 수평이 되도록 평평한 물체를 설치한 뒤 깊이 영상 정보를 샘플링 하여 측정된 거리의 오차를 수집하였다. 측정에 사용한 장비는 Kinect for Windows Version 2로 값에 대한 잡음은 그림 3과 같이 나왔다. 샘플링 한 값들을 살펴보면 중심점으로부터 균일하게 대칭을 이루는 가우스 분포와 유사하다는 것을 확인 할 수 있다. 깊이 영상에 대한 잡음이 가우스 분포를 이루고 있어 Z.Zivkovic[3]의 가우스 혼합 모델을 이용한 배경 차분 알고리즘을 조금 변형하여 사용하였다. Z.Zivkovic의 원래 알고리즘은 입력 값이 모델의 중심으로부터 차이를 통해 전경 영상을 추출한다. 하지만 깊이 영상의 경우에는 물체가 배경보다 더 멀리 놓일 수 없다는 자명한 사실을 제약 사항에 더 추가할 수 있다. 즉, 모델의 중심보다 멀리 있는 경우에는 임계값과 상관없이 배경으로 처리하고나서 전경 영상을 추출하였다. 그림 4는 해당 알고리즘을 수행한 결과이다.

그림 3.측정 거리 히스토그램 Fig. 3. Sampled distance histogram

그림 4.깊이 영상에 대한 배경 차분 결과 Fig. 4. Background subtraction result in depth map

 

IV. 합성 깊이 영상

1. 개요

앞서 GMM 알고리즘을 사용하여 추출해낸 전경 깊이 영상을 바탕에는 탁상에 놓인 사물과 사용자의 손 영상이 들어있게 된다. 사물 인식 알고리즘과 손 제스처 인식 알고리즘은 전경 깊이 영상 정보를 사용하여 동작할 것이다. 하지만 사물 인식 알고리즘과 손 제스처 인식 알고리즘이 동시에 필요한 상황에서 이 둘은 서로 충돌하게 된다. 예를 들면 인식한 물체를 만지게 되는 경우가 있을 수 있다. 상황에 따라서 사용자의 손이 물체의 일부 혹은 전체를 덮을 수 있다. 이 경우 이전에 인식한 물체 정보를 가지고 있지 않으면 올바른 상호작용 결과를 만들어낼 수 없게 된다. 이 문제점을 해결하기 위해 RemoteFusion[2]에서 깊이 영역을 2가지로 구분하여 활용했던 부분에서 착안하여 깊이 영상을 가상으로 합성하는 방식을 고안했다. 사물의 경우에는 사용자가 직접 움직이기 전까지는 현재 위치에 고정이 되어있기 때문에 물체가 인식한 당시 상황의 깊이 영상들을 정합하면 정적 깊이 영상을 얻을 수 있고, 그 외의 영역에 대해서는 아직은 동적인 요소들이 남아있는 동적 깊이 영상으로 합성하는 방식을 사용하였다.

2. 합성 정적 깊이 영상

합성 정적 깊이 영상은 이전 프레임에서 인식했던 물체의 깊이 정보를 바탕으로 재구성한다. 상호작용 공간에 들어온 물체를 처음으로 인식하게 되면 각각의 물체에 대해 그림 5와 같이 색상 영역 정보와 깊이 영역 정보를 저장하게 된다. 각각의 깊이 영상을 모아서 하나의 영상으로 합성하게 되면 그림 2-(b)와 같이 정적 요소들만 포함된 합성 정적 깊이 영상을 얻을 수 있다. 만약에 그림 2-(c)와 같이 사용자의 손이 물체의 일부분을 가리더라도 프레임워크 내부적으로 인식할 당시의 온전한 정보를 가지고 있으므로 해당 물체를 인지하는데 문제가 발생하지 않는다.

그림 5.인식한 물체의 관리 정보 Fig. 5. Managed information of recognized object

3. 합성 동적 깊이 영상

합성 동적 깊이 영상은 그림 2-(d)와 같이 전경 영상과 합성 정적 깊이 영상의 차이를 통해 계산해낼 수 있다. 이 영역에 포함될 수 있는 것은 두 가지로, 사용자의 손이거나 상호작용 영역에 들어온 새로운 물체이다. 물체 인식 알고리즘과 손 제스처 인식 알고리즘 모두 이 정보를 사용한다. 만약 새로운 물체를 이곳에서 인식하게 되면 다음 프레임에서 합성 정적 깊이 영상을 생성할 때 해당 물체를 포함시켜 합성 동적 깊이 영상에 포함되지 않도록 한다. 반대로 손 제스처 인식 알고리즘이 손 제스처를 인식하게 되면 인식된 정보를 기반으로 상호작용을 수행하게 된다. 따라서 물체가 인식이 될 때까지는 손 제스처 알고리즘과 충돌할 수 있지만 한번 인식된 물체에 대해서는 손 제스처 알고리즘과 충돌이 발생하지 않게 된다.

 

V. 물체 인식

1. 개요

지난 수년간 물체인식 알고리즘은 많은 발전이 있었다. 이러한 알고리즘은 물체의 외형 형상을 기반으로 한 알고리즘과 특징점을 이용한 알고리즘으로 크게 2가지로 분류를 할 수 있다. 형상 기반 알고리즘은 물체의 형태적 유사성을 이용하여 물체를 인식하는 알고리즘이다. 물체의 외형 정보를 얻을 수 있는 방법중 하나는 모서리 부분을 검출하여 그것을 외형 정보로 사용하는 방식이다. 또 다른 방법으로는 물체 표면의 기울기 정보를 활용하는 방법이 있다. 이 두 가지 유형 모두 물체의 모양 형태를 수치화한 것을 바탕으로 그 유사성을 서로 비교하여 같은 물체인지 서로 다른 물체인지 검증하게 된다. 이러한 알고리즘들은 강건함을 얻기 위해 히스토그램을 활용하는 경우가 많다[4-7]. 특징점을 이용한 알고리즘은 물체로부터 물체의 고유한 특징을 표현할 수 있는 부분을 추출하는 것을 이용한 알고리즘이다. 대표적으로 SIFT[8,9], SURF[10] 등의 알고리즘이 있으며, 이 알고리즘들은 물체로부터 크기와 회전 변화에 불변한 특징점을 추출할 수 있는 장점을 가지고 있다. 이렇게 추출 된 물체의 특징점 정보와 카메라 영상에서의 특징점 정보를 비교하여 영상 내에 있는 물체를 인식하게 된다.

2. 타원 분할 히스토그램 특징 벡터

본 논문에서 사용자에 의해 물체 높낮이, 회전 등의 변화가 발생할 수 있다. 따라서 높이에 의한 크기 변화와 회전에 강인한 물체 인식 알고리즘을 필요하고 사용자와의 즉각적인 상호작용을 위해 인식 속도 또한 빨라야 한다. 크기 변화와 회전에 불변한 특징을 갖는 SIFT[8,9], SURF[10]와 같은 알고리즘은 특징점을 추출하기까지의 계산량이 많아 실시간으로 물체 인식을 빠르게 수행해야하는 상황에는 적합하지 않다. 이에 본 논문에서 연산 복잡도가 낮고 물체의 회전과 크기 변화에 상관없이 물체를 인식할 수 있는 알고리즘을 제안한다.

제안하는 프레임워크의 특성상 각각의 물체 영역은 가상 깊이 영상으로부터 개별적으로 검출해 낼 수 있다. 따라서 이 정보로부터 우리는 물체의 윤곽선을 획득할 수 있고, 이 윤곽선을 따라 최소의 넓이로 해당 물체를 감싸는 직사각형을 계산해낼 수 있다[11]. 그 다음 그림 6과 같이 계산된 직사각형에 내접하는 타원을 하나 그리고 이를 균일한 간격으로 내부에 타원을 N개 그려준다. 균일한 간격으로 그려진 타원들 사이의 도넛 형태의 내부 밝기 정보를 히스토그램으로 각각 만들어주면 N개의 히스토그램이 나오게 된다. 이 히스토그램을 하나의 벡터로 만드는 것으로 물체의 특징 벡터가 완성되게 된다. 그림 7을 살펴보면 서로 다른 물체가 전혀 다른 히스토그램 특징 벡터를 추출할 수 있음을 볼 수 있다

그림 6.타원 분할 히스토그램 특징 벡터 Fig. 6. Ellipse layered histogram feature vector

그림 7.서로 다른 물체에 대한 특징 벡터 비교 Fig. 7. Feature vector comparision through other objects

3. 타원 분할 히스토그램 특징 벡터의 속성

제안하는 타원 분할 히스토그램 특징 벡터 알고리즘은 크게 3가지 성질을 갖는다.

크기 불변의 성질은 물체의 윤곽선 면적과 상관없이 균일하게 N개의 내부 타원으로 쪼갬으로서 얻을 수 있다. 물체의 크기와 상관없이 N개의 히스토그램을 생성하기 때문에 물체가 크기와 상관없이 각각의 히스토그램 분포는 똑같이 나오게 된다. 그리고 회전 불변의 성질은 물체의 면적을 최소가 되는 직사각형의 내부를 타원으로 쪼갬으로서 얻을 수 있다. 물체의 회전에 관계없이 물체의 면적을 최소가 되는 직사각형은 하나만 존재하게 된다. 만약 물체의 면적을 최소가 되는 직사각형이 여러 개면 그 도형은 원에 가까운 도형이므로 직사각형의 회전 방향과 무관하게 된다. 결국 어떤 물체의 면적이 최소가 되는 도형의 내부를 타원형태로 쪼개면 회전 각도와 상관없이 같은 히스토그램이 나오게 된다.

알고리즘의 강인함은 히스토그램의 샘플링과 쪼개는 타원의 개수를 통해 확보할 수 있다. 타원의 개수와 히스토그램 샘플링 개수가 증가할수록 오차에 대해 민감하게 반응하고 적을수록 강인하게 반응하게 된다. 이를 통해 주어진 환경 조건에 따라 알고리즘의 강인한 정도를 조절할 수 있다.

서로 다른 물체에 대한 해당 히스토그램 특징 벡터의 비교는 히스토그램 상관관계 식 (1)을 통해서 간단하게 구해낼 수 있다. 수식에서 H는 특징 벡터의 히스토그램, 는 해당 특징 벡터 히스토그램의 도수 평균값을 나타내고, d (H1, H1)는 두 히스토그램 분포의 유사성을 나타낸다. 계산된 결과는 –1에서 1 사이의 값을 가지고, 1에 가까우면 두 히스토그램이 완전히 일치하여 같은 물체로 판단할 수 있다.

 

4. 실험 결과

제안한 알고리즘의 성능을 실험하기 위해 가상으로 생성한 이미지를 바탕으로 실험을 하였다. 쪼개는 타원의 개수 N은 5로 하였고 각 히스토그램의 해상도는 64로 하였다. 각각의 물체 영상의 해상도는 평균 200x200이다.

회전 불변의 성질은 원본 영상에 각도를 1도씩 돌린 영상에서 추출한 특징 벡터와 상관관계를 계산하였다. 그림 8의 결과로부터 물체의 회전에 상관없이 높은 상관관계 값을 보임을 확인할 수 있다. 또한 그림 8-(c)와 같이 물체의 형상이 사각형이 원근 투영 형태에서도 좋은 값이 나타남을 확인할 수 있다.

그림 8.회전각도에따른 상관관계계수 (a) (b) 실제카메라영상 (c) 사각형이 아닌 객체 (d) 고해상도 영상 Fig. 8. Correlation score for rotated images (a) (b) captured image (c) non-rectangular image (d) high resolution image

크기 불변의 성질은 원본 영상을 50%에서 1000%까지 1%씩 확대하여 각각에 대한 상관관계 값을 계산하였다. 그림 9에서 원본보다 50% 축소한 영상을 축소하는 경우에는 원본에 비해 정보의 손실이 발생하기 때문에 어느 정도 성능 정하가 보이긴 했지만 그 값 역시 일정 수준 이상을 유지하고 있기 때문에 충분히 물체 인식으로 사용할 수 있는 값을 기록하고 있다.

그림 9.크기 변화에 따른 상관관계 계수 Fig. 9. Correlation score for scaled images

서로 다른 물체의 히스토그램 특징 벡터 사이의 상관관계 계수를 살펴보면 표 1과 같다. 이 표에서 서로 같은 물체에 대한 결과인 그림 8과 그림 9에서의 상관관계 관계 값은 전체적으로 0.7 이상의 값을 유지하는 것에 비해 서로 다른 물체에 대해서는 0.4 이하로 상당히 값이 낮게 나오는 것을 확인할 수 있다. 따라서 제안하는 타원 분할 히스토그램 특징 벡터가 회전과 크기 불변의 성질을 갖으면서 강인한 성질을 갖는 알고리즘임을 확인할 수 있다.

표 1.서로 다른 물체에 대한 히스토그램 상관관계 계수 Table 1. Histogram correlation results

 

VI. 제스처 인식

1. 개요

인간-사물 상호작용에서 사물을 터치하거나 움직이는 등의 제스처를 통해 사물과 상호작용하는 것이 일반적인 활동이다. 따라서 사용자의 손 제스처 인식은 인간-사물-컴퓨터 상호작용에 있어서 그 활동 영역을 넓힐 수 있는 수단이 된다. 일반적인 제스처 인식은 검출, 보정, 인식의 3단계를 거쳐 수행된다.

검출 단계에서는 오류를 내포하고 있는 입력 정보로부터 대략적인 손의 형상을 추출하는 작업을 수행한다. 검출 알고리즘의 성능은 센서의 속성과 입력 영상의 품질에 따라 결정되게 된다. 일반적인 RGB 카메라 시스템에서는 색상 정보를 사용하여 손 영역을 추출하곤 한다. 이렇게 추출된 결과들은 손과 비슷한 색을 추출한 것으로 일반적으로 잡음이 심하거나 완전히 잘못된 정보를 제공할 수도 있다. 이러한 문제를 해결하기 위한 방법으로 깊이 카메라를 사용하는 방법이 많이 고안되고 있는 추세이다. 보정 단계에서는 검출 단계에서 추출한 손 영역의 정보에서 잡음을 제거하는 단계이다. 마지막으로 인식의 단계에서 보정한 영상을 바탕으로 실제 손 제스처를 인식하게 된다. 손 제스처 알고리즘은 시스템 환경이나 응용프로그램에 따라 다양한 알고리즘이 사용되고 있다.

2. 손 제스처 인식

본 논문에서는 손 제스처 인식을 위해서 2차원 손 모양 인식 알고리즘[12]을 사용하였다. 이 방법은 Kinect의 뼈대 추적 알고리즘을 사용하여 손 영역을 추출해내는 방식을 사용하고 있다. 제안하는 프레임워크의 경우 사용자의 전신이 아닌 팔과 손만 보이는 환경이기 때문에 합성된 동적 깊이 영상에 나타난 형상 정보를 그대로 사용하였다. 해당 알고리즘은 우선 손의 형상 정보에 Distance Transform을 사용하여 중심점과 손바닥의 반지름을 구한다. 그 다음 형상의 윤곽선 기울기가 급격히 변하는 손가락 끝점 후보를 찾은 뒤 손 중심점을 잇는 선을 찾는다. 손가락 끝점 후보에서 손 중심점을 잇는 선을 따라 손가락의 두께를 계산하고 손바닥의 반지름과 비교하여 그 비율을 계산한다. 최종적으로 계산된 비율이 일정 크기 이상이면 검출된 손가락 끝점 후보를 손가락 끝으로 인식하게 된다.

3. 상호작용 제스처 정의

사람, 사물, 컴퓨터간의 상호작용에 있어서 손가락 인식 알고리즘만으로는 다양한 상호작용을 수행하기 힘들다. 본 논문에서는 상호작용 제스처 정의와 그 검증을 위해 프레임워크를 실제 시스템에 구현하여 그 기능을 검증하였다. 그림 10과 같이 대형 스크린을 상호작용 공간으로 구성한 상호작용 시스템을 제작하였다. 그림 10-(a)의 실사물은 시스템에서 인식할 수 있는 물체들이고 그림 10-(b)의 화면상에서 인식 결과와 제스처 상호작용 결과를 확인할 수 있는 시스템이다.

그림 10.상호작용 시스템 (a) 실사물 (b) 스크린 Fig. 10. Interaction system (a) real objects (b) display screen

상호작용 시스템에서 활용할 수 있는 터치 제스처, 캡쳐 제스처, 줌 제스처, 저장 제스처의 4가지를 정의하였고 자세한 내용은 다음과 같다.

터치 제스처는 사물과 상호작용하는 가장 일반적인 동작으로 사용자의 한 손과 물체와 1회 접촉하는 경우에 해당하는 제스처이다. 1회 접촉시 상호작용 시스템에서는 사용자가 해당 물체를 선택한 것으로 인지한다.

캡쳐 제스처는 그림 11과 같이 양손의 검지와 중지 손가락을 펴고 있는 상태에서 동시에 구부려 주먹을 쥐는 제스처이다. 이 동작은 관심 영역을 설정하는데 사용하는 제스처로 두 손 사이를 감싸는 사각형 영역만큼을 촬영하여 저장하는 형태로 구현하였다.

그림 11.캡쳐 제스처 Fig. 11. Capture gesture

줌 제스처는 그림 12와 같이 양 손을 펼친 상태에서 동시에 주먹을 쥐면 시작하는 제스처이다. 이 제스처는 터치 제스처로 물체를 선택했을 때 출력되는 정보를 확대하거나 축소하는 동작으로 구현하였다.

그림 12.줌 제스처 Fig. 12. Zoom gesture

마지막으로 저장 제스처는 그림 13와 같이 한 손을 펴고있는 상태에서 주먹을 쥔 이후 동작을 취하는 제스처이다. 이 제스처 또한 물체를 선택했을 때 인식한 해당 물체의 정보를 다른 외부장치로 저장하는 기능으로 구현하였다.

그림 13.저장 제스처 Fig. 13. Save gesture

 

4. 제스처 실험 결과

제스처 인식률은 실제 사용자의 상호작용 의도와 직결되는 중요한 요소이다. 제스처가 올바르게 인식해야 사용자가 의도를 컴퓨터에 전달할 수 있고 그 의도에 알맞는 결과를 받아볼 수 있다. 본 논문에서 앞에서 정의한 각각의 제스처를 반복 시행하여 제스처 인식의 성공률을 측정하였다. 5명의 서로 다른 사용자가 실험에 참여하였으며 그 결과는 표 2와 표 3과 같다. 표 2는 각 제스처 동작별로 정확도가 얼마나 되는지 나타낸 표이다. 손가락 인식은 0개에서 10개의 손가락 각각의 인식 결과로 79.8%의 정확도를 보이고 있었다. 하지만 실제 동작 행위가 들어간 4가지 제스처들에 대해서는 하나의 동작 과정을 인식하는데는 무리가 없었다. 표 3은 실험자 개개인의 제스처들에 대한 인식률을 나타낸 도표이다.

표 2.손 제스처 인식 결과 Table 2. Hand gesture recognition results

표 3.상호작용 제스처 인식 결과 Table 3. Interaction gesture recognition results

 

VIII. 결 론

제안하는 프레임워크는 인식한 물체의 깊이 정보를 관리하는 것을 통해 가상으로 정적 요소들에 대한 깊이 영상을 합성하고 실제 사용자의 손 제스처 알고리즘을 수행해야하는 동적 요소들에 대한 깊이 영상을 합성하는 것을 통해 물체 인식과 손 제스처 인식 알고리즘이 각각 필요로 하는 정보를 분리하고 있다. 이렇게 정보를 분리하는 것을 통해 사용자의 손과 사물이 겹쳐져 있는 상황에서도 적절한 대응을 할 수 있는 기능을 제공하고 있어, 물체를 움직이거나 물체 위에서 손 제스처를 취하더라도 컴퓨터가 인식할 수 있음을 보여주었다. 또한 실시간성을 얻으면서 회전과 크기 변화에 강인한 물체 인식 알고리즘과 형상 정보를 활용한 손 제스처 인식 알고리즘을 통해 전체 프레임워크의 목표를 충분히 달성함을 보였다.

하지만 여전히 물체 인식 알고리즘에서 극단적으로 원근 투영된 물체에 대해서 물체 인식 성능이 떨어짐을 알 수 있었고, 물체의 종류에 따라서는 상관관계 값이 어중간하게 나와 알고리즘 성능이 충분하지 않음을 알 수 있었다. 물체 인식의 경우 제안하는 프레임워크에서 가장 큰 비중을 차지하는 부분이므로 이 부분을 개선할 경우 더 복잡한 조건 속에서 상호작용을 수행할 수 있을 것이라 예상하고 있다. 또한 아직은 상호작용 제스처의 종류가 비교적 간단한 몇 가지만 실험을 해보았었다. 조금 더 자연스러운 사람-사물 상호작용을 컴퓨터가 인식하기 위해서는 복잡한 제스처에 대한 인식 알고리즘이 반드시 필요할 것으로 보인다.

References

  1. Andrew D. Wilson, "Depth-sensing video cameras for 3d tangible tabletop interaction," Proceedings of Second Annual IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP'07), pp. 201-204, 2007.
  2. Matt Adcock, Stuart Anderson, and Bruce Thomas, "RemoteFusion: real time depth camera fusion for remote collaboration on physical tasks," Proceedings of the 12th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and Its Application in Industry (VRCAI'13), pp. 235-242, 2013.
  3. Zoran Zivkovic, "Improved adaptive Gaussian mixture model for background subtraction," Proceedings of the 17th International Conference on Pattern Recognition (ICPR'04), Vol. 2, pp. 28-31, 2004.
  4. Michael J. Swain, and Dana H. Ballard, “Color indexing,“ International Journal of Computer Vision, Vol. 7(1), pp. 11-32, 1991. https://doi.org/10.1007/BF00130487
  5. Berrnt Schile, and James L. Crowley, “Recognition without Correspondence using Multidimensional Receptive Field Histograms,“ International Journal of Computer Vision, Vol. 36(1), pp. 31-50, 2000. https://doi.org/10.1023/A:1008120406972
  6. Oskar Linde, and Tony Lindeberg, "Object recognition using composed receptive field histograms of higher dimensionality," Proceedings of the 17th International Conference on Pattern Recognition (ICPR'04), Vol. 2, pp. 1-6, 2004.
  7. Oskar Linde, and Tony Lindeberg, “Composed complex-cue histograms: An investigation of the information content in receptive field based image descriptors for object recognition,“ Computer Vision and Image Understanding, Vol. 116(4), pp. 538-560, 2012. https://doi.org/10.1016/j.cviu.2011.12.003
  8. David G. Lowe, "Object recognition from local scale-invariant features," Proceedings of the 7th IEEE International Conference on Computer Vision (ICCV'99), Vol. 2, pp. 1150-1157, 1999.
  9. David G. Lowe, “Distinctive image features from scale-invariant keypoints,“ International Journal of Computer Vision, Vol. 60(2), pp. 91-110, 2004. https://doi.org/10.1023/B:VISI.0000029664.99615.94
  10. Herbert Bay, Tinne Tuytelaars, and Luc Van Gool, "Surf: Speeded up robust features," Computer Vision-ECCV 2006, pp. 404-417, 2006.
  11. Herbert Freeman, and Ruth Shapira, “Determining the minimum-area encasing rectangle for an arbitrary closed curve,“ Communications of the ACM, Vol. 18(7), pp. 409-413, 1975. https://doi.org/10.1145/360881.360919
  12. Junyeong Choi, Byung-Kuk Seo, Daeseon Lee, Hanhoon Park, and Jong-Il Park, "RGB-D camera-based hand shape recognition for human-robot interaction," 44th International Symposium on Robotics (ISR'13), pp. 1-2, 2013.