DOI QR코드

DOI QR Code

Fingertip Touch Recognition using Shadow Information for General Wall Touch Screen

일반벽 터치 스크린의 손가락 터치 판별을 위한 그림자 정보의 사용

  • Received : 2014.09.01
  • Accepted : 2014.11.12
  • Published : 2014.12.30

Abstract

We propose an algorithm which detects the touch of the fingertip on a general wall using the shadow information. Nowadays, there is a demand for presentation systems which can perceive the presenter's action so that the presenter can use natural movements without extra interface hardware. One of the most fundamental techniques in this area is the detection of the fingertip and the recognition of the touch of the fingertip on the screen. The proposed algorithm recognizes the touch of the fingertip without using the depth information, and therefore needs no depth or touch sensing devices. The proposed method computes the convex hull points of both the fingertip and the shadow of the fingertip, and then computes the distance between those points to decide whether a touch event has occured. Using the proposed method, it is possible to develop a new projector device which can perceive a fingertip touch on a general wall.

Keywords

1. 서 론

최근 교실이나 발표장에서 스크린을 손으로 직접 터치하여 프레젠테이션을 할 수 있는 제품들이 다수 출시되고 있다 [1-9]. 특히, 센서를 부착하지 않은 일반적인 벽을 터치 스크린처럼 사용할 수 있는 기술들이 개발되고 있다. 이는 센서를 부착한 스크린이 달린 장소뿐만 아니라 장소에 구애받지 않고 인터액티브한 프레젠테이션을 할 수 있는 요구사항을 반영한 결과이다. 특히, 펜이나 마우스를 이용하지 않고 사람의 손이나 손가락을 인식하여 인터액티브한 프레젠테이션을 수행하고자 하는 요구사항이 커짐에 따라 이를 실현할 수 있는 기술들이 개발되고 있다[4,5]. 손을 인식하는 인터액티브 기술은 크게 손을 검출하는 기술, 손을 추적하는 기술, 그리고 손의 스크린 터치를 판단하는 기술로 구분될 수 있다. 손의 스크린 터치 여부를 판단할 수 있는 가장 쉬운 방법은 스크린 자체를 터치 센싱이 가능한 하드웨어로 구성하는 방법이다[6]. 그러나 이 경우, 하드웨어적으로 특별히 제작된 스크린이 아니면 터치를 센싱할 수 없다는 것이 한계점이다. 그러므로 최근에는 일반벽에 빔프로젝터로 스크린에 화면을 투사하더라도 카메라를 이용하여 스크린에 대한 영상정보를 취득하고 취득된 영상정보에 대해 영상처리를 수행하여 손의 검출, 추적, 터치여부를 판단하는 알고리즘의 개발이 이루어지고 있다.

그러나 손의 검출과 추적은 2차원적인 영상정보를 가지고도 가능하나, 손의 터치여부의 판단은 손의 깊이정보를 알아야 하기 때문에 영상정보만 가지고 손의 터치여부를 판단하는 것은 매우 어려운 기술이다. 이 때문에 손의 스크린 터치여부를 판단하는 문제는 난제로 남아 있다.

이 때문에 일각에서는 마이크로소프트(Microsoft)사가 개발한 키넥트로 얻은 RGB영상과 깊이영상으로부터 손을 검출하고 터치를 인식하는 터치스크린 기술을 사용한다[7,8]. 이러한 기술은 키넥트를 이용해 오차 없이 입력이 가능하다. 기존에 활용하던 빔 프로젝트와 키넥트만 있다면 벽이든 천장이든 원하는 곳을 터치스크린으로 만들 수 있는 기술로 각광받고 있다(Fig. 1).

Fig. 1.General wall touch system screen using Kinect sensor (adopted from www.ubi-interactive.com).

키넥트를 이용한 방법 외에, 즉 영상의 깊이 값을 계산해주는 별도의 하드웨어 장치 없이, 적외선 장치만을 이용해서 일반적인 벽을 터치스크린으로 만드는 방법이 있다. 이중에서 가시광선 조명의 변화에 영향을 받지 않는 적외선(IR)을 이용하는 방식이 많이 사용되고 있다. 이에는 크게 두 가지 방식이 사용되고 있는데 첫 번째 방식은 적외선광을 내는 적외선 펜을 사용하는 방식으로 적외선 펜이 발생시키는 적외선광을 적외선센서가 인식하여 적외선펜의 위치를 추적하는 방식이다. 적외선펜이 발생시키는 적외선광은 적외선센서에 의해 취득된 영상에서 하나의 점 영역으로 나타나고 Fig. 2(a), 이 점 영역의 중심점을 펜의 핀 포인트로 결정한다[10].

Fig. 2.Showing the calculation method of the point of interest of the IR pen touch screen (a) point region lightened by the IR pen (b) Obtaining the center point of the point region shown in (a). The center point is obtained by taking the center of the top, bottom, left, and right point of the point region in (a).

그런데 적외선펜을 사용하는 방법으로는 적외선펜의 발광점은 검출이 가능하나 그 발광점에 대한 깊이정보가 없기 때문에 벽면을 터치하는 여부를 판단하기가 어렵다. 두 번째 방식은 적외선 투광기를 통해 적외선 광을 스크린에 투사하는 방식으로 적외선 반사광을 적외선 센서가 인식하고 적외선 영상을 구성한 후 이 적외선 영상에 영상처리 기법을 사용하여 움직임이나 터치의 여부를 판별하는 것이다. 본 연구에서는 이 방법을 사용하여 벽터치 스크린을 구현하였으며, 이때 상대적으로 어려운 터치의 판별이 가능하기 위해 그림자 정보를 사용하였다.

 

2. 그림자 정보를 이용한 벽터치 스크린

손가락이 벽을 터치한 여부를 판단하기 위해서는 먼저 손가락을 추출해야 한다. 손가락영역을 추출한 후에는 손가락끝 부분이 벽을 터치했는지를 판단하는 알고리즘을 적용하여 터치여부를 판단한다.

2.1 시스템 구성

전체 시스템의 하드웨어 구성은 적외선 투광기, 적외선 카메라, 빔프로젝터로 이루어진다(Fig. 3(a)). 빔프로젝터로 벽면에 프레젠테이션 파일을 띄우는데, 적외선 카메라를 통해서 취득된 적외선 영상에는 프레젠테이션 등은 보이지 않고 손과 그림자만 보이게 된다(Fig. 3(b)). 이때 그림자 영역이 더 선명하게 보이도록 하기 위해 벽에 빔 프로젝트의 광선만이 아니라 적외선 투광기를 사용하여 추가의 적외선 광선을 투영한다. 이때 투광기 빛과 방향을 잘 조절하여 그림자와 손 영상이 적외선 센서를 통해 잘 취득되게 만드는 것이 필요하다.

Fig. 3.Proposed wall touch system (a) hardware configuration (b) Infrared frame obtained by the system of (a). The content projected by the beam projector becomes invisible in the IR frame.

이렇게 취득된 적외선 영상에 대해 배경모델링을 수행하게 되면 아무것도 없는 하얀 벽면영상을 얻게 된다. 배경모델링을 수행해도 되지만, 초기에 사람이 들어가 있지 않은 영상을 배경영상으로 사용하여도 된다. 이 배경 영상과 현재 적외선 영상 프레임간의 차를 통해 손과 그림자만 나타나는 영상을 얻게 된다(Fig. 3(b)).

2.2 손가락 및 손가락 그림자 끝 포인트의 추출

손가락 끝 포인트의 추출은 볼록껍질(Covex hull) 알고리즘에 의해 추출된다. 임의의 포인트들로 구성된 집합 S의 볼록껍질들이란 집합 S의 모든 포인트들로 만들어질 수 있는 모든 볼록조합의 집합을 말한다. 집합 S의 각 점 xi들은 αi 가중치가 부여되는데, 가중치의 합이 1이 되도록 부여된다. 이 가중치 αi들의 값을 변화시킴으로써 다양한 볼록껍질을 만들어낼 수 있다. 이것을 식으로 표현하면 다음과 같다.

볼록껍질 알고리즘이란 상기의 식 (1)에 의해 구성되는 여러개의 볼록껍질들 중에서 나머지 모든 포인트들을 선택한 몇 개의 포인트들이 만드는 볼록 다각형의 내부에 있게 하는 알고리즘이다[11-13]. Fig. 4는 볼록껍질 알고리즘을 일반적인 카메라로 취득한 손 영상에 대하여 수행한 결과를 보여주고 있다. 그림에서 분홍색 포인트들은 볼록껍질 포인트를 나타내며, 손가락을 편 상태에서는 손가락 끝 포인트들이 볼록껍질 포인트로 추출된다. 반대로 오목한 부분들인 오목(defect)포인트들(Fig. 4의 노란색 점들)의 추출도 볼록껍질 알고리즘에 의해 가능하다.

Fig. 4.Showing the convex points and defect points obtained by the convex hull algorithm on a RGB frame.

손 터치의 여부를 판별하기 위해서는 손가락의 끝 포인트뿐 아니라 손가락 그림자의 끝 포인트의 추출도 필요하다. 손가락 그림자의 끝 포인트가 더 선명하기 때문에 오히려 손가락 그림자의 끝 포인트 추출을 먼저 수행하고, 다음에 손가락 그림자의 끝 포인트를 중심으로 주변영역에 손가락 끝 포인트의 위치를 확인하여 손가락 터치 여부를 판단하게 된다.

보통 사람은 발표 자료를 손가락으로 포인팅하고, 이때 포인팅하는 손가락이 가장 좌측 (또는 우측)에 튀어나오게 되므로 검출한 그림자 영역의 볼록(convex) 포인트 중 가장 좌측에 있는 포인트를 손가락 끝의 그림자로 검출한다. 하지만 이 경우 그림자 영역이 여러 개가 나오므로 그림자 영역 갯수 만큼의 좌측 포인트가 생긴다(Fig. 5(a)). 그 중 x좌표값이 가장 큰 좌측(또는 우측) 포인트만 남기고 나머지 포인트들은 지운다. 이는 가장 좌측(또는 우측)에 있는 그림자영역의 볼록 포인트가 손가락의 끝 포인트이라는 가정에 기반을 둔다. 다음에 이 포인트를 중심으로 검색영역을 설정한다(Fig. 5(b)). 차후에 이 검색영역 내부에서 손가락의 끝 포인트를 검색하여 손가락 그림자의 끝 포인트와의 거리를 계산하게 된다. 그림자나 잡음으로 인해 잘못된 볼록 포인트들도 생기는데, 이 포인트들은 영상에 대해 간단한 모폴로지 필터링을 수행하여 제거한다.

Fig. 5.Convex points of the shadow regions in the IR frame (a) showing the convex points (blue dots) of the shadow regions (b). showing only the most right convex point of the shadow region.

다음으로 손가락 끝 포인트를 추출하기 위해서는 우선 그림자영역을 지워야 한다. 그림자 영역은 밝기 값이 작다는 사실을 이용하여 이진화(thresholding)을 수행하면 대부분의 그림자 영역을 어느 정도 제거할 수 있다. 다만 그림자의 가장자리 부분이 약간씩 남아 있게 되는데, 남아 있는 그림자의 가장자리 부분은 미디안 필터링(Median filtering)을 사용하여 제거한다. Fig. 6(b)는 Fig. 6(a)의 영상에 이진화와 미디언 필터링을 수행하여 그림자영역을 제거한 영상이다. 이 영상에 대해 직접, 또는 차분 영상을 얻은 후에 다시 볼록 껍질 알고리즘을 수행하여 볼록 포인트를 찾으면 손가락 끝 부분의 포인트를 검출할 수 있다.

Fig. 6.Showing the convex points of the fingertip (red point), the shadow of the fingertip (green point), and the defect point between the finger and and the shadow region (blue point) in (a) the IR frame (b) the shadow removed IR frame.

2.3 벽터치 여부 판단

손가락으로 벽을 터치하게 되면 이론적으로는 손가락의 끝 포인트와 손가락 그림자의 끝 포인트가 한 점에서 만나게 된다. 그러므로 손가락이 벽을 터치했는지의 여부를 손가락의 끝 포인트와 손가락 그림자의 끝 포인트가 얼마나 가까와졌는지로 판단할 수 있다. 즉, 손가락의 끝 포인트와 손가락 그림자의 끝 포인트간의 거리를 계산하여 그 거리가 일정 수준보다 짧으면 손가락이 벽을 터치한 것으로 판단할 수 있다.

그런데 실제로 실험하다보면 그림자영역을 완벽하게 제거하지 못하여 남은 잔상 때문에, 그리고 조명의 각도에 의한 영향 때문에 손가락 끝 포인트와 손가락 그림자의 끝 포인트만으로는 터치여부가 제대로 판단이 되지 않을 때가 있다. 이를 보완하기 위해 손가락과 손가락 그림자가 만드는 오목 포인트를 하나 추가로 추출한다(Fig. 6). 손이 벽을 터치하여 손가락과 손가락 그림자의 끝점들이 가까와지면 이 오목 포인트도 같이 가까와지게 된다.

그러므로, 손가락 끝 포인트, 손가락 그림자 끝 포인트, 오목 포인트의 세 개의 포인트 간의 거리가 충분히 가까워졌을 때 이를 벽을 터치한 것으로 간주한다. 즉,

일때 벽을 터치한 것으로 판단한다. 여기서 Psh은 손가락 그림자의 끝 포인트의 위치벡터, PC는 손가락 끝 포인트의 위치벡터, 그리고 PD은 오목 포인트의 위치벡터를 나타내며 Th은 사전에 설정해둔 임계값을 나타낸다.

2.4 전체 알고리즘

Fig. 7은 제안한 방법의 전체 알고리즘의 순서도를 나타낸다. 제안한 방법의 처리과정을 정리하면 다음과 같다:

Fig. 7.Overall flowchart of the proposed system.

1. 적외선 투광기로 적외선 빛을 벽면에 투영하고 적외선 카메라로 벽면에 대한 적외선 영상(IR)을 취득한다.

2. 적외선영상에 대하여 손가락과 손가락 그림자가 만드는 오목영역의 오목 포인트(PD)을 추출한다. 여러개의 오목 포인트들이 나올 수 있으나 그 중에 가장 좌측(또는 최우측)에 있는 포인트만 선택한다. 하기의 손가락 그림자의 끝포인트와 손가락의 끝 포인트에 대해서도 가장 좌측(또는 우측)에 있는 포인트만 선택한다.

3. 적외선영상에 대하여 배경모델링을 수행하여 배경영상(IB)을 얻는다.

4. 배경영상(IB)과 현재 적외선 영상 프레임(IR)간의 차분을 수행하여 차분영상(ID)을 얻는다.

5. 차분영상(ID)에 대하여 볼록껍질(Convex Hull) 알고리즘을 수행하여 손가락 그림자의 끝 포인트(PSh)를 추출한다.

6. 차분영상(ID)에 대하여 이진화(Thresholding)와 미디안(Median) 필터링을 수행하여 그림자영역을 제거한 차분영상(ID,M)을 얻는다.

7. 그림자영역이 제거된 차분영상에 대해 볼록껍질(Convex Hull)알고리즘을 수행하여 손가락 끝 포인트(PC)를 얻는다.

8. 상기의 과정을 통해 얻은 포인트 PD,PSh,PC에 대하여 판별식 (2)를 수행하여 터치한 여부를 판단한다. 즉, PD,PSh,PC가 충분히 가까와졌다면 벽을 터치한 것으로 판단한다.

Fig. 8은 위의 알고리즘을 사용하여 손가락 터치로 움직이는 게임을 대해 벽면에 투사된 영상으로 실행하는 장면을 보이고 있다. 본 논문에서는 제안한 방법으로 만든 벽터치 스크린을 손가락으로 터치하여 3가지 종류의 게임을 실행한 결과와 일반 PC에서 마우스로 게임을 실행한 결과를 비교함으로써 제안한 알고리즘의 성능을 확인하였다. 다른 터치 스크린들과의 비교실험을 수행하는 것이 더 타당하나, 그럴려면 타사의 터치 스크린 시스템을 구성해야 하는 어려움이 있어 일반적인 PC 마우스 시스템과의 비교를 수행하였다. 사용한 투광기는 야간투시거리가 50 미터이내이고, 방사각이 45도인 저급 적외선 투광기이며, Window7 운영체제의 2.0GHz CPU를 탑재한 PC를 사용하였다. 빔 프로젝터는 2000안시의 소형빔 프로젝터인 소니 VPL-CX70를 사용하였다. 게임을 이용한 이유는 게임이 터치의 성공률을 점수화하여 나타내주기 때문이다. 게임의 점수는 터치의 판별속도, 판별의 정확성 등에 의해서 좌우되기 때문에 속도, 정확성의 성능을 모두 반영한다고 볼 수 있다. 물론 알고리즘 자체의 성능보다 벽터치와 마우스의 사용의 차이에 의해 결과가 좌우된다고 볼 수도 있으나, 조건이 같다고 가정하고 수치화하였다. 게임의 점수는 같은 사용자가 마우스 시스템과 제안한 벽터치 스크린을 사용하여 같은 게임을 여러번 수행한 결과점수를 평균화하여 계산하였다. Table 1은 3가지 다른 종류의 게임에 대해 마우스의 클릭과 터치의 정확성 및 속도를 비교하였다. 비교 성능률(Comparative Performance Ratio)은 마우스 시스템에 대한 제안한 벽터치 스크린의 터치성공률의 비를 나타낸다. 표를 통해 확인할 수 있듯이 제안한 시스템은 상당한 안정성 및 터치 성공률을 나타낸다고 할 수 있다. 제안한 시스템의 터치 성공 인식 범위의 거리는 스크린의 크기가 가로 80cm, 세로 60cm일 경우 약 0.2cm이내이며, 이는 스크린 대비 약 1/400의 정확도를 보이고 있으며, 터치한 순간부터 인식되기까지의 인식에 걸리는 시간은 평균 0.13초이다.

Fig. 8.Screenshot of playing a touch game with the proposed wall touch system.

Table 1.Comparison of the proposed wall touch system and the conventional mouse clicking system using games. The Screen width and height are 80cm and 60cm, respectively

 

3. 결 론

그림자 정보를 사용하지 않았을 때의 알고리즘의 복잡함과 성능과 비교할 때 그림자 정보를 사용하였을 때 손가락의 터치 여부가 쉽게 판별이 됨을 볼 수 있었다. 제안한 방법은 어느 장소에서나 별도의 복잡한 하드웨어 구성없이 손가락을 사용되는 벽 터치 스크린 응용에 쉽게 적용될 수 있을 것으로 보인다. 제안한 알고리즘을 사용하여 기존의 단순 빔프로 젝터에 적외선 투광기와 적외선 카메라를 내장하여 손가락 터치를 인식하는 새로운 빔 프로젝터 제품의 개발도 가능해질 것으로 보인다. 다만, 적외선 투광기와 적외선 카메라가 추가되므로 하드웨어 비용이 높아질 수 있을 것으로 예상된다.

References

  1. A. Sears, C. Plaisant, and B. Schneiderman, "A New Era for High Precision Touchscreens," Advances in Human-Computer Interaction, Vol. 3, pp. 1-33, 1992.
  2. B. Shneiderman, "Touch Screens Now Offer Compelling Uses," IEEE Software, Vol. 8, No. 2, pp. 93-94, 1991. https://doi.org/10.1109/52.73754
  3. A. Sears and B. Shneiderman, "High Precision Touchscreen: Design Strategies and Comparison with a Mouse," International Journal of Man-Machine Studies, Vol. 34 No. 4, pp. 593-613, 1991. https://doi.org/10.1016/0020-7373(91)90037-8
  4. A. Holzinger, "Finger Instead of Mouse: Touch Screens as a Means of Enhancing Universal Access," Lecture Notes in Computer Science, Vol. 2615, pp. 387-397, 2003.
  5. S.A.H. Shah, A. Ahmed, I. Mahmood, and K. Khurshid, "Hand Gesture based User Interface for Computer using a Camera and Projector," Proceeding of 2011 IEEE International Conference on Signal and Image Processing Applications, pp. 168-173, 2011.
  6. Interactive Touch Screen, http://www.touchscreensolutions.com (accessed July, 10, 2014)
  7. Make the World your Touch Screen, http://www.ubi-interactive.com (accessed June, 24, 2014)
  8. Turn any Surface into a Touch Screen, http://www.touchlesstouch.com (accessed July, 10, 2014)
  9. The Projector Comes with Built-in White Board, http://www.iscom.co.kr (accessed July, 14, 2014)
  10. 김남우, 이승재, 이준재, 이병국, "영상처리 기반의 레이저 포인터 인터랙션 시스템," 멀티미디어학회논문지, 제11권 제3호, pp. 1373-385, 2008.
  11. R.L. Graham, "An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set," Information Processing Letters, Vol. 1, pp. 132-133, 1972. https://doi.org/10.1016/0020-0190(72)90045-2
  12. L. Devroye and G. Toussaint, "A Note on Linear Expected Time Algorithms for Finding Convex Hulls," Computing, Vol. 26, pp. 361-366, 1981. https://doi.org/10.1007/BF02237955
  13. C.B. Barber, D.P. Dobkin, and H. Huhdanpaa, "The Quickhull Algorithm for Convex Hulls," ACM Transactions on Mathematical Software, Vol. 22, Issue 4, pp. 469-483, 1996. https://doi.org/10.1145/235815.235821