Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 19, No. 11, pp.2049-2058
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Nov 2018
Received 11 Oct 2018 Revised 21 Oct 2018 Accepted 20 Nov 2018
DOI: https://doi.org/10.9728/dcs.2018.19.11.2049

얼굴인식 및 추적을 이용한 유명인 동영상 검색 앱 개발

송민경 ; 정수정 ; 최서현 ; 이경미*
덕성여자대학교 컴퓨터학과
Celebrity-indexed video retrieval application using face recognition and tracking
Min-Gyung Song ; Su-Jeong Jeong ; Seo-Hyun Choi ; Kyoung-Mi Lee*
Department of Computer Science, Duksung Women’s University, Seoul 01369, Korea

Correspondence to: * Kyoung-Mi Lee, Tel: +82-2-901-8348, E-mail: kmlee@duksung.ac.kr

Copyright ⓒ 2018 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 동영상 시장이 커지고 수많은 동영상이 생성되면서 빠르고 정확하게 동영상을 찾고자 하는 사용자의 요구는 커져가고 있으나, 기존 동영상 검색의 방식이 동영상을 업로드 할 때 입력한 제목, 내용, 태그에 기반하여 검색하기 때문에 광고성 동영상, 관련 없는 동영상, 정확도 낮은 동영상도 함께 검색되는 문제점이 있다. 특히 인물 검색을 할 때 동영상 제공자가 제목, 내용, 태그에 등장인물들을 일일이 적는 대신에, 본 논문에서는 동영상에서 얼굴을 검출하여 유명인을 인식하고 검증하며 추적하는 과정을 통해 얻어진 유명인 등장 프레임에 대한 정보로 색인화하는 방법을 통해 사용자에게 신뢰성 높은 검색 결과와 다양한 동영상 정보를 제공하기 위한 새로운 동영상 검색 서비스 앱 ‘ViMo’를 제안한다. 제안하는 ‘ViMo’ 서비스는 사용자가 보다 정확한 동영상 검색 엔진을 사용하고 동영상 속 등장인물의 등장시간을 알아 동영상 시청을 하는데 편리함을 느끼도록 도와주는 플랫폼을 제공하였다.

Abstract

Recently, as the video market has grown and numerous videos have been created, the demand of users who want to find videos quickly and accurately is getting bigger. However, existing video retrieval methods search based on titles, contents, and tags inputted when videos have been uploaded, so that advertisement videos, the irrelevant videos, and low-accuracy videos are also retrieved. Especially on person retrieval, instead of writing the characters in titles, contents, and tags, we propose a new video retrieval app 'ViMo' to provide reliable retrieval results and various video information to users through indexing the information about the celebrity frames that are obtained by face recognizing and tracking. The proposed 'ViMo' service provides a platform that helps users to use more accurate video retrieval engine, to find out the appearance time of characters in video and to finally feel the convenience of watching video.

Keywords:

Face recognition, Mobile application, Object tracking, Video indexing, Video retrieval

키워드:

얼굴 인식, 모바일 앱, 물체 추적, 동영상 색인, 동영상 검색

Ⅰ. 서 론

최근 정보통신기술과 모바일 환경의 발달로 인해 스마트 폰, 태블릿 PC 등의 모바일 기기를 통한 데이터 이용량이 급증하고 있다. 과학기술정보통신부에서 제공하는 국내 무선데이터 트래픽 현황에 따르면[1], 2015년 3월 전체 무선데이터 트래픽은 2,803.7TB인 반면, 2018년 6월 전체 무선데이터 트래픽이 6,458.7TB로 약 2.3배 증가하였다. 그림 1은 분기별(yy.mm) 전체 무선데이터 트래픽과 더불어 유형별 무선데이터 트래픽 현황을 보여주고 있다. 멀티미디어, 웹 포털, 마켓 다운 등의 유형은 전체 트래픽의 20%를 넘지 못하는 반면, 동영상은 2015년 3월 48.9%를 차지한 이후에 2018년 6월까지 계속적으로 50% 이상의 트래픽을 차지하고 있다. 이러한 무선데이터 트래픽, 특히 동영상 콘텐츠 트래픽의 급증은 모바일 콘텐츠가 텍스트나 이미지 중심에서 동영상 중심으로 재편되면서 모바일 동영상 콘텐츠의 역할이 더욱 중요해지고 있음을 의미한다.

Fig. 1.

Wireless data traffic by content types[1]

이러한 동영상 콘텐츠의 중요성을 반영하듯 최근 모바일 동영상 서비스에서의 우위를 점하기 위한 관련 업체의 경쟁이 치열하게 이루어지고 있다[2]. 넷플릭스(Netflix), 카카오 TV, 네이버 TV 등 다양한 영상 플랫폼이 성장하였고, 많은 영상 콘텐츠가 생성되고 있다. 특히, 단순히 콘텐츠를 전달만하는 시대에서 제작 능력을 보유한 사람이라면 누구나 콘텐츠를 만들 수 있는 시대로 변화하면서[3], YouTube, 아프리카 TV 등 직접 제작한 콘텐츠를 쉽게 업로드 할 수 있는 플랫폼이 큰 인기를 얻고 있다. 2018년 5월에 발표한 앱 분석업체 와이즈앱의 모바일 동영상 앱 사용자 동향에 따르면[4], YouTube가 총 사용시간의 약 85.6%를 차지하면서 2위 이하의 동영상 플랫폼들과 매우 큰 격차로 이용되고 있다 (그림 2).

Fig. 2.

Mobile video app. by share of time spent, May 2018[3]

동영상 시장이 커지고 수많은 동영상이 생성되면서 빠르고 정확하게 동영상을 찾고자 하는 사용자의 요구는 커져가고 있다. 그러나 동영상을 검색할 때 찾고자하는 동영상뿐만 아니라 광고성 동영상, 관련 없는 동영상, 정확도 낮은 동영상들도 함께 검색되기 때문에 원하는 동영상을 찾기 위해 많은 시간을 사용하게 되었다. 이러한 문제는 기존 동영상 검색의 방식이 동영상을 업로드 할 때 입력한 제목, 내용, 태그에 기반하여 검색하기 때문이다. 따라서 홍보나 조회수를 위해 동영상과 관련 없는 제목, 내용, 태그를 입력하는 경우엔 검색 정확도가 떨어질 수 밖에 없다. 특히 인물 검색을 할 때 자주 접하는 문제로 동영상 제공자가 제목, 내용, 태그에 등장인물들을 일일이 적어야지만 해당 동영상에 등장하는 인물들을 검색할 수 있게 된다. 따라서 사용자가 원하는 정보를 알맞게 도출해내기 위해서는 동영상을 업로드 할 때 입력한 제목, 내용, 태그 기반으로 검색하는 것이 아니라 새로운 동영상 검색 엔진 서비스가 필요하다. 따라서 본 논문에서는 다음과 같은 기능을 제공하는 동영상 검색 엔진 서비스 개발을 목표로 한다.

  • (1) 제목과 태그를 이용한 검색 방식의 한계 극복
    기존 동영상 검색 엔진은 제목과 태그를 통해서만 검색 결과를 도출할 수 있다. 이로 인하여 동영상 제목이 실제 동영상과 다를 경우 잘못된 검색 결과가 발생하게 된다. 본 논문에서는 사용자에게 보다 신뢰성 높은 동영상 검색 결과를 제공하기 위해 동영상에서 유명인 얼굴 인식을 통해 유명인이 실제로 등장하는 동영상을 검색할 수 있는 동영상 색인 및 검색 방법을 제안한다.
  • (2) 동영상 내용 정보 제공
    기존 동영상 검색 엔진은 동영상 제공자가 동영상 속 등장인물의 등장 여부만을 기입하기 때문에, 해당 등장인물이 잠깐 등장하는 동영상인지, 주도적으로 등장하는 동영상인지 알기 어렵다는 한계점이 있다. 본 논문에서는 사용자에게 보다 상세한 동영상 검색 결과를 제공하기 위해 동영상의 유명인 얼굴 추적을 통해 유명인이 등장하는 비율 정보를 제공하는 방법을 제안한다.
  • (3) 편리한 동영상 시청 기능 제공
    사용자가 기존 동영상 검색 엔진에서 동영상 시청을 할 경우 원하는 인물이 나오는 부분을 찾기 위해 동영상의 끝까지 살펴봐야하는 불편함이 있다. 본 논문에서는 사용자에게 보다 편리한 동영상 시청 기능을 제공하기 위해 동영상에서 유명인의 등장시간을 알려주고 해당 등장시간에서 바로 재생할 수 있는 기능을 제공하는 방법을 제안한다.

본 논문에서는 기존 동영상 검색 엔진의 문제점을 보완하여 사용자에게 신뢰성 높은 검색 결과와 다양한 동영상 정보를 제공하기 위하여 새로운 동영상 검색 서비스 앱 ‘ViMo’를 제안한다. 본 논문의 구성은 다음과 같다. 2장에서는 기존의 동영상 검색 서비스를 살펴보고, 3장에서는 유명인 얼굴 검출 및 추적 알고리즘을 제안한다. 얼굴 추적의 정확성을 높이기 위해 얼굴 검증 및 배경 변화 검출을 수행한다. 4장에서는 제안하는 얼굴 추적 알고리즘을 이용한 유명인 색인 동영상 검색 앱을 소개한다. 제안하는 앱의 시스템 설계, 데이터 설계, 메뉴 구조 및 다양한 기능에 대해 설명한다. 마지막으로 5장에서는 향후 연구 및 결론을 맺는다.


Ⅱ. 관련 연구

안드로이드 앱 스토어에는 다양한 동영상 플레이 앱이 출시되어 있다. 대부분 제목, 내용, 태그를 이용한 동영상 검색 서비스를 제공한다. 각 동영상 검색 방법을 사용하는 대표적인 동영상 검색 서비스로 YouTube, Vimeo, 네이버 TV가 있다.

YouTube는 검색어와 가장 관련성이 높은 결과를 상단에 노출시킨다[5]. 이를 위해 YouTube는 동영상 제목과 설명, 태그, 특수효과와 같은 동영상 관련 정보인  메타데이터를 기반으로 사용자의 검색어와 얼마나 일치하는지 등의 여러 요인을 바탕으로 동영상에 검색 순위를 매긴다. 그림 3은 ‘김연아’라는 검색어를 제목이 아닌 자막의 텍스트에서 찾고 있음을 보여준다. YouTube가 메타데이터를 사용하는 이유는 사용자가 동영상에 맥락 정보를 추가할 수 있도록 하기 위해서다. 그러나 이 기능을 악용해 검색 알고리즘에 혼선을 초래하는 경우도 있다. 예를 들어 메타태그에 유명인 이름을 넣어두었지만 동영상은 전혀 상관없는 경우도 있다. 이럴 경우 사용자가 동영상을 빠르게 이탈한다면, YouTube는 메타 데이터와 동영상이 관련없다고 판단하여 해당 동영상을 검색 결과 상단 노출에서 제외시킨다.

Fig. 3.

Retrieval by caption : YouTube [5]

Vimeo는 쉽게 영상 업로드, 관리 및 시청이 가능한 앱이다[6]. Vimeo는 영상 검색결과를 제목과 내용을 기반으로 제공한다. 카테고리 선택을 통해 동영상을 분류하지만 인물별로 동영상을 분류할 수는 없다. 인물 이름을 검색했을 때, 제목과 내용에 해당 인물이름이 없는 경우가 많아 다소 부족한 동영상 검색결과를 제공하고 있다. 그리고 인물 이름이 있다 하더라도 언제 해당 인물이 등장하는지 알 수 없어 기다려야 한다. 그림 4는 검색어 ‘김연아’를 제목이 아닌 설명에서 텍스트를 찾아 검색한 결과를 보여주고 있다. Vimeo는 인기 영상, 베스트 영상에 대한 제공은 없어 영상을 통해 현재의 이슈나 트랜드를 파악하기는 어렵다.

Fig. 4.

Retrieval by description : Vimeo[6]

네이버 TV는 네이버 영상을 토대로 한 동영상 검색 앱으로 단순히 동영상 재생뿐만 아니라 검색 결과를 제공하고 실시간 인기 동영상을 제시하고 있다[7]. 북마크 기능을 제공하여 사용자가 해당 동영상을 원할 때에 다시 볼 수 있도록 한다. 그리고 실시간 인기 동영상 TOP100을 제공함으로써 사용자에게 현재의 트랜드 정보를 제공한다. 또한 검색어를 입력하여 동영상을 검색할 때, 제목에 한정된 검색 결과만을 제공하는 것이 아니라 태그를 활용하여 좀 더 정확하고 다양한 검색 결과를 제시한다.

하지만 이 동영상의 게시자가 태그를 수동으로 작성해야 한다는 불편함이 있다. 그림 5는 제목이 아닌 태그에 있는 ‘김연아’를 찾아 검색한 결과를 보여주고 있다.

Fig. 5.

Retrieval by tag : Naver TV[7]

본 논문에서 제안하는 ViMo’ 앱은 이러한 YouTube 검색 서비스의 단점을 보완하여 동영상 제목, 설명, 태그와 같은 동영상 관련 정보를 기반으로 검색 결과를 제공하는 것이 아니라 동영상에 실제 인물이 등장하였는지 동영상 분석을 통해 판단한 결과를 기반으로 검색결과를 제공한다. 제목, 설명, 태그에 인물명이 없는 영상도 검색결과로 제공할 수 있고,  제목, 설명, 태그에 인물명이 있다 하더라도 실제로 인물이 등장하지 않는 영상은 검색결과에 노출시키지 않을 수도 있다. 또한 인물 검색을 통해 인물과 관련된 영상을 분류하여 확인할 수 있으며, 인물의 등장비율, 등장시점을 제공하여 보다 편리한 인물 검색 결과를 제공한다. 제안하는 ‘ViMo’ 앱은 베스트 영상과 이달의 인기 인물을 제공하여 매월 인기가 있었던 인물을 알 수 있고 베스트 영상 또는 이달의 인물의 영상을 통해 이슈나 트랜드를 파악할 수 있다.


Ⅲ. 동영상 색인화를 위한 유명인 얼굴 인식 및 추적 알고리즘

본 논문에서 제안하는 유명인 동영상 검색 앱을 개발하기 위해서는 유명인이 등장하는 동영상에 대한 색인화 작업이 필요하다. 본 논문에서는 동영상에서 얼굴을 검출하여 유명인을 인식하고 검증하며 추적하는 과정을 통해 얻어진 유명인 등장 프레임에 대한 정보로 색인화하는 방법을 제안한다. 그림 6은 동영상 색인화를 위해 유명인 얼굴 인식 및 추적 알고리즘의 전체 흐름도를 보여주고 있다.

Fig. 6.

Flowchart of the proposed celebrity face recognition and tracking algorithm for video indexing

3-1 얼굴 검출

동영상에서 들어오는 각 프레임에 대해 이전에 검출 및 추적한 얼굴이 없다면, 우선 Haar cascade의 얼굴 정면 및 측면, 그리고 눈 검출기를 이용하여[8] 프레임 내 얼굴 위치를 식 (1)과 같이 ROI(Region Of Interest) 로 지정한다 (그림 6①) :

x,y,w,h(1) 

여기서 (x,y)는 ROI의 왼쪽 상단 좌표, 의 ROI의 너비와 높이를 말한다.

검출된 얼굴에 대해서는 2개의 이전 프레임에서 검출된 얼굴의 위치와 비교하여 얼굴검출의 유효성을 판단한다 (그림 6②). 즉, 연속된 3개의 프레임에서 검출한 얼굴 ROI에서 중심점을 구해서, 중심점의 차이의 평균이 다음 식 (2)를 만족하는지를 계산한다:

cx1-cx2+cx2-cx32<θ1cy1-cy2+cy2-cy32<θ1(2) 

여기서 (cxi, cyi)는 i번째 프레임에서 ROI의 중심점을 의미한다. 연속된 프레임에서 검출된 얼굴 영역 중심의 차이가 임계값 θ1 미만으로 작을 때는 얼굴 검출이 올바르게 수행되었다고 판단하고, ROI를 다음 단계인 얼굴 추적에서 추적의 시작 값으로 전달한다. 이 단계를 통해 얼굴이 최초로 등장하는 프레임을 찾게 된다. 본 논문에서는 임계값 θ1의 값으로 20을 사용했다. 그림 7은 연속된 3개의 프레임에서 Haar cascade를 이용하여 얼굴을 검출한 결과를 보여주고 있다. (i - 2)th프레임과 (i - 1)th 프레임에서 검출한 얼굴의 중심의 차이와 (i - 1)th 프레임과 ith 프레임에서 검출한 얼굴의 중심의 차이가 식 (2)를 만족하면, ith 프레임을 얼굴이 등장하는 시점으로 판단한다. 임계값 θ1보다 큰 값을 가져 얼굴의 위치가 유효하지 않다면, 동영상에 들어오는 다음 프레임에 대해서 얼굴 검출 단계를 다시 시작한다.

Fig. 7.

Results of face detection of 3 sequential frames using Haar cascade : ROI and its center point

3-2 얼굴 추적 및 유명인 얼굴 인식

검출된 얼굴 영역의 ROI가 주어지면, 대표적인 동영상 객체 추적 알고리즘인 CamShift를 이용하여[9] 얼굴을 추적한다 (그림 6③). CamShift 알고리즘은 얼굴이 움직이거나 카메라가 움직이는 경우에도 추적하는 ROI의 크기와 각도가 실시간으로 변화하여 보다 나은 객체 추적 결과를 낼 수 있다[10].

추적된 얼굴 영역에 대해 이전에 인식된 유명인 얼굴이 없다면, 네이버 Clova Face Recognition API의 유명인 얼굴 인식 API를 이용하여[11] 유명인 얼굴인식을 진행한다 (그림 6④). 유명인 얼굴 인식 API는 입력 받은 프레임에서 어떤 유명인과 닮았는지 분석하여 닮은 유명인과 신뢰도 값을 반환하는 API이다. CamShift 실행도중 유명인 얼굴 인식 API를 유동적으로 사용하여 추적 중에 인물값을 찾을 때까지만 인식 결과를 알아낸다. 즉, 반환된 얼굴인식 신뢰도 값이 임계값 θ2보다 작은 경우에만 (그림 6⑤) 추적 중 유명인 얼굴인식 과정을 수행한다. 본 논문에서는 신뢰도 임계값 θ2로 0.8을 사용하였다. 얼굴인식 신뢰도 값이 임계값 θ2보다 크다면, 올바르게 유명인이 인식되었으므로 알고리즘의 효율을 위하여 얼굴 추적에서 유명인 얼굴인식 과정을 생략한다.

동영상은 다양한 장면(scene)으로 구성되어 있다. 초기화가 필요한 추적 알고리즘을 사용하는 경우, 장면이 전환되면 새로이 추적 대상을 초기화하는 과정이 필요하다. 이러한 추적 초기화 문제는 동영상에서 얼굴 추적을 이용한 색인화의 결과에도 영향을 미치므로 장면전환 없이 얼굴이 올바르게 추적되고 있음을 검증하는 단계가 필요하다 (그림 6⑥). 그림 8(a)은 검증 전 얼굴 추적에 오류가 발생한 예를 보여주고 있다. 제안하는 알고리즘은 Camshift 추적 영역을 잘라내서, Haar cascade의 정면 얼굴과 옆면 얼굴을 사용하여 정면 얼굴과 옆면 얼굴의 개수를 찾는다. 찾은 얼굴의 개수가 1개 이상이라면 추적 영역이 올바르다고 판단한다 (그림 6⑦). 그림 8(a)처럼 검증된 얼굴을 찾을 수 없다면, 얼굴 추적에 오류가 발생했다고 판단한다.

Fig. 8.

Results of face verification and scene change detection : (a) Tracking error, (b) Newly face detection

얼굴 추적에 오류가 발생했다고 판단되면, 오류 원인이 장면전환에 의해 더 이상 추적을 이어나갈 수 없는 것인지, 아니면 인물의 눈이 안보이는 옆모습 또는 뒷모습, 다른 물체와의 일시 적 겹침, 그리고 큰 표정 변화 등 추적 오류에 의한 것인지를 판단하여야 한다. 제안하는 알고리즘에서는 주변의 변화 여부를 살펴 장면 전환 여부를 결정한다 (그림 6⑧). OpenCV의 특징검출 알고리즘인 ORB[12]와 특징매칭 알고리즘인 BFmatcher를 사용하여 이전 프레임과 유사한 특징을 찾아 매칭해 준다. ORB 알고리즘은 회전 및 크기에 불변하면서도 적은 저장 공간과 효율적인 매핑시간으로 두 영상 간의 매핑을 계산할 수 있다는 장점을 가지고 있다. 이전 프레임과 현재 프레임에 대해 각각 특징기술자(descriptor)를 계산하고 가장 유사한 특징기술자와의 매칭거리를 계산한다. 매칭거리들의 평균값이 임계값 θ3미만일 경우 같은 장면으로 판단하여 추적을 계속 진행한다 (그림 6⑨). 본 논문에서는 평균 거리 임계값 θ3으로 60을 사용한다 . 매칭거리들의 평균값이 임계값 θ3보다 크다면, 장면 전환으로 판단하여, 다음 프레임부터 새로이 얼굴 검출을 수행한다. 그림 8(b)는 장면전환에 따라 새로이 얼굴이 검출된 결과를 보여준다. 그림 9는 (i - 1)th 프레임과 ith 프레임을 보여준다. 그림 9의 위 예제 영상은 장면전환이 없는 경우의 특징 매칭으로 ORB 특징이 잘 매칭되고 있음을 보여주고 있다. 그림 9의 아래 예제영상은 장면전환이 있는 경우의 특징매칭으로 두 영상 사이의 특징이 틀리게 매칭되고 있음을 보여주고 있다.

Fig. 9.

Scene change detection using feature matching : Top images have no scene change and bottom images have a scene change.


Ⅳ. ViMo : 제안하는 유명인 색인 동영상 검색 앱 개발

본 장에서는 얼굴 추적을 이용한 동영상 속 등장인물 분석 및 검색 서비스 ‘ViMo’를 제안한다. 제안하는 ‘ViMo’ 서비스의 목표는 사용자가 보다 정확한 동영상 검색 엔진을 사용하고 동영상 속 등장인물의 등장시간을 알아 동영상 시청을 하는데 편리함을 느끼도록 도와주는 플랫폼을 제공하는 것이다.

4-1 시스템 구성

‘ViMo’의 시스템은 그림 10과 같이 크게 세 부분으로 구성된다 : ‘User’, ‘Front-end’, ‘Back-end’. 우선, ‘Back-end 부분에서는 Ⅲ장에서 설명한 유명인 얼굴 인식 및 추적 알고리즘을 이용하여 동영상 분석을 진행한다 (그림 10①). 네이버의 유명인 얼굴 인식 API를 사용하여 전달받은 동영상의 프레임에서 해당하는 유명인을 인식하고 인식신뢰도와 얼굴 정보를 추출하여 인식결과로 전달해준다 (그림 10②,③). 이렇게 전달 받은 결과를 통해 동영상에서 유명인이 등장하는 시작 프레임, 전체 동영상에서 등장 비율 등의 영상 분석 결과를 서버의 데이터베이스에 저장한다 (그림 10④).

Fig. 10.

System configuration of ViMo

‘Front-end’ 부분에는 웹서버가 위치하는데 PhpMyAdmin을 이용하여 WampServer를 구축했다. 데이터베이스는 MySql을 사용했으며, 안드로이드와 연동하기 위해 웹서버의 PHP를 활용했다. 안드로이드 내에서는 MySql과 SQLite을 연동하여 사용했다. ‘Front-end’ 부분에서는 ‘User’ 부분에서 회원 정보, 베스트 동영상 정보, 추천 동영상 정보, 북마크 정보, 해당 인물의 동영상 정보, 이달의 인물 정보 등의 데이터를 서버에 요청하면 요청한 데이터를 다시 ‘User’ 부분에 전달한다 (그림 10⑤,⑥). ‘User’ 부분에서 유명인 이름을 입력하여 동영상을 요청하면, YouTube Android Player API를 사용하여 해당하는 유명인의 YouTube 동영상 데이터를 전달받는다 (그림 10⑦,⑧).

또한, ‘ViMo’는 해당 유명인의 사진을 자동으로 제공하는 기능이 있다. ‘User’에서 유명인 이미지를 요청하면, ‘Back-end’에서 네이버 이미지 검색 API를 이용하여 네이버에서 해당 유명인의 이미지 검색결과를 찾아 이미지로딩 라이브러리인 Picasso API를 이용하여 첫 번째 이미지의 URL을 파싱하고 이미지로 변환하여 ‘User’ 부분에 전달한다 (그림 10⑨,⑩,⑪).

4-2 메뉴 구조

‘ViMo’의 메뉴 구조는 그림 11과 같다. 첫 화면은 스플래쉬 화면이 나오고, 이후에 회원가입을 할 수 있는 로그인 화면이 나타난다. 로그인을 하면 ‘홈’, ‘이달의 인물’, ‘북마크’, ‘설정’ 등 4개의 탭 메뉴가 제공된다. ‘홈’ 화면에는 검색바, 베스트 동영상, 그리고 추천 동영상의 메뉴가 제공된다. 사용자가 인물 검색을 하면 해당 인물의 동영상 목록을 보여주는 검색 목록 화면이 나타나고, 각 동영상을 선택하면 동영상에 대한 상세 페이지로 이동한다. ‘홈’ 화면의 베스트 동영상과 추천 동영상을 선택해도 해당 동영상에 대한 상세 페이지로 이동한다. ‘이달의 인물’에서는 해당 달에 사용자들이 많이 검색한 인물들 1등부터 6등까지를 보여준다. ‘북마크’ 화면은 사용자가 북마크한 동영상들의 목록을 보여주며, 동영상을 선택하면 동영상 상세 페이지로 이동한다. ‘설정’ 화면에선 회원 정보 수정, 회원 탈퇴, 앱 정보, 앱 버전, 문의하기 기능이 제공되고, 원하는 기능을 선택하면 각 기능을 제공하는 화면으로 이동한다.

Fig. 11.

Menu structure of ViMo

4-3 데이터베이스 설계

‘ViMo’는 사전에 동영상 정보와 YouTube 정보를 구축하여 앱에 정보를 제공하기 때문에 웹서버와 데이터베이스가 구축되어야 한다. ‘ViMo’는 그림 10의 ‘Back-end’에서 얻은 동영상 분석결과를 저장하기 위해 그림 12와 같이 데이터베이스를 6개의 테이블로 구성하였다: ‘video’, ‘person’, ‘peopleofmonth’, ‘youtube’, ‘bookmark’, ‘user’. III장에서 설명한 동영상 유명인 인식 및 추적 알고리즘을 이용하여 획득한 동영상의 등장인물과 출연 비율 등의 정보로 ‘video’, ‘person’ 테이블을 구성한다. ‘youtube’ 테이블은 모든 동영상의 YouTube 정보를 관리한다. ‘person’ 테이블은 등장인물의 출연 시점 정보를 갖는다. 이달의 인물 기능의 ‘peopleofmonth’ 테이블은 해당 달에 각 유명인이 검색된 횟수 정보를 저장한다. 북마크 기능의 ‘bookmark’ 테이블은 사용자가 북마크한 동영상 정보를 보관한다. ‘user’ 테이블은 사용자에 대한 정보를 제공한다.

Fig. 12.

Database design of ViMo

4-4 ‘ViMo’ 기능

본 장에서는 'ViMo'의 주요 기능인 동영상 정보제공, 유명인 검색, 이달의 인물, 북마크에 대해 설명한다.

1) 동영상 정보 제공

제안하는 유명인 동영상 검색 앱은 각 동영상에서 유명인이 등장하는 시작 시각과 동영상에서 해당 유명인의 등장비율 정보를 제공한다. 그림 10의 ‘Back-end’ 부분에서 검출하고 그림 12의 데이터베이스에 저장된 동영상 정보를 활용하여 유명인의 등장 정보와 함께 YouTube의 동영상 제목과 썸네일, 조회수 그리고 개시 날짜 정보를 사용자에게 시각적으로 제공한다. 유명인의 등장 시간을 선택하면 YouTube API를 통해 동영상을 가져와 해당 등장 시간으로 동영상이 바로 재생된다. 그림13은 해당 동영상에 가수 ‘윤아’의 등장비율은 46%이며, 동영상의 5초, 14초, 22초에 가수 ‘윤아’가 등장하는 장면의 시작임을 보여주고 있다. 그림 13을 보면 동영상 제목 옆에 북마크 아이콘이 있다. 북마크 아이콘을 클릭하면, 해당 동영상은 사용자의 북마크 데이터베이스에 저장되어, 이후에 북마크를 통해 다른 검색 없이 바로 동영상을 시청할 수 있다.

Fig. 13.

Screenshot of video details

또한, 제안하는 앱은 등장인물의 이름을 입력하면 자동적으로 인물 사진을 제공할 수 있다. 즉, 동영상과 별개로 해당 유명인의 이미지는 유명인의 이름으로 네이버의 이미지 검색 API를 이용하여 해당 인물의 이미지 검색 결과를 얻는다. 이후, 파싱을 통해 이미지 url을 얻고 Picasso API를 통해 url을 이미지로 전환하여 최종적으로 등장인물의 이름을 입력하면 자동적으로 인물 사진이 제공된다.

2) 유명인 검색

사용자가 찾고 싶은 인물을 검색하면 구축된 데이터베이스에서 해당 인물이 실제 등장하는 동영상 정보와 동영상을 제공한다 (그림 14). 동영상 정보에는 동영상 제목, 동영상 ID, 조회수, 날짜 등이 있다. 그리고 해당 동영상의 ID를 통해 YouTube 동영상 썸네일을 제공한다. 해당 동영상을 클릭하면 그림 13과 같은 상세 화면으로 이동한다.

Fig. 14.

Screenshot of celebrity retrievals

3) 이달의 인물

‘ViMo’ 앱의 이달의 인물 화면에선 해당 월에 사용자들이 가장 많이 조회한 인물 상위 6명을 제공해주는 기능을 한다 (그림 15). 사용자들이 해당 인물을 검색하면, 인물별로 월 단위 조회 수를 데이터베이스에 저장한다. 실시간 조회 수를 기준으로 해당 월에 가장 많이 검색된 인물 6명을 보여주고 각 인물의 사진은 자동 인물 사진으로 제공된다. 인물을 누르면 동영상 목록 화면을 볼 수 있으며 (그림 14), 원하는 동영상의 정보를 확인할 수 있다 (그림 13).

Fig. 15.

Screenshot of the people of the month

4) 북마크

사용자가 보관을 원하는 동영상을 북마크에 저장할 수 있다.그림 13의 동영상 상세화면에서 북마크 아이콘을 클릭하면 해당 동영상의 정보는 북마크에 저장된다. 사용자는 북마크 메뉴를 통해 저장된 동영상을 확인할 수 있다. 그림 16은 북마크에저장된 동영상 리스트를 보여주고 있다.

Fig. 16.

Screenshot of bookmarks


Ⅴ. 결 론

본 논문에서는 연구 목적인 기존 동영상 검색 방식의 한계 극복, 동영상 내용 정보 제공, 편리한 동영상 시청 기능 제공을 하기 위해 유명인 동영상 검색 서비스 앱인 ‘ViMo’를 제안 및 개발하였다. 제안하는 방법은 유명인 얼굴 인식 및 추적, 검증과 장면 전환 판별 등을 통해 얻은 동영상에서 유명인의 등장 시간, 등장 비율들의 정보를 데이터베이스에 저장한다. ‘ViMo’ 앱은 이를 이용하여 사용자에게 보다 정확하고 상세한 검색결과와 편리한 검색 기능을 제공한다. 또한 ‘ViMo’ 앱은 이달의 인물, 북마크 등의 기능이 제공한다.

향후 연구로는 동영상 검색에 유명인의 등장비율을 가중치로 이용하는 방법을 제공할 예정이다. 또한 동영상에 검색 인물 외에 출연하는 다른 인물에 대한 정보도 함께 보여줌으로써 동영상에 대한 보다 상세한 정보를 제공할 예정이다.

Acknowledgments

본 연구는 2017년도 덕성여자대학교 교내연구비 지원에 의해 이루어졌습니다.

References

  • Ministry of Science and ICT, “Wireless data traffic statistics of June 2018”, (2018), Available: https://www.msit.go.kr/web/msipContents/contents.do?mId=MTQ2.
  • Kim, S. J., “The present and prospect of online video, music service and media usage”, The Journal of Digital Contents Society, 16(1), p137-144, Feb.), (2015. [https://doi.org/10.9728/dcs.2015.16.1.137]
  • S. E. Park, and G. W. Lee, “Research on online video content distributors in China”, The Journal of the Korea Contents Association, 16(5), p137-147, May), (2016. [https://doi.org/10.5392/jkca.2016.16.05.137]
  • WiseApp, “Mobile video app usage time and share”, (2018), Available: http://www.wiseapp.co.kr.
  • YouTube, Available: http://www.youtube.com
  • Vimeo, Available: http://www.vimeo.com
  • Naver TV, Available: http://tv.naver.com
  • P. Viola, and M. Jones, “Rapid object detection using a boosted cascade of simple features”, in Proceeding of IEEE Conference of Computer Vision and Pattern Recognition, Dec.), (2001. [https://doi.org/10.1109/cvpr.2001.990517]
  • G. R. Bradski, “Computer vision face tracking for use in a perceptual user interface”, Intel Technology Journal, p214-219, 2nd Quarter (1998).
  • Y.-N. Jeon, S.-J. Kim, C.-H. Lee, H.-R. Kim, and S.-K. Lee, “The input device system with hand motion using hand tracking technique of CamShift algorithm”, The Journal of Digital Contents Society, 16(1), p157-164, Feb.), (2015. [https://doi.org/10.9728/dcs.2015.16.1.157]
  • Clova, “Naver Developers Clova A.I. APIs”, (2018), Available: http://developers.naver.com/docs/clova/api/.
  • E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “ORB: An efficient alternative to SIFT or SURF”, in Proceeding of IEEE Conference of Computer Vision, p2564-2571, Nov.), (2011. [https://doi.org/10.1109/iccv.2011.6126544]

저자소개

송민경(Min-Gyung Song)

2015 ~ 현 재: 덕성여자대학교 컴퓨터학과

※관심분야: 모바일 시스템, 영상처리 등

정수정(Su-Jeong Jeong)

2015 ~ 현 재: 덕성여자대학교 컴퓨터학과

※관심분야: 모바일 시스템, 인공지능 등

최서현(Seo-Hyun Choi)

2015 ~ 현 재: 덕성여자대학교 컴퓨터학과

※관심분야: 모바일 시스템, 알고리즘 등

이경미(Kyoung-Mi Lee)

1993년 : 덕성여자대학교 전산학과(이학사)

1996년 : 연세대학교 전산과학과(이학석사)

2001년 : 아이오와 대학교 전산학과(전산학박사-지능형 멀티미디어)

2003년 ~ 현 재: 덕성여자대학교 컴퓨터학과 교수

※관심분야:영상처리, 패턴인식, 멀티미디어, HCI 등

Fig. 1.

Fig. 1.
Wireless data traffic by content types[1]

Fig. 2.

Fig. 2.
Mobile video app. by share of time spent, May 2018[3]

Fig. 3.

Fig. 3.
Retrieval by caption : YouTube [5]

Fig. 4.

Fig. 4.
Retrieval by description : Vimeo[6]

Fig. 5.

Fig. 5.
Retrieval by tag : Naver TV[7]

Fig. 6.

Fig. 6.
Flowchart of the proposed celebrity face recognition and tracking algorithm for video indexing

Fig. 7.

Fig. 7.
Results of face detection of 3 sequential frames using Haar cascade : ROI and its center point

Fig. 8.

Fig. 8.
Results of face verification and scene change detection : (a) Tracking error, (b) Newly face detection

Fig. 9.

Fig. 9.
Scene change detection using feature matching : Top images have no scene change and bottom images have a scene change.

Fig. 10.

Fig. 10.
System configuration of ViMo

Fig. 11.

Fig. 11.
Menu structure of ViMo

Fig. 12.

Fig. 12.
Database design of ViMo

Fig. 13.

Fig. 13.
Screenshot of video details

Fig. 14.

Fig. 14.
Screenshot of celebrity retrievals

Fig. 15.

Fig. 15.
Screenshot of the people of the month

Fig. 16.

Fig. 16.
Screenshot of bookmarks