Advanced
HSV Color Model based Hand Contour Detector Robust to Noise
HSV Color Model based Hand Contour Detector Robust to Noise
Journal of Korea Multimedia Society. 2015. Oct, 18(10): 1149-1156
Copyright © 2015, Korea Multimedia Society
  • Received : June 08, 2015
  • Accepted : August 12, 2015
  • Published : October 30, 2015
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
수환 채
Dept. of Embedded Systems Eng., Incheon National University (E-mail :tog89@inu.ac.kr)
경구 전
Dept. of Embedded Systems Eng., Incheon National University

Abstract
This paper proposes the hand contour detector which is robust to noises. Existing methods reduce noises by applying morphology to extracted edges, detect finger tips by using the center of hands, or exploit the intersection of curves from hand area candidates based on J-value segmentation(JSEG). However, these approaches are so vulnerable to noises that are prone to detect non-hand parts. We propose the noise tolerant hand contour detection method in which non-skin area noises are removed by applying skin area detection, contour detection, and a threshold value. By using the implemented system, we observed that the system was successfully able to detect hand contours.
Keywords
1. 서 론
영상에서 손 윤곽을 검출하는 것은 쉽지 않은 문제이다 [1 , 2] . 손 윤곽을 찾아내기 위해서는 먼저 피부 영역을 검출하는 것이 필요하다 [3] . 하지만 피부 영역이 검출되더라도 손 모양 자체의 복잡성 때문에 윤곽을 정확히 검출하는 것은 쉽지 않으며, 노이즈와 신체의 다른 영역과의 겹침 등에 영향을 받는다 [4] .
기술적 어려움에도 불구하고 손 윤곽 추출 기술은 위치 추적, 그리고 동작 추적 및 인식 등에 다양하게 이용될 수 있어 여러 연구가 진행되고 있다. [5] 는 영상에서 손의 윤곽을 케니 에지 [6] 로 검출한 후 모폴로지 방식 [7] 으로 노이즈를 제거한다. 하지만 이 과정에서 손의 윤곽의 일부도 제거될 수 있어, 노이즈가 발생할 경우 사용이 어렵다. [8] 은 HSV 공간을 사용해서 손을 검색 한 후, 손의 무게중심점을 이용해서 손끝을 찾는 방식이다. 하지만, 손에 노이즈가 발생할 경우 노이즈를 손끝으로 오검출 하는 단점이 있다. [9] 는 JSEG 영상분할을 활용하여 손의 후보군들을 검색한다. 각 후보군들에 대해 내부에 곡선을 그려 교점 5개가 있는 후보군을 최종 손 영역으로 검출한다. 하지만 손에 방울 형태의 노이즈가 발생하게 될 경우 곡선의 교점이 제대로 형성되지 못하게 되어 손 영역을 검출하지 못하는 단점이 있다.
[10] 은 검출된 손 영역에 대해 피부색 검증을 통해 일정 비율 이상의 피부색일 경우만 손으로 검출하는 방식이다. 하지만 손에 노이즈가 많이 발생하거나 조도로 인해 손 영역의 피부색이 제대로 검출되지 못할 경우 손으로 검출되지 못하는 단점이 있다. [11] 은 컬러 공간을 통해 손을 검출하는 방법으로 같은 피부색의 얼굴 및 신체의 다른 부위가 검출되는 문제가 발생한다. [12] 는 Histogram of Orientation Gradient–Support Vector Machine (HOG-SVM) 방식을 통해 사용자의 어깨 머리 부분을 검출한 후, 검출 영역으로부터 일정 거리 이하의 피부 영역을 검출한다. 검출된 피부 영역에 HOG-SVM 방식을 통해 최종 손을 검출한다. 하지만 이 방법은 손을 검출하기 전에 머리와 어깨 부분을 검출하는 단계에서 HOG-SVM을 사용하기 때문에 정확도가 향상되는 장점이 있지만 수행 속도가 오래 걸리는 단점이 있다. [13] 은 전처리 과정을 통해 손 영역을 분할한 후, Self Organized Feature Map (SOFM) 방식을 통해 손을 검출하는 방식이다. 하지만 손 영역을 분할하기 위한 전처리 과정에서 일정 시간의 영상 취득을 통한 배경을 선정하기 때문에 실시간 손 검출이 불가능한 단점이 있다.
본 논문에서는 기존 방식들의 단점을 보완하여 노이즈가 존재하는 상황에서 손 윤곽을 검출할 수 있는 시스템을 제안한다. 이를 위해 케니 에지로 검출된 윤곽에 대해서 윤곽선 검출 방식 [14 , 15] 을 적용한다. 윤곽선 검출을 통해 손 영역 안에 생기는 노이즈 영상들을 제거할 수 있기 때문이다. 또한 손 윤곽 추출의 임계값을 통해 손이 없는 영상의 노이즈에 대해서 오검출을 낮추었다.
본 논문은 다음과 같이 구성된다. 2장에서는 윤곽선 검출 방법을 적용하여 노이즈가 있는 상황에서 손 윤곽을 검출하는 시스템에 대해 설명한다. 3장에서는 실험을 통해 제안 방법의 성능을 검증한다. 4장에서는 논문을 결론짓는다.
2. 노이즈에 강한 특징을 갖는 손 윤곽 검출 방법
Fig. 1 은 제안하는 손 윤곽 검출 시스템의 순서도를 보여준다. 첫 번째 단계에서는 피부색 영역을 검출하기 위한 마스크를 생성한다. 입력된 영상을 HSV 변환 [16] 시키고 지정된 범위에 해당하는 픽셀 값을 갖는 영역만을 추출하여 마스크를 만든다. 두번째 단계에서는 원본 영상에 마스크를 적용하여 피부 영역만을 검출하여 피부색상 의외 노이즈를 제거한다. 세 번째 단계에서는 검출된 영역을 그레이스케일 변환시킨 후, 케니 에지 검출과 윤곽선 검출을 차례로 적용하여 피부 색상의 다양한 노이즈 속에서 손 윤곽만을 찾아낸다.
PPT Slide
Lager Image
Flowchart of hand contour detection.
피부 영역 검출에 사용되는 HSV 공간에 대해 간략히 설명한다. HSV 공간은 RGB 색깔 공간의 형태를 색상, 채도, 명도의 형태로 변형시킨 것이다 [17] . 색상은 빨강에서 보라색까지 (0° ≤ Hue <360°)의 범위로 구성된다. 채도는 각 색상의 진하기 정도를 (0 ≤ Saturation <100)의 범위로 표현한 형태로 0에 가까울수록 무채색에서 100에 가까울수록 진해진다. 명도는 색상의 밝기를 (0 ≤ Value <100)의 범위로 표현한 형태로 0을 검정으로 하여 100의 흰색에 이르기까지의 밝기 정도를 나타낸다.
HSV 공간을 사용하면 영상에서 원하는 색만을 검출할 수 있다. 또한, 단일 색이 아닌 범위 안에 포함되는 색을 검색해 주기 때문에 조도 및 노이즈 환경에서도 높은 검출 율을 나타낸다. 또한, 모든 사람은 공통적으로 붉은색 계열의 색을 포함하기 때문에 황인, 백인, 흑인의 피부색에 상관없이 피부를 검출할 수 있다 [18] . 이 때문에 기존 RGB 색깔 공간보다 색상 정보를 활용 가능한 HSV [19] , YCgCb [20 , 21] 방식을 사용하는 것이 피부 영역 검출에 유리하다.
영상 내 곡선을 나타내는 점들의 리스트인 외곽선은 Fig. 2 와 같이 4가지 방식 중 하나로 저장된다. 가장 바깥쪽에 나타나는 외곽선만을 저장하거나(i), 모든 외곽선에 대해서 계층 구조로 저장하거나(ii), 외곽선을 두 개의 계층으로 나누어 저장하거나(iii), 외곽선을 리스트로 구성하여 저장하는 방식(iv)으로 나눌 수 있다. Fig. 2(a) 는 검출된 외곽선을 보여주고, Fig. 2(b) 는 해당하는 4가지 저장 방식을 나타낸다.
PPT Slide
Lager Image
(a) Contour line mark and (b) data storage format of contour line.
Fig. 3 은 전체 윤곽선들 중 손의 윤곽선을 검출하는 과정의 순서도이다. 본 논문에서는 가장 바깥쪽에 나타나는 외곽선만을 사용하여 손 윤곽을 검출한다. 그렇지 않을 경우 손 영역 내부에 있는 외곽선들이 검출되어 노이즈로 영향을 주기 때문이다. 또한 내부에 있는 노이즈 자체가 외곽선으로 오검출 되는 경우가 있기 때문이다.
PPT Slide
Lager Image
Flowchart of detecting hand contour in total contours.
이러한 방식을 사용했음에도 불구하고 손 윤곽이 오검출 되는 경우를 최소화하기 위해 임계값을 사용한다. 임계값을 설정하기 위한 실험은 다양한 방법으로 수행되었다. 임계값을 설정하기 위해 고려해야 할 사항은 손의 모양에 따른 윤곽선의 픽셀 개수이다. 이를 방지하기 위해 외곽 윤곽선의 길이가 임계값 n 픽셀 이상일 경우에만 손 윤곽으로 추출한다.
임계값은 손의 모양의 기준에 근거하여 설정되었다. 손의 모양이 가장 큰 경우는 손가락 및 손바닥이 겹치지 않았을 때이다. 따라서 이와 반대로 가장 작은 경우는 최대한 겹치게 할 때이다. 따라서 주먹 모양일 때의 윤곽선 픽셀 데이터의 통계 수치에 기반을 두어 임계값을 설정하였다.
Fig. 4 는 손 윤곽 검출 과정 수행에 따른 중간 결과들을 순서대로 보여준다. Fig. 4(a) 에서 Fig. 4(c) 는 손의 윤곽선을 검출하는 과정의 첫 번째 단계로 피부를 검출하기 위한 마스크 영상을 생성한다. Fig. 4(d) 는 두 번째 단계로 첫 번째 단계에서 생성된 마스크 영상을 통해 피부를 검출한다. E-G는 마지막 세 번째 단계로 피부 검출된 영역을 통해 손의 윤곽을 검출하게 된다.
PPT Slide
Lager Image
Sequence of hand contour detector, (a) Original image, (b) HSV image, (c) Mask image, (d) Skin detection image, (e) Gray image, (f) Canny-edge image, (g) Hand contour detection image.
주어진 Fig. 4(a) 에 대해, HSV 변환을 적용하면 Fig. 4(b) 를 얻는다. Fig. 4(c) 는 피부 영역 검출을 위한 HSV 픽셀 값을 이용한 마스크이다. 마스크는 HSV 공간으로 변형된 영상에서 피부 범위로 설정된 값에 해당하는 픽셀을 제외한 나머지 픽셀을 0으로 설정한다. 따라서 검게 표시된 부분이 피부 영역을 나타낸다. Fig. 4(d) 는 원본 영상에 마스크를 적용하여 얻을 수 있으며, 피부 영역만이 검출된다. 이를 위해 원본 영상에 마스크를 논리 AND 비트 연산자로 적용시키면 피부로 인식된 영역만 남게 되고, 나머지 부분은 모두 검은색이 된다.
피부 영역만을 추출한 Fig. 4(d) 로부터 손 윤곽을 추출하는 과정은 다음과 같다. Fig. 4(e) Fig. 4(d) 를 그레이 스케일 변환한 결과이고, Fig. 4(f) 는 이로부터 케니 에지를 찾아낸 결과이다. 케니 에지로 검출된 Fig. 4(f) 에 윤곽선 검출 방법을 통해 많은 윤곽선을 찾게 되지만 그중에서 특정 임계값 조건을 만족시키는 윤곽선을 손 윤곽으로 판별하며 결과는 Fig. 4(g) 이다.
3. 실험 및 결과 분석
본 장에서는 제안한 손 윤곽선 검출 시스템을 구현하여, 성능을 평가하기 위한 실험을 진행한다. Fig. 5 는 실험을 위한 환경을 보여준다. PC에 웹캠을 설치하여 1 m 이내의 거리에서 실험하였다. 하드웨어적으로 HD 해상도(1920*1080)의 웹캠과 Linux 기반 PC로 구성되며, 소프트웨어는 OpenCV 3.0 BETA [22] 라이브러리를 사용하여 C++ 언어로 작성되었다.
PPT Slide
Lager Image
Experiment environment.
Table 1 은 본 실험에서 적용된 인자 값들을 나타내고 있다. 피부 영역 추출에 사용한 HSV 인자 값들( H , S , V )은 붉은색 계열의 범위(빨강, 주황, 노랑, 연두)에 적합하게 설정하였으며, 노이즈 제거에 사용되는 임계값( TH )은 수집된 실험 데이터의 통계치를 근거로 하여 설정하였다.
Set parameters of experiment
PPT Slide
Lager Image
Set parameters of experiment
Fig. 6 은 Idiap [23] 연구 기관에서 제공하는 손 데이터베이스의 데이터를 통해 실험하였으며 손 윤곽 검출 결과를 나타내고 있다. Idiap는 인간과 의학 관련 컴퓨팅을 연구하는 기관으로 스위스에 위치하고 있다. 본 기관에서 제공하는 데이터는 노이즈는 많이 존재하지 않지만 다양한 손 모양이 존재하며 정확하게 검출되는 결과를 얻을 수 있었다.
PPT Slide
Lager Image
The results of hand contour detection using static hand posture databases.
Fig. 7 은 다양한 손동작 영상에 대해 제안 방법을 사용해 윤곽을 검출한 결과를 보여준다. 실험자는 웹카메라의 실시간 스트리밍을 통해 네 가지 서로 다른 손 모양을 제시하였다. 손을 검출하는 시간은 약 200 msec 로 초당 5 frame 의 수행 속도를 나타낸다. 또한 실험 영상에는 손 이외에도 유사한 색상의 물체, 즉 실험자의 얼굴 등 오검출을 유도할 수 있는 다양한 노이즈가 존재한다. 노이즈를 제거하는 임계값 처리를 이용하여 손이 아닌 다른 피부 영역을 필터링할 수 있었다. 또한 임계값은 다양한 손동작에 대해서도 적용될 수 있음을 알 수 있다.
PPT Slide
Lager Image
The results of hand contour detection in real-time video streaming.
Fig. 8 은 임의의 노이즈를 생성시킨 환경에서도 제안 방법이 기존 논문들의 방법보다 손 검출에 있어 우수함을 보여준다. 의도적인 노이즈 생성을 위해 손바닥의 여러 부분에 피부색과 다른 색깔의 테이프를 부착하였다. 이 경우 손바닥 영역 안에 부가적인 윤곽선이 검출되어 손바닥 전체를 인식하는데 어려움이 생긴다. 에지와 모폴로지를 사용한 기존 방식 [5] Fig. 8(b) 처럼 손의 윤곽 이외에도 얼굴 형태 및 손안의 노이즈에 대한 윤곽도 구성되었으며 윤곽선을 검출할 경우 다른 큰 윤곽선의 오검출 및 손의 윤곽선 검출에 대한 낮은 정확도를 나타냈다.
PPT Slide
Lager Image
The hand contour detection result of (a) the original images and (b) the existing method and (c) the proposed method.
또한, 무게중심을 이용하여 손 영역을 추출하는 방식 [8] 은 전체적인 노이즈로 인해 전체적인 손 윤곽이 정확히 나타나지 않기 때문에 손의 무게중심을 찾는 단계부터 오검출이 많이 발생했으며, 원 레이블링 작업을 통해 손끝 특성을 검출하는 단계에서도 노이즈가 손끝 특성으로 검출됐다. 또한, JSEG를 이용한 방식 [9] 은 손 영역의 노이즈로 인해 생성한 곡선으로부터 다섯 개의 교점을 얻지 못하는 결과로 인해 손을 검출하지 못한다. 반면 제안 방식은 Fig. 8(c) 처럼 손의 윤곽만 검출하였다. 이를 통해 제안 시스템이 노이즈에 강인함을 알 수 있다.
4. 결 론
본 논문에서는 영상처리를 이용한 손 윤곽 검출 시스템을 제안하였다. 기존 방식은 에지만을 검출하거나 손의 무게중심으로부터 손끝을 검출하기 때문에 노이즈가 발생할 경우 손 검출 정확도가 낮다. 따라서 동작 인식 및 추적 등의 다양한 알고리즘에 응용하기 힘들다. 본 논문에서는 손의 윤곽만을 검출하기 때문에 노이즈에 대해 기존 방법보다 장점을 보인다. 따라서 손을 통한 다양한 알고리즘에서 사용 가능할 것으로 기대된다. 향후 연구에서는 복수 개의 손 검출에 관한 연구와 검출된 손 윤곽에 PCA(주성분 분석), ANN(인공신경망), 패턴 매칭, 특징점 매칭 등의 다양한 방법을 적용하여 동작 인식 및 추적을 수행할 것이다.
Acknowledgements
※ This research was supported by Industry-University Lab program through Songdo Industry Complex Campus of Incheon National University in 2014.
BIO
채 수 환
2014년 2월 인천대학교 임베디드 시스템공학과 학사
2014년 2월~현재 인천대학교 임베디드시스템공학과 석사과정
관심분야 : 영상처리, 임베디드시스템
전 경 구
1996년 2월 서강대학교 전자계산학 학사
1998년 5월 M.S. in Computer Science, Purdue Univ.
2001년 5월 Ph.D. in Computer Science, Purdue Univ.
2001년 6월~2001년 12월 Ashley Laurent Inc. SW engineer
2002년 1월~2004년 2월 삼성전자 책임연구원
2004년 3월~인천대학교 임베디드시스템공학과 교수
관심분야 : 영상처리, 임베디드시스템, 네트워킹 등
References
Lee C. , Kim D. 2014 “Hand Shape Classification using Contour Distribution,” Journal of Institute of Control, Robotics and System 20 (6) 593 - 598    DOI : 10.5302/J.ICROS.2014.14.9031
Park M. , Kang S. , Chae O. 2011 “Robust Hand Detection and Tracking using Sensor Fusion,” Journal of Information Science 21 (2) 163 - 164
Vezhnevets V. , Sazonov V. , Andreeva A. 2003 “A Survey on Pixel-Based Skin Color Detection Techniques,” Proceeding of Graphicon 3 85 - 92
Yan W. , Hu C. , Yu G. 2012 “A Robust Method of Detecting Hand Gestures using Depth Sensors,” Proceeding of IEEE International Workshop on Haptic Audio Visual Environments and Games 72 - 77
Konwar A.S. , Borah B.S. , Tuithung C.T. 2014 “An American Sign Language Detection System using HSV Color Model and Edge Detection,” Proceeding of International Conference on Communication and Signal Processing 743 - 747
Ding L. , Goshtasby A. 2001 “On the Canny Edge Detector,” Pattern Recognition 34 (3) 721 - 725    DOI : 10.1016/S0031-3203(00)00023-6
Cho S. , Lee S. 2014 “Automatic Detection Method for Mura Defects on Display Films Using Morphological Image Processing and Labeling,” Institute of Electrical and Electronic Engineers 18 (2) 234 - 239
Seo H. , Kim H. , Joo Y. 2011 “Feature Extraction of Hand Region using Center of Gravity,” Processing of Korean Institute of Intelligent Systems Fall Conference 21 (2) 163 - 164
Yoo J. , Kang D. 2012 “Hand Region Detection using JSEG Image Segmentation,” Processing of Korean Institute of Information Technology Summer Conference 93 - 96
Lee C. , Chun S. , Park S. 2012 “Electric Board Interface using Hand Shape Detection and Tracking,” Proceeding of Human Computer Interaction 291 - 293
Kim J. , Do Y. 2012 “Human Hand Detection Using Color Vision,” Journal of Sensor Science and Technology 21 (1) 28 - 33    DOI : 10.5369/JSST.2012.21.1.28
Baek J. , Kim J. , Yoon C. , Kim E. 2013 “Partbased Hand Detection using HOG,” Journal of Korean Institute of Intelligent System 23 (6) 551 - 557    DOI : 10.5391/JKIIS.2013.23.6.551
Kim K. , Lee K. 2013 “Hand Shape Detection and Recognition using Self Organized Feature Map(SOMF) and Principal Component Analysis,” Journal of the Korea Contents Association 13 (11) 28 - 36
Arbelaez P. , Maire M. , Fowlkes C. , Malik J. 2011 “Contour Detection and Hierarchical Image Segmentation,” IEEE Transactions on Pattern Analysis and Machine Intelligence 33 (5) 898 - 916    DOI : 10.1109/TPAMI.2010.161
Catanzaro B. , Su B. , Sundaram N. , Lee Y. , Murphy M. , Keutzer K. 2009 “Efficient, High-Quality Image Contour Detection,” Proceeding of International Conference on Computer Vision 2381 - 2388
Shuhua L. , Gaizhi G. 2010 “The Application of Improved HSV Color Space Model in Image Processing,” Proceeding of International Conference on Future Computer and Communication 2 10 - 13
Jeong S. , Lee M. 2007 Visual C++ Digital Image Processing using Open Source CxImage Hongrung Publishing Company Seoul
Hesham A. , Florica A.M. 2014 “Human Face Detection from Images, based on Skin Color,” Proceeding of International Conference on System Theory, Control and Computing 532 - 537
Oliveira V.A. , Conci A. 2009 “Skin Detection using HSV Color Space,” Proceeding of H. Pedrini & J . Marques de Carvalho, Workshops of Sibgrapi 1 - 2
Zhengzhen Z. , Yuexiang S. 2009 “Skin Color Detecting Unite YCgCb Color Space with YCgCr Color Space,” Proceeding of International Conference on Image Analysis and Signal Processing 221 - 225
Park S. , Lee U. 2010 “Hand Gesture Recognition Algorithm Robust to Complex Image,” Journal of Korea Multimedia Society 13 (7) 1000 - 1015
2013 http://opencv.org
1991 http://www.idiap.ch