KR102462572B1 - 기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법 - Google Patents

기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법 Download PDF

Info

Publication number
KR102462572B1
KR102462572B1 KR1020187029424A KR20187029424A KR102462572B1 KR 102462572 B1 KR102462572 B1 KR 102462572B1 KR 1020187029424 A KR1020187029424 A KR 1020187029424A KR 20187029424 A KR20187029424 A KR 20187029424A KR 102462572 B1 KR102462572 B1 KR 102462572B1
Authority
KR
South Korea
Prior art keywords
sub
scene
region
training
classifier
Prior art date
Application number
KR1020187029424A
Other languages
English (en)
Other versions
KR20180135898A (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 모토로라 솔루션즈, 인크.
Publication of KR20180135898A publication Critical patent/KR20180135898A/ko
Application granted granted Critical
Publication of KR102462572B1 publication Critical patent/KR102462572B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • G06K9/6227
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping

Landscapes

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

Abstract

컴퓨터 구현 객체 분류기를 훈련시키는 시스템 및 방법은, 장면의 서브 영역내에서 전경 가시적 객체를 검출하고, 장면의 서브 영역의 배경 모델 - 배경 모델은 전경 가시적 객체가 없을 때의 서브 영역을 나타냄 - 을 결정하며, 서브 영역의 배경 모델을 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 포함한다.

Description

기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법
본 발명은 가시적 객체(visual object)의 분류에 관한 것으로, 보다 구체적으로는, 네거티브 훈련 견본(negative training examples)로서 검출된 전경 가시적 객체(detected foreground visual object)의 배경 모델(background model)을 이용하여 컴퓨터-구현 객체 분류기(computer-implemented object classifier)를 훈련시키는 것에 관한 것이다.
컴퓨터 구현 가시적 객체 분류는 또한 객체 인식이라고 지칭되며 카메라에 의해 포착된 정지 영상들(still images) 또는 움직임 비디오(motion videos)에서 발견되는 실제 객체들의 가시적 표현들을 분류하는 것과 관련된다. 가시적 객체 분류를 실행함으로써, 정지 영상 또는 움직임 비디오에서 발견되는 각각의 가시적 객체는 그의 유형(예를 들어, 인간, 자동차, 동물)에 따라 분류된다.
자동화된 보안 및 감시 시스템들은, 전형적으로, 영상 데이터를 수집하기 위하여 비디오 카메라들 또는 다른 영상 포착 디바이스들이나 센서들을 채용한다. 가장 간단한 시스템에서는, 영상 데이터에 의해 표현되는 영상들이 보안 요원들에 의한 동시 스크리닝(contemporaneous screening)을 위해 디스플레이되거나/되고 보안 침해(security breach) 후 추후 참조를 위해 기록된다. 이들 시스템에서는, 관심있는 가시적 객체를 검출하고 분류하는 작업이 인간 관찰자에 의해 실행된다. 시스템 그 자체가 부분적으로 또는 완전하게 객체 검출 및 분류를 실행할 수 있을 때 상당한 진전이 이루어진다.
전형적인 감시 시스템에서는, 예를 들어, 자연 환경을 통해 움직이는 사람, 자동차, 동물들과 같은 객체들을 검출하는데 관심이 있을 수 있다. 서로 다른 객체들은 서로 다른 위협들이나 경계 레벨들을 지닐 수 있다. 예를 들어, 장면에 있어서의 동물은 일상적인 것일 수 있지만, 그 장면에 있어서의 사람 또는 자동차는 경계 대상이어서 경비원의 즉각적인 주의를 필요로 할 수 있다. 카메라에 의해 포착된 영상 데이터에 의해 표현되는 영상들에 있어서의 객체의 자동화된 컴퓨터 구현 검출 분류는 보안 요원의 스크리닝 작업 및 영상 데이터의 기록을 개선하는 작업을 상당히 용이하게 할 수 있다.
본 명세서에서 설명되는 실시 예들은, 일 측면에 있어서, 컴퓨터-구현 객체 분류기를 훈련시키는 방법을 제공한다. 그 방법은 장면의 서브 영역내에서 전경 가시적 객체를 검출하고, 장면의 서브 영역의 배경 모델 - 배경 모델은 임의 전경 가시적 객체가 없을 때의 서브 영역을 나타냄 - 을 결정하며, 서브 영역의 배경 모델을 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 포함한다.
본 명세서에서 설명되는 실시 예들은, 다른 측면에 있어서, 컴퓨터 구현 객체 분류기를 제공한다. 그 시스템은, 프로세서; 프로세서에 의해 실행될 때 시스템이 장면의 서브 영역내에서 전경 가시적 객체를 검출하고, 장면의 서브 영역의 배경 모델 - 배경 모델은 임의 전경 가시적 객체가 없을 때의 서브 영역을 나타냄 - 을 결정하며, 서브 영역의 배경 모델을 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 포함하는 동작을 실행할 수 있게 하는 프로그램 명령들을 저장하는 컴퓨터-판독 가능 저장 디바이스를 포함한다.
일부 예시적인 실시 예에 따르면, 그 방법 및/또는 시스템들은 검출된 전경 가시적 객체를 포티지브 훈련 견본으로서 이용하여 기계 학습으로 객체 분류기를 훈련시키는 것을 추가로 포함한다.
일부 예시적인 실시 예들에 따르면, 장면의 서브 영역의 배경 모델을 결정하는 것은, 장면에 서브 영역에 대응하는 이력 영상 프레임(historical image frame)의 서브 영역에 임의 전경 객체가 없을 때 포착된 이력 영상 프레임을 선택하고, 장면의 서브 영역에 대응하는 서브 영역을 이력 영상 프레임으로부터 크로핑(cropping)하는 것을 포함하되, 크로핑된 영상 프레임은 장면의 서브 영역의 배경 모델이다.
일부 예시적인 실시 예들에 따르면, 장면의 서브 영역의 배경 모델을 결정하는 것은, 복수의 이력 영상 프레임들의 각 프레임내에서 임의 전경 객체가 없는 하나 이상의 서브 영역들을 결정하고, 복수의 이력 영상 프레임으로부터 하나 이상의 서브 영역들을 결집시켜 전체 장면을 나타내는 완전한 배경 영상을 형성하며, 완전한 배경 영상으로부터 장면의 서브 영역에 대응하는 서브 영역을 크로핑하는 것을 포함하되, 크로핑된 완전한 배경 영상은 장면의 서브 영역의 배경 모델이다.
일부 예시적인 실시 예들에 따르면, 복수의 이력 영상 프레임으로부터 하나 이상의 서브 영역을 결집시키는 것은 하나 이상의 서브 영역을 봉합(stitching)하여 전체 장면을 나타내는 영상을 형성하는 것을 구비한다.
일부 예시적인 실시 예에 따르면, 객체 분류기는 특히 현재 장면에 대해 훈련된다.
일부 예시적인 실시 예에 따르면, 현재 장면이 새로운 장면으로 변경되면, 현재 장면에 특정되는 훈련없이 객체 분류기로 환원시키고, 새로운 장면으로부터의 배경 모델을 이용하여 기계 학습으로 객체 분류기를 훈련시킨다.
일부 예시적인 실시 예에 따르면, 객체 분류기는 부분적으로 지도 학습(supervised learning)을 이용하여 마련된다.
일부 예시적인 실시 예에 따르면, 컴퓨터 구현 기계 학습은 콘볼루션 신경 네트워크, 서프트 벡터 기계(support vector machine), 결정 트리(decision tree), 랜덤 포레스트(random forest) 및 다단계 분류기(cascade classifier)로부터 선택된다.
일부 예시적인 실시 예에 따르면, 그 방법 및/또는 시스템은 장면의 잘못 분류된 서브 영역을 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 추가로 포함한다.
상세한 설명은 이하의 도면을 참조한다.
도 1a는 예시적인 실시 예에 따른 비디오 포착 및 재생 시스템의 접속된 디바이스들의 블럭도이다.
도 1b는 하나의 예시적인 실시 예에 따른 비디오 포착 및 재생 시스템의 동작 모듈들의 세트의 블럭도이다.
도 1c는 하나의 예시적인 실시 예에 따른 하나의 디바이스내에 구현된 동작 모듈들의 세트의 블럭도이다.
도 2는 영상 데이터에 대해 비디오 분석을 실행하는 방법의 예시적인 실시 예의 흐름도이다.
도 3a는 하나의 예시적인 실시 예에 따른 비디오 분석 모듈의 동작 서브-모듈들의 세트의 블럭도이다.
도 3b는 하나의 예시적인 실시 예에 따른 객체 분류 모듈의 복수의 객체 분류기를 도시한 도면이다.
도 4는 기본 분류기의 추가 훈련을 위한 본 기술 분야에 알려진 방법의 흐름도이다.
도 5는 하나의 예시적인 실시 예에 따른 기본 분류기의 추가 훈련을 위한 개선된 컴퓨터 구현 방법의 흐름도이다.
도 6a는 검출된 전경 가시적 객체들과 그들의 대응하는 배경 모델들을 가진 장면들의 서브 영역들을 도시한 도면이다.
도 7a는 장면의 예시를 나타내는 제 1 전체 이력 영상 프레임(full historical image frame)을 도시한 도면이다.
도 7b는 장면의 예시를 나타내는 제 2 전체 이력 영상 프레임을 도시한 도면이다.
도 8은 대안적인 예시적인 실시 예에 따른 기본 분류기의 추가 훈련을 위한 개선된 컴퓨터 구현 방법의 흐름도이다.
도 9는 하나의 예시적인 실시 예에 따른 기본 분류기의 장면 지정적 훈련을 위한 개선된 컴퓨터 구현 방법의 흐름도이다.
설명의 간결성과 명확성을 위해 도면에 도시된 소자들은 축척으로 도시되지 않았음을 알 것이다. 예를 들어, 일부 소자들의 치수들은 명확성을 위해 다른 소자들에 비해 과장될 수 있다. 또한, 적절하다고 생각될 경우 대응하는 또는 유사한 소자들을 나타내도록 도면들간에 참조 번호들이 반복될 수 있다.
본 명세서에 설명된 예시적인 실시 예의 철저한 이해를 제공하기 위하여 많은 특정의 세부 사항들이 설명된다. 그러나, 본 기술 분야의 숙련자라면, 본 명세서에 설명된 실시 예들이 이들 특정 세부 설명없이 실행될 수 있음을 알 것이다. 다른 예시에 있어서, 알려진 방법들, 절차들 및 부품들은 본 명세서에 설명된 실시 예들이 모호하게 되지 않도록 상세하게 설명하지 않았다. 또한, 본 설명은 본 명세서에 설명된 실시 예들의 범주를 임의 방식으로 제한하기 위한 것이 아니라, 단지 본 명세서에 설명된 여러 실시 예들의 구현을 설명하기 위한 것으로 간주되어야 한다.
이하의 설명에서는 "상부", "하부", "상향", "하향", "수직적으로" 및 "측방향으로"와 같은 방향을 나타내는 용어가 단지 상대적인 참조를 위해 이용되며, 임의 물품이 이용중에 배치되거나 어셈블리로 실장되거나 또는 임의 환경과 관련되는 방법의 제한을 제안하기 위한 것이 아니다.
용어, "측면", "일 실시 예", "실시 예", "실시 예들", "그 실시 예", "그 실시 예들", "하나 이상의 실시 예들", "일부 실시 예들", "특정 실시 예들", "하나의 실시 예", "다른 실시 예" 등은, 명확하게 다르게 특정된 것이 아니라면, 개시된 발명(들)의 하나 이상(전부는 아님)의 실시 예들을 의미한다. 실시 예를 설명하는데 있어서 "다른 실시 예" 또는 "다른 측면"에 대한 참조가, 명확하게 다르게 특정된 것이 아니라면, 참조된 실시 예와 다른 실시 예(예를 들어, 참조된 실시 예 전에 설명된 실시 예)가 상호 배타적임을 암시하는 것이 아니다.
용어 "포함하는", "구비하는" 및 그의 변형은, 명확하게 다르게 특정된 것이 아니라면, "포함하되 그에 국한되는 것은 아님"을 의미한다.
용어 "복수"는, 명확하게 다르게 특정된 것이 아니라면, "둘 이상"을 의미한다. 용어 "본 명세서에서"는, 명확하게 다르게 특정된 것이 아니라면, "참조로서 수록될 수 있는 것들을 포함하는 본 출원에서"를 의미한다.
용어 "예를 들어" 등은 "예시적으로"를 의미하며, 따라서 그것이 설명하는 용어 및 어구를 제한하지 않는다.
용어 "각각" 등은 "개별적인 것들"을 의미한다. 따라서, 2 이상의 물건들이 "각각"의 특성들을 가지면, 그러한 물건들의 각각은 그 자신의 특성을 가지며, 이들 특성들은 서로 다를 수 있지만 불필요할 수도 있다. 예를 들어, 어구 "2개의 기계들의 각각은 각 기능을 가진다"는, 그러한 기계들 중 첫 번째 기계가 소정의 기능을 가지며 그러한 기계들 중 두 번째 기계가 또한 소정의 기능을 가짐을 의미한다. 첫 번째 기계의 기능은 두 번째 기계의 기능과 동일하거나 그렇지 않을 수 있다.
용어 "소정"은 청구범위 및/또는 명세서에서 용어 "구비하는" 또는 "포함하는"과 함께 이용될 때, "하나"를 의미하지만, 그 내용이 명확하게 다르게 지적된 것이 아니라면, "하나 이상", "적어도 하나" 및 "하나 또는 하나 초과"와 일치한다. 유사하게, 용어 "다른"은, 그 내용이 명확하게 다르게 지적된 것이 아니라면, 적어도 두 번째 이상을 의미할 수 있다.
본 명세서에 이용된 용어 "결합된", "결합하는" 또는 "접속된"은 이들 용어가 이용되는 문맥에 따라 여러개의 다른 의미를 가질 수 있다. 예를 들어, 용어, "결합된", "결합하는" 또는 "접속된"은 기계적 또는 전기적 의미를 가질 수 있다. 예를 들어, 용어, "결합된", "결합하는" 또는 "접속된"이 본 명세서에서 이용될 경우, 그 용어는 2개의 소자들 또는 디바이스들이 서로 직접 접속되거나 특정 문맥에 따라 전기적 소자, 전기적 신호 또는 기계적 소자를 통해 하나 이상의 중간 소자들 또는 디바이스들을 경유해서 서로 접속됨을 나타낼 수 있다.
본 명세서에 있어서 "영상 데이터"란 비디오 포착 디바이스에 의해 생성되는 데이터를 지칭한 것으로 비디오 포착 디바이스에 의해 포착된 영상들을 나타낸다. 영상 데이터는 비디오 포착 디바이스에 의해 포착된 비디오를 형성하는 복수의 연속하는 영상 프레임들을 포함할 수 있다. 각 영상 프레임은 픽셀들의 매트릭스로 표현될 수 있으며, 각 픽셀은 픽셀 영상값을 가진다. 예를 들어, 픽셀 영상값은 그레이스케일(grayscale)에 대한 수치값(예를 들어, 0 내지 255)이거나 컬러화된 영상의 복수의 수치값일 수 있다. 예를 들어, 영상 데이터에 있어서 픽셀 영상값들을 나타내는데 이용되는 컬러 스페이스는 RGB, YUV, CYKM, YCBCR 4:2:2 및 YCBCR 4:2:0 영상들을 포함한다. 본 명세서에서 이용된 "영상 데이터"란 비디오 포착 디바이스에 의해 생성된 "원시(raw)" 영상 데이터를 지칭한 것일 수 있으며/있거나 일부 형태의 프로세싱을 겪은 영상 데이터를 지칭한 것일 수 있다.
"전경 가시적 객체"란 비디오 포착 디바이스에 의해 포착된 영상 프레임들에서 발견되는 실제 객체(예를 들어, 사람, 동물, 자동차)의 가시적 표현을 지칭한다. 전경 가시적 객체는, 비디오 감시와 같은 다양한 목적을 위한 관심있는 객체이다. 예를 들어, 장면에 있는 전경 가시적 객체는, 인간 또는 자동차가 출현하는 것과 같은 이벤트(event)를 나타낼 수 있다. 전경 가시적 객체는 움직이는 객체 또는 이전에 움직인 객체일 수 있다. 전경 가시적 객체는, 장면의 배경에서 발견되는 객체로서 관심이 없는 배경 객체와 구별된다.
"현재 영상 프레임"이란 본 명세서에서 설명한 다양한 시스템 및 방법들내에서 현재 분석되고 있는 비디오의 복수의 연속하는 영상 프레임들내의 영상 프레임을 지칭한다. 현재 영상 프레임의 영상 데이터는 현재 영상 프레임내에서 및/또는 현재 영상보다 이전의 복수의 영상 프레임들내에서 포착된 객체들에 관한 정보를 생성하도록 분석된다.
현재 영상 프레임의 "이전 영상 프레임" 또는 "이력 영상 프레임"이란 비디오의 복수의 연속하는 영상 프레임들내의 현재 영상 프레임 이전에 발생된 영상 프레임을 지칭한다. 예를 들어, 이전 영상 프레임은 현재 영상 프레임 바로 이전의 영상 프레임일 수 있다. 대안적으로, 이전 영상 프레임은 복수의 연속하는 영상 프레임들 중 보다 이전의 영상 프레임일 수 있지만, 현재 영상 프레임과 연관되도록 현재 영상 프레임과 충분히 가까운 것일 수 있다.
본 명세서에 있어서 "영상 데이터를 프로세싱하는 것" 또는 그의 변형은 영상 데이터에 대해 실행된 하나 이상의 컴퓨터 구현 기능들을 지칭한다. 예를 들어, 영상 데이터를 프로세싱하는 것은 영상 프로세싱 동작, 비디오 데이터의 분석, 관리, 압축, 인코딩, 저장, 전송 및/또는 재생을 포함하되, 그에 국한되는 것은 아니다. 영상 데이터를 분석하는 것은, 영상 프레임들의 영역들을 분할하고 가시적 객체들을 검출하며, 영상 데이터에 의해 표현된 포착 장면내에 위치한 가시적 객체들을 추적 및/또는 분류하는 것을 포함한다. 영상 데이터의 프로세싱은 압축(예를 들어, 저하된 품질)되고/되거나 재-인코딩된 영상 데이터와 같이, 수정된 영상 데이터가 생성되게 한다. 영상 데이터의 프로세싱은, 영상 데이터 또는 영상들내에 포착된 가시적 객체에 관한 추가적인 정보가 출력되게 한다. 예를 들어, 그러한 추가적인 정보는 통상적으로 메타데이터로서 알려져 있다. 메타데이터는 영상 프레임에 있어서의 검출된 가시적 객체들 둘레에 바운딩 박스(bounding box)들을 드로잉(drawing)하는 것과 같은, 영상 데이터의 추가적인 프로세싱을 위해 이용될 수 있다.
2 이상의 용어 또는 어구들이 동의어이면(예를 들어, 용어 또는 어구들이 동일한 것임을 의미하는 명확한 서술 때문에), 하나의 그러한 용어/어구의 예시들은, 다른 그러한 용어/어구의 예시들이 다른 의미를 가져야만 한다는 것을 의미하는 것이 아니다. 예를 들어, "포함하는"의 의미가 "포함하되, 그에 국한되는 것은 아닌"과 동의어라고 서술되면, "포함하되, 그에 국한되는 것은 아닌"이란 어구의 단순한 이용은, "포함하는"이라는 용어가 "포함하되, 그에 국한되는 것은 아닌"과 다른 의미임을 의미하는 것이 아니다.
(본 출원의 첫 페이지의 시작시에 설명된) 발명의 명칭과 (본 출원의 끝에 설명된) 요약서의 어느 것도 개시된 발명(들)의 범주를 임의 방식으로 제한하는 것으로 간주되어서는 안된다. 37 C.F.R. Section 1.72(b) 또는 다른 관할권내의 유사한 법하에서 150자 이하의 요약서가 요구되기 때문에, 그 요약서가 단지 본 출원에 포함되었다. 본 출원의 발명의 명칭 및 본 출원에서 제공된 섹션들의 제목은 단지 편의를 위한 것일 뿐 그 개시를 임의 방식으로 제한하는 것으로 간주되지 않아야 한다.
본 출원에서는 여러 실시 예들이 설명되고 단지 예시를 위해 안출된다. 설명된 실시 예는 어떤 의미에서든 제한을 위한 것이 아니며 제한하고자 하는 의도도 아니다. 개시된 측면(들)은 본 개시로부터 아주 명확한 바와 같이 많은 실시 예들에 넓게 적용될 수 있다. 본 기술 분야의 숙련자라면, 개시된 측면(들)이 구조적 및 논리적 수정과 같은 다양한 수정 및 대안으로 실시될 수 있음을 알 것이다. 개시된 측면(들)의 특정의 특징들이 하나 이상의 특정 실시 예들 및/또는 도면들을 참조하여 설명될 수 있지만, 명확하게 다르게 특정된 것이 아니라면, 그들을 설명하는데 참조된 하나 이상의 특정 실시 예들 또는 도면에 그러한 특징이 이용되는 것으로 제한되지 않음을 알아야 한다.
본 출원에 설명된 방법 단계들 또는 생산품 소자들의 실시 예들은, 청구범위에서 명확하게 기술되거나 본 명세서에서 그렇다고 명확하게 서술한 것을 제외하고는, 필수적인 것이 아니며, 또는 동일 선상에 있는 것도 아니다.
본 기술 분야의 숙련자라면 알겠지만, 본 명세서에서 설명한 다양한 예시적인 실시 예들은 방법, 시스템 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 다양한 예시적인 실시 예들은 완전한 하드웨어 실시 예, (펌웨어, 레지던트 소프트웨어(resident software), 마이크로-코드 등을 포함하는) 완전한 소프트웨어 실시 예 또는 본 명세서에서 전반적으로 "회로", "모듈" 또는 "시스템"으로서 지칭될 수 있는 소프트웨어 및 하드웨어 측면들을 조합한 실시 예의 형태를 취할 수 있다. 또한, 다양한 예시적인 실시 예들은 매체에 구현된 컴퓨터 이용 가능 프로그램 코드를 가진 컴퓨터 이용 가능 저장 매체상의 컴퓨터 프로그램 제품 형태를 취할 수 있다.
임의 적당한 컴퓨터 이용 가능 또는 컴퓨터 독출 가능 매체가 이용될 수 있다. 컴퓨터 이용 가능 또는 컴퓨터 독출 가능 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스 또는 전파 매체일 수 있지만 그에 국한되는 것은 아니다. 본 출원의 문맥에서, 컴퓨터 이용 가능 또는 컴퓨터 독출 가능 매체는 명령 실행 시스템, 장치 또는 디바이스에 의한 이용을 위해 또는 그와 접속되어 프로그램을 포함, 저장, 통신, 전파 또는 운송할 수 있는 임의 매체일 수 있다.
다양한 예시적인 실시 예의 동작들을 실행하는 컴퓨터 프로그램 코드는 Java, Smalltalk, C++, Python 등과 같은 객체 지향 프로그래밍 언어로 작성될 수 있다. 그러나, 다양한 예시적인 실시 예의 동작들을 실행하는 컴퓨터 프로그램 코드는 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은, 통상적인 절차적 프로그래밍 언어로 작성될 수 있다. 프로그램 코드는, 단독형 소프트웨어 패키지로서 컴퓨터상에서 전체적으로 실행되거나 컴퓨터상에서 부분적으로 실행되거나, 컴퓨터 상 및 원격 컴퓨터상에서 각각 부분적으로 실행되거나, 원격 컴퓨터 또는 서버 상에서 전체적으로 실행될 수 있다. 후자의 시나리오에 있어서, 원격 컴퓨터는 LAN(Local Area Network) 또는 WAN(Wide Area Network)을 통해 컴퓨터에 접속될 수 있으며, 또는 그 접속은 (예를 들어, 인터넷 서비스 제공자를 이용하는 인터넷을 통해) 외부 컴퓨터에 대해 이루어질 수 있다.
이하에서는 본 발명의 실시 예에 따른 방법들, 장치(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도 및/또는 블럭도를 참조하여 다양한 예시적인 실시 예가 설명될 것이다. 흐름도 및/또는 블럭도의 각 블럭들과, 흐름도 및/또는 블럭도의 블럭들의 조합은 컴퓨터 프로그램 명령들에 의해 구현될 수 있음을 알 것이다. 이들 컴퓨터 프로그램 명령들은 범용 컴퓨터, 전용 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 장치의 프로세서에 제공되어, 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령이 흐름도 및/또는 블럭도의 블럭 또는 블럭들에 특정된 기능/작용을 구현하는 수단을 생성하도록 하는, 머신을 생성할 수 있다.
이들 컴퓨터 프로그램 명령들은 특정 방식으로 기능하도록 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 장치에게 지시할 수 있는 컴퓨터 독출 가능 메모리에 저장되어, 컴퓨터 독출 가능 메모리내에 저장된 명령이 흐름도 및/또는 블럭도의 블럭 또는 블럭들에 특정된 기능/작용을 구현하는 명령들을 포함하는 제조 물품을 생성하게 한다.
컴퓨터 프로그램 명령은, 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 장치상에 탑재되어 컴퓨터 구현 프로세스를 생성하도록 컴퓨터 또는 다른 프로그램 가능 장치상에서 일련의 동작 단계들이 실행되게 함으로써, 컴퓨터 또는 다른 프로그램 가능 장치상에서 실행되는 명령이 흐름도 및/또는 블럭도의 블럭 또는 블럭들에 특정된 기능/작용을 구현하는 단계들을 생성하게 한다.
도 1a를 참조하면, 예시적인 실시 예에 따른 비디오 포착 및 재생 시스템(100)의 접속된 디바이스들의 블럭도가 도시된다. 예를 들어, 비디오 포착 및 재생 시스템(100)은 비디오 감시 시스템으로서 이용될 수 있다. 비디오 포착 및 재생 시스템(100)은 본 명세서에서 설명된 프로세스들 및 기능들을 실행하는 하드웨어 및 소프트웨어를 포함한다.
비디오 포착 및 재생 시스템(100)은 복수의 영상들을 포착하고 복수의 포착된 영상들을 나타내는 영상 데이터를 생성하도록 동작할 수 있는 적어도 하나의 비디오 포착 디바이스(108)를 포함한다.
각 비디오 포착 디바이스(108)는 복수의 영상들을 포착하는 적어도 하나의 영상 센서(116)를 포함한다. 비디오 포착 디바이스(108)는 디지털 비디오 카메라일 수 있으며, 영상 센서(116)는 포착된 광을 디지털 데이터로서 출력할 수 있다. 예를 들어, 영상 센서(116)는 CMOS, NMOS 또는 CCD일 수 있다.
적어도 하나의 영상 센서(116)는 하나 이상의 주파수 범위들내의 광을 포착하도록 동작할 수 있다. 예를 들어, 적어도 하나의 영상 센서(116)는 가시광 주파수 범위에 실질적으로 대응하는 범위내의 광을 포착하도록 동작할 수 있다. 다른 예시에 있어서, 적어도 하나의 영상 센서(116)는 적외선 및/또는 자외선 범위내와 같은, 가시광 범위 밖의 광을 포착하도록 동작할 수 있다. 다른 예시에 있어서, 비디오 포착 디바이스(108)는 다른 주파수 범위내의 광을 포착하도록 동작할 수 있는 둘 이상의 센서들을 포함하는 멀티-센서 카메라일 수 있다.
적어도 하나의 비디오 포착 디바이스(108)는 전용 카메라를 포함할 수 있다. 본 명세서에 있어서의 전용 카메라는 주요한 특징이 영상 또는 비디오를 포착하는 카메라를 지칭한다. 일부 예시적인 실시 예에 있어서, 전용 카메라는, 그것에 의해 또는 다른 비디오 포착 디바이스(108)에 의해 생성된 영상 데이터를 프로세싱하는 것과 같은, 포착된 영상들 또는 비디오와 연관된 기능을 수행할 수 있지만, 그에 국한되는 것은 아니다. 예를 들어, 전용 카메라는 팬-틸트-줌(pan-tilt-zoom) 카메라, 돔 카메라(dome camera), 인-실링(in-ceiling) 카메라, 박스 카메라 및 불릿(bullet) 카메라 중 임의 카메라와 같은 감시 카메라일 수 있다.
추가적으로 또는 대안적으로, 적어도 하나의 비디오 포착 디바이스(108)는 내장된 카메라를 포함할 수 있다. 본 명세서에서 내장된 카메라는 포착된 영상 또는 비디오와 관련없는 기능들을 실행하도록 동작할 수 있는 디바이스에 내장된 카메라를 지칭함을 알아야 한다. 예를 들어, 내장된 카메라는 랩탑(laptop), 테블릿(tablet), 드론 디바이스(drone device), 스마트폰(smartphone), 비디오 게임 콘솔 또는 제어기 중 임의의 것 상에 발견되는 카메라일 수 있다.
각 비디오 포착 디바이스(108)는 하나 이상의 프로세서들(124), 프로세서들에 결합된 하나 이상의 메모리 디바이스(132) 및 하나 이상의 네트워크 인터페이스들을 포함한다. 메모리 디바이스는 프로그램 명령들의 실행동안에 채용된 국부 메모리(예를 들어, 랜덤 액세스 메모리 및 캐시 메모리)를 포함할 수 있다. 프로세서는 메모리 디바이스에 저장될 수 있는, 컴퓨터 프로그램 명령(예를 들어, 동작 시스템 및/또는 애플리케이션 프로그램들)을 실행한다.
여러 실시 예에 있어서, 프로세서(124)는 DSP(Digital Signal Processor), GPU(Graphics Processing Unit) 내장 프로세서등을 포함하는 하나 이상의 회로 유닛들을 가진 임의 프로세싱 회로, 및 중복적으로 동작하는 것을 포함하는 독립적 또는 병렬로 동작하는 그들의 임의 조합에 의해 구현될 수 있다. 그러한 프로세싱 회로는 MIC(Monolithic Integrated Circuit), ASIC(Application Specification Integrated Circuit), FPGA(Field Programmable Gate Array) 또는 그들의 임의 조합에 의해 구현되는 것을 포함하는 하나 이상의 IC(Integrated Circuit)에 의해 구현될 수 있다. 추가적으로 또는 대안적으로, 그러한 프로세싱 회로는, 예를 들어, PLC(Programming Logic Controller)로서 구현될 수 있다. 프로세서는 디지털 데이터와 같은 메모리 저장을 위한 회로를 포함할 수 있으며, 예를 들어, 메모리 회로를 구비할 수 있거나 메모리 회로와 유선 통신 상태일 수 있다.
여러 예시적인 실시 예에 있어서, 프로세서 회로에 결합된 메모리 디바이스(132)는 데이터 및 컴퓨터 프로그램 명령을 저장하도록 동작 가능하다. 전형적으로, 메모리 디바이스는 복수의 디지털 전자 집적 회로들로부터 형성되거나 디지털 전자 집적 회로의 전부 또는 일부일 수 있다. 메모리 디바이스는, 예를 들어, ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, 하나 이상의 플래시 드라이브들, USB(Universal Serial Bus) 접속형 메모리 유닛들, 자기 저장, 광학 저장, 마그네토-광학 저장 또는 그들의 임의 조합으로서 구현될 수 있다. 메모리 디바이스는 휘발성 메모리, 비 휘발성 메모리, 동적 메모리 또는 그들의 임의 조합으로서 메모리를 저장하도록 동작할 수 있다.
여러 예시적인 실시 예에 있어서, 영상 포착 디바이스(108)의 복수의 부품들은 SOC(System On a Chip)내에 함께 구현될 수 있다. 예를 들어, 프로세서(124), 메모리 디바이스(132) 및 네트워크 인터페이스는 SOC내에 구현될 수 있다. 또한, 범용 프로세서 및 GPU와 DSP 중 하나 이상은 SOC내에 함께 구현될 수 있다.
도 1a를 계속 참조하면, 적어도 하나의 비디오 포착 디바이스(108)의 각각은 네트워크(140)에 접속된다. 각각의 비디오 포착 디바이스(108)는 그것이 포착하는 영상들을 나타내는 영상 데이터를 출력하고 영상 데이터를 네트워크를 통해 전송하도록 동작할 수 있다.
네트워크(140)는 데이터의 수신 및 전송을 제공하는 임의 통신 네트워크일 수 있음을 알 것이다. 예를 들어, 네트워크(140)는 LAN(Local Area Network), 외부 네트워크(예를 들어, WAN, 인터넷) 또는 그들의 조합일 수 있다. 다른 예시에 있어서, 네트워크(40)는 클라우드 네트워크를 포함할 수 있다.
일부 예시들에 있어서, 비디오 포착 및 재생 시스템(100)은 프로세싱 어플라이언스(processing appliance)(148)를 포함한다. 프로세싱 어플라이언스(148)는 비디오 포착 디바이스(108)에 의해 출력된 영상 데이터를 프로세싱하도록 동작할 수 있다. 프로세싱 어플라이언스(148)는, 또한, 하나 이상의 프로세서들과, 프로세서에 결합된 하나 이상의 메모리 디바이스들을 포함한다. 프로세싱 어플라이언스(148)는 하나 이상의 네트워크 인터페이스를 포함할 수 있다.
예를 들어, 도시된 바와 같이, 프로세싱 어플라이언스(148)는 비디오 포착 디바이스(108)에 접속된다. 프로세싱 어플라이언스(148)는 네트워크(140)에 추가로 접속될 수 있다.
하나의 예시적인 실시 예에 따르면, 도 1a에 도시된 바와 같이, 비디오 포착 및 재생 시스템(100)은, 각각이 하나 이상의 프로세서들을 가진, 적어도 하나의 워크스테이션(workstation, 156)(예를 들어, 서버)을 포함한다. 적어도 하나의 워크스테이션(156)은, 또한, 저장 메모리를 포함할 수 있다. 워크스테이션(156)은 적어도 하나의 비디오 포착 디바이스(108)로부터 영상 데이터를 수신하고, 영상 데이터의 프로세싱을 수행한다. 워크스테이션(156)은 영상 포착 디바이스들(108)중 하나 이상을 관리 및/또는 제어하는 명령을 전송할 수 있다. 워크스테이션(156)은 비디오 포착 디바이스(108)로부터 원시 영상 데이터를 수신할 수 있다. 대안적으로 또는 추가적으로, 워크스테이션(156)은 비디오 포착 디바이스(108) 및/또는 프로세싱 어플라이언스(148)에서의 프로세싱과 같은, 일부 중간 프로세싱을 이미 겪은 영상 데이터를 수신할 수 있다. 워크스테이션(156)은 영상 데이터로부터 메타데이터를 수신하고 영상 데이터의 추가 프로세싱을 수행할 수 있다. 도 1a에는 단일 워크스테이션(156)이 도시되었지만, 그 워크스테이션은 복수의 워크스테이션의 집합으로서 구현될 수 있음을 알 것이다.
비디오 포착 및 재생 시스템(100)은, 네트워크(140)에 접속된 적어도 하나의 클라이언트 디바이스(164)를 추가로 포함한다. 클라이언트 디바이스(164)는 비디오 포착 및 재생 시스템(100)과 상호 작용하기 위하여 하나 이상의 사용자들에 의해 이용된다. 따라서, 클라이언트 디바이스(164)는 적어도 하나의 디스플레이 디바이스와 적어도 하나의 사용자 입력 디바이스(예를 들어, 마우스, 키보드, 터치스크린)를 포함한다. 클라이언트 디바이스(164)는 정보를 디스플레이하고, 사용자 입력을 수신하며 비디오를 재생하기 위한 사용자 인터페이스를 그의 디스플레이 디바이스상에 디스플레이하도록 동작할 수 있다. 예를 들어, 클라이언트 디바이스는 개인용 컴퓨터, 랩탑, 테블릿, PDA(Personal Data Assistant), 셀 폰, 스마트 폰, 게임 디바이스 및 다른 이동 디바이스 중 임의 것일 수 있다.
클라이언트 디바이스(164)는 네트워크(140)를 통해 영상 데이터를 수신하도록 동작할 수 있으며, 수신된 영상 데이터를 재생하도록 추가로 동작할 수 있다. 클라이언트 디바이스(164)는 영상 데이터를 프로세싱하는 기능성들을 가질 수 있다. 예를 들어, 클라이언트 디바이스(164)의 프로세싱 기능은 수신된 영상 데이터를 재생하는 기능에 관련된 프로세싱으로 제한될 수 있다. 다른 예시에 있어서, 영상 프로세싱 기능성들은 워크스테이션(156)과 하나 이상의 클라이언트 디바이스들(164)간에 공유될 수 있다.
일부 예시에 있어서, 영상 포착 및 재생 시스템(100)은 워크스테이션(156) 없이 구현될 수 있다. 따라서, 영상 프로세싱 기능성들이 하나 이상의 비디오 포착 디바이스들(108)에 대해 전체적으로 실행될 수 있다. 대안적으로, 영상 프로세싱 기능성들은 비디오 포착 디바이스(108), 프로세싱 어플라이언스(148) 및 클라이언트 디바이스(164) 중 2 이상들간에 공유될 수 있다.
도 1b를 참조하면, 하나의 예시적인 실시 예에 따른 비디오 포착 및 재생 시스템(100)의 동작 모듈들의 세트(200)의 블럭도가 도시된다. 동작 모듈은, 도 1a에 도시된 바와 같이, 비디오 포착 및 재생 시스템(100)의 디바이스들 중 하나 이상의 디바이스들상에 하드웨어, 소프트웨어 또는 그 둘 모두로 구현될 수 있다.
동작 모듈들의 세트(200)는 적어도 하나의 비디오 포착 모듈(208)을 포함한다. 예를 들어, 각 비디오 포착 디바이스(108)는 비디오 포착 모듈(208)을 구현할 수 있다. 비디오 포착 모듈(208)은 영상들을 포착하기 위하여 비디오 포착 디바이스(108)의 하나 이상의 부품들(예를 들어, 센서(116) 등)을 제어하도록 동작할 수 있다.
동작 모듈들의 세트(200)는 영상 데이터 프로세싱 모듈들의 서브셋(216)을 포함한다. 예를 들어, 도시된 바와 같이, 영상 데이터 프로세싱 모듈들의 서브셋(216)은 비디오 분석 모듈(224) 및 비디오 관리 모듈(232)을 포함한다.
비디오 분석 모듈(224)은 영상 데이터를 수신하고 영상 데이터를 분석하여, 영상 또는 비디오에 의해 표현된 장면에서 발견된 객체 및/또는 영상이나 비디오의 성질 또는 특성을 결정한다. 그 결정에 기초하여, 비디오 분석 모듈(224)은 그 결정에 대한 정보를 제공하는 메타데이터를 추가로 출력할 수 있다. 비디오 분석 모듈(224)에 의해 이루어진 결정들은, 예를 들어, 전경/배경 분할, 객체 검출, 객체 추적, 객체 분류, 가상 트립와이어(virtual tripwire), 이상 검출(anomaly detection), 안면 검출, 안면 인식, 차량 번호판 인식(license plate recognition), "뒤에 남겨진(left behind)" 객체 식별, 객체 모니터링(예를 들어, 절도 방지를 위해), 비지니스 인텔리전스(business intelligence) 중 하나 이상을 포함할 수 있다. 그러나, 본 기술 분야에 알려진 다른 비디오 분석 기능이 비디오 분석 모듈(224)에 의해 구현될 수 있음을 알 것이다.
비디오 관리 모듈(232)은 영상 데이터를 수신하고 비디오 전송, 재생 및/또는 저장과 관련된 영상 데이터에 대해 프로세싱 기능을 수행한다. 예를 들어, 비디오 관리 모듈(232)은 대역폭 요건 및/또는 커패시티(capacity)에 따라 영상 데이터의 전송이 가능하도록 영상 데이터를 프로세싱할 수 있다. 비디오 관리 모듈(232)은 클라이언트 디바이스(164)의 디스플레이의 해상도 및/또는 전력을 프로세싱하는 것과 같이, 비디오를 재생하고 있을 클라이언트 디바이스(164)의 재생 기능에 따라 영상 데이터를 프로세싱할 수 있다. 비디오 관리 모듈(232)은 영상 데이터를 저장하기 위한 비디오 포착 및 재생 시스템(100)내의 저장 커패시티에 따라 영상 데이터를 프로세싱할 수 있다.
일부 예시적인 실시 예에 따라, 비디오 프로세싱 모듈들의 서브셋(216)은 비디오 분석 모듈(224)과 비디오 관리 모듈(232) 중 단지 하나만을 포함할 수 있음을 알 것이다.
동작 모듈들의 세트(200)는 저장 모듈들의 서브셋(204)을 추가로 포함한다. 예를 들어, 도시된 바와 같이, 저장 모듈들의 서브셋(240)은 비디오 저장 모듈(248)과 메타데이터 저장 모듈(256)을 포함한다. 비디오 저장 모듈(248)은 비디오 관리 모듈에 의해 프로세싱된 영상 데이터일 수 있는 영상 데이터를 저장한다. 메타데이터 저장 모듈(256)은 비디오 분석 모듈(224)로부터 출력된 정보 데이터를 저장한다.
비디오 저장 모듈(248)과 메타데이터 저장 모듈(256)은 별도의 모듈들로서 도시되었지만, 그들은 동일 하드웨어 저장 디바이스내에 구현될 수 있으며, 그에 의해 저장된 메타데이터로부터 저장된 비디오를 분리하도록 논리 규칙들이 구현될 수 있다. 다른 예시적인 실시 예에 있어서, 비디오 저장 모듈(248) 및/또는 메타데이터 저장 모듈(256)은 분산 저장 기법이 구현될 수 있는 복수의 하드웨어 저장 디바이스들내에 구현될 수 있다.
동작 모듈들의 세트는 영상 데이터를 수신하고 영상 데이터를 비디오로서 재생하도록 동작할 수 있는 적어도 하나의 비디오 재생 모듈(264)을 포함한다. 예를 들어, 비디오 재생 모듈(264)은 클라이언트 디바이스(164)상에 구현될 수 있다.
세트(200)의 동작 모듈들은 영상 포착 디바이스(108), 프로세싱 어플라이언스(148), 워크스테이션(156) 및 클라이언트 디바이스(164) 중 하나 이상에 구현될 수 있다. 일부 예시적인 실시 예에 있어서, 동작 모듈은 단일 디바이스상에 전체적으로 구현될 수 있다. 예를 들어, 비디오 분석 모듈(224)은 워크스테이션(156)상에 전체적으로 구현될 수 있다. 유사하게, 비디오 관리 모듈(232)은 워크스테이션(156)상에 전체적으로 구현될 수 있다.
다른 예시적인 실시 예에 있어서, 세트(200)의 동작 모듈의 일부 기능성들은 제 1 디바이스상에 부분적으로 구현될 수 있으며 동작 모듈의 다른 기능성들은 제 2 디바이스상에 구현될 수 있다. 예를 들어, 비디오 분석 기능성들은 영상 포착 디바이스(108), 프로세싱 어플라이언스(148) 및 워크스테이션(156) 중 하나 이상들간에 분할될 수 있다. 유사하게, 비디오 관리 기능성들은 영상 포착 디바이스(108), 프로세싱 어플라이언스(148) 및 워크스테이션(156) 중 하나 이상들간에 분할될 수 있다.
도 1c를 참조하면, 하나의 특정 예시적 실시 예에 따른 비디오 포착 및 재생 시스템(100)의 동작 모듈들의 세트(200)의 블럭도가 도시되는데, 거기에서는, 비디오 관리 모듈(232) 및 저장 디바이스(240)가 하나 이상의 영상 포착 디바이스(108)상에 전체적으로 구현된다. 따라서, 비디오 포착 및 재생 시스템(100)은 워크스테이션(156) 및/또는 프로세싱 어플라이언스(148)를 필요로 하지 않을 수 있다.
비디오 포착 및 재생 시스템(100)의 여러 디바이스들 또는 단일 디바이스상에 영상 데이터 프로세싱 모듈들이 구현될 수 있게 되면 시스템(100)을 구축하는데 있어서 가요성이 허용될 수 있음을 알 것이다.
예를 들어, 특정 기능성들을 가진 특정 디바이스를 이들 기능성들이 없는 다른 디바이스와 함께 이용하는 것을 선택할 수 있다. 이것은, 기존의 비디오 포착 및 재생 시스템을 개장(retrofitting)하거나 다른 측들(예를 들어, 제조자들)로부터의 디바이스들을 집적화할 때, 유용할 수 있다.
도 2를 참조하면, 비디오 포착 디바이스(108)에 의해 포착된 비디오의 하나 이상의 영상 프레임들에 대해 비디오 분석을 실행하는 방법(272)의 예시적인 실시 예의 흐름도가 도시된다. 비디오 분석은 비디오 분석 모듈(224)에 의해 실행되어 포착된 영상 또는 비디오의 성질 또는 특성 및/또는 비디오에 포착된 장면에서 발견된 가시적 객체의 성질 또는 특성을 결정한다.
300에서, 비디오의 적어도 하나의 영상 프레임은 전경 영역들과 배경 영역들로 분할된다. 그 분할은 장면의 정지 영역으로부터 포착된 장면내의 움직이는 객체(또는 이전에 움직인 객체들)에 대응하는 영상 프레임의 영역들을 분리한다.
302에서, 영상 프레임에 의해 표현된 장면내의 하나 이상의 전경 가시적 객체들이 300의 분할에 기초하여 검출된다. 예를 들어, 임의 이산적인 인접 전경 영역 또는 "블랍(blob)"은 그 장면에서 전경 가시적 객체로서 식별될 수 있다. 예를 들어, 특정 크기(픽셀들의 개수)보다 더 큰 인접 전경 영역들만이 그 장면에 있어서 전경 가시적 객체로서 식별된다.
메타데이터는 검출된 하나 이상의 전경 영역들과 연관되어 생성될 수 있다. 메타데이터는 영상 프레임내의 전경 가시적 객체의 위치를 정의할 수 있다. 예를 들어, 위치 메타데이터는 검출된 전경 가시적 객체의 윤곽을 나타내는 (예를 들어, 비디오를 인코딩하거나 비디오를 재생할 때) 바운딩 박스를 생성하는데 이용될 수 있다.
검출된 하나 이상의 전경 가시적 객체들의 각각을 가시적으로 식별하기 위해 가시적 표시자(visual indicator)가 영상 프레임에 추가될 수 있다. 가시적 표시자는 영상 프레임내의 하나 이상의 전경 가시적 객체들의 각각을 둘러싼 바운딩 박스일 수 있다.
여러 예시적인 실시 예에 따르면, 비디오 분석은 포착된 장면에 있어서 객체의 검출과 함께 종료될 수 있다.
다른 예시적인 실시 예들에 있어서, 304에서, 비디오 분석은, 302에서 검출된 전경 가시적 객체를 분류하는 것을 포함할 수 있다. 예를 들어, 전경 가시적 객체를 분류하기 위해 패턴 인식이 실행될 수 있다. 전경 가시적 객체는 사람, 자동차 또는 동물과 같은 클래스로 분류될 수 있다. 추가적으로 또는 대안적으로, 가시적 객체는 가시적 객체의 운동 및 운동 방향과 같은 행위로 분류될 수 있다. 컬러, 크기, 배향등과 같이 다른 분류기가 결정될 수 있다. 보다 특정한 예시에 있어서, 가시적 객체를 분류하는 것은 안면 검출에 기초하여 사람을 식별하고 차량 번호판과 같은 텍스트를 인식하는 것을 포함할 수 있다. 가시적 분류는, 그의 전체가 본 명세서에서 참조로서 수록되는, 공동 소유의 미국 특허 번호 제8,934,709호에 설명된 시스템들 및 방법들에 따라 실행될 수 있다.
306에서, 비디오 분석은 이벤트가 발생했는지 여부와 이벤트의 유형을 검출하는 것을 추가로 포함할 수 있다. 이벤트를 검출하는 것은 하나 이상의 전경 가시적 객체의 분류와 하나 이상의 사전 정의된 규칙들의 비교에 기초할 수 있다. 그 이벤트는 비디오 트립와이어가 트리거되었는지 여부, 한 영역내에 존재하는 사람들의 수, 장면내의 객체가 "뒤에 남겨졌는지"의 여부, 또는 장면내의 객체가 제거되었는지의 여부와 같은 이상 검출 또는 비지니스 인텔리전스에 있어서의 이벤트일 수 있다.
도 3a를 참조하면, 하나의 예시적인 실시 예에 따른 비디오 분석 모듈의 동작 서브-모듈들의 세트(400)의 블럭도가 도시된다. 비디오 분석 모듈(400)은 여러 작업들을 실행하는 다수의 모듈들을 포함한다. 예를 들어, 비디오 분석 모듈(400)은 비디오 포착 디바이스(108)의 시계(field of view)에 나타나는 객체들을 검출하는 객체 검출 모듈(404)을 포함한다. 객체 검출 모듈(404)은, 예를 들어, 움직임 검출 및 블랍 검출과 같은 임의 알려진 객체 검출 방법을 채용할 수 있다. 객체 검출 모듈(404)은 그 시스템들을 포함하며, 그의 전체 내용이 본 명세서에서 참조로서 수록된, "Methods and Systems for Detecting Objects of Interest in Spatio-Temporal Signals"란 제목의 공동 소유의 미국특허번호 제7,627,171호에 설명된 검출 방법들을 이용한다.
비디오 분석 모듈(400)은 객체 검출 모듈(404)에 접속된 객체 추적 모듈(408)을 포함할 수 있다. 객체 추적 모듈(408)은 객체 검출 모듈(404)에 의해 검출된 객체의 사례들을 시간적으로 연관시키도록 동작할 수 있다. 객체 추적 모듈(408)은, 그 시스템을 포함하며, 그의 전체 내용이 본 명세서에서 참조로서 수록된, "Object Matching for Tracking, Indexing, and Search"란 제목의 공동 소유의 미국특허번호 제8,224,029호에 설명된 방법들을 이용한다. 객체 추적 모듈(408)은 그것이 추적하는 가시적 객체들에 대응하는 메타데이터를 생성한다. 그 메타데이터는 객체의 외관 또는 다른 특징들을 나타내는 가시적 객체의 시그니처(signature)들에 대응할 수 있다. 메타데이터는 저장을 위해 메타데이터 데이터베이스(256)로 전송될 수 있다.
비디오 분석 모듈(400)은 객체 추적 모듈(408)에 접속된 시간적 객체 분류 모듈(temporal object classification module, 412)을 포함할 수 있다. 시간적 객체 분류 모듈(412)은 시간에 따른 객체의 외관을 고려함으로써 그의 유형(예를 들어, 인간, 자동차, 동물)에 따라 객체를 분류하도록 동작할 수 있다. 다시 말해, 객체 추적 모듈(408)은 다수의 프레임들에 대해 객체를 추적하고, 시간적 객체 분류 모듈(412)은 다수의 프레임들에 있어서의 그의 외관에 기초하여 객체의 유형을 결정한다. 예를 들어, 사람이 걷는 방식의 걸음걸이 분석은 사람을 분류하는데 유용할 수 있으며, 또는 사람의 다리의 분석은 자전기 이용자를 분류하는데 유용할 수 있다. 시간적 객체 분류 모듈(412)은 다수의 프레임들에 걸쳐 평균화된 객체 분류 모듈(416)에 의해 이루어진 분류의 신뢰성(이하에서 상세하게 설명할 것임)과 객체의 궤적에 관한 정보(예를 들어, 궤적이 완만한지 또는 카오스적인지, 객체가 움직임중인지 움직임이 없는 중인지)를 조합할 수 있다. 예를 들어, 객체 분류 모듈(416)에 의해 결정된 분류 신뢰성 값들은 객체의 궤적의 완만성에 기초하여 조정될 수 있다. 시간적 객체 분류 모듈(412)은, 충분한 횟수와 사전 결정된 개수의 통계들을 수집한 객체 분류 모듈에 의해 가시적 객체가 분류될 때까지, 미지의 클래스로 객체를 할당할 수 있다. 객체를 분류하는데 있어서, 시간적 객체 분류 모듈(412)은, 객체가 시계내에 얼마나 오랜동안 있었는지를 고려할 수 있다. 시간적 객체 분류 모듈은 상술한 정보에 기초하여 객체의 클래스에 대해 최종 결정을 할 수 있다. 시간적 객체 분류 모듈(412)은, 또한, 객체의 클래스를 변경하는 히스테리시스 방식을 이용할 수 있다. 보다 구체적으로, 객체의 분류를 미지에서 확실한 클래스로 천이시키기 위한 임계치가 설정될 수 있으며 그 임계치는 반대되는 천이(예를 들어, 인간에서 미지로)를 위한 임계치보다 더 클 수 있다. 시간적 객체 분류 모듈(412)은 객체의 클래스와 관련된 메타데이터를 생성할 수 있으며, 메타데이터는 메타데이터 데이터베이스(256)내에 저장될 수 있다. 시간적 객체 분류 모듈(412)은 객체 분류 모듈(416)에 의해 이루어진 분류들을 결집시킬 수 있다.
비디오 분석 모듈(400)은, 또한, 바람직하게, 객체 검출 모듈(404)에 직접 또는 간접적으로 접속된, 객체 분류 모듈(416)을 포함한다. 시간적 객체 분류 모듈(412)과 대조적으로, 객체 분류 모듈(416)은 객체의 단일 사례(예를 들어, 단일 영상)에 기초하여 가시적 객체의 유형을 결정할 수 있다. 객체 분류 모듈(416)에 대한 입력은, 바람직하게, 전체 영상 프레임보다 관심 가시적 객체가 배치된 영상 프레임의 서브-영역일 수 있다. 객체 분류 모듈(416)에 영상 프레임의 서브 영역을 입력하는 것의 장점은, 분류를 위해 전체 장면이 분석될 필요가 없다는 것이며, 그에 의해, 프로세싱 전력이 덜 요구된다. 객체 분류 모듈(416)의 복잡성을 보다 단순화시키기 위하여, 명백한 분류를 발견하기 위한 경험적 기반 모듈(heuristics-based modules)과 같은 다른 예비적 모듈들이 포함될 수 있다.
대안적인 구성에 있어서, 객체 분류 모듈(416)은 객체 검출 모듈(404)의 뒤 및 객체 추적 모듈(408)의 앞에 자리하여, 객체 추적전에 객체 분류가 이루어질 수 있게 한다. 다른 대안적인 구성에 있어서, 객체 검출, 추적, 시간적 분류 및 분류 모듈(404,408,412,416)은 상기에서 설명된 바와 같이 상호 연관된다.
객체 분류 모듈(416)은 도 3b의 블럭도에 도시된 다수의 객체 분류기들을 포함한다. 예를 들어, 객체 분류 모듈(416)은, 검출된 객체의 영상이 인간 전신(full human body)에 대응하는지를 결정하는 인간 전신 분류기(424), 검출된 객체의 영상이 인간 토르소(torso)에 대응하는지를 결정하는 인간 토르소 분류기(428) 및 검출된 객체의 영상이 자동차에 대응하는지를 결정하는 자동차 분류기(432)를 포함할 수 있다. 객체 분류 모듈(416)은 임의 개수의 서로 다른 분류기들을 포함할 수 있으며, 이하에서 보다 상세하게 설명하겠지만, 카메라 시스템이 전개되어 작동중일 때에도 사용자는 객체 분류 모듈(416)에 대한 객체의 새로운 클래스들을 생성할 수 있다. 다시 말해, 객체 분류 모듈(416)은 현장 훈련가능하다(field trainable).
객체 분류기들은 객체의 특징들(예를 들어, 외관 특성들)에 기초하여 객체를 분류하도록 동작할 수 있다. 예를 들어, 인간 전신 분류기(424)는 객체의 특징에 대응하는 데이터(즉, 입력 패턴 X)를 수신하고, 그 객체가 인간 전신에 대응하는지의 여부를 결정한다. 객체 분류 모듈(416)이 객체를 분류한 후, 객체의 특징과 객체의 클래스를 나타내는 메타데이터는 메타데이터 데이터베이스(256)에 저장될 수 있다.
이제, 객체 분류 모듈(416)에 의해 이용될 수 있는 특징들을 보다 상세하게 설명하겠다. 이하에서 설명할 훈련 알고리즘은 특징 세트
Figure 112018100330820-pct00001
=
Figure 112018100330820-pct00002
로부터 특징들의 서브 세트
Figure 112018100330820-pct00003
를 선택한다. 입력 패턴 X는
Figure 112018100330820-pct00004
의 요소들로 이루어진다.
Figure 112018100330820-pct00005
의 요소들은 객체의 영상 영역 R의 일부 변환(transformation)으로서 볼 수 있다. 따라서, X는 이하의 형태를 취할 수 있다.
Figure 112018100330820-pct00006
객체의 특징들
Figure 112018100330820-pct00007
,
Figure 112018100330820-pct00008
,...
Figure 112018100330820-pct00009
은 종횡비, 컬러, 에지 배향 및 정규화 포화(normalized saturation)와 같은 다수의 외관 특성들에 대응할 수 있지만, 그에 국한되는 것은 아니다. 또한, 특징들
Figure 112018100330820-pct00010
,
Figure 112018100330820-pct00011
,...
Figure 112018100330820-pct00012
은 외관 특성들의 특징 벡터들(예를 들어, 히스토그램 빈(histogram bin)들이 벡터 성분들에 대응하는 히스토그램)을 나타낼 수 있으며, 하나 이상의 객체 분류기들에 의해 이용되어 객체의 클래스(예를 들어, 유형)를 결정할 수 있다. 예를 들어, 객체의 영상의 다른 영역들(예를 들어, 서브윈도우들(subwindows))에 대해 객체의 에지 배향들의 히스토그램들이 구축될 수 있다. 다시 말해, 객체의 영상은 서브윈도우들로 분할될 수 있고, 서브윈도우들의 각 픽셀에 대해 에지 배향이 계산될 수 있다. 픽셀의 에지 배향은 가동(steerable) 필터를 이용하여(예를 들어, 다수의 방향으로 가우시안 미분 필터(Gaussian derivative filter)를 이용하여) 도출된다. 가동 필터를 이용하면 서브윈도우의 픽셀들에게 주 방향들(dominant directions)이 할당될 수 있게 되고, 그 서브윈도우에 대해 그 방향들의 히스토그램이 구축될 수 있게 된다. 예를 들어, 주어진 픽셀에 대해, 다수의 방향으로 가동 필터가 이용되어 다수의 응답들을 생성할 수 있으며 최대 방향 미분 응답(maximum directional derivative response)에 대응하는 방향이 픽셀의 방향으로서 할당된다.
객체 분류기들 중 하나에 대한 분류 문제는 일반적으로 분류기 함수
Figure 112018100330820-pct00013
에 의해 정의될 수 있으며, 입력 패턴 X에 의해 표시된 가시적 객체는,
Figure 112018100330820-pct00014
일 때, 객체 클래스의 일원(member)으로서 규정되고,
Figure 112018100330820-pct00015
일 때, 객체 클래스의 비-일원(non-member)으로서 규정된다. 일반적으로, 분류기 함수
Figure 112018100330820-pct00016
는 파라메타들의 세트로 파라메타화되며, 입력 패턴 X는 상술한 특징들로 구성된다. 각각의 관심 객체 클래스에 대해 특정 분류기
Figure 112018100330820-pct00017
가 훈련된다. 도 3a의 객체 분류 모듈(416)에 의해 표현된 멀티-클래스 분류 모델은 아래와 같이 수학적으로 정의될 수 있다.
Figure 112018100330820-pct00018
Figure 112018100330820-pct00019
이고
Figure 112018100330820-pct00020
이다.
여기에서, ω는 객체 클래스를 나타내며, Ω은 모든 객체 클래스들의 세트를 나타낸다.
주어진 가시적 객체 클래스에 대한 분류기 함수
Figure 112018100330820-pct00021
는 규칙들(예를 들어, 가시적 객체들의 크기 및 종횡비)을 정의함에 의해 구축될 수 있다. 분류기 함수는 훈련 데이터를 이용하여 기계 학습을 적용함으로써 훈련될 수 있다. 본 기술 분야에 알려진 바와 같이, 분류기를 훈련시키는 것은 주어진 가시적 객체를 보다 정확하게 분류하도록 그 분류기의 규칙들을 정제하기 위한 것이다. 훈련 데이터는 포지티브 훈련 견본들 및/또는 네거티브 훈련 견본들을 포함할 수 있다. 포지티브 훈련 견본들은 객체들의 특정 클래스에 속하는 것으로 확인되었던 가시적 객체의 사례를 지칭한다. 포지티브 훈련 견본들은, 포지티브 훈련 견본의 클래스내에 속하는 것으로 주어진 가시적 객체를 보다 정확하고 포지티브하게 분류하도록 그의 규칙들을 정제하기 위하여 분류기를 훈련시키는 작용을 한다. 네거티브 훈련 견본은 객체들의 특정 클래스에 속하지 않는 가시적 객체 또는 다른 가시적 표현의 사례를 지칭한다. 네거티브 훈련 견본은 분류기에 의해 객체들의 특정 클래스에 속하는 것으로 잘못 분류되었던 가시적 객체의 견본일 수 있다. 네거티브 훈련 견본은 분류기를 훈련시키는 작용을 한다.
객체 분류기를 훈련시키는 기계 학습은 콘볼루션 신경 네트워크들, 서포트(support) 벡터 기계, 결정 트리들, 랜덤 포레스트 및 다단계 분류기와 같이, 본 기술 분야에 알려진 임의 적당한 기계 학습 기법일 수 있지만, 그에 국한되는 것은 아니다.
객체 분류기의 훈련은 지도를 받을 수 있다. 지도 훈련에 있어서, 포지티브 훈련 견본 및/또는 네거티브 훈련 견본들은 인간 사용자에 의해 확인받은 것이다. 예를 들어, 큰 배치(large batch)의 영상들 중에서, 하나 이상의 인간 사용자는, 각 영상을 개별적으로 검사하여, 각 영상을 클래스(예를 들어, 인간, 자동차, 동물)에 속하는 가시적 객체를 나타내는 것으로 또는 가시적 객체를 포함하고 있지 않은 것으로 라벨링한다.
객체 분류기를 훈련시키는 것은 자율적(unsupervised)일 수 있다. 자율적 훈련에 있어서, 기본 분류기는 객체 검출 모듈(404)에 의해 검출된 객체와 같이, 하나 이상의 가시적 객체들을 초기에 분류하는데 이용된다. 기본 분류기에 의해 결정되는(예를 들어, 가시적 객체가 특정 객체 클래스에 속한다는 포지티브 결정) 분류 결과 및 가시적 객체는 기본 분류기의 추가 훈련을 위한 포지티브 훈련 견본으로서 이용될 수 있다. 객체들이 검출되지 않았던 영상 데이터는 객체 분류기를 훈련시키는 네거티브 훈련 견본으로서 이용될 수 있다. 자율적 훈련에 있어서, 포지티브 훈련 견본 또는 네거티브 훈련 견본으로서 이용되는 영상 데이터는 인간 사용자에 의해 검사받지 않는다.
본 명세서에서 기본 분류기는 어느 정도의 객체 분류를 실행하기 위하여 기계 학습의 애플리케이션을 통해 훈련되었던 및/또는 규칙들의 정의를 통해 구성되었지만 컴퓨터 구현 가시적 기계 언어를 이용한 추가 훈련을 통해 추가로 최적화될 수 있는 객체 분류기를 지칭한다.
도 4를 참조하면, 기본 분류기의 추가 훈련을 위한 방법(500)의 흐름도가 도시된다. 단일 기본 분류기의 훈련을 위한 방법(500)이 도시되었지만, 그 방법(500)은 복수의 기본 분류기들을 병렬로 훈련시키는 데 적용될 수 있다. 예를 들어, 본 명세서에서 설명한 바와 같이, 객체 분류 모듈(416)은 복수의 객체 분류기들을 포함할 수 있으며, 각각의 분류기는, 가시적 객체가 특정 유형의 클래스에 속하는지를 결정하도록 동작할 수 있다. 따라서, 객체 분류 모듈(416)의 복수의 객체 분류기들은 거기에 제공되는 훈련 견본들에 기초하여 함께 훈련될 수 있다. 예를 들어, 특정 클래스의 전경 가시적 객체인 훈련 견본은 동일한 클래스에 속하는 분류기에 대한 포지티브 훈련 견본으로서 이용될 수 있다.
504에서, 기본 분류기가 제공된다. 기본 분류기는 가시적 훈련 견본을 이용하여 기계 학습의 애플리케이션을 통해 추가로 훈련될 수 있는 임의 객체 분류기일 수 있다.
508에서, 하나 이상의 훈련 견본들이 수신될 수 있다. 훈련 견본들은, 자동적으로 마련되거나 지도 환경하에 마련될 수 있는, 포지티브 훈련 견본들 및/또는 네거티브 훈련 견본들일 수 있다.
512에서, 기본 분류기는 508에서 입력으로서 수신된 훈련 견본들을 이용하여 기본 분류기에 기계 학습을 적용함으로써 추가 훈련될 수 있다.
일부 실시 예들에 있어서, 기본 분류기의 갱신이 반복 프로세스를 따르도록 단계 508 및 512가 반복됨을 알 수 것이다. 즉, 복수의 훈련 견본들의 제 1 배치(batch)는 제 1 반복에서 기계 학습에 의해 기본 분류기를 훈련시키는데 적용될 수 있다. 복수의 훈련 견본들의 제 2 배치는 후속하는 제 2 반복에서 기계 학습에 의해 분류기를 추가 훈련시키는데 적용될 수 있다.
516에서, 단계 508 및 512 이후의 훈련된 기본 분류기는 전경 가시적 객체들의 분류를 위해 현장에 전개될 수 있다.
일부 예시에 있어서, 단계 508 및 512로부터의 기본 분류기의 훈련은 516에서의 훈련된 분류기의 전개전에 실행될 수 있다.
다른 예시들에 있어서, 단계 508 및 512에서의 기본 분류기의 훈련은, 객체 분류기가 현장에 이미 전개되었음에도, 실행될 수 있다. 훈련 견본은, 비디오 포착 디바이스가 현장에 전개된 경우에 그 디바이스의 시계내에 존재하는 실제 객체(real-world object)들의 가시적 표현일 수 있다. 예를 들어, 기본 분류기는 초기에 전개되어, 전개 동안에 현장에서 검출된 전경 가시적 객체들(508)로부터 점진적으로 훈련될 수 있다.
훈련 견본들로서 이용된 가시적 객체는, (예를 들어, 인간 사용자에 의해 가시적으로 검사되는) 지도 방식으로 또는 (예를 들어, 컴퓨터 규현 객체 분류기에 의해 분류되는) 자율 방식으로 클레스에 속한 것으로서 식별될 수 있다.
도 5를 참조하면, 하나의 예시적인 실시 예에 따른 기본 분류기의 추가 훈련을 위한 개선된 컴퓨터 구현 방법(540)의 흐름도가 도시된다. 그 방법(540)은 단일 기본 분류기의 훈련에 대해 도시되었지만, 그 방법(540)은 병렬로 된 복수의 기본 분류기들의 훈련에 적용될 수 있다. 예를 들어, 본 명세서에 설명된 바와 같이, 객체 분류 모듈(416)은 복수의 객체 분류기들을 포함하며, 각 분류기는, 가시적 객체가 특정 클래스에 속하는지의 여부를 결정하도록 동작할 수 있다. 따라서, 객체 분류 모듈(416)의 복수의 객체 분류기들은 거기에 제공되는 훈련 견본들에 기초하여 함께 훈련될 수 있다. 예를 들어, 특정 클래스의 가시적 객체인 훈련 견본은 동일 클래스에 속하는 분류기에 대한 포지티브 훈련 견본으로서 이용될 수 있다.
504에서, 기본 분류기가 제공된다. 기본 분류기는 가시적 객체 훈련 견본들을 이용하는 기계 학습의 애플리케이션을 통해 추가로 최적화될 수 있는 임의 객체 분류기일 수 있다.
544에서, 장면을 나타내는 영상 데이터내에서 전경 가시적 객체가 검출된다. 본 명세서에서 장면은 시간 간격에 걸쳐 비디오 포착 디바이스의 시계내에 포착된 가시적 표현을 지칭한다. 비디오 포착 디바이스는 그의 시계가 변경되지 않은 채 유지되도록 이러한 시간 간격에 걸쳐 정적이다. 따라서, 그 시간 간격에 걸쳐 포착되는 장면은 변경되지 않은 채 유지되지만, 그 장면내의 객체(예를 들어, 사람, 자동차, 다른 객체)는 그 시간 간격에 걸쳐 변경중일 수 있다. 그 장면의 가시적 표현은 그 시간 간격에 걸쳐 비디오 포착 디바이스에 의해 생성된 영상 데이터의 영상 프레임일 수 있다.
전경 가시적 객체는, 또한, 사람 조작자 또는 컴퓨터 구현 모듈에 의해 특정 클래스에 속하는 것으로서 포지티브하게 분류될 수 있다. 검출되는 전경 가시적 객체는 장면의 서브 영역내에 위치한다. 예를 들어, 장면의 서브 영역은, 검출된 전경 가시적 객체가 위치한 영상 데이터의 영상 프레임의 일부에 대응한다. 예를 들어, 장면의 서브 영역은 검출된 전경 가시적 객체를 가시적으로 식별하는 객체 검출 모듈(404)에 의해 묘사된 바운딩 박스에 의해 구획된 영상 프레임의 서브 영역에 대응할 수 있다.
548에서, 검출된 가시적 객체의 배경 모델이 검출된다. 배경 모델은 장면 또는 그의 서브 영역의 가시적 표현이지만, 임의 전경 가시적 객체는 장면 또는 서브 영역에 없다. 검출된 전경 가시적 객체의 배경 모델은, 검출되는 전경 가시적 객체가 위치한 장면의 서브 영역의 배경 모델이다.
예를 들어, 544에서 검출된 전경 가시적 객체가 인간이고, 그 인간이 위치한 방(room)의 영역에 장면의 서브 영역이 대응되는 경우, 그 서브 영역의 배경 모델은 그 인간 또는 임의 다른 인간이 존재하지 않은 방의 그 영역을 나타낸다.
예를 들어, 544에서 검출된 전경 가시적 객체가 자동차이고, 그 자동차가 위치한 주차장의 일부에 그 장면의 서브 영역이 대응하면, 그 서브 영역의 배경 모델은, 그 차량 또는 임의 다른 자동차가 존재하지 않은 주차장의 그 부분을 나타낸다.
552에서, 기본 분류기는, 포지티브 훈련 견본으로서 544에서 검출된 전경 가시적 객체를 이용하여 기본 분류기에 기계 학습을 적용함으로써 추가로 선택적으로 훈련된다.
556에서, 기본 분류기는 네거티브 훈련 견본으로서 검출된 전경 가시적 객체의 배경 모델을 이용하여 기본 분류기에 기계 학습을 적용함으로써 추가로 훈련된다.
검출되고/되거나 분류된 복수의 가시적 객체들에 대해 단계 544 내지 556이 반복될 수 있다. 544에서 검출된 각각의 가시적 객체에 대하여, 가시적 객체가 위치한 장면의 서브 영역에 특정된 배경 모델은 548에서 결정되고 556에서 기본 분류기를 훈련시키는데 적용된다.
다른 예시에 있어서, 기본 분류기는 복수의 훈련 견본들의 배치를 이용하여 기본 분류기에 기계 학습을 적용함으로써 훈련될 수 있다. 이 배치는 복수의 서로 다른 장면들의 서브 영역들에서 검출된 전경 가시적 객체의 복수의 배경 모델들을 포함한다.
일부 실시 예에 있어서, 기본 분류기의 갱신이 반복 프로세스를 따르도록 단계 544 및 556이 반복됨을 알 것이다. 즉, 하나 이상의 훈련 견본들의 제 1 배치는 제 1 반복에서 기계 학습에 의해 기본 분류기를 훈련시키는데 적용될 수 있다. 복수의 훈련 견본들의 제 2 배치는, 후속하는 제 2 반복에서 제 1 반복 이후에 훈련된 것으로써 기본 분류기를 기계 학습에 의해 추가 훈련시키는데 추가 적용될 수 있다.
516에서, 단계 556 및 선택적으로 단계552 이후 훈련된 기본 분류기는 추가적인 전경 가시적 객체들의 분류를 위해 현장에 전개된다.
본 명세서에 설명된 바와 같이, 기본 분류기의 훈련은 훈련된 분류기의 전개전에 또는 객체 분류기가 현장에 이미 전개되었음에 불구하고 실행될 수 있다.
도 6a 내지 6f는 장면들의 서브 영역들에서 검출된 전경 가시적 객체들 및 그들의 대응하는 배경 모델을 도시한 도면이다. 예를 들어, 도 6a에는 보도(sidewalk)의 세그먼트상에 걷고 있는 사람이 도시된다. 걷고 있는 사람은 검출되는 전경 가시적 객체이다. 도 6b에는 도 6a의 가시적 객체의 배경 모델이 도시된다. 배경 모델은, 걷고 있는 사람 또는 임의 다른 전경 가시적 객체가 존재하지 않는 보도의 동일 세그먼트를 보여줌을 알 수 있을 것이다.
도 6c에는 계단을 내려가는 사람이 도시된다. 그 사람은 검출되는 전경 가시적 객체이다. 도 6d에는 도 6c의 전경 가시적 객체의 배경 모델이 도시된다. 그 배경 모델은 사람 또는 임의 다른 전경 가시적 객체가 없는 동일 계단을 보여줌을 알 것이다.
도 6e에는 도로의 세그먼트상에서 주행하는 자동차가 도시된다. 그 자동차는 검출되는 전경 가시적 객체이다. 도 6f에는 도 6e의 전경 가시적 객체의 배경 모델이 도시된다. 배경 모델은, 자동차 또는 임의 다른 전경 가시적 객체가 없는 도로의 동일 세그먼트를 보여줌을 알 것이다.
다양한 예시적인 실시 예에 따르면, 검출된 가시적 객체의 배경 모델은 이력 영상 프레임으로부터 결정된다. 비디오 포착 디바이스에 의해 포착된 비디오를 형성하는 영상 데이터의 일련의 영상 프레임들 중 현재 영상 프레임의 주어진 서브 영역내에서 전경 가시적 객체가 검출된다. 이력 영상 프레임은, 이전 영상 프레임에 전경 가시적 객체 및 임의 다른 전경 가시적 객체가 없는 영상 프레임들의 시퀀스에 있어서의 이전 영상 프레임이다. 이 경우, 현재 영상 프레임과 이력 영상 프레임은 동일 장면을 나타낸다. 즉, 비디오 포착 디바이스는, 비디오 포착 디바이스가 동일 장면을 포착하고 있도록, 이력 영상 프레임 시간과 현재 영상 프레임 시간간에 정적(즉, 움직임이 없는)이다. 전경 가시적 객체가 위치한 현재 영상 프레임의 서브 영역에 대응하는 이력 영상 프레임의 주어진 서브 영역은 이력 영상 프레임으로부터 크로핑된다. 이러한 방식으로 크로핑된 이력 영상 프레임은 검출된 전경 가시적 객체의 배경 모델이다. 이와 같이 크로핑된 이력 영상 프레임은 556에서 기본 분류기를 추가 훈련시키기 위한 네거티브 훈련 견본으로서 제공된다.
다양한 예시적인 실시 예에 따르면, 전체 장면의 완전한 배경 모델이 초기에 구축될 수 있다. 그 다음, 장면의 주어진 서브 영역의 배경 모델이 완전한 배경 모델로부터 추출될 수 있다.
예를 들어, 전경 가시적 객체들의 발생이 많지 않은 것과 같은, 덜 복잡한 장면(less busy scene)에서는, 전경 객체가 전혀 없는 단일 이력 영상 프레임이 완전한 배경 모델로서 이용될 수 있다.
보다 복잡한 장면(busier scene)에서는, 장면내에 언제라도 적어도 하나의 전경 가시적 객체가 항상 존재할 것이다. 그러한 장면들의 경우, 복수의 이력 영상 프레임들로부터 서로 다른 서브 영역들을 결집시켜 완전한 배경 모델을 형성함에 의해 완전한 배경 모델이 구축될 수 있다.
하나의 예시에 따르면, 복수의 이력 영상 프레임들이 선택된다. 이들 이력 영상 프레임들의 각각은 임의 전경 객체들이 없는 영상 프레임의 적어도 하나의 서브 영역을 포함한다.
각각의 선택된 이력 영상 프레임 중 임의 전경 객체가 없는 하나 이상의 서브 영역들의 좌표가 결정된다. 이들 서브 영역들은 그들 각자의 이력 영상 프레임으로부터 크로핑될 수 있다.
그 다음, 복수의 이력 영상들로부터 크로핑된 서브 영역들이 결집되어 결집된 영상을 형성한다. 전체 장면을 나타내는 결집된 영상은 복수의 이력 영상 프레임들을 적절히 선택함에 의해 획득될 수 있으며, 그에 따라, 임의 전경 객체들이 없는 이들 프레임들의 서브 영역들이 집합적으로 전체 장면을 커버(cover)한다. 따라서, 결집된 영상은 장면의 완전한 배경 모델을 형성한다. 예를 들어, 복수의 이력 영상들로부터 크로핑된 영상 서브 영역들은 본 기술 분야에 알려진 봉합 방법에 따라 결집된 영상을 형성하도록 함께 봉합될 수 있다.
따라서, 장면의 주어진 서브 영역내에서 전경 가시적 객체를 검출한 후, 가시적 객체가 검출되는 주어진 서브 영역에 대응하는 결집된 영상의 서브 영역을 크로핑함에 의해 그 서브 영역의 배경 모델이 획득될 수 있다.
도 7a에는 플라자(plaza)인 예시적 장면을 나타내는 제 1 전체 이력 영상프레임이 도시된다. 식탁 영역 및 잔디 영역의 일부를 커버하는 제 1 서브 영역(700)은 임의 전경 가시적 객체가 없음을 알 것이다. 따라서, 제 1 서브 영역(700)은 완전한 배경 모델을 형성하기 위해 결집될 서브 영역들 중 하나로서 이용될 수 있다. 그러나, 계단을 커버하는 제 2 서브 영역(708)은 거기에 위치한 사람을 가지고 있다. 이러한 제 1 전체 이력 영상 프레임에 있어서의 제 2 서브 영역(708)이 전경 가시적 객체를 포함하고 있기 때문에, 그것은 완전한 배경 모델을 구축하는데 이용될 수 없다.
도 7b에는 플라자의 동일 장면을 나타내는 제 2 전체 이력 영상 프레임이 도시된다. 제 2 전체 이력 영상 프레임은 제 1 전체 이력 영상 프레임보다 낮은 시점에 포착되었다. 제 2 전체 이력 영상 프레임에 있어서의 제 2 서브 영역(708)은 전경 가시적 객체가 없음을 알 수 있을 것이다. 제 1 전체 이력 영상 프레임에서 계단에 있었던 사람은, 현재, 계단을 완전히 내려갔다. 따라서, 제 2 전체 이력 영상 프레임에 있어서의 이러한 제 2 서브 영역(708)은 완전한 배경 모델을 형성하기 위해 결집될 서브 영역들 중 하나로서 이용될 수 있다. 완전한 배경 모델을 형성하는데 적당한 그 장면의 다른 서브 영역들이 동일한 방식으로 결정될 수 있다.
도 8을 참조하면, 대안적인 예시적 실시 예에 따른 기본 분류기의 추가 훈련을 위한 개선된 컴퓨터 구현 방법(558)의 흐름도가 도시된다. 대안적인 예시적 방법(558)은 방법(540)과 동일한 단계들을 포함하되, 추가적인 단계들 560 및 564를 포함한다.
560에서, 장면의 잘못 분류된 서브 영역이 제공된다. 장면의 잘못 분류된 서브 영역이란, 서브 영역이 특정 클래스의 임의 객체를 실제로 포함하고 있지 않은 경우에 그 특정 클래스에 속하는 객체를 포함하는 것으로서 서브 영역을 잘못 분류했던 서브 영역을 지칭한다.
잘못 분류된 서브 영역은, 객체 분류기에 의해 분류된 객체들이 객체 분류기에 의해 잘못 분류되었음을 식별하는 사람에 의해 검토되는 지도 환경에서 결정될 수 있다.
잘못 분류된 서브 영역은 부분적 지도 환경(partly supervised environment) 또는 완전한 지도 환경(wholly supervised environment)에서 결정될 수 있다. 일 예시에 있어서, 객체들이 없는 영상 프레임들의 서브 영역들은 객체 분류기로 피딩(feeding)된다. 서브 영역이 (배경이 아닌) 특정 클래스에 속하는 객체를 포함한다고 하는 객체 분류기에 의한 임의 분류는 잘못된 것일 것이며, 잘못된 서브 영역으로 식별된다.
잘못 분류된 서브 영역이 식별되는 장면은, 544에서 전경 가시적 객체가 검출되는 장면과 동일한 장면일 수 있다. 대안적으로, 잘못 분류된 서브 영역의 장면은, 전경 가시적 객체가 검출되는 장면과 다를 수 있다.
564에서, 기본 분류기는 잘못 분류된 서브 영역을 네거티브 훈련 견본으로서 사용하여 기본 분류기에 기계 학습을 적용함에 의해 추가로 훈련된다.
516에서, 검출된 가시적 객체, 잘못 분류된 서브 영역 및 선택적으로 검출된 가시적 객체의 배경 모델로부터 훈련된 분류기는 추가로 검출된 가시적 객체들의 분류를 위해 전개된다.
도 9를 참조하면, 하나의 예시적인 실시 예에 따른 기본 분류기의 장면 특정적 훈련을 위한 개선된 컴퓨터 구현 방법(600)의 흐름도가 도시된다. 예시적인 방법(600)의 다양한 단계들은 예시적인 방법(540)의 단계들과 유사하거나 동일하며, 예시적인 방법(540)에 대해 제공된 설명은 예시적인 방법(600)에 적용 가능함으로 알 수 있을 것이다. 또한, 대안적인 예시적인 방법(560)에 따라 장면 특정 방법(600)이 적용될 수 있음을 알 수 있을 것이다.
504에서, 기본 분류기가 제공된다.
기본 분류기를 제공하는 것에 후속하여, 기본 분류기의 훈련이 시작된다. 기본 분류기는 특히 현재 실제 장면에 대해 훈련된다. 현재 장면은 특정 위치에 위치하고 특정 방향으로 배향된 특정 카메라의 시계에 대응할 수 있다.
544에서, 전경 가시적 객체는 현재 장면을 나타내는 영상 데이터내에서 검출된다.
548에서, 검출된 객체의 배경 모델이 결정된다.
552에서, 기본 분류기는, 554에서 현재 장면으로부터 검출된 전경 가시적 객체들을 포지티브 훈련 견본으로서 이용하여 기본 분류기에 기계 학습을 적용함에 의해 선택적으로 훈련된다.
556에서, 기본 분류기는, 548에서 결정된 전경 가시적 객체의 배경 모델을 네거티브 훈련 견본으로서 이용하여 기본 분류기에 기계 학습을 적용함으로써 훈련된다.
516에서, 기본 분류기는 전경 가시적 객체들에 기초하여 훈련되고/되거나, 현재 장면의 배경 모델들은 현재 장면에서 발견되는 객체들을 분류하기 위해 전개된다.
현재 장면이 변경되지 않은 채로 유지되면, 단계 544 내지 556이 반복되어, 현재 장면에서 발견되는 복수의 훈련 견본들을 이용하여 기계 학습을 적용함으로써 기본 분류기를 추가로 훈련시킬 수 있다. 본 명세서에서 설명한 바와 같이, 단계 544 내지 556은, 기본 분류기의 갱신이 반복 프로세스를 따르도록, 반복될 수 있다.
608에서, 현재 장면이 변경되었는지가 결정된다. 현재 장면에 있어서의 그러한 변경은 장면을 포착하고 있던 카메라의 위치에 있어서의 변경으로 인해 발생할 수 있다. 그러한 변경은 장면을 포착하고 있던 카메라의 배향에 있어서의 변경으로 인해 발생할 수 있다. 그러한 변경은 카메라 또는 카메라의 동작 모드(예를 들어, 일반 광에서 낮은 광 모드로의 절환)에 의해 적용된 줌에 있어서의 큰 변경과 같이, 장면을 포착하고 있던 카메라의 세팅에 있어서의 변경으로 인해 발생할 수 있다.
608에서 장면이 변경되지 않은 채 유지되면, 방법(600)은 544로 복귀하여 장면내에서 추가적인 가시적 객체들을 검출하고 분류한다. 대안적으로, 그 방법(600)은 516으로 복귀하여, 현재 장면에 대해 단계 544 내지 556으로부터 훈련된 객체 분류기를 계속 전개할 수 있다.
608에서 장면이 변경되면, 그 방법은 단계 616으로 진행하여 적어도 부분적으로 기본 분류기로 되돌아간다. 일부 예시에 있어서, 516에서 현재 전개중인 객체 분류기는, 장면에 변경이 있으면, 기본 분류기로 완전히 되돌아간다.
616에서 기본 분류기로 되돌아간 후, 그 장면에 있어서의 변경으로부터 결과하는 새로운 장면이 현재 장면으로서 설정될 수 있다. 그 방법(600)은 544로 복귀하여 새로운 현재 장면내에서 발견되는 전경 가시적 객체들을 검출 및 분류할 수 있다. 이들 객체들 및/또는 이들 객체들에 대응하는 배경 모델들은 단계 616에서 되돌아간 후 기본 분류기를 갱신하는데 적용될 수 있다.
기본 분류기로 되돌아가는 것은, 초기 장면의 특성들에 따른 기본 분류기의 훈련이 후속하는 장면에 적용될 수 없도록, 초기 장면 및 후속 장면의 특성들이 크게 다른 상황에서 유용할 수 있다. 기본 분류기로 되돌아가면, 그 분류기는 후속하는 장면의 특성들에 대해 특정하게 유지될 수 있게 된다.
하나의 실험에 따르면, 훈련 견본들의 서로 다른 세트를 이용하여 훈련될 때의, 기본 분류기(Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton, "ImageNet Classification with deep convolution neural networks", NIPS 2012에 설명된 "AlexNet"로서 알려진 딥 콘볼루션 신경 네트워크(deep convolution neural network)의 특징 기법)의 성능이 평가되었다.
실험
훈련 견본들은 VIRAT 데이터세트(http://www.viratdata.org)로부터 획득되었다. 이 데이터세트는 여러 동적 카메라들로부터의 300개 초과의 비디오들을 포함한다. 인간 클래스의 가시적 객체들과 자동차 클래스의 가시적 객체들이 VIRAT 데이터세트로부터 추출되었으며, 제 1 세트의 훈련 견본들로서 이용되었다. 배경 모델은 훈련 견본으로서 이용된 각각의 가시적 객체에 대해 결정되었다. 이들 배경 모델들은 제 2 세트의 훈련 견본들로서 이용된다.
인간 클래스와 자동차 클래스에 추가하여, 배경 클래스에 속하는 훈련 견본들이 VIRAT 데이터세트로부터 추출되었다. 배경 클래스 훈련 견본들을 생성하기 위하여, 인간 클래스의 전경 가시적 객체와 자동차 클래스의 전경 가시적 객체를 포함하지 않은 영상 샘플들이 마련되었다. 각 영상 샘플은 VIRAT 데이터세트에서 발견된 비디오들의 영상 프레임의 크로핑된 부분이다. 신경 네트워크 분류기에 기초하지 않는 것과 같은, 간단한 객체 분류기가 이들 영상 샘플들을 분류하는데 이용된다. 간단한 분류기가, 영상 샘플들 중 임의 샘플을, 사람 클래스 또는 자동차 클래스내에 속하는 가시적 객체를 포함하는 것으로서 분류할 때, 잘못된 분류가 발생한다. 이들 잘못 분류된 영상 샘플들은 제 3 세트의 훈련 견본들내에 포함된다.
VIRAT 데이터세트로부터 추출된 훈련 견본들에 의해 훈련될 기본 분류기로서 AlexNet 분류기가 제공된다. (caffe.berkeleyvision.org에서 입수 가능한) Berkeley Vision and Learning Center로부터의 Caffe 딥 학습 프레임워크를 이용하여 기본 분류기를 훈련시키는데 포지티브 및 네거티브 훈련 견본들이 적용된다. Tesla K80 GPU에 대해 기본 분류기의 갱신이 실행되었다.
그 실험의 제 1 부분에 있어서, 기본 분류기는 제 1 세트의 견본들을 포지티브 훈련 견본들(100개의 포지티브 훈련 견본들)로서 적용하고 제 2 세트의 훈련 견본들을 네거티브 훈련 견본들(100개의 네거티브 훈련 견본들)로서 적용함에 의해 훈련되었다. 이러한 기본 분류기의 훈련은 훈련된 제 1 테스트 분류기를 생성하였다.
그 실험의 제 2 부분에 있어서, 기본 분류기는 제 1 세트의 견본들을 포지티브 훈련 견본들(100개의 포지티브 훈련 견본들)로서 적용하고 제 3 세트의 훈련 견본들을 네거티브 훈련 견본들(100개의 네거티브 훈련 견본들)로서 적용함으로써 훈련되었다. 기본 분류기의 이러한 훈련은 훈련된 제 2 테스트 분류기를 생성하였다.
그 실험의 제 3 부분에 있어서, 기본 분류기는 제 1 세트의 견본들을 포지티브 훈련 견본들(100개의 포지티브 훈련 견본들)로서 적용하고 제 2 세트의 훈련 견본들과 제 3 세트의 훈련들의 혼합을 네거티브 훈련 견본들로서 적용함으로써 훈련되었다. 보다 정밀하게, 제 2 세트로부터의 50개의 훈련 견본들과 제 3 세트로부터의 50개의 훈련 견본들이 기본 분류기를 훈련시키기 위한 네거티브 훈련 견본들로서 적용되었다. 이러한 기본 분류기의 훈련은 훈련된 제 3 테스트 분류기를 생성하였다.
훈련된 제 1 테스트 분류기, 훈련된 제 2 테스트 분류기 및 훈련된 제 3 테스트 분류기의 각각은 내부 비디오 데이터세트(in-house video dataset)로부터의 비디오들의 테스트 세트에 대한 객체 분류를 위해 전개되었다. 각 분류기를 전개할 때의 오차율이 측정되었다. 가시적 객체가 잘못 분류될 경우 또는 (예를 들어, 전경 가시적 객체가 없는) 배경 영상이 인간 클래스 또는 자동차 클래스내의 가시적 객체인 것으로 분류될 경우, 오차가 발생된 것으로 간주되었다.
표 1은 비디오들의 테스트 세트에 포함된 전경 가시적 객체들을 분류하기 위해 전개된 경우의 훈련된 제 1 테스트 분류기의 성능을 도시한 오차 매트릭스이다.
분류 (%)
사람 자동차 배경
실제 사람 36.26 9.58 3.26
자동차 0.94 26.78 0.29
배경 0.14 0.15 22.60
표 2는 비디오들의 테스트 세트에 포함된 전경 가시적 객체들을 분류하기 위해 전개된 경우의 훈련된 제 2 테스트 분류기의 성능을 도시한 오차 매트릭스이다.
분류 (%)
사람 자동차 배경
실제 사람 38.80 8.56 1.74
자동차 4.49 23.36 0.16
배경 0.32 0.14 22.42
표 3은 비디오들의 테스트 세트에 포함된 전경 가시적 객체들을 분류하기 위해 전개된 경우의 훈련된 제 3 테스트 분류기의 성능을 도시한 오차 매트릭스이다.
분류 (%)
사람 자동차 배경
실제 사람 43.26 4.72 1.11
자동차 3.49 24.39 0.14
배경 0.34 0.12 22.43
훈련된 제 1 테스트 분류기의 오차율은 14.36% 이고, 훈련된 제 2 테스트 분류기의 오차율은 15.42% 이며, 훈련된 제 3 테스트 분류기의 오차율은 9.92%이다.
기본 분류기(훈련된 제 1 테스트 분류기 및 훈련된 제 3 테스트 분류기)를 훈련시키기 위한 전경 가시적 객체들의 배경 모델들을 이용하면, 배경 모델들이 훈련 견본들로서 이용되지 않았던 훈련된 제 2 테스트 분류기보다 낮은 오차율을 나타냈음을 알 수 있을 것이다. 낮은 오차율은 개선된 성능의 표시자이다. 보다 중요하게도, 전경 가시적 객체들 및 배경 클래스 객체들의 배경 모델들을 함께 조합하여 네거티브 훈련 견본들로서 이용하면 크게 개선된 성능(훈련된 제 2 테스트 분류기에 비해 35.6% 낮은 오차율)을 나타냈음을 알 수 있을 것이다.
특정 이론에 얽매이지 않고, 검출된 가시적 객체들의 배경 모델들을 분류기를 훈련시키기 위한 네거티브 훈련 견본들로서 이용하면, 분류기가 장면의 객체들을 잘못 분류할 빈도를 크게 줄이는데, 그렇지 않을 경우 그 장면의 객체들은 장면의 배경의 일부를 형성할 것이다.
도 6c를 참조하면, 영상에 보여진 장면의 서브 영역은 사람 및 가로등 기둥을 포함함을 알 수 있을 것이다. 사람은 전경 가시적 객체이며, 가로등 기둥은 장면의 배경의 일부를 형성한다. 그러나, 이 서브 영역이 포지티브 훈련 견본으로서 이용되면, 기본 분류기는 가로등 기둥을 사람 클래스의 전경 가시적 객체로서 인식하도록 훈련받는다. 예를 들어, 장면의 이러한 서브 영역이 관심있는 객체(예를 들어, 빈번하게 이용된 통로, 좁은 길 또는 도로)를 가질 실제 위치에 대응하면, 가로등 기둥이 포지티브 훈련 견본들로서 각각 이용되는 다수의 서브 영역들에 나타날 수 있다. 이것은, 분류기가 가로등 기둥을 사람 클래스의 객체의 사례로서 인식하도록 훈련받을 확률을 증가시킬 수 있다. 서브 영역의 배경 모델을 네거티브 훈련 견본으로서 이용하면 가로등 기둥이 장면의 배경의 일부를 형성한다고 분류기를 훈련시킴에 의해 이러한 효과를 적어도 부분적으로 반감시킨다.
유사하게, 도 6f에 도시된 배경 모델을 이용하여 분류기를 훈련시킴에 의해, 분류기는 수직 빔(vertical beam)을 배경의 일부를 형성하는 것으로 인식하도록 훈련받으며, 그에 의해 그와 유사한 수직 빔 또는 객체를 인간 클래스 또는 자동차 클래스에 속하는 것으로서 분류할 가능성이 줄어들게 된다.
보다 구체적으로, 특정 이론에 얽매임이 없이, 배경 모델을 이용하여 분류기를 훈련시키면, 그 분류기는, 장면의 배경의 일부를 형성하는 실제 객체가 배경 객체인 것으로 정확하게 인식하도록 훈련받게 된다. 예를 들어, 전경 가시적 객체가 가끔씩 검출될 장면의 서브 영역에 있어서, 그 서브 영역의 배경 모델을 네거티브 훈련 견본으로서 이용하면, 그 분류기가, 배경의 일부를 형성하는 객체를 특정 클래스에 속하는 전경 가시적 객체로서 잘못 분류하도록 훈련받을 확률이 감소된다.
상술한 설명이 실시 예들의 예시를 제공하지만, 설명된 실시 예의 일부 특징 및/또는 기능들이 설명된 실시 예의 동작의 사상 및 원리를 벗어나지 않고도 쉽게 수정될 수 있음을 알 수 있을 것이다. 따라서, 상기에서 설명된 것은 비 제한적 설명이었으며, 본 기술 분야의 숙련자라면, 본 발명의 사상을 벗어나지 않고도 본 명세서에 첨부된 청구항들에 정의된 것으로 다른 변형 및 수정이 이루어질 수 있음을 알 것이다.

Claims (21)

  1. 컴퓨터 구현 객체 분류기를 훈련시키는 방법으로서,
    비디오 포착 디바이스의 시계(field of view)내의 장면의 서브 영역내에서 전경 가시적 객체를 검출하고;
    장면의 서브 영역의 배경 모델 - 배경 모델은 전경 가시적 객체가 없을 때의 서브 영역을 나타냄 - 을 결정하며;
    서브 영역의 배경 모델을 제 1 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키고, 상기 객체 분류기는 현재 장면에 대해 특정하게 훈련받고,
    현재 장면이 새로운 장면으로 변경되면, 현재 장면에 특정되는 훈련없이 객체 분류기로 되돌아가고,
    새로운 장면으로부터의 배경 모델을 이용하여 기계 학습으로 객체 분류기를 훈련시키는 것을 구비하는
    컴퓨터 구현 객체 분류기 훈련 방법.
  2. 제 1 항에 있어서,
    검출된 전경 가시적 객체를 포티지브 훈련 견본으로서 이용하여 기계 학습으로 객체 분류기를 훈련시키는 것을 추가로 구비하는
    컴퓨터 구현 객체 분류기 훈련 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    장면의 서브 영역의 배경 모델을 결정하는 것은,
    장면의 서브 영역에 대응하는 이력 영상 프레임(historical image frame)의 서브 영역에 전경 객체가 없을 때 포착된 이력 영상 프레임을 선택하고;
    장면의 서브 영역에 대응하는 서브 영역을 이력 영상 프레임으로부터 크로핑(cropping)하는 것을 구비하되,
    크로핑된 영상 프레임은 장면의 서브 영역의 배경 모델인,
    컴퓨터 구현 객체 분류기 훈련 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    장면의 서브 영역의 배경 모델을 결정하는 것은,
    복수의 이력 영상 프레임들의 각 프레임내에서, 전경 객체가 없는 하나 이상의 서브 영역들을 결정하고;
    복수의 이력 영상 프레임들로부터 하나 이상의 서브 영역들을 결집시켜 전체 장면을 나타내는 완전한 배경 영상을 형성하며;
    완전한 배경 영상으로부터 장면의 서브 영역에 대응하는 서브 영역을 크로핑하는 것을 구비하되,
    크로핑된 완전한 배경 영상은 장면의 서브 영역의 배경 모델인
    컴퓨터 구현 객체 분류기 훈련 방법.
  5. 제 4 항에 있어서,
    복수의 이력 영상 프레임들로부터 하나 이상의 서브 영역을 결집시키는 것은, 하나 이상의 서브 영역을 봉합(stitching)하여 전체 장면을 나타내는 영상을 형성하는 것을 구비하는
    컴퓨터 구현 객체 분류기 훈련 방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    객체 분류기는 부분적으로 지도 학습(supervised learning)을 이용하여 마련되는,
    컴퓨터 구현 객체 분류기 훈련 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    컴퓨터 구현 기계 학습은 콘볼루션 신경 네트워크인
    컴퓨터 구현 객체 분류기 훈련 방법.
  8. 제 1 항 또는 제 2 항의 방법에 따라 훈련되는 객체 분류를 위한 컴퓨터 구현 객체 분류기.
  9. 제 1 항 또는 제 2 항에 있어서, 장면의 잘못 분류된 서브 영역을 제 2 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 구비하는컴퓨터 구현 객체 분류기 훈련 방법.
  10. 컴퓨터 구현 객체 분류기를 훈련시키는 시스템으로서,
    프로세서; 및
    프로그램 명령어를 저장하는 컴퓨터-판독 가능 저장 디바이스를 포함하며,
    상기 프로그램 명령어는 시스템으로 하여금,
    비디오 포착 디바이스의 시계(field of view)내의 장면의 서브 영역내에서 전경 가시적 객체를 검출하고,
    장면의 서브 영역의 배경 모델 - 상기 배경 모델은 임의의 전경 가시적 객체가 없을 때의 서브 영역을 나타냄 - 을 결정하며,
    서브 영역의 배경 모델을 제 1 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키고, 객체 분류기는 현재 장면에 대해 특정하게 훈련받으며,
    현재 장면이 새로운 장면으로 변경되면, 현재 장면에 특정되는 훈련없이 객체 분류기로 되돌아가고,
    새로운 장면으로부터의 배경 모델을 이용하여 기계 학습으로 객체 분류기를 훈련시키는
    동작들을 수행하게 하는, 컴퓨터 구현 객체 분류기 훈련 시스템.
  11. 제 10 항에 있어서,
    상기 동작들은 검출된 전경 가시적 객체를 포티지브 훈련 견본으로서 이용하여 기계 학습으로 객체 분류기를 훈련시키는 것을 추가로 구비하는
    컴퓨터 구현 객체 분류기 훈련 시스템.
  12. 제 10 항 또는 제 11 항에 있어서,
    장면의 서브 영역의 배경 모델을 결정하는 것은,
    장면의 서브 영역에 대응하는 이력 영상 프레임(historical image frame)의 서브 영역에 전경 객체가 없을 때 포착된 이력 영상 프레임을 선택하고;
    장면의 서브 영역에 대응하는 서브 영역을 이력 영상 프레임으로부터 크로핑(cropping)하는 것을 구비하되,
    크로핑된 영상 프레임은 장면의 서브 영역의 배경 모델인,
    컴퓨터 구현 객체 분류기 훈련 시스템.
  13. 제 10 항 또는 제 11 항에 있어서,
    장면의 서브 영역의 배경 모델을 결정하는 것은,
    복수의 이력 영상 프레임들의 각 프레임내에서 전경 객체가 없는 하나 이상의 서브 영역들을 결정하고;
    복수의 이력 영상 프레임들로부터 하나 이상의 서브 영역들을 결집시켜 전체 장면을 나타내는 완전한 배경 영상을 형성하며;
    완전한 배경 영상으로부터 장면의 서브 영역에 대응하는 서브 영역을 크로핑하는 것을 구비하되,
    크로핑된 완전한 배경 영상은 장면의 서브 영역의 배경 모델인
    컴퓨터 구현 객체 분류기 훈련 시스템.
  14. 제 13 항에 있어서,
    복수의 이력 영상 프레임들로부터 하나 이상의 서브 영역을 결집시키는 것은, 하나 이상의 서브 영역을 봉합(stitching)하여 전체 장면을 나타내는 영상을 형성하는 것을 구비하는
    컴퓨터 구현 객체 분류기 훈련 시스템.
  15. 제 10 항 또는 제 11 항에 있어서,
    객체 분류기는 부분적으로 지도 학습(supervised learning)을 이용하여 마련되는,
    컴퓨터 구현 객체 분류기 훈련 시스템.
  16. 제 10 항 또는 제 11 항에 있어서,
    컴퓨터 구현 기계 학습은 콘볼루션 신경 네트워크인
    컴퓨터 구현 객체 분류기 훈련 시스템.
  17. 제 10 항 또는 제 11 항에 있어서,
    상기 동작들은 장면의 잘못 분류된 서브 영역을 제 2 네거티브 훈련 견본으로서 이용하여 컴퓨터 구현 기계 학습으로 객체 분류기를 훈련시키는 것을 더 포함하는
    컴퓨터 구현 객체 분류기 훈련 시스템.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020187029424A 2016-03-17 2017-03-14 기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법 KR102462572B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662309777P 2016-03-17 2016-03-17
US62/309,777 2016-03-17
PCT/CA2017/050334 WO2017156628A1 (en) 2016-03-17 2017-03-14 System and method for training object classifier by machine learning

Publications (2)

Publication Number Publication Date
KR20180135898A KR20180135898A (ko) 2018-12-21
KR102462572B1 true KR102462572B1 (ko) 2022-11-04

Family

ID=59850998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187029424A KR102462572B1 (ko) 2016-03-17 2017-03-14 기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법

Country Status (12)

Country Link
US (1) US10776926B2 (ko)
JP (1) JP7026062B2 (ko)
KR (1) KR102462572B1 (ko)
CN (1) CN109154976B (ko)
AU (1) AU2017233723B2 (ko)
CA (1) CA3017027A1 (ko)
DE (1) DE112017001311T5 (ko)
GB (1) GB2566369B (ko)
IL (1) IL261696B (ko)
SE (1) SE1851266A1 (ko)
TW (1) TWI759286B (ko)
WO (1) WO2017156628A1 (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594983B2 (en) 2013-08-02 2017-03-14 Digimarc Corporation Learning systems and methods
US10217001B2 (en) * 2016-04-14 2019-02-26 KickView Corporation Video object data storage and processing system
WO2018033156A1 (zh) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 视频图像的处理方法、装置和电子设备
WO2018033137A1 (zh) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 在视频图像中展示业务对象的方法、装置和电子设备
GB2560177A (en) 2017-03-01 2018-09-05 Thirdeye Labs Ltd Training a computational neural network
GB2560387B (en) 2017-03-10 2022-03-09 Standard Cognition Corp Action identification using neural networks
US10229322B2 (en) * 2017-04-06 2019-03-12 Ants Technology (Hk) Limited Apparatus, methods and computer products for video analytics
WO2018215837A1 (en) * 2017-05-23 2018-11-29 Prokopenya Viktor Increasing network transmission capacity and data resolution quality and computer systems and computer-implemented methods for implementing thereof
US11200692B2 (en) 2017-08-07 2021-12-14 Standard Cognition, Corp Systems and methods to check-in shoppers in a cashier-less store
US11250376B2 (en) 2017-08-07 2022-02-15 Standard Cognition, Corp Product correlation analysis using deep learning
US10474991B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Deep learning-based store realograms
US11232687B2 (en) 2017-08-07 2022-01-25 Standard Cognition, Corp Deep learning-based shopper statuses in a cashier-less store
US10650545B2 (en) 2017-08-07 2020-05-12 Standard Cognition, Corp. Systems and methods to check-in shoppers in a cashier-less store
US10853965B2 (en) 2017-08-07 2020-12-01 Standard Cognition, Corp Directional impression analysis using deep learning
US10474988B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US10692220B2 (en) * 2017-10-18 2020-06-23 International Business Machines Corporation Object classification based on decoupling a background from a foreground of an image
US20190149778A1 (en) * 2017-11-16 2019-05-16 Jungo Connectivity Ltd. Method for variable recording of a scene based on scene content
CN107818571B (zh) * 2017-12-11 2018-07-20 珠海大横琴科技发展有限公司 基于深度学习网络和均值漂移的船只自动跟踪方法及系统
EP3495771A1 (en) * 2017-12-11 2019-06-12 Hexagon Technology Center GmbH Automated surveying of real world objects
US10599958B2 (en) 2017-12-14 2020-03-24 Avigilon Corporation Method and system for classifying an object-of-interest using an artificial neural network
TWI664584B (zh) * 2017-12-27 2019-07-01 中華電信股份有限公司 影像式人流計數之特定人物排除系統及方法
US10475191B2 (en) * 2018-01-17 2019-11-12 Sensormatic Electronics, LLC System and method for identification and suppression of time varying background objects
EP3513730A1 (en) * 2018-01-18 2019-07-24 Koninklijke Philips N.V. System and method for image decomposition of a projection image
WO2019180666A1 (en) * 2018-03-21 2019-09-26 Seesure Computer vision training using paired image data
JP7001150B2 (ja) * 2018-05-07 2022-01-19 日本電気株式会社 識別システム、モデル再学習方法およびプログラム
CN108875676B (zh) * 2018-06-28 2021-08-10 北京旷视科技有限公司 活体检测方法、装置及系统
KR102112754B1 (ko) * 2018-07-06 2020-05-19 한국항공우주연구원 기계학습 기반의 영상 인식 방법 및 기계학습 기반의 영상 인식 시스템
CN111126107A (zh) * 2018-10-31 2020-05-08 杭州海康威视数字技术股份有限公司 一种信息确定方法、装置及电子设备
US11024037B2 (en) * 2018-11-15 2021-06-01 Samsung Electronics Co., Ltd. Foreground-background-aware atrous multiscale network for disparity estimation
CN109670532B (zh) * 2018-11-23 2022-12-09 腾讯医疗健康(深圳)有限公司 生物体器官组织图像的异常识别方法、装置及系统
US10902264B2 (en) * 2018-11-25 2021-01-26 International Business Machines Corporation Automatic generation of secondary class annotations
US10963757B2 (en) * 2018-12-14 2021-03-30 Industrial Technology Research Institute Neural network model fusion method and electronic device using the same
US11216953B2 (en) 2019-03-26 2022-01-04 Samsung Electronics Co., Ltd. Apparatus and method for image region detection of object based on seed regions and region growing
US11373298B2 (en) * 2019-03-28 2022-06-28 Canon Medical Systems Corporation Apparatus and method for training neural networks using small, heterogeneous cohorts of training data
US11556860B2 (en) * 2019-04-15 2023-01-17 International Business Machines Corporation Continuous learning system for models without pipelines
US11232575B2 (en) 2019-04-18 2022-01-25 Standard Cognition, Corp Systems and methods for deep learning-based subject persistence
KR102316557B1 (ko) * 2019-06-04 2021-10-25 주식회사 아이도트 자궁경부암 자동 진단 시스템
BR112021024432A2 (pt) * 2019-06-04 2022-02-01 Aidot Inc Sistema automático de diagnóstico de câncer cervical
US11232327B2 (en) * 2019-06-19 2022-01-25 Western Digital Technologies, Inc. Smart video surveillance system using a neural network engine
US11620570B2 (en) * 2019-06-24 2023-04-04 Kyndkyl, Inc. Self-learning ontology-based cognitive assignment engine
US11487973B2 (en) 2019-07-19 2022-11-01 UiPath, Inc. Retraining a computer vision model for robotic process automation
US11488310B1 (en) * 2019-09-30 2022-11-01 Amazon Technologies, Inc. Software-based image processing using an associated machine learning model
US11250260B2 (en) 2019-11-15 2022-02-15 Maxar Intelligence Inc. Automated process for dynamic material classification in remotely sensed imagery
US11010606B1 (en) 2019-11-15 2021-05-18 Maxar Intelligence Inc. Cloud detection from satellite imagery
US11386649B2 (en) 2019-11-15 2022-07-12 Maxar Intelligence Inc. Automated concrete/asphalt detection based on sensor time delay
US11216666B2 (en) * 2019-12-11 2022-01-04 Fujifilm Business Innovation Corp. Understanding normality of an environment using semantic information from images
KR102311798B1 (ko) * 2019-12-12 2021-10-08 포항공과대학교 산학협력단 다중 객체 추적 방법 및 장치
KR20230002318A (ko) * 2020-04-16 2023-01-05 인텔 코포레이션 머신들을 위한 패치 기반 비디오 코딩
TWI781410B (zh) * 2020-05-28 2022-10-21 國立雲林科技大學 光源光紋辨識系統及其方法
KR102436314B1 (ko) 2020-06-25 2022-08-24 정여빈 안면 인식 최적화를 위한 클라우드 시스템
US11303853B2 (en) 2020-06-26 2022-04-12 Standard Cognition, Corp. Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout
US11361468B2 (en) 2020-06-26 2022-06-14 Standard Cognition, Corp. Systems and methods for automated recalibration of sensors for autonomous checkout
KR102388335B1 (ko) * 2020-07-28 2022-04-19 계명대학교 산학협력단 샴 랜덤 포레스트를 이용한 다수 객체 추적 방법 및 장치
TW202205143A (zh) * 2020-07-30 2022-02-01 杰悉科技股份有限公司 影像物件標籤方法
US11443541B2 (en) * 2020-08-28 2022-09-13 Sensormatic Electronics, LLC Classification of person type in a visual medium
KR102576747B1 (ko) * 2020-11-06 2023-09-11 한국전자통신연구원 심층신경망을 기반으로 하는 객체 검출기의 지역 최적화를 위한 시스템 및 이를 위한 로컬 데이터베이스 생성 방법
CN112668410B (zh) * 2020-12-15 2024-03-29 浙江大华技术股份有限公司 分拣行为检测方法、系统、电子装置和存储介质
CN112560698B (zh) * 2020-12-18 2024-01-16 北京百度网讯科技有限公司 图像处理方法、装置、设备和介质
KR102612941B1 (ko) 2020-12-24 2023-12-12 주식회사 유인원테크 디지털 합성 안면 및 디지털 위조 안면 검증 시스템
KR102264252B1 (ko) * 2021-01-18 2021-06-14 보은전자방송통신(주) 압축 영상에서의 이동객체 검출방법 및 이를 수행하는 영상 감시 시스템
US11745766B2 (en) 2021-01-26 2023-09-05 Ford Global Technologies, Llc Unseen environment classification
TWI774258B (zh) * 2021-03-08 2022-08-11 瑞昱半導體股份有限公司 用於使用者介面的處理系統及處理方法
US11558550B1 (en) * 2021-06-28 2023-01-17 International Business Machines Corporation Privacy-protecting multi-pass street-view photo-stitch
US11335203B1 (en) * 2021-08-20 2022-05-17 Beta Air, Llc Methods and systems for voice recognition in autonomous flight of an electric aircraft

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040246336A1 (en) 2003-06-04 2004-12-09 Model Software Corporation Video surveillance system
JP2011059810A (ja) * 2009-09-07 2011-03-24 Nippon Soken Inc 画像認識システム
CN104424466A (zh) 2013-08-21 2015-03-18 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
JP2015187759A (ja) * 2014-03-26 2015-10-29 キヤノン株式会社 画像検索装置、画像検索方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4517409B2 (ja) * 1998-11-09 2010-08-04 ソニー株式会社 データ処理装置およびデータ処理方法
US7627171B2 (en) 2003-07-03 2009-12-01 Videoiq, Inc. Methods and systems for detecting objects of interest in spatio-temporal signals
US7421114B1 (en) 2004-11-22 2008-09-02 Adobe Systems Incorporated Accelerating the boosting approach to training classifiers
US7676081B2 (en) * 2005-06-17 2010-03-09 Microsoft Corporation Image segmentation of foreground from background layers
US7929729B2 (en) * 2007-04-02 2011-04-19 Industrial Technology Research Institute Image processing methods
US8150098B2 (en) * 2007-12-20 2012-04-03 Eastman Kodak Company Grouping images by location
WO2009111499A2 (en) 2008-03-03 2009-09-11 Videoiq, Inc. Dynamic object classification
JP5388291B2 (ja) * 2009-09-14 2014-01-15 住友電気工業株式会社 識別器生成方法、コンピュータプログラム、識別器生成装置及び所定物体検出装置
TWI442326B (zh) * 2009-12-02 2014-06-21 Chung Shan Inst Of Science 影像辨識方法及影像辨識系統
CN101807260B (zh) * 2010-04-01 2011-12-28 中国科学技术大学 变化场景下行人检测的方法
JP2011228918A (ja) * 2010-04-20 2011-11-10 Sony Corp 情報処理装置、情報処理方法およびプログラム
US8385632B2 (en) * 2010-06-01 2013-02-26 Mitsubishi Electric Research Laboratories, Inc. System and method for adapting generic classifiers for object detection in particular scenes using incremental training
AU2011265429B2 (en) 2011-12-21 2015-08-13 Canon Kabushiki Kaisha Method and system for robust scene modelling in an image sequence
CN103870839A (zh) * 2014-03-06 2014-06-18 江南大学 视频目标在线多特征跟踪方法
US9275289B2 (en) 2014-03-27 2016-03-01 Xerox Corporation Feature- and classifier-based vehicle headlight/shadow removal in video
US20150363660A1 (en) 2014-06-12 2015-12-17 Asap54.Com Ltd System for automated segmentation of images through layout classification
CN104077577A (zh) * 2014-07-03 2014-10-01 浙江大学 一种基于卷积神经网络的商标检测方法
US9710729B2 (en) * 2014-09-04 2017-07-18 Xerox Corporation Domain adaptation for image classification with class priors
CN104778474B (zh) * 2015-03-23 2019-06-07 四川九洲电器集团有限责任公司 一种用于目标检测的分类器构建方法及目标检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040246336A1 (en) 2003-06-04 2004-12-09 Model Software Corporation Video surveillance system
JP2011059810A (ja) * 2009-09-07 2011-03-24 Nippon Soken Inc 画像認識システム
CN104424466A (zh) 2013-08-21 2015-03-18 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
JP2015187759A (ja) * 2014-03-26 2015-10-29 キヤノン株式会社 画像検索装置、画像検索方法

Also Published As

Publication number Publication date
CN109154976B (zh) 2023-07-07
CN109154976A (zh) 2019-01-04
GB2566369A8 (en) 2019-03-27
GB2566369A (en) 2019-03-13
JP7026062B2 (ja) 2022-02-25
CA3017027A1 (en) 2017-09-21
KR20180135898A (ko) 2018-12-21
GB2566369B (en) 2021-08-25
TWI759286B (zh) 2022-04-01
IL261696B (en) 2021-02-28
AU2017233723B2 (en) 2021-07-01
GB201816451D0 (en) 2018-11-28
DE112017001311T5 (de) 2018-11-29
US10776926B2 (en) 2020-09-15
US20170270674A1 (en) 2017-09-21
IL261696A (en) 2018-10-31
TW201737134A (zh) 2017-10-16
JP2019512827A (ja) 2019-05-16
AU2017233723A1 (en) 2018-10-04
SE1851266A1 (sv) 2018-10-16
WO2017156628A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
KR102462572B1 (ko) 기계 학습에 의해 객체 분류기를 훈련시키는 시스템 및 방법
US11113587B2 (en) System and method for appearance search
US20190130165A1 (en) System and method for selecting a part of a video image for a face detection operation
US8200011B2 (en) Context processor for video analysis system
AU2019343959B2 (en) Region proposal with tracker feedback
CA3077517A1 (en) Method and system for classifying an object-of-interest using an artificial neural network
WO2018102918A1 (en) System and method for cnn layer sharing
US9412025B2 (en) Systems and methods to classify moving airplanes in airports
US20200145623A1 (en) Method and System for Initiating a Video Stream
Thangaraj et al. A competent frame work for efficient object detection, tracking and classification
CA3017027C (en) System and method for training object classifier by machine learning
Kuklyte et al. Identification of moving objects in poor quality surveillance data

Legal Events

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