1. 서 론
최근 영상처리 기술의 발달로 물체 인식 뿐 만 아니라 사람의 얼굴이나 지문, 홍채 등 특정 요소에 대한 인식 기술이 활발히 연구되고 있다. 일반적으로 영상으로부터 원하는 결과를 얻기 위해서는 영역 검출 과정과 검출된 영역에 대한 인식 과정이 필요하다. 또한 정확한 인식을 위해서 검출 영역과 인식 과정 모두 중요하다. 이러한 인식 기술은 사용자 식별을 위한 보안 분야, 의료 분야 등 영상 분석이 필요한 다양한 분야에서 활용되고 있다. 특히 사람의 눈을 인식하고 나아가 추적을 통해 사용자 편의 기능, 마케팅 활용 사례 등도 보고 되고 있다. 이러한 응용 기술들은 인식 기술에 기반을 두고 있다.
특히 사람의 눈을 인식하기 위해서는 사람의 눈이 갖고 있는 특성인 눈동자, 흰자위, 눈꺼풀 등 눈 영역의 특징 요소들이 주변부와 대비되는 특징, 눈이 위치하고 있는 위치 정보 등을 이용해 눈의 특징 요소들을 검출하고 인식한다[1, 2, 4, 15, 16]. 눈의 특징 요소들이 가지고 있는 주변부와 대비되는 특징은 색상 정보와 밝기 값이다. 대표적인 색 공간은 RGB, YCrCb, HSV 등 다양한 방식으로 색을 표현한다. 각각의 색 공간은 밝기에 민감한 색공간부터 밝기를 분리해 색을 표현하는 등 다양한 방식으로 표현한다. 하지만 기존 연구들과 같이 단일 색 공간을 영상 분할에 활용할 때 색 공간의 특성으로 인해 오류가 포함될 가능성이 높다.
이러한 문제점을 해결하고자 본 논문에서는 다양한 색 공간 정보를 이용해 눈 영역의 특징 벡터를 생성하는 방법에 대해 제안한다. 특징 영역 추출 시 단일 색 공간으로 발생할 수 있는 오류를 여러 색 공간을 활용함으로써 오류를 낮출 수 있다. 눈이 갖고 있는 특징들은 그레이 이미지, Blue 채널, Cb 채널, H 채널을 이용해 추출하고 각 채널에서 얻은 정보를 결합하여 눈 영역의 특징 벡터를 생성한다. 특히, 사람의 얼굴이 가지고 있는 대칭성과 눈, 코, 입 각 특징요소들이 가지고 있는 위치 관계 등을 활용하기 위해 얼굴의 중심선을 계산한다[6]. 또한 눈동자의 위치정보를 구하기 위해 H 채널을 활용할 때 눈썹이나, 머리카락 등의 요인으로 인해 잘못된 위치정보가 구해질 수 있다. 이를 보완하기 위해 본 연구에서는 H 채널과 그레이 이미지를 추가적으로 이용해 위치정보를 구하는데 활용한다. 또한 Cb 채널을 이용해 눈꺼풀의 영역과 영역에 대한 정보를 얻을 수 있으나, Cb 채널에서는 코너점의 정보가 충분히 포함되지 않기 때문에 이를 보완하고자 Blue 채널을 추가적으로 이용한다.
특징 벡터는 애니메이션이나 3D 모델링과 같은 분야나 의료, 마케팅, 스마트 기기에 포함되는 다양한 편의 기능 등 여러 응용분야에서 보다 적극적으로 활용될 것으로 기대된다.
본 논문의 구성은 2장에서 본 논문에서 기본이 되는 관련 연구에 대하여 살펴보고, 3장에서 제안하는 눈 영역에서 다양한 색공간 정보를 활용해 특징 벡터를 생성하는 기법을 제안한다. 이 장에서는 전처리 과정과 눈동자의 특징 정보 추출과정 마지막으로 눈꺼풀의 특징벡터 생성과정으로 서술한다. 그리고 4장에서는 결론을 맺는다.
2. 관련 연구
2.1 얼굴 검출(Face Detection)
영상에서 원하는 정보를 인식하기 위해서 먼저 검출 과정이 선행되어야 한다. 기존의 얼굴 검출 기법은 크게 4가지로, 지식 기반 방법, 특징 불변 방법, 템플릿 매칭 방법, 외형 기반 방법으로 분류할 수 있다. 지식 기반 방법은 사전 지식을 이용하여 얼굴을 검출하는 방법으로, 정면 형태에서는 비교적 정확하나, 외부 환경의 변화에 대응하지 못하는 단점 있다. 특징 불변 방법은 외부 환경 요인에 영향을 받지 않는 특징들을 이용해 얼굴을 검출하는 방법으로 빠르고 쉽게 얼굴을 검출할 수 있으나 특징 요소와 동일한 색상, 모양 등이 존재할 경우 검출이 부정확한 단점이 있다. 템플릿 매칭 방법은 얼굴 모양에 대한 다양한 템플릿들을 제작하여 매칭시키는 방법으로 위 두 방법에 비해 외부요인에 강한 장점이 있으나, 템플릿을 제작하는데 오랜 시간이 소요되는 단점이 존재한다. 외형 기반 방법은 다양한 영상으로부터 학습을 통해 얻은 데이터를 이용해 얼굴을 검출한다. 외형 기반 방법은 다양한 방법론이 존재하며, 학습을 통해 외부요인에 강인한 모델을 만들어 얼굴을 검출할 수 있으나, 학습을 위해 많은 시간이 소요되는 단점이 있다. 특히, Viola&Jones가 제안한 실시간 검출 프레임워크[11]는 Haar-like feature set과 학습을 위한 Adaboost 알고리즘[15], cascade 구성을 통해서 실시간 검출이 가능하면서, 높은 검출률을 보이는 것이 특징이다. 이러한 얼굴 검출 기술들은 현재 표준화되고 있으며, 실시간성을 보장하면서, 정확도를 높이는 방향으로 연구가 진행되고 있다. 본 연구에서는 얼굴 검출 및 특징 검출 단계에서 Viola&Jones가 제안한 얼굴 검출 프레임워크를 활용하였다.
2.2 눈 특징 추출(Eye Feature Extraction)
눈 검출 알고리즘에 관한 [13]의 연구에서는 Adaboost, 적응적 템플릿 정합과 Adaboost의 조합, CAMShift와 Adaboost의 조합, rapid eye 검출 알고리즘 성능에 대해 분석하였으며, CAMShift와 Adaboost의 조합을 활용할 때 가장 좋은 성능을 보이는 것으로 나타났다.
또한 눈의 특징을 추출하기 위한 [16]의 연구에서는 정면 얼굴 이미지를 사용해서 눈 영역을 검출했다. 눈 영역을 추출하기 위해서 H 채널을 이용하였으며, H 채널에서 가장 밝은 영역은 눈동자 영역이라는 점을 이용해 눈동자의 중심부를 정하고, 반지름을 구했다. 이 과정에서 정확도를 높이기위해, 그레이 이미지에서 주변 이웃의 픽셀 값이 가장 작은 위치를 찾기 위해서 이동하고, 원의 크기를 확장하거나 축소하면서 눈동자의 중심과 반지름을 얻어냈다. 눈의 코너점을 얻기 위해서 가버필터(Gabor filter)를 활용하여 코너점을 탐색하였다. 위, 아래 눈꺼풀의 특징을 구하기 위해서 중심점을 구하고, 코너점과 중심점을 이용해 스플라인 함수를 활용해 눈꺼풀을 구했다.
2.3 눈 특징 추출(Eye Feature Extraction)
가버 필터는 패턴 분석에서 다양하게 활용되고 있다. 가버 필터는 사인파(sinusoidal wave)와 가우시안 함수의 곱으로 구성된다. 가버 필터는 다음과 같은 식으로 나타낸다.
식 (1)의 파라미터 λ는 사인파의 파장을 나타내며, θ는 방향성을 결정하는 파라미터로 에지의 방향을 나타낸다. ψ는 위상 (phase) 오프셋을 나타내고, σ는 가우시안 시그마, γ는 가버 필터의 타원율을 정하는 것으로 가로-세로 비를 조절한다. 따라서 λ와 θ 값을 달리한 가버 필터를 사용하여 영상으로부터 특징벡터를 추출하는데 유용하게 활용할 수 있다.
3. 눈 영역의 특징벡터 생성 기법
3.1 수행 절차
본 연구에서는 기본적으로 눈 영역의 특징 벡터를 생성하기 위해서 4가지의 색 공간 정보를 이용한다. 눈동자에 관련해서 H채널과 그레이 채널을 이용하며, 눈꺼풀 영역을 추출하기 위해서 Blue 채널과 Cb 채널을 이용한다. 또한 눈의 특징벡터를 생성하기 위해서, 입력된 원본 영상으로부터 눈 영역을 얻기 위한 전처리(Pre-processing) 과정과 눈동자 특징정보를 계산하는 특징벡터 생성(Feature vectors generation) 과정으로 구분하여 처리한다. 다음의 그림 1은 본 논문에서 제안한 눈 영역의 특징벡터를 생성하기 위한 절차를 나타낸다.
그림 1눈 영역의 특징벡터 생성 절차 Fig. 1 Procedure of feature vector generation for eye region
3.2 전처리
특징벡터를 생성하기 위한 전처리 과정은 눈 영역을 포함하는 입력영상을 만드는 과정으로 총 3단계로 나누어진다. 첫 단계는 입력 영상에 대해서 얼굴을 검출하여 얼굴의 특징을 검출하는 단계이다. 두 번째 단계는 얼굴의 중심선을 검출하는 단계이다. 마지막 단계는 특징벡터 생성을 위해 눈 영역을 검출하는 단계이다.
먼저, 최초 입력 영상에서 Adaboost 알고리즘을 통해 학습된 분류기를 이용하여 얼굴을 검출한다. 얼굴 검출 시에는 OpenCV[10] 라이브러리에서 제공하는 정면 얼굴에 집중된 데이터 셋을 사용하여 더 높은 검출률을 얻을 수 있도록 한다. 이때 배경이나 다른 사물을 얼굴로 검출하는 오류를 보완하기 위해 본 연구에서는 두 가지 방법을 설계하였다. 첫째로, 얼굴을 검출하면 검출된 영역 안에서 눈, 코, 입에 해당하는 얼굴 요소를 AND 조건으로 다시 검출하도록 한다. 이는 기본적인 학습 데이터 기반의 외형 기반 방법에 얼굴 요소들의 위치정보를 이용하는 지식 기반 방법을 추가적으로 이용하는 것으로서 검출 오류를 줄이도록 하기 위함이다. 둘째로, 위의 방법으로 얼굴 검출을 수행하고 나면, 추출 결과값을 다시 학습데이터 셋에 추가한다. 기존의 알고리즘에서는 얼굴 검출에 대한 학습 데이터 셋이 구성되고 나면 그 크기가 고정되고 더 이상 학습이 이루어지지 않으나 본 연구에서는 얼굴 검출을 수행할수록 학습 데이터 셋이 지속적으로 커지도록 하여 갈수록 정확도가 높아지도록 한 것이다. 얼굴 검출이 수행된 후에는 눈 영역을 검출한다. 관심영역을 지정할 때 실험적인 결과를 바탕으로 검출 영역을 확장하여 눈의 특징 요소들이 관심영역 안에 포함될 수 있도록 하였다.
다음으로, 일반적으로 얼굴의 좌우 특징요소가 대칭 구조를 갖는다는 점을 이용하기 위해 얼굴의 중심선을 검출한다. 이는 얼굴에 대한 사전지식적인 접근방법으로 얼굴의 특징에 따른 위치 관계 활용을 위해 얼굴의 중심선을 고려하는 것이다. 얼굴의 중심선을 검출하기 위해서는 얼굴 영역에서 가장 어두운 부분인 콧구멍 두개를 검출하여 두 콧구멍의 중심을 얼굴의 중심선으로 지정한다. 그림 2는 콧구멍을 기준으로 한 얼굴의 중심선을 보여준다.
그림 2얼굴의 중심선 Fig. 2 Center line of face
3.3 눈동자의 특징벡터 생성
본 연구에서의 눈 영역을 추출하기 위한 단계는 눈 영역의 이미지에 대한 HSV 색 공간에서 H 채널을 이용하는 것과 RGB 색 공간에서 그레이 채널을 이용하는 것으로 구성된다. 그레이 채널을 활용하는 이유는 H 채널을 단독으로 이용할 때 눈동자 내부의 점을 선택하지 못하는 오류가 발생할 수 있기 때문에 이를 보완하기 위한 것이다. 따라서 그레이 채널을 추가적으로 활용해 눈동자 영역을 결정한다. 이후 눈동자의 중심과 반지름을 계산해 눈동자의 특징벡터를 생성한다. 그림 3은 눈동자의 특징벡터 생성절차를 나타낸다.
그림 3눈동자의 특징 벡터 생성 절차 Fig. 3 Procedure of feature vector generation for pupil
그림 4에서 보면, 눈동자 특징 정보를 추출하기 위해서 (a)와 같은 눈 영역의 이미지를 HSV 색 공간으로 변형하고 H 채널을 분리한다. 기존의 [16]에서는 (b)에서처럼 H 채널의 눈동자 내부점이 가장 밝은 값으로 추정한다. 그러나 이럴 경우 (d)와 같은 위치오류가 발생할 수 있다. 따라서 정확도를 좀 더 높이기 위해 (b)에서 나타난 것처럼 가장 어두운 값을 가지는 점들을 추가적으로 선택한다. 선택된 점들은 (c)와 같이 나타난다. 그러나 여전히 (d)와 같이 눈동자 내부의 점들을 선택하지 못하는 오류가 발생할 수 있다.
그림 4(a) 원본 영상 (b) H채널 (c) H채널 이진화 (d) 위치오류 Fig. 4 (a) Source (b) H channel (c) Results of H channel (d) Location error
따라서 본 연구에서는 이를 보완하기 위해 그레이 채널을 이용해 눈동자 영역을 생성하는데 활용한다. 먼저, 그림 5(d)와 같은 눈동자 영역을 생성하기 위해서 그레이 채널을 이진화하고 H 채널을 이용해 얻은 정보와 함께 눈동자 영역을 추정한다. 일단 눈동자 영역이 생성되면 그레이 채널에 대해 라플라시안(Laplacian) 연산을 수행하고, 노이즈를 제거한다. 그림 5의 (b)와 (c)는 각각 라플라시안 연산과 노이즈 제거 후 결과를 나타낸다. 눈동자 내부 노이즈를 제거하기 위해 그림 5의 (c)와 (d) 결과를 OR 연산한다. 눈동자 내부의 노이즈 제거 전후는 그림 5의 (c)와 (e)를 통해 비교할 수 있다. 그림 5(d)를 통해 눈동자 내부의 위치를 판단할 수 있기 때문에 눈동자의 중심과 반지름 계산은 그림 5(e)를 이용해 눈동자 내부 영역의 반지름을 탐색하여 가장 긴 구간의 평균을 이용해 중심과 반지름을 구한다. 이를 통해 구한 눈동자의 중심과 반지름은 그림 5(f)와 같다.
그림 5(a) 그레이 채널 (b) 라플라시안 연산 (c) 노이즈 제거 (d) 그레이 채널 이진화 (e) 눈동자 노이즈 제 거 (f) 눈동자 특징 벡터 Fig. 5 (a) Gray channel (b) Laplacian operation (c) Noise removing (d) Binarization of Gray channel (e) Noise removing of pupil (f) Feature vector of pupil
3.4 눈꺼풀의 특징벡터 생성
눈꺼풀의 특징벡터를 생성하기 전 눈동자 계산과정이 선행되는 이유는 눈동자 영역에 관련된 위치정보를 활용해 눈꺼풀 영역을 추정하기 때문이다. 본 연구에서는 눈꺼풀 영역만을 추출하기 위해 눈동자의 중심 위치정보를 활용한다. 그림 6은 눈꺼풀의 특징벡터 생성절차를 나타낸다.
그림 6눈꺼풀의 특징 벡터 생성 절차 Fig. 6 Procedure of feature vector generation for eyelid
3.4.1 눈꺼풀 영역 추출
눈꺼풀의 특징벡터를 생성하기 위해서는 먼저 눈꺼풀 영역을 추출한다. 눈꺼풀 영역을 추출하는 이유는 눈꺼풀의 상, 하, 좌, 우 범위를 설정하여 눈 외부에 있는 노이즈를 보다 효과적으로 제거할 수 있고 관심영역의 범위를 최소화함으로써 불필요한 영역에 대한 연산을 줄일 수 있기 때문이다.
눈꺼풀 영역 추출은 YCrCb 색 공간에서 Cb 채널과 RGB의 blue 채널을 이용한다. 그림 7(a)와 같이 Cb 채널에서 눈꺼풀 영역은 어두운 밝기를 가진다. 따라서 어두운 영역에 대해 이진화를 수행하여 눈 영역을 추출한다. 이때 추출된 영역은 그림 7(b)와 같이 눈 영역과 눈썹 또는 눈썹과 같은 어두운 영역이 노이즈로 함께 나타날 수 있다. 이를 제거하기 위해 3.3절에서 얻은 눈동자의 중심 정보를 활용해 눈동자의 중심 좌표가 포함된 영역을 레이블링한다. 눈꺼풀 영역에 해당하는 blob의 상단 좌표와 하단 좌표를 얻어낸다. 그림 7(c)는 레이블링을 통해 구한 눈꺼풀 영역을 나타낸다.
그림 7(a) Cb 채널 (b) Cb 채널 이진화 (c) 레이블링 Fig. 7 (a) Cb channel (b) Binarization (c) Labeling
그러나 Cb 채널은 그림 7(c)와 같이 눈꺼풀 내부 영역을 강건하게 추출하나, 그림 8(b)와 같은 눈꺼풀 영역의 코너점 정보가 부족하기 때문에 해당 영역의 정보를 추가하기 위해 Blue 채널을 이용하며, 그 결과를 OR 연산한다. 먼저 Blue 채널에는 적응적 이진화(Adaptive threshold)를 적용하고, 적응적 이진화가 된 영상에 대해 노이즈 제거를 수행한다. 그림 8(b), (c)는 각각 적응적 이진화와 노이즈 제거가 된 영상을 나타낸다. 이후 Cb 채널 수행과정에서 얻은 눈꺼풀의 영역 정보를 이용해 레이블링을 수행하고, 눈꺼풀 영역을 얻는다. 최종적으로 Cb 채널의 결과물과 OR 연산을 수행한다. 그림 8(d)는 Cb채널과 Blue 채널의 결과에 대해 OR 연산을 수행한 결과를 나타낸다. 그림 7(c)와 그림 8(d)를 비교해 보면, Cb 채널의 연산 결과에 누락된 코너점 성분이 Blue 채널에 대한 연산결과와 OR 연산함으로써 보완된 것을 확인할 수 있다.
그림 8(a) Blue 채널, (b) 적응형 임계값, (c) 노이즈 제 거, (d) OR 연산 Fig. 8 (a) Blue channel, (b) Adaptive threshold, (c) Noise removing, (d) OR operation
3.4.2 눈꺼풀의 코너점 추출
눈꺼풀 영역이 추출되면 눈동자의 중심정보와 눈꺼풀의 범위정보를 활용해 그림 9와 같은 방법으로 눈꺼풀의 코너점을 추출한다.
그림 9에서 눈의 코너점을 탐색하기 위해 눈동자의 중심으로부터 좌우로 분기하여 이동하면서 눈꺼풀 영역 범위 안에서 픽셀을 탐색하며 해당하는 픽셀 정보를 계산한다. 눈동자의 중심을 center(x,y) 왼쪽 코너점을 corner1,(x1, y1) 오른쪽 코너점을 corner2(x2, y2)라 하자. 이 때 corner1을 결정하기 위해서 이미지 로부터 x − k1 에 대해서 eyeupper로부터 eyelower까지 해당 픽셀을 탐색하면서 픽셀값이 모두 255인 구간을 만나면 그때의 k1은 코너점 이전 픽셀이므로 x1 = k1 + 1인 x1에서 픽셀의 값이 변화되는 위치값을 코너점 y1로 결정한다. 또한 corner2를 결정하기 위해서 이미지로부터 x + k2에 대해서 eyeupper로부터 eyelower까지 해당 픽셀을 탐색하면서 픽셀의 값이 모두 255인 구간을 만나면 그때의 k2는 코너점 다음 픽셀이므로 x2 = k2 − 1인 x2 에서 픽셀 값이 변화되는 위치값을 코너점 y2로 결정한다. 다음 그림 10은 눈의 코너점을 생성한 결과를 보여준다.
그림 9눈꺼풀의 코너점 결정 방법 Fig. 9 Corner-points decision method of eyelid
그림 10눈 영역의 코너점 추출 Fig. 10 Corner-points extraction of eye region
3.4.3. 눈꺼풀의 외곽 추출
눈꺼풀 영역이 결정되면 눈꺼풀의 상하좌우 범위 내에서 눈꺼풀의 외곽선을 추출한다. 추출과정은 그림 11과 같다.
그림 11눈꺼풀의 외곽 추출 방법 Fig. 11 Outline extraction method of eyelid
그림 11에서 보이는 바와 같이 눈꺼풀의 외곽은 눈 영역에서 가장 외곽에 있는 점이기 때문에, 윗 눈꺼풀은 눈 영역 내에서 상단부터 하단으로 탐색하면서 가장 먼저 만나는 점을 외곽점으로 결정한다. 또한 아랫 눈꺼풀도 같은 방식으로 결정한다. 이를 통해 생성된 눈꺼풀 외곽선 추출 결과는 그림 12에서 보여주고 있다.
그림 12눈꺼풀 외곽 추출 Fig. 12 Extraction result of eyelid
3.4.4 눈꺼풀의 특징벡터 생성
눈꺼풀의 외곽점이 추출되면, Convex hull 방법에 의해 볼록점을 탐색한다. 탐색된 점의 결과는 그림 13과 같다.
그림 13볼록 점 탐색 Fig. 13 Detection of convex hull
볼록점을 탐색하면, 실제 추출된 점과 점 사이를 보완하기 위해 스플라인 보간을 수행하며, 균등한 간격으로 나누어 눈꺼풀의 특징벡터를 생성한다. 그림 14는 스플라인 보간을 수행하여 눈꺼풀의 특징벡터를 생성한 결과이다
그림 14눈꺼풀 특징벡터 생성 Fig. 14 Feature vector generation of eyelid
눈동자의 특징벡터와 눈꺼풀의 특징벡터를 종합하여 원본 영상에 투영하여 눈 영역의 특징벡터를 생성한 결과는 그림 15와 같다.
그림 15눈 영역의 특징벡터 생성 Fig. 15 Feature vector generation of eye region
4. 실험 및 평가
본 논문에서는 컴퓨팅 환경으로 Intel i5-2500S, 4GB 메모리, Radeon 6770M VGA를 사용하였으며, Windows 7 64bit 환경에서 실험하였다. 응용 프로그램으로는 Visual studio 10.0 환경에서 OpenCV 2.4.6 버전을 활용하여 빌드하였다.
4.1 실험 환경
실험에 사용한 사진들은 정면 얼굴의 사진을 사용하였으며, 일반적인 형태의 사진과 제안된 기법의 성능을 평가하기 위해 조건을 포함한 사진을 사용하였다. 총 사진은 126장으로 조건 미포함 사진 91장, 밝기, 조명, 색상 등 얼굴이 음영이 생기거나, 좌우 음영이 다른 사진, 사진 전체의 밝기가 어두운 사진은 19장, 해상도가 작은 사진 14장, 눈 영역에 머리카락의 간섭이 있는 사진 2장을 사용하였다. 표 1은 실험 환경에 사용된 사진조건을 나타낸다.
표 1실험 환경 Table 1 Experimental environment
4.2 실험 결과
실험 환경에서 제시한 조건 이외의 조건은 포함 여부에 관계없이 실험에 활용하였다. 각 절에 제시된 방법에 의해 수행된 결과는 표 2와 표 3을 통해 제시하였다. 표 2는 눈동자의 특징 벡터 생성 결과를 나타내며, 표 3은 눈꺼풀의 특징 벡터 생성 결과를 나타낸다.
표 2눈동자의 실험 결과 Table 2 Experimental results of pupil
표 3눈꺼풀의 실험 결과 Table 3 Experimental results of eyelid
4.3 실험 평가
4.2절의 실험 결과에 따른 평가요소로는 각각 특징벡터 생성 여부와 생성률, 생성을 위한 처리시간으로 각각 평가 하였으며, 평가 결과는 다음의 표 4와 같다.
표 4특징벡터 생성 결과 Table 4 Results of Feature vector generation
표 4의 결과를 보면, 왼쪽 눈은 116개의 영상으로부터 눈 영역의 특징벡터를 생성하였으며, 10개의 사진에서 특징벡터를 생성하지 못해 92.06%의 생성률을 보였다. 오른쪽 눈은 117개의 영상으로부터 눈 영역의 특징벡터를 생성하였으며, 9개의 사진에서 특징벡터를 생성하지 못해 92.85%의 생성률을 보였다. 양 눈의 결과를 종합하여 총 233장의 눈 영역의 영상으로부터 92.46%의 생성률을 보였다. 또한 생성 시간은 한쪽 눈에 대해 최소 31ms에서 최대 63ms로 평균 47ms의 시간이 소요되었으며, 평균적으로 특징벡터가 생성되는데 총 소요되는 시간은 0.1초 이내로 나타났다.
본 연구에서 제안한 기법에서는 특징벡터의 생성 여부가 눈동자의 중심과 눈꺼풀의 코너점 정보를 기준으로 결정된다. 이에 따라 특징벡터 생성에 실패한 영상은 눈꺼풀 영역이나 눈동자 영역에서 노이즈가 많이 포함되거나, 표 1에서 제시한 실험조건에 해당하는 밝기 문제, 해상도, 머리카락 간섭 등의 요인으로 인해 특징 검출 시 특징이 포함되지 않거나 불완전하게 포함한 경우 특징벡터를 생성하지 못하였다. 따라서 사진의 조건이 나쁜 경우를 제외하고는 특징벡터를 전부 생성함으로써 본 연구의 제안기법이 우수함을 입증할 수 있었다.
5. 결 론
색 공간의 특징에 따라 영상의 밝기, 색상 등에 민감하게 반응한다. 따라서 얼굴의 특징 요소들을 추출하거나 특징벡터를 생성하기 위해 단일 색 공간정보를 활용할 때 조명에 의한 밝기의 변화나 색상 등이 민감하게 변화하기 때문에 오류가 발생할 수 있다. 이러한 문제점을 해결하고자 본 논문에서는 다양한 색 공간정보를 이용해 특징벡터를 생성하는 기법에 대해 제안했다. 전처리 과정에서는 기존의 연구를 바탕으로 얼굴 검출과 각각의 특징들을 검출하였으며, 이때 지식 기반의 얼굴 위치정보를 활용하기 위해 얼굴의 중심선을 추출하였다. 눈동자의 특징벡터를 생성하기 위해 그레이 이미지와 H 채널을 활용하였으며 에지 정보들을 결합하여 눈동자의 특징벡터를 생성했다. 또한 눈동자의 중심 위치 정보를 이용해 눈꺼풀 영역을 결정하였으며, 코너점 계산, 기존의 영상처리 알고리즘을 응용해 눈꺼풀의 윤곽선을 추출하고 특징벡터를 생성하였다.
특징벡터 생성 실험을 통해 왼쪽 눈은 약 92.06%의 생성률을 보였으며, 처리 시간은 평균적으로 47ms로 나타났다. 오른쪽 눈은 약 92.85%의 생성률을 보였으며, 처리시간은 평균 47ms로 나타났다. 특징벡터 생성 실패 요인은 특징 벡터 생성 과정에서 눈동자 영상 생성 과정과 눈꺼풀의 초기 영상 획득 단계의 결과에 따라 최종 특징벡터 생성 결과에 차이를 보였다.
현재 본 연구에서는 눈 영역 초기 영상 획득과정을 보다 견고하게 추출할 수 있는 방법을 개발하고 있다. 또한 향후에는 본 연구의 제안 방법과 기존 방법들을 동일한 환경에서 비교 평가를 통해서 제안 방법의 우수성을 정량적으로 입증할 예정이다.
References
- B. S. Kim, H. Lee, W. Y. Kim, “ Rapid eye detection method for non-glasses type 3D display on portable devices”, Consumer Electronics, IEEE Transactions on, Vol. 56, Issue 4, pp. 2498-2505, Nov. 2010. https://doi.org/10.1109/TCE.2010.5681133
- C. Dorin. V. Ramesh, P. Meer, “Real-time tracking of non-rigid objects using mean shift”, Computer Vision and Pattern Recognition, Proceedings. IEEE Conference on, Vol. 2, pp. 142-149, June 2000.
- R. P. Gaur, K. N. Jariwala, “A Survey on Methods and Models of Eye Tracking, Head Pose and Gaze Estimation”, Journal of Emergeing Technologies and Innovative Research, Vol. 1, Issue 5, pp. 265-273, Oct. 2014.
- H. S. Koo, H. G. Song, “A Study on the Eye-line Detection from Facial Image taken by Smart Phone”, Journal of Korea Institute of Information and Communication Engineering, Vol. 15, No. 10, Oct. 2011.
- H. S. Yum, M. Hong, Y. J. Choi, “Design and Implementation of Eye-Gaze Estimation Algorithm based on Extraction of Eye Contour and Pupil Region”, The Journal of Korean association of computer education, Vol. 17, No. 2, pp. 107-113, March 2014.
- J. J. Jung, J. H. Park, M. Y. Jung, J. H. Kim, H. S. Suh, “A Design of Incremental Feature Vectors Extraction of Lip Shape Using Morphological Information”, International Conference on Convergence Technology, Vol. 4 No. 1, pp. 47-48, July 2014.
- J. R. Parker, “Algorithm for Image Processing and Computer Vision 2nd edition, Wiley Publishing, pp. 285-319, 2011
- M. Montazeri, H. Nezamabadi-pour, “Automatic extraction of eye field from a gray intensity image using intensity filtering and hybrid projection function”, Communications, Computing and Control Applications, IEEE International Conference on. pp. 1-5, March 2011.
- N. Otsu, “A Threshold Selection Method from Gray-Level Histograms,” IEEE Transactions on Systems, Man and Cybernetics, Vol. 9, Issue 1, pp. 62-66, 1979. https://doi.org/10.1109/TSMC.1979.4310076
-
OpenCV, “
http://www.opencv.org/” - P. VIOLA and M. J. JONES, “Robust Real-Time Face Detection,” International Journal of Computer Vision, Vol. 57, Issue 2, pp. 137-154, May 2004. https://doi.org/10.1023/B:VISI.0000013087.49260.fb
- S. chitra, G. Balakrishnan, Comparative Study for Two Color Spaces HSCbCr and YCbCr in Skin Color Detection, Applied Mathematical Sciences, Vol. 6, No. 85, pp. 4229-4238. 2012.
- S. Y. Gwon, C. W. Cho, W. O. Lee, H. C. Lee, K. R. Park, H. K. Lee, J. J. Cha, “Comparative Performance Evaluations of Eye Detection algorithm”, Journal of Korea Multimedia Society, Vol 15, No 6, pp. 722-730, June 2004. https://doi.org/10.9717/kmms.2012.15.6.722
- T. P. Weldon, W. E. Higgins, “Design of multiple Gabor filters for texture segmentation”, Acoustics, Speech, and Signal Processing, Conference Proceedings.,IEEE International Conference on. Vol. 4, pp. 2243-2246, May 1996.
- Y. Freund and R. Schapire, “A decision-theoretic generalization of on-line learning and an application to boosting”, Journal of Computer and System Sciences, Vol. 55, No. 1, pp. 119-139, Aug. 1997. https://doi.org/10.1006/jcss.1997.1504
- Z. Zheng, J. Yang, L. Yang, “A robust method for eye features extraction on color image”, Pattern Recognition Letters, Vol. 26, Issue 14, pp. 2252-2261. Oct. 2005. https://doi.org/10.1016/j.patrec.2005.03.033