DOI QR코드

DOI QR Code

Development of Real-time Video Search System Using the Intelligent Object Recognition Technology

지능형 객체 인식 기술을 이용한 실시간 동영상 검색시스템

  • 장재영 (한성대학교 컴퓨터공학부 교수) ;
  • 강찬혁 (한성대학교 컴퓨터공학부) ;
  • 윤재민 (한성대학교 컴퓨터공학부) ;
  • 조재원 (한성대학교 컴퓨터공학부) ;
  • 정지성 (한성대학교 컴퓨터공학부) ;
  • 전종훈 (명지대학교 융합소프트웨어학부 교수)
  • Received : 2020.11.09
  • Accepted : 2020.12.04
  • Published : 2020.12.31

Abstract

Recently, video-taping equipment such as CCTV have been seeing more use for crime prevention and general safety concerns. Since these video-taping equipment operates all throughout the day, the need for security personnel is lessened, and naturally costs incurred from managing such manpower should also decrease. However, technology currently used predominantly lacks self-sufficiency when given the task of searching for a specific object in the recorded video such as a person, and has to be done manually; current security-based video equipment is insufficient in an environment where real-time information retrieval is required. In this paper, we propose a technology that uses the latest deep-learning technology and OpenCV library to quickly search for a specific person in a video; the search is based on the clothing information that is inputted by the user and transmits the result in real time. We implemented our system to automatically recognize specific human objects in real time by using the YOLO library, whilst deep learning technology is used to classify human clothes into top/bottom clothes. Colors are also detected through the OpenCV library which are then all combined to identify the requested object. The system presented in this paper not only accurately and quickly recognizes a person object with a specific clothing, but also has a potential extensibility that can be used for other types of object recognition in a video surveillance system for various purposes.

최근 범죄예방과 안전문제 등으로 CCTV와 같은 영상장비가 다양하게 활용되고 있다. 영상기기들은 대부분 24시간 작동되기 때문에 경비 인력을 절감할 수 있지만, 녹화된 영상에서 특정 인물과 같은 객체를 검색하는 업무는 여전히 수동으로 이루어지고 있어, 실시간 검색이 요구되는 상황에서는 정확하고 빠른 대처가 미흡하다. 본 논문에서는 최신 딥러닝 기술과 OpenCV 라이브러리를 이용하여 사용자의 의해 입력된 의상정보를 바탕으로 특정인물을 영상에서 빠르게 검색하고, 그 결과를 실시간으로 전송하는 기술을 제안한다. 개발된 시스템은 YOLO 라이브러리를 이용하여 실시간으로 인물객체를 탐지한 후, 딥러닝 기술을 이용하여 인간의 의상을 상/하의로 구분하고 OpenCV 라이브러리를 통해 색을 검출하여 특정 인물 객체를 자동으로 인식하도록 구현하였다. 본 논문에서 개발한 시스템은 특정 의상을 갖춘 인물객체를 정확하고 빠르게 인식할 뿐만 아니라 기타 객체 인식에도 활용할 수 있는 확장성을 갖추고 있어 다양한 용도의 영상감시시스템에 활용될 수 있을 것으로 기대된다.

Keywords

Ⅰ. 서론

동영상 검색은 일반적으로 유투브(Youtube)와 같은 동영상 집합으로 부터 검색어와 관련된 동영상을 검색하는 기술을 의미하지만, 동영상내에서 특정 장면 또는 객체가 출현하는 프레임이나 부분 영상을 찾는 기술을 의미하기도 한다. 이러한 영상검색 기술은 최근 들어 CCTV와 같은 동영상으로부터 범죄, 사고 예방 및 조치 등을 위해 많이 활용되고 있다. 특히 CCTV의 광범위한 보급으로 공공기관, 기업, 상권 등 다양한 분야에서 동영상 감시 시스템(video surveillace system)에 대한 요구사항이 증가하고 있다. 하지만 다수의 감시영상을 사람이 직접 실시간으로 24시간 모니터링하는 것은 시간과 비용 측면에서 매우 비효율적이다. 예를 들어 국내 미아 실종신고 수는 2019년 기준 2만 건이 넘을 뿐만 아니라 매년 증가하는 추세이며, 치매 노인 실종 또한 증가하고 있다[1].

신고된 실종자를 찾기 위해서는 골든타임 내에 실종자의 동선을 파악하는 것이 가장 중요하지만 수많은 CCTV로부터 실종자를 인식하고 추적하는 것은 시간이 매우 소요되는 작업이다. 따라서 주어진 실종자에 대한 인상착의 정보를 바탕으로 CCTV와 같은 동영상으로 부터 해당 인물을 자동으로 검색해줄 수 있으면 빠른 시간내에 실종자의 탐색이 가능할 것으로 기대할 수 있다.

본 논문에서는 최신 딥러닝(deep learning) 기술을 활용하여 주어진 동영상으로부터 인물객체를 인식하고, 주어진 인상착의를 바탕으로 해당 인물을 자동으로 탐지하는 동영상 검색 시스템의 개발 결과를 제시한다. 제안된 시스템은 동영상에서 특정 인상착의를 갖는 인물을 실시간으로 감지할 수 있도록 구현하였다. 또한 동영상으로부터 검색대상이 감지되면 해당 장면만을 별도로 추출하여 제공하는 기능을 포함한다. 인물객체를 인식하는 방법으로는 동영상으로부터 특정객체를 탐지해주는 YOLO 라이브러리를 활용하였다[2]. YOLO는 You Only Look Once의 약자로 2016년에 워싱턴 대학교 산하의 PLSE 연구실에서 C언어 기반으로 개발된 오픈소스 라이브러리이다. 이 모델을 이용하여 인물객체를 인지하고, 입력된 인상착의를 바탕으로 동일 또는 유사한 의상(costume)을 착용한 인물객체를 자동 탐지하도록 설계하였다. 특정 타입의 의상 인식은 딥러닝 학습 모델을 활용하였으며, 색상 인식은 OpenCV를 활용하였다. 또한 탐색된 결과는 전체 동영상 중에서 어느 부분에서 검색되었는지에 대한 정보를 제공하여 빠른 시간 내에 실종자와 같은 검색대상 객체를 확인할 수 있도록 개발하였다. 개발된 시스템은 인물객체 뿐만 아니라 학습모델로 구축될 수 있는 여러 종류의 객체에 대한 탐색이 가능하도록 확장성을 갖추고 있다. 예를 들어 애완견을 비롯한 동물 탐색, 교통 CCTV에서의 특정 자동차 탐색 등에도 활용할 수 있을 것으로 기대된다.

본 논문의 구성은 다음과 같다. 2장에서는 전반적인 동영상 검색 시스템의 구조를 제시한다. 3장에서는 인상의와 일치하는 인물객체 탐지 과정을 절차별로 설명하고, 4장에서는 개발 결과를 제시한다. 마지막으로 5장에서는 결론을 맺는다.

Ⅱ. 동영상 검색시스템 구조

본 논문에서 제안하는 전반적인 동영상검색 시스템의 구조는 그림 1과 같다. 먼저 사용자는 검색하고자하는 검색대상인 인물객체에 대한 인상착의 정보를 입력한다. 일반적으로 미아나 치매노인 실종자를 찾는 경우 성별, 나이를 비롯한 신체적인 특징에 대한 정보와 더불어 실종당시 착용한 의상정보가 필수로 포함된다. 이 중에서 신체적 특징을 인식하는 것은 고화질의 CCTV가 아니면 쉽지 않으며, 고화질이라 하더라도 고난도의 기술력이 필요하다. 반면에 의상정보는 치마, 반바지, 긴바지 등 타입이 비교적 명확하며 색상정보도 뚜렷하다. 이와 같이 의상정보를 활용하면 인물에 대한 신체 정보들에 비해 동영상 속에서 해당 인물을 탐색하는 것이 비교적 용이하다. 상/하의에 대한 타입과 색상으로 구성된 인상착의 정보는 웹서버를 거쳐 객체인식 서버로 전송한다.

OTNBBE_2020_v20n6_85_f0001.png 이미지

그림 1. 동영상 검색 시스템 구조

Fig. 1. Video Search System Architecture

객체인식 서버에서는 입력된 인상착의 정보를 바탕으로 CCTV와 같은 원본 동영상으로부터 인상착의와 일치하는 인물객체를 검색한다. 객체인식 서버는 그림 1과 같이 4가지 모듈로 구성된다. 우선 비디오 관리 모듈(Video Management Module)은 RTSP 서버로부터 전송된 동영상을 OpenCV를 이용하여 프레임 단위로 분할한다. 분할된 동영상 데이터는 객체탐지를 위해서 객체탐지(Object Detection Module) 모듈로 전송된다. 객체탐지 모듈은 동영상에서 인물객체를 탐지하고 해당 객체에 대한 영역을 추출한다. 탐지된 객체 영역은 의상인식 모듈(Human Costume Recognition module)을 통해 상/하의 영역을 분리하고 상/하의 의상 타입에 따른 클래스로 분류한다. 색상검출 모듈(Color Detection Module)에서는 추출된 상/하의 영역에 대해 각각 전처리 과정을 수행하고 HSV(Hue Saturation Value) 값을 분석하여 입력된 의상 색상과의 일치 여부를 판단한다. 최종적으로 입력된 인상착의와 일치하는 인물객체가 감지되면 감지된 시점의 영상클립과 해당 클립의 시간 등 메타 데이터(metadata)를 웹서버를 통해 클라이언트에 전송한다. 웹서버에서는 RTSP 서버에서 전송된 원본 영상과 함께 탐지된 객체 정보를 사용자에게 동시에 제공한다.

Ⅲ. 인상착의를 이용한 객체탐지 방법

1. YOLO를 활용한 인물객체 탐지

그림 1의 객체인식 서버는 검색대상의 인상착의 정보를 입력 받고 입력 동영상으로부터 사람에 대한 객체를 우선 탐지한 후에 인상착의 일치 여부를 판단한다. 그림 1의 비디오 관리 모듈Video Management Module)에서 추출된 각 프레임들은 다크넷(Darknet)[3] 기반인 YOLO를 사용한 객체 탐지 모듈에서 인물객체를 자동으로 탐색하고 프레임에서 인물 영역 정보를 추출한다. YOLO는 다크넷(darknet) 프레임워크(framework)을 사용하여 원샷 탐지(one-shot detection) 방법으로 학습된 신경망(neural network) 모델로 이미지나 동영상으로부터 사전에 객체를 탐지하는데 많이 활용되고 있다[2]. 본 연구는 입력된 영상에서 빠른 시간에 인상착의가 일치하는 특정 인물은 찾는 것이 목적이기 때문에, 높은 정확도와 월등한 속도를 보유한 YOLOv3-320을 사용했다. Yolov3-320은 다른 DNN Detector에 비해 월등한 FPS처리 속도를 가지며, mAP 또한 51.5로 높은 정확도를 가진 것으로 알려져 있다. 본 논문에서는 인물객체 탐지를 위해 다크넷에서 제공하는 학습된 모델(pre-trained weights)을 사용했다.

본 연구에서의 실험 환경에서 YOLO를 이용하여 인물객체 인식만 실행했을 경우 초당 45프레임까지 처리가 가능했지만, 의상인식 모듈에서 인상착의 인식까지 동시에 진행할 경우 초당 28프레임으로 처리 수준이 매우 낮아지는 것을 확인하였다. 따라서 본 연구에서는 영상의 전체 프레임에 대해 객체를 탐지하지 않고, 5개의 연속된 프레임 중에서 하나의 프레임만을 샘플링하여 객체탐지 모듈을 실행하였다. 즉, 초당 30프레임을 가정할 경우 0.2초당 1프레임에 대해서 객체탐지를 실행하는 것이다. 이는 동영상의 특성을 반영한 것으로 특정개체가 하나의 프레임에 출현할 경우 연속적인 프레임에 동시에 나타날 확률이 높으며, 움직임이 매우 빠르지 않을 경우 연속된 프레임간의 변화가 크지 않게 된다. 따라서 모든 프레임에 대한 객체인식은 사실상 필요 없으며, 적당한 수준에서의 샘플링된 프레임에 대해서 객체인식을 실행하는 것이 더욱 원활한 성능을 기대할 수 있다.

2. 인상착의 인식방법

앞서 설명한 대로 주어진 동영상 프레임에서 YOLO를 활용하면 인물객체를 인식하는 기능은 비교적 간단하게 실현가능하다. 이 결과를 이용하여 입력으로 주어진 인상착의와 일치하는 인물을 탐색하기 위해서는 인물을 구별할 수 있는 특징들을 정의해야한다. 일반적으로 인상착의는 머리스타일, 키, 체형 등 신체정보 뿐만 아니라 인물이 착용한 의상 또는 악세서리 정보 즉, 모자, 안경, 상의, 하의, 신발, 기타 가방과 같은 소지품 등으로 판단이 가능하다. 이 중에서 신체정보 보다는 의상정보가 모양과 색상의 차이가 뚜렷하기 때문에 더 손쉽게 판별이 가능하다. 특히 상/하의 정보는 의상정보 중에서도 특징들의 차이가 더 뚜렷하다. 이러한 기준을 바탕으로 본 논문에서는 상/하의 의상을 중심으로 인상착의를 인식을 할 수 있는 분류모델을 개발하였다.

인상착의에 대한 전체적인 분류 과정은 그림 2와 같다. 우선 인물객체에 대해서 영역을 분리하여 머리,상체, 하체 등을 인식해야한다. 인식방법은 YOLO를 활용한 학습을 통해서 가능하나 본 연구에서는 단순히 영역을 일정비율로 나누어 분리하였다. 예를 들어 인물객체를 세로방향으로 머리, 상체, 하체, 발 부분을 1:4:4:1의 비율로 나누었다. 이 방법은 상황이나 인물들의 신체적 특징에 따라 정확하게 나누지 못할 가능이 많으나, 의상을 인식하는 목적으로 활용하기에는 큰 어려움이 없었다. 다음으로는 분리된 상체 영역에 대해서 상의를 인식하였다. 상의는 단순히 반팔과 긴팔만을 인식하도록 학습하여 분류모델을 만들었다. 다음으로 하의는 치마, 반바지, 긴바지와 같이 3개의 분류가 가능하도록 모델을 생성하였다. 다음 단계로 앞에서 분류된 각 상/하의에 대해서 색상을 검출하였다. 색상 검출 방법에 대해서는 다음절에 상세히 기술한다. 이 때 하의가 치마이면서 상의와 하의의 색상이 동일하면 (반팔 또는 긴팔) 원피스라는 별도 클래스로 분류하였다. 상/하의 색상이 동일하면서 하의가 치마라 하더라도 원피스가 아닌 경우도 있으나 동영상에서는 이 를 구분할 만큼 화질이 좋지 않은 경우가 많으므로 일괄적으로 원피스로 분류하였다. 그 이외에는 투피스로 분류하였으며 상/하의의 타입에 따라 여러 클래스로 구분하였다. 이와 같은 분류 절차에 의해서 전체적인 상/하의 별로 의상을 분류하는 기준은 표 1과 같다. 이 표에서 보는 바와 같이 상/하의에 분류 체계는 원피스인지 아닌지에 대해 분류하고, 투피스인 경우에는 상/하의로 구분하여 반팔, 긴팔 등을 판별하는 총 7가지 분류체계로 구분하였다.

OTNBBE_2020_v20n6_85_f0002.png 이미지

그림 2. 의상인식 절차

Fig. 2. Costume Recognition Process

표 1. 의상분류 기준

Table 1. Costume Classes for Classification

OTNBBE_2020_v20n6_85_t0001.png 이미지

의상분류를 위한 모델로는 이미지 분류를 위해 MaskR-CNN과 DeepLabV3+을 선정하였고 두 모델의 CNN Backbone Network로 ResNet을 사용하였다[4]. 학습과 테스트를 위해서 옷에 대한 방대한 사진과 주석이 있는 DeepFashion2 Dataset [5] 을 사용하였다. 여기서 클래스당 8,000여개의 데이터를 확보하였으며, 학습과 테스트를 위해 데이터를 각각 8:2의 비율로 나누어 학습을 진행하였다.

3. OpenCV를 이용한 색상 검출

표 1과 같은 사용자의 의상 유형만으로는 검색 대상인 인물을 특정하기에는 정보가 부족하다. 일반적으로 실종자에 대한 인상착의는 실종당시 착용한 의상의 종류뿐만 아니라 색상정보도 포함된다. 하지만 색상 정보까지 포함하여 분류 모델을 생성할 경우 너무 많은 클래스에 대한 분류모델을 생성해야하므로 정확도에 문제가 발생할 가능성이 높아진다. 따라서 본 연구에서는 의상 유형에 대한 분류를 우선적으로 실시하고 색상이 일 또는 유사한지에 대한 판단을 별도로 수행하도록 설계하였다. 본 연구에서는 OpenCV를 이용하여 사용자가 입력한 RGB모델의 색상값을 HSV 모델로 변화하여 검색에 활용하였다. RGB 모델을 HSV 모델로 변환해서 사용하는 이유는 RGB 모델로 색 정보를 검출하기 위해서는 R, G, B 세가지 속성을 모두 참고해야 하는 반면 HSV 모델로 색 정보를 검출하기 위해서는 H가 일정한 범위를 갖는 순수한 색 정보를 가지고 있기 때문에 RGB이미지 보다 쉽게 색을 분류할 수 있기 때문이다. HSV 중 H의 범위는 0~360으로 S와 V는 0~1의 범위로 정규화했다. 하지만 OpenCV에서는 H를 0~180, S를 0~255, V를 0~255로 표현한다. 따라서 정규화된 값들을 비율에 맞게 재조정하여 활용하였다.

4. 인간객체 검색결과 생성

마지막 단계로 주어진 인상착의와 동일하다고 판단된 검색된 프레임 또는 영상클립들을 사용자에게 제공한다. 서비스 방식은 다양하게 정의할 수 있는데 본 연구에서는 원본동영상과 더불어 검색된 동영속의 시간정보 즉, 해당 인물이 탐색된 동영상 내의 시간정보가 제공된다. 이는 실제 응용 시스템에서 원본 동영상에서 검색된 영상클립들을 손쉽게 찾을 수 있도록 프로그레스 바(progress-bar)와 같은 형태로 손쉽게 표현할 수 있는 기본 정보들을 제공할 수 있다.

Ⅳ. 개발 결과

1. 개발 환경

특정 인물로 판명된 동영상과 관련정보를 사용자에게 서비스하기 위해 그림 1과 같이 웹 환경을 구축하였다. 웹서버에서는 동영상 목록과 특정 인물이 나타난 시간대를 프로그레스 바에 마킹하여 동영상 재상 서비스 기능을 제공한다. 동영상 목록은 클라이언트로부터 요청이 오면 데이터베이스로부터 동영상을 생성하고 전달한다. 동영상 내의 프로그레스 바마킹 기능은 서버에서 특정 인물이 나타내 때마다 시간을 체크해주면서 Json 형태로 소켓을 통해 시간 정보를 보내준다. 해당 정보 받으면 동영상에 비동기식으로 프로그레스 바에 체크를 한다. 동영상의 프로그레스 바마킹을 구현에는 Ajax를 활용하였다. 이를 통해 페이지 이동 없이 고속으로 화면을 전환하고, 서버 처리를 기다리지 않도록 비동기식으로 결과를 전달받아 처리하였다.

2. 사용자 인터페이스

본 연구의 결과는 CCTV에서의 동영상 속의 인물 탐색, 특히 실종자 탐색을 위한 시스템에 시범적으로 적용하여 개발하였다. 실행 결과는 그림3과 4와 같다. 우선 그림3은 탐색 인물에 대한 인상착의 정보입력 화면의 일부이다. 앞서 설명한 대로 치매노인의 실종이나 미아가 발생했을 경우 대부분의 경우에는 실종당시의 인상착의를 문자 형태로 표현하거나, 일부 CCTV에서 발견된 실종 당사의 사진으로 정보를 표현한다. 이 그림에서는 표1에서 제시된 상/하의에 대한 패턴을 선택할 수 있으며, 각각에 대한 색상정보를 입력하여 해당 인상착의와 일치하는인물을 동영상에서 자동으로 탐색해주게 된다.

OTNBBE_2020_v20n6_85_f0003.png 이미지

그림 3 의상정보 입력 화면

Fig. 3. Costume Information Input Interface

OTNBBE_2020_v20n6_85_f0004.png 이미지

그림 4. 인물객체 탐색 결과

Fig. 4. Human Object Search Result

그림 4는 탐색인물의 인상착의를 하늘색 긴바지와 흰색 긴팔상의로 설정했을 때 검색된 결과이다. 이 그림에서 보는 바와 같이 4개로 분할된 시간대별 화면에서 실종자가 검색된 화면은 왼쪽 상단부분으로 탐색된 인물이 사각형 영역으로 표출된다. 또한 검색의 편의성을 위해서 하단의 프로그레스 바에 검색된 부분이 강조되어 그 부분만을 집중적으로 확인할 수 있도록 도와준다. 따라서 전체 동영상을 일일이 확인할 필요가 없고 프로그레스바에 표시된 부분만을 집중적으로 검색하여 탐색시간을 현저히 줄일 수 있다.

Ⅴ. 결론

본 논문에서는 동영상에서 입력된 인상착의를 바탕으로 인물객체를 자동 인식하고 사용자에게 검색결과를 서비스하는 동영상검색 시스템의 개발결과를 제시하였다. 개발된 시스템은 CCTV와 같은 감시장비로부터 실종자와 같은 신속한 검색이 가능하도록 동영상 속 인물들의 행동 특성을 반영하여 프레임들을 샘플링하는 방식으로 실시간 검색이 가능하도록 개발하였다. 본 시스템은 핵심 서브시스템인 객체인식서버에서 인물객체 탐지 후에 분류 모듈에서 Deep fashion dataset2를 학습한 모델을 통해 사람의 상/하의 영역을 추출하였다. 추출된 영역에서 의상과 색상을 검출하여 입력된 인상착의와 일치 여부를 판단하였다. 본 시스템은 이미 녹화된 동영상뿐만 아니라 실시간 동영상으로부터도 신속히 인물에 대한 탐색이 가능한 것을 확인하였으며, 이를 통해 각종 인물관련 감시 및 탐색 환경에 활용될 수 있을 것으로 기대된다. 또한 본 논문에서는 상/하의 의상 종류와 색상으로만 인물을 특정하여 복잡한 패턴을 갖는 의상과 같은 세분화된 의상검색에는 한계를 갖고 있다. 따라서 좀 더 정확한 검색을 위해서 의상 무늬와 같은 패턴을 인식할 수 있도록 좀 더 세분화된 특성을 정의하여 실시간 감시나 탐색에 활용할 수 있도록 개선할 계획이다.

References

  1. Korean National Police Agency, Missing Children processed status report, 2020
  2. J. Redmon, "Darknet: Open Source Neural Networks in c", http://pjreddie.com/darknet/, 2013
  3. J. Redmon, et al. "You only look once: Unified, real-time object detection", Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. DOI: https://doi.org/10.1109/ CVPR.2016.91
  4. C. Szegedy, et al. "Inception-v4, inception-resnet and the impact of residual connections on learning", arXiv preprint arXiv:1602.07261, 2016.
  5. Y. Ge, et al. "Deepfashion2: A versatile benchmark for detection, pose estimation, segmentation and re-identification of clothing images", Proceedings of the IEEE conference on computer vision and pattern recognition. 2019. DOI: https://doi.org/10.1109/ CVPR. 2019.00548
  6. J. Kim and P. Rhee, "Image Recognition based on Adaptive Deep Learning", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. No. 1, pp.113-117, 2018.
  7. A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet Classification with Deep Convolutional Neural Networks", Advances in Neural Information Processing Systems, pp. 1097-1105, 2012, DOI: https://doi.org/10.1145/3065386
  8. Y. Han, "Two-dimensional Automatic Transformation Template Matching for Image Recognition", Journal of the Korea Academia- Industrial cooperation Society, Vol. 20, No. 9, 2019, DOI: https://doi.org/10.5762/KAIS.2019.20.9.1
  9. G. Jo, H.-W. Cho and Y. J. Son, "Implementation of 360-degree Image Recognition System Using Lidar Sensors and Yolo v3 Libraries in Cloud Server Environment", The Journal of Korean Institute of Information Technology, Vol. 18, No. 2, 2020, DOI: https://doi.org/10.14801/jkiit.2020.18.2.1