CCD 카메라와 적외선 카메라의 융합을 통한 효과적인 객체 추적 시스템
Efficient Object Tracking System Using the Fusion of a CCD Camera and an Infrared Camera
김 승 훈, 정 일 균, 박 창 우, 황 정 훈
*(Seung-Hun Kim
1, Il-Kyun Jung
1, Changwoo Park
1, and Jung-Hoon Hwang
1)
1
Korea Electronics Technology Institute
Abstract: To make a robust object tracking and identifying system for an intelligent robot and/or home system, heterogeneous sensor fusion between visible ray system and infrared ray system is proposed. The proposed system separates the object by combining the ROI (Region of Interest) estimated from two different images based on a heterogeneous sensor that consolidates the ordinary CCD camera and the IR (Infrared) camera. Human's body and face are detected in both images by using different algorithms, such as histogram, optical-flow, skin-color model and Haar model. Also the pose of human body is estimated from the result of body detection in IR image by using PCA algorithm along with AdaBoost algorithm. Then, the results from each detection algorithm are fused to extract the best detection result. To verify the heterogeneous sensor fusion system, few experiments were done in various environments. From the experimental results, the system seems to have good tracking and identification performance regardless of the environmental changes. The application area of the proposed system is not limited to robot or home system but the surveillance system and military system.
Keywords: human body detection, Face detection, Human pose recognition, Object tracking, Heterogeneous image sensor fusion
I. 서론
본 논문에서는 실내 환경에서 로봇이나 지능형 홈 시스템 이 조명의 변화와 배경의 복잡성 등에 강건하게 객체를 추적 할 수 있도록, 가시광선 영상기반으로 객체의 추적과 인식을 수행하기 위한 움직임 추정(motion estimation)과 사람 형상 추 정(human shapes estimation)을 하는 추적 시스템과 조명의 변 화에 둔감한 적외선 영상을 기반으로 객체의 위치, 움직임 등을 추적하는 기술을 융합한 상황 인지 기술을 개발하였다.
본 연구의 주는 로봇과 상호작용을 하는 대상인 사람으로 가 시광선과 적외선을 동시에 사용함으로써 사람의 움직임과 자세, 얼굴 등의 인식율을 높이고자 하였다.
가시광선 영상과 적외선 영상을 융합하여 더 좋은 영상 또 는 인식 결과를 얻기 위한 몇 건의 연구가 있었다. Al- Habaibeh 등은 적외선 영상과 가시광선 영상을 이용하여 식 료품 생산 공정에서 포장제의 결합을 검사하는 연구를 수행 하였다[1]. 열영상에서는 충분한 결합열이 가해졌는지를 검사 하고, 가시광선 영상을 통해 결합부의 시각적 검사를 수행하 는 연구였다. Simard 등은 야간에 시각적 정보가 부족한 상태 에서 열영상을 실시간으로 획득하고, 사전에 구축한 가상이 미지를 융합하여 조종자가 좀더 많은 시각정보를 확보할 수 있도록 하였다[2]. 이와 유사하나 열영상과 가시광선 이미지
를 융합한 연구로는 Malviya 등의 연구[3]가 있는데, 이들은 열영상에서 획득한 객체정보를 가시광선 영상에 융합하는 연구를 수행한 바 있다.
기존의 연구들이 열영상의 가시화를 돕기 위하여 또는 각 각 별도의 목적으로 가시광선 카메라와 적외선 카메라의 이 종(heterogeneous) 센서를 사용한 경우라면, 본 연구에서는 두 영상센서에서 모두 관심 객체의 추적을 실시하고 결과를 융 합하여 최선의 결과를 도출하고자 한다.
이를 위하여 제안된 시스템은 일반 카메라와 적외선(IR:
Infrared) 카메라가 결합된 형태의 이종센서 기반으로 두 영상 에서 추정된 관심영역(ROI: Region of Interest)을 조합하여 객 체를 분리한다.
입력된 일반 카메라의 영상은 움직임을 감지하여 객체의 형태를 추정하고 이 결과에서 사람의 몸과 머리 부분을 추정 및 추출하게 된다. 적외선 카메라 영상에서는 사람의 체온 데이터를 이용하여 먼저 관심 영역을 분리하고, 분리된 영역 내에서 사람의 몸과 머리 부분을 추정한다. 추출된 사람의 형상은 형태학적 분석을 통해 어떤 행동인가를 추정하기 위 해 형상의 외각 성분을 이용하여 선 자세, 앉은 자세, 누운 자세를 구별하여 최종적으로 추적할 사람형태의 객체를 결 정한다. 적외선 카메라의 경우 주야의 구분 없이 열을 추적 함으로써 영상에서 사람을 추출할 수 있는 효율적인 장치이 나 사람의 형태와 사람의 형태가 아닌 것의 분리는 어려운 문제로 본 연구에서는 이를 위하여 사람형상을 주성분 분석 (PCA: Principal Component Analysis) 을 통해 아다부스트 (AdaBoost) [4] 방식을 이용하여 분리를 수행하였다.
각각의 카메라의 영상을 융합하기 위하여는 일반적으로
Copyright© ICROS 2011
* 책임저자(Corresponding Author)
논문접수: 2010. 11. 15., 수정: 2010. 12. 5., 채택확정: 2010. 12. 20.
김승훈, 정일균, 박창우, 황정훈: 전자부품연구원, 지능로보틱스연구센터 ([email protected]/[email protected]/[email protected]/hwangjh@keti.
re.kr)
※ 본 연구는 지식경제부 중기거점사업(10030032)에 의하여 지원되
었음.
사용되는 기하학적 특징점 기반의 이미지 모자이크 방법[5]
이 각 영상에서의 특징점이 매우 상이한 이종센서에 적합하 지 않기 때문에 내부변수를 이용하여 외부변수를 계산하는 카메라 자동보정 기술을 이용하였다.
본 연구에 사용된 이종 영상센서 장치는 가시광선 영상 카메라와 적외선 카메라를 팬틸트와 결합한 시스템으로 그 림 2와 같은 형태를 가진다. 팬틸트 장치 및 줌 카메라는 전 방향을 감시할 수 있고 균일한 해상도를 가진다는 장점을 가 지며 적외선 카메라와 줌 기능이 있는 높은 해상도의 카메라 의 결합으로 신뢰성 있는 정보를 생성할 수 있다.
II. CCD카메라를 이용한 움직임 객체 추출 및 얼굴 영역 검출
1. 움직임 객체 추출
객체 추출과정에서 환경적 요인(조명 변화, 움직임 변화, 그림자)과 시공간 배경 변화를 해결하기 위해서 먼저 전경 (foreground) 과 배경(background)의 구분이 필요하다. 추적 시 스템에서 객체를 효과적으로 검출하기 위한 대표적인 방법 은 장면차이(frame difference)와 배경차이(background difference) 가 있다. 장면차이 방법은 연속되는 프레임간의 변화를 구하 여 정지해 있는 부분을 제거하고 이동하는 부분만을 분할해 내는 방법으로 배경 제거에는 용이하지만 정지해 있는 물체 도 함께 제거되는 단점이 있다. 배경 차이 방법은 움직이는 물체가 없는 배경 영상과 움직임이 존재하는 입력 영상의 차 분을 취함으로써 배경 부분을 제외한 이동 물체를 분할하기 는 쉽지만 정확한 배경 영상을 획득하기에는 어려움이 있다.
짧은 시간 간격 사이에 기억시킨 두 영상의 차이는 물체의 이동 또는 운동에 관한 사항을 측정하거나 인식하는데 있어
서 기초 지식이 될 수 있다. 이 두 영상으로부터 동일한 물 체의 차이는 물체가 이동한 거리와 방향 그리고 물체의 운동 속도로 표현할 수 있다. 세밀한 광강도를 가진 두 개의 연속 된 영상의 변화를 연속적 흐름으로 나타낼 수 있으며, 이를 광류(optical flow)라고 부른다[6]. 본 논문에서는 움직임 객체 를 찾아 내기 위해 광류를 이용한 루카스-카나데 광류(Lucas- Kanade optical flow) 를 사용하여 방향성분을 오른쪽, 왼쪽, 위 쪽, 아래쪽의 4방향으로 나누어 분할한다. 카나데 광류는 원 영상에 가우시안 피라미드를 적용하여 두 영상간에 있는 픽 셀의 변화 벡터를 구할 수 있으며 움직임 정보는 색과 모양 변화에 강인한 결과를 얻을 수 있다. 또한 광류를 계산할 때, 반복적 계산을 없앴기 때문에 실시간으로 구현 가능하다는 장점이 있다.
광류는 아래와 같이 정의되며 체인법칙(chain rule)에 의해 다음과 같은 수식을 얻을 수 있다.
( , , ) 0
( , , ) ( , , ) ( , , ) ( , , ) ( , , ) 0
C
C C C
x y
dS x y t dt
S x y t S x y t S x y t
v x y t v x y t
x y t
=
∂ + ∂ + ∂ =
∂ ∂ ∂
여기서 S x y t 는 두 영상의 밝기 차이이며, ( , , )
C( , , ) v x y t =
x/ ,
dx dt v x y t
y( , , ) = dy dt / 이다.
광류는 가로, 세로의 변화뿐만 아니라 시간상의 변화와 노 이즈도 함께 고려되며 다음 식과 같이 간략하게 계산된다.
( , , ) ( ( , , )) ( , , ), ( , , )
C0
OF
v x y t S x y t v x y t
CS x y t
ε =< ∇ > + ∂ t =
∂ ( , , )
T
C C
C
S S
S x y t
x y
∂ ∂
∇ = ∂ ∂
[
1 2]
( , , ) ( , , ) ( , , )
Tv x y t = v x y t v x y t 광류의 오차는 다음과 같이 계산된다.
( )
2
, OF
x y R
E ε
∈
= ∑
배경이나 움직임을 이용하여 분리된 객체들 중에서 일정 한 크기 이상을 갖는 영역은 객체의 후보가 된다. 하지만 영 상 내의 노이즈나 작은 틈 등의 오류에 의해 완전한 후보 영 역을 검출하기 어렵기 때문에 추출된 픽셀들의 방향 성분을 3×3 의 영역을 설정하여 평균치를 해당 영역의 방향 성분으 로 간주하고 영상 내의 차분을 통해 미리 지정한 일정 크기 역치(threshold) 이상의 값만 취함으로써 오류를 최소화 할 수 있다[7]. 또한 연속된 프레임에서 움직임을 추출하여 영상 좌 표를 기준으로 오른쪽, 왼쪽, 위쪽, 아래쪽의 4방향으로 객체 움직임을 분할하고 형태학적 연산(morphological operation)을 적용하여 영역의 작은 틈(hole)을 제거하였다.
( , ) 1
1 ( , ) ( , ) ,
i
i t t
x y R i
D I x y I x y
N
∈ −= ∑ −
여기서 R은 차이점을 검사할 영역이며 N은 전체 픽셀의 개 수이다. 시간 t상에서 D
i는 두 영상의 밝기 ( , I I
i t+1) 의 차이 이며 속도의 크기 ( ) d
i가 미리 정한 임계치 ( ) T 값보다 작 그림 1. 객체 추적 시스템 프레임워크.
Fig. 1. Tracking system framework.
그림 2. 객체 추적 시스템.
Fig. 2. Object tracking system.
은 경우 속도 ( ) V 는 제거된다.
it, ,
0, ,
t it i
i
i
v d T
v d T
>=
<=
1 1 2 1 2
0
( ) ( )
K t t t t
i i i i i
t
d x x y y
− + +
=
= ∑ − + −
본 논문에서 제안한 회전 모듈의 회전에 의해 전체 영상에 서 같은 방향의 움직임 성분들을 확인할 수 있다[8,9]. 이러 한 성분들을 제거하기 위해 왼쪽, 오른쪽, 위, 아래의 4방향 으로 방향을 분류하여 각각의 평균적인 움직임을 측정하고 측정된 평균움직임과 다른 방향성만을 객체가 움직인 지역 으로 분류한다.
사람이 이동할 경우 전체적인 몸의 이동방향과 부분적인 팔, 다리의 움직임 방향은 반대일 수 있기 때문에 일정치 않 은 움직임을 보이며 간헐적으로 움직이는 회전 모듈에 의한 오차도 있으므로 이러한 문제점을 제거하기 위해 배경을 포 함한 전체 영상에서 나타나는 움직임 값의 평균을 카메라의 움직임으로 보고 실제 움직임에서 제거하였고 노이즈와 같 은 작은 움직임 또한 모폴로지를 사용하여 제거하였다.
2. 얼굴 영역 검출
본 논문에서는 얼굴 영역 검출을 하기 위해 얼굴 피부 컬 러 모델을 사용한 하르(haar) 모델을 적용하였다. 하르 얼굴 검출기는 대략적인 얼굴 검출 수준에서 빠른 검출이 가능하 기 때문에 많은 시스템에서 사용된다[10,11].
얼굴 피부 컬러 모델은 사람의 얼굴 영역의 색상을 미리
구분지음으로써 얼굴이 있는 영역과 없는 영역으로 구분된 다. 그림 4는 RGB, YCbCr, HIS 모드로 변환된 영상에서 다각 형 내부에 존재하는 컬러들만의 히스토그램을 추출하여 역 투영(back-projection)을 하였을 때의 결과이다. 이처럼 미리 정한 영상의 영역에서만 특징을 파악하고 비교함으로써 조 금 더 빠른 성능을 구할 수 있다.
그림 5는 움직임이 발생하는 상황에서 얼굴 검출이 실제 로 스케일 성분에 얼마나 영향을 받는지 알아보기 위해 얼굴 영역에 대한 자동 초점을 수행한 결과이다. 얼굴 영역의 경 우 주위에 비슷한 패턴을 보이는 경우가 있지만 피부색을 적 용하였을 경우 충분히 제거 할 수 있었다.
III. 적외선 카메라를 이용한 얼굴 및 사람 형상 추출 및 자세 인식 1. 얼굴 및 사람 형상 추출
적외선 영상에서 사람의 형상은 많은 열 데이터를 갖기 때 문에 주변환경의 열보다 높은 수치를 보인다. 이러한 높은 열 영상의 데이터 내에서 국부적인 열 값의 존재를 확인하여 객체를 분할(segmentation)을 할 수 있다[12]. 본 논문에서는 히스토그램을 이용한 국부적 열 데이터를 찾음으로써 객체 를 추출하고 추출된 객체의 최 외각성분을 분석하여 사람의 형상인지 아닌지를 판단하는 방법을 사용하였다[13]. 히스토 그램은 간단하게 미리 정한 영역의 데이터 개수로 표현이 가 능하다. 이러한 영역을 그리드 셀(grid cell)이라 하고 수평 수 직방향으로 그리드 셀 내에 있는 데이터의 빈도수(bin)의 또 는 지역내의 그레디언트 크기(gradient magnitudes)를 누적시켜 축 방향의 데이터 분산 값을 얻을 수 있다. 이러한 분산 값 들의 통계적인 특징들을 이용하여 객체의 위치를 쉽게 추정 할 수 있다. 수평, 수직방향의 데이터의 분산 값은 다음과 같 이 표현 된다[8].
0
( )
m i
Pixel i mean = ∑
=m
( ) ( ) D i = Pixel i − mean
( ) 0 Histogram i ( )
D i
=
( ) 0 ( ) 0 D i D i
α α + <
+ ≥ 그림 3. 움직임에 따른 방향성 성분의 분할과 객체 추출.
Fig. 3. Segmentation of movement direction components and extraction of the object.
(a) Face area. (b) RGB.
(c) YCbCr. (d) Hue-Saturation.
그림 4. 얼굴 피부 색상 모델.
Fig. 4. Face skin-color model.
그림 5. 움직임 영역(붉은사각형)과 얼굴 영역(파랑사각형) 검출.
Fig. 5. Area of movement (Red) and facial area (Blue) detection.
그림 6. 히스토그램과 얼굴영역(위사각형) & 몸영역(아래사각 형).
Fig. 6. Histogram and face (square on the upper side) & body (square on the lower side) area.
{ ( )
0n m} Head = ArgMax Histogram n
< <Body left=Histogram(i), if Histogram(i) < 0 and Histogram(i-1) 0 and 0 < i < Head}
Body right=Histogram(i), if Histogram(i) 0 and Histogram(i+1) < 0 and Head <i <m}
≥
≥
여기서 m 은 데이터의 개수 이며 α 는 임계치 이다. ‘Body left’ 와 ‘Body right’는 몸 영역의 왼쪽, 오른쪽의 최대 위치이다.
그림 6과 같이 두 축에 대한 히스토그램을 이용하여 평균 보다 높은 값을 가지는 영역들은 몸 부분의 후보 영역이 될 수 있다. 적외선 영상에서 얼굴 영역은 몸 부분의 내부에 존 재하며 국부적으로 가장 큰 온도 값을 가지고 가장 넓은 영 역으로 추정 할 수 있다. 그림 6과 같이 상단의 사각형은 얼 굴영역을 나타내고 하단의 사각형은 몸 영역을 나타낸다.
2. 자세 인식
적외선 카메라의 경우 사람의 열영상 뿐만 아니라 모니터, 열기구 등 여러 오류 패턴들이 존재한다. 사람의 형상과 기 타 형상을 분리하기 위하여 사람의 형상을 선자세, 앉은자세, 누운자세로 모델링하고 이외의 형상을 아다부스트 분류기를 이용하여 분리할 수 있었다. 형상의 분류에는 외각의 성분을 이용한다. 사람의 외각 성분은 주어진 입력 영상으로부터 적 당한 기준점을 객체의 윤곽선에 할당한다. 이 작업은 대부분 수동으로 이루어진다 바람직한 기준점은 한 영상에서 기준 점으로 선택된 특징 점으로 연결되어 있어야 한다. 본 논문 에서는 외각 선분의 코사인 각을 이용하여 k개의 객체의 외 각 성분을 추출하며 순서는 다음과 같다.
1) 다음과 같이 물체의 외곽선을 검출한다.
{
i( , )
i i1,2,.., } C = p = x y i = N
여기서 p 는 외곽선의 좌표이며, n 은 외곽선을 구성하는 화소 수이다.
2) 모든 외곽선 상의 화소 ( ) p 와 i k
i+ 와 i k − 번째 외곽 선상의 화소를 잇는 벡터를 구한다.
( , )
( , )
ik i i k i i k
ik i i k i i k
a x x y y
b x x y y
+ +
− −
= − −
= − −
3) 구해진 두 벡터에 의한 p
i의 k-코사인 함수 ( f (i ))를 아 래와 같이 구한다.
( ) cos
ikcos
ik ikik ik
a b f i = θ = θ = a b •
4) 잡음을 제거하기 위하여 구해진 k-코사인에 아래의 가 우시안 함수를 컨볼루션하여 평활화를 수행한다.
2 ( 2)
1
2( , ) 2
i
G i σ e
σσ π
−
=
5) 평활화된 f i 의 임계치보다 큰 극대값을 특징점으로 ( ) 지정한다. 2차원 영상에서 우리는 n개의 기준점을 2n 차원의 벡터를 사용해서 다음과 같이 표현 할 수 있다.
1 1
x [ ,..., , ,..., ] = x x y
ny
nT본 논문에서는 기준점의 수를 n=36로 했다. 이는 외각 성 분의 최외각 성분의 각도를 10도씩 나누었을 때 보이는 형상 을 기준점으로 정했기 때문이다. 또한 초기값으로 설정된 기 준점은 계속 유지되는 것이 아니라, 각각의 기준점에서 경계 의 수직방향에 따라 추적하는 객체의 실제 윤곽과의 편차를 최소화하는 방향으로 갱신된다. n개의 기준점의 집합은 객체 의 형태를 표현한다. 훈련 집합에서 각각의 형태는 2차원 공 간에서 존재하지만, 우리는 주성분 분석(PCA) 기술을 기반으 로 하여 좀더 적은 수의 변수를 가지고 객체의 형태를 모델 링 할 수 있었다.
훈련 집합에서 m개의 형태를 가지고 있다고 가정하고 단 계별로 주성분 분석 알고리즘을 살펴보면 다음과 같다. 여기 서 x는 각각의 형태에 따른 훈련 집합을 의미한다(i=1,2,…,m).
훈련 집합에서 m개의 표본 형태의 평균을 구한다.
1
1
mi i
x x
m
== ∑
훈련 집합으로부터 공분산 행렬(covariance matrix)을 구한다.
1
1
m(
i)(
i) .
TS
ix x x x
m
== ∑ − −
공분산 행렬로부터 다음과 같은 값을 얻을 수 있다.
1 2
[ | | | ], φ φ φ
qΦ = ⋅⋅⋅
여기서 φ (단, i =1,…,
iq 는 S 에서 q 개의 가장 큰 고유값 ) (eigen value) 에 해당하는 고유벡터(eigen vector)를 의미한다.
주어진 Φ 와 x 로 부터 각각의 형태는 다음과 같이 간략 화 시킬 수 있다.
i i