728x90
반응형



컴퓨터 비전 분야에서 관심영역 및 관심객체를 탐지하고 추적하는 일들은 오래전부터 시도되어왔던 일이다. 객체 추적 프로그램을 완성시키기 위해 Object Detection and Tracking 방법에 대한 간단한 Survey 논문을 읽어봤다.


A Survey on Object Detection and Tracking Methods 라는 논문인데 2014년에 나온 논문이다. Tracking 방법이나 Detection 방법에 대해 간단한 소개와, 기술들을 설명하고, 성능을 간단하게 비교해 놓아서 Object Tracking을 처음 접하는 사람들에게 읽어보라고 권하고 싶은 논문이다.


Object Tracking의 목적은 비디오 입력 영상으로부터 관심있는 영역을 Segmenting 하는 것과 Motion, Positioning 그리고 Occlusion에 대한 상황들에 대한 Tracking을 지속하여 추적하는 것이다.


Object Tracking과 Detection은 Video Surveillance System(감시 시스템)이나 Robot Vision, Traffic Monitoring, Video inpainting(복원)과 Animation에도 적용될 수 있는 기술이다.


이 논문에서는 간단하게 Object Detection, Object Classification, Object Tracking algorithm을 분석하고, 각기 다른 기술들에 대해 소개하였다. 



1. Introduction


 객체를 탐지하는데 있어서 가장 먼저 이루어져야 하는것은 The identification of regions of interest, 관심영역을 인식하는 것이다. 객체를 인식하는데 있어 가장 잘 알려져있는 Object Detection Algorithm을 이용하여 Detect 하는 것이 바람직하지만, 잘 모르는 객체나, Color, Shape, Texture 등 많은 변수가 존재하기 때문에 Detection 하는 과정은 어려울 수 밖에 없다. 그렇기 때문에 많은 현실적인 Computer vision system들은 카메라 환경을 고정시켜놓고, detection process를 쉽게 적용하고 있다. 


 비디오로부터 입력받은 이미지는 두가지 complimentary sets of pixels로 나뉘어진다. First set은 Foreground object(전경 객체)에 대한 픽셀 정보를 담고 있고, Second Set은 Background pixel(배경 객체)에 대한 픽셀 정보를 담고있다. 처리된 이미지 결과는 Binary Image나 Mask 형태로 나타나게 된다. 


Tracking을 하는데 있어 가장 기본적인 Step은 다음과 같다. 


1. Object Detection

 Object Detection(객체 탐지)은 객체의 cluster pixels과 video sequence에서 관심있는 Object(객체)를 identify 하는 과정이다. 이는 Frame differencing, Optical flow, Background subtraction과 같은 다양한 techniques로 수행 할 수 있다.


2. Object Classification

 Object는 자동차, 새, 구름, 나무나 다른 움직이는 객체들로 분류될 수 있다. 이러한 객체를 분류하기 위한 Approaches는 Shape-based classification, Motion-based classification, Color based classification and Texture based classification 등이 있다.


3. Object Tracking

 Tracking은 움직이는 장면에서 이미지면에 있는 물체의 path 근사치 구하는 문제라고 할 수 있다. 즉, 영상에서 관심있는 물체가 움직이는 path가 얼마나 그 전 프레임과 유사한지 알아낸 다음 동일 객체라고 인식하게 되면, 그 물체를 계속 Tracking 하는 것이라고 할 수 있다. 객체를 Tracking 하는 방법에는 Point Tracking, Kernel Tracking, Silhouette 이 있다. 그리고 아래와 같은 점들을 주의하여 Tracking을 수행해야 한다.


1) Loss of evidence caused by estimate of the 3D realm on a 2D image

2) Nose in an image

3) Difficult object motion

4) Imperfect and entire object occlusions

5) Complex objects structures


지금까지 설명한 과정을 아래에 도식화 한 그림은 다음과 같다. 논문에서 발췌해왔다.






2. Object Detection Methods


Object Tracking을 위한 첫번째 과정은 Video Sequence에서 관심있는 객체를 식별하는 것이다. 또한 픽셀들을 cluster하는 과정도 포함된다. 이러한 과정을 수행하기 위한 방법들은 3가지 정도가 있다.


A. Frame differencing

두 개의 연속되는 이미지 사이의 차이를 계산함으로써 움직이는 객체가 존재한다고 판단하는 방법이다. 

아래는 위키에서 저장해 온 frame differencing에 대한 설명이다. 이는 이미지 사이의 차이라는게 결국 시간에 따라 변하기 때문에 시간변수 t를 이용하여 계산한다. background를 제거하고, foreground pixels을 threshold하여 subtraction을 하여 이미지를 개선하게 된다. 논문에 의하면, 이는 제일 쉽고 간단한 구현방법이고 또한, empty phenomenon(빈 현상)이 있을 때 적용하기 좋은 알고리즘이다. 그러나 움직이는 객체의 outline을 얻기는 매우 어렵다. 


ㅜㅜㅜㅜㅜ



B. Optical Flow

optical flow 방법은 관찰자(눈 또는 카메라)와 Scene(장면) 사이에 관계있는움직임에 의해 발생되는 visual scene에서 edges와 surfaces, objects의 동작들을 나타내는 패턴이라고 위키에서 정의하고 있다.

 

옵티컬 플로우는 하늘에 떠있는 경우에 회전하는 관찰자를 통해 개념을 설명할 수 있는데, 각 위치에서 나타난 Direction과 Magnitude가 각 화살의 길이와 방향에의해 나타난다. 아래 그림과 같이 방향과 규모? 어느정도 영향을 끼치고 있는지가 표면상에 화살로 나타나게 된다.

단순히, 영상에서 모션 벡터를 찾는 방법이라고 할 수 있다. 

이 방법은 그림에서도 알 수 있듯 계산량이 많고, noise에 민감 할 수 밖에 없다. 또한, 노이즈가 없는 영상에 대해서도 그닥 좋지 않은 결과를 볼 수 있다고 한다.  또한, real-time 환경에서 적용하기에 알맞지 않은 알고리즘이라고 한다. CCTV와 같은 환경에 적용하면 계산량이 많아져 느려질 수 있을 것 같다. 



C. Background Subtraction

background subtraction을 하기 위한 첫 단계는 Background Modelling이다. 배경 추출 알고리즘의 핵심은 배경 모델링이 움직이는 객체에를 충분히 인식해야 한다는 점이다. 배경 모델링을 하는데 좋은 방법은 두 가지 정도 있는데 Mean filter와 Median filter가 있다. 이는 배경 모델링에서 가장 많이 사용하고 있는 방법이다. 배경 추출 방법은 현재 이미지와 움지기는 객체를 탐지하기 위한 배경 이미지의 차이를 이용하는 방법을 사용하게 된다. 그러나 주위 외부 환경 변화에 대해 굉장히 민감한 특징이있다. 하지만 이는 배경에 대한 정보를 알고 있는 경우, 객체의 대한 정보를 완벽하게 얻을 수 있다. 배경 추출 방법은 2가지 정도의 접근법이 존재한다.


1. Recursive Algorithm 

2. Non-recursive Algorithm


또한, 대표적인 방법으론 Gaussian of Mixture(가우시안 혼합모델), Approximate median, Adaptive background가 있다. 


가우시안 혼합 모델은 여러 개의 가우시안 확률밀도함수로 데이터의 분포를 모델링 하는 방법이다. 영상에서는 각각의 픽셀 값을 의미하며 (Gray scale, 0~255), 배경의 학습을 통해 배경 모델이 형성된다. 이를 이용해 배경을 따로 추출해 낼 수 있는 것이다. 배경에 대한 학습(Learning)이 이루어지는 과정에서 배경과 객체를 분리하고, 깔끔한 객체를 따내기 위해선 Median Filter를 적용하는 과정을 거치면 된다. 



다음은 object detection methods를 비교해놓은 자료이다. 각각의 상황에 따라 알고리즘을 적용하면 될 것 같다. 



여기까지 Object Detection Methods를 살펴보았고, 다음 포스팅에서 Object Classification methods와 Object Tracking Methods를 살펴보도록 하겠다. 사실 다음장에서 배우는 게 객체 추적에 있어서 핵심이라고 할 수 있다. 물론 Detection도 중요하지만...






728x90
반응형