KR101982942B1 - 객체 추적 방법 및 이를 수행하는 장치들 - Google Patents
객체 추적 방법 및 이를 수행하는 장치들 Download PDFInfo
- Publication number
- KR101982942B1 KR101982942B1 KR1020170177521A KR20170177521A KR101982942B1 KR 101982942 B1 KR101982942 B1 KR 101982942B1 KR 1020170177521 A KR1020170177521 A KR 1020170177521A KR 20170177521 A KR20170177521 A KR 20170177521A KR 101982942 B1 KR101982942 B1 KR 101982942B1
- Authority
- KR
- South Korea
- Prior art keywords
- video frame
- particles
- candidate
- initial
- candidate particles
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Image Analysis (AREA)
Abstract
객체 추적 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 객체 추적 방법은 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계와, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함한다.
Description
아래 실시예들은 객체 추적 방법 및 이를 수행하는 장치들에 관한 것이다.
객체 추적 알고리즘은 템플릿 매칭을 통해 객체를 추적한다. 예를 들어, 스캐닝 윈도우는 이전 프레임 타겟 패치를 현재 프레임의 후보 패치와 직접 비교함으로써 이전 프레임의 타겟 위치 근처의 후보를 추정한다.
딥 러닝(deep learning) 예를 들어, 컨벌루션 뉴럴 네트워크(convolutional neural networks; CNN)는 최근 주목을 받고 있다.
예를 들어, 컨벌루션 뉴럴 네트워크(CNN)는 이미지 분류, 의미론적 세분화, 물체 탐지 및 사람의 자세 추정 등과 같은 컴퓨터 비전의 다양한 분야에 성공적으로 적용되고 있다.
최근에는 시각적인 객체 추적을 위해 CNN의 차별화된 기능을 이용하고자 한다.
실시예들은 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임의 객체를 추적함으로써, 객체 추적에 대한 정확도 및 속도 성능이 우수한 기술을 제공할 수 있다.
일 실시예에 따른 객체 추적 방법은 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계와, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함한다.
상기 생성하는 단계는 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하는 단계와, 상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 단계를 포함할 수 있다.
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다.
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다.
상기 복수의 초기 파티클들을 생성하는 단계는 상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 단계를 포함할 수 있다.
상기 복수의 초기 파티클들을 생성하는 단계는 상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계를 포함할 수 있다.
상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계는 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하는 단계와, 상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하는 단계와, 상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 단계를 포함할 수 있다.
상기 추적하는 단계는기 학습된 CNN 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하는 단계와, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하는 단계와, 상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함할 수 있다.
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 추적하는 단계는 추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 단계를 더 포함할 수 있다.
일 실시예에 따른 객체 추적 장치는 비디오 프레임을 수신하는 통신 모듈과, 상기 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하고, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 컨트롤러를 포함한다.
상기 컨트롤러는 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하고, 상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 파티클 필터를 포함할 수 있다.
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다.
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다.
상기 파티클 필터는 상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성할 수 있다.
상기 파티클 필터는 상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성할 수 있다.
상기 파티클 필터는 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하고, 상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하고, 상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정할 수 있다.
상기 컨트롤러는 기 학습된 CNN(convolutional neural network) 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하고, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하고, 상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 추적기를 포함할 수 있다.
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 추적기는 추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트할 수 있다.
도 1은 일 실시예에 따른 객체 추적 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 일 실시예에 따른 CNN 모델을 설명하기 위한 일 예를 나타낸다.
도 5는 일 실시예에 따른 바운딩 박스로 표시된 객체를 설명하기 위한 일 예를 나타낸다.
도 6은 도 1에 도시된 객체 추적 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 일 실시예에 따른 CNN 모델을 설명하기 위한 일 예를 나타낸다.
도 5는 일 실시예에 따른 바운딩 박스로 표시된 객체를 설명하기 위한 일 예를 나타낸다.
도 6은 도 1에 도시된 객체 추적 장치의 동작을 설명하기 위한 순서도를 나타낸다.
본 명세서에서 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에서 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어를 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 객체 추적 시스템의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 객체 추적 시스템(a object tracking system; 10)은 영상 제공 장치(a video providing apparatus; 100) 및 객체 추적 장치(a object tracking apparatus; 200)를 포함한다.
영상 제공 장치(100)는 영상을 촬명 및 저장할 수 있다. 예를 들어, 영상 제공 장치(100)는 영상 제공 장치(100)의 카메라(미도시)를 통해 영상을 촬영하고, 촬영된 영상을 영상 제공 장치(100)의 메모리(미도시)에 저장(또는 녹화)할 수 있다. 이때, 영상은 복수의 비디오 프레임을 포함하는 비디오 스트림일 수 있다.
영상 제공 장치(100)는 객체 추적 장치(200)와 통신을 수행하여 영상을 객체 추적 장치(200)에 제공할 수 있다. 예를 들어, 영상 제공 장치(100)는 인터넷 통신망, 인트라넷, 근거리 통신망(LAN), 무선 LAN, Wi-Fi, LF, Xbee, Zigbee, Blue-Tooth 및 Beacon 등 다양한 기반으로 객체 추적 장치(200)와 통신을 수행하여 영상을 객체 추적 장치(200)에 제공할 수 있다.
상술한 바와 같이 영상 제공 장치(100)가 영상을 객체 추적 장치(200)에 제공하지만, 이에 한정하는 것은 아니다. 예를 들어, CCTV 및 인터넷 등 다양한 장치 및 소프트웨어는 영상을 객체 추적 장치(200)에 제공할 수 있다.
객체 추적 장치(200)는 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다.
즉, 객체 추적 장치(200)는 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임의 객체를 추적함으로써, 객체 추적에 대한 정확도 및 속도 성능이 우수한 기술을 제공할 수 있다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도를 나타내고, 도 3은 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타내고, 도 4는 일 실시예에 따른 CNN 모델을 설명하기 위한 일 예를 나타내고, 도 5는 일 실시예에 따른 바운딩 박스로 표시된 객체를 설명하기 위한 일 예를 나타낸다.
도 2를 참조하면, 객체 추적 장치(200)는 통신 모듈(a communication module; 210), 컨트롤러(a controller; 230) 및 디스플레이(a display; 250)를 포함한다.
통신 모듈(210)은 영상을 수신하여 수신된 영상을 컨트롤러(230)에 전송할 수 있다. 예를 들어, 통신 모듈(210)은 영상 제공 장치(100)로부터 전송된 영상을 수신하여, 영상에 포함된 복수의 비디오 프레임들을 순차적으로 컨트롤러(230)에 전송할 수 있다.
컨트롤러(230)는 객체 추적 장치(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(230)는 각 구성(210 및 250)의 동작을 제어할 수 있다.
컨트롤러(230)는 비디오 프레임의 객체를 추적하기 위해 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다.
예를 들어, 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들은 비디오 프레임의 객체 근처에 생성될 수 있다.
비디오 프레임이 초기 비디오 프레임인 경우, 비디오 프레임의 객체는 바운딩 박스로 미리 표시 및 설정되어 인식될 수 있다. 복수의 후보 파티클들은 바운딩 박스로 표시될 수 있다. 바운딩 박스는 비디오 프레임의 객체와 비디오 프레임의 배경을 구별하는 박스일 수 있다.
컨트롤러(230)는 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도에 기초하여 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다. 최적의 파티클은 바운딩 박스로 표시될 수 있다.
컨트롤러(230)는 도 3과 같이 파티클 필터(a particle filter; 231) 및 추적기(a tracker; 233)를 포함할 수 있다.
파티클 필터(231)는 비디오 프레임에 기초하여 비디오 프레임의 객체에 대응하는 복수의 초기 파티클들을 생성할 수 있다. 예를 들어, 파티클 필터(231)는 sequential monte carlo 방법에 기초한 필터일 수 있다. 복수의 초기 파티클들은 스테이트 모델을 이용하여 생성될 수 있다. 복수의 초기 파티클들은 바운딩 박스로 표시될 수 있다.
스테이트 모델은 수학식 1로 나타낼 수 있다.
비디오 프레임이 초기 비디오 프레임인 경우, 파티클 필터(231)는 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 복수의 초기 파티클들을 생성할 수 있다.
구체적으로, 파티클 필터(231)는 가우시안 분포를 이용하여 임의의 램덤값으로 초기화한 복수의 초기 파티클들을 1000 또는 그 이상 생성할 수 있다. 이때, 가우시안 분포는 표준 편차의 가우시안 분포 벡터일 수 있다. 복수의 초기 파티클들의 수는 가우시안 검색 밀도가 모든 방향과 변환을 충분히 보장하는 수일 수 있다.
초기 비디오 프레임에 대한 표준 편차는 수학식 2로 나타낼 수 있다.
수학식 3의 는 초기 비디오 프레임의 바운딩 박스의 x 위치에 대한 표준 편차이고, 는 초기 비디오 프레임의 바운딩 박스의 y 위치에 대한 표준 편차이고, 는 초기 비디오 프레임의 바운딩 박스의 폭에 대한 표준 편차이고, 는 초기 비디오 프레임의 바운딩 박스의 높이에 대한 표준 편차이고, 는 초기 비디오 프레임의 바운딩 박스의 x 방향 모션 벡터에 대한 표준 편차이고, 는 초기 비디오 프레임의 바운딩 박스의 y 방향 모션 벡터에 대한 표준 편차이고, 는 초기 비디오 프레임의 Ground Truth 폭이고, 는 초기 비디오 프레임의 바운딩 박스의 높이일 수 있다.
표준 편차의 가우시안 분포 벡터는 수학식 3으로 나타낼 수 있다.
비디오 프레임이 초기 비디오 프레임이 아닌 경우, 파티클 필터(231)는 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 복수의 초기 파티클들을 생성할 수 있다.
구체적으로, 파티클 필터(231)는 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거할 수 있다.
예를 들어, 가중치가 낮은 적어도 하나의 후보 파티클은 신뢰할 수 없는 파티클일 수 있다.
파티클 필터(231)는 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성할 수 있다. 복수의 대체 파티클들은 바운딩 박스로 표시될 수 있다.
예를 들어, 파티클 필터(231)는 표준 편차들을 갖는 정규 분포를 이용하여 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 복수의 대체 파티클들을 생성할 수 있다. 파티클 필터(231)는 복수의 대체 파티클들을 생성함으로써 파티클의 트레이드 오프를 유지하고, 파티클 생성에 대한 계산양을 줄일 수 있다.
파티클 필터(231)는 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 복수의 대체 파티클들을 복수의 초기 파티클들로 결정할 수 있다.
파티클 필터(231)는 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 복수의 초기 파티클들의 모션을 예측함으로써 복수의 후보 파티클들을 생성할 수 있다.
예를 들어, 파티클 필터(231)는 도 5와 같이 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다. 도 5의 제1 비디오 프레임의 결과(RESULT 1)는 초기 비디오 프레임이고, 제2 비디오 프레임의 결과(RESULT 2)는 6 번째 비디오 프레임이고, 제3 비디오 프레임의 결과(RESULT 3)는 21 번째 비디오 프레임이고, 제4 비디오 프레임의 결과(RESULT 4)는 41 번째 비디오 프레임일 수 있다.
드리프트는 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다. 예를 들어, 드리프트는 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트에 임의의 노이즈로 가변하여 수행될 수 있다.
확산은 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다. 예를 들어, 확산은 복수의 초기 파티클들에 대한 바운딩 박스의 좌표에 임의의 노이즈로 가변하여 수행될 수 있다.
드리프트 및 확산에 대한 임의의 노이즈의 표준 편차는 수학식 4로 나타낼 수 있다.
추적기(233)는 기 학습된 CNN 모델을 이용하여 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도를 계산할 수 있다.
예를 들어, 추적기(233)는 기 학습된 CNN 모델의 순방향 패스(forward pass)를 이용하여 유사도를 계산할 수 있다. 기 학습된 CNN 모델은 네트워크가 로컬 최소값에 가까운 상태로 설정되어 비디오 프레임의 객체에 대한 하이 레벨 특징을 인식하는 모델일 수 있다.
기 학습된 CNN 모델은 도 4와 같이 한 개의 입력 네트워크(INPUT) 및 5개의 레이어들(LAYER 1 내지 LAYER 5)로 구성될 수 있다.
제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)는 CNN-PF(convolutional neural network particle filter) 네트워크의 값에 의해 초기화되는 콘볼류션레이어일 수 있다. 제1 레이어(LAYER 1)의 치수(dimension)는 제1 콘볼류션레이어로써 7 X 7이고, 제2 레이어(LAYER 2)의 치수는 제2 콘볼류션레이어로써 5 X 5이고, 제3 레이어(LAYER 3)의 치수는 제3 콘볼류션레이어로써 3 X 3일 수 있다. 제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)는 비디오 데이터 세트를 통해 사전 학습되어 오프라인 학습 시간을 매우 줄일 수 있다.
제4 레이어(LAYER 4) 및 제5 레이어(LAYER 5)는 제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)에서 계산된 비디오 프레임의 객체에 대한 하이 레벨 특징으로 비디오 프레임의 객체와 배경을 분류하기 위해 설계된 레이어일 수 있다. 제4 레이어(LAYER 4) 및 제5 레이어(LAYER 5)는 완전히 연결된 레이어일 수 있다. 제4 레이터(LAYER 4) 및 제5 레이어(LAYER 5)의 치수는 256일 수 있다.
기 학습된 CNN(convolutional neural network) 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
비디오 데이터 세트를 통한 학습은 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 오프라인 학습일 수 있다. 예를 들어, 비디오 데이터 세트는 비디오 프레임의 객체에 바운딩 박스를 표시한 60개의 비디오 시퀀스를 포함하는 VOT2015 비디오 데이터 세트일 수 있다. 비디오 데이터 세트의 객체에 대한 포지티브 패치는 비디오 데이터 세트에서 추출된 256 개의 포지티브 패치일 수 있다. 비디오 데이터 세트의 배경에 대한 네거티브 패치는 비디오 데이터 세트에서 추출된 64 개의 네거티브 패치일 수 있다.
가장 최근에 추적된 비디오 프레임을 통한 학습은 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 온라인 학습일 수 있다. 예를 들어, 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치는 가장 최근에 추적된 비디오 프레임에서 추출된 32 개의 포지티브 패치일 수 있다. 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치는 가장 최근에 추적된 비디오 프레임에서 추출된 128 개의 네거티브 패치일 수 있다.
포지티브 패치는 비디오 프레임의 객체에 대한 기준값 패치이고, 비디오 프레임의 객체의 트랜스레이션(translation), 스케일링(scaling) 및 아핀 변환(affine transformation) 중에서 적어도 하나인 기하학적 변환을 포함할 수 있다. 포지티브 패치는 비디오 프레임의 객체에 대한 바운딩 박스에 대한 오버랩이 90 % 이상일 수 있다.
네거티브 패치는 비디오 프레임의 배경에 대한 기준값 패치일 수 있다. 네거티브 패치는 비디오 프레임의 객체에 대한 바운딩 박스에 대한 오버랩이 40 % 이하일 수 있다.
추적기(233)는 유사도에 기초하여 복수의 후보 파티클들의 가중치를 결정할 수 있다.
예를 들어, 추적기(233)는 복수의 후보 파티클들 중에서 유사도가 높은 후보 파티클에 가중치를 높게 결정할 수 있다.
유사도가 높은 후보 파티클은 비디오 프레임의 객체에 대한 오버랩이 높은 파티클 일 수 있다. 유사도가 높은 후보 파티클은 오래된 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들로부터 비롯된 후보 파티클이 아닐 수 있다.
복수의 후보 파티클들의 가중치는 수학식 5로 나타낼 수 있다.
수학식 5의 는 CNN 측정 점수이고, 는 복수의 후보 파티클들 중에서 i 번째 후보 파티클의 가중치일 수 있다. 수학식 5의 첫번째 수학식은 정규화 되지 않는 i번째 후보 파티클의 가중치를 계산하는 것일 수 있다. 수학식 5의 두번째 수학식은 정규화를 실시하는 것일 수 있다.
추적기(233)는 복수의 후보 파티클들 중에서 가중치가 높은 후보 파티클들의 평균 위치에 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다.
예를 들어, 추적기(233)는 복수의 후보 파티클들 중에서 가중치가 높은 후보 파티클들의 위치을 인식할 수 있다.
추적기(233)는 가중치가 높은 후보 파티클들의 위치의 평균 위치에 하나의 파티클을 생성할 수 있다.
추적기(233)는 생성된 하나의 파티클을 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클로 결정함으로써 비디오 프레임의 객체를 추적할 수 있다.
추적기(233)는 바운딩 박스로 최적의 파티클을 표시할 수 있다. 예를 들어, 추적기(233)는 도 5와 같이 바운딩 박스로 최적의 파티클을 표시할 수 있다. 최적의 파티클에 대한 바운딩 박스는 기준값 바운딩 박스(ground-truth bounding box)일 수 있다.
추적기(233)는 추적된 객체를 통해 기 학습된 CNN 모델을 업데이트할 수 있다. 예를 들어, 추적기(233)는 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통해 기 학습된 CNN 모델을 미세 조정하여 업데이트할 수 있다.
추적된 비디오 프레임이 초기 비디오 프레임인 경우, 추적된 비디오 프레임의 객체에 대한 포지티브 패치는 추적된 비디오 프레임에서 추출된 128개의 포지티브 패치일 수 있다. 추적된 비디오 프레임의 배경에 대한 네거티브 패치는 추적된 비디오 프레임에서 추출된 512개의 네거티브 패치일 수 있다.
추적된 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 추적된 비디오 프레임의 객체에 대한 포지티브 패치의 수 및 추적된 비디오 프레임의 배경에 대한 네거티브 패치의 수는 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치의 수 및 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치의 수 와 동일할 수 있다.
디스플레이(250)는 컨트롤러(230)로부터 전송된 영상을 디스플레이할 수 있다. 예를 들어, 디스플레이(250)는 컨트롤러(230)로부터 전송된 복수의 비디오 프레임들의 객체에 바운딩 박스가 표시된 영상을 디스플레이할 수 있다.
상술한 바와 같이 디스플레이(250)가 객체 추적 장치(200)에 구현되어 컨트롤러(230)로부터 전송된 영상을 디스플레이하지만, 이에 한정하는 것은 아니다. 디스플레이(250)는 객체 추적 장치(200)와 독립적으로 구현되어 컨트롤러(230)로부터 전송된 영상을 디스플레이할 수 있다.
도 6은 도 1에 도시된 객체 추적 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 6을 참조하면, 파티클 필터(231)는 비디오 프레오에 기초하여 비디오 프레임의 객체에 대응하는 복수의 초기 파티클들을 생성할 수 있다(S310).
파티클 필터(231)는 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여(S320) 복수의 초기 파티클들의 모션을 예측함으로써(S330), 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다(S340).
추적기(233)는 기 학습된 CNN 모델(S550)을 통한 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도에 기초하여 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써(S560) 비디오 프레임의 객체를 추적할 수 있다(S570).
추적기(233)는 추적된 객체를 바운딩 박스로 표시하고, 추적된 객체를 통해 기 학습된 CNN 모델을 업데이트할 수 있다(S580).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계; 및
상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계
를 포함하고,
상기 최적의 파티클은 상기 복수의 후보 파티클들 중에서 상기 유사도에 기반한 가중치가 높은 후보 파티클들의 평균 위치에 생성되고,
상기 복수의 후보 파티클들을 생성하는 단계는,
상기 복수의 후보 파티클들을 생성하기 위해, 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하는 단계
를 포함하고,
상기 복수의 후보 파티클들은 상기 복수의 초기 파티클들의 모션이 예측된 파티클이고,
상기 복수의 초기 파티클들을 생성하는 단계는,
상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 복수의 후보 파티클을 제거하는 단계;
상기 이전 비디오 프레임 및 상기 비디오 프레임에 대한 파티클의 트레이드 오프를 유지하기 위해, 상기 가중치가 낮은 복수의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하는 단계; 및
상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 제거되지 않은 가중치가 높은 복수의 후보 파티클들 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 단계
를 포함하는 객체 추적 방법.
- 제1항에 있어서,
상기 복수의 후보 파티클들을 생성하는 단계는,
상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 단계
를 더 포함하는 객체 추적 방법.
- 제2항에 있어서,
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행되고,
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행되는 객체 추적 방법.
- 제2항에 있어서,
상기 복수의 초기 파티클들을 생성하는 단계는,
상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 단계
를 포함하는 객체 추적 방법.
- 삭제
- 삭제
- 제1항에 있어서,
상기 추적하는 단계는,
기 학습된 CNN 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하는 단계; 및
상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하는 단계
를 포함하는 객체 추적 방법.
- 제7항에 있어서,
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습되는 객체 추적 방법.
- 제8항에 있어서,
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습이고,
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습인 객체 추적 방법.
- 제7항에 있어서,
상기 추적하는 단계는,
추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 단계
를 더 포함하는 객체 추적 방법.
- 비디오 프레임을 수신하는 통신 모듈; 및
상기 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하고, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 컨트롤러
를 포함하고,
상기 최적의 파티클은 상기 복수의 후보 파티클들 중에서 상기 유사도에 기반한 가중치가 높은 후보 파티클들의 평균 위치에 생성되고,
상기 컨트롤러는 상기 복수의 후보 파티클들을 생성하기 위해, 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하는 파티클 필터
를 포함하고,
상기 복수의 후보 파티클들은 상기 복수의 초기 파티클들의 모션이 예측된 파티클이고,
상기 파티클 필터는 상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 복수의 후보 파티클을 제거하고, 상기 이전 비디오 프레임 및 상기 비디오 프레임에 대한 파티클의 트레이드 오프를 유지하기 위해, 상기 가중치가 낮은 복수의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하고, 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 제거되지 않은 가중치가 높은 복수의 후보 파티클들 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 객체 추적 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 파티클 필터
를 포함하는 객체 추적 장치.
- 제12항에 있어서,
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행되고,
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행되는 객체 추적 장치.
- 제12항에 있어서,
상기 파티클 필터는,
상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 객체 추적 장치.
- 삭제
- 삭제
- 제11항에 있어서,
상기 컨트롤러는,
기 학습된 CNN(convolutional neural network) 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하고, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하는 추적기
를 포함하는 객체 추적 장치.
- 제17항에 있어서,
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습되는 객체 추적 장치.
- 제18항에 있어서,
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습이고,
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습인 객체 추적 장치.
- 제17항에 있어서,
상기 추적기는,
추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 객체 추적 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170177521A KR101982942B1 (ko) | 2017-12-21 | 2017-12-21 | 객체 추적 방법 및 이를 수행하는 장치들 |
PCT/KR2017/015350 WO2019124602A1 (ko) | 2017-12-21 | 2017-12-22 | 객체 추적 방법 및 이를 수행하는 장치들 |
US16/069,842 US11176680B2 (en) | 2017-12-21 | 2017-12-22 | Method of tracking object and apparatuses performing the same |
CN201780097908.0A CN111566658A (zh) | 2017-12-21 | 2017-12-22 | 对象跟踪方法及执行该方法的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170177521A KR101982942B1 (ko) | 2017-12-21 | 2017-12-21 | 객체 추적 방법 및 이를 수행하는 장치들 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101982942B1 true KR101982942B1 (ko) | 2019-05-27 |
Family
ID=66679080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170177521A KR101982942B1 (ko) | 2017-12-21 | 2017-12-21 | 객체 추적 방법 및 이를 수행하는 장치들 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11176680B2 (ko) |
KR (1) | KR101982942B1 (ko) |
CN (1) | CN111566658A (ko) |
WO (1) | WO2019124602A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102274913B1 (ko) | 2021-03-30 | 2021-07-08 | 서울대학교 산학협력단 | 경계박스 중복제거장치 및 그 장치의 구동방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514632B2 (en) * | 2020-11-06 | 2022-11-29 | Adobe Inc. | Modifying neural networks for synthetic conditional digital content generation utilizing contrastive perceptual loss |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170684A (ja) * | 2010-02-19 | 2011-09-01 | Panasonic Corp | 対象物追跡装置、対象物追跡方法、および対象物追跡プログラム |
KR20150081797A (ko) * | 2014-01-07 | 2015-07-15 | 한국전자통신연구원 | 객체 추적 장치 및 방법 |
KR20170070715A (ko) * | 2015-12-14 | 2017-06-22 | 삼성전자주식회사 | 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4208898B2 (ja) * | 2006-06-09 | 2009-01-14 | 株式会社ソニー・コンピュータエンタテインメント | 対象物追跡装置および対象物追跡方法 |
EP2259221A1 (en) * | 2009-06-03 | 2010-12-08 | ETH Zurich | Computer system and method for tracking objects in video data |
JP5674550B2 (ja) * | 2011-05-09 | 2015-02-25 | 日本電信電話株式会社 | 状態追跡装置、方法、及びプログラム |
JP5216902B2 (ja) * | 2011-09-05 | 2013-06-19 | 日本電信電話株式会社 | 対象物追跡装置及び対象物追跡方法 |
AU2014240213B2 (en) * | 2014-09-30 | 2016-12-08 | Canon Kabushiki Kaisha | System and Method for object re-identification |
KR102601848B1 (ko) * | 2015-11-25 | 2023-11-13 | 삼성전자주식회사 | 데이터 인식 모델 구축 장치 및 방법과 데이터 인식 장치 |
KR101771044B1 (ko) | 2015-11-27 | 2017-08-24 | 연세대학교 산학협력단 | 공간-물체 관계 그래프에 기반한 객체 인식 방법 및 그 장치 |
KR101735365B1 (ko) | 2017-01-19 | 2017-05-16 | (주)나인정보시스템 | 학습 기반의 영상 내 관심 물체 검지 및 환경 변화에 강인한 물체 추적 방법 |
CN106815862B (zh) * | 2017-01-24 | 2020-03-10 | 武汉大学 | 一种基于卷积轮廓特征的目标跟踪方法 |
US20190034734A1 (en) * | 2017-07-28 | 2019-01-31 | Qualcomm Incorporated | Object classification using machine learning and object tracking |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
-
2017
- 2017-12-21 KR KR1020170177521A patent/KR101982942B1/ko active IP Right Grant
- 2017-12-22 US US16/069,842 patent/US11176680B2/en active Active
- 2017-12-22 CN CN201780097908.0A patent/CN111566658A/zh active Pending
- 2017-12-22 WO PCT/KR2017/015350 patent/WO2019124602A1/ko active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170684A (ja) * | 2010-02-19 | 2011-09-01 | Panasonic Corp | 対象物追跡装置、対象物追跡方法、および対象物追跡プログラム |
KR20150081797A (ko) * | 2014-01-07 | 2015-07-15 | 한국전자통신연구원 | 객체 추적 장치 및 방법 |
KR20170070715A (ko) * | 2015-12-14 | 2017-06-22 | 삼성전자주식회사 | 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102274913B1 (ko) | 2021-03-30 | 2021-07-08 | 서울대학교 산학협력단 | 경계박스 중복제거장치 및 그 장치의 구동방법 |
Also Published As
Publication number | Publication date |
---|---|
CN111566658A (zh) | 2020-08-21 |
US11176680B2 (en) | 2021-11-16 |
WO2019124602A1 (ko) | 2019-06-27 |
US20210217181A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mukhoti et al. | Evaluating bayesian deep learning methods for semantic segmentation | |
JP2022534337A (ja) | ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム | |
JP4208898B2 (ja) | 対象物追跡装置および対象物追跡方法 | |
EP2164041B1 (en) | Tracking method and device adopting a series of observation models with different lifespans | |
CN103259962B (zh) | 一种目标追踪方法和相关装置 | |
Lin et al. | Integrating graph partitioning and matching for trajectory analysis in video surveillance | |
KR20160096460A (ko) | 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법 | |
CN101930611B (zh) | 多视图面部追踪 | |
KR102465960B1 (ko) | 변화점 검출을 활용한 다중클래스 다중물체 추적 방법 | |
JP7263216B2 (ja) | ワッサースタイン距離を使用する物体形状回帰 | |
JP2005235222A (ja) | 物体の追跡方法およびその装置 | |
US20140161319A1 (en) | Information processing apparatus, method for tracking object and program storage medium | |
JP2009003919A (ja) | 分散型複数ターゲット追跡のための方法およびシステム | |
Li et al. | Lane detection and tracking using a parallel-snake approach | |
CN107945208A (zh) | 目标跟踪方法和目标跟踪设备 | |
Hoy et al. | Learning to predict pedestrian intention via variational tracking networks | |
Ait Abdelali et al. | An adaptive object tracking using Kalman filter and probability product kernel | |
Charouh et al. | Improved background subtraction-based moving vehicle detection by optimizing morphological operations using machine learning | |
Liu et al. | Robust plant cell tracking using local spatio-temporal context | |
KR101982942B1 (ko) | 객체 추적 방법 및 이를 수행하는 장치들 | |
Sun et al. | Moving vehicle video detection combining ViBe and inter-frame difference | |
CN118251698A (zh) | 面向稀疏数据的鲁棒nerf模型新颖视图合成 | |
Makris et al. | A hierarchical feature fusion framework for adaptive visual tracking | |
Lee et al. | An edge detection–based eGAN model for connectivity in ambient intelligence environments | |
CN108280408B (zh) | 一种基于混合跟踪和广义线性模型的人群异常事件检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |