KR20210032745A - 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템 - Google Patents

장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR20210032745A
KR20210032745A KR1020190114149A KR20190114149A KR20210032745A KR 20210032745 A KR20210032745 A KR 20210032745A KR 1020190114149 A KR1020190114149 A KR 1020190114149A KR 20190114149 A KR20190114149 A KR 20190114149A KR 20210032745 A KR20210032745 A KR 20210032745A
Authority
KR
South Korea
Prior art keywords
source
video
correlation
source object
tube
Prior art date
Application number
KR1020190114149A
Other languages
English (en)
Other versions
KR102271929B1 (ko
Inventor
김익재
최희승
김학섭
양윤식
채승호
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020190114149A priority Critical patent/KR102271929B1/ko
Priority to US16/995,835 priority patent/US11620335B2/en
Publication of KR20210032745A publication Critical patent/KR20210032745A/ko
Application granted granted Critical
Publication of KR102271929B1 publication Critical patent/KR102271929B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • G06F16/739Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/00751
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06V20/47Detecting features for summarising video content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

실시예들은 사용자의 질의를 수신하는 단계; 소스 비디오를 객체 기반 분석하는 단계; 및 사용자의 비디오 요약 생성 요청에 응답하여 요약 비디오를 생성하는 단계를 포함한 비디오 요약 생성 방법 및 이를 위한 시스템과 관련된다. 실시예들에 의해 생성된 비디오 요약에는 사용자가 원하는 상관관계가 반영된다.

Description

장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템{METHOD FOR GENERATING VIDEO SYNOPSIS THROUGH SCENE UNDERSTANDING AND SYSTEM THEREFOR}
본 발명의 실시예들은 비디오 요약(video synopsis)을 생성하는 것에 관한 것으로서, 보다 상세하게는 장면 내 상관관계를 결정하여 장면을 이해함으로써 사용자가 원하는 비디오 요약을 생성하는 방법 및 이를 위한 시스템에 관련한 것이다.
현대사회에서 일상 생활 속에서 CCTV, 블랙박스 등의 영상 장비가 널리 사용되고 있다. 상기 영상 장비에 의해 촬영된 비디오는 다양한 분야에서 유용하게 사용되는 데, 특히 보안, 범죄 수사 등 치안 부분에서 활발히 이용되고 있다. 예를 들어, 용의자 혹은 실종자의 이동 경로 등을 효율적으로 파악하기 위해 다수의 영상 장비의 비디오를 이용한다. 그러나, 비디오의 길이가 긴 경우 촬영된 영상을 끝까지 모니터링해야하는 불편이 있다.
이런 불편을 해결하는 하나의 수단으로 한국 특허공개공보 제10-2008-0082963호에는 비디오에 포함된 움직이는 객체들만을 따로 추출하여 움직이는 객체에 대한 요약 비디오를 생성하는 방법이 개시되어 있다. 이러한 요약 비디오를 통해 전체 비디오를 보지 않고도 움직이는 객체를 짧은 시간 내에 요약 시청할 수 있다.
그러나, 위의 선행 기술은 비디오에 포함된 객체의 액티비티(activity)(예컨대, 객체의 속도 변화율(velocity), 속도(speed), 방향(direction) 등)에 기초해서 비디오 요약을 생성한다. 이로 인해, 사용자에게 불필요한 객체가 많이 포함된 비디오 요약이 생성될 가능성이 있으며, 사용자 맞춤형 비디오 요약을 생성하는데 문제가 있다.
한편, 비디오에 포함된 객체의 액티비티 이외에, 객체의 외관 (appearance)(예컨대, 색상, 크기 등)에 더 기초해서 비디오 요약을 생성하려는 시도가 있다(한국 특허공개공보 제10-2009-0117771호). 여기서는 사용자가 탐색하길 희망하는 특정 객체의 특징에 더 기초하기 때문에, 사용자에게 불필요한 객체가 보다 감소한 비디오 요약이 생성된다.
그러나, 이러한 시도는 액티비티, 외관과 같은 객체 자체의 특징만으로 비디오 요약을 생성하는 한계가 있다.
한국 특허공개공보 제10-2008-0082963호 한국 특허공개공보 제10-2009-0117771호
본 발명의 일 측면에 따르면 특정 객체를 포함한 비디오에서 상기 객체와 배경과의 상관관계(interaction), 또는 상기 객체와 다른 객체 간의 상관관계(interaction)를 결정해 장면을 이해함으로써, 사용자의 니즈에 보다 적합한 비디오 요약을 생성하는 시스템을 제공한다.
이 외에도, 상기 장면 이해 정보를 사용하는 비디오 요약 생성 방법 및 이를 기록한 컴퓨터 판독가능 기록 매체를 제공할 수 있다.
본 발명의 일 측면에 따른 비디오 요약 생성 시스템은: 하나 이상의 객체를 포함한 소스 비디오에서 적어도 하나의 소스 객체를 검출하는 소스 객체 검출부; 소스 비디오에서 소스 객체의 움직임을 검출하는 움직임 검출부; 움직임이 검출된 소스 객체를 포함한 소스 객체의 튜브를 생성하는 튜브 생성부; 상기 튜브의 소스 객체에 연관된 상관관계를 결정하는 장면 이해부; 및 결정된 상관관계에 연관되는 소스 객체의 튜브에 기초하여 비디오 요약을 생성하는 비디오 요약 생성부를 포함할 수 있다.
일 실시예에서, 상기 소스 객체 검출부는, 객체 검출 모델을 통해 소스 객체를 검출하며, 상기 객체 검출 모델은 입력 영상으로부터 객체를 검출하기 위한 특징을 추출하여 입력 영상에 포함된 객체에 대응하는 클래스를 결정하도록 미리 학습될 수 있다.
일 실시예에서, 상기 객체 검출 모델은, 상기 입력 영상 내 객체가 위치하는 것으로 제안되는 영역을 설정하고, 설정된 영상에서 상기 특징을 추출하여 상기 영역 내 객체의 클래스를 결정하도록 구성될 수 있다.
일 실시예에서, 상기 객체 검출 모델은, 상기 입력 영상에서 객체를 검출하기 위한 특징을 추출하고 각 픽셀이 속하는 클래스를 결정함으로써, 소스 객체를 검출하도록 구성될 수 있다.
일 실시예에서, 상기 객체 검출 모델은, 상기 입력 영상 내 객체의 위치를 검출하여 관심영역을 결정하는 제1 서브 모델; 및 상기 관심영역에 포함된 객체를 마스킹하는 제2 서브 모델을 포함할 수 있다.
일 실시예에서, 상기 소스 객체 검출부는, 상기 소스 비디오에서 배경을 추출하도록 더 구성될 수 있다.
일 실시예에서, 상기 소스 객체 검출부는, 배경으로 간주되는 하나 이상의 클래스를 각 픽셀별로 결정하는 배경 검출 모델을 통해 배경을 추출하도록 구성될 수 있다.
일 실시예에서, 상기 소스 객체 검출부는, 상기 소스 비디오에서 소스 객체가 차지하는 영역을 절단(cut)함으로써 배경을 추출할 수 있다.
일 실시예에서, 상기 시스템은 추출된 소스 비디오의 배경을 저장하는 배경 DB를 더 포함할 수 있다.
일 실시예에서, 상기 움직임 검출부는, 특정 소스 객체가 검출된 프레임의 서브 세트에서 상기 특정 객체를 추적하여 소스 객체의 추적 정보를 산출하도록 구성될 수 있다.
일 실시예에서, 상기 소스 객체의 추적 정보는, 추적 정보추적 정보움직임 여부, 속도(velocity), 속력(speed), 및 방향(direction) 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 상기 튜브 생성부는, 소스 객체의 액티비티를 나타낸 프레임의 서브세트, 또는 소스 객체의 액티비티를 나타낸 프레임의 서브세트와 소스 객체를 나타낸 프레임의 서브세트의 조합에 기초하여 소스 객체의 튜브를 생성하도록 구성될 수 있다.
일 실시예에서, 상기 튜브 생성부는, 상기 소스 비디오의 프레임 내 소스 객체를 포함한 영역을 필터링하고, 상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브를 생성하도록 더 구성될 수 있다.
일 실시예에서, 상기 튜브 생성부는, 상기 소스 객체의 검출 결과 상기 소스 객체를 포함한 영상 영역이 추출된 경우, 필터링을 대신하여 상기 추출된 영상 영역으로 상기 소스 객체의 튜브를 생성하도록 더 구성될 수 있다.
일 실시예에서, 상기 장면 이해부는, 입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된 상관관계 결정 모델을 통해 상기 튜브의 소스 객체에 연관된 상관관계를 결정하도록 구성될 수 있다. 여기서, 상기 상관관계 결정 모델은 컨볼루션 네트워크(convolution network)를 포함한다.
일 실시예에서, 상기 상관관계 결정 모델은, 상기 상관관계를 야기하는 동작(action)의 주체로서 객체에 연관 가능한 상관관계 클래스가 미리 지정되도록 학습된 것이다.
일 실시예에서, 상기 상관관계 결정 모델은, 제1 객체를 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제1 특징을 추출하고, 상기 제1 객체를 포함한 영역 및 다른 영역을 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제2 특징을 추출하며, 상기 제1 특징 및 제2 특징에 기초하여 상기 제1 객체에 연관된 상관관계를 결정하도록 더 구성될 수 있다.
일 실시예에서, 상기 다른 영역은 상기 제1 객체와 상이한 제2 객체를 포함한 영역 또는 배경일 수 있다.
일 실시예에서, 상기 제1 특징은, 상기 소스 객체를 검출하기 위해 추출된 특징일 수 있다.
일 실시예에서, 상기 상관관계 결정 모델은, 상관관계를 야기하는 동작의 주체인 특정 객체의 행동을 검출하고, 상기 상관관계에 연관되는 다른 요소를 검출하여 상기 상관관계의 클래스를 결정하도록 구성될 수 있다.
일 실시예에서, 상기 상관관계 결정 모델은, 입력 영상에서 상기 특정 객체의 행동을 검출하는 행동 검출 네트워크; 및 입력 영상에서 특징을 추출하여 행동하는 객체와 상이한 객체를 검출하는 객체 검출 네트워크를 포함할 수 있다. 또한, 상기 행동 검출 네트워크는 영상에 나타난 행동의 클래스를 결정하기 위한 특징을 추출하도록 구성되며, 상기 객체 검출 네트워크는 영상에 나타난 객체의 클래스를 결정하기 위한 특징을 추출하도록 구성될 수 있다.
일 실시예에서, 상기 행동의 클래스를 결정하기 위한 특징은 포즈 특징을 포함하며, 상기 객체의 클래스를 결정하기 위한 특징은 외관 특징을 포함할 수 있다.
일 실시예에서, 상기 상관관계 결정 모델은, 상기 행동 검출 네트워크에서 산출된 값의 세트 및 상기 객체 검출 네트워크에서 산출된 값의 세트를 연결(link)하여 상관관계 행렬을 생성하고, 상기 상관관계 행렬의 요소에서 가장 큰 값을 갖는 요소의 행(row)과 열(column)에 해당하는 행동 및 객체에 기초하여 상기 입력 영상에서 특정 객체에 연관된 상관관계를 결정하도록 더 구성될 수 있다.
일 실시예에서, 상기 튜브 생성부는, 상기 소스 객체의 검출에 따른 소스 객체 관련 정보 또는 소스 비디오 관련 정보, 그리고 상기 튜브의 소스 객체에 연관된 것으로 결정된 상관관계 중 하나 이상을 상기 소스 객체의 튜브에 라벨링하도록 더 구성될 수 있다.
일 실시예에서, 상기 소스 객체의 튜브 및 라벨링된 데이터 중 하나 이상을 저장하는 소스 DB를 더 포함할 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 요약에 요구될 요약 객체 및 요약 상관관계를 포함한 사용자 질의에 응답하여 비디오 요약을 생성하도록 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 검출된 소스 객체에서 요약 객체에 대응하는 소스 객체를 결정하고,
상기 선택된 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계에 연관된 소스 객체를 필터링하여 상기 비디오 요약을 생성하기 위한 소스 객체를 선택하도록 더 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 선택된 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하도록 더 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 상기 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성하고, 그리고 각 그룹 간의 충돌을 최소화함으로써 배열하도록 각 그룹의 시작 지점을 결정하도록 더 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 소스 비디오에서의 촬영 시간에 기초하여 동일한 그룹 내 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하도록 더 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 배열된 요약 객체의 튜브 및 배경에 기초하여 요약 비디오를 생성하도록 구성될 수 있다.
일 실시예에서, 상기 비디오 요약 생성부는, 상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브를 상기 소스 비디오의 배경과 스티칭(stitching)하도록 더 구성될 수 있다.
본 발명의 다른 일 측면에 따른 프로세서를 포함한 컴퓨팅 장치에 의해 수행되는, 소스 비디오에서 검출된 소스 객체의 튜브 및 상관관계를 사용한 비디오 요약 생성 방법은: 요약에 요구될 요약 객체 및 요약 상관관계를 포함한 사용자 질의를 수신하는 단계; 상기 사용자 질의에 대응하는 소스 객체 및 상관관계를 획득하는 단계; 상기 사용자 질의에 대응하는 상관관계에 연관된 소스 객체를 요약을 위한 튜브로 선택하고, 선택된 튜브를 배열하는 단계; 및 선택된 튜브 및 배경에 기초하여 비디오 요약을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 소스 객체는 상기 소스 비디오에서 객체 검출 모델을 통해 검출되며, 상기 객체 검출 모델은 입력 영상으로부터 객체를 검출하기 위한 특징을 추출하여 입력 영상에 포함된 객체에 대응하는 클래스를 결정하도록 미리 학습된다.
일 실시예에서, 상기 배경은, 상기 소스 비디오에서 객체를 검출함으로써 추출된 소스 비디오의 배경을 포함한다.
일 실시예에서, 상기 소스 객체의 튜브는, 상기 소스 객체의 액티비티를 나타낸 프레임의 서브세트, 또는 액티비티를 나타낸 프레임의 서브세트와 소스 객체를 나타낸 프레임의 서브세트의 조합에 기초하여 생성될 수 있다.
일 실시예에서, 상기 액티비티를 나타낸 프레임은, 움직임 여부, 속도(velocity), 속력(speed), 및 방향(direction) 중 적어도 하나를 포함하는 추적 정보에 기초하여 결정될 수 있다.
일 실시예에서, 상기 소스 객체의 튜브는, 상기 소스 비디오의 프레임 내 소스 객체를 포함한 영역을 필터링함으로써 생성될 수 있다.
일 실시예에서, 상기 소스 객체의 튜브는, 상기 소스 객체의 검출 결과 상기 소스 객체를 포함한 영상 영역이 추출된 경우, 필터링을 대신하여 상기 추출된 영상 영역으로 생성될 수 있다.
일 실시예에서, 상기 상기 튜브의 소스 객체에 연관된 상관관계는, 입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된 상관관계 결정 모델을 통해 결정될 수 있다.
일 실시예에서, 상기 상관관계 결정 모델은, 제1 객체를 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제1 특징을 추출하고, 상기 제1 객체를 포함한 영역 및 다른 영역을 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제2 특징을 추출하며, 상기 제1 특징 및 제2 특징에 기초하여 상기 제1 객체에 연관된 상관관계를 결정하도록 구성될 수 있다.
일 실시예에서, 상기 상관관계 결정 모델은, 입력 영상에서 상기 특정 객체의 행동을 검출하는 행동 검출 네트워크; 및 입력 영상에서 특징을 추출하여 행동하는 객체와 상이한 객체를 검출하는 객체 검출 네트워크를 포함하며, 상기 행동 검출 네트워크는 영상에 나타난 행동의 클래스를 결정하기 위한 특징을 추출하도록 구성되며, 상기 객체 검출 네트워크는 영상에 나타난 객체의 클래스를 결정하기 위한 특징을 추출하도록 구성될 수 있다.
일 실시예에서, 상기 사용자 질의에 대응하는 상관관계에 연관된 소스 객체를 선택하는 단계는, 검출된 소스 객체에서 요약 객체에 대응하는 소스 객체를 결정하는 단계; 및 상기 선택된 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계에 연관된 소스 객체를 필터링하여 상기 비디오 요약을 생성하기 위한 소스 객체를 선택하는 단계를 포함할 수 있다.
일 실시예에서, 상기 선택된 튜브를 배열하는 단계는, 선택된 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 선택된 튜브를 배열하는 단계는, 상기 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성하는 단계; 및 각 그룹 간의 충돌을 최소화을 최소화함으로써 배열하도록 각 그룹의 시작 지점을 결정하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따른 컴퓨터 판독가능한 기록매체는 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장할 수 있다. 여기서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 상술한 실시예들에 따른 비디오 요약 생성 방법을 수행하게 한다.
본 발명의 일 측면에 따른 비디오 요약 시스템은 소스 비디오에서 검출된 소스 객체, 소스 객체의 움직임 및 상기 소스 객체에 연관된 상관관계에 기초하여 비디오 요약을 위한 튜브를 선택함으로써, 상관관계가 반영된 비디오 요약을 생성할 수 있다.
이와 같이, 영상 내 객체의 존재 여부, 그 외관만을 분석하는 저차원 영상 분석에 의해서만 비디오 요약을 생성하지 않고, 타겟 객체의 외부에 위치한 다른 대상(예컨대, 다른 객체 또는 배경)과의 상관관계를 분석하는 고차원 영상 분석에 더 기초하여 비디오 요약을 생성한다.
결국 상기 비디오 요약 시스템은, 사용자가 감상하길 원하는 타겟 객체 이외의, 불필요한 정보가 최소화된, 보다 사용자 맞춤화된 비디오 요약을 생성할 수 있다.
그 결과, 비디오 요약 시스템에서는 사용자 니즈에서 벗어나지 않는 범위에서 사용자 편의성이 극대화되고, 비디오 요약의 용량이 최소화된다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명 또는 종래 기술의 실시예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 위한 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은, 본 발명의 일 실시예에 따른, 비디오 요약 생성 시스템의 개략적인 블록도이다.
도 2는, 본 발명의 일 실시예에 따른, 완전 지도된 상관관계 결정 모델을 설명하기 위한 도면이다.
도 3은, 본 발명의 일 실시예에 따른, 준 지도된 상관관계 결정 모델을 설명하기 위한 도면이다.
도 4는, 도 3의 상관관계 결정 모델을 훈련하는 과정을 설명하기 위한 도면이다.
도 5는, 본 발명의 일 실시예에 따른, 비디오 요약 생성 시스템에 의해 생성되는 비디오 요약의 개념도이다.
도 6은, 본 발명의 일 실시예에 따른, 비디오 요약 생성 방법의 흐름도이다.
도 7은, 본 발명의 일 실시예에 따른, 소스 비디오 분석 과정을 설명하기 위한 흐름도이다.
도 8은, 본 발명의 일 실시예에 따른, 요약 비디오 생성 과정을 설명하기 위한 도면이다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 부품을 구체화하려는 것이며, 다른 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 부품의 존재나 부가를 제외시키는 것은 아니다.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
본 발명의 실시예들에 따른 비디오 요약 생성 시스템 및 방법은 소스 비디오 내 제1 객체와 배경 간의 상관관계 또는 상기 제1 객체와 다른 제2 객체 간의 상관관계를 장면 이해로 분석하고, 상기 장면 이해에 기초하여 비디오 요약을 생성할 수 있다. 이로 인해, 사용자로부터 비디오 요약 생성 요청을 수신하는데 있어, 객체의 액티비티(activity), 외관(appearance) 등과 같은, 소스 비디오 내 객체 자체를 기술하는 특징(features descriptive of the object itself)를 사용하여 비디오 요약을 생성하는 종래의 실시예들 보다 사용자의 니즈를 더 고려한 비디오 요약을 생성할 수 있다.
본 명세서에서 소스 비디오는 적어도 일부 프레임에서 객체(소스 객체)를 포함하며, 상기 객체는 시공간 영역에서 표현된다. 비디오의 연속된 프레임에 걸쳐 객체 또는 액티비티를 나타내는 영상의 연결은 “튜브(tube)”로 지칭된다. 객체가 시공간량으로 튜브에 의해 표현되기 때문에, “객체” 및 “튜브”란 용어는 하기의 설명에서 상호교환될 수 있게 사용된다.
도 1은, 본 발명의 일 실시예에 따른, 비디오 요약 생성 시스템의 개략적인 블록도이다.
도 1을 참조하면, 비디오 요약 생성 시스템(1)은 소스 비디오를 분석하는 비디오 분석부(10), 사용자의 비디오 요약 생성 요청에 응답하여 요약 비디오를 생성하는 비디오 요약 생성부(50)를 포함한다. 또한, 소스 비디오를 촬영하는 영상 장비(미도시)를 더 포함할 수도 있다.
실시예들에 따른 비디오 요약 생성 시스템(1)은 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 상품 유통 서버는 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "시스템" 및 "장치" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
또한, 비디오 요약 생성 시스템(1)은 하나 이상의 데이터베이스(DB)를 포함할 수도 있다. 일 실시예에서, 비디오 요약 생성 시스템(1)은 소스 DB(20), 배경 DB(30), 튜브 DB(40)를 포함한다.
각 DB(20, 30, 40)는 대량의 정형, 비정형 또는 반정형 데이터의 집합 및/또는 이를 저장하는 하드웨어를 의미한다. 정형 데이터는 고정된 필드에 저장된 데이터로서, 예컨대, 관계형 데이터베이스, 스프레드쉬트 등이 있다. 또한, 비정형 데이터는 고정된 필드에 저장되어 있지 않는 데이터로서, 예컨대, 텍스트 문서, 이미지, 동영상, 음성 데이터 등이 있다. 또한, 반정형 데이터는 고정된 필드에 저장되어 있지 않지만 메타데이터나 스키마를 포함하는 데이터로서, 예컨대, XML, HTML, 텍스트 등이 있다.
각 DB(20, 30, 40)에 저장되는 정보와 같은 상세한 내용은 아래에서 설명한다.
상기 비디오 분석부(10) 소스 비디오를 처리하도록 구성된다. 일 실시예에서, 상기 비디오 분석부(10)는 객체 기반 영상 분석을 수행하도록 구성된다.
상기 소스 비디오는 영상 장비(미도시)에 의해 촬영된 비디오이다. 일 실시예에서, 상기 비디오는 실질적으로 무한하고 객체의 수가 제한되지 않는 엔드리스 비디오(endless video)일 수 있다.
상기 영상 장비는 객체를 직접 촬영하고 단일 프레임으로 구성된 이미지, 연속 프레임으로 구성된 비디오를 생성하는 장치로서, CCTV, 스마트폰, 블랙박스, 카메라 등을 포함하나, 이에 제한되진 않는다.
일부 실시예에서, 상기 영상 장비는 따라 적외선 카메라와 같은 촬영을 보조하기 위한 구성요소를 더 포함할 수도 있다. 이 경우, 상기 소스 비디오는 동일한 관점 및 시간을 상이한 유형으로 표현하는 복수의 비디오를 포함한다.
일 실시예에서, 영상 장비에 의해 촬영된 소스 비디오는 소스 DB(20)에 저장된다. 상기 소스 비디오는 복수의 프레임 데이터와 더불어, 각 프레임의 촬영 시간, 각 프레임의 식별정보, (예컨대, 촬영 기기의 제품명(예컨대, 제조사의 레퍼런스 넘버), 식별자(예컨대, ID) 등을 포함한) 영상 장비의 정보 등을 더 포함할 수 있다.
비디오 분석부(10)는 소스 비디오를 영상 장비 또는 소스 DB(20)로부터 획득한다. 상기 영상 장비 및/또는 소스 DB(20)는 상기 비디오 분석부(10)와 원격 위치할 수 있다. 이 경우, 상기 비디오 분석부(10)는 소스 비디오를 획득하기 위한 구성요소를 포함한다. 일 예에서, 비디오 분석부(10)는 유/무선의 전기 연결을 통해 (예컨대, 송수신 장치 또는 유선 포트 등에 의해) 소스 비디오를 획득할 수 있다.
상기 비디오 분석부(10)는 소스 비디오에 대한 객체 기반 분석을 수행하도록 구성된다. 이를 위해, 일 실시예에서 비디오 분석부(10)는 소스 객체 검출부(11); 움직임 검출부(13); 튜브 생성부(15); 및 장면 이해부(17)를 포함할 수도 있다.
소스 객체 검출부(11)는 소스 비디오에 포함된 객체를 검출하도록 구성된다. 상기 객체의 검출은 주어진 영상 안에서 어느 특정한 클래스에 해당하는 객체가 (만약 있다면) 어느 위치에 포함되어 있는지 결정하는 동작이다. 즉, 소스 비디오(또는 프레임) 상에서 등장하는 객체에 대하여 해당하는 클래스와 위치를 결정함으로써 소스 객체를 검출할 수 있다. 클래스가 결정되지 않으면 객체는 없는 것으로 결정된다. 한편, 객체는 검출 과정을 통해 결정된 해당되는 클래스로 식별될 수 있다.
일 실시예에서, 소스 객체 검출부(11)는 상기 검출 작동을 수행하도록 미리 학습된 객체 검출 모델을 포함할 수 있다. 상기 객체 검출 모델의 파라미터는 다수의 훈련 샘플을 사용하여 특정 영역에서 특징을 추출하여 클래스를 결정하도록 기계 학습되어 결정된다. 소스 객체 검출부(11)는 상기 객체 검출 모델을 통해 소스 비디오에서 소스 객체를 검출할 수 있다.
일 실시예에서, 소스 객체 검출부(11)는 영상 내 객체의 클래스를 결정하기 이전에 영상 내 객체가 위치하는 것으로 제안되는 영역을 설정하고, 설정된 영상을 분석하도록 구성될 수 있다. 상기 설정된 영역은 관심영역 후보 박스로 지칭될 수 있으며, 일종의 객체의 위치 지역화 동작으로서 초기 객체 검출 동작에 대응한다.
상기 실시예에서, 설정된 후보 영역이 객체 검출 모델에 적용되고, 후보 영역으로부터 특징을 추출하여 후보 영역의 클래스가 결정된다.
상기 후보 영역을 미리 설정하는 방식은, 예를 들어, 슬라이딩 윈도우(sliding window), 선택적 탐색(selective search), region proposal 등을 포함하나, 이에 제한되진 않는다.
상기 객체 검출 모델은, 예를 들어, R-CNN, Fast R-CNN, Faster R-CNN, YOLO(You Only Look Once) 등을 포함한, CNN 알고리즘을 기반으로 하는 모델일 수 있으나, 이에 제한되진 않는다.
일 실시예에서, 소스 객체 검출부(11)는 분할(segmentation)을 통해 소스 객체를 검출할 수 있다. 여기서 분할은 주어진 영상 안에 어느 특정한 클래스에 해당하는 사물이 (만약 있다면) 어느 위치에 포함되어 있는지 픽셀 단위로 분할하여 결정한다. 즉, 소스 비디오(또는 프레임) 상에서 픽셀 단위로 구분해 각 픽셀이 어떤 객체의 클래스인지 결정함으로써 객체가 해당하는 클래스와 위치를 결정하고 결국 소스 객체를 검출할 수 있다.
소스 객체 검출부(11)는, 예를 들어 의미적 분할(semantic segmentation), 인스턴스 분할(instance segmentation) 등을 포함한, 분할 방식을 통해 소스 객체를 검출한다.
상기 의미적 분할(semantic segmentation) 방식은 각 픽셀이 어느 클래스에 속하는지 결정하는 방식이다. 각 픽셀은 속하는 클래스를 나타내는 데이터로 라벨링되며, 그러면 의미적 분할 방식의 결과는 각 픽셀의 결정된 클래스를 나타내는 분할 맵(segmentation map)으로 산출될 수 있다. 상기 의미적 분할 방식에서는 동일한 클래스로 결정된 복수의 객체는 서로 구분되지 않는다.
상기 인스턴스 분할(instance segmentation) 방식을 통해 소스 객체를 검출한다. 상기 의미적 분할 방식과 유사하게 과정으로 수행된다. 다만, 의미적 분할 방식과 달리, 인스턴스 분할 방식은 동일한 클래스로 결정된 복수의 객체는 서로 구분될 수 있다. 즉, 인스턴트 분할 방식을 이용하는 경우 객체가 인식되면서 분할이 진행된다.
분할을 통해 소스 객체를 검출하는 객체 검출 모델은, 예를 들어 FCN(Fully Convolutinal Network), DeepLab, U-Net, ReSeg 등을 을 포함한, CNN 알고리즘을 기반으로 하는 모델일 수 있으나, 이에 제한되진 않는다.
일부 실시예에서, 소스 객체 검출부(11)는 객체 검출 및 분할을 동시에 수행할 수 있다. 이를 위해, 소스 객체 검출부(11)는 객체 검출 및 분할을 동시에 수행하도록 미리 학습된 객체 검출 모델을 포함한다.
일 예에서, 상기 객체 검출 모델은 기존의 객체 검출(object detection) 역할을 하는 서브 모델(예컨대, Faster R-CNN)을 통해 관심영역(RoI, Region of Interest)을 결정하고, 각각의 관심영역에 포함된 객체를 마스킹(즉, 마스크 분할(mask segmentation))하는 서브 모델(예컨대, FCN)을 통해 인스턴스 분할을 수행하도록 구성된다. 여기서, 마스킹은 영상 내 객체가 위치한 영역을 설정하는 것으로서, 전술한 관심영역 후보 영상에 비해 비-객체 부분을 적게 포함한다.
이러한 객체 검출 및 분할을 동시에 수행하는 객체 검출 모델은, 예를 들어 Mask R-CNN 알고리즘을 기반으로 하는 모델일 수 있으나, 이에 제한되진 않는다.
상기 객체 검출을 위한 클래스의 유형은 복수의 영상을 각각 갖는 복수의 훈련 샘플을 포함한 훈련 세트에 의존한다. 훈련 샘플을 통해 기계 학습이 완료되면, 객체 검출 모델은 훈련 샘플에 대응하는 클래스를 객체 검출을 위한 클래스로 갖게 된다. 또한, 다수의 훈련 영상을 통해 재-훈련하여 클래스를 추가할 수 있다.
상기 훈련 세트는, 예를 들어, 20개의 클래스를 포함한 Pascal VOC dataset, 또는 80개의 클래스를 포함한 CoCO dataset를 포함하나, 이에 제한되지 않는다.
이와 같이 소스 객체 검출부(11)는 소스 객체를 검출할 수 있고, 그러면 소스 객체에 대한 정보(소스 객체 정보)를 획득할 수 있다. 상기 소스 객체 정보는, 예를 들어, 객체의 위치, 객체와 배경 간의 경계, 객체의 클래스 등을 포함한다. 상기 객체의 위치는 소스 프레임 내 소스 객체가 위치하는 지점에 대한 정보이다. 상기 경계는 소스 객체가 소스 프레임에서 차지하는 영역과 그렇지 않은 부분을 구분하는 경계로서, 상기 영역은 실제 소스 객체의 형태를 지칭하는 것이 아니며, 객체 검출 과정에서 획득된 정보에 기초하여 결정된다. 예를 들어, 관심영역 후보 박스를 통해 소스 객체가 검출된 경우, 관심영역 후보 박스가 객체와 배경 간의 경계로 결정될 수 있다. 다른 일 예에서, 분할을 통해 소스 객체가 검출된 경우, 분할 영역에 따라 객체와 배경 간의 경계가 결정될 수 있다.
또한, 소스 객체 검출부(11)는 소스 비디오에서 배경을 추출할 수 있다.
일 실시예에서, 소스 객체 검출부(11)는 다양한 배경 분리 알고리즘(Background subtraction algorithms)을 통해 소스 비디오에서 배경을 추출할 수 있다. 상기 배경 분리 알고리즘은, 예를 들어 MoG(Mixture of Gaussian), 강화된 MoG(improved Mixture of Gaussian), ViBe, Graph-cut 등을 포함할 수 있으나, 이에 제한되진 않는다.
예를 들어, 소스 객체 검출부(11)는 GMM(gausian mixture model)을 사용하는 강화된 MoG(improved Mixture of Gaussian)을 소스 비디오에 적용하여 배경을 추출할 수 있다. 소스 객체 검출부(11)는 GMM을 사용하는 강화된 MoG를 통해 일정 시간 동안의 배경 프레임을 샘플링하여 배경 모델(background model)을 생성하고, 매 시간 프레임의 이미지 차이를 산출한다. 그러면, 소스 객체 검출부(11)는 일정 시간 동안의 영상을 바탕으로 조명 성분 변화로 인한 영상 전체의 변화량을 감지하여 배경을 추출하고 조명 변화에 의한 배경 추출 오류를 줄일 수 있다. 그 결과, 빠른 추출 수행 속도로 조명 변화에 의한 배경 추출 오류가 적은 높은 품질의 배경 추출 기능을 수행할 수 있다.
다른 일 실시예에서, 소스 객체 검출부(11)는 분할을 통해 배경을 검출함으로써 배경을 추출할 수 있다.
예를 들어, 소스 객체 검출부(11)는 배경으로 간주되는 하나 이상의 클래스를 각 픽셀별로 결정하는 배경 검출 모델을 통해 배경을 추출할 수 있다. 상기 배경 검출 모델의 클래스는, 예를 들어, 길(road), 인도(sidewalk), 벽(wall), 하늘(sky), 펜스(fence), 빌딩 등을 포함하나, 이에 제한되지 않는다.
상기 분할을 통한 배경 검출 과정은 전술한 분할을 통한 객체 검출 과정과 유사하므로, 자세한 설명은 생략한다.
또 다른 일 실시예에서, 배경은 소스 객체가 소스 비디오에서 차지하는 영역을 제거함으로써 획득된다.
소스 객체 검출부(11)는 소스 객체를 검출하기 위해 소스 객체가 위치하는 영역(예컨대, 프레임 내 소스 객체가 차지하는 영역)을 설정한 경우, 상기 소스 객체 검출 과정의 영역을 절단(cut)하여 배경을 추출할 수 있다.
예를 들어, 소스 객체가 (예컨대, 인스턴스 분할과 같은) 분할(segmentation)을 통해 검출된 경우, 상기 분할 결과(예컨대, 마스킹 결과)가 소스 객체가 소스 비디오에서 차지하는 영역으로 결정되고, 해당 영역이 절단된다.
또는, 소스 객체가 관심영역 후보 박스를 설정함으로써 검출된 경우, 상기 관심영역 후보 박스가 소스 객체가 소스 비디오에서 차지하는 영역으로 결정되고, 해당 영역이 절단된다.
일부 실시예에서, 소스 객체 검출부(11)는 보다 정확한 배경 추출을 위해 분할 동작을 검출 동작 이후 추가로 수행하도록 더 구성될 수 있다.
예를 들어, 관심영역 후보 박스를 분할하여 상기 관심영역 후보 박스 보다 작은 영역을 소스 객체가 소스 비디오에서 차지하는 영역으로 결정할 수 있다. 상기 분할 동작은 분할을 통한 객체 검출 동작과 유사하므로, 자세한 설명은 생략한다. 이러한 절단 과정을 통해 소스 객체 검출부(11)는 소스 객체 영역을 제외한 복수의 프레임을 획득한다. 일 실시예에서, 상기 소스 객체 검출부(11)는 소스 객체 영역을 제외한 복수의 프레임에 기초하여, 제외된 영역이 적어도 부분적으로 채워진 배경을 획득할 수 있다.
일부 실시예에서, 추출된 배경은 배경 DB(30)에 저장될 수 있다.
움직임 검출부(13)는 비디오에서 객체의 움직임을 검출한다. 일 실시예에서, 움직임 검출부(13)는 특정 소스 객체가 검출된 프레임의 서브 세트에서 상기 특정 소스 객체를 추적하도록 구성된다. 이로 인해, 움직임 검출부(13)는 추적 결과로서 추적 정보를 산출할 수 있다.
소스 비디오 내 각 객체에 기초하여 선택된, 소스 객체가 나타난 프레임의 서브세트가 비디오 요약을 위해 사용될 것이다. 상기 소스 객체 검출부(11)에 의해 검출된 소스 객체는 정지된 객체를 포함할 수 있다. 이러한 결과는 객체 검출 모델이 상기 정지된 객체에 대응하는 클래스를 분류하도록 구성된 경우에 발생한다.
통상적으로 비디오 요약에서 사용자의 관심 대상은 움직이는 객체이다. 소스 비디오가 엔드리스 비디오인 경우, 다수의 프레임에서 검출된 객체들에서 (예컨대, 동일한 ID를 갖는) 동일한 객체에 대한 연속된 시퀸스를 생성해야 유용한 비디오 요약을 생성할 수 있다.
추적 정보소스 객체는 일련의 프레임에서 검출된다. 움직임 검출부(13)는 상기 일련의 프레임 내 검출된 소스 객체를 프레임 간의 시간, 색상 차이의 변화 등에 기초하여 연결시킴으로써, 검출된 소스 객체를 추적할 수 있다.
이러한 추적 결과는 소스 객체를 포함한 해당 프레임의 시퀸스로 나타난다. 이 추적된 결과의 경로(예컨대, 위치, 방향 등)을 분석하면 소스 객체의 액티비티가 생성된다. 각 프레임에서의 소스 객체의 액티비티는 결국 소스 객체 마스크를 포함한 해당 프레임의 시퀸스에 표현되게 된다. 여기서, 상기 소스 객체 마스크는 분할 또는 후보 영역 설정 과정에서 (예컨대, 소스 객체 검출부(11)에 의해) 미리 설정된 것이다.
움직임 검출부(13)는 상기 일련의 프레임에 기초하여 소스 객체의 추적 정보를 산출한다. 일 예에서, 각 프레임 내 소스 객체 마스크의 적어도 일부의 위치 사이에서의 색차가 미리 설정된 값 보다 큰 경우, 소스 객체는 움직이는 객체(moving object)로 분류되며, 프레임 간의 시간, 색상 차이의 변화에 기초하여 추적 정보가 산출된다.
그러나, 이에 제한되지 않으며 비디오 내 객체의 움직임을 검출하는데 적합한 다양한 알고리즘이 사용될 수 있다. 예를 들어, 비디오 내 객체를 추적하는 알고리즘이 사용될 수도 있다.
일부 실시예에서, 상기 추적 정보는 객체의 움직임 여부, 속도(velocity), 속력(speed), 방향(direction) 등을 포함하나, 이에 제한되지 않는다. 여기서, 움직이는 객체는 일련의 프레임에서 특정 프레임 서브 세트에서는 움직이지만, 다른 프레임 서브 세트에서는 움직이지 않는 객체를 포함한다.
튜브 생성부(15)는 움직임이 검출된 소스 객체를 포함한 소스 객체의 튜브를 생성한다. 일 실시예에서, 소스 객체의 검출 결과 및/또는 추적 정보에 기초하여 소스 객체의 튜브를 생성한다. 전술한 바와 같이 튜브는 소스 객체 또는 움직임을 모아놓은 일련의 객체 집합으로서, 소스 비디오의 프레임에 걸쳐 객체 또는 액티비티를 나타내는 시퀸스 부분의 연결을 지칭한다.
일 실시예에서, 상기 튜브 생성부(15)는 움직이는 소스 객체의 튜브를 생성한다. 상기 움직이는 소스 객체의 튜브는 액티비티를 나타내는 프레임의 서브세트, 또는 액티비티를 나타내는 프레임의 서브세트와 소스 객체를 나타내는 프레임의 서브세트의 조합에 기초하여 생성된다. 예를 들어, 제1 시간 동안은 정지하였다가 제2 시간에 움직이는 소스 객체의 경우, 제1 시간의 프레임의 서브세트 및 제2 시간의 프레임의 서브세트를 포함한 튜브가 생성될 수 있다.
일 실시예에서, 상기 튜브는 소스 프레임 내 소스 객체를 포함한 영역을 필터링할 수 있다. 비디오 요약을 생성한는데 있어 실질적으로 요구되는 영상은 소스 객체의 영상이다. 튜브 생성부(15)는 소스 객체가 차지하는 영역의 영상을 포함한 튜브를 생성할 수 있다.
일 예에서, 상기 튜브 생성부(15)는 소스 객체를 포함한 경계박스만으로 이루어진 튜브를 생성할 수 있다.
다른 일 예에서, 상기 튜브 생성부(15)는 소스 객체를 분할(segment)하고, 배경을 제거하여 소스 객체의 튜브를 생성할 수 있다.
일부 실시예에서, 상기 필터링 동작은 (예컨대, 소스 객체 검출부(11)에 의한) 소스 객체 검출 과정에서 획득된 정보에 기초하여 수행될 수 있다.
일 예에서, 소스 객체가 관심박스 영역을 설정함으로써 검출된 경우, 상기 관심박스 영역이 경계박스로 이용될 수 있다. 다른 일 예에서, 소스 객체가 분할을 통해 검출된 경우, 상기 검출 과정에서의 분할을 이용하고, 배경을 제거하여 소스 객체의 튜브를 생성할 수 있다.
또는, 튜브 생성부(15)는 소스 객체 검출 과정에서 획득된 소스 객체의 위치, 또는 객체와 배경 간의 경계에 기초하여 소스 객체를 포함한 영역의 영상을 필터링할 수 있다.
일부 실시예에서, 상기 튜브 생성부(15)는 소스 객체 검출 결과를 이용하여 필터링 작동을 수행할 수 있다.
이러한 필터링 작동에 의해, 배경의 적어도 일부가 제거된 소스 객체의 튜브가 생성된다.
튜브 생성부(15)는 튜브에 대한 세부 정보(이하, “튜브 정보”)를 튜브에 라벨링하도록 더 구성된다. 상기 튜브 정보는, 예를 들어, 소스 객체 관련 정보(예컨대, 클래스 정보, 위치 정보, 촬영 시간 정보 등), 소스 비디오 관련 정보(예컨대, 소스 비디오 식별자, 전체 재생 시간 등), 소스 비디오에서 해당 튜브의 재생 구간 정보, 해당 튜브의 재생 시간 정보 등을 포함한다.
일부 실시예에서, 소스 객체의 튜브 및/또는 라벨링된 튜브 정보는 튜브 DB(40)에 저장될 수 있다. 상기 튜브 DB(40)는 비디오 요약을 생성하는데 사용될 튜브를 제공한다.
소스 비디오의 장면(scene)을 보다 고차원으로 분석하기 위해서는 장면의 구성요소인 객체, 배경를 분석하는 것과 더불어 구성요소 간의 관계를 분석하는 것이 요구된다. 구성요소 간의 관계에서 장면을 이해하는데 요구되는 관계가 상관관계(interaction)로 지칭된다.
상관관계는 하나의 구성요소가 동작(action)함으로써 부여된다. 여기서, 동작은 객체의 동작을 나타내며, 시간경과에 따른 배경의 변화는 동작으로 간주되지 않는다. 따라서, 비디오 요약 생성 시스템(1)에서 분석되는 상관관계는 객체와 배경 간의 상관관계, 또는 객체와 객체 간의 상관관계를 포함한다. 즉 상관관계는 적어도 하나의 동작하는 객체에 연관된다.
장면 이해부(17)는 튜브의 소스 객체에 연관된 상관관계를 결정하도록 구성된다. 개별 객체에 연관된 상관관계를 결정함으로써 상기 시스템(1)은 객체의 동작(action)이 나타난 장면을 이해하게 된다. 상기 장면 이해 대상은 튜브의 소스 객체를 포함한 소스 비디오를 포함한다.
동작하는 객체의 대표적인 예시는 사람이다. 엔드리스 비디오에서 사람의 동작은 필연적으로 발생하므로 사람은 배경과의 상관관계를 갖거나, 다른 객체(예컨대, 물건 또는 다른 사람)과의 상관관계를 갖게 된다. 이하, 설명의 명료성을 위해, 상관관계를 갖는 객체 중 적어도 하나는 사람인 실시예들을 통해 본 발명을 보다 상세하게 서술한다. 즉, 이하, 상관관계를 갖는 소스 객체 중 적어도 하나는 사람의 클래스에 대응하는 것으로 결정된 상태이다. 사람의 동작은 행동(verb)으로 이해된다.
그러나, 본 발명의 실시예들이 이에 제한되지 않으며, 동작하는 객체는 움직이도록 구성된 비-사람인 실시예들(예컨대, 사물과 배경 또는 사물과 사물 간의 상관관계)에서도 상관관계가 결정된다는 것이 통상의 기술자에게 명백할 것이다.
일 실시예에서, 상기 장면 이해부(17)는 상관관계 결정 모델을 통해 튜브의 소스 객체에 연관된 상관관계를 결정할 수 있다. 상기 상관관계 결정 모델은 입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된다.
일 실시예에서, 상기 상관관계 결정 모델은 ICAN(Instance-Centeric Attention Network), BAR-CNN, InteractNet, HO-RCNN 등을 포함한, 다양한 CNN를 포함할 수 있다. 상기 상관관계 결정 모델은 완전 지도(Fully-supervised) 방식 또는 준 지도(semi-supervised) 방식으로 기계학습된다.
완전 지도 방식은 입력 영상에서 초기 지정된 규칙에 해당되는 객체를 인식하는 방식이다. 상기 초기 지정된 규칙은 객체별로 결정되는 상관관계가 미리 지정된 것이다.
상기 완전 지도 방식을 통해 사람과 객체와의 관계를 특성화하는 상관관계 결정 모델의 네트워크(또는 레이어)의 파라미터가 학습된다. 완전 지도 방식을 통해 학습된 상관관계 결정 모델은 두 개의 객체가 각각 나타난 영상(예컨대, 경계 박스(bounding box)로 마스킹됨) 사이의 상관관계 점수를 산출할 수 있다.
도 2는, 본 발명의 일 실시예에 따른, 완전 지도된 상관관계 결정 모델을 설명하기 위한 도면이다.
도 2의 상관관계 결정 모델(200)은 완전 지도 방식에 의해 상관관계를 결정하며, 상기 상관관계 결정 모델(200)은: 장면 이해 대상이 될 하나 이상의 소스 객체를 포함한 입력 영상을 뉴럴 네트워크(230)에 전달하는 입력 레이어(210); 입력 레이어(210)로부터 영상을 수신하고 해당 영상에서 상관관계를 결정하기 위한 특징을 추출하도록 구성된 복수의 뉴런을 포함한 뉴럴 네트워크(Nueral network)(230), 및 상기 객체에 연관된 상관관계를 결정하는 결정 레이어(250)를 포함한다.
도 2의 입력 레이어(210)는 입력 영상을 수신하여 뉴럴 네트워크(230)에 전달한다. 일 실시예에서, 상기 입력 레이어(210)는 특징이 추출될 영역을 지역 국소화하도록 구성될 수 있다. 상기 지역 국소화(localization)를 위해 입력 레이어(210)는 입력 영상의 크기를 조절할 수 있다.
일부 실시예에서, 상기 입력 레이어(210)는 입력 영상 내 객체를 크로핑(cropping)하거나, 또는 입력 영상의 크기 또는 크로핑된 영상의 크기를 미리 설정된 리사이징(resizing)하도록 구성될 수 있다.
상기 입력 레이어(210)의 지역 국소화 과정은 객체 검출 모델의 관심영역 후보 박스 설정 과정과 유사하므로 자세한 설명은 생략한다.
다른 일부 실시예에서, 상기 입력 레이어(210)의 지역 국소화 행동은 (예컨대, 소스 객체 검출부(11)에 의한) 소스 객체 검출 과정의 정보를 사용하여 수행된다. 상기 검출 과정의 정보는, 예를 들어 소스 객체의 위치, 및/또는 객체와 배경 간의 경계를 포함한다.
일부 실시예에서, 결정 레이어(250)는 모든 입력 노드가 모든 출력 노드에 연결된 완전 연결 레이어를 포함할 수도 있다.
상기 도 2의 상관관계 결정 모델(200)은 다수의 스트림 아키텍처를 갖는 CNN 구조의 기계학습 모델이다. 다수의 스트림은 입력 영상에 포함된 객체를 위한 스트림, 및 쌍(pairwise)을 위한 스트림을 포함한다. 객체를 위한 스트림은 해당 객체의 영상이 입력 레이어(210); 뉴럴 네트워크(230) 및 결정 레이어(250)를 통해 데이터 처리되는 흐름을 지칭한다. 쌍을 위한 스트림은 쌍을 이루는 각각의 객체를 포함한 각각의 영상(예컨대, 사람의 영상 및 객체의 영상)이 입력 레이어(210); 뉴럴 네트워크(230) 및 결정 레이어(250)를 통해 데이터 처리되는 흐름을 지칭한다. 상기 객체를 위한 스트림에서 크기가 조절된 영상은 해당 객체를 포함하는 크기를 갖지만, 상기 쌍을 위한 스트림에서 크기가 조절된 영상은 쌍을 이루는 두 개의 객체를 모두 포함한 크기를 갖도록 구성된다. 배경과 객체 간의 상관관계의 경우, 쌍을 위한 스트림에서는 상기 객체와 배경을 모두 포함한 크기를 갖도록 구성된다.
예를 들어, 도 2에 도시된 바와 같이, 전체 입력 영상이 사람이 자전거를 타고 가는 순간을 촬영한 영상인 경우, 스트림은 사람을 위한 스트림, 자전거를 위한 스트림, 및 사람과 자전거의 쌍을 위한 스트림을 포함한다. 사람을 위한 스트림에 있어서 특징이 추출되는 지역 국소화된 영상은 사람을 포함한 크기를 가지나, 사람과 자전거의 쌍을 위한 스트림에 있어서 특징이 추출되는 지역 국소화된 영상은 사람과 자전거를 포함하는 크기를 가진다.
도 2의 상관관계 결정 모델은 각각의 스트림에서 추출된 특징에 기초하여 상관관계를 결정한다. 사람을 위한 스트림에서는 사람과 관련된 특징이 추출되고, 자전거를 위한 스트림에서는 자전거와 관련된 특징이 추출되며, 쌍을 위한 스트림에서는 상관관계와 관련된 특징이 추출된다.
결정 레이어(250)는 추출된 특징에 기초하여 입력 영상이 어느 상관관계 클래스에 해당하는지를 나타내는 클래스 점수를 생성하도록 미리 학습되며, 학습된 결정 레이어는 입력 영상의 상관관계에 대한 클래스 점수를 생성할 수 있다.
도 2의 상관관계 결정 모델이 “자전거를 타는 것”에 대한 상관관계만을 결정하도록 (즉, 단일 클래스에 해당 여부를 결정하도록) 설계되었다고 가정해보자: 그러면, 상기 상관관계 결정 모델의 최종 레이어인 결정 레이어(250)는 “자전거를 타는 것”에 대한 점수(예컨대, 클래스에 속할 확률 값 등)를 산출하는 이진 분류자이다.
일 실시예에서, 결정 레이어(250)는 각 스트림에서 완전 연결 레이어를 통해 산출된 클래스 점수를 결합하도록 더 구성된다. 이로 인해, 각 스트림별 상관관계의 분석 결과(즉, 각 스트림별 클래스 점수)가 종합되어 최초 입력 영상에 대한 최종적인 점수가 획득된다.
일부 실시예에서, 결정 레이어(250)에서는 각 스트림별 클래스 점수를 합산(sum)하여 최종적인 점수를 획득할 수 있다. 이 경우, 도 2의 상관관계 결정 모델은 합산하여 산출된 최종 점수에 기초하여 해당하는 클래스(즉, 상관관계)를 결정하도록 학습된다.
이와 같이, 도 2의 상관관계 결정 모델은 객체(예컨대, 사람)에 연관 가능한 상관관계를 미리 지정하고 학습된다. 즉, 행동하는 객체의 유형에 따라 상관관계가 의존한다. 이를 위해, 연관 가능한 상관관계를 나타내는 훈련 영상을 포함한 훈련 세트를 이용하여 도 2의 상관관계 결정 모델이 미리 학습된다.
행동하는 객체가 사람에 제한되지 않기 위해서는 사람 이외의 다른 객체에 연관 가능한 상관관계를 미리 지정하고 학습하면 도 2의 상관관계 결정 모델은 사람 이외의 객체 간의 상관관계를 결정할 수 있다.
일 실시예에서, 상관관계 결정 모델은 복수의 서브 모델을 포함하며, 각각의 서브 모델은 동작의 주체가 되는 객체 별로 상관관계가 훈련 세트에 의해 미리 지정되고 학습된다.
한편, 준 지도(semi-supervised) 방식은 객체별로 결정하려는 상관관계를 미리 지정하지 않는다. 사람의 행동(verb)과 다른 객체(예컨대, 물건) 세트별로 어느 상관관계의 클래스를 가질지 분석(즉, 클래스 점수화)함으로써 상관관계를 결정한다. 이로 인해, 동작의 주체가 되는 객체 별로 상관관계가 학습되지 않는다.
도 3은, 본 발명의 일 실시예에 따른, 준 지도된 상관관계 결정 모델을 설명하기 위한 도면이다.
도 3의 상관관계 결정 모델(300)은 준 지도 방식에 의해 상관관계를 결정하도록 학습된다. 도 3을 참조하면, 상기 상관관계 결정 모델(300)은: 입력 영상에서 특정 객체의 행동을 검출하는 행동 검출 네트워크(310); 및 입력 영상에서 특징을 추출하여 행동하는 객체와 다른 객체를 검출하는 객체 검출 네트워크(330)를 포함한다.
상기 네트워크(310, 330)는 관련된 객체가 상이하므로, 독립적인 네트워크이다. 장면 이해부(17)는 각 네트워크(310 또는 330)를 통해 데이터 처리 과정은 병렬적으로 수행한다.
상기 네트워크(310, 330)는 입력 영상에서 객체를 검출하기 위한 특징을 추출하는 컨볼루션 네트워크를 컨볼루션 네트워크(convolution network)를 포함할 수 있다. 일 예에서, 특징 추출 네트워크(310)의 컨볼루션 네트워크는, 도 3에 도시된 바와 같이, Faster R-CNN 모델에서 특징을 추출하는 컨볼루션 네트워크일 수 있다. 그러나, 이에 제한되지 않으며, 특징 추출 네트워크(310)는 컨볼루션 레이어, ReLU 레이어 및/또는 풀링 레이어를 포함한, 컨볼루션 특징을 추출하는 다양한 컨볼루션 네트워크를 포함할 수 있다.
이와 같이, 각 네트워크(310, 330)는 구조가 유사하나, 추출되는 특징에 있어서 차이가 있다. 또한, 특징의 차이로 인해 기능 또한 구별된다.
행동 검출 네트워크(310)는 행동의 주체로서 영상 내 객체(상기 가정에 따르면 사람)에 대응하는 클래스를 결정하기 위한 특징, 및/또는 행동에 대응하는 클래스를 결정하기 위한 특징을 추출하도록 구성된다. 상관관계 결정 모델(300)은 영상에 나타난 객체의 클래스를 결정함으로써 행동 주체를 검출하고, 영상에 나타난 행동의 클래스를 결정함으로써 행동 주체의 행동을 검출할 수 있다
일 실시예에서, 행동 주체로서 객체(예컨대, 사람)를 검출하기 위한 특징은 외관 특징을 포함한다. 또한, 행동을 검출하기 위한 특징은 포즈 특징을 포함한다.
상관관계 결정 모델(300)은 행동 검출 네트워크(310)의 컨볼루션 네트워크에서 추출된 특징(예컨대, 외관 특징 및 포즈 특징)을 행동 검출 네트워크(310)의 완전 연결 레이어에 적용하여 행동 특징을 산출한다. 상기 행동 특징은 행동-외관 특징 및 행동-포즈 특징을 포함한다.
상기 행동 검출 네트워크(310)에 의한 행동 검출은 미리 지정된 클래스에 의존하며, 상기 클래스는 행동의 주체에 의한 가능한 행동에 대응하는 행동 클래스이다. 따라서, 상기 행동 검출 네트워크(310)를 위한 행동 주체가 움직이는 물건(예컨대, 자동차)인 경우, 자동차가 검출되고 그리고 자동차의 행동이 검출된다.
객체 검출 네트워크(330)는 행동 주체와 상이한 객체를 검출하기 위한 특징을 추출하도록 구성된다. 객체 검출 네트워크(330)의 클래스는 영상에서 표현 가능한 객체 클래스이다.
상기 객체 검출 네트워크(300)에서 추출되는 특징은 외관 관련 특징을 포함한다.
상관관계 결정 모델(300)은 객체 검출 네트워크(330)의 컨볼루션 네트워크에서 추출된 특징(예컨대, 외관 특징)을 객체 검출 네트워크(310)의 완전 연결 레이어에 적용하여 객체 특징을 산출한다.
도 4는, 도 3의 상관관계 결정 모델을 훈련하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 다수의 영상을 포함한 훈련 샘플이 학습을 위해 입력 영상으로 도 4의 네트워크(310, 330)에 입력된다. 각 훈련 샘플은 행동 주체 및 다른 객체를 포함한 영상이다.
상기 훈련 샘플에 의해 행동 검출 네트워크(310)의 클래스(즉, 행동 클래스) 및 객체 검출 네트워크(330)의 클래스(즉, 객체 클래스)가 결정된다. 또한, 행동 검출 네트워크(310) 및 객체 검출 네트워크(330)의 파라미터는 각 네트워크(310, 330)의 손실 함수가 최소가 되는 방향으로 학습된다.
상기 손실 함수는 네트워크에서 내놓는 결과 값과 실제 결과 값의 차이를 나타낸다. 이러한 파라미터의 업데이트는 통상적으로 최적화로 지칭된다. 일 예에서, 파라미터 최적화는 ADAM(Adaptive Moment Estimation)을 통해 수행될 수 있으나, 이에 제한되지 않으며, Momentum, NAG(Nesterov Accelerated Gradient), Adagrad(Adaptive Gradient), RMSProp 등과 같은 다양한 경사 하강(gradient discent) 방식에 의해 수행될 수도 있다.
다시 도 3을 참조하면, 상기 상관관계 결정 모델(300)은 각 네트워크(310, 330)에서 산출된 특징들에 기초하여 상관관계를 결정하도록 더 구성된다.
일 실시예에서, 상기 상관관계 결정 모델(300)은 각 네트워크(310, 330)의 출력 결과로서 산출된 행동 특징 및 객체 특징으로부터 행동의 클래스 및 객체의 클래스에 대응할지를 나타내는 점수(예컨대, 클래스에 속할지 예측하는 확률 값)을 산출한다. 상기 행동 특징으로부터 산출되는 점수는 클래스별로 산출되며, 결국 행동의 클래스의 수에 의존하는 점수 세트가 산출된다. 또한, 상기 객체 특징으로부터 산출되는 점수도 클래스별로 산출되며, 결국 객체의 클래스의 수에 의존하는 점수 세트가 산출된다.
상기 상관관계 결정 모델(300)은 행동에 대한 점수 세트 및 객체에 대한 점수 세트를 연결(link)하여 상관관계 행렬을 생성한다. 상관관계 행렬의 요소는 각각의 행과 열에 해당하는 행동과 객체로 이루어진 상관관계로 결정될 상관관계 결정 점수를 나타낸다.
도 3에서 상관관계 행렬은 행동에 대한 확률 값 세트가 열(column)로, 그리고 객체에 대한 확률 값 세트가 행(row)으로 이루어졌으나, 그 반대로 상관관계 행렬을 구성할 수 있음이 통상의 기술자에게 명백할 것이다.
일 실시예에서, 상기 상관관계 결정 점수는 각각의 행과 열에 해당하는 각각의 점수 세트 내 점수들의 평균일 수 있으나, 이에 제한되지 않는다. 상관관계 결정을 위해 다른 유형의 대표 값을 산출할 수 있는 적합한 다른 방식들이 사용될 수 있다.
도 3에서 입력 영상에 대한 상관관계 행렬을 살펴보면, 행동 클래스로서 “탑승” 및 객체 클래스로서 “말”로 구성된 행렬 요소의 상관관계 결정 점수가 가장 높은 값을 가진다. 그러면, 장면 이해부(17)는 상관관계 결정 모델(300)을 통해 입력 영상이 “사람이 말에 탑승했다”는 상관관계를 가지는 것으로 결정할 수 있다.
일 실시예에서, 상기 상관관계 결정 모델(300)은 (예컨대, 소스 객체 검출부(11)에 의한) 소스 객체의 검출 과정의 정보를 사용하도록 더 구성될 수 있다.
일부 실시예에서, 상관관계 결정 모델(300)은 소스 객체 검출 결과에 기초하여 상관관계를 결정하기 위해 각 네트워크(310, 330)에서 특징이 추출될 영역을 설정할 수 있다. 예를 들어, 상기 상관관계 결정 모델(300)의 경계박스(bounding box)는 검출된 소스 객체의 위치에 기초하여 설정된다.
일부 실시예에서, 상기 상관관계 결정 모델(300)은 행동 주체로서 객체 및 상기 행동 주체와 상관관계를 가질 것으로 예상되는 후보로서 다른 객체를 검출하기 위한 특징을 추출하지 않도록 구성될 수도 있다. 일 예에서, 행동 검출 네트워크(310)는 소스 객체 검출 결과에 의해 획득된 행동 주체로서 특정 소스 객체의 행동을 검출하기 위한 특징(예컨대, 포즈 특징)만을 추출하도록 구성될 수 있다. 다른 일 예에서, 상기 상관관계 결정 모델(300)은 객체 검출 네트워크(330)을 포함하는 대신에, 소스 객체 검출 결과를 사용하도록 구성된다. 이 경우, 소스 객체 검출을 위해 산출된 객체 검출 점수가 상관관계 행렬을 생성하기 위해 사용된다.
한편, 객체와 배경과의 상관관계의 결정 과정 및 학습 과정 또한 도 3, 4에 도시된 객체와 객체 간의 상관관계의 결정 과정 및 학습 과정과 유사하다. 이 경우, 각 훈련 샘플은 행동 주체 및 배경을 포함한 영상이며, 상기 모델(300)은 배경의 클래스를 결정하도록 학습된 네트워크를 포함한다. 일부 실시예에서, 상기 네트워크(330)가 배경의 클래스를 결정하도록 더 학습될 수 있다.
이와 같이, 장면 이해부(17)는 튜브의 소스 객체의 행동을 분석하여 튜브의 소스 객체가 나타난 장면을 이해할 수 있다.
장면 이해부(17)에 의해 결정된 상관관계는 해당 상관관계와 연관되는 소스 객체의 튜브에 더 라벨링될 수 있다. 그러면, 소스 객체의 튜브를 튜브 DB(40)에 저장할 경우, 소스 객체에 연관된 상관관계 또한 튜브 DB(40)에 저장된다.
비디오 요약 생성 시스템(1)은 비디오 요약 생성을 요청하는 사용자 질의를 수신하고, 사용자 질의에 기초하여 사용자의 요청에 부합하는 비디오 요약을 생성한다.
다시 도 1을 참조하면, 상기 시스템(1)은 소스 객체의 튜브 및 연관된 상관관계에 기초하여 비디오 요약을 생성하는 비디오 요약 생성부(50)를 포함한다. 일 실시예에서, 비디오 요약 생성부(50)는 사용자 질의에 응답하여 비디오 요약을 생성할 수 있다. 일부 실시예에서, 요약 요소 획득부(51); 튜브 배열부(53) 및 요약 비디오 생성부(55)를 포함할 수도 있다.
상기 시스템(1)은 (예컨대, 요약 요소 획득부(51)에 의해) 사용자 질의에 기초하여 비디오 요약을 생성하기 위해 요구되는 비디오 요소(video element)를 획득한다. 상기 사용자 질의는 비디오 요약에 나타날 객체(이하, “요약 객체”), 또는 비디오 요약에 나타날 상관관계(이하, “요약 상관관계”)를 포함한다. 일부 실시예에서, 사용자 질의는 비디오 요약의 전체 재생 시간, 또는 비디오 요약을 위해 요구되는 소스 비디오의 특정 재생 구간을 더 포함할 수 있다.
비디오 요약 생성 시스템(1)은 (예컨대, 요약 요소 획득부(51)에 의해) 소스 비디오로부터 상기 사용자 질의의 요약 객체 및 요약 상관관계를 선택할 수 있다.
일 실시예에서, 요약 요소 획득부(51)는 튜브 DB(40)에 저장된 소스 객체로부터 상기 요약 객체에 대응하는 소스 객체를 획득할 수 있다.
예를 들어, 요약 요소 획득부(51)는 튜브 DB(40)에 저장된 다수의 소스 객체에서 요약 객체의 클래스에 매칭하는 클래스를 갖는 소스 객체를 검색함으로써, 상기 요약 객체에 대응하는 소스 객체를 획득할 수 있다.
상기 요약 객체에 대응하는 소스 객체는 복수의 상관관계에 연관되거나, 또는 상이한 상관관계에 연관되어 있을 수 있다. 사용자의 요구에 정확히 부합하는 소스 객체의 튜브를 이용하기 위해, 요약 요소 획득부(51)는 상기 요약 객체에 대응하는 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계를 갖는 소스 객체를 필터링한다. 그러면, 요구되는 클래스에 매칭하는 상관관계 클래스를 갖는 요약 객체가 획득된다.
비디오 요약 생성 시스템(1)에서는 사용자 질의에 대응하는 것으로 획득된 (즉, 객체 클래스 및 상관관계 클래스가 매칭하는) 소스 객체를 요약 객체로 결정하고, 소스 객체의 튜브를 비디오 요약을 생성하기 위해 사용한다. 즉, 비디오 요약 생성 시스템(1)에서 사용자 질의에 대응하는 것으로 획득된 소스 객체가 비디오 요약을 생성하기 위해 선택된 요약 객체이다.
튜브 배열부(53)는 사용자 질의에 대응하는 것으로 선택된 요약 객체의 튜브를 배열한다. 상기 배열은 선택된 요약 객체의 튜브의 시작 지점을 결정함으로써 수행된다.
일 실시예에서, 상기 튜브 배열부(53)는 선택된 요약 객체의 튜브 간의 충돌(collison)을 최소화하는 방향으로 선택된 요약 객체의 튜브의 시작 지점을 결정한다. 상기 충돌을 최소화하는 과정에서 시간적 일관성(temporal consistency)는 최대한 유지된다. 이러한 규칙에 의한 배열은 배열의 최적화로 지칭될 수도 있다.
도 5는, 본 발명의 일 실시예에 따른, 비디오 요약 생성 시스템에 의해 생성되는 비디오 요약의 개념도이다.
일 실시예에서, 튜브 배열부(53)는 시간적 일관성을 유지하면서, 충돌 코스트(collision cost)가 소정 임계치(Φ)미만이 될 때까지 각 이벤트 객체의 튜브를 이동시킨다(tube shifting). 여기서 충돌 코스트는 매 2개의 튜브와 이들 간의 모든 상대적인 시간 이동에 대한 시간 중첩량으로 나타낸다. 소정 임계치(Φ)는 경우에 따라 상이한 값일 수 있다. 예를 들어, 군집에 포함된 이벤트 객체의 수가 적을 경우 비디오 요약시 상대적으로 시공간상으로 여유가 있어 상대적으로 적은 값으로 설정될 수 있다. 그러면서, 비디오 요약의 길이(L)는 최소화한다.
이런 최적화 과정은 시간별(temporal), 공간별(spatial)로 관심 객체를 그룹화하여 최적화를 수행한다. 도 5를 참조하면, 비-시계열적(non-chronological) 비디오 요약에서 선택된 요약 객체의 튜브는 도 5의 결과(a)처럼 배열되고, 시공간별 그룹에 기반하여 생성된 비디오 요약(spatio-temporal group-based video synopsis)에서 선택된 요약 객체의 튜브는 도 5의 결과(b)처럼 배열된다. 반면, 사용자 질의에 부합하는 비디오 요약에서 선택된 요약 객체의 튜브는 도 5의 결과(c)처럼 배열된다.
일 실시예에서, 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 튜브 배열부(53)는 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성한다.
그러면, 둘 이상의 상관관계별 그룹이 생성된다. 튜브 배열부(53)는 각 그룹 간의 충돌이 최소화하는 방향으로 배열된다. 그러면, 그룹 간의 배열에 있어서 시계열적 순서(chronological order)가 고려되지 않는다. 사용자의 주된 관심은 상관관계이기 때문이다.
상기 그룹 간의 충돌이 최소화하는 방향으로 배열되는 과정은 전술한 튜브 간의 충돌이 최소화하는 방향으로 배열되는 것과 유사하므로, 자세한 설명은 생략한다.
또한 튜브 배열부(53)는 각 상관관계 그룹의 배열에 이어서, 그룹에 포함된 튜브를 더 배열할 수 있다. 일부 실시예에서, 동일한 상관관계를 갖는 그룹에 포함된 복수의 요약 객체의 튜브는 소스 비디오에서의 촬영 시간에 기초하여 배열될 수 있다. 그룹화를 통해 사용자의 주된 관심이 충족되므로, 시계열적 순서(chronological order)를 굳이 무시할 필요가 없기 때문이다.
이와 같이, 상이한 상관관계를 갖는 튜브는 최대한 구분되게 배열하여 동일한 상관관계를 갖는 그룹 간의 충돌을 최대한 방지함으로써, 상관관계에 주목하는 사용자에게 효율적인 비디오 요약을 제공할 수 있다.
요약 비디오 생성부(55)는 배열된 요약 객체의 튜브 세트 및 배경에 기초하여 요약 비디오를 생성한다. 이를 위해, 요약 비디오 생성부(55)는 선택된 요약 객체에 적합한 배경을 선택한다. 일 실시예에서, 적합한 배경은 선택된 요약 객체가 포함된 소스 비디오의 배경이다.
일부 실시예에서, 사용자 질의가 소스 비디오와 관련된 정보를 포함하는 경우, 상기 소스 비디오의 배경이 요약 비디오를 위한 배경으로 결정된다. 상기 소스 비디오의 배경은 (예컨대, 요약 요소 획득부(51) 또는 요약 비디오 생성부(55)에 의해) 배경 DB(30)로부터 검색될 수 있다.
또한, 사용자 질의가 소스 비디오의 재생 구간과 관련된 정보를 포함하는 경우, 상기 재생 구간 동안의 시간 경과에 따른 배경 변화가 상기 검색된 배경에 적용될 수 있다. 이 경우, 시간경과 배경이 요약 비디오의 배경으로 사용된다.
다른 일부 실시예에서, 비디오 요약을 생성하기 위한 배경은 요약 객체로서 획득된 소스 객체에 기초하여 획득된다. 예를 들어, 선택된 요약 객체의 튜브의 소스 비디오의 배경이 요약 비디오의 배경으로 선택된다.
다른 일 실시예에서, 적합한 배경은 요약 비디오의 배경으로 별도로 획득된 사용자 정의 배경일 수도 있다.
요약 비디오 생성부(55)는 요약 객체의 튜브와 선택된 배경을 결합하여 요약 비디오를 생성한다. 요약 비디오 생성부(55)는 요약 객체의 위치를 선택된 배경에 적용하여 요약 객체의 튜브와 선택된 배경을 스티칭할 수 있다. 상기 스티칭 동작은 적합한 다양한 스티칭 알고리즘(stitching algorithm)을 통해 수행될 수 있다.
본 발명의 일부 실시예들에서는 선택된 요약 객체에 대해 상대적으로 정확한 분할이 수행될 수 있어 (예컨대, 분할을 통해 소스 객체가 검출된 경우) 배경 불일치의 문제가 최소화될 수 있다.
요약 비디오 생성부(55)는 샘플링하도록 더 구성될 수 있다. 일 실시예에서, 사용자 질의에 의해 요약 비디오의 재생 시간이 지정된 경우, 지정된 재생 시간에서 요약 비디오를 샘플링하여 상기 비디오 요약이 지정된 재생 시간을 갖게 할 수 있다.
실시예들에 따른 비디오 요약 생성 시스템(1)을 구성하는 각각의 부(10, 11, 13, 15, 17, 20, 30, 40, 50, 51, 53, 55)는 반드시 물리적으로 구분되는 별개의 구성요소를 지칭하는 것으로 의도되지 않는다. 즉, 도 1에서 는 서로 구분되는 별개의 블록으로 도시되나, 실시예들에 따라서는 각각의 부 중 일부 또는 전부가 동일한 하나의 장치(예컨대, 데이터베이스를 포함한 서버) 내에 집적화될 수 있다. 즉, 각각의 부(10, 11, 13, 15, 17, 20, 30, 40, 50, 51, 53, 55)는 이들이 구현된 컴퓨팅 장치에서 수행하는 동작에 따라 장치를 기능적으로 구분한 것일 뿐, 반드시 각각의 부가 서로 독립적으로 구비되어야 하는 것이 아니다.
상기 비디오 요약 생성 시스템(1)이 본 명세서에 서술되지 않은 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 데이터 입력 장치, 디스플레이, 인쇄와 같은 출력 장치, 메모리와 같은 저장장치, 전기 통신을 통해 데이터를 송수신하는 송수신장치, 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다.
전술한 실시예들은 도 2에 도시된 바와 같이 사용자 질의와 관계없이 비디오를 처리하는 온라인 국면(online phase)(예컨대, 비디오 처리부10)과 사용자 질의에 응답하여 비디오 요약을 생성하는 응답 국면(response phase)로 구성되나, 본 발명의 실시예들은 이에 제한되지 않는다.
일 실시예에서, 비디오 요약 생성 시스템(1)은 사용자 질의에 응답하여 소스 비디오를 분석하고, 비디오 요약을 생성하는 단일 국면으로 이루어질 수도 있다. 이 경우, 비디오 요약 생성 시스템(1)은 사용자 질의를 수신한 경우, 소스 비디오를 저장하는 소스 DB(20)에서 소스 비디오를 획득한 뒤, 해당 소스 비디오를 분석하여 사용자 질의에 따른 비디오 요약을 생성하도록 구성된다.
본 발명의 일 측면에 따른 비디오 요약 생성 방법은 프로세서를 포함한 컴퓨팅 장치에 의해 수행될 수 있다. 일 실시예에서, 비디오 요약 생성 방법은 상기 비디오 요약 시스템(1)의 일부 또는 전부에 의해 수행될 수 있다.
도 6은, 본 발명의 일 실시예에 따른, 비디오 요약 생성 방법의 흐름도이다.
도 6을 참조하면, 비디오 요약 생성 방법은: 사용자의 질의를 수신하는 단계(S601); 소스 비디오를 객체 기반 분석하는 단계(610); 및 사용자의 비디오 요약 생성 요청에 응답하여 요약 비디오를 생성하는 단계(S650)를 포함한다.
일 실시예에서, 소스 비디오를 객체 기반 분석하는 단계(S610)는 단계(S601)의 이전에 수행될 수 있다. 이를 위한 일련의 과정들은 도 1의 시스템에 도시되어 있다.
다른 일 실시예에서, 소스 비디오를 객체 기반 분석하는 단계(S610)는 단계(S601)의 이후에 수행될 수 있다. 이를 위한 일련의 과정들은 도 1의 시스템을 변형하여 얻을 수 있다. 예를 들어, 상기 실시예를 수행하기 위한 도 1의 변형 시스템은: 상기 요약 요소 획득부(51)가 비디오 분석부(10)를 포함하며, 상기 비디오 분석부(10)의 분석 작동은 사용자 질의에 응답하여 수행되도록 구성될 수 있다.
도 7은, 본 발명의 일 실시예에 따른, 소스 비디오 분석 과정을 설명하기 위한 흐름도이다.
도 7을 참조하면, 단계(S610)는: 하나 이상의 소스 객체를 포함한 소스 비디오에서 적어도 하나의 소스 객체를 검출하는 단계(S611); 검출된 소스 객체의 움직임을 검출하는 단계(S613); 움직임이 검출된 소스 객체를 포함한 소스 객체의 튜브를 생성하는 단계(S615); 및 상기 튜브의 소스 객체에 연관된 상관관계를 결정하는 단계(S617)를 포함한다.
일 실시예에서, 단계(S611)는: 상기 소스 비디오에서 객체 검출 모델을 통해 수행된다. 여기서, 상기 객체 검출 모델은 입력 영상으로부터 객체를 검출하기 위한 특징을 추출하여 입력 영상에 포함된 객체에 대응하는 클래스를 결정하도록 미리 학습된 모델이다.
단계(S611)에서 사용되는 객체 검출 모델은 소스 객체 검출부(11)를 참조하여 위에서 상세하게 서술하였는 바, 자세한 설명은 생략한다.
일 실시예에서, 상기 단계(S610)는: 상기 소스 비디오에서 배경을 추출하는 단계(S612)를 더 포함한다. 일부 실시예에서, 단계(S612)에서, 상기 소스 비디오에서 객체를 검출함으로써 소스 비디오의 배경이 추출될 수 있다. 추출된 소스 비디오의 배경이 요약 비디오의 배경으로 사용될 수 있다. 그러나, 요약 비디오의 배경은 이에 제한되지 않는다.
단계(S612)를 수행하기 위한 배경 추출 과정은 소스 객체 검출부(11)를 참조하여 위에서 상세하게 서술하였는 바, 자세한 설명은 생략한다.
단계(S613)에서, 소스 비디오로부터 소스 객체의 움직임 여부, 속도(velocity), 속력(speed), 및 방향(direction) 중 적어도 하나를 포함하는 액티비티 정보가 산출된다.
상기 추적 정보가 산출된 소스 비디오의 프레임은 액티비티가 나타난 프레임으로서, 소스 객체의 튜브의 적어도 일부로 사용된다.
일 실시예에서, 상기 소스 객체의 액티비티를 나타낸 프레임의 서브세트, 또는 액티비티를 나타낸 프레임의 서브세트와 소스 객체를 나타낸 프레임의 서브세트의 조합에 기초하여 소스 객체의 튜브를 생성한다(S615).
일부 실시예에서, 상기 소스 객체의 튜브는, 상기 소스 비디오의 프레임 내 소스 객체를 포함한 영역을 필터링함으로써, 상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브일 수 있다(S615).
단계(S615)의 튜브 생성 과정은 튜브 생성부(15)를 참조하여 위에서 상세하게 서술하였는 바, 자세한 설명은 생략한다.
일 실시예에서, 입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된 상관관계 결정 모델을 통해 상기 튜브의 소스 객체에 연관된 상관관계를 결정할 수 있다(S617). 여기서, 상관관계와 연관되는지 고려되는 객체는 튜브의 소스 객체이다.
일부 실시예에서, 상기 상관관계 결정 모델은: 제1 객체를 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제1 특징을 추출하고, 상기 제1 객체를 포함한 영역 및 다른 영역을 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제2 특징을 추출하며, 상기 제1 특징 및 제2 특징에 기초하여 상기 제1 객체에 연관된 상관관계를 결정하도록 구성된 모델일 수 있다. 여기서, 다른 영역은 상기 소스 비디오에서 상기 제1 객체와 상이한 제2 객체를 포함한 영역, 또는 배경을 포함한다.
다른 일부 실시예에서, 상기 상관관계 결정 모델은: 입력 영상에서 상기 특정 객체의 행동을 검출하는 행동 검출 네트워크; 및 입력 영상에서 특징을 추출하여 행동하는 객체와 상이한 객체를 검출하는 객체 검출 네트워크를 포함할 수 있다. 여기서, 상기 행동 검출 네트워크는 영상에 나타난 행동의 클래스를 결정하기 위한 특징을 추출하도록 구성되며, 상기 객체 검출 네트워크는 영상에 나타난 객체의 클래스를 결정하기 위한 특징을 추출하도록 구성된다.
단계(S617)의 상관관계 결정 모델은 도 2 및 도 3을 참조하여 위에서 상세하게 서술하였는 바, 자세한 설명은 생략한다.
일 실시예에서, 상기 소스 객체의 튜브에는 상기 소스 객체의 검출에 따른 소스 객체 관련 정보 또는 소스 비디오 관련 정보, 그리고 상기 튜브의 소스 객체에 연관된 것으로 결정된 상관관계 중 하나 이상이 라벨링될 수 있다.
도 8은, 본 발명의 일 실시예에 따른, 요약 비디오 생성 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 단계(S650)는: 사용자 질의에 대응하는 튜브를 선택하는 단계(S651); 선택된 객체의 튜브(즉, 요약 객체로서 선택된 소스 객체의 튜브)를 배열하는 단계(S653); 및 배열된 튜브 및 배경에 기초하여 요약 비디오를 생성하는 단계(S655)를 포함한다.
단계(S651)에서, 사용자 질의에 대응하는 튜브는 사용자 질의에 포함된 요약 상관관계에 대응한 상관관계에 연관된, 사용자 질의에 포함된 요약 객체에 대응한 소스 객체의 튜브이다.
일 실시예에서, 상기 사용자 질의에 대응하는 튜브는: 검출된 소스 객체에서 요약 객체에 대응하는 소스 객체를 결정하고, 상기 선택된 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계에 연관된 소스 객체를 필터링함으로써 선택된다(S651).
단계(S653)에서 선택된 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하여, 단계(S651)에서 선택된 튜브가 배열된다.
일 실시예에서, 상기 선택된 튜브를 배열하는 단계는: 상기 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성하는 단계; 및 각 그룹 간의 충돌을 최소화을 최소화함으로써 배열하도록 각 그룹의 시작 지점을 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 선택된 튜브를 배열하는 단계는: 동일한 그룹 내 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 튜브의 시작 지점을 결정하는 단계를 더 포함할 수 있다.
단계(S655)에서, 배열된 요약 객체의 튜브 및 배경에 기초하여 요약 비디오가 생성된다.
일 실시예에서, 단계(S655)는: 상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브를 상기 소스 비디오의 배경과 스티칭하는 단계를 포함할 수 있다.
일 실시예에서, 단계(S655)는: 상기 요약 비디오의 재생 속도를 샘플링하는 단계를 더 포함할 수 있다.
단계(S651 내지 S655)에 대한 설명은 비디오 요약 생성부(50)을 참조하여 위에서 상세하게 서술하였는 바, 자세한 설명은 생략한다.
이와 같이, 비디오 요약 생성 방법 및 이를 위한 시스템(1)은 소스 비디오를 객체 기반 분석하여 소스 객체를 검출할 수 있다. 또한 소스 객체의 움직임도 검출할 수 있다. 그리고 소스 객체, 움직임, 그리고 소스 객체에 연관된 상관관계에 기초하여 비디오 요약을 생성하기 위해 요약 객체의 튜브로 사용되는 튜브를 선택할 수 있다.
그 결과, 사용자의 니즈에 보다 부합하는 사용자 맞춤형 비디오 요약을 제공할 수 있다.
이상에서 설명한 실시예들에 따른 비디오 요약 생성 방법 및 이를 위한 시스템(1)에 의한 작동(operation)은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 작동, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다.
상기 컴퓨터는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북, 스마트 폰, 또는 이와 유사한 것과 같은 컴퓨팅 장치일 수도 있고 통합될 수도 있는 임의의 장치일 수 있다. 컴퓨터는 하나 이상의 대체적이고 특별한 목적의 프로세서, 메모리, 저장공간, 및 네트워킹 구성요소(무선 또는 유선 중 어느 하나)를 가지는 장치다. 상기 컴퓨터는 예를 들어, 마이크로소프트의 윈도우와 호환되는 운영 체제, 애플 OS X 또는 iOS, 리눅스 배포판(Linux distribution), 또는 구글의 안드로이드 OS와 같은 운영체제(operating system)를 실행할 수 있다.
상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장신원확인 장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
최근 지능형 CCTV 시스템 등 영상 감시 장비에 대한 기술 고도화 및 활용도가 지속적으로 증가하고 있는 추세이다. 4차 산업 기술 중 하나인 기계 학습 기반의 상관관계 결정 모델을 통해 소스 비디오의 상관간계를 분석함으로써 사용자가 보기를 희망하는 특정 상관관계가 반영된 비디오 요약을 생성할 수 있는, 본 발명의 일 측면에 따른 비디오 요약 생성 시스템은: 최소한의 정보를 통해 최대의 효율, 편의성을 얻을 수 있어, 해당 시장으로의 접근이 용이하며 파급효과가 클 것으로 예상된다.

Claims (46)

  1. 비디오 요약 생성 시스템에 있어서,
    하나 이상의 객체를 포함한 소스 비디오에서 적어도 하나의 소스 객체를 검출하는 소스 객체 검출부;
    소스 비디오에서 소스 객체의 움직임을 검출하는 움직임 검출부;
    움직임이 검출된 소스 객체를 포함한 소스 객체의 튜브를 생성하는 튜브 생성부;
    상기 튜브의 소스 객체에 연관된 상관관계를 결정하는 장면 이해부; 및
    결정된 상관관계에 연관되는 소스 객체의 튜브에 기초하여 비디오 요약을 생성하는 비디오 요약 생성부를 포함하는 비디오 요약 생성 시스템.
  2. 제1항에 있어서, 상기 소스 객체 검출부는,
    객체 검출 모델을 통해 소스 객체를 검출하며,
    상기 객체 검출 모델은 입력 영상으로부터 객체를 검출하기 위한 특징을 추출하여 입력 영상에 포함된 객체에 대응하는 클래스를 결정하도록 미리 학습된 것을 특징으로 하는 비디오 요약 생성 시스템.
  3. 제2항에 있어서, 상기 객체 검출 모델은,
    상기 입력 영상 내 객체가 위치하는 것으로 제안되는 영역을 설정하고, 설정된 영상에서 상기 특징을 추출하여 상기 영역 내 객체의 클래스를 결정하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  4. 제2항에 있어서, 상기 객체 검출 모델은,
    상기 입력 영상에서 객체를 검출하기 위한 특징을 추출하고 각 픽셀이 속하는 클래스를 결정함으로써, 소스 객체를 검출하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  5. 제4항에 있어서, 상기 객체 검출 모델은,
    상기 입력 영상 내 객체의 위치를 검출하여 관심영역을 결정하는 제1 서브 모델; 및
    상기 관심영역에 포함된 객체를 마스킹하는 제2 서브 모델을 포함하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  6. 제1항에 있어서, 상기 소스 객체 검출부는,
    상기 소스 비디오에서 배경을 추출하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  7. 제6항에 있어서, 상기 소스 객체 검출부는,
    배경으로 간주되는 하나 이상의 클래스를 각 픽셀별로 결정하는 배경 검출 모델을 통해 배경을 추출하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  8. 제6항에 있어서, 상기 소스 객체 검출부는,
    상기 소스 비디오에서 소스 객체가 차지하는 영역을 절단(cut)함으로써 배경을 추출하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  9. 제6항에 있어서,
    추출된 소스 비디오의 배경을 저장하는 배경 DB를 더 포함하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  10. 제1항에 있어서, 상기 움직임 검출부는,
    특정 소스 객체가 검출된 프레임의 서브 세트에서 상기 특정 객체를 추적하여 소스 객체의 추적 정보를 산출하도록 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  11. 제1항에 있어서, 상기 소스 객체의 추적 정보는,
    추적 정보추적 정보움직임 여부, 속도(velocity), 속력(speed), 및 방향(direction) 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  12. 제1항에 있어서, 상기 튜브 생성부는,
    소스 객체의 액티비티를 나타낸 프레임의 서브세트, 또는 소스 객체의 액티비티를 나타낸 프레임의 서브세트와 소스 객체를 나타낸 프레임의 서브세트의 조합에 기초하여 소스 객체의 튜브를 생성하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  13. 제12항에 있어서, 상기 튜브 생성부는,
    상기 소스 비디오의 프레임 내 소스 객체를 포함한 영역을 필터링하고,
    상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브를 생성하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  14. 제13항에 있어서, 상기 튜브 생성부는,
    상기 소스 객체의 검출 결과 상기 소스 객체를 포함한 영상 영역이 추출된 경우, 필터링을 대신하여 상기 추출된 영상 영역으로 상기 소스 객체의 튜브를 생성하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  15. 제1항에 있어서, 상기 장면 이해부는,
    입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된 상관관계 결정 모델을 통해 상기 튜브의 소스 객체에 연관된 상관관계를 결정하도록 구성되며,
    상기 상관관계 결정 모델은 컨볼루션 네트워크(convolution network)를 포함한 것을 특징으로 하는 비디오 요약 생성 시스템.
  16. 제15항에 있어서, 상기 상관관계 결정 모델은,
    상기 상관관계를 야기하는 동작(action)의 주체로서 객체에 연관 가능한 상관관계 클래스가 미리 지정되도록 학습된 것을 특징으로 하는 비디오 요약 생성 시스템.
  17. 제16항에 있어서, 상기 상관관계 결정 모델은,
    제1 객체를 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제1 특징을 추출하고,
    상기 제1 객체를 포함한 영역 및 다른 영역을 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제2 특징을 추출하며,
    상기 제1 특징 및 제2 특징에 기초하여 상기 제1 객체에 연관된 상관관계를 결정하도록 더 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  18. 제17항에 있어서, 상기 다른 영역은
    상기 제1 객체와 상이한 제2 객체를 포함한 영역 또는 배경을 포함한 것을 특징으로 하는 비디오 요약 생성 시스템.
  19. 제17항에 있어서, 상기 제1 특징은,
    상기 소스 객체를 검출하기 위해 추출된 특징인 것을 특징으로 하는 비디오 요약 생성 시스템.
  20. 제15항에 있어서, 상기 상관관계 결정 모델은,
    상관관계를 야기하는 동작의 주체인 특정 객체의 행동을 검출하고, 상기 상관관계에 연관되는 다른 요소를 검출하여 상기 상관관계의 클래스를 결정하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  21. 제20항에 있어서, 상기 상관관계 결정 모델은,
    입력 영상에서 상기 특정 객체의 행동을 검출하는 행동 검출 네트워크; 및 입력 영상에서 특징을 추출하여 행동하는 객체와 상이한 객체를 검출하는 객체 검출 네트워크를 포함하며,
    상기 행동 검출 네트워크는 영상에 나타난 행동의 클래스를 결정하기 위한 특징을 추출하도록 구성되며,
    상기 객체 검출 네트워크는 영상에 나타난 객체의 클래스를 결정하기 위한 특징을 추출하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  22. 제21항에 있어서,
    상기 행동의 클래스를 결정하기 위한 특징은 포즈 특징을 포함하며,
    상기 객체의 클래스를 결정하기 위한 특징은 외관 특징을 포함하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  23. 제21항에 있어서, 상기 상관관계 결정 모델은,
    상기 행동 검출 네트워크에서 산출된 값의 세트 및 상기 객체 검출 네트워크에서 산출된 값의 세트를 연결(link)하여 상관관계 행렬을 생성하고,
    상기 상관관계 행렬의 요소에서 가장 큰 값을 갖는 요소의 행(row)과 열(column)에 해당하는 행동 및 객체에 기초하여 상기 입력 영상에서 특정 객체에 연관된 상관관계를 결정하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  24. 제1항에 있어서, 상기 튜브 생성부는,
    상기 소스 객체의 검출에 따른 소스 객체 관련 정보 또는 소스 비디오 관련 정보, 그리고 상기 튜브의 소스 객체에 연관된 것으로 결정된 상관관계 중 하나 이상을 상기 소스 객체의 튜브에 라벨링하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  25. 제24항에 있어서,
    상기 소스 객체의 튜브 및 라벨링된 데이터 중 하나 이상을 저장하는 소스 DB를 더 포함하는 것을 특징으로 하는 비디오 요약 생성 시스템.
  26. 제1항에 있어서, 상기 비디오 요약 생성부는,
    요약에 요구될 요약 객체 및 요약 상관관계를 포함한 사용자 질의에 응답하여 비디오 요약을 생성하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  27. 제26항에 있어서, 상기 비디오 요약 생성부는,
    검출된 소스 객체에서 요약 객체에 대응하는 소스 객체를 결정하고,
    상기 선택된 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계에 연관된 소스 객체를 필터링하여 상기 비디오 요약을 생성하기 위한 소스 객체를 선택하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  28. 제26항에 있어서, 상기 비디오 요약 생성부는,
    선택된 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  29. 제26항에 있어서, 상기 비디오 요약 생성부는,
    상기 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성하고, 그리고
    각 그룹 간의 충돌을 최소화함으로써 배열하도록 각 그룹의 시작 지점을 결정하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  30. 제29항에 있어서, 상기 비디오 요약 생성부는,
    소스 비디오에서의 촬영 시간에 기초하여 동일한 그룹 내 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  31. 제26항에 있어서, 상기 비디오 요약 생성부는,
    배열된 요약 객체의 튜브 및 배경에 기초하여 요약 비디오를 생성하도록 구성된 것을 특징으로 하는 비디오 요약 생성 시스템.
  32. 제31항에 있어서, 상기 비디오 요약 생성부는,
    상기 소스 비디오의 배경의 적어도 일부가 제거된 소스 객체의 튜브를 상기 소스 비디오의 배경과 스티칭(stitching)하도록 더 구성되는 것을 특징으로 하는 비디오 요약 생성 시스템.
  33. 프로세서를 포함한 컴퓨팅 장치에 의해 수행되는, 소스 비디오에서 검출된 소스 객체의 튜브 및 상관관계를 사용한 비디오 요약 생성 방법에 있어서,
    요약에 요구될 요약 객체 및 요약 상관관계를 포함한 사용자 질의를 수신하는 단계;
    상기 사용자 질의에 대응하는 소스 객체 및 상관관계를 획득하는 단계;
    상기 사용자 질의에 대응하는 상관관계에 연관된 소스 객체를 요약을 위한 튜브로 선택하고, 선택된 튜브를 배열하는 단계; 및
    선택된 튜브 및 배경에 기초하여 비디오 요약을 생성하는 단계를 포함하는 비디오 요약 생성 방법.
  34. 제33항에 있어서,
    상기 소스 객체는 상기 소스 비디오에서 객체 검출 모델을 통해 검출되며,
    상기 객체 검출 모델은 입력 영상으로부터 객체를 검출하기 위한 특징을 추출하여 입력 영상에 포함된 객체에 대응하는 클래스를 결정하도록 미리 학습된 것을 특징으로 하는 비디오 요약 생성 방법.
  35. 제34항에 있어서, 상기 배경은,
    상기 소스 비디오에서 객체를 검출함으로써 추출된 소스 비디오의 배경을 포함하는 것을 특징으로 하는 비디오 요약 생성 방법.
  36. 제34항에 있어서, 상기 소스 객체의 튜브는,
    상기 소스 객체의 액티비티를 나타낸 프레임의 서브세트, 또는 액티비티를 나타낸 프레임의 서브세트와 소스 객체를 나타낸 프레임의 서브세트의 조합에 기초하여 생성된 것을 특징으로 하는 비디오 요약 생성 방법.
  37. 제35항에 있어서, 상기 액티비티를 나타낸 프레임은,
    움직임 여부, 속도(velocity), 속력(speed), 및 방향(direction) 중 적어도 하나를 포함하는 추적 정보에 기초하여 결정되는 것을 특징으로 하는 비디오 요약 생성 방법.
  38. 제35항에 있어서, 상기 소스 객체의 튜브는,
    상기 소스 비디오의 프레임 내 소스 객체를 포함한 영역을 필터링함으로써 생성된 것을 특징으로 하는 비디오 요약 생성 방법.
  39. 제35항에 있어서, 상기 소스 객체의 튜브는,
    상기 소스 객체의 검출 결과 상기 소스 객체를 포함한 영상 영역이 추출된 경우, 필터링을 대신하여 상기 추출된 영상 영역으로 생성된 것을 특징으로 하는 비디오 요약 생성 방법.
  40. 제33항에 있어서, 상기 상기 튜브의 소스 객체에 연관된 상관관계는,
    입력 영상에 포함된 객체에 연관된 상관관계를 결정하도록 미리 학습된 상관관계 결정 모델을 통해 결정된 것을 특징으로 하는 비디오 요약 생성 방법.
  41. 제40항에 있어서, 상기 상관관계 결정 모델은,
    제1 객체를 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제1 특징을 추출하고,
    상기 제1 객체를 포함한 영역 및 다른 영역을 포함한 크기를 갖는 영상을 입력 영상으로 수신하여 제2 특징을 추출하며,
    상기 제1 특징 및 제2 특징에 기초하여 상기 제1 객체에 연관된 상관관계를 결정하도록 구성된 것을 특징으로 하는 비디오 요약 생성 방법.
  42. 제40항에 있어서, 상기 상관관계 결정 모델은,
    입력 영상에서 상기 특정 객체의 행동을 검출하는 행동 검출 네트워크; 및 입력 영상에서 특징을 추출하여 행동하는 객체와 상이한 객체를 검출하는 객체 검출 네트워크를 포함하며,
    상기 행동 검출 네트워크는 영상에 나타난 행동의 클래스를 결정하기 위한 특징을 추출하도록 구성되며,
    상기 객체 검출 네트워크는 영상에 나타난 객체의 클래스를 결정하기 위한 특징을 추출하도록 구성된 것을 특징으로 하는 비디오 요약 생성 방법.
  43. 제33항에 있어서, 상기 사용자 질의에 대응하는 상관관계에 연관된 소스 객체를 선택하는 단계는,
    검출된 소스 객체에서 요약 객체에 대응하는 소스 객체를 결정하는 단계; 및
    상기 선택된 소스 객체에서 상기 요약 상관관계에 대응하는 상관관계에 연관된 소스 객체를 필터링하여 상기 비디오 요약을 생성하기 위한 소스 객체를 선택하는 단계를 포함하는 비디오 요약 생성 방법.
  44. 제33항에 있어서, 상기 선택된 튜브를 배열하는 단계는,
    선택된 요약 객체의 튜브 간의 충돌(collision)을 최소화함으로써 상기 선택된 요약 객체의 튜브의 시작 지점을 결정하는 단계를 포함하는 비디오 요약 생성 방법.
  45. 제33항에 있어서, 상기 선택된 튜브를 배열하는 단계는,
    상기 사용자 질의에 복수의 요약 상관관계가 포함된 경우, 동일한 요약 상관관계를 갖는 튜브를 그룹화하여 상관관계별 그룹을 생성하는 단계; 및
    각 그룹 간의 충돌을 최소화을 최소화함으로써 배열하도록 각 그룹의 시작 지점을 결정하는 단계를 포함하는 비디오 요약 생성 방법.
  46. 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 제33항 내지 제45항 중 어느 하나의 항에 따른 비디오 요약 생성 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.
KR1020190114149A 2019-09-17 2019-09-17 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템 KR102271929B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190114149A KR102271929B1 (ko) 2019-09-17 2019-09-17 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템
US16/995,835 US11620335B2 (en) 2019-09-17 2020-08-18 Method for generating video synopsis through scene understanding and system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114149A KR102271929B1 (ko) 2019-09-17 2019-09-17 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20210032745A true KR20210032745A (ko) 2021-03-25
KR102271929B1 KR102271929B1 (ko) 2021-07-02

Family

ID=74869664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114149A KR102271929B1 (ko) 2019-09-17 2019-09-17 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템

Country Status (2)

Country Link
US (1) US11620335B2 (ko)
KR (1) KR102271929B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277626B2 (en) 2020-02-21 2022-03-15 Alibaba Group Holding Limited Region of interest quality controllable video coding techniques
US11388423B2 (en) 2020-03-23 2022-07-12 Alibaba Group Holding Limited Region-of-interest based video encoding
US20230206615A1 (en) * 2021-12-29 2023-06-29 Halliburton Energy Services, Inc. Systems and methods to determine an activity associated with an object of interest
CN114390365B (zh) * 2022-01-04 2024-04-26 京东科技信息技术有限公司 用于生成视频信息的方法和装置
CN116071690B (zh) * 2023-04-03 2023-06-09 江西师范大学 一种基于场景关键帧的情景特征提取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082963A (ko) 2005-11-15 2008-09-12 이슘 리서치 디벨롭먼트 컴퍼니 오브 더 히브루 유니버시티 오브 예루살렘 비디오 시놉시스 생성 방법 및 시스템
KR20090117771A (ko) 2007-02-01 2009-11-12 이섬 리서치 디벨러프먼트 컴파니 오브 더 히브루 유니버시티 오브 예루살렘 비디오 인덱싱 및 비디오 시놉시스 방법 및 시스템
KR101805018B1 (ko) * 2016-07-08 2017-12-06 한양대학교 산학협력단 컴팩트 비디오 생성 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8488839B2 (en) * 2006-11-20 2013-07-16 Videosurf, Inc. Computer program and apparatus for motion-based object extraction and tracking in video
KR20150087034A (ko) 2014-01-21 2015-07-29 한국전자통신연구원 객체-콘텐츠 부가정보 상관관계를 이용한 객체 인식장치 및 그 방법
KR102147100B1 (ko) 2018-04-04 2020-08-25 한국과학기술연구원 복수의 영상 장비를 사용하여 관심 객체 식별에 의한 비디오 요약을 생성하는 방법 및 이를 수행하는 시스템
KR20190121549A (ko) 2018-04-18 2019-10-28 한국전자통신연구원 영상 내 객체의 의미론적 분석 및 인식 방법과 장치
US10958854B2 (en) * 2018-11-02 2021-03-23 BriefCam Ltd. Computer-implemented method for generating an output video from multiple video sources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082963A (ko) 2005-11-15 2008-09-12 이슘 리서치 디벨롭먼트 컴퍼니 오브 더 히브루 유니버시티 오브 예루살렘 비디오 시놉시스 생성 방법 및 시스템
KR20090117771A (ko) 2007-02-01 2009-11-12 이섬 리서치 디벨러프먼트 컴파니 오브 더 히브루 유니버시티 오브 예루살렘 비디오 인덱싱 및 비디오 시놉시스 방법 및 시스템
KR101805018B1 (ko) * 2016-07-08 2017-12-06 한양대학교 산학협력단 컴팩트 비디오 생성 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
US20210081676A1 (en) 2021-03-18
KR102271929B1 (ko) 2021-07-02
US11620335B2 (en) 2023-04-04

Similar Documents

Publication Publication Date Title
Wu et al. Not only look, but also listen: Learning multimodal violence detection under weak supervision
KR102271929B1 (ko) 장면 이해를 통해 비디오 요약을 생성하는 방법 및 이를 위한 시스템
Elharrouss et al. A combined multiple action recognition and summarization for surveillance video sequences
Ballan et al. Event detection and recognition for semantic annotation of video
Dong et al. Multi-stream deep networks for person to person violence detection in videos
Xu et al. Video structured description technology based intelligence analysis of surveillance videos for public security applications
Fan et al. A survey of crowd counting and density estimation based on convolutional neural network
US20190294881A1 (en) Behavior recognition
KR102147100B1 (ko) 복수의 영상 장비를 사용하여 관심 객체 식별에 의한 비디오 요약을 생성하는 방법 및 이를 수행하는 시스템
Asad et al. Multi-frame feature-fusion-based model for violence detection
KR102374776B1 (ko) Cctv의 위치 정보 및 객체의 움직임 정보에 기초한 타겟 객체 재식별 시스템 및 방법
Yu et al. Remotenet: Efficient relevant motion event detection for large-scale home surveillance videos
Wang et al. Video event detection using motion relativity and feature selection
US11256945B2 (en) Automatic extraction of attributes of an object within a set of digital images
Ul Haq et al. An effective video summarization framework based on the object of interest using deep learning
Yan et al. A comprehensive study of visual event computing
Meena et al. A review on video summarization techniques
Negi et al. Object detection based approach for an efficient video summarization with system statistics over cloud
Ehsan et al. An accurate violence detection framework using unsupervised spatial–temporal action translation network
Victor et al. Federated learning for physical violence detection in videos
Chamasemani et al. A framework for automatic video surveillance indexing and retrieval
Chen et al. Target-driven video summarization in a camera network
Cheng et al. Latent semantic learning with time-series cross correlation analysis for video scene detection and classification
Hu et al. MmFilter: Language-guided video analytics at the edge
Choe et al. Semantic video-to-video search using sub-graph grouping and matching

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant