상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 이동 객체 추적 장치는, 회동 가능한 카메라의 촬영 영역에 존재하는 배경을 촬영한 복수의 배경 영상 프레임이 각각의 배경 영상 프레임의 촬영시 카메라의 회전각도와 연계되어 저장되는 저장부; 상기 카메라의 회전각도를 기초로 상기 저장부로부터 검색한 배경 영상 프레임과 상기 카메라로부터 입력되는 영상 프레임의 차이값으로부터 상기 입력된 각각의 영상 프레임 내에 촬영된 객체를 검출하고, 이웃하는 영상 프레임으로부터 검출된 객체의 위치에 의해 객체의 움직임을 파악하여 이동 객체를 검출하는 이동 객체 검출부; 및 검출 대상의 형태를 가지는 복수의 모델 객체로 구성된 훈련집합을 기초로 이동 객체에 대응하는 모델 객체를 산출하고, 상기 산출된 모델 객체를 상기 영상 프레임에 존재하는 상기 이동 객체에 매칭시킨 후 상기 영상 프레임 내에서의 상기 매칭된 모델 객체의 위치를 기초로 상기 이동 객체의 움직임을 추적하여 상기 카메라의 각도 변경 정보를 산출하는 이동 객체 추적부;를 구비한다.
또한 상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 이동 객체 추적 방법은, 회동가능한 카메라의 회전각도를 기초로 상기 카메라의 촬영 영역에 존재하는 배경을 촬영한 배경 영상으로부터 얻어지고 상기 배경 영상의 촬영시 카메라의 회전각도와 연계되어 저장되어 있는 복수의 상기 배경 영상 프레임으로부터 상기 카메라로부터 입력되는 영상 프레임에 대응하는 배경 영상 프레임을 검색하는 배경 영상 프레임 검출단계; 상기 카메라로부터 입력되는 영상 프레임과 검색된 배경 영상 프레임의 차이값으로부터 상기 입력된 영상 프레임에 존재하는 객체를 검출하고, 이웃하는 영상 프레임으로부터 검출된 객체의 위치에 의해 움직임이 존재하는 이동 객체를 검출하는 이동 객체 검출단계; 및 검출 대상의 형태를 가지는 복수의 모델 객체로 구성된 훈련집합을 기초로 상기 이동 객체에 대응하는 모델 객체 를 산출하고, 상기 산출된 모델 객체를 상기 카메라로부터 입력된 영상 프레임에 존재하는 상기 이동 객체에 매칭시킨 후 상기 영상 프레임 내에서의 상기 매칭된 모델 객체의 위치를 기초로 상기 이동 객체의 움직임을 추적하여 상기 카메라의 각도 변경 정보를 산출하는 객체 추적단계;를 갖는다.
이에 의해, 배경의 움직임 효과를 제거하여 이동 객체를 정확하게 검출할 수 있고, 이동 객체의 가림 현상이 발생하거나 조명이 변화되는 환경에서도 이동 객체 추적이 가능하다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 이동 객체 추적 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 이동 객체 추적 장치에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 이동 객체 추적 장치는 저장부(110), 이동 객체 검출부(120), 이동 객체 추적부(130), 카메라 구동부(140), 확대 영상 촬영부(150) 및 정면 화상 검출부(160)를 구비한다.
저장부(110)는 카메라의 촬영 영역에 존재하는 배경을 촬영하여 생성된 복수의 배경 영상 프레임을 각각의 배경 영상 프레임의 촬영시의 카메라의 회전각도와 연계하여 저장한다. 이때 카메라는 PTZ(Pan/Tilt/Zoom) 카메라와 같이 회동가능하게 제작되어 정지영상 또는 동영상을 취득하는 장치이다. 카메라의 촬영 영역은 이동 객체 추적의 대상이 되는 공간이며, 카메라가 상하좌우로 회동됨으로써 카메라의 촬영 영역 내에 존재하는 배경을 빠짐없이 촬영할 수 있다. 저장부(110)에 저장 된 배경 영상 프레임은 촬영된 영상 프레임 중에서 선택된 영상 프레임 또는 일정한 각도별로 선택된 영상 프레임이다.
도 2a 내지 도 2c에는 배경 영상 프레임의 예가 도시되어 있다. 도 2a 내지 도 2c에 도시된 바와 같이 배경 영상 프레임을 카메라의 촬영 영역 내의 배경 중에서 이동 객체의 가능한 이동경로에 해당하는 프레임이 선택된다. 또한 배경 영상 프렘임은 이웃하는 배경 영상 프레임들이 서로 중복되는 영역을 가지도록 선택되는 것이 바람직하다. 이때, 각각의 배경 영상 프레임에는 해당 프레임의 촬영시의 카메라의 수평 회전 각도와 수직 회전 각도가 연계되어 저장된다. 장비의 운영자가 모니터에 출력된 배경 영상으로부터 배경 영상 프레임으로 설정할 프레임을 선택하면, 해당 프레임의 촬영 각도(즉, 수평 회전 각도 및 수직 회전 각도)가 선택된 프레임과 함께 저장부(110)에 저장된다. 이때 카메라의 줌인(Zoom In) 정도에 대한 정보가 함께 저장될 수 있다. 줌인 정보는 카메라의 줌인 정도에 관한 정보로서, 일예로 배율이 최소일 때 1로 설정되고 배율이 최대일 때 10으로 설정될 수 있다.
도 3은 카메라의 수평각도와 수직각도의 일 예를 도시한 도면이다. 도 3을 참조하면, 수평 회전 각도(φ)는 카메라가 기준선으로부터 수평방향으로 이동한 각도이고, 수직 회전 각도(θ)는 카메라가 기준선으로부터 수직방향으로 이동한 각도이다. 표 1 내지 표 3에는 각각 도 2a 내지 도 2c에 도시된 배경 영상 프레임과 연계되어 저장되는 수평 회적 각도, 수직 회전 각도 및 줌인 정보가 기재되어 있다.
배경 영상 프레임 |
수평 회전 각도 |
수직 회전 각도 |
줌인 |
프레임1 |
0° |
40° |
2 |
프레임2 |
10° |
40° |
2 |
프레임3 |
20° |
40° |
2 |
배경 영상 프레임 |
수평 회전 각도 |
수직 회전 각도 |
줌인 |
프레임1 |
20° |
0° |
2 |
프레임2 |
20° |
10° |
2 |
프레임3 |
20° |
20° |
2 |
배경 영상 프레임 |
수평 회전 각도 |
수직 회전 각도 |
줌인 |
프레임1 |
20° |
0° |
6 |
프레임2 |
20° |
0° |
4 |
프레임3 |
20° |
20° |
1 |
이동 객체 검출부(120)는 현재 카메라의 회전각도를 기초로 저장부(110)로부터 검색한 배경 영상 프레임과 현재 카메라로부터 입력되는 영상프레임의 차이값으로부터 입력된 영상 프레임 내에 존재하는 객체를 검출한다. 다음으로 이동 객체 검출부(120)는 이전의 영상 프레임으로부터 검출된 객체와 현재의 영상 프레임으로부터 검출된 객체의 위치 차이에 의해 객체의 움직임을 파악하여 객체의 이동여부를 검출한다. 이를 위해 이동 객체 검출부(120)는 객체 검출부(122)와 이동 탐지부(124)를 구비한다.
객체 검출부(122)는 저장부(110)에 저장되어 있는 배경 영상 프레임 중에서 배경 영상 프레임과 연계되어 있는 촬영시의 회전각도와 카메라의 회전각도의 차이가 최소인 배경 영상 프레임을 검색한다. 이때, 객체 검출부(122)는 카메라의 회전각도를 내림하여 구한 회전각도에 대응하는 배경 영상 프레임을 검색하거나 회전각도를 올림하여 구한 회전각도에 대응하는 배경 영상 프레임을 검색할 수도 있다.
객체 검출부(122)는 검색된 배경 영상 프레임과 카메라로부터 입력되는 영상 프레임의 차이값으로부터 입력된 각각의 영상 프레임 내에 촬영된 객체를 검출한다. 차이값은 영상 프레임의 픽셀(pixel)별로 명도값 또는 색상정보를 차분하여 구해지며, 색상정보인 경우 빨간색, 초록색, 파란색 색상 성분별로 구해진다. 픽셀별 명도값 또는 각 색상값의 차이값(Dk(x,y))은 다음의 수학식 1에 의해 구해진다.
여기서, Ik는 K번째 입력된 영상 프레임이고, Ij(x,y)는 검색된 배경 영상 프레임이다. 또한 Ik(x,y)는 Ik에서 x,y번째 명도값 또는 각 색상별 색상값이다.
수학식 1에 의해 산출된 차이값이 영이 아닌 영역은 배경 영상 프레임에 존재하지 않는 새로운 객체를 의미한다. 따라서 수학식 1에 의하여 현재 입력받은 영상 프레임과 배경 영상 프레임의 차이값으로부터 객체를 검출할 수 있다. 도 4는 검출된 객체의 예가 도시된 도면이다. 도 4를 참조하면, 현재 입력받은 영상 프레임(420)과 배경 영상 프레임(430)의 차이값으로부터 객체(410)가 검출된다.
이동 탐지부(124)는 현재 영상 프레임에서 검출된 객체와 참조 영상 프레임으로부터 검출된 객체의 위치의 차이로부터 객체의 움직임을 파악하여 이동 객체를 검출한다. 참조 영상 프레임은 현재 영상 프레임 바로 이전에 촬영된 영상 프레임 이거나 현재 영상 프레임 이전에 촬영된 영상 프레임들 중에서 소정의 시간 간격 전에 촬영된 영상 프레임이다. 시간 간격은 추적 대상 객체의 일반적인 움직임 속도에 따라 설정되며, 실험적으로 1/24초 또는 1/12초로 설정된다. 따라서 초당 24 프레임이 촬영되는 경우에 시간 간격을 1/24초로 설정하면, 현재 영상 프레임 바로 이전에 촬영된 영상 프레임이 참조 영상 프레임이 된다.
상술된 방식에 의해 이동 탐지부(124)는 참조 영상 프레임과 현재 영상 프레임으로부터 검출된 객체의 위치변화를 검출하여 객체의 움직임을 탐지한다. 배경 영상 프레임이 동일하면 배경 영상 프레임에 각각의 객체를 위치시킨 후 위치 차이 및 크기 차이를 산출하여 객체의 움직임을 탐지한다. 이와 달리 배경 영상 프레임이 상이하면 각각의 대응되는 배경 영상 프레임에 위치시킨 후 양 배경 영상 프레임의 중복 영역을 제거하고, 두 객체의 위치 차이 및 크기 차이를 산출하여 객체의 움직임을 탐지한다. 도 5는 이동 탐지부(124)가 객체의 움직임을 탐지하는 예를 도시한 도면이다. 도 5를 참조하면, 이동 탐지부(124)는 배경 영상 프레임(530)이 동일한 경우 현재 영상 프레임(510)으로부터 검출된 객체(512)와 참조 영상 프레임(520)으로부터 검출된 객체(522)를 각각 배경 영상 프레임(530)의 대응되는 좌표의 위치로 이동시킨 후 두 객체(512, 522)의 위치의 차이와 크기 차이를 산출하여 객체의 움직임을 탐지한다.
이동 객체 추적부(130)는 검출 대상의 형태를 가지는 복수의 모델 객체로 구성된 훈련집합을 기초로 이동 객체 검출부(120)가 검출한 이동 객체에 대응하는 모델 객체를 산출한다. 또한 이동 객체 추적부(130)는 산출된 모델 객체를 영상 프레임에 존재하는 이동 객체에 매칭시킨 후 영상 프레임 내에서의 매칭된 모델 객체의 위치를 기초로 이동 객체의 움직임을 추적하여 카메라의 각도 변경 정보를 산출한다. 이를 위해 이동 객체 추적부(130)는 모델 산출부(132)와 모델 매칭부(134)를 구비한다.
모델 산출부(132)는 검출 대상의 형태를 가지는 복수의 모델 객체로 구성된 훈련집합으로부터 고유벡터를 산출하고, 산출된 고유벡터를 기초로 이동 객체 검출부(120)가 검출한 이동 객체에 대응하는 모델 객체를 산출한다. 검출 대상이 사람인 경우에 훈련집합을 구성하는 모델 객체는 다양한 형태의 사람형상으로 이루어진다. 이러한 훈련집합은 저장부(110) 또는 별도의 저장수단에 저장되어 있다.
훈련집합에 속하는 모델 객체는 영상 추적 대상 이동 객체의 각 형태를 포함하는 영상 프레임으로부터 객체를 검출하고 필터링하여 생성한 객체이다. 이러한 모델 객체는 배경이 안정된 상태에서 검출 대상에 해당하는 객체를 촬영한 후 객체 영역을 추출하여 얻어진다. 필터링은 검출된 객체의 홀을 채우고 객체로부터 잡음을 제거하는 형태학적 필터링(Morpological filtering)에 의해 행해진다. 도 6은 필터링된 모델 객체의 예를 도시한 도면이다. 도 6에 도시된 모델 객체는 도 4에 도시된 객체(410)에 대응하는 형태를 갖는 모델 객체이다.
한편, 훈련집합을 속하는 모델 객체들의 무게중심이 동일한 좌표값을 갖고 머리와 다리는 지나는 중심축이 동일한 방향을 갖기 위해 필터링된 모델 객체에 대한 이동과 회전이 필요하다.
도 7은 검출된 객체를 좌표축 상의 원점으로 이동하고 회전하는 방법을 도시한 도면이다. 도 7을 참조하면, 검출된 객체(710)의 무게중심은 좌표축의 원점으로 이동되고, 이동된 객체(720)의 중심축(722)은 회전되어 모델 객체(730)의 중심축이 수직 좌표축과 일치된다. 도 8은 이동 및 회전된 모델 형태의 예를 도시한 도면이 다. 도 8을 참조하면, 각 모델 객체의 중심점들(810, 820, 830, 840)이 영상 프레임 내에서 동일한 좌표값(즉, (80,140))을 가지며, 중심축은 동일한 방향을 갖는다.
다음으로 모델 산출부(132)는 이동 및 회전된 각각의 객체에 대해 모델 전체 윤곽을 유지할 수 있는 특징점을 기준점으로 할당한다. 따라서 하나의 객체에 할당된 기준점의 집합이 하나의 모델 객체의 형태를 형성하며, 훈련집합은 각 모델 객체의 기준점의 집합이 모여 형성된 집합이다. n개의 기준점을 갖는 기준점 집합(X)은 다음의 수학식 2와 같이 벡터에 의해 표현된다.
여기서, xn은 x축의 좌표값이며, yn은 y축의 좌표값이다.
본 발명에 따른 이동 객체 추적 장치는 하나의 모델 객체에 대한 기준점의 수를 n=42로 하며, 이러한 기준점의 수는 구체적인 구현예에 따라 변경될 수 있다. 본 발명에 따른 이동 객체 추적 장치에 사용되는 훈련집합의 일 예가 도 9에 도시되어 있다. 도 9를 참조하면, 훈련집합은 다양한 형태를 갖는 모델 객체를 포함하며, 각각의 모델객체는 동일한 방향의 중심축을 갖는다.
또한, 모델 산출부(132)는 주요 요소 분석(Principal Component Analysis:PCA) 알고리즘을 통해 훈련집합으로부터 고유벡터를 산출한다. 훈련집합의 각 모델 객체의 형태는 2차원 공간에서 존재하는 형태를 가지며, PCA 알고리즘 은 모델 객체를 기존보다 더 적은 수의 변수를 가지는 객체의 형태로 변환한다. 본 발명에서 훈련집합이
개의 형태를 가지고 있다고 가정하면, 모델 산출부(132)는 다음과 같은 단계를 수행하여 고유 벡터를 산출한다. 먼저, 모델 산출부(132)는 훈련 집합에서 m개의 표본형태의 평균을 구한다. 훈련 집합의 모델 객체의 평균(
)은 다음의 수학식 3에 의해 구해진다.
여기서, xi는 i 번째의 기준점 집합이다.
이어서, 모델 산출부(132)는 다음의 수학식 4에 의해 훈련집합으로부터 공분산 행렬(Covariance matrix)을 구한다.
여기서, S는 훈련집합으로부터 산출된 공분산 행렬이다.
다음으로, 모델 산출부(132)는 공분산 행렬로부터 고유벡터를 산출한다. 고유벡터는 다음의 수학식 5로 표현된다.
여기서, Φi (단, i=1,…,q)는 S에서 q개의 가장 큰 고유값(eigen value)에 해당하는 고유벡터(eigen vector)를 의미한다.
모델 산출부(132)가 고유벡터를 산출하는 개수인 q값은 훈련집합의 전체적인 분산값의 98%에 해당되는 모델 객체의 개수로 설정된다. q값에 따라 모델 변수의 데이타 크기와 정보의 복원 정도가 달라진다.
각각의 모델 객체는 산출한 고유벡터(Φ)와 훈련 집합의 모델 객체의 평균(
)으로 다음의 수학식 6으로 표현된다.
여기서, b
i는 Φ
T(x
i-
)로서 변형 가능한 모델 변수의 집합을 의미한다.
도 10a와 도 10b는 각각 PCA 알고리즘 수행 전과 수행 후의 기준점의 분포를 도시한 그래프이다. 도 10a에 도시된 각 점(1010) 들은 수학식 6에 의해 도 10b에 도시된 평균점(
)을 지나는 직선 위에 위치한 점(1020)들로 변환된다.
한편, 고유벡터(Φ)와 모델 객체의 평균(
)을 산출하는 과정은 추가적인 연산 및 수행시간이 요구되므로, 사전에 산출되어 저장부(110) 또는 별도의 저장영역에 저장되어 있는 고유벡터(Φ)와 모델 객체의 평균(
)을 사용하는 것이 바람직하다. 즉 바람직한 실시형태로 본 발명에 다른 이동 객체 추적 장치의 모델 산출부(132)는 훈련집합으로부터 고유벡터(Φ)와 모델 객체의 평균(
)을 산출하지 않고, 사전에 저장된 고유벡터(Φ)와 모델 객체의 평균(
)를 이용하여 모델 객체를 산출한다.
모델 산출부(132)는 산출된 고유벡터를 기초로 이동 객체에 대응하는 모델 객체를 산출한다. 모델 산출부(132)는 모델 변수의 값을 변경시킴으로써 다음의 수학식 7이 최소가 되는 모델 객체를 이동 객체에 대응하는 모델 객체로서 산출한다. 모델 변수(bi)의 변경에 의해 모델 객체의 기준점(xi)의 위치가 이동되고, 결과적으로 모델 객체의 형태가 변화된다.
여기서, x는 모델 객체의 좌표이고, y는 이동 객체의 좌표이며, W는 대각행렬로서 W의 각 대각성분은 각각 기준점에 대한 가중치 값을 나타낸다. 그리고 M은 회전성분(θ), 전이성분(t) 및 스케일링 성분(s)로 이루어진 기하학적인 변환 행렬로 다음의 수학식 8로 표현된다.
여기서, [x0,y0]T은 하나의 점을 나타내는 행렬이다.
대각행렬(W)의 대각성분인 가중치 값은 객체의 윤곽을 따라 선택된 이전의 기준점과 갱신된 기준점 사이 값의 변위에 따라 정해진다. 기준점의 변위가 크면 클수록 가중치 값은 작아지고, 반면에 기준점의 변위가 작아질수록 가중치 값은 커 진다.
도 11은 모델 산출부(132)가 훈련집합으로부터 이동 객체에 대응하는 모델 객체를 산출하는 과정을 도시한 흐름도이다.
도 11을 참조하면, 모델 산출부(132)는 먼저 모델 변수(bn)를 0으로 설정하여 수학식 6에 의해 모델 객체를 산출한다(S1100). 다음으로 모델 산출부(132)는 이동 객체(y)와 산출된 모델 객체를 기초로 변환행렬(M)을 산출한다(S1110). 이어서 모델 산출부(132)는 산출된 변환행렬(M)의 역행렬(M-1)을 구하고, 다음의 수학식 9에 의해 이동 객체의 좌표(y)를 모델 객체의 좌표 형태(xp)로 변환시킨다(S1120).
다음으로, 모델 산출부(132)는 다음의 수학식 10에 의해 이동 객체의 변환된 좌표(xp)에 의해 변화된 모델 변수(bn+1)를 산출한다(S1130).
다음으로, 모델 산출부(132)는 산출된 모델 변수의 값(bn +1)과 전 단계 모델 변수의 값(bn) 사이의 변화가 소정의 설정값 이하인지를 확인한다(S1140). 만약 모델 변수의 차이값이 설정값보다 크면 모델 산출부(132)는 차이값이 설정값 이하가 될 때까지 S1110단계 내지 S1140단계를 반복적으로 수행한다. 이와 달리, 모델 변 수의 차이값이 설정값 이하이면 모델 산출부(132)는 최종적으로 산출된 모델 변수를 기초로 수학식 6에 의해 모델 객체를 산출한다(S1150). 이때, 산출된 모델 객체는 수학식 7이 최소가 되게 하는 모델 객체이다.
모델 매칭부(134)는 모델 산출부(132)가 산출한 변환행렬(M)을 산출된 모델 객체에 곱하여 입력된 영상 프레임의 이동 객체에 결합시킨다. 모델 매칭부(134)가 이동 객체의 정확한 형태를 검출하기 위해서 이동 객체와 산출된 모델 객체를 정합시키는 기준점의 집합을 찾아야 한다. 이러한 기준점의 집합을 찾는 것이 산출된 모델 객체를 이동 객체에 매칭시키는 것이며, 기준점의 집합을 찾는 방법은 다양하다.
일 예로서 모델 매칭부(134)는 능동형태모델의 한 방법인 지역구조 모델링에 의해 기준점의 집합을 찾을 수 있다. 도 12는 모델 매칭부(134)가 수행하는 지역구조 모델링을 도시한 도면이다. 도 12를 참조하면, 모델 매칭부(134)는 산출된 모델 객체를 구성하는 각각의 기준점(1210)에 대하여 이웃하는 기준점들(1220, 1230)을 연결한 직선(1240)의 법선 방향(1250)으로 존재하는 픽셀 중에서 기준점을 포함하는 소정 개수(예를 들면, 9개)의 픽셀에 대한 명도값을 산출한다. 예를 들면, 모델 매칭부(134)는 기준점에서 모델 객체의 내측 방향으로 k의 픽셀을 검출하고, 외측 방향으로 k개의 픽셀을 산출하여 총 2k+1개의 픽셀에 대한 명도값을 산출한다.
모델 매칭부(134)는 훈련집합에 포함되어 있는 모델 객체 중에서 설정된 값에 따라 모델 객체를 선택하고, 선택된 모델 객체를 구성하는 각각의 기준점에 대하여 동일한 방식으로 명도값을 산출한다. 모델 객체 선택 개수는 하나 이상부터 전체 모델 개수 범위 내에서 설정된다. 이때 훈련집합에 포함되어 있는 모델 객체의 각각 기준점에 대해서 이웃하는 기준점들을 연결한 직선의 법선 방향으로 존재하는 픽셀 중에서 내측 방향으로 k의 픽셀과 기준점과 외측 방향으로 k개의 픽셀에 대한 명도값은 사전에 저장되어 있다.
이때 모델 매칭부(134)는 계산량 및 명도값의 변화량에 따른 기준점 왜곡 현상을 줄이기 위해 다음의 수학식 11에 의해 산출한 명도값을 정규화한다. 그러나 명도값에 대한 계산량이 크지 않다면 정규화를 이행하지 않고 다음의 과정을 수행해도 무방하다.
여기서, gj는 선택된 모델 객체의 기준점이고, i는 명도값이 산출된 픽셀의 개수이다.
모델 매칭부(134)는 선택된 모든 모델 객체의 각 기준점 g
j의 정규화된 명도값에 대한 공분산 S
j을 산출하고, 선택된 모든 모델 객체의 각 기준점 g
j의 정규화된 명도값을 평균함으로써 평균값
산출한다. 이어서, 모델 매칭부(134)는 산출된 모델 객체의 기준점을 다음의 수학식 12의 값을 최소로 하는 지점으로 매칭한다.
여기서, f(g
j ,m)은 마할노비스(Mahalnobis) 거리 비용함수이고, g
j ,m은 기준점을 포함하는 소정 개수의 픽셀의 명도값, S
j - 1와
은 각각 훈련집합에 포함되어 있는 모델 객체들에 대해 설정되어 있는 명도값을 정규화한 값에 대한 공분산의 역행렬과 평균값이다.
한편, 모델 매칭부(134)는 명도값 대신에 색상정보를 기초로 모델 객체를 이동 객체에 매칭을 수행할 수 있다. 조명의 밝기가 변화는 환경에서 명도값만으로 매칭을 수행하는 경우 이동 객체 추적을 실패할 수 있기 때문에 강건하게 객체의 윤곽을 추적하기 위해서는 명도값 대신에 색상정보를 사용하는 것이 바람직하다.
모델 매칭부(134)는 다양한 방법을 적용하여 색상정보를 기초로 모델 객체를 이동 객체와 매칭할 수 있다. 일 예로 모델 매칭부(134)는 색상정보를 RGB 채널로 나누어 각 채널에 대해 독립적으로 마할노비스(Mahalnobis) 거리를 최소화하는 기준점의 집합으로 모델 객체를 매칭하고 각 채널별로 매칭된 모델 객체를 통합 채널 공간으로 확장한다. 매칭의 다른 예로 모델 매칭부(134)는 각각의 색상채널을 독립적으로 사용하는 것이 아니라 색상채널 간의 상관성을 기초로 각 채널의 색상값을 조합한 값을 사용할 수 있다. 이때, 모델 매칭부(134)는 색상값이 조합된 값을 기초로 매칭을 수행한다. 이러한 색상값의 조합 방법에는 다양한 방법이 있으며, 일 예로 수학식 13에 의해 생상정보를 산출할 수 있다.
여기서, fR , fG 및 fB는 각각 빨간색, 초록색 및 파랑색 색상 채널 영상 프레임을 나타내고, gj ,m, gj ,k 및 gj ,l는 각각 빨간색, 초록색 및 파랑색 색상 채널 영상 프레임에 속하는 기준점이다.
또한, 색상정보의 산출은 수학식 14에 의해 수행될 수 있다.
나아가, 색상정보는 수학식 15에 의해 산출될 수도 있다.
움직임 예측부(136)는 입력받은 영상 프레임 내에서의 매칭된 모델 객체의 위치를 기초로 이동 객체의 움직임을 추적하여 카메라의 각도 변경 정보를 산출한다.
도 13은 매칭된 모델 객체와 입력받은 영상 프레임의 좌표 축을 표시한 도면이다. 도 13을 참조하면, 움직임 예측부(136)는 매칭된 모델 객체(1310)의 무게중심(1320)의 x축 좌표값(1330)과 y축 좌표값(1640)을 검출한다. 다음으로, 카메라의 초점을 모델 객체의 중심점에 위치시키기 위해 움직임 예측부(136)는 x축 좌표 값(1330)과 y축 좌표값(1340)을 기초로 각각 수평 회전 각도의 변경 각도와 수직 회전 각도의 변경 각도를 산출한다.
카메라 구동부(140)는 움직임 예측부(136)가 산출한 카메라의 각도 변경 정보를 기초로 카메라를 회동시킨다. 카메라 구동부(140)는 산출된 수평 회전 각도를 기초로 카메라를 좌우로 이동시키고, 산출된 수직 회전 각도를 기초로 카메라를 상하로 이동시켜 카메라의 초점이 이동 객체의 중심점에 위치되도록 한다.
확대 영상 촬영부(150)는 소정의 시간 간격(예를들면, 랜덤하게 결정된 시간 간격, 주기적으로 설정된 시간간격 등) 또는 이동 객체가 정지하는 시점에 카메라를 줌인하여 이동객체에 대한 확대 영상을 촬영한다. 시간 간격은 이동 객체의 속도에 따라 시간 간격을 다르게 설정하는 것이 바람직하며, 실험적으로 4초가 적당하다. 이와 달리, 확대 영상 촬영부(150)는 이동 객체가 정지하는 시점에 카메라를 줌인하여 확대 영상을 촬영할 수 있다. 이러한 확대 영상의 촬영시 확대 영상 촬영부(150)는 매칭된 모델 객체의 중심으로 카메라를 줌인하는 것이 바람직하며, 보다 바람직하게는 매칭된 모델 객체에 대한 정보를 기초로 이동 객체의 얼굴 영역으로 카메라를 줌인한다.
정면 화상 검출부(160)는 확대 영상으로부터 얼굴에 해당하는 소정의 특징점을 검출하면, 확대 영상 촬영부(150)가 촬영한 확대 영상을 저장한 후 이동 객체에 대한 촬영을 종료한다. 얼굴에 해당하는 특징점에는 입술, 코, 눈, 눈썹 등을 나타내는 특징점이 있다. 정면 화상 검출부(160)는 촬영한 확대 영상으로부터 입술, 코, 눈, 눈썹 등을 나타내는 특징점을 탐지한다. 만약 확대 영상으로부터 얼굴의 특징점들이 탐지되면 정면 화상 검출부(160)는 촬영한 확대 영상을 저장하며, 이로써 이동 객체에 대한 촬영이 종료된다. 이와 달리 확대 영상으로부터 이러한 특징점이 검출되지 않으면 이동 객체의 추적이 계속된다.
도 14는 본 발명에 따른 이동 객체 추적 방법에 대한 바람직한 일 실시예의 수행과정을 도시한 흐름도이다.
도 14를 참조하면, 객체 검출부(122)는 카메라에 저장되어 있는 배경 영상 프레임 중에서 배경 영상 프레임과 연계되어 저장되어 있는 촬영시의 회전각도와 촬영중인 카메라의 회전각도의 차이가 최소인 배경 영상 프레임을 검색한다(S1400). 다음으로, 객체 검출부(122)는 검색된 배경 영상 프레임과 카메라로부터 입력되는 영상 프레임의 차이값으로부터 입력된 영상 프레임 내에 촬영된 객체를 검출한다(S1410). 이동 탐지부(124)는 현재 검출된 객체와 이웃하는 영상 프레임으로부터 검출된 객체의 위치의 차이로부터 객체의 움직임을 파악하여 객체의 이동여부를 검출한다(S1420).
모델 산출부(132)는 검출 대상의 형태를 가지는 복수의 모델 객체로 구성된 훈련집합으로부터 고유벡터를 산출하고, 산출된 고유벡터를 기초로 이동 객체에 대응하는 모델 객체를 산출한다(S1430). 모델 매칭부(134)는 산출된 모델 객체를 입력받은 영상 프레임의 이동 객체에 결합시켜 매칭을 수행한다(S1440). 이때 모델 매칭부(134)는 산출된 모델 객체를 구성하는 각각의 기준점에 대하여 이웃하는 기준점들을 연결한 직선의 법선 방향으로 존재하는 픽셀 중에서 기준점을 포함하는 소정 개수의 픽셀에 대한 명도값 및 저장된 훈련집합에 포함되어 있는 모델 객체들 에 대해 설정되어 있는 명도값에 대한 공분산과 평균값을 산출하고, 산출된 모델 객체의 기준점을 수학식 12의 값을 최소로 하는 지점으로 매칭한다. 이때 모델 매칭부(134)는 명도값 대신에 색상정보를 사용할 수 있다. 움직임 예측부(136)는 입력받은 영상 프레임 내에서의 매칭된 모델 객체의 위치를 기초로 이동 객체의 움직임을 추적하여 카메라의 각도 변경 정보를 산출한다(S1450). 카메라 구동부(140)는 산출된 각도 변경 정보를 기초로 카메라를 회동시킨다(S1460).
확대 영상 촬영부(150)는 소정의 시간간격 또는 이동 객체가 정지하는 시점에 매칭된 모델 객체에 대한 정보를 기초로 얼굴 영역을 중심점으로 카메라를 줌인하여 확대 영상을 촬영한다(S1470). 정면 화상 검출부(160)는 확대 영상으로부터 얼굴에 해당하는 소정의 특징점이 검출되는 지를 확인한다(S1480). 만약 확대 영상으로부터 특징점이 검출되면, 해당 확대 영상을 저장한 후 이동 객체에 대한 촬영을 종료한다(S1490).
도 15는 카메라가 좌우로 움직이며 수평방향으로 움직이는 객체를 추적하는 중에 촬영한 영상 프레임을 도시한 도면이다. 도 15를 참조하면, 실험 대상 이동 객체(1510)는 카메라를 기준으로 왼쪽 벽면에서부터 수평방향으로 왕복 이동한다. 따라서 본 발명에 따른 영상 추적 장치는 이동 객체의 수평방향 이동 경로에 따라 카메라를 수평 회전시키며 이동 객체를 추적한다. 구체적으로, 본 발명에 따른 영상 추적 장치는 각 입력되는 영상 프레임에서 검출된 이동 객체(1510)에 대응하는 모델 객체(1520)를 산출하고, 산출된 모델 객체(1520)를 검출된 이동 객체(1510)에 매칭시켜, 수평으로 이동한 이동 객체의 위치를 산출하고 산출된 위치를 기초로 카 메라를 수평 회전시키며 이동 객체를 추적한다. 도 15에 도시된 영상 프레임에서 이동 객체(1510)의 경계와 본 발명에 따른 영상 추적 장치가 산출한 모델 객체(1520)가 거의 일치된다. 예외적으로, 이동 객체(1510)의 회전 동작을 촬영상 영상 프레임(79th)에서 이동 객체(1510)의 경계와 모델 객체(1520)가 작은 오차를 가지고 일치된다. 이를 통해 본 발명에 따른 영상 추적 장치는 일정한 수평방향으로 이동하는 객체를 적절하게 추적하는 것을 확인할 수 있다.
도 16은 카메라가 상하로 움직이며 수직방향으로 움직이는 객체를 추적하는 중에 촬영한 영상 프레임을 도시한 도면이다. 도 16을 참조하면, 실험 대상 이동 객체(1610)는 카메라를 기준으로 정면 벽과 왼쪽 벽 사이인 모퉁이 근처에서 수직방향으로 왕복 이동을 한다. 이러한 왕복 이동을 하는 이동 객체를 추적하기 위해 카메라는 수직 회전을 해야 한다. 도 16에 도시된 각 영상 프레임에서 이동 객체(1610)의 경계와 모델 객체(1620)가 거의 일치된다. 이를 통해 본 발명에 따른 영상 추적 장치는 일정한 수직방향으로 이동하는 객체를 적절하게 추적하는 것을 확인할 수 있다.
도 17은 카메라가 확대/축소를 하며 움직이는 객체를 추적하는 중에 촬영한 영상 프레임을 도시한 도면이다. 도 17을 참조하면, 실험 대상 이동 객체(1710)는 카메라를 기준으로 정면 벽과 왼쪽 벽 사이의 모퉁이 근처에서부터 대각선방향으로 왕복 이동한다. 이 실험에서 카메라는 회전되지 않고 고정된 상태에서 줌인을 변경하며 이동 객체를 추적한다. 도 17에 도시된 각 영상 프레임에서 이동 객체(1710) 의 경계와 모델 객체(1720)가 거의 일치한다. 이를 통해 본 발명에 따른 영상 추적 장치는 카메라의 줌인 변경만을 요구되는 움직임을 갖는 이동 객체에 대한 추적도 적절하게 수행함을 확인할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.