1. 서론
최근 YouTube와 같은 미디어 플랫폼이 발전하면서 대규모 비디오 데이터에 대한 관리, 분석 기술의 필요성이 크게 증대되고 있다. 더구나 비디오 데이터를 효과적으로 활용하기 위해서는 비디오 데이터에 관한 메타 데이터(meta data)를 생성하는 주석 작업 (annotation task)이 매우 중요하다. 하지만, 그동안 비디오 콘텐츠 자동 분석 기술이 충분히 성숙되지 않아서 대부분의 비디오 주석 작업은 수작업으로 진행되어 왔다. 그러나 이러한 수작업 방식의 비디오 주석 과정은 시간적, 경제적 측면에서 제한이 많기 때문에, 이를 대신할 수 있는 자동화된 비디오 주석 기술에 관한 연구가 주목받고 있다. 최근 급성장하고 있는 심층 신경망 기반의 영상 처리 기술은 이러한 비디오 콘텐츠 분석과 자동 주석을 가능하게 할 수 있는 대안으로 떠오르고 있다. 이에 본 연구에서는 기존의 수작업 방식의 한계성을 벗어나 프로그램 스스로 비디오 콘텐츠를 분석하여 미리 정의해둔 스키마에 따라 메타 데이터를 자동 생성할 수 있는 인공 지능 심층 신경망 기반의 비디오 주석 도구의 설계와 구현에 대해 소개한다.
주석 데이터 생성을 위한 비디오 콘텐츠 분석에 관한 대다수의 선행 연구는 주로 심층 신경망 기술을 이용하여 비디오 프레임에 등장하는 객체(인물, 물체 등)를 탐지한 후 이를 다시 사용자가 수동으로 보정하거나, 또는 사용자가 비디오 프레임 내 객체 영역을 수동으로 검출해주면 심층 신경망 기반 물체 추적기(tracker)가 이후 프레임들에서 해당 물체를 추적하는 방식에 머물렀다. 하지만 이러한 방식은 단순히 비디오의 각 프레임 영상별 등장 물체만을 탐지해냄으로써 생성 가능한 주석 데이터에 제한이 많았고, 사람이 전처리 혹은 후처리 작업에 개입해야 하는 반-자동 방식이어서 대규모 비디오 데이터 집합에 적용하기엔 한계가 있었다.
본 논문에서는 Fig. 1과 같이 다양한 요소가 포함된 긴 드라마 비디오에서 각 씬(scene) 혹은 샷(shot) 단위의 다양한 메타 데이터들을 자동으로 생성해주는 심층 신경망 기반의 자동화된 비디오 주석 도구 AnoVid를 제안한다. 이를 위해 본 연구에서는 드라마 비디오 주석을 위한 메타 데이터 스키마를 설계하였고, 이 스키마를 토대로 개발된 AnoVid 비디오 주석 도구는 물체 탐지(object detection), 장소 인식 (place recognition), 시간대 인식(time recognition), 인물 인식(character recognition), 행동 인식(activity recognition), 설명문 생성(description generation)을 위한 총 6가지의 심층 신경망 모델을 사용하여 복합적인 주석 데이터를 생성한다. 또한, 비디오 주석 도구 AnoVid는 비디오별로 JSON 형태의 주석 데이터 파일을 자동 생성하는 기능 외에, 비디오 콘텐츠 분석 결과를 해당 비디오와 장면 그래프 형태로 함께 확인할 수 있는 다양한 시각화 기능도 제공한다. 본 논문에서는 tvN 드라마 “미생” 비디오 데이터를 이용하여 AnoVid의 심층 신경망 모델 학습과 성능 실험을 진행하였으며, 이를 통해 AnoVid의 실질적인 효용성과 성능을 확인할 수 있었다. 서론에 이어 2장에서는 비디오 자동 주석과 연관된 관련 연구들을 살펴보고, 3장에서는 비디오 메타 데이터 스키마 설계와 학습 데이터 구축에 대해 설명한다. 4장에서는 비디오 주석 도구 AnoVid의 설계에 대해 설명하고, 5장에서는 AnoVid의 구현과 성능 실험을 소개한다. 끝으로 6장에서는 결론과 향후 연구를 요약한다.
Fig. 1. The DNN-based tool for video annotation.
2. 관련 연구
2.1 비디오 메타 데이터
비디오를 포함한 멀티 미디어 컨텐츠에 대한 표준 메타 데이터 형식으로는 Dublin Core[1], MPEG-7 MDS[2] 등이 있으며 검색, 관리를 용이하게 할 수 있도록, 관련 정보를 XML, RDF 형태로 다양하게 기술할 수 있도록 정의된 표준화 된 메타 데이터 집합이다. Dublin Core는 ISO 15836으로 표준화 되었으며, 동영상, 소리, 이미지, 텍스트 등 다양한 매체에 대하여 널리 사용될 수 있도록 단순한 형식을 취하고 있다. MPEG-7 MDS는 Dublin Core보다 더 세밀히 정의된 메타 데이터로, 미디어 매체의 내용을 직접적으로 기술할 수 있도록 방대한 종류의 스키마를 정의해 놓은 기법이다.
Fig. 2는 이러한 표준을 바탕으로 연구된 온톨로지들의 예를 보여준다. (a)의 Drammar[3]는 특정 스토리 플롯에 따라 구성되는 드라마 온톨로지를 정의, 활용한 연구로 드라마 내 컨텐츠의 시멘틱(semantic) 정보를 포함하여 설계하였다. 한편 (b)의 Onto Media[4]는 영화나 소설에 초점을 맞춰 계층적 구조로 정의한 온톨로지로, 크게 미디어 내 등장하는 객체와 사건을 중심으로 설계되었다. 구체적인 예시로 콘텐츠 메타 데이터 중 하나인 영화 메타 데이터에는 대표적으로 제목, 장르, 제작국가, 출연자, 감독, 작가, 등급, 평점, 줄거리, 배역 등이 있다. 본 논문에서 제안하는 신규 메타 데이터 스키마는 표준 스키마를 참고하여, 씬, 샷 단위의 영상 내 포함된 부가적인 정보들을 추가하였다. 대표적인 예로 등장인물에 대한 행동, 해당 영상의 시간대, 장소, 모든 영상 정보를 포함한 설명문 등이 있다.
Fig. 2. Multimedia ontologies: (a) Drammar ontology, (b) OntoMedia ontology.
2.2 비디오 주석 도구
비디오를 기반으로 하는 다양한 서비스 제공을 위해서는 영상 콘텐츠에 대한 많은 양의 주석 데이터들이 요구된다. 이를 위해서 Fig. 3과 같이 비디오의 주석 데이터를 생성하는 데에 편의를 제공해 주는 비디오 주석 도구들이 개발되어왔다. 하지만 주석 도구에 따라 생성할 수 있는 주석 데이터의 형태가 다르므로, 사용자는 생성하고자 하는 주석 형태에 따라 주석 도구를 선택하여 이용해야 한다.
Fig. 3. Video annotation tools: (a) ELAN, (b) DarkLabel.
일부 주석 도구들은 비디오 내에서 특정 시간 구간을 선택하고, 해당 구간에 해당하는 라벨을 생성하는 기능을 제공한다. 대표적인 주석 도구로는 Advene[5]와 ELAN[6]가 있다. Advene는 서로 다른 시간 구간의 라벨들을 생성하여, 한 비디오 내에 발생한 다양한 이벤트를 기록할 수 있고, ELAN는 한 시간 구간에서 클래스 간의 계층 구조를 생성함으로, 특정 클래스의 속성이나, 하위 클래스들을 기록할 수 있다. 하지만 이러한 주석 도구들은 특정 시간 영역에 대한 라벨만을 기록하기 때문에, 특정 프레임 내 인물 및 사물의 위치를 나타내는 경계 상자(Bounding box)를 생성할 수 없다. 이를 해결한 일부 주석 도구들은 특정 프레임에서의 경계 상자를 주석으로 생성하는 기능을 제공하였으나, 프레임별 주석 생성은 사용자에게 큰 노력을 요구한다. 이에 따라 점차 자동화 기능이 추가된 주석 도구들이 발전하게 된다.
대표적으로 EVA[7], DarkLabel[8], VoTT[9], VATIC[10]과 같은 반-자동 도구들은 마우스 드래그 방식으로 사용자가 쉽게 경계 상자를 생성할 수 있게 하였으며, 이전 프레임의 경계 상자를 기반으로 Cam-Shift 알고리즘, 물체 추적기(Tracker)알고리즘 등을 사용하여 경계 상자 간의 위치적 차이를 고려해 다음 프레임의 경계 상자를 추가 예측하는 기능을 제공하였다. 하지만 이러한 기존 주석 도구들은 저마다 지원하는 주석 형태가 다르고 모두 다른 형식 (format)을 갖기 때문에, 사용자가 쉽게 다루기 어려우며 단순히 영상 내 등장하는 인물, 사물 위주의 정보만으로는 다양한 형태의 주석 데이터를 생성하기 어렵다는 한계가 존재한다. 게다가 자동화 기능을 지원하는 일부 주석 도구들은 수동 생성된 주석 데이터를 보간하여 생성하기 때문에 완전한 자동화 기능을 지원하지 못한다. 본 연구에서 제안하는 주석 도구는 다양한 종류의 주석 데이터 생성 기능을 지원하고, 생성되는 주석 데이터들을 통합하여 하나의 JSON 형식으로 저장한다. 또한, 생성된 메타 데이터를 검증하고, 지식화하기 용이하도록 동영상 및 장면 그래프 형태로 시각화하는 기능도 제공한다.
2.3 비디오 주석 모델
얼굴 인식은 최근까지도 활발히 연구되는 분야로 이미지 또는 비디오 내에 존재하는 얼굴 영역 및 랜드마크를(face-landmark) 검출하고, 후보 영역에서 추출된 정보에 얼굴 정렬(face-alignment), 영상 정규화(image normalization)와 같은 전처리를 적용하여 인식 성능을 높여왔다. 최근, 얼굴 인식 분야에 CNN을 적용하면서 Face R-FCN[11], SFD[12], MTCNN[13] 등이 등장하였고, 그중에서도 MTCNN은 얼굴 인식과 정렬을 동시에 예측하는 계단식 구조의 얼굴 인식기로 빠른 처리 속도 및 높은 인식 성능을 보인다. 최근에는 [14]와 같이 C3D를 활용하여 비디오 내 등장하는 얼굴 인식 성능을 높인 연구도 존재한다.
물체 탐지 기술은 컴퓨터 비전 처리의 가장 큰 핵심 문제로, 물체 탐지에 많이 사용되는 합성 곱 신경망(Convolutional Neural Network, CNN) 기반의 물체 탐지기들은 크게 두-단계 탐지기(two-phase detector)계열과 단일-단계 탐지기(single-phase detector)계열로 나눌 수 있다. 두-단계 탐지기[15-18] 들은 영상에서 후보 영역들을 제안한 후, 각 후보 영역들에 대한 분류 작업을 수행한다. 반면, 단일-단계 물체 탐지기[19-23]들은 이미지 내에서 모양과 크기가 다른 다양한 경계 상자(anchor box)를 사용하여 후보 영역들을 생성하고, 그와 동시에 후보 영역들에 대한 분류 작업을 수행한다. 이때, 단일-단계 물체 탐지기들은 두-단계 탐지기들보다 상대적으로 처리 속도가 빠르지만, 성능 면에서 다소 부족한 부분이 있다. 하지만, 최근에 개발된 RetinaNet[24]은 FocalLoss를 사용하여 단일-단계 탐지기이면서도 기존의 모든 탐지기보다 높은 성능을 보였다.
행동 인식 기술은 비디오에서 행동이 발생하는 시간 구간을 알아내고, 해당 시간 구간에 해당하는 행동을 인식하는 기술이다. 기존 컴퓨터 비전 연구 중심층 신경망을 사용한 행동 인식 연구[25,26]들에서는 비디오를 일정한 크기의 클립(clip) 단위로 분할하여 클립 별 행동을 예측한 후, 같은 행동을 갖는 연속된 클립을 연결하여 전체 영상에 대한 행동 인식결과를 얻어내었다. 이때 행동 분류 과정[27,28]에는 연속된 프레임들을 함께 이용하여 움직임에 대한 시각적 특징을 추출하였고, 다중프레임에 대한 시각 특징을 추출하기 위해선 합성 곱 신경망 기반의 C3D (Convolutional 3D)가 주로 사용되었다. 하지만, 이러한 연구들은 전체 인물의 몸체를 바탕으로 연속적인 프레임에 대한 행동을 예측하는 모델들로, 본 연구에서 사용하는 “미생”과 같이 단순히 바스트 샷 (Bust shot) 위주의 동영상이나, 몸체가 나오지 않는 비디오에 대해서는 충분한 시각정보를 추출하지 못하기 때문에 낮은 성능을 보인다. 따라서, 본 논문에서 제안하는 행동 인식 모델은 영상을 클립 단위로 잘라 각 클립의 대표 프레임(Key frame)의 시각정보와 벤치마크 데이터 집합을 미리 선행 학습시킨 C3D를 통한 연속적인 프레임에 대한 시각정보를 복합적으로 사용하고자 한다. 또한, 연속적인 클립별 정보로부터 행동을 예측하기 위해, 대표적인 순환 신경망중 하나인 LSTM을 추가하여 앞뒤 클립 간의 정보 교환이 이루어질 수 있도록 구현하였다.
입력 영상을 분석해 장면을 인식하는 영상 기반 장면 인식 기술은 인식 알고리즘이나 모델은 복잡하고 가변적인 환경에서도 높은 인식 정확성, 동시에 실시간 응용을 위해 빠른 인식 속도도 함께 요구된다. 최근에는 조명(illumination), 겹침(occlusion), 복잡한 배경(complex background), 영상 노이즈(image noise)와 같은 노이즈를 줄이며, 빠르고 정확한 인식을 위하여 합성곱 신경망에 여러 알고리즘을 적용하는 방법[29]들이 등장하였다. 이를 응용하여 장소 인식기로써 [30]와 같은 연구들은 ImageNet[31]같은 물체 인식 데이터 집합으로 미리 사전 학습시킨 네트워크를 장소 인식에 특화된 Places[32] 같은 데이터로 재-학습시켜 사용하는 연구들로 장면 내의 특정 물체를 인지하거나 영상 패턴을 학습하는 방식을 제안하였다.
마지막으로, 일반적인 컴퓨터 비전 분야에서의 비디오에 대한 설명문(description) 생성 연구는 인코더-디코더 구조(encoder-decoder framework)의 종단 간 신경망 모델(end-to-end neural network)[33-35]을 주로 사용하였다. 이는 비디오를 입력받아 합성곱 신경망을 이용하여 특징을 추출한 뒤 순환 신경망(Recurrent Neural Network, RNN)을 통해 인코딩하고, 다시 순환 신경망으로 디코딩하여 자연어 문장을 생성하는 과정으로 이루어진다. 최근에는 입력 비디오에 대한 정보를 보다 풍부하게 활용하기 위하여 고-수준(high-level) 특징인 의미 특징(semantic features)을 함께 활용하는 연구[36]들이 제안되었다. 또한, 입력 특징들에 적절한 주의집중(attention) 메커니즘을 적용하여 캡션 생성 성능을 높이는 연구들도 활발히 진행되고 있다.
3. 메타 데이터 스키마와 학습 데이터 구축
3.1 메타 데이터 스키마 설계
본 논문에서는 비디오 데이터에 대한 자동 주석을 위해 다음과 같은 메타 데이터 스키마를 정의하였다. 일반적으로 비디오는 씬(Scene), 샷(Shot), 프레임 (Frame)의 계층 구조로 이루어져 있다. 씬은 동일한 시간과 장소에서 일어나는 일련의 상황이나 사건, 샷은 카메라가 작동을 시작해서 멈출 때까지 얻어진 일련의 화면, 그리고 프레임은 필름에서 상이 맺힌 하나의 독립된 공간으로서 정사진이나 한 장의 그림에 해당하는 비디오의 시간적 최소단위를 의미한다. 본 논문에서는 이러한 비디오 계층 구조에 따라 씬, 샷, 프레임에 대하여 각각 주석 스키마를 정의하였다.
본 논문에서 정의한 씬 스키마는 Table 1에 기술된 바와 같이 비디오 파일 관련 스키마와 씬에 포함된 내용 관련 스키마로 이루어져 있다. 씬은 일련의 샷들로 구성되어 있고, 샷은 일련의 프레임들로 구성되어 있다. 따라서 씬은 다수의 샷과 프레임을 포함하므로 본 논문에서는 씬, 샷, 프레임 모두에서 동일한 비디오 파일 관련 정보를 씬 스키마로 설계하였다. 또한, 씬의 경우 동일한 시간과 장소에서 일어나는 일련의 상황이나 사건을 의미하므로, 장소와 시간대 정보 또한 씬 스키마로 정의하였다. 이 외에도 해당 씬에서 등장하는 인물과 행동, 씬의 내용을 설명하는 설명문 리스트도 씬 스키마에 포함된다.
Table 1. Scene schema
다음으로 본 논문에서 정의한 샷 스키마는 Table 2에 기술된 바와 같다. 샷 스키마는 씬 스키마와 유사하게 샷 파일 관련 스키마와 샷에 포함된 내용 관련 스키마로 구성되어 있다. 샷은 씬의 구성요소이고, 일련의 프레임들을 포함하고 있으므로 해당 샷이 속한 씬 ID 정보와 샷에 포함된 대표 프레임(key frame) ID 정보를 샷 스키마로 설계하였다. 또한, 샷에 등장하는 인물과 인물의 행동, 감정 정보도 샷 스키마에 포함된다. 그리고 Table 2에 기술된 바와 같이 시선 방향 정보, 관계(호의/적의) 리스트, 상대 배우 정보도 샷 스키마에 정의되어 있다. 시선 방향 정보는 샷에 등장하는 인물의 시선이 영상 기준으로 위, 가운데, 아래 중 어느 방향인지를 나타내는 정보이고, 관계(호의/적의) 리스트와 상대 배우 정보는 현재 샷에 등장하는 인물의 상대 배우와 상대 배우와의 관계를 의미한다. 마지막으로 본 논문에서 정의한 프레임 스키마는 Table 3에 기술된 바와 같다. 먼저 해당 프레임이 속한 비디오, 씬, 샷 ID 정보와 해당 프레임의 ID 정보가 프레임 스키마에 포함된다. 그리고 프레임에 등장하는 인물과 물체정보, 인물 간의 방향 관계 리스트, 감정 리스트를 프레임 스키마로 정의한다. 또한, 프레임은 정사진에 해당하므로 인물, 물체 탐지를 위해 필요한 경계 상자(bounding box, bbox)정보도 프레임 스키마에 정의되어 있다.
Table 2. Shot schema
Table 3. Frame schema
본 논문에서는 다음과 같이 정의한 스키마에 따라 메타 데이터를 구성하며, 이때 구성 데이터 중 인물, 물체, 행동, 장소, 시간대, 설명문 6가지의 정보를 심층 신경망 모델로 인식하여 메타 데이터로 변환할 수 있도록 하였다.
3.2 모델 학습을 위한 데이터 구축
앞서 정의한 스키마에 따라 본 논문에서는 tvN 드라마 ‘미생’을 사용하여 주석 데이터를 생성하였다. 드라마 ‘미생’은 회사 내에서 직장인의 사회생활을 보여주는 드라마로 시나리오상 다양한 등장인물 간의 사회적 관계에 집중하여 끊임없이 발생하는 여러 사건, 사고를 중심으로 다양한 스토리 플롯을 구성하고 있는 드라마다. 본 드라마는 총 20화로 구성되어 있으며, 실내와 실외 장면이 다양하게 등장하며, 그 중 회사 내 사무실이 큰 비중을 차지한다.
Table 4는 드라마 콘텐츠를 분석하기 위해 본 논문에서 구현한 심층 신경망 모델의 학습/검증 데이터에 대한 사양을 정리한 것으로, 이때 등장인물은 조연을 “someone”으로 정의하고, 그 외 주요인물 6명을 중심으로 정의하였다. 한편, 현재 주석 데이터를 생성할 드라마 미생의 경우, 드라마의 특성상 인물의 바스트 샷을 위주로 제작된 영상 컨텐츠이다. 따라서, 행동이나 장소, 시간대의 경우, 실제 드라마 내 자주 등장하는 클래스로 단순화하여 정의하였다.
Table 4. Training data specification
이때 장소의 경우, 드라마 내 장소를 인식하기 위하여 1∼5, 10∼11화 에피소드를 토대로 훈련 및 검증용 데이터 집합을 제작하였으며, 이때 Table 5의“Element(Eng)” 축은 실제 자동 분류되는 클래스명, “Element(Kor)” 축은 해당 데이터의 의미를 나타낸다. “Data” 축은 실제 미생 드라마 내 대본에 명시된 장소명이며, 이 표현은 매우 세세하고, 방대하므로 “Data” 축에 등장하는 장소들을 총 12개의 클래스로 단순화하여 데이터를 생성하고, 학습할 수 있도록 하였다.
Table 5. Place schema
한편 드라마 내 물체 인식을 위한 학습용 데이터의 경우, 이미 물체 탐지용 데이터로 잘 알려진 MS COCO[37] 벤치마크 데이터를 사용하였다. MS COCO 데이터의 경우 80개의 클래스를 보유하고 있는 대규모 물체 탐지용 데이터로 드라마에 등장하는 대다수의 사물을 다 보유하고 있기에 그대로 활용하였다.
Table 6은 설명문 생성 모델을 학습하기 위한 학습 데이터에 대한 템플릿(template)을 정의한 것으로, 주체자에 따른 행동 라벨을 기준으로 설명문 템플릿을 정의하고 정의한 템플릿에 맞춰 학습 데이터를 생성하였다. 이때, Table 6의 actor, place, timezone의 경우, 앞서 정의한 Table 4의 값을 활용하여 다양한 형태의 자연어 문장 데이터 집합을 생성할 수 있도록 하였다.
Table 6. Description template
4. 비디오 주석 도구의 설계
4.1 설계 개요
Table 1과 같이 정의된 스키마에 따라서 주석 데이터를 자동으로 생성하기 위해서 자동 주석 도구를 설계한다. 자동 주석 도구는 사용자에게 편의성을 제공하기 위해 필요한 기능들을 포함한다. 먼저 주석 데이터를 생성하는 기능, 생성된 주석 데이터를 시각적으로 확인할 수 있는 시각화 기능, 그리고 주석 데이터 생성에 사용되는 모델들의 성능 평가 기능이 자동 주석 도구에 포함된다. 먼저 자동으로 주석 데이터를 생성하는 기능을 지원하기 위해서 입력과 출력 데이터 형태를 정의한다. 입력으로는 씬 단위의 비디오들을 입력받고, 다양한 문제에 쉽게 사용될 수 있는 JSON 형태의 주석 데이터를 출력으로 정하였다. Table 1과 같이 정의된 스키마는 비디오 ID, 프레임 개수 등과 같이 영상 파일로부터 바로 알 수 있는 정보뿐만 아니라, 인식을 통해 알아내야 하는 등장인물, 장소 등에 대한 정보를 함께 포함한다. 자동 주석 도구에서는 인식이 필요한 주석 데이터를 생성하기 위해서 학습된 심층 신경망 모델들을 사용한다. 이에 따라 등장인물, 물체, 장소, 시간대, 행동, 설명문을 인식 및 생성할 수 있는 6가지 심층 신경망 모델들을 정의한다. 각 모델은 생성하려는 주석 데이터 종류에 따라 독립적으로 학습된다. 그리고 자동 주석 생성 시에는 학습된 모델들을 모두 이용하여 입력된 씬 영상에 해당하는 주석 데이터들을 생성한다.
시각화 기능은 씬 영상으로부터 자동 생성된 JSON 형태의 주석 데이터를 시각적으로 사용자에게 나타낸다. 구체적으로는 자동 생성된 인물, 물체, 장소, 시간대, 행동, 설명문을 영상의 흐름에 맞추어 영상과 함께 나타내며, 장면 그래프 형태의 시각화도 포함한다. 또한, 시각화 기능은 생성된 주석 데이터를 즉각적으로 확인할 수 있도록, 자동 주석 데이터 생성 기능과 병행으로 행동할 수 있도록 설계한다. 이와 같은 시각화 기능을 통해 사용자는 생성된 주석 데이터가 적절한지 쉽게 파악할 수 있다. 성능 평가 기능은 주석 데이터의 생성과 별개로 주석 데이터를 생성하는 각 모델들의 성능을 평가하기 위함이다. 이는 주석 데이터 생성에 사용될 수 있는 모델 중 미생 드라마에 제일 적절할 모델을 선택하기 위함이다. 이 기능을 통해 사용자는 보다 나은 모델을 선택하고 해당 모델로부터 주석 데이터를 생성할 수 있다.
4.2 심층 신경망 모델
앞서 4.1절에서 언급한 대로 본 논문에서 주장하는 자동 주석 도구는 등장인물, 물체, 장소, 시간대, 행동, 설명문 총 6종류의 데이터를 씬(scene) 단위 영상에 대하여 생성, 인식할 수 있는 심층 신경망 모델을 정의하였다.
이 중, 인물 인식 모델은 자동화 데이터 생성에 있어 가장 필수적인 요소로 실제 Table 4에서 정의한 것처럼 총 7가지의 클래스(“N/A(someone, 조연), 장그래, 오상식, 김동식, 안영이, 장백기, 한석율”)에 대하여 인물을 인식하고 분류하는 역할을 수행한다. 이 때 인물 인식 모델은 한정적인 데이터를 활용하기 위하여 Fig. 4과 같이 크게 얼굴 탐지부(Face detection), 얼굴 분류부(Face classification)로 나뉘고, 이는 다시 이중 얼굴 인식에 탁월한 성능을 보이는 MTCNN[13]과 커스텀 CNN 구조로 구성된다.
Fig. 4. Character detection model.
본 논문에서 사용한 물체 탐지 모델의 경우, Fig. 5와 같이 2.3절에서 언급했던 대로 실시간 물체 탐지가 가능한 Retina-Net을 기반으로 구성된 모델로, MS-COCO[37] 벤치마크 데이터 집합을 기반으로 미리 학습시킨 모델을 사용하였다. 이에 따라 최종적으로 모델이 예측한 물체들 중 “노트북, 키보드, 차, 넥타이 등….” 과 같은 드라마 내용에 적합한 일부 물체만을 필터링하여 메타 데이터로 활용하였다. 본 논문에서 정의한 행동 인식 모델은 Table 4에서 정의된 스키마에 따라서 씬 영상 단위로 행동을 인식한다. 또한, 효과적으로 행동을 인식하기 위해서, 씬 영상을 여러 클립(clip)으로 분할 하고 클립별로 행동을 인식한다. Fig. 6은 이러한 행동 인식 모델의 구조를 나타내며, 행동 인식 모델은 각 클립에 대한 특징을 추출하기 위해서, 단일 프레임을 입력받는 CNN과 여러 프레임을 동시에 입력받는 C3D를 함께 사용한다. 먼저 CNN은 클립의 제일 첫 번째 프레임을 해당 클립의 대표 프레임(key frame)으로 선택한 후, 해당 정적 이미지에 대한 시각 특징을 추출한다. 이와 반대로 C3D는 여러 프레임을 동시에 고려할 수 있으므로 해당 클립의 시각적 변화를 고려한 시각 특징을 추출한다. 하지만 미생과 같이 등장인물 간의 대화가 주를 이루는 영상만으로 C3D를 학습하는 것은 타 영상에 대하여 일반화를 이룰 수 없으므로, 이에 따라 벤치마크 데이터 집합 UCF101[38]로 C3D만을 따로 선행 학습(pre-train)한 후, 미생 데이터에 대하여 미세 조정(fine-tuning)하여 일반화를 이룰 수 있도록 하였다.
Fig. 5. Object detection model.
Fig. 6. Activity detection model.
이후, 두 신경망을 통해 추출된 각 시각 특징을 결합(concatenate)하여 순환 신경망인 LSTM에 입력하게 되는데, 이때 LSTM은 시간의 흐름에 따라 연속되어 얻는 클립 간의 맥락 정보를 추출할 수 있게 된다. 최종적으로 각 클립마다 얻어진 특징으로부터 MLP(Multi-Layer Perceptron)를 거쳐 행동을 예측한다. 그리고 연속된 클립 중 동일한 행동 집합이 나올 경우, 이를 하나로 합쳐 각 행동의 시간 구간을 정할 수 있다. 이와 같은 과정을 통해 씬 영상에서 등장한 여러 행동들의 라벨과 해당하는 시간 구간을 인식할 수 있다.
장소 인식 네트워크 (PRN)는 Fig. 7와 같은 구조의 합성곱 신경망(CNN)으로 구성된다. 이 네트워크는 Places[32]데이터 집합으로 미리 사전 학습시킨 장면 인식 네트워크를 ‘미생’ 드라마에서 수집한 새로운 장소 별 영상 데이터들로 재-학습시켜 사용한 모델로 마지막 입력 영상에 대하여 완전 연결 계층 (Fully Connected layer)를 바탕으로 Table 5에서 정의한 12개의 클래스로 분류하게 된다.
Fig. 7. Place recognition model.
시간대 인식 모델은 장소 인식 모델과 같이 CNN 기반의 심층 신경망 모델로, Fig. 8과 같은 분류 (classification) 구조를 갖고 있다. 이때 영상 특징 데이터 추출에 탁월한 ResNet-18 기반의 모델을 바탕으로 설계하였으며, 본 모델은 Table 4에 기재된 데이터 사양과 클래스 종류만큼 자체적으로 학습 데이터를 생성하여, 모델을 학습시켰다.
Fig. 8. Timezone recognition model.
설명문 생성 모델은 Fig. 9와 같은 구조로, 드라마의 특성상 영상 대부분이 인물의 얼굴 위주로 구성되어 있으며, 인물의 대사가 영상의 내용 파악에 중요한 역할을 담당한다. 따라서 소리 없는 영상을 입력으로 사용하여 설명문을 생성하기에는 어려움이 있었다. 이에 본 논문에서는 다른 요소 모델들을 통해 인식한 장면 구성 요소(scene component)인 인물, 행동, 장소, 시간대 정보를 활용하여 설명문을 생성한다. Table 6에 묘사된 바와 같이 인식된 인물, 행동, 장소, 시간대 정보를 입력받아 LSTM을 통해 스스로 자연어 문법에 맞도록 설명문을 생성하게 된다.
Fig. 9. Description generation model.
5. 구현 및 실험
5.1 모델 구현과 학습
본 논문에서는 앞서 언급한 자동 주석 생성 도구를 위해 여러 신경망 모델을 구현하였다. 이때 모델의 학습 과정에는 앞서 언급한 미생 기반의 학습용 데이터를 사용하였으며, 이때 학습과 검증 데이터의 구성 비율은 8:2 정도로 나누어 학습을 진행하였다. 얼굴 인식 모델은 심층 신경망 라이브러리인 Keras 를 이용하여 구현하였다. 얼굴 인식 모델에서 MTCNN 은 기존에 미리 학습된 네트워크를 차용하였으며, 얼굴 분류 네트워크의 경우 미생 드라마에서의 얼굴 데이터로 학습하였다. 모델 학습을 위한 손실 함수 (loss function)는 식 (1)과 같이 범주별 크로스엔트로피(categorical cross-entropy)를 사용하였고, 최적화 알고리즘은 Adam을 사용하였다. 학습 과정에 사용한 batch size는 64, epoch은 15으로 설정하였다.
물체 탐지 모델의 경우, Keras로 구현된 Retina Net을 사용하였으며, 모델 학습을 위해 80개의 물체 클래스로 이루어진 벤치마크 데이터셋인 MS-COCO 를 이용하였다. 손실 함수는 물체 영역 인식에 대한 손실로 Smooth L1을, 물체 분류에 대한 손실로 범주별 크로스엔트로피(categorical cross-entropy)를 사용하였다. 그리고 최적화 알고리즘으로는 Adam을 사용하였다. 행동 인식 모델은 Keras로 구현하였다. 행동 인식 모델 중 C3D는 벤치마크 데이터셋 UCF101을 통해 사전 학습하였다. 그리고 미생 데이터셋을 이용하여 End-to-End로 학습하였다. 손실 함수는 각 클립의 분류 결과에 대한 범주별 크로스엔트로피(categorical cross-entropy)를 사용하였고, 최적화 알고리즘으로는 Nadam을 사용하였다. 학습 과정에 사용한 batch size는 32, epoch은 30으로 설정하였다.
장소 인식 모델의 경우 Pytorch로 구현하였으며, Places365 데이터 집합으로 미리 학습된 ResNet152 기반의 장면 분류 네트워크를 드라마 미생 학습용 데이터 집합으로 추가 학습시킨 신경망 모델을 이용하였다. 모델 최적화 알고리즘은 SGD, 손실 함수는 식 (1)에 표현된 범주별 크로스엔트로피(categorical cross-entropy)를 사용하였으며, batch size 는 128,. epoch 90, learning rate 0.1를 사용하였다. 시간대 인식 모델은 Keras로 구현하였으며, 이미지 특징 추출에 탁월한 Resnet-18 모델을 바탕으로 구현하였다. 모델 최적화 알고리즘은 Adam을 사용하였고, 손실 함수는 범주별 크로스엔트로피(categorical cross-entropy)를 사용하였다. 학습 과정에 사용한 batch size는 64, epoch은 20이다.
한편, 설명문 생성 모델은 Keras 라이브러리를 이용하여 구현하였다. 설명문의 최대 길이는 15단어로 제한하였고 구성하는 단어의 총 개수는 44개, [EOS] 토큰 전까지를 생성한 설명문이라 간주하였다. 설명문 생성 모델은 장면 구성 요소들(인물, 행동, 장소, 시간대)과 자연어 설명문 쌍으로 이루어진 설명문 학습 데이터를 이용하여 학습되었다. 모델 최적화 알고리즘은 RMSprop을 사용하였고 손실함수는 식 (1) 에 표현된 범주별 크로스엔트로피(categorical crossentropy)를 사용하였으며, batch size는 10, epoch은 100으로 설정하여 학습을 진행하였다.
5.2 사용자 인터페이스 구현
Fig. 10은 구현된 자동 주석 도구의 메인 화면을 나타낸다. 먼저 그림의 (A)에서는 입력 영상들의 경로와 주석 데이터를 저장할 경로를 정할 수 있다. 자동 주석 도구에서는 에피소드 폴더 별로 씬 영상들이 정의되었다고 가정하고, 해당 에피소드 폴더들의 상위 경로를 입력하면 그 하위 경로에 존재하는 모든 씬 영상들을 인식하도록 구현하였다. 그리고 (B)에서는 주석 데이터를 자동으로 생성하는 기능을 제공한다. (B)의 에피소드에 대한 체크 박스들은 (A)의‘Video Path’에 존재하는 에피소드들과 일대일 대응된다. 체크 박스를 체크하면 해당하는 에피소드에 포함된 모든 씬 영상을 입력 영상들로 사용하도록 구현하였다.
Fig. 10. Configuration of the main screen of the AnoVid video annotation tool.
Fig. 11은 자동 주석 데이터 기능을 통해서 생성된 주석 데이터의 예시를 나타낸다. 그림과 같이 스키마에 해당하는 요소들을 JSON 형태에 맞게 표현하며, 주석 데이터가 생성되는 계층 수준에 따라 씬 수준 또는 프레임 수준으로 각 주석 데이터들을 저장한다.
Fig. 11. Example of annotated data.
(C)에서는 생성된 주석 데이터에 대한 시각화 기능을 제공한다. 시각화 기능은 (A)의 ‘Video Path’에 존재하는 영상의 주석 데이터가 ‘Output Path’에 존재할 때, 즉 주석 데이터가 생성되었을 때 사용할 수 있다. 콤보 박스에서는 시각화하고자 하는 영상을 선택하며, ‘U’ 버튼은 콤보 박스를 최신 상태에 맞게 업데이트하는 기능을, ‘play’ 버튼은 해당 영상의 시각화를 시작하는 기능을 제공한다. 이 버튼을 누를 시 Fig. 12, Fig. 13과 같은 시각화 화면이 나타난다.
Fig. 12. Visualizing the annotation data.
Fig. 13. Visualizing the scene graph.
시각화 기능은 동영상 형태의 표현과 장면 그래프 형태의 표현법으로 나뉘며, 우선 동영상 기능의 경우, Fig. 12와 같이 해당 영상을 재생하면서 주석 데이터인 인물, 물체, 장소, 시간대, 행동, 설명문을 함께 나타낸다. 인물과 물체의 경우에는 경계 상자 (bounding box)로 해당하는 영역을 나타내고, 해당 영역에 대한 클래스를 경계 상자 위에 출력하여 표시한다. 그리고 장소, 시간대, 행동은 영상의 흐름 중현재 프레임에 맞는 클래스를 좌측 상단에 출력한다. 마지막으로 설명문은 영상 아래에 별로도 출력되며, 영상의 시간에 따라서 해당 시간에 설명문이 존재하면 출력한다. 그리고 각 설명문은 시간 구간과 함께 표시된다.
Fig. 13은 장면 그래프 형태의 시각화 기능이며, Fig. 12의 영상이 재생될 시, 이와 동시에 지속해서 장면 그래프를 업데이트할 수 있도록 구현하였다. 장면 그래프의 구성요소는 인물, 장소, 시간대, 행동, 관계성으로 구성되며 이중 관계성을 제외한 나머지 값은 생성된 메타 데이터 JSON으로부터 가져오게 된다. 관계성의 경우, 크게 사람과 사람 간의 관계성과 사람과 행동 간의 관계성으로 나뉠 수 있으며, 이 중 사람 간의 관계성은 세부적인 단계인 사회적 관계, 위치 관계, 거리 관계로 나뉠 수 있다. 사람과 행동 간의 관계성의 경우, 각 행동의 종류에 따라 크게 5가지로 나뉘며 이에 따른 상세한 장면 그래프의 속성은 Table 7에 정의되어 있다.
Table 7. Scene graph representation
마지막으로 (D)에서는 성능 평가 기능을 제공한다. 성능 평가를 위해서는 먼저 인물, 물체, 장소, 시간대, 행동, 설명문에 따른 평가 데이터가 미리 요구된다. 성능 평가 결과는 Fig. 14처럼 Fig. 10 (D)의 빈 여백 부분에 출력된다. 성능 평가를 위해서는 먼저 평가하고자 하는 모델들을 (B)에서 선택하고, (D) 의 ‘test’ 버튼을 눌러서 성능 평가를 진행한다. 성능 결과는 Fig. 14처럼 각 모델에 알맞은 척도로 표현되며, 더 구체적으로 표현하기 위해, 평가 데이터 중 올바르게 예측한 경우의 수와 총 평가 데이터의 수를 함께 나타낸다.
Fig. 14. Visualizing the model accuracy.
5.3 성능 실험
본 논문에서 설명한 자동 주석 데이터 생성 도구의 성능 평가를 위하여 각 모델 별 학습, 평가용 데이터를 생성하였다. 각 모델의 종합적인 성능 실험 결과는 Table 8에 요약하였다.
Table 8. Performance of individual recognition models
우선, 인물 인식 모델 학습을 위한 데이터 집합의 경우, 훈련 데이터는 40,749개, 검증용 데이터는 1,708개로 구성되어 있으며 본 논문에서 설계한 모델의 경우, 평가용 데이터 집합에 대하여 mAP(Mean Average Precision)@0.5 수치값이 약 82%의 정확도를 보여주었다. 물체 탐지 모델을 위한 데이터 집합의 경우, 앞에서 언급했듯이, MS-COCO[37] 데이터 집합을 활용하였기 때문에 훈련 데이터는 246,690개, 평가용 데이터는 81,434개로 구성되어 있으며 평가용 데이터 집합에 대하여 mAP(Mean Average Precision)@0.5 수치값이 약 54%의 정확도를 보였다.
장소 인식용 데이터 집합은 훈련용 데이터 20,074개, 평가용 데이터 8,721개 제작하였다. 평가용 장소 인식 데이터 집합에 대한 정확도(Accuracy)를 측정했을 때 약 70%의 성능을 보이며, 시간대 인식의 경우, 훈련용 집합은 23,781개 평가용 집합은 8,450개를 제작하였다. 시간대 인식의 경우, 장소 인식 모델과 동일하게 평가용 데이터 집합에 대한 정확도를 측정하였으며, 약 86%의 성능을 보임을 알 수 있다.
설명문 생성 모델은 METEOR 평가 지표에서 약 96%의 성능을 보였다. 이렇게 높은 성능을 얻을 수 있었던 것은 본 논문에서 사용한 설명문 생성 모델이 영상으로부터 설명문을 생성하는 것이 아니라 인식된 장면 구성요소들로부터 설명문을 생성하고, 설명문 학습 데이터가 다양한 자연어 문장으로 이루어진 것이 아니기 때문으로 판단된다. 성능 실험을 통해 본 논문에서 사용한 설명문 생성 모델이 자연어 문장을 알맞게 생성함을 알 수 있었다. 그러나 모델의 설계 특성상 인식된 장면 구성요소에 오류가 있다면 설명문도 실제 장면과 다르게 생성된다는 한계점이 있었다.
Table 9, 10은 본 논문에서 제안한 행동 인식 모델의 성능 실험 결과를 나타낸다. 두 표는 각각 모델이1) 가장 확률적으로 높은 클래스 한 개만(Top 1 score)을 예측했을 때와 2) 확률적으로 높은 클래스 두 개(Top 2 score)를 예측할 때를 의미하며, 이때의 클래스 단위와 전체 데이터에 대한 성능을 보여준다. 모든 척도는 높을수록 좋은 것을 의미하며, Top 1 score에 대한 성능은 약 55%이며, Top 2 score에 대한 성능은 74%의 성능을 보인다. 한정적인 성능의 원인으로는, 학습을 위한 데이터 집합의 개수가 적고, 클래스별 불균형이 일어나기 때문으로 추측한다. 이와 동시에 본 논문에서 사용하는 드라마 “미생”의 특징상 인물의 상체인 바스트 샷을 위주로 제작되었기 때문에 특히나 행동 인식 면에서 낮은 성능을 보이는 것을 추측된다.
Table 9. Performance of the activity detection model (Top 1 score)
Table 10. Performance of the activity detection model (Top 2 score)
Fig. 15는 본 논문에서 제안한 AnoVid 주석 도구의 데이터 생성 시간을 분석한 실험 결과를 나타낸다. 이 실험에서는 영상 길이가 서로 다른 총 3개의 영상에 대하여 각기 다른 여러 조합의 주석 데이터를 생성했을 때의 소요 시간을 비교하였다. 이때 사용한 3개의 영상은 드라마 “미생”의 각 에피소드를 의미하며, 각각 118개, 74개, 71개의 씬 단위 영상으로 쪼개져 있다. 3개의 영상은 평균적으로 한 씬 당 20.2개 정도의 샷으로 구성되어 있다. 각 샷은 샷을 구성하는 영상 길이에 따라 20∼340개 정도의 프레임으로 구성되어 있다. 각 그림의 우측 상단은 모든 씬 단위 영상을 다 더한 전체 에피소드의 재생 시간을 의미한다. 이러한 영상 데이터를 처리하는 모델로는 총 4개가 존재하며, 이때 Model_ACOPTD의 경우 본 논문에서 제안한 총 6가지 자동 인식 모델을 모두 사용하여 메타 데이터를 자동 생성했을 때를 의미한다. 그 외 나머지 세 모델은 명시된 것과 같이 일부 모델만을 사용하여 메타 데이터를 생성했을 때를 의미한다.
Fig. 15. Comparison of running time.
전체 메타 데이터를 생성하는 Model_ACOPTD 모델을 기준으로, 세 영상에 대한 평균 생성시간은 약 20.4시간을 보이며, Model_PT를 제외한 나머지 두 모델(Model_ACO, Model_CO)은 Model_ACOPTD 모델과 시간 차가 크지 않음을 알 수 있다. 이는 Model_PT가 단순히 해당 씬을 구성하는 전체 이미지를 토대로 장소와 시간대만을 예측하는 방식으로 다소 소요 시간이 짧다는 것을 알 수 있다. 이와 반면에, Model_ACO, CO와 같이 영상을 구성하는 매 프레임 마다 해당 이미지 내에 존재하는 특정 물체, 인물, 인물에 따른 행동을 예측하는 과정이 상당히 복잡하고 계산량이 많음을 알 수 있다.
다음 Fig. 16, Fig. 17의 경우 본 주석 도구를 사용했을 때의 정성 실험으로, 각각 생성한 실제 주석 데이터와 검증 비디오를 예제로 보여준다. 그림의 상단은 입력 영상에 대한 순차적인 이미지이며, 하단은 결과물로 보는 비디오와 장면 그래프의 모습이다. 이 예들에서 AnoVid가 인식한 비디오 콘텐츠와 생성된 JSON 형태의 메타 데이터 등을 비교해보면, 자동화된 비디오 주석 도구인 AnoVid가 실제 비디오 내용에 부합되는 올바른 결과를 생성하였음을 확인할 수 있다.
Fig. 16. First example of video annotation.
Fig. 17. Second example of video annotation.
6. 결론
본 논문에서는 다양한 요소가 포함된 긴 드라마 비디오에서 각 씬 혹은 샷 단위의 다양한 메타 데이터들을 자동으로 생성해주는 심층 신경망 기반의 자동화된 비디오 주석 도구 AnoVid를 제안하였다. 이를 위해 본 연구에서는 드라마 비디오 주석을 위한 메타 데이터 스키마를 설계하였고, 이 스키마를 토대로 AnoVid 비디오 주석 도구는 물체 탐지, 장소 인식, 시간대 인식, 인물 인식, 행동 인식, 설명문 생성을 위한 총 6가지의 심층 신경망 모델을 이용하여 복합적인 주석 데이터를 생성한다. 또한, AnoVid는 JSON 형태의 비디오 주석 데이터 파일을 자동 생성하는 기능 외에, 비디오 콘텐츠 분석 결과를 확인할 수 있는 다양한 시각화 기능도 제공한다. 본 논문에서는 tvN 드라마 “미생” 비디오 데이터를 이용한 실험들을 통해, AnoVid의 실질적인 효용성과 성능을 확인하였다. 향후에는 AnoVid의 추가 성능 개선 연구와 비디오 주석 데이터를 활용한 새로운 비디오 합성 기술에 관한 연구를 진행할 계획이다.
References
- Dublin Core(1995), https://www.dublincore.org/ (accessed July 1, 2020).
- S.F. Chang, T. Sikora, and A. Puri, “Overview of the MPEG-7 Standard,” Journal of IEEE Transactions on Circuits and Systems for Video Technology, Vol. 11, No. 6, pp. 688-695, 2001. https://doi.org/10.1109/76.927421
- V. Lombardo, R. Damiano, and A. Pizzo, "Drammar: A Comprehensive Ontological Resource on Drama," Proceeding of International Semantic Web Conference, pp. 103-118, 2018.
- OntoMedia(2002), http://www.ontomedia.de/ (accessed July 1, 2020).
- Advene(2002), http://folk.ntnu.no/heggland/ontolog-crawler/login.php (accessed July 1, 2020).
- ELAN(2016), https://archive.mpi.nl/tla/elan (accessed July 1, 2020).
- W.Y. Wong and P. Reimann, "Web Based Educational Video Teaching and Learning Platform with Collaborative Annotation," Proceeding of IEEE International Conference on Advanced Learning Technologies, pp. 696-700, 2009.
- DarkLabel(2017), https://darkpgmr.tistory.com/16 (accessed July 1, 2020).
- VoTT(2019), https://github.com/Microsoft/VoTT (accessed July 1, 2020).
- VATIC(2012), https://github.com/cvondrick/vatic (accessed July 1, 2020).
- Y. Wang, X. Ji, Z. Zhou, H. Wang, and Z. Li, "Detecting Faces Using Region-based Fully Convolutional Networks," arXiv Preprint arXiv: 1709.05256, 2017.
- S. Zhang, X. Zhu, Z. Lei, H. Shi, X. Wang, and S.Z. Li, "S3FD: Single Shot Scale-invariant Face Detector," Proceeding of IEEE International Conference on Computer Vision, pp. 4203-4212, 2017.
- K. Zhang, Z. Zhang, Z. Li, S. Member, and Y. Qiao, “Joint Face Detection and Alignment Using Multitask Cascaded Convolution Networks,” Journal of IEEE Signal Processing Letters, Vol. 23, No. 10, pp. 1499-1503, 2016. https://doi.org/10.1109/LSP.2016.2603342
- K.T. Kim and J.Y. Choi, “Development of Combined Architecture of Multiple Deep Convolutional Neural Networks for Improving Video Face Identification,” Journal of Korea Multimedia Society, Vol. 22, No. 6, pp. 655-664, 2019. https://doi.org/10.9717/KMMS.2019.22.6.655
- R. Grishick, J. Donahue, T. Darrell, and J. Malik, "Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 580-587, 2014.
- R. Girshick, "Fast R-CNN," Proceeding of IEEE International Conference on Computer Vision, pp. 1440-1448, 2015.
- S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: Towards Real-time Object Detection with Region Proposal Networks," Proceeding of Conference on Neural Information Processing Systems, pp. 91-99, 2015.
- K. He, G. Gkioxari, and P. Dollar, "Mask R-CNN," Proceeding of IEEE International Conference on Computer Vision, pp. 2961-2969, 2017.
- J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, "You Only Look Once: Unified, Realtime Object Detection," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 779-788, 2016.
- W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, and C.Y. Fu, et al., "SSD: Single Shot Multibox Detector," Proceeding of European Conference on Computer Vision, pp. 21-37, 2016.
- J. Redmon and A. Farhadi, "YOLO9000: Better, Faster, Stronger," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 7263-7271, 2017.
- J. Redmon and A. Farhadi, "YOLOv3: An Incremental Improvement," arXiv Preprint arXiv:1804.02767, 2018.
- A. Bochkovskiy, C.Y. Wang, and H.Y.M. Liao, "YOLOv4: Optical Speed and Accuracy of Object Detection," arXiv Preprint arXiv:2004.10934, 2020.
- T.Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar, "Focal Loss for Dense Object Detection," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 2980-2988, 2017.
- Z. Shou, D. Wang, and S.F. Chang, "Temporal Action Localization in Untrimmed Videos via Multistage CNNs," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 1049-1058, 2016.
- Z. Shou, J. Chan, and S.F. Chang, "CDC: Convolutional De-convolutional Networks for Precise Temporal Action Localization in Untrimmed Videos," arXiv Preprint arXiv:1703.01515, 2017.
- S. Ji, W. Xu, M. Yang, and K. Yu, “3D Convolutional Neural Networks for Human Action Recognition,” Journal of IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 35, No. 1, pp. 221-231, 2013. https://doi.org/10.1109/TPAMI.2012.59
- J.Y.H. Ng, M. Hausknecht, S. Vijayanarasimhan, O. Vinyals, R. Monga, and G. Toderici, "Beyond Short Snippets: Deep Networks for Video Classification," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, pp. 4694-4702, 2015.
- K. Wang, X. Long, R. Li, and L.J. Zhao, “A Discriminative Algorithm for Indoor Place Recognition Based on Clustering of Features and Images,” Journal of International Journal of Automation and Computing, Vol. 14, No. 4, pp. 407-419, 2017. https://doi.org/10.1007/s11633-017-1081-z
- A. Hanni, S. Chickerur, and I. Bidari, "Deep Learning Framework for Scene Based Indoor Location Recognition," Proceeding of IEEE International Conference on Technological Advancements in Power and Energy, pp. 1-8, 2017.
- J. Deng, W. Dong, R. Socher, L.J. Li, K. Li and L.F. Fei, "ImageNet: A Large-scale Hierarchical Image Database," Proceeding of Conference on Neural Information Processing
- B. Zhou, A. Lapedriza A. Khosla, A. Oliva, and A. Torralba, “Places: A 10 Million Image Database for Scene Recognition,” Journal of IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 40, No. 6, pp. 1452-1464, 2017.
- S. Venugopalan, M. Rohrbach, J. Donahue, R. Mooney, T. Darrell, and K. Saenko, "Sequence to Sequence: Video to Text," Proceeding of IEEE International Conference on Computer Vision, pp. 4534-4542, 2015.
- Y. Pan, T. Mei, T. Yao, H. Li, and Y. Rui, "Jointly Modeling Embedding and Translation to Bridge Video and Language," Proceeding of IEEE Conference on Computer Vision and Pattern Recognition, 2016.
- L. Yao, A. Torabi, K. Cho, N. Ballas, C. Pal, H. Larochelle, et al., "Describing Videos by Exploiting Temporal Structure," Proceeding of IEEE Conference International Conference on Computer Vision, 2015.
- L. Gao, Z. Guo, H. Zhang, X. Xu, and H.T. Shen, “Video Captioning with Attention-Based LSTM and Semantic Consistency,” Proceeding of IEEE Transactions on Multimedia, Vol. 19, No. 9, pp. 2045-5055, 2017. https://doi.org/10.1109/TMM.2017.2729019
- T.Y. Lin, M. Maire, S. Belongie, L. Bourdev, R. Girshick, and J. Hays, et al., "Microsoft COCO: Common Objects in Context," Proceeding of the European Conference on Computer Vision, pp. 740-750, 2014.
- K. Soomro, A.R. Zamir, and M. Shah, "UCF101: A Dataset of 101 Human Actions Classes From Videos in the Wild," arXiv Preprint arXiv:1212.0402, 2012.