비디오 관련 과제(task) : Video Understanding

2022.02.20 00:32 2,943 Views

안녕하세요.

데이크루 1기 '동화책'입니다. 🤓📚

오늘은 컴퓨터 비전 영역에서 비디오 관련된 task들을 소개해보려고 합니다. 

일반적인 이미지를 처리하는 것보다 더 연산량이 많고 복잡한 문제이지만 컴퓨터 비전의 궁극적인 목표인 기계의 시각적인 이해를 위해서 꼭 필요한 연구 분야라는 생각이 드네요.

편하게 읽어보시고 더 궁금한 사항이나 피드백이 있으시다면 언제든 편하게 댓글 달아주세요.


비디오 관련 task들 : Video Understanding


1. 비디오 분류(Video Classification)

비디오 관련된 연구들 중에서 가장 메인이 되는 task입니다.

컴퓨터 비전의 이미지 분류(Image Classification)이 떠오르시지 않나요?

고양이나 자동차 등 이미지 내에 포함된 객체의 클래스를 예측하는 task였죠. 대표적으로 ImageNet 같은 데이터셋이 있었습니다.

해당 문제를 해결하기 위해서 고안되었던 여러 CNN 구조들(예. VGG, GoogleNet, ResNet)은 현재까지도 여러 모델의 기저(base 또는 backbone)에 사용되고 있죠. 그만큼 중요하고도 근본적으로 해결해야할 문제였다는 생각이 듭니다. 


비디오 영역에서도 비슷한 문제를 해결하고 있습니다. 이미지 분류와 다른 점은 입력에 포함된 객체를 탐지하는 것이 뿐만 아니라 동작(motion 또는 action)까지도 분류하고 있습니다. 그래서 해당 task를 'Action Recognition'이라고 부르기도 합니다. 

paperwithcode에 나와있는 task의 설명을 읽어보면 '좋은 비디오 분류기란 단순히 영상의 한 프레임에 레이블을 다는 것 뿐만 아니라 전체 영상을 포괄하는 설명을 할 수 있어야 한다'(A good video level classifier is one that not only provides accurate frame labels, but also best describes the entire video given the features and the annotations of the various frames in the video. ) 라고 나와있네요. 영상을 네트워크에 입력하기 위해서 프레임 단위로 추출하는데 전체 영상에서 핵심이 되는 행동을 하고 있는 프레임이 있을 수도 있고, 그렇지 않을 수도 있어서 이를 모델이 구분하고 한 레이블로 결정하는 것이 쉽지 않겠다는 생각이 드네요.


그림 1. 비디오 분류 [출처 : CVPR2014 paper]


2. 비디오 검색 (Video Retrieval) 

Retrieval이란 낯선 용어를 써가면서 정의되고 있는 task이지만 우리 생활에 가장 밀접하게 연관되어 있는 task가 아닐까 싶습니다. 

비디오 복구란 주어진 질문(query)과 가장 연관있는 상위 N개의 비디오를 가져오는 task를 의미합니다. 그래서 추천 시스템의 일종이라고 볼 수 있겠네요. 여기서의 질문(query은 텍스트나 비디오 또는 유저의 활동 등 다양한 형태가 될 수 있습니다. 

예를 들어 구글에 검색한 텍스트와 관련된 비디오 목록을 보여주거나 유투브에서 현재 재생중인 영상의 다음 영상을 추천하는 것을 들 수 있습니다. 정말 익숙하죠?

이 task에서의 핵심은 영상에 대한 자세한 이해보다는 긴 영상을 한 문장으로 간단하게 표현할 수만 있어도 성공이라는 점입니다.

그림 2. 비디오 검색 예시


3. 비디오 추천(Video Recommendation)

 비디오 검색과 비슷하지만 유저의 프로필 정보를 바탕으로 영상을 선택하는 분야를 비디오 추천이라고 합니다. 개인화(Personalizing) 과정을 포함하는데 이는 모델을 굉장히 복잡하게 만들기도 합니다. 유저의 정보라하면 인구 통계적인 정보, 낮/밤 등 주 사용 시간대, 핸드폰/패드/PC 등 사용 플랫폼, 과거 시청 기록 등을 말할 수 있습니다. 다음에 추천해주는 비디오는 현재 비디오에 의존할 수도 있고 그렇지 않을 수도 있습니다. 만약 개인화 과정을 거치지 않고 비디오 검색(retrieval)하는 모델만 썼다면 다음에 나올 비디오는 현재 비디오에만 의존하겠네요.



4. 비디오 질의응답(Video Question & Answering on Video)

비디오가 주어지고 질문에 답하는 모델을 만드는 task입니다. 여기서 답은 오지선다처럼 여러 개의 선택지가 있을 수도 있고 없을 수도 있습니다. 오디오 및 이미지를 포함하는 영상을 이해함과 동시에 대화문(텍스트) 분석을 함께 해야하기 때문에 매우 어렵고 복잡한 문제입니다. 

그림 3. 비디오 질의 응답 [출처: sciencedirect paper]




5. 비디오 예측 및 생성 (Video Prediction & Generation)

주어진 영상을 가지고 다음 프레임을 예측하여 생성하는 task입니다. 랜덤 시드를 사용하여 그럴듯한 영상을 만들어내는 것을 목표로 합니다. 예를 들어 태풍이 생성되기 42시간 전까지 촬영하고 그 이후의 동선과 강도, 피해 규모 등을 예측하는데 사용될 수 있습니다. 이런 경우에 시간 간격이 시간(hour) 단위로 학습할 수 있는 데이터가 많지 않다는 단점이 있습니다.

그림 4. 비디오 예측 및 생성 [출처 : ICLR 2020 paper]




마무리

오늘은 비디오 이해 분야에서 해결하고 있는 여러 task에 대해서 정리해보았습니다.

배우는 학생이라 부족한 부분이 있을 수 있으니 언제나 주저말고 댓글 달아주세요. 

감사합니다.


*본 포스팅은 데이콘 서포터즈 “데이크루" 1기 활동의 일환입니다.


참고 문헌