http://dx.doi.org/10.7236/JIIBC.2015.15.1.191
JIIBC 2015-1-25
스마트 폰 기반 차량 환경에서의 랜덤 포레스트를 이용한 시선 인식 시스템
Gaze Recognition System using Random Forests in Vehicular Environment based on Smart-Phone
오병훈*, 정광우**, 홍광석***
Byung-Hun Oh*, Kwang-Woo Chung**, Kwang-Seok Hong***
요 약 본 논문에서는 스마트 폰 기반 차량 환경에서의 랜덤 포레스트를 이용한 시선 인식 시스템을 제안한다. 제안 한 시스템은 Adaboost 알고리즘을 이용한 얼굴 검출, 히스토그램 정보를 이용한 얼굴 구성 요소 추출, 그리고 랜덤 포 레스트 알고리즘 기반의 시선 인식으로 구성되어 있다. 카메라로부터 획득한 영상정보를 바탕으로 운전자의 얼굴을 검 출하고, 이를 기반으로 운전자의 얼굴 구성 요소를 추정한다. 그리고 추정된 구성 요소로부터 시선 인식에 필요한 특징 벡터를 추출하고, 랜덤 포레스트 인식 알고리즘을 이용하여 9개 방향에 대한 시선을 인식한다. 실험을 위해 실제 환경 에서 다양한 시선 방향을 포함하여 DB를 수집하였으며, 실험 결과 얼굴 검출률은 약 82.02%, 시선 인식률은 약 84.77% 성능을 확인하였다.
Abstract In this paper, we propose the system which recognize the gaze using Random Forests in vehicular environment based on smart-phone. Proposed system is mainly composed of the following: face detection using Adaboost, face component estimation using Histograms, and gaze recognition based on Random Forests. We detect a driver based on the image information with a smart-phone camera, and the face component of driver is estimated. Next, we extract the feature vectors from the estimated face component and recognize gaze direction using Random Forest recognition algorithm. Also, we collected gaze database including a variety gaze direction in real environments for the experiment. In the experiment result, the face detection rate and the gaze recognition rate showed 82.02% and 84.77% average accuracies, respectively.
Key Words : Gaze Tracking, Gaze Recognition, Random Forests
*정회원, 성균관대학교 전자전기컴퓨터공학과
**정회원, 한국교통대학교 철도운전시스템공학과
***정회원, 성균관대학교 정보통신공학부(교신저자) 접수일자 : 2014년 11월 5일, 수정완료 : 2014년 12월 5일 게재확정일자 : 2015년 2월 13일
Received: 5 November, 2014 / Revised: 5 December, 2014 Accepted: 13 February, 2015
***Corresponding Author: [email protected]
School of Information and Communication Engineering, Sungkyunkwan University, Korea
Ⅰ. 서 론
IT(Information Technology) 기술을 자동차에 접목하 면서부터 자동차 공간 내 스마트 서비스들이 점점 확대
되고 있으며, 차량사고나 도난감지, 주차 위치 확인, 차선 이탈 등을 감지할 수 있는 시스템들이 장착되고 있다. 이 처럼 자동차의 성능이 고도화되면서 운전자의 안정성에 대한 관심도 높아졌으며, 이에 따라 운전자의 안정성을
높이기 위한 다양한 연구들이 진행 중이다.[1-3]
최근 여러 종류의 센서들을 적용한 스마트 폰은 다양 한 분야에 접목시킬 수 있다는 장점을 가지고 있어 여러 분야에서 연구가 진행 중에 있다.[4] 특히, 스마트 폰의 카 메라를 이용하여 지능형 자동차에 응용하는 연구가 활발 히 진행되고 있으며, 카메라로부터 입력된 영상으로 운 전자의 시선을 추적하거나 상태를 분석함으로써 운전자 의 부주의를 탐지하는 시선 분석 기술 연구가 주로 진행 되고 있다. 그러나 스마트 폰의 낮은 성능으로 인하여 시 선 분석을 위한 다양한 알고리즘 적용에 많은 제약이 존 재한다.
시선 인식은 많은 연구자들에 의하여 다양한 방법으 로 연구되어 왔다.[5-6] 홍채의 위치, 모양 및 눈꺼풀 추적 을 사용하여 시선을 인식하는 기술[7], 인공신경망과 동공 의 반사 관계를 이용하여 시선을 인식하는 기술 등이 있 으며[8], 최근에는 단일 방법의 한계를 극복하기 위해 2개 이상의 방법을 결합한 하이브리드(Hybrid) 방법도 제안 되고 있다.[9] 하지만, 기존의 대부분 인식 시스템은 눈과 홍채의 움직임만을 검출하고, 추적하는 것에 초점을 맞 춰 연구가 진행되기 때문에 복잡한 환경에서는 눈 검출 및 홍채 인식만으로 운전자의 시선을 결정하는 것은 매 우 어렵다. 또한, 스마트 폰 환경에 비해 상대적으로 높은 성능을 가진 PC 환경에서 수행된 연구이기 때문에 높은 알고리즘의 복잡도로 인해 실제 환경에 적용하기 어려운 단점이 존재한다.
이에 따라, 본 논문에서는 실제 차량 환경에서 시선 인 식에 필요한 특징벡터를 낮은 복잡도로 검출하여 스마트 폰 기반의 환경에서 실시간 처리가 가능하게 하고, 눈과 홍채 검출뿐만 아니라 코와 입 등과 같은 얼굴 구성 요소 를 입력으로 랜덤 포레스트 인식 알고리즘을 사용함으로 써 시선 인식의 정확도를 향상시킨다.
Ⅱ. 시스템 구조
본 논문에서 제안한 시스템 흐름도는 그림 1과 같다.
카메라로부터 운전자의 영상이 입력되면 Adaboost 알고 리즘[10]을 이용하여 얼굴 영역을 검출한다. 검출된 얼굴 영역을 바탕으로 특징 추출을 위해 얼굴의 구성요소를 검출하고, 검출된 얼굴 구성요소에서 22개의 특징을 추 출한다. 마지막으로 랜덤 포레스트 알고리즘을 이용하여 9개 시선방향에 대한 시선을 인식한다.
그림 1. 시스템 흐름도 Fig. 1. System Flowchart
Ⅲ. 랜덤 포레스트를 이용한 시선 인식
1. Adaboost를 이용한 얼굴 검출
Adaboost를 이용한 얼굴 검출 알고리즘은 카메라로부 터 실시간으로 얻은 영상에서 조명에 강인한 영상을 얻 기 위하여 RGB 영상 정규화 과정을 거친다. RGB 영상 정규화는 RGB 컬러 모델의 각 픽셀에 대해서 수식 1로 정규화한 것이다.[11]
(1)
수식 1에서 , , 는 각각의 컬러 채널을 나타내고,
, , 는 정규화 된 각각의 컬러 채널을 나타내며,
를 나타낸다.
이후 정규화 된 영상으로부터 Gradient 정보를 이용한 얼굴 검출과 컬러 정보를 이용한 얼굴 검출을 병렬적으 로 수행한다. 먼저, Gradient 정보를 이용한 얼굴 검출은 얼굴의 검출 성분을 강조하기 위해 일반 그레이(Gray) 영상에서의 모폴로지 그래디언트(Morphological Gradient)
연산이 아닌 Red, Green, Blue 색상 각각의 채널에서 모 폴로지 그래디언트 최대 값 픽셀만을 결합하여 생성할 수 있다. MMGC(Maximum Morphological Gradient Combination) 영상에 대한 수식은 2와 같다.[12]
(2)
수식 2에서 는 분리된 각 Red, Green, Blue 채널에서 픽셀 좌표 의 모폴로지 그래디언트 값을 나타낸다.
그림 2. 얼굴 검출 순서도 및 결과 영상
Fig. 2. Processing Procedure of The Face Detection and Result Image
컬러 정보를 이용한 얼굴 검출은 입력으로 들어온 정 규화 된 RGB 컬러 영상을 컬러 모델로 변환하였 다. 변환된 컬러 영상에서 피부색 임계 값을 이용 하여 피부색 영역을 검출하며, 얼굴 영역의 피부색을 결 정하기 위한 의 임계 값은 3과 같다.
≤≤ ∩ ≤≤
(3)
검출된 피부색 영역을 이진 영상으로 변환하고, 침식 (Erosion) 및 팽창(Dilation) 연산을 이용한 닫힘 연산 (Closing Opeation)을 통해 노이즈를 제거한다. 노이즈 제거 단계에서 피부색을 포함한 영역 중 크기가 큰 부분 은 제거되지 않는 현상이 발생되는데 이 경우 얼굴 영역 을 제외한 다른 부분을 제거하기 위해 각 영역을 라벨링 (Labeling) 한 후 얼굴 영역만 검출하게 된다.
최종적으로 Gradient 정보를 통해 수행된 결과 영상과 컬러 정보를 통해 수행된 결과 영상의 AND 연산을 수행 하여 결합한다. 얼굴 검출 알고리즘 순서도 및 결과 영상 은 그림 2와 같다.
본 논문에서는 얼굴 영역을 검출하기 위해 Harr-like 특징 기반의 Adaboost 알고리즘을 사용하였다. Face Cascade 검출기 훈련에 있어 Positive 영상은 4,480장, Negative 영상은 9,000장을 사용하였고, 검출기 단계는 총 13단계, 검출기 사이즈는 20 × 10 으로 설정하였다.
2. 얼굴 구성 요소 검출 및 특징 추출
본 논문에서는 검출된 얼굴 영역을 기반으로 하여 4개 의 얼굴 구성 요소(오른쪽 눈, 왼쪽 눈, 코 및 입 영역)를 검출한다.
그림 3. 기하학적 특성을 이용한 검출 범위 제한
Fig. 3. Limitation of Searching Regions using Geometric Information
얼굴 구성 요소를 검출하기에 앞서 차량 환경에서의 실제 적용을 위해 사용자가 차량에 탑승한 환경에서의 DB를 수집하여 분석하였다.
검출된 얼굴 영역의 높이를 1이라고 가정했을 때, 얼 굴 영역에서 눈, 코, 입 영역이 위치하는 평균 비율은 0.35, 0.18, 0.22로 분포하였다. 그림 3과 같이 얼굴에서 차 지하는 구성 요소들의 비율인 기하학적 특성을 이용하여 각 구성 요소의 검출 범위를 제한하였다.
그림 4. 히스토그램 분석을 통한 눈동자 위치 및 눈 영역 검출 Fig. 4. The Pupil Position and Eye Region Detection
using Histogram Analysis
제한된 눈 후보 영역에서 눈 영역과 눈동자의 위치를 찾기 위해 눈 후보 영역 영상을 그레이 영상으로 변환한 후 행(Column)과 열(Row)에 대해 각각 히스토그램을 분 석하였다. 우선 각 행과 열의 픽셀에 대한 히스토그램을 구한 후 스무딩(Smoothing) 연산을 적용하여 히스토그 램 누적 픽셀의 극대, 극소를 찾는다. 그레이 영상에서 극 소 값은 가장 밝은 부분을 의미하고, 극대 값은 가장 어 두운 부분 즉, 눈동자의 위치를 의미한다. 눈 후보 영역에 서 눈동자 위치를 기반으로 상, 하, 좌, 우의 히스토그램 누적 픽셀을 극대, 극소를 찾음으로써 눈 영역을 검출한 다. 그림 4는 눈동자 위치 및 눈 영역 검출을 나타낸다.
그림 5. 히스토그램 분석을 통한 코 위치 검출
Fig. 5. The Nose Position Detection using Histogram Analysis
얼굴 구성 요소에서 코 영역을 찾기 위해 눈 검출과 동일한 방법인 히스토그램 분석을 이용하여 코 영역을
검출하였고, 그림 5와 같이 열 히스토그램에서 2개의 극 대 값 사이에 위치한 극소 값을 찾아 중앙 점을 검출하였다.
그림 6. 입 영역 검출
Fig. 6. The Lip Region Detection
제한된 입술 후보 영역으로부터 입술 영역 검출을 위 해 MMGC 영상에서 히스토그램을 분석하였다. 이후 퀵 소트(Quick sort)를 이용하여 그레이 값이 높은 영역만을 이용해 적응형 임계 값을 설정 한 후 블롭 라벨링(Blob Labeling)을 수행하였다. 블롭 라벨링에서 정확한 입술 영역을 구성하기 위하여 우선적으로 선정된 블롭과 겹치 는 블롭 혹은 인접한 화소의 블롭들은 통합하였고, 면적 이 너무 작은 블롭은 제거하였다. 최종적으로 그림 6과 같이 입술 영역을 검출하였다.
그림 7. 시선 인식을 위한 11개의 포인트 Fig. 7. 11 Points for Gaze Recognition
위와 같이 검출된 4개의 얼굴 구성 요소로부터 시선 인식을 위한 특징 벡터를 추출한다. 특징벡터는 그림 7과 같이 11개의 포인터의 x, y 좌표로 구성되며, 학습 및 인 식을 위한 특징으로 사용한다.
4. 랜덤 포레스트를 이용한 시선 인식
랜덤 포레스트 알고리즘은 다수의 결정목을 조합하여 정밀도가 높은 식별기를 얻는 방법이며, 데이터의 일부 를 추출하여 의사 결정 나무를 만드는 방법을 반복하고, 반복 과정을 통해 만들어진 다수의 의사 결정 나무들은 투표(Voting)로 최종 결과를 출력한다.[13]
∼× 성공
∼≥× 실패 (5) 본 논문에서는 차량 환경에서 수집된 데이터로부터
추출된 특징 벡터를 기반으로 시선 인식을 위한 랜덤 포 레스트 학습 모델을 생성하였다. 스마트 폰 카메라를 통 해 얼굴이 입력되면 얼굴 구성 요소에서 22개의 특징 벡 터가 추출되며, 추출된 특징 벡터를 입력으로 하여 미리 만들어진 학습 모델과 비교함으로써 9개의 방향에 대한 시선을 인식하게 된다.
Ⅳ. 실험 및 결과
본 논문에서는 시선 인식 실험에 사용할 DB를 수집하 기 위해 자동차에 스마트 폰을 거치하여 실제 환경에서 총 70분 정도 운전하였으며, 좌회전, 우회전, 유턴 (U-Turn)과 같은 동작들을 수행하였다.
그림 8. DB 수집을 위한 운전자 행동에 따른 시선 방향 Fig. 8. The Gaze Direction according to The Driver's Action for The DB Collection
그림 8과 같이 시선 방향 분류 기준에 의거하여 시선 을 다각도로 바꾸어 DB를 구축하였다.
그림 9. 수집된 DB의 예
Fig. 9. An Example of Collected DB
DB 촬영은 오전 8시부터 오후 6시까지 2시간 간격으 로 진행되었으며, 그림 9는 촬영된 DB의 예를 보여준다.
1. 얼굴 검출 실험
수집한 DB에서 얼굴 검출률을 측정하기 위해서는 매 프레임마다 일일이 눈으로 확인해 가며 검출 여부를 검 사해야 되며, 주관적인 판단에 의해 검출을 판단하므로 시간 소요 및 신뢰성 있는 실험 결과를 얻기 힘들다. 이 에 본 논문에서는 신뢰성 있는 검출률 측정 방안을 마련 하기 위해 DB에서 시선 인식에 사용되는 특징벡터인 눈, 코, 입의 좌표를 직접 Tag하여 저장한 후, 검출률을 측정 할 때 이 좌표와 비교하는 방법을 사용하였다. 검출 성공 여부를 판단하기 위해 Tag된 점을 바탕으로 사각형을 설정하고, Tag 사각형의 꼭지 점 좌표와 검출 사각형의 꼭지 점 좌표를 추출하여 아래 절차를 통해 검출율을 측 정하였다.
1) 사각형 설정: 사각형의 중심은 코에 Tag된 좌표, 가 로 너비는 눈동자 사이 길이 × 2, 세로 너비는 오른 쪽 입술과 오른쪽 눈 끝 사이 길이 × 1.95
2) 꼭지 점들의 거리 계산
⋯
(4)
- ∼는 Tag된 사각형의 꼭지 점 좌표 - ∼ 는 검출된 사각형의 꼭지 점 좌표
3) Tag된 사각형의 대각선 길이 추정
4) 검출 성공 판단 기준
- 단, Tag된 점들은 모두 검출 사각형 안에 있어야함
시간 8시 10시 12시 14시 16시 18시
검출율(%) 81.30 83.27 84.16 80.40 80.74 82.25 표 1. 얼굴 검출 실험 결과
Table 1. Experimental Results of Face Detection
표 1은 시간대 별 얼굴 검출 실험 결과를 나타내며, 평 균 약 82.02%의 검출율을 보였다.
2. 시선 인식 실험
시선 인식 실험을 위해서 얼굴 검출이 성공한 DB에서 각 프레임마다 운전자의 시선 방향 정보를 Tag하는 작 업을 진행하였다. 그림 8과 같은 시선 방향 9가지를 토대 로 운전자가 해당 프레임에 바라보고 있는 방향을 저장 하였고, 저장된 Tag 정보를 이용하여 시선 인식률을 측 정하였다.
운전자의 눈, 코, 입의 위치 좌표를 입력 특징 벡터로 설정하고, 랜덤 포레스트 인식 알고리즘으로 시선 방향 을 인식하였다. 본 논문에서는 특징 벡터에 따른 인식률 을 비교하기 위해 아래와 같이 4종류로 입력 특징 벡터를 다르게 설정하여 실험을 수행하였다.
1) 눈 영역 및 눈동자의 x, y 좌표(12개 특징 벡터) 2) 눈 영역, 눈동자 및 코의 x, y 좌표(14개 특징 벡터) 3) 눈 영역, 입 영역의 x, y 좌표(20개 특징 벡터) 4) 눈 영역, 눈동자, 코, 입 영역의 x, y 좌표(22개 특징
벡터)
6개의 시간대별 DB를 모두 50 : 50으로 분리하여 전반 부 50을 훈련에 사용하였고, 후반부 50을 실험에 사용하 였다.
12개 특징 14개 특징 20개 특징 22개 특징 8시 72.57% 74.61% 86.18% 86.74%
10시 66.19% 70.44% 77.15% 80.17%
12시 65.34% 69.72% 79.73% 79.87%
14시 70.94% 73.90% 82.44% 84.23%
16시 72.47% 75.19% 87.28% 88.41%
18시 71.66% 76.18% 87.65% 89.19%
평균 69.86% 73.34% 83.26% 84.77%
표 2. 시선 인식 실험 결과
Table 2. 1. Experimental Results of Gaze Recognition
표 2는 시간대별 시선 인식 실험 결과를 나타내며, 22 개의 전체 특징 벡터를 사용하였을 때 평균 약 84.77%로 가장 우수한 인식율을 보였다. 결과에서와 같이 얼굴 영 역의 구성 요소 특징들이 늘어날수록 인식률이 향상하였 고, 이는 눈 영역 및 눈동자와 함께 얼굴 영역의 구성 요 소들도 시선을 인식하기 위한 중요한 특징이 될 수 있다.
Ⅴ. 결 론
본 논문에서는 스마트폰 기반의 실제 차량환경에서 운전자를 위한 시선 인식 시스템을 제안하였다. Gradient 정보와 컬러 정보를 통해 얼굴을 검출하였고, 22개의 특 징 벡터를 추출하여 랜덤 포레스트 인식 알고리즘으로 시선 인식을 수행하였다. 또한, 신뢰성 있는 얼굴 검출 및 시선 인식 실험을 위하여 수집된 DB에 Tag 작업을 진행 하였고, Tag 정보와 비교하여 자동으로 평가를 수행하였 다. 4종류로 입력 특징 벡터를 다르게 설정하여 실험을 수행한 결과 22개의 특징 벡터를 사용하였을 때 84.77%
로 가장 높은 시선 인식 성능을 확인하였고, 눈 영역 및 눈동자 이외의 얼굴 영역의 구성 요소 특징들이 시선 인 식에 중요한 특징으로 사용할 수 있음을 나타낸다.
References
[1] SW. Kim, YG. Ji, “Driver-centered context awareness service on smart vehicle,” Journal of KIISE, Vol. 29, No. 9, pp.27-34, 2011.
[2] SR. Baek, JK. Cho, JJ. Park, JH. Lim, “A Reliable Study on the Accident Reconstruction using Accident Data Recorder,” The Journal of The Institute of Internet, Broadcasting and Communication(JIIBC), Vol. 14, No. 5, pp. 179-187, 2014.
[3] LM. Son, HY. K, “A Study on the Simulator and Trouble Prediction Monitoring Methodology of the Automotive Air Conditioner,” Journal of the Korea Academia-Industrial cooperation Society(JKAIS), Vol. 14, No. 4, pp. 1568-1575, 2013.
[4] MB. Lee, “A Study of Factors Influencing the Intention to Use Smartphone,” Journal of the Korea Industrial Information System Society, Vol. 16, No.
4, pp. 139-150, 2011.
[5] SO. Choi, YP. Kim, YS. Im, YJ. Kim, EY. Kang,
“Smart Mobile Bleckbox DVR in Car Environment,”
The Journal of The Institute of Internet, Broadcasting and Communication (JIIBC), Vol. 13 No. 5, pp. 9-15, 2013.
※ 이 논문은 2014년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업
(NRF-2010-0020210) 및 2014년도 정부(교육과학기술부)의 재원으로 한국연구재단의 지원을 받아 수행된 기 초연구사업임(2014023704).
[6] J.G. Wang and E. Sung, “Study on eye gaze estimation,” IEEE Trans. System, Man, and Cybernetics-Cybernetics-Part B: Cybernetics, Vol.
32, No. 3, pp. 332–350, 2002.
[7] J. Zhu and J. Yang, “Subpixel eye gaze tracking,”
in Proc. 5th IEEE Int. Conf. Automatic Face and Gesture Recognition, pp. 124-129, 2002.
[8] B. Hu and M.H. Qiu, “A new method for human-computer interaction by using eye gaze,” in Proc. IEEE Int. Conf. System, Man, and Cybernetics, pp. 2723–2728, 1994.
[9] E. Murphy-Chutorian and M.M. Trivedi, “Head pose estimation in computer vision: A survey,”
IEEE Trans. Pattern Anal. Mach. Intell., Vol. 31, No. 4, pp. 607–626, 2009.
[10] Paul Viola, Michael Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 511-518, 2001.
[11] M Chang, M Tekalp, and I. Sezan, “Simultaneous motion estimation and segmentation,” IEEE Trans.
on IP, Vol. 6, pp. 1326-1333, 1997.
[12] JH. An, BH. Oh, and KS. Hong, "Robust Fingertip Detection Algorithm for Complex Backgrounds Using AdaBoost Algorithm," Int. Conf. Computer, Communication and Information Technology(ICCCIT), pp. 104-107, 2011.
[13] Gall J, Razavi N, and van Gool I, "An Introduction to Random Forests for Multi-class Object Detection", Outdoor and Large-Scale Real-World Scene Analysis, Springer, LNCS 7474, 243-263, 2011.
저자 소개
오 병 훈(정회원)
∙2011년 : 을지대학교 의료전산학과 (BS)
∙2013년 : 성균관대학교 전자전기컴퓨 터공학과(MS)
∙2013년 ∼ 현재 : 성균관대학교 전자 전기컴퓨터공학과 박사과정 <주관심분야 : 신호처리, 모바일, 영상처리, 패턴인식>
정 광 우(정회원)
∙1989년 : 성균관대학교 전자공학과 (BS)
∙1991년 : 성균관대학교 대학원 전자 공학과 졸업(MS)
∙1995년 : 성균관대학교 대학원 전자 공학과 졸업(Ph.D)
∙1996년 ∼ 현재 : 한국교통대학교 철 도운전시스템공학과 교수
<주관심분야 : 철도융합기술, 열차제어>
홍 광 석(정회원)
∙1985년 : 성균관대학교 전자공학과 (BS)
∙1988년 : 성균관대학교 대학원 전자 공학과 졸업(MS)
∙1992년 : 성균관대학교 대학원 전자 공학과 졸업(Ph.D)
∙1990년 ∼ 1993년 : 서울보건대학 전 산정보처리과 전임강사
∙1993년 ∼ 1995년 : 제주대학교 정보공학과 전임강사
∙1995년 ∼ 현재 : 성균관대학교 정보통신공학부 교수 <주관심분야 : 오감인식, 융합 및 재현, HCI>