동영상 분석을 위한 객체 추적 기술

동영상 분석을 위한 객체 추적 기술

객체 추적 (Object Tracking)


Object Tracking (객체 추적)은 영상에서 움직이는 객체를 탐지하고, 그 객체의 움직임을 추적하는 기술입니다. 즉 한 장의 이미지가 아닌 연속된 프레임을 가진 비디오에서 객체의 위치를 추적하는 것이라 볼 수 있습니다. 객체 추적의 기본적인 원리는, 첫 번째 프레임에서 객체를 검출(detection) 하고, 이후 프레임에서 검출된 객체와 유사한 특징을 가진 영역을 찾아서 객체를 추적하는 것입니다. 일반적으로 일련의 영상 프레임 내 객체의 크기, 색, 모양, 윤곽선 등 특징적인 정보 간 유사도를 판별하여 객체를 추적할 수 있습니다.

객체 추적 기술의 과정을 조금 더 자세히 알아볼까요?

  1. 첫 번째 프레임에서 객체 검출
    - 객체를 검출하여 객체의 위치(bounding box)와 종류를 판별
  2. 특징 추출
    - 첫 프레임에서 검출한 객체 영역의 특징을 추출
    - 이때 특징은 객체의 경계선이나 색상 등으로 그 객체를 표현할 수 있는 고유한 특징
  3. 유사한 특징을 가진 영역 검색
    - 다음 프레임에서 이전에 추출한 객체의 특징과 유사한 영역을 검색
  4. 객체 위치 추정
    - 다음 프레임에서 검색된 영역 중에서 이전 프레임에서 검출된 객체와 가장 유사한 영역을 찾고 이를 통해 객체의 위치를 추정
  5. 객체 추적
    - 추정된 객체를 이용하여 다음 프레임에서 객체를 추적
    - 추적된 객체의 위치를 다시 한번 검증하고, 이전 프레임과 현재 프레임에서 객체의 위치를 비교하여 속도와 가속도 등을 계산

배경과 객체가 시각적으로 완전히 구분되며, 유사한 객체가 없는 경우 객체 추적 기술은 그다지 어려운 문제가 아닙니다. 잔디 구장에서 축구공 하나가 굴러간다면, 눈을 깜빡이거나 잠깐 다른 곳을 쳐다보다가 다시 축구공을 찾더라도 쉽게 찾을 수 있는 것처럼요. 하지만, 무작위로 움직이는 여러 개의 축구공이 있다면 눈만 감았다 뜨더라도 원래 보고 있던 축구공이 어떤 공인지 알기 쉽지 않을 것입니다.

현실 세계에서는 복잡한 배경 속에서 유사한 객체가 많은 경우가 빈번하기 때문에 객체 추적은 쉽지 않은 기술입니다. 때문에 객체 추적 기술 역시 딥러닝을 이용한 방법을 주로 사용합니다.

  1. Siamese Network 기반 추적
    Siamese Network는 동일한 구조의 네트워크를 두 개 복제하여 두 개의 입력 이미지를 인코딩하여 비교하는 방식으로 객체 추적을 수행합니다. 이 방법은 대표적으로 SiamFC (ECCV 2016), SiamRPN (CVPR 2018) 등이 있으며, 실시간 추적 성능과 고도의 일반화 능력을 가집니다.
  2. Deep SORT (CVPR 2017)
    Deep SORT는 객체 추적과 동시에 객체 인식을 수행하는 기술로, 객체 인식 모델을 이용하여 입력 이미지에서 객체를 인식하고, 객체의 위치와 특징을 추출합니다. 이후 Kalman filter와 Hungarian algorithm을 이용하여 다음 프레임에서 각 객체의 위치를 예측하고, 객체 추적을 수행합니다. CVPR 2017에서 발표된 방법이지만 현재까지도 대표적인 객체 추적 모델 중 하나이며, 측면에서 찍은 이미지와 같이 객체의 형태가 변형되거나 가려지는 경우에도 잘 동작합니다.
  3. Mask R-CNN 기반 추적
    Mask R-CNN은 Faster R-CNN의 구조를 기반으로 객체 분할 기능을 추가한 모델입니다. 이를 활용하여 객체 인식과 분할을 수행한 후, 객체의 위치와 특징을 추출하여 추적을 수행합니다. 이 방법은 대규모 데이터셋에서 좋은 성능을 보입니다.
  4. Online Learning 기반 추적
    Online Learning은 추적 대상의 특징을 추출하고 이를 이용하여 객체를 추적하는 방법입니다. 초기에는 추적 대상의 특징을 학습하고, 추적 도중에는 추적 대상의 특징을 업데이트하여 실시간으로 객체 추적을 수행합니다. 이 방법은 대규모 데이터셋이 없는 경우에 유용합니다.

그렇다면 객체 추적 기술은
어디에 활용되는 걸까요?


사실 이미지 한 장에서 정보를 추출하기에는 ‘이미지 분류’ 기술이나 ‘객체 검출' 기술로도 충분할 수 있습니다. 하지만 동영상에서 정보를 추출하기 위해서는 객체의 움직임과 행동까지 분석해야 하기 때문에 객체 추적 기술이 필수적입니다. 따라서 객체 추적 기술은 객체의 움직임을 분석해야 하는 영상 보안, 교통 통제, 군사, 자율 주행 등 다양한 분야에서 활용되고 있습니다.

- 영상 분석

CCTV에서 실시간 객체 추적 기술은 범죄 예방이나 수사에 효과적입니다. 객체 추적 기술을 이용하면 CCTV 영상에서 다수의 사람들의 이동 방향을 분석할 수 있기 때문입니다. 또한 사람이 많은 광장의 CCTV 영상에서 사람들이 어떤 방향으로 어떤 속도로 많이 움직이는지, 날씨나 시간에 따라 어떤 이동 특징을 가지는지 등을 분석할 수도 있습니다.

군사 분야에서는 드론이나 위성에서 촬영한 이미지에서 적군의 위치와 움직임을 파악하고 추적하는 데 객체 추적 기술을 사용할 수 있습니다.

- 자율 주행

자율주행차에서 객체 추적 기술은 앞에 있는 자동차나 보행자 등의 움직임을 감지하여 충돌을 방지할 수 있습니다. 더 정확하게 말하면 자율 주행에서는 객체의 이동 방향을 예측하는 것이 중요합니다. 눈앞의 차량이 어디로 이동할지 예측해야 자율 주행 차량이 어디로 어떻게 주행할지 결정할 수 있기 때문입니다. 이를 위해서는 눈앞에 존재하는 차량들의 객체 추적이 이루어진 상태여야 합니다. 어디서 왔는지 알아야 어디로 갈지 알 수 있기 때문입니다.

- 스포츠 & 게임


축구나 농구같이 여러 명이 함께 뛰는 스포츠에도 객체 추적 기술을 활용할 수 있습니다. 현대의 스포츠는 선수의 움직임을 추적하고 기록하는 것이 중요한 데이터가 되기 때문입니다. 또한 게임에서 캐릭터나 물체의 움직임을 추적하여 게임 화면을 제어하는 데 사용할 수도 있습니다.






이야기와 글쓰기를 좋아하는 컴퓨터비전 엔지니어 콤파스입니다.

* 슈퍼브 블로그의 외부 기고 콘텐츠는 외부 전문가가 작성한 글로 운영 가이드라인에 따라 작성됩니다. 슈퍼브 블로그에서는 독자분들이 AI에 대한 소식을 더 쉽고 간편하게 이해하실 수 있도록 유용한 팁과 정보를 제공하고 있습니다.