본 논문에서는 칼만 필터 알고리즘과 공분산 행렬을 결합한 강인한 이동 물체 추적 방법을 제안한다. 연속적으로 변화하는 영상 내에서 추적하고자 하는 물체의 특징으로서 공분산 행렬은 특징들의 상관관계뿐만 아니라 공간적인 속성과 통계적 속성을 다루므로 목표물의 형태와 모양의 변화에도 추적의 지속성을 보장한다. 그러나 이동 물체의 움직이는 속도가 연산 속도보다 고속의 경우 실시간 추적이 어려우며 탐색 윈도우가 목표물을 놓치므로 이를 해결하기 위해 칼만 필터를 사용하여 이동 물체의 영역을 추정하며, 칼만 탐색 윈도우 내 이동 물체 영역의 공분산 행렬을 특징 벡터로 구성하고, 후보 영역의 공분산 행렬과 비교하면서 추적하는 방법을 실험하여 96.3%의 추적률을 달성하였다.
This paper proposes a robust method for object tracking based on Kalman filters algorithm and covariance matrix. As a feature of the object to be tracked, covariance matrix ensures the continuity of the moving target tracking in the image frames because the covariance is addressed spatial and statistical properties as well as the correlation properties of the features, despite the changes of the form and shape of the target. However, if object moves faster than operation time, real time tracking is difficult. In order to solve the problem, Kalman filters are used to estimate the area of the moving object and covariance matrices as a feature vector are compared with candidate regions within the estimated Kalman window. The results show that the tracking rate of 96.3% achieved using the proposed method.
비디오 영상 분석에 대한 관심의 증대와 더불어 영상 내의 특정 물체에 대한 추적 연구가 활발해지고 있다. 실세계 영상의 배경 색상, 조명 강도, 시각 변형과 더불어 카메라와 이동 물체의 거리 그리고 카메라 지터 효과로 인해 영상 내의 회색 반전과 영상 내 물체의 크기와 모양의 무작위적인 변형은 목표물의 검출 및 추적을 어렵게 한다. 기존의 CAMshift 알고리즘[1,2]은 추적을 위한 특징으로 색상 정보를 사용하므로 영상의 조명이나 밝기에 민감하여 배경과 유사한 색상을 가진 물체의 추적에 어려움이 있었으며 여러 번의 반복을 통한 윈도우 내의 모든 요소에 대한 연산으로 빠르게 이동하는 물체에 대한 지속적인 추적이 불가능하였다. Salmond[3]는 파티클 필터로 이동 물체를 검출했으나 많은 계산 작업을 필요로 하였고 실시간 목표물 추적을 위한 실용성이 부족하였다. 최근에는 웨이블릿 변환이 색상과 공간정보를 사용하여 주파수 대역별로 프레임을 분할하여 배경 노이즈를 제거하고 목표물을 강조하여 단일 프레임 영상에 기반한 이동 물체 검출에 성능을 보이고 있다[4].
영상 내의 이동 물체는 크기와 모양 등이 변형되고 빠르게 움직이므로 복잡한 배경에서 물체를 검출하고 인식하기 위한 특징 선택이 중요하며, 이를 기반으로 정확하고 지속적인 추적을 위한 강인한 알고리즘이 요구된다. 본 논문에서는 칼만 필터와 결합한 공분산 행렬을 이용한 이동 물체 추적 방법을 제안한다. 먼저 추적을 원하는 물체에 대해 초기 윈도우를 지정해 주어야 하는 문제를 피하기 위해 프레임 간 차이를 이용하여 움직이는 영역을 검출한다. 이 영역을 칼만 필터의 탐색 윈도우로 사용하고, 탐색 윈도우 내의 목표물을 찾기 위한 특징으로 공분산 행렬을 사용한다. 특징들의 상관관계뿐만 아니라 공간적인 속성과 통계적인 속성을 사용하므로 효과적으로 배경색의 간섭을 극복할 수 있으며 복잡한 배경에서 신뢰할만한 추정을 보장한다.
현재 프레임에서 이전 프레임에서 검출된 목표물과 동일한 물체를 발견하는 것은 ‘물체 추적’으로 비전(vision)을 다루는 문제에 필수적인 요소이다. 이동 물체에 대한 특정 모델의 가정 아래 일정한 제약 조건 없이 임의적으로 변형되고 빠르게 움직이는 물체를 정확하고 강인하게 추적하는 데 있어 가장 중요한 일은 추적을 지속할 수 있는 목표물의 특징을 추출하는 것이다. 대부분의 방법들이 이동 물체의 색상 분포에 의존하거나 구조적인 모델에 의존하여 추적하나 공분산 행렬은 목표물의 통계적인 속성과 공간적인 속성을 동시에 유지하면서 추적할 수 있고, 지속적인 추적을 위한 목표물의 유사성 척도의 기준이 될 수 있으므로 추적의 특징으로 강인하다.
비디오 영상의 각 프레임에서 목표물의 특징 영상은 식 (1)과 같다.
식 (2)의 픽셀 좌표들은 방사 대칭 관계로 식 (3)과 같이 대체될 수 있다.
여기서
여기서
현재 프레임에서 목표물과 동일한 영역을 구하기 위해 목표물의 공분산 행렬과 후보 영역의 공분산 행렬 사이의 거리 계산이 요구된다. 그러나 공분산 행렬공간은 양의 정부호 행렬(positive definite matrix)로 음의 스칼라 곱에 닫혀 있지 않다. 따라서 두 행렬의 산술적인 뺄셈과 그 역이 성립되지 않으며 일치되는 영역의 거리를 측정하지 못한다. 따라서 공분산 행렬 사이의 유사성을 계산하기 위해 Förstner[6]에 의해 제안된 거리 측정을 적용하면 식 (5)와 같다.
여기서
두 행렬 간의 측정 거리
칼만 필터는 선형 동적 시스템에서 상태 추정을 위한 최소 분산 상태 추정 알고리즘이다[7,8]. 영상 내의 이동 물체를 추적하기 위한 칼만 필터는 이전 프레임의 추적 결과에 따라 현재 프레임에서 가장 가능성 있는 물체 위치를 예측하고, 예측된 위치의 인접 영역에서 목표물을 탐색하며, 만일 탐색 영역에 목표물이 존재한다면 그 다음 프레임에서 목표물의 위치를 예측하도록 연속 추적한다. 칼만 필터를 사용하여 이동 물체의 위치와 속도를 정확히 예측할 수 있으며, 이동 물체의 파라미터들을 추정할 수 있다.
칼만 필터의 상태 방정식은 식 (7) 이며 측정 방정식은 (8)과 같다. 여기서
식 (9), (10)은 이전 데이터를 근거로 예측하는 방정식으로 식 (9)의 는 프레임
칼만 예측 과정 후에 새로운 측정값을 반영하여 칼만갱신 과정을 거치게 되는데, 식 (11)는 동적 잡음과 측정 잡음을 이용하여 칼만 게인
상태 천이 행렬
공분산 행렬을 이용한 추적은 이동하는 물체들의 공간적·통계적 속성들을 포함하며, 색상과 열적외선 등과 같은 목표물의 특징들을 혼합하여 추적할 수 있다는 장점이 있다. Meanshift를 이용한 방법이나 파티클 필터링 방법과 달리 지역 최적해에 빠지지 않고 전역 최적해를 찾을 수 있으며, 탐색 윈도우 크기에 대한 제약없이 이동 물체 영역들을 비교할 수 있다. 잡음과 조명 변화에 덜 민감하며 잡음의 경우 공분산 연산 동안 필터링 되는 효과가 있다. 그러므로 이동 물체의 추적을 위한 특징으로서 공분산 행렬은 강인한 추적 특징이 될 수 있다. 그러나 이동 물체가 빠르게 방향을 전환하여 움직이는 경우, 공분산 행렬만을 사용한 탐색 방법은 탐색 범위 밖으로 목표물이 벗어나므로 후보 영역들이 이동 물체를 찾지 못하므로 전체 영역을 다시 탐색하면서 연산해야 하므로 탐색 시간 복잡도가 증가한다. 공분산 행렬과 같이 이전 프레임의 이동 물체 위치를 기반으로 한 추적 방법들은 빠르게 움직이는 물체의 경우, 현재 프레임에서 목표물의 영역을 찾기 위한 연산 동안다음 프레임에서 목표물이 더 멀리 이동하게 되므로 실시간 추적을 지향하나 추적에 실패하고 만다.
본 논문에서는 이를 해결하기 위해 상태와 측정의 재귀적인 적용으로 최적의 미래 영역을 예측하는 칼만 필터를 이용하여 최적의 탐색 영역을 찾아내고 영역 내에 서 공분산 행렬을 통해 이동 물체의 위치를 찾는 방법을 적용한다. 그림 1은 공분산 행렬과 칼판 필터를 결합하여 추적하는 알고리즘의 순서도이다.
칼만 필터는 초기 추적할 물체에 대한 탐색 윈도우를 지정해 주기 위해 영상 프레임으로부터 움직임이 존재하는 영역을 계산하여 그 중심점을 초기 칼만 탐색 윈도우의 중심 좌표로 정하고 칼만 갱신 단계를 거쳐 다음 상태 예측에 사용한다. 이후 칼만 예측 단계의 결과로 이동 물체의 움직임 영역을 중심으로 탐색 윈도우를 설정하고 칼만 중심 좌표를 구한 후 갱신과 예측을 계속해 나간다. 공분산 행렬은 추적할 이동 물체에 대한 공분산을 계산한 후, 이동 물체의 움직임을 추적하기 위해 후보 영역의 공분산을 계산하여 수렴하는지 거리계산을 한 후 수렴하면 계속 추적을 지속하나 수렴하지 않는 경우 칼만 탐색 윈도우 내에서 이동 물체의 영역을 다시 찾게 된다.
본 논문에서 제안한 방법의 실험을 위하여 Windows7, Intel Pentium G2120 @ 3.10GHz 프로세서 그리고 소니 디지털 캠코더로 촬영한 320×240 크기의 초당 25프레임의 비디오 영상과 스마트폰(Galaxy Note II)으로 촬영한 크기의 영상을 사용하였으며, MatLab R2012b 프로그램으로 구현하였다.
그림 2는 칼만 필터에 의해 예측된 탐색 윈도우 영역을 보여준다. 영역 내의 파란색 선은 초기 이동 물체의 움직임이 있는 영역을 찾기 위해 계산한 영역으로 그중심점을 칼만 필터의 예측을 위한 중심좌표로 대입시킨 후 칼만 필터 알고리즘을 적용하여 예측하였으며, 예측된 탐색 윈도우 영역은 흰색 선으로 표시하였다. 이동 물체의 영역을 알지 못하는 상태에서 칼만 필터에의해 이동하는 물체가 포함된 영역을 정확히 예측하여 찾을 수 있었으며, 고속으로 목표물이 이동하고 있는 frame 139~142에서도 이동 영역을 놓치지 않고 추적함을 알 수 있었다.
그림 3은 공분산 행렬만을 사용하여 이동 물체를 추적한 실험 결과이며, 총 184 프레임의 회색 영상으로 변환 후 실험하였다. 숫자가 적힌 큐브의 공분산 행렬과 후보 영역의 공분산 행렬을 비교 연산하면서 추적을 지속하다가 이동의 속도가 빨라지는 frame 139~142 프레임에서 영역을 찾지 못하고 추적을 놓치는 경우가 발생하였다.
공분산 행렬은 다른 추적 알고리즘과 달리 지역 최적해 빠지지 않고 전역 최적해를 찾기 때문에 일치되는 영역을 발견할 때까지 탐색을 계속해 나가므로 frame 160에서 볼 수 있듯이 전 영역을 후보 영역으로 탐색하면서 이동 물체를 찾는다. 그러므로 공분산 행렬을 이용한 추적에 있어 중요한 성능 지표로 검출률과 평균 탐색률을 들 수 있으며, 목표물을 탐색해야 할 전체 영역의 수와 실제 탐색을 시도한 횟수로 일치되는 영역을 찾기까지의 공분산 행렬의 비교 연산 횟수에 비례한다.
그림 4는 제안하는 방법인 칼만 필터와 공분산 행렬을 결합하여 고속의 이동 물체 추적을 실험한 결과이다. 흰색 선은 칼만 필터를 적용한 탐색 윈도우 영역이며, 큐브의 붉은 색 사각형은 공분산 행렬로 추적한 이동물체 영역이다. 흰색 영역 안의 흰색 점은 칼만 중심좌표를 표시한 것이다. 물체의 이동 속도가 빨라지는 frame 139~142에서 전 영역에 걸친 연산을 하지 않고 칼만 탐색 윈도우에서 이동 물체를 추적함으로써 추적의 성능을 향상시킬 수 있다. 실험의 성능 평가를 위해 영상 프레임 내의 이동 물체의 위치가 정확하게 추정된 검출율은 식 (14)와 같다.
평균 탐색률은 탐색의 대상이 되는 전체 영역의 수와 물체의 추정 영역을 찾기 위해 시도한 횟수의 비율로 몇 번의 시도 만에 영역을 찾았는지를 나타낸다.
그림 5는 칼만 필터 알고리즘을 적용한 예측 영역의 중심좌표 이동경로이다. 그림 5(a)는 frame1 ~100의 칼만 중심좌표로 이동 물체의 경로 및 방향과 일치함을 보여주고 있으며 칼만 필터가 물체의 이동 경로를 정확히 예측하고 있음을 나타낸다. 프레임 간 물체의 빠른 이동 속도는 중심좌표를 연결한 선의 길이로 알 수 있으며, 그림 5(b)는 frame 135~150의 칼만 중심좌표 이동 경로로 물체 움직임이 고속임을 보여준다.
그림 6은 frame 54~ frame 75에서 빠르게 움직이는 이동 물체(YellowBall)의 추적을 보여주고 있다. 그림 5의 이동 물체(RedCube) 보다 이동 속도가 빠르지 않으나 제안하는 방법에 의한 이동 물체 추적이 효과적임을 보여 주고 있다.
표 1은 고속 이동 물체(RedCube)의 공분산 행렬만을 적용하였을 때와 제안한 방법을 적용하였을 때의 이동 물체 추적에 대한 성능 평가 결과이다. 평균 탐색률은 고속의 이동 물체를 24×24의 영역으로 움직이면서 추적했을 때 결과이다. 제안한 방법을 사용하여 추적을 놓친 경우는 일정한 속도로 움직이던 물체가 갑자기 다른 방향으로 빠른 속도로 움직일 때, 그리고 고속으로 움직이기 시작한 프레임에서 이동 물체를 찾기 위한 연산량의 증가로 이동 물체 영역을 찾기 위한 시간 지연으로 발생하였다.
고속 이동 물체 추적 성능 평가
본 논문에서는 공분산 행렬과 칼만 필터 추적 알고리즘을 결합하여 빠르고 정확한 이동 물체 추적 방법을 제안하였다. 공분산 행렬은 이동 물체를 식별하고 색상이나 조명 그리고 형태 등의 변화에도 강인한 특징을 나타내며, 칼만 필터 알고리즘은 현재 물체의 정보로 이동 물체의 위치 및 상태를 예측할 수 있다는 장점이 있었다. 공분산 행렬과 칼만 필터 알고리즘의 적용은 빠르게 이동하는 물체에 대해 이동 영역을 정확히 예측하였으며 효과적인 추적이 될 수 있음을 보여 주었다. 향후 고속으로 이동하는 사람과 물체의 특성을 고려한 추적 방법에 적용하고 이동 속도 측정 및 이동 방향 예측에 따른 칼만 필터의 적용과 이동 물체의 크기에 가변적인 공분산 행렬의 적용에 대한 연구가 이뤄져야 할것이다.