Video Analysis 개요

Computer Vision(CV)의 핵심은 이미지를 이해하는 것입니다.

현재, "이미지를 이해"하는 것에서 "비디오를 이해"하는 것으로 점점 발전하고 있습니다.

 

비디오(영상) 분석은 

   1. 비디오란 - "일련의 이미지들"이라고 할 수 있으며, 단일 이미지보다 더 많은 상황정보를 제공합니다.

   2. 사물을 트랙킹(Object Tracking)을 통해서, 다음 움직임(Next Move)이 무엇인지 예측할 수 있습니다.

       - 예를 들어, 사람의 움직임을 예측하는 Human Pose 분야도 포함됩니다.

 

비디오(영상) 분석의 핵심 요소 :

   1. Object Detection 

   2. Object Tracking

   3. Action Classification

이라고 할 수 있습니다.

 

Object Detection은 이미지 분석에서도 충분히 다루므로,

Object Tracking부터 설명드리고자 합니다.

 

① Object Tracking

비디오(영상) 분석의 핵심 요소 중 Object Tracking에 대해서 설명하고자 합니다.

 

이미지와 비디오와 차이는 'Motion'이며, 이를 위한 Tracking이 필요합니다.

Object Tracking의 카테고리 :

   1. Video Stream : Live Image Feed - 실시간 이미지 스트리밍

      - 현재 이미지와 이전 이미지를 고려

   2. Video Sequence : Fixed-Length Video - Full 영상

      - 첫 이미지부터 마지막 이미지까지, 전체를 다룸

 

1) Optical Flow(광학 흐름)

   - Optical Flow란 : 영상에서 모션(Motion) 벡터를 찾는 방법으로써, 두 프레임(Frame) 사이의 Pixel Shift를 계산

                          en.wikipedia.org/wiki/Optical_flow

 

   - Optical Flow의 출력 값(Output) : Frame1  Frame2 사이의 흐름(Movement)에 대한 벡터 값(Vector)

Optical Flow 예시

 

Optical Flow(광학 흐름) 대표 딥러닝 논문

 

    FlowNet : 6-depth(2 RGB)를 Input을 활용하여, Optical Flow를 색으로 표시

FlowNet 구조

네트워크의 입력은 두 개의 RGB 이미지 세트입니다. 따라서 깊이는 6입니다.
광학 흐름은 종종 색상으로 표현됩니다.

 

2) Visual Object Tracking(VOT)

Optical Flow가 Pixel단위의 흐름을 추적한다면, Visual Object Tracking(VOT)는 객체(Object) 단위를 트랙킹 한다.

 

Visual Object Tracking 특징 :

   1. Object Detection은 필요하지 않음 - 무엇을 Tracking 하는지 알 필요 없음

   2. 초기 경계 박스(Starter Bounding Box)가 주어짐

   3. 주어진 객체를 추적함

       - 프레임 0과 1의 유사성을 계산

       - 경계박스 내 물체 확인 및 다음 프레임에서 검색

       - 경계 박스를 이동하여, Object를 추적

 

   ※ ※ 번외 : 딥러닝을 사용하지 않는 VOT 

  • 색상 같은 기능을 사용해 개체를 추적할 수도 있음(CV만 사용 가능)
  1. Bounding box를 활용하여, 초기 추적할 object를 입력 받음
  2. 객체의 색상 히스토그램 계산
  3. (객체 근처) 배경색 계산
  4. 전체 이미지에서 객체의 색을 제거



Visual Object Tracking 대표 딥러닝 논문

 

    MDNet(Multi-Domain Net) : Object와 Background를 구별하는 딥러닝을 학습

       - Domain-specific Layer가 존재

       - VGG 모델처럼 보이지만, 도메인별 레이어(객체 대 배경 분류자)가 있음

MDNet 구조

 

    GOTURN(Generic Object Tracking Using Regression Networks) 

       : 두 CNN 모델(Previous Frame 및 Currenet Frame 용)을 활용하여, 검색할 영역(Region)을 특정시킴

       - 100 FPS에서 작동 가능하며, 좋은 성능을 보임

GOTURN 구조

 

3) Multiple Object Tracking(MOT)

 

Multiple Object Tracking 특징 :

   1. 여러 객체를 트랙킹함

   2. VOT보다 더 Long-Term 한 영상을 다룸

 

Multiple Object Tracking 종류 :

   1. Detection-Based Tracking - (YOLO - Deep SORT)

   2. Detection-Free Tracking

 

Detection-Based Tracking세부 Task :

   1. Object Dectection

   2. Object Association

       - Time t의 탐지(Detection) 결과와 Time t+1 탐지 간의 연계

       - Detection 성능에 상당히 의존적임

       - Good Tracker는 약간의 Frame은 Detection 없이 처리해야 함

    * 관련된 내용은 Deep SORT를 다루면서

      nanonets.com/blog/object-tracking-deepsort/

      haandol.github.io/2020/02/27/deep-sort-with-mxnet-yolo3.html

 

② Action Classification

비디오(영상) 분석의 핵심 요소 중 마지막 Action Classification에 대해서 설명하고자 합니다.

 

예를 들어, Action Classification은 매장 내 사람들의 행동을 분석할 때 사용한다.

 

Action Classification의 특징 :

   1. Bounding Box내에서의 Action을 알기 위해선,Object Detection과 Tracking이 우선 되어야 함

      - 주어진 상황이나 장면을 우전적으로 이해해야 되기 때문에

   2. 가장 좋은 카메라 각도(앵글)를 선택

   3. Action 분류( 쉬운 : 걷기, 달리기 ~ 어려운 : 샌드위치 만들기 - 여러 작업(빵 짜르기, 토마토 씻기 등)이 복합됨)

 

Action Classification 대표 딥러닝 논문

   ○ Optical Flow 활용 

Optical Flow를 활용한, Action Classification

       - Optical Flow를 Input으로 받음

       - Action Classifier(Softmax) Layer를 추가

 

   ○ End-to-End 학습 방법

 

    - Action Classification을 위한, End-to-End 학습 예시 : 

Two-scale Model

       - 이미지와 다르게, 다중 Frame을 처리해야 함 → Space-time Volume이라고 함

       - Spatial Stream : Single Image에 적용

       - Temporal Stream : Optical Flow 이미지들을 입력 받음

 

  ※ 번외 : 그 이외에 Action Classification - Pose Estimation

   1. Detecting Keypoint - Keypoint란 왼쪽 그림의 점들

   2. Tracking Detecting Keypoint 

   3. Keypoint의 움직임을 분석 

 


마치며

       - 이미지와 영상분석의 차이에 대해서 다루었습니다.

       - 영상분석의 주요 개념(Tracking, Action classification)에 대해서 다루었습니다.

       - 다음번에는 대표적인 Tracking방법인, Deep SORT를 다루어볼 예정입니다.

 

 

 

참고: https://kmhana.tistory.com/20

 

영상 분석(Video Analysis) 이란? - 기본

*크롬으로 보시는 걸 추천드립니다* 이미지 분석(Image Analysis)을 연구하거나, 산업에 적용하다 보면 영상 분석(Video Analysis)에 대해서 종종 접하게 됩니다. 영상 분석을 접할 기회가 적은 편이고, '

kmhana.tistory.com

https://fritz.ai/computer-vision-from-image-to-video-analysis/

 

Computer Vision and Deep Learning: From Image to Video Analysis - Fritz ai

Computer vision, at its core, is about understanding images. The field has seen rapid growth over the last few years, especially due to deep learning and the ability to detect obstacles, segment images, or extract relevant context from a given… Continue

fritz.ai

 

+ Recent posts