KR20240076572A - 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치 - Google Patents

저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치 Download PDF

Info

Publication number
KR20240076572A
KR20240076572A KR1020220157632A KR20220157632A KR20240076572A KR 20240076572 A KR20240076572 A KR 20240076572A KR 1020220157632 A KR1020220157632 A KR 1020220157632A KR 20220157632 A KR20220157632 A KR 20220157632A KR 20240076572 A KR20240076572 A KR 20240076572A
Authority
KR
South Korea
Prior art keywords
feature map
feature
specific
pyramid
map
Prior art date
Application number
KR1020220157632A
Other languages
English (en)
Inventor
김계현
Original Assignee
주식회사 슈퍼브에이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 슈퍼브에이아이 filed Critical 주식회사 슈퍼브에이아이
Priority to KR1020220157632A priority Critical patent/KR20240076572A/ko
Priority to US18/384,706 priority patent/US11941820B1/en
Publication of KR20240076572A publication Critical patent/KR20240076572A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따르면, 저 프레임 속도 영상 상의 객체를 추적하는 방법에 있어서, (a) 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치가, (i) 상기 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - 상기 k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 상기 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 상기 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 상기 제1 객체들에 대해 고유 아이디들을 부여하는 단계; 및 (b) 상기 객체 추적 장치가, (i) 상기 제t 프레임의 다음 프레임인 제t+1 프레임을 상기 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t+1 프레임을 상기 FPN에 입력하여 상기 제1 스케일 내지 상기 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하여 상기 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 상기 제2 객체들에 대응되는 제2 바운딩 박스들을 획득하고, (ii) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성하며, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어와 제1 크로스 어텐션 레이어에 입력하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 매칭 레이어에 입력하여 상기 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득하며, (iii) 상기 제2 바운딩 박스들 중에서 상기 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하여 객체 추적을 수행하는 단계;를 포함하는 방법 및 이를 이용한 객체 추적 장치가 개시된다.

Description

저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치{METHOD FOR TRACKING OBJECTS FOR LOW FRAME-RATE VIDEOS AND OBJECT TRACKING DEVICE USING THE SAME}
본 발명은 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치에 관한 것으로, 보다 상세하게는, 영상의 연속되는 프레임 상에서 객체를 추적하기 위해 현재 프레임 상에서 추출된 객체 영역에 대한 복수의 크롭 피쳐 맵과 다음 프레임의 전체 영역에 대한 복수의 피라미드 피쳐 맵을 획득하여 복수의 크롭 피쳐 맵과 복수의 피라미드 피쳐 맵 상의 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 피쳐 디스크립터들로 변환한 변환 피쳐 맵들을 생성하고, 매칭되는 스케일을 가진 변환 피쳐 맵들 간의 매칭을 이용하여 현재 프레임의 객체에 매칭되는 다음 프레임 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치에 관한 것이다.
객체 추적(object tracking)이란 영상이나 이미지 상의 객체를 탐지한 후 탐지된 객체의 움직임을 추적하는 기술로, 영상이나 이미지에 포함된 차량, 사람, 동물, 물체 등과 같은 객체의 움직임을 추적하는 데에 사용될 수 있는 기술이다. 따라서, 객체 추적을 위해서는 영상의 각 프레임(frame), 즉, 이미지마다 타겟 객체들을 검출하고, 모든 프레임에서 각각의 타겟 객체들 각각에 각각의 동일한 고유 아이디(ID)들을 부여하는 과정을 수행한다.
이같은 객체 추적을 수행하는 통상기술에는 다음과 같은 예시들이 있다.
우선, 도 1과 같은 모션 모델(Motion Model)을 이용한 객체 추적에서는 먼저 현재 시점 t(예: t = 0)의 프레임에서 객체 탐지를 수행하여 검출된 객체(1, 2, 3으로 표시된 영역에 포함된 각 객체)에 대해 각각의 고유 아이디를 부여하고, 각각의 객체에 대한 모션 모델을 초기화(dx = dy = d log w = d log h = 0)를 수행한다. 여기서, 모션 모델을 칼만 필터(Kalman Filter)를 사용할 수 있다. 이어서, 다음 시점 t+1(예: t = 1)의 프레임에서는 모션 모델을 이용하여 각 객체의 위치를 예측(이전 프레임에서 모션 모델을 초기화한 상태라면 다음 프레임에서 예측되는 객체의 이동은 없을 것임)하는 한편, t+1의 프레임에 대해서도 객체 탐지(검은색 박스)를 수행한다. 이에 따라, 모션 모델을 통해 움직임을 예측하여 이동시킨 각 객체에 대응되는 박스(box) 영역과 객체 탐지를 통해 추출된 각 객체의 박스 영역을 매칭(Hungarian Algorithm)하여 이들간의 차이를 바탕으로 각 객체에 대한 모션 모델을 업데이트하고, 이와 같이 t=1의 프레임에서 수행한 과정을 매 프레임(예: t = 2, 3, 4, ...)마다 반복한다.
또 다른 통상기술로서, 도 2와 같은 밀도 추정(density estimation)을 이용한 객체 추적의 경우, 먼저 현재 시점 t(예: t = 0)의 프레임에서 객체 탐지를 수행하여 검출된 객체(1, 2, 3으로 표시된 영역에 포함된 각 객체)에 대해 각각의 고유 아이디를 부여하고, 각각의 객체에 대응되는 박스(box) 영역의 피쳐(feature)들을 추출한다. 이어서, 다음 시점인 t+1(예: t = 1)의 프레임에서는 고유 아이디를 가진 각 객체의 주변 영역에서 피쳐가 가장 유사하게 추출되는 박스 영역(점선 박스)을 탐색하는 과정을 반복적으로 수행하는 한편, t+1의 프레임에 대해서도 객체 탐지(검은색 박스)를 수행한다. 여기서, 유사 피쳐 추출 영역을 탐색하는 밀도 추정의 기술로는 Mean Shift Tracking Algorithm과 같은 알고리즘을 사용할 수 있다. 이에 따라, 유사 피쳐 추출 영역 탐색을 기반으로 이동시킨 각 객체에 대응되는 박스(box) 영역과 객체 탐지를 통해 추출된 각 객체의 박스 영역을 매칭(Hungarian Algorithm)하여 조정된 각 박스 영역에 대해서 피쳐를 추출하고, 이와 같이 t=1의 프레임에서 수행한 과정을 매 프레임(예: t = 2, 3, 4, ...)마다 반복한다.
그러나, 이러한 통상 기술들은 저 프레임 속도(Low Frame-Rate, 또는 Low Frames per Second)를 가지는 영상에서는 정확하게 객체를 추적하는 데에 한계가 있다. 여기서, 일반적인 영상의 경우 통상적으로 1초당 30~60 프레임을 촬영하며, 이에 따라 1 프레임 당 시간 간격이 1/30~1/60초 정도가 되는 반면, 저 프레임 속도의 영상은 가령 1초당 1 프레임을 촬영하는 경우와 같이 초당 촬영되는 프레임의 개수가 일반적인 영상보다 현저히 적은 경우를 의미한다. 이렇게 프레임 속도가 현저히 줄어드는 경우, 도 3에 예시적으로 도시한 바와 같이 일반적인 영상과 비교하였을 때 객체의 이동이나 객체 형태의 변화에 있어서 프레임 간에 상당한 차이가 발생할 수 있다.
따라서, 이러한 저 프레임 속도의 영상에 모션 모델을 이용한 객체 추적을 수행할 경우, 프레임당 시간 간격이 너무 길어서 모션 모델이 프레임 간의 모션 변화를 정확하게 예측하거나 예측하도록 학습시키는 데에 어려움이 있다. 또한, 저 프레임 속도의 영상에 밀도 추정을 이용한 객체 추적을 수행할 경우, 유사 피쳐 추출 영역을 탐색하는 탐색 영역을 크게 늘려야 하므로 탐색 시간이 증가할 뿐만 아니라, 프레임 간의 긴 시간 간격 동안 객체의 형태(포즈, 각도 등)가 많이 바뀌면 유사 피쳐 추출에 실패하거나 부정확한 영역을 유사 피쳐 추출 영역으로서 수렴하는 경우가 발생할 수 있다.
이러한 문제를 해결하기 위해, 이어지는 두 프레임 각각에서 로컬 피쳐를 추출한 뒤 프레임 간 매칭되는 로컬 피쳐들에 대한 매칭 페어를 생성한 다음 가장 많은 매칭 페어가 일치하는 이상적인 모델을 추출하고, 해당 모델을 만족시키는 매칭 페어들만 프레임 간 매칭되는 로컬 피쳐들로서 최종 추출하여 프레임간 객체의 이동을 예측하는 Random Sample Consensus (RANSAC) Algorithm 등과 같은 방법을 사용하는 방법도 있겠으나, 특징적인 피쳐를 추출할만한 컨텍스트가 적은 프레임들의 경우 이러한 방법을 사용하여 객체를 추정하는 데에 한계가 있다는 문제가 있다.
따라서, 상기 문제점들을 해결하기 위한 개선 방안이 요구되는 실정이다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 이어지는 프레임들의 피쳐 맵 상의 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 피쳐 디스크립터로 변환한 변한 피쳐 맵들을 이용하여 프레임 간 매칭을 수행함으로써, 프레임당 시간 간격에 관계없이 객체 추적을 가능하도록 하는 것을 목적으로 한다.
또한, 본 발명은 현재 프레임 상에서 추출된 객체 영역을 크롭하여 생성한 복수의 크롭 피쳐 맵과 다음 프레임의 전체 영역에 대한 복수의 피라미드 피쳐 맵 상의 피쳐 디스크립터를 매칭하여 객체 추적을 수행함으로써, 피쳐 탐색 영역을 한정하지 않아 정확도를 높이는 동시에 크롭된 영역과 전체 영역 간의 빠른 매칭을 수행하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 현재 프레임과 다음 프레임의 각각의 객체 영역에서 다수의 매칭되는 피쳐 디스크립터를 매칭함으로써, 저 프레임 영상에서의 프레임 간 긴 시간 간격 동안 객체의 형태(포즈, 각도 등)가 많이 바뀌더라도 적어도 일부의 피쳐 디스크립터에 대해서는 매칭이 가능하도록 하여 정확하고 안정적인 객체 추적이 가능하도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 저 프레임 속도 영상 상의 객체를 추적하는 방법에 있어서, (a) 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치가, (i) 상기 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - 상기 k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 상기 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 상기 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 상기 제1 객체들에 대해 고유 아이디들을 부여하는 단계; 및 (b) 상기 객체 추적 장치가, (i) 상기 제t 프레임의 다음 프레임인 제t+1 프레임을 상기 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t+1 프레임을 상기 FPN에 입력하여 상기 제1 스케일 내지 상기 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하여 상기 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 상기 제2 객체들에 대응되는 제2 바운딩 박스들을 획득하고, (ii) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성하며, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어와 제1 크로스 어텐션 레이어에 입력하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 매칭 레이어에 입력하여 상기 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득하며, (iii) 상기 제2 바운딩 박스들 중에서 상기 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하여 객체 추적을 수행하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 매칭 페어를 획득한 상태에서, 상기 객체 추적 장치는, (i) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제2 특정 스케일 - 상기 제2 특정 스케일은 상기 제1 특정 스케일보다 큰 스케일임 - 에 대응되는 제1_2 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_2 크롭 피쳐 맵을 생성하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제2 특정 스케일에 대응되는 제2_2 특정 피라미드 피쳐 맵을 선택하여, 상기 제1 매칭 페어들에 따른 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들을 각각 상기 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들로 전환하여 상기 제1_2 크롭 피쳐 맵의 상기 제1 피쳐 디스크립터들 각각을 포함하도록 크롭한 제1 윈도우들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 포함하도록 크롭한 제2 윈도우들을 제2 셀프 어텐션 레이어와 제2 크로스 어텐션 레이어에 입력하여 상기 제1 윈도우들과 상기 제2 윈도우들을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1_2 크롭 피쳐 맵 상의 상기 제1 피쳐 디스크립터들 각각을 중심으로 한 제1_2 변환 피쳐 맵들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 중심으로 한 제2_2 변환 피쳐 맵들을 생성하며, 상기 제1_2 변환 피쳐 맵들의 중심 벡터들을 상기 제1_2 변환 피쳐 맵들 각각에 대응되는 상기 제2_2 변환 피쳐 맵들의 모든 벡터와 코릴레이션(correlation)하고 소프트맥스(softmax) 연산을 수행하여 생성한 제2 매칭 확률을 표시한 히트맵들을 이용하여 상기 제1_2 변환 피쳐 맵들의 상기 중심 벡터들에 대응되는 특정 제1 피쳐 디스크립터들과 매칭되는 상기 제2_2 변환 피쳐 맵들의 특정 벡터들에 대응되는 특정 제2 피쳐 디스크립터들을 상기 제1_2 크롭 피쳐 맵과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 매칭 페어들로서 생성하고, (ii) 상기 제2 바운딩 박스들 중에서 상기 제2 매칭 페어들에 따른 상기 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 상기 특정 제1 바운딩 박스에 대응되는 상기 특정 제1 객체와 동일한 상기 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 상기 특정 제2 객체에 부여하여 상기 객체 추적을 수행하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계 이전에, 상기 객체 추적 장치는, 학습용 제t 프레임과 학습용 제t+1 프레임에 대해 상기 객체 탐지와 상기 객체 추적을 수행하여 학습용 제1 매칭 페어들과 학습용 제2 매칭 페어들을 획득하고, 학습용 제1 매칭 확률에 대한 음의 로그우도(negative log-likelihood) 로스를 이용하여 상기 학습용 제1 매칭 페어들에 대한 학습으로서 상기 제1 셀프 어텐션 레이어, 상기 제1 크로스 어텐션 레이어 및 상기 매칭 레이어의 웨이트 중 적어도 일부를 학습시키고, 학습용 제2 매칭 확률에 대한 학습용 히트맵의 총변량과 학습용 제2_2 변환 피쳐 맵의 학습용 특정 벡터들의 학습용 피쳐 디스크립터들에 대응되는 그라운드-트루스(ground-truth) 디스크립터들을 이용하여 상기 학습용 제2 매칭 페어들에 대한 학습으로서 상기 제2 셀프 어텐션 레이어와 상기 제2 크로스 어텐션 레이어의 웨이트 중 적어도 일부를 학습시키는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 객체 추적 장치는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 1차원 벡터로 변환한 레벨드(leveled) 피쳐 맵과, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵의 피쳐들의 위치 정보인 (x,y)좌표를 cos함수와 sin함수의 합인 랜덤 푸리에 피쳐(Random Fourier Feature)로 변경한 위치 변환 맵을 더한 후 셀프 어텐션하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각에 대응되는 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 생성하고, 상기 제1 셀프 어텐션 결과와 상기 제2 셀프 어텐션 결과를 크로스 어텐션하여 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 생성하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 객체 추적 장치는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하되, (i) 상기 제1 바운딩 박스들이 상기 제1 특정 스케일에 대응되도록 상기 제1 바운딩 박스들의 제1 너비와 제1 높이에 상기 제t 프레임과 상기 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵의 비율을 각각 곱하여 제1_1 너비와 제1_1 높이를 생성하여 상기 제1 바운딩 박스들의 스케일링된 크기를 생성하여 상기 스케일링된 크기의 상기 제1 바운딩 박스들을 이용하여 상기 영역들을 크롭하고, (ii) 상기 제1 바운딩 박스들보다 크고 상기 제1 바운딩 박스들과 동일한 너비 대 높이의 비율을 가지도록 상기 제1_1 너비와 상기 제1_1 높이를 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 객체 추적 장치는, 상기 스케일링된 크기의 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하고 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 과정에 있어서, 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀들에 대응하는 상기 제1_1 특정 피라미드 피쳐 맵 상의 위치 좌표들을 각각 연산하고, 상기 제1_1 특정 피라미드 피쳐 맵 상에서 상기 위치 좌표들 각각을 둘러싸는 4개의 정수 픽셀(integer pixel)의 피쳐 값에 대한 가중합(weighted sum)을 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀에 대한 피쳐 값으로서 생성하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 객체 추적 장치는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 상기 제1 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제1 피쳐 디스크립터들로 변환한 상기 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 상기 제2 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵 상의 상기 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 상기 제2 피쳐 디스트립터들을 각각 매칭하여 디스크립터 페어의 상기 제1 매칭 확률을 각각 계산하며, 상기 기설정된 임계치 이상의 상기 제1 매칭 확률을 가지는 특정 디스크립터 페어 중 아웃라이어(outlier)를 제외한 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들에 대한 위치 정보를 상기 제1 매칭 페어로서 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 객체 추적 장치는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 상기 제1 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하는 과정에 있어서, RPN(Regional Proposal Network)을 통해 상기 제1 결합 피쳐 맵을 참조하여 상기 제t 프레임 상에서 상기 제1 객체들이 있을 것으로 예측되는 후보 영역들에 대한 RoI(region of interest)들을 생성하고, 풀링 레이어를 통해 상기 제1 결합 피쳐 맵 상에서 상기 RoI들에 대응되는 각각의 상기 후보 영역들을 RoI 풀링하여 상기 RoI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하며, 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 RoI들 각각에 대응하는 리그레션 정보(regression information)들을 생성하고, 상기 RoI들 각각에 대응하는 상기 리그레션 정보들을 참조하여 상기 제1 프레임 상에 위치하는 상기 제1 객체들에 대응하는 상기 제1 바운딩 박스들을 획득하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 저 프레임 속도 영상 상의 객체를 추적하는 객체 추적 장치에 있어서, 인스트럭션들을 저장하는 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되, 상기 프로세서가, (I) 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치가, (i) 상기 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - 상기 k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 상기 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 상기 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 상기 제1 객체들에 대해 고유 아이디들을 부여하는 프로세스, 및 (II) (i) 상기 제t 프레임의 다음 프레임인 제t+1 프레임을 상기 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t+1 프레임을 상기 FPN에 입력하여 상기 제1 스케일 내지 상기 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하여 상기 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 상기 제2 객체들에 대응되는 제2 바운딩 박스들을 획득하고, (ii) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성하며, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어와 제1 크로스 어텐션 레이어에 입력하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 매칭 레이어에 입력하여 상기 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득하며, (iii) 상기 제2 바운딩 박스들 중에서 상기 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하여 객체 추적을 수행하는 프로세스를 수행하는 객체 추적 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 제1 매칭 페어를 획득한 상태에서, 상기 프로세서는, (i) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제2 특정 스케일 - 상기 제2 특정 스케일은 상기 제1 특정 스케일보다 큰 스케일임 - 에 대응되는 제1_2 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_2 크롭 피쳐 맵을 생성하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제2 특정 스케일에 대응되는 제2_2 특정 피라미드 피쳐 맵을 선택하여, 상기 제1 매칭 페어들에 따른 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들을 각각 상기 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들로 전환하여 상기 제1_2 크롭 피쳐 맵의 상기 제1 피쳐 디스크립터들 각각을 포함하도록 크롭한 제1 윈도우들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 포함하도록 크롭한 제2 윈도우들을 제2 셀프 어텐션 레이어와 제2 크로스 어텐션 레이어에 입력하여 상기 제1 윈도우들과 상기 제2 윈도우들을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1_2 크롭 피쳐 맵 상의 상기 제1 피쳐 디스크립터들 각각을 중심으로 한 제1_2 변환 피쳐 맵들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 중심으로 한 제2_2 변환 피쳐 맵들을 생성하며, 상기 제1_2 변환 피쳐 맵들의 중심 벡터들을 상기 제1_2 변환 피쳐 맵들 각각에 대응되는 상기 제2_2 변환 피쳐 맵들의 모든 벡터와 코릴레이션(correlation)하고 소프트맥스(softmax) 연산을 수행하여 생성한 제2 매칭 확률을 표시한 히트맵들을 이용하여 상기 제1_2 변환 피쳐 맵들의 상기 중심 벡터들에 대응되는 특정 제1 피쳐 디스크립터들과 매칭되는 상기 제2_2 변환 피쳐 맵들의 특정 벡터들에 대응되는 특정 제2 피쳐 디스크립터들을 상기 제1_2 크롭 피쳐 맵과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 매칭 페어들로서 생성하고, (ii) 상기 제2 바운딩 박스들 중에서 상기 제2 매칭 페어들에 따른 상기 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 상기 특정 제1 바운딩 박스에 대응되는 상기 특정 제1 객체와 동일한 상기 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 상기 특정 제2 객체에 부여하여 상기 객체 추적을 수행하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 (I) 프로세스 이전에, 상기 프로세서는, 학습용 제t 프레임과 학습용 제t+1 프레임에 대해 상기 객체 탐지와 상기 객체 추적을 수행하여 학습용 제1 매칭 페어들과 학습용 제2 매칭 페어들을 획득하고, 학습용 제1 매칭 확률에 대한 음의 로그우도(negative log-likelihood) 로스를 이용하여 상기 학습용 제1 매칭 페어들에 대한 학습으로서 상기 제1 셀프 어텐션 레이어, 상기 제1 크로스 어텐션 레이어 및 상기 매칭 레이어의 웨이트 중 적어도 일부를 학습시키고, 학습용 제2 매칭 확률에 대한 학습용 히트맵의 총변량과 학습용 제2_2 변환 피쳐 맵의 학습용 특정 벡터들의 학습용 피쳐 디스크립터들에 대응되는 그라운드-트루스(ground-truth) 디스크립터들을 이용하여 상기 학습용 제2 매칭 페어들에 대한 학습으로서 상기 제2 셀프 어텐션 레이어와 상기 제2 크로스 어텐션 레이어의 웨이트 중 적어도 일부를 학습시키는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 1차원 벡터로 변환한 레벨드(leveled) 피쳐 맵과, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵의 피쳐들의 위치 정보인 (x,y)좌표를 cos함수와 sin함수의 합인 랜덤 푸리에 피쳐(Random Fourier Feature)로 변경한 위치 변환 맵을 더한 후 셀프 어텐션하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각에 대응되는 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 생성하고, 상기 제1 셀프 어텐션 결과와 상기 제2 셀프 어텐션 결과를 크로스 어텐션하여 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 생성하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하되, (i) 상기 제1 바운딩 박스들이 상기 제1 특정 스케일에 대응되도록 상기 제1 바운딩 박스들의 제1 너비와 제1 높이에 상기 제t 프레임과 상기 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵의 비율을 각각 곱하여 제1_1 너비와 제1_1 높이를 생성하여 상기 제1 바운딩 박스들의 스케일링된 크기를 생성하여 상기 스케일링된 크기의 상기 제1 바운딩 박스들을 이용하여 상기 영역들을 크롭하고, (ii) 상기 제1 바운딩 박스들보다 크고 상기 제1 바운딩 박스들과 동일한 너비 대 높이의 비율을 가지도록 상기 제1_1 너비와 상기 제1_1 높이를 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 스케일링된 크기의 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하고 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 과정에 있어서, 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀들에 대응하는 상기 제1_1 특정 피라미드 피쳐 맵 상의 위치 좌표들을 각각 연산하고, 상기 제1_1 특정 피라미드 피쳐 맵 상에서 상기 위치 좌표들 각각을 둘러싸는 4개의 정수 픽셀(integer pixel)의 피쳐 값에 대한 가중합(weighted sum)을 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀에 대한 피쳐 값으로서 생성하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 상기 제1 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제1 피쳐 디스크립터들로 변환한 상기 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 상기 제2 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵 상의 상기 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 상기 제2 피쳐 디스트립터들을 각각 매칭하여 디스크립터 페어의 상기 제1 매칭 확률을 각각 계산하며, 상기 기설정된 임계치 이상의 상기 제1 매칭 확률을 가지는 특정 디스크립터 페어 중 아웃라이어(outlier)를 제외한 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들에 대한 위치 정보를 상기 제1 매칭 페어로서 획득하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 상기 제1 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하는 과정에 있어서, RPN(Regional Proposal Network)을 통해 상기 제1 결합 피쳐 맵을 참조하여 상기 제t 프레임 상에서 상기 제1 객체가 있을 것으로 예측되는 후보 영역들에 대한 RoI(region of interest)들을 생성하고, 풀링 레이어를 통해 상기 제1 결합 피쳐 맵 상에서 상기 RoI들에 대응되는 각각의 상기 후보 영역들을 RoI 풀링하여 상기 RoI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하며, 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 RoI들 각각에 대응하는 리그레션 정보(regression information)들을 생성하고, 상기 RoI들 각각에 대응하는 상기 리그레션 정보들을 참조하여 상기 제1 프레임 상에 위치하는 상기 제1 객체들에 대응하는 상기 제1 바운딩 박스들을 획득하는 것을 특징으로 하는 객체 추적 장치가 개시된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 이어지는 프레임들의 피쳐 맵 상의 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 피쳐 디스크립터로 변환한 변한 피쳐 맵들을 이용하여 프레임 간 매칭을 수행함으로써, 프레임당 시간 간격에 관계없이 객체 추적을 가능하도록 하는 효과가 있다.
또한, 본 발명은 현재 프레임 상에서 추출된 객체 영역을 크롭하여 생성한 복수의 크롭 피쳐 맵과 다음 프레임의 전체 영역에 대한 복수의 피라미드 피쳐 맵 상의 피쳐 디스크립터를 매칭하여 객체 추적을 수행함으로써, 피쳐 탐색 영역을 한정하지 않아 정확도를 높이는 동시에 크롭된 영역과 전체 영역 간의 빠른 매칭을 수행하는 효과가 있다.
또한, 본 발명은 현재 프레임과 다음 프레임의 각각의 객체 영역에서 다수의 매칭되는 피쳐 디스크립터를 매칭함으로써, 저 프레임 영상에서의 프레임 간 긴 시간 간격 동안 객체의 형태(포즈, 각도 등)가 많이 바뀌더라도 적어도 일부의 피쳐 디스크립터에 대해서는 매칭이 가능하도록 하여 정확하고 안정적인 객체 추적이 가능하도록 하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 모션 모델(Motion Model)을 이용하여 객체 추적을 수행하는 통상 기술을 개략적으로 도시한 것이고,
도 2는 밀도 추정(density estimation)을 이용하여 객체 추적을 수행하는 통상 기술을 개략적으로 도시한 것이며,
도 3은 저 프레임 속도(Low Frame-Rate)을 가지는 영상에서 프레임 간 객체 이동의 예시를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하는 객체 추적 장치를 개략적으로 도시한 것이며,
도 5는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하는 과정을 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 제1 매칭 페어를 생성하는 방법을 개략적으로 도시한 것이며,
도 7은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 피라미드 피쳐 맵과 바운딩 박스를 생성하는 방법을 개략적으로 도시한 것이고,
도 8은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 크롭 피쳐 맵을 생성하는 방법을 개략적으로 도시한 것이며,
도 9는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 제2 매칭 페어를 생성하는 방법을 개략적으로 도시하고 있다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하는 객체 추적 장치를 개략적으로 도시한 것이다.
도 4를 참조하면, 객체 추적 장치(1000)는 저 프레임 속도 영상 상의 객체를 추적하기 위한 인스트럭션들을 저장하는 메모리(1001)와 메모리(1001)에 저장된 인스트럭션들에 대응하여 저 프레임 속도 영상 상의 객체를 추적하는 프로세서(1002)를 포함할 수 있다.
구체적으로, 객체 추적 장치(1000)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
한편, 객체 추적 장치(1000)는 저 프레임 속도 영상 상의 객체를 추적하는 태스크를 수행하는 장치이며, 이를 위해 객체 추적 장치(1000)에 포함된 또는 연동된 저 프레임 속도 영상 상의 객체를 추적하기 위한 뉴럴 네트워크의 학습과 테스트를 수행할 수 있으며, 학습과 테스트를 수행한 결과를 바탕으로 저 프레임 속도 영상 상의 객체를 추적하기 위한 것이다.
이와 같이 구성된 객체 추적 장치(1000)를 이용하여 본 발명의 일 실시예에 따른 저 프레임 속도 영상 상의 객체를 추적하기 위한 방법을 도 5 내지 도 9를 참조하여 설명하면 다음과 같다.
먼저, 도 5는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하는 과정을 개략적으로 도시한 것이다.
도 5를 참조하면, 객체 추적 장치(1000)는 우선 현재 시점 t(예: t = 0)에 대응되는 제t 프레임에 대한 객체 탐지를 수행하여 제t 프레임 상에 포함된 적어도 하나의 제1 객체를 탐지함으로써 제1 객체에 대응되는 제1 바운딩 박스(1로 표시된 영역)를 획득하고, 제1 객체에 대해 고유 아이디를 부여(S01)할 수 있다. 여기서, 도 5는 편의를 위해 하나의 제1 객체에 대응되는 제1 바운딩 박스만을 표시하였으나, 본 발명은 이에 한정되지 않으며, 프레임에 포함된 복수의 객체 각각에 대해 적어도 하나의 바운딩 박스를 생성할 수 있을 것이다. 즉, 이하의 설명에서는, 단일 객체를 추적하는 것을 예시적으로 설명하지만, 본 발명이 이에 한정되는 것은 아니며, 복수의 객체들을 다중 추적하는 것에도 동일하게 적용될 수 있다.
이어서, 객체 추적 장치(1000)는 제t 프레임의 다음 프레임인 제 t+1프레임에 대해서도 객체 탐지를 수행하여 제t+1 프레임 상에 포함된 적어도 하나의 제2 객체를 탐지함으로써 제2 객체에 대응되는 제2 바운딩 박스(검은색 박스)를 획득(S02)할 수 있다. 다음으로, 객체 검출 장치(1000)는 제1 객체에 대응되는 제1 바운딩 박스를 크롭 및 리사이징하여 크롭 피쳐 맵을 생성하고, 크롭 피쳐 맵과 제t+1 프레임의 전체 영역에 대한 피쳐 맵 간의 매칭 페어들을 추출(S03)할 수 있다. 여기서, 매칭 페어들을 추출하기 위해서는 패스트 로컬 피쳐 매칭 알고리즘(fast local feature matching algorithm) 등을 이용할 수 있다. 매칭 페어를 획득한 후, 객체 검출 장치(1000)는 제1 객체에 대응되는 제1 바운딩 박스에 대해 매칭 페어를 가장 많이 포함하는 제2 바운딩 박스를 제t+1 프레임에서의 제1 객체에 대응되는 바운딩 박스로 선택하고 제1 객체에 대응되는 고유 아이디를 부여(S04)할 수 있다. 이와 같이 t=1의 프레임에서 수행한 과정을 매 프레임(예: t=2, 3, 4, ...)마다 반복할 수 있다.
구체적으로, 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하는 방법은 다음과 같다.
우선, 도 6은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 제1 매칭 페어를 생성하는 방법을 개략적으로 도시한 것이다.
도 6에 따르면, 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치(1000)가, 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크(100)에 입력하여, 객체 탐지 네트워크(100)로 하여금 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 제1 객체들에 대해 고유 아이디들을 부여할 수 있다. 여기서, 고유 아이디는 만약 제1 객체들에 대응되는 아이디가 이미 존재한다면 그 이전 프레임과 동일한 고유 아이디를 부여할 수 있으며, 만약 제1 객체들에 대응되는 아이디가 존재하지 않는다면 새로운 고유 아이디를 생성하여 부여할 수도 있을 것이다. 즉, 제t 프레임의 이전 프레임인 제t-1 프레임과, 제t 프레임 사이에서의 객체 추적을 동일한 방법으로 수행하여 제1 객체들에 대한 고유 아이디들을 부여할 수 있다.
마찬가지로, 객체 추적 장치(1000)는 제t 프레임의 다음 프레임인 제t+1 프레임을 객체 탐지 네트워크(100)에 입력하여, 객체 탐지 네트워크(100)로 하여금 제t+1 프레임을 FPN에 입력하여 제1 스케일 내지 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 객체 탐지를 수행하여 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 제2 객체들에 대응되는 제2 바운딩 박스들을 획득할 수 있다.
여기서, 도 7은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 피라미드 피쳐 맵과 바운딩 박스를 생성하는 방법을 개략적으로 도시하고 있다.
도 7에 따르면, 객체 탐지 네트워크(100)는 피라미드 피쳐 맵과 결합 피쳐 맵을 생성하는 FPN(Feature Pyramid Network; 100_1)과 결합 피쳐 맵에 대한 객체 탐지를 수행하여 바운딩 박스를 생성하는 RPN(Regional Proposal Network; 100_2)를 포함할 수 있다.
우선, 다양한 스케일의 피라미드 피쳐 맵을 생성하기 위한 FPN(100_1)은 입력된 제t 프레임과 제t+1 프레임을 각각 복수의 컨벌루션 레이어에 입력하여 컨벌루션 단계별로 각각의 프레임에 대응되는 피쳐 맵을 생성한 다음, 상위 컨벌루션 레이어부터 내려오면서 상위 피쳐 맵을 업샘플링(2x UP)하여 하위 피쳐 맵과 결합하여 다양한 스케일의 중간 피쳐 맵들을 생성하고, 상위 컨벌루션 레이어부터 내려오면서 해당 중간 피쳐맵들을 결합하여 다양한 스케일의 피라미드 피쳐 맵을 생성할 수 있다. 이어서, FPN(100_1)은 피라미드 피쳐 맵들을 업샘플링 및 결합하여 결합 피쳐 맵을 생성할 수 있다.
다음으로, RPN(100_2)은 결합 피쳐 맵을 참조하여 프레임 상에서 객체들이 있을 것으로 예측되는 후보 영역들에 대한 RoI(region of interest)들을 생성하고, 풀링 레이어를 통해 결합 피쳐 맵 상에서 RoI들에 대응되는 각각의 후보 영역들을 RoI 풀링하여 RoI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하며, 적어도 하나의 FC(Fully-Connected) 레이어를 통해 풀드 피쳐 맵들을 FC 연산하여 RoI들 각각에 대응하는 리그레션 정보(regression information)들을 생성하고, RoI들 각각에 대응하는 리그레션 정보들을 참조하여 프레임 상에 위치하는 객체들에 대응하는 바운딩 박스들을 획득하는 방법을 통해 제1 결합 피쳐 맵으로부터 제t 프레임에 대한 제1 바운딩 박스들과 제2 결합 피쳐 맵으로부터 제t+1 프레임에 대한 제2 바운딩 박스들을 획득할 수 있다.
다시 도 6을 참조하면, 객체 추적 장치(1000)는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성할 수 있다.
여기서, 도 8은 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 크롭 피쳐 맵을 생성하는 방법을 개략적으로 도시하고 있다.
구체적으로, 객체 추적 장치(1000)는, 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 제1 바운딩 박스들에 대응되는 영역들을 크롭하되, 제1 바운딩 박스들이 제1 특정 스케일에 대응되도록 제1 바운딩 박스들의 제1 너비와 제1 높이에 제t 프레임과 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵의 비율을 각각 곱하여 제1_1 너비와 제1_1 높이를 생성하여 제1 바운딩 박스들의 스케일링된 크기를 생성하여 스케일링된 크기의 제1 바운딩 박스들을 이용하여 영역들을 크롭하고, 제1 바운딩 박스들보다 크고 제1 바운딩 박스들과 동일한 너비 대 높이의 비율을 가지도록 제1_1 너비와 제1_1 높이를 리사이징하여 제1_1 크롭 피쳐 맵을 생성할 수 있다.
일례로서, 도 8을 참조하면, 제t 프레임의 크기가 H x W x 3이고 제1_1 특정 피라미드 피쳐 맵의 크기가 HF x WF x F일 때, 제t 프레임에 대응되는 제1 바운딩 박스의 위치 및 크기가 (x, y, w, h), 즉, 제1 바운딩 박스의 좌상단 코너 좌표가 (x, y)이고, 제1 바운딩 박스의 크기가 (w, h)라고 볼 수 있다면, 제1_1 특정 피라미드 피쳐 맵 상에서의 제1 바운딩 박스의 위치 및 크기인 (xF, yF, wF, hF)에 대한 값은 각각 xF = x · WF/W, yF = y · HF/H, wF = w · WF/W, hF = h · HF/H로 정할 수 있다. 이때, xF, yF, wF, hF 각각은 정수 값이 아니라 소수 값일 수 있으므로, 소수점에 해당하는 영역을 정확하게 크롭하기 위해 Bilinear Crop & Resizing의 방법을 사용할 수 있다.
이에, 제1_1 특정 피라미드 피쳐 맵 상의 제1 바운딩 박스에 대응되는 영역의 꼭짓점의 피쳐 값을 구하는 과정을 예시로 설명하면 다음과 같다. 참고로, 제1_1 특정 피라미드 피쳐 맵의 채널 수는 F이므로, 피쳐 값은 하나의 값이 아니라 길이가 F인 벡터이지만, 설명의 편의를 위해 특정 채널에서의 값이라고 가정하고 설명을 수행하며, 이와 같이 피쳐 값을 구하는 방법은 모든 채널에 동일하게 적용될 수 있다.
예시로서, 꼭짓점의 위치 좌표 값이 각각 xF = 1.4, yF = 3.8이라고 한다면, 이 꼭짓점은 제1_1 특정 피라미드 피쳐 맵에서 (1, 3), (2, 3), (1, 4), (2, 4) 라는 4개의 픽셀로 이루어진 사각형 내부에 위치하게 된다. 이에 따라, (1.4, 3.8)에서의 피쳐 값은, 4개의 픽셀 각각의 피쳐 값의 가중합(weighted sum)이 되고, 각 픽셀에 대한 가중치(weight)는 해당 픽셀과 꼭짓점이 서로 가까울수록 큰 값으로 정할 수 있다. 예를 들어, (1.4, 3.8)과 (1, 3)은 가로 세로 방향으로 각각 (0.4, 0.8)만큼 떨어져 있으므로 가중치는 (1 - 0.4) * (1 - 0.8) = 0.12가 되고, 같은 방법으로 (2, 3)에 대한 가중치는 0.4 * 0.2 = 0.08가 되며, (1, 4)에 대한 가중치는 0.6 * 0.8 = 0.48, 그리고 (2, 4)에 대한 가중치는 0.4 * 0.8 = 0.32 가 된다. 여기서, 4개의 가중치를 합하면 항상 1이 된다. 따라서, (1.4, 3.8)의 피쳐 값은 0.12 * [(1, 3)의 피쳐값] + 0.08 * [(2, 3)의 피쳐값] + 0.48 * [(1, 4)의 피쳐값] + 0.32 * [(2, 4)의 피쳐값]이 될 것이다.
따라서, 객체 추적 장치(1000)는, 스케일링된 크기의 제1 바운딩 박스들에 대응되는 영역들을 크롭하고 리사이징하여 제1_1 크롭 피쳐 맵을 생성하는 과정에 있어서, 제1_1 크롭 피쳐 맵 상의 각 픽셀들에 대응하는 제1_1 특정 피라미드 피쳐 맵 상의 위치 좌표들을 각각 연산하고, 제1_1 특정 피라미드 피쳐 맵 상에서 위치 좌표들 각각을 둘러싸는 4개의 정수 픽셀(integer pixel)의 피쳐 값에 대한 가중합(weighted sum)을 제1_1 크롭 피쳐 맵 상의 각 픽셀에 대한 피쳐 값으로서 생성할 수 있다.
나아가, 본 발명에서는 크롭 피쳐 맵의 크기로서 바운딩 박스의 스케일링된 크기인 wF, hF를 그대로 사용하지 않고 원하는 크기의 정수 값으로 리사이징할 수 있다. 따라서, 도 8에서는 이와 같이 리사이징하여 생성한 크롭 피쳐 맵의 크기를 wC와 hC로 표현하였다. 이때, wC와 hC의 크기를 정할 때는 앞서 언급한 것처럼 wF와 hF보다 작지 않도록 하여 정보 손실로 인한 불필요한 손해를 방지하고, wF와 hF의 가로세로 비율(aspect ratio, 즉, 동일한 너비 대 높이의 비율)을 유지하여 달라진 가로세로 비율로 인해 왜곡이 발생하여 부정확한 로컬 피쳐 매칭을 초래하는 것을 방지한다. 즉, 이는 wC와 hC의 크기는 각각의 바운딩 박스의 크기에 따라 결정됨을 의미한다.
이를 예시를 들어 설명하면, 만약 wF = 7.7, hF = 5.3이라고 하고, 제1_1 크롭 피쳐 맵의 크기를 10배 스케일링한 정수 값으로 설정한다면, wC = 77, hC = 53이 될 수 있다. 이같이 스케일링한 경우, 가로 방향으로 77개의 픽셀, 세로 방향으로 53개의 픽셀이 존재하므로, 제1_1 크롭 피쳐 맵에 대해서는 좌상단 꼭짓점 (1.4, 3.8)부터 우하단 꼭짓점인 (1.4 + 7.7, 3.8 + 5.3)까지 동일한 간격으로 가로 77개와 세로 53개의 피쳐 값을 각각 계산할 수 있다.
앞에서 좌상단 꼭짓점, 즉 (가로 1번째, 세로 1번째) 피쳐값은 이미 계산했으므로, 예시로서 (가로 3번??, 세로 4번째) 피쳐 값을 계산하는 방법을 설명하면 아래와 같다.
우선, 가로로 1번째 위치는 1.4이고, 77번째 위치는 1.4 + 7.7 = 9.1이 되므로, 가로로 3번째 위치는 1.4 + 7.7 * (3 - 1) / (77 - 1) = 약 1.60263이 되고, 비슷하게 세로로 4번?? 위치는 3.8 + 5.3 * (4 - 1) / (53 - 1) = 4.10577이 된다. 즉, (가로 3번째, 세로 4번째) 피쳐 값은 피쳐맵에서 (1.60263, 4.10577) 좌표를 둘러싸는 4개의 정수 픽셀인 (1, 4), (2, 4), (1, 5), (2, 5)에서의 피쳐 값들의 가중합이 되며, 가중합을 계산하는 방법은 꼭짓점에 대해 계산하는 방법과 동일하다. 이러한 방법으로, 프레임 전체에 대한 제1_1 특정 피라미드 피쳐 맵에서 제1 바운딩 박스들 각각에 대한 임의의 원하는 크기의 제1_1 크롭 피쳐 맵을 생성할 수 있다.
이어서, 다시 도 6을 참조하면, 객체 추정 장치(1000)는 제1_1 크롭 피쳐 맵과 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어(200_1)와 제1 크로스 어텐션 레이어(200_2)에 입력하여 제1_1 크롭 피쳐 맵과 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성할 수 있다.
구체적으로, 객체 추적 장치(1000)는, 제1_1 크롭 피쳐 맵과 제2_1 특정 피라미드 피쳐 맵 각각을 1차원 벡터로 변환한 레벨드(leveled) 피쳐 맵과, 제1_1 크롭 피쳐 맵과 제2_1 특정 피라미드 피쳐 맵의 피쳐들의 위치 정보인 (x,y)좌표를 cos함수와 sin함수의 합인 랜덤 푸리에 피쳐(Random Fourier Feature)로 변경한 위치 변환 맵을 더한 후 셀프 어텐션하여 제1_1 크롭 피쳐 맵과 제2_1 특정 피라미드 피쳐 맵 각각에 대응되는 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 생성하고, 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 크로스 어텐션하여 제1_1 변환 피쳐 맵과 제2_1 변환 피쳐 맵을 생성할 수 있다.
여기서, 랜덤 푸리에 피쳐는 다음과 같은 식으로 (x,y) 좌표를 변환할 수 있다.
여기서, 는 입력된 좌표,,에 대한 랜덤 푸리에 맵핑을 의미하며, 는 주파수 벡터(frequency vector)로서 주파수 벡터의 각각의 엔트리(entry)는 로부터 샘플링될 수 있고, 각각의 태스크마다 를 별도로 설정할 수 있다.
위와 같은 랜덤 퓨리에 피쳐 맵핑을 프로그램 코드로 표현하면 아래와 같이 구현할 수 있을 것이다.
다음으로, 도 6을 참조하면, 객체 추적 장치(1000)는 제1_1 변환 피쳐 맵과 제2_1 변환 피쳐 맵을 매칭 레이어(300)에 입력하여 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득할 수 있다.
구체적으로, 객체 추적 장치(1000)는, 제1_1 크롭 피쳐 맵과 제2_1 특정 피라미드 피쳐 맵 각각을 셀프 어텐션 및 크로스 어텐션하여 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 각각 매칭하여 디스크립터 페어의 제1 매칭 확률을 각각 계산하며, 기설정된 임계치 이상의 제1 매칭 확률을 가지는 특정 디스크립터 페어 중 아웃라이어(outlier)를 제외한 특정 제1 피쳐 디스크립터들과 특정 제2 피쳐 디스크립터들에 대한 위치 정보를 제1 매칭 페어로서 획득할 수 있다.
이에 따라, 객체 추적 장치(1000)는 제2 바운딩 박스들 중에서 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여함으로써, 객체 추적을 수행할 수 있다.
한편, 객체 추적에 대한 정확성을 높이기 위해, 앞서 사용한 제1 특정 스케일보다 큰 스케일의 제2 특정 스케일에 대응되는 제1_2 특정 피라미드 피쳐 맵과 제2_2 특정 피라미드 피쳐 맵을 이용하여 제1 매칭 페어를 보다 정밀한 레벨의 스케일에서 파인-튜닝(fine-tuning)한 제2 매칭 페어를 생성하고, 이를 바탕으로 보다 정확한 객체 추적을 수행할 수도 있다. 이와 같은 방법은 도 9의 예시를 통해 다음과 같이 수행될 수 있다.
도 9는 본 발명의 일 실시예에 따라 저 프레임 속도 영상 상의 객체를 추적하기 위해 제2 매칭 페어를 생성하는 방법을 개략적으로 도시하고 있다.
도 9에 따르면, 제t 프레임과 제t+1 프레임으로부터 제1 매칭 페어를 생성하는 방법은 앞서 도 6을 참조하여 설명한 방법과 동일하다.
따라서, 도 6과 같은 방법으로 제1 매칭 페어를 생성하는 한편, 객체 추적 장치(1000)는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵 중 제2 특정 스케일에 대응되는 제1_2 특정 피라미드 피쳐 맵에서 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_2 크롭 피쳐 맵을 생성하고, 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵 중 제2 특정 스케일에 대응되는 제2_2 특정 피라미드 피쳐 맵을 선택할 수 있다. 여기서, 제1_2 특정 피라미드 피쳐 맵에서 제1_2 크롭 피쳐 맵을 생성하는 방법은 앞서 설명한 제1_1 특정 피라미드 피쳐 맵에서 제1_1 크롭 피쳐 맵을 생성하는 방법과 동일할 수 있다.
이어서, 객체 추적 장치(1000)는 제1 매칭 페어들에 따른 특정 제1 피쳐 디스크립터들과 특정 제2 피쳐 디스크립터들을 각각 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들과 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들로 전환하여 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들 각각을 포함하도록 크롭한 제1 윈도우들과 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들 각각을 포함하도록 크롭한 제2 윈도우들 생성할 수 있다. 여기서, 제1 윈도우들과 제2 윈도우들은 동일한 기설정된 크기를 가질 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
이에 따라, 객체 추적 장치(1000)는 제1 윈도우들과 제2 윈도우들을 제2 셀프 어텐션 레이어(400_1)와 제2 크로스 어텐션 레이어(400_2)에 입력하여 제1 윈도우들과 제2 윈도우들을 각각 셀프 어텐션 및 크로스 어텐션하여 제1_2 크롭 피쳐 맵 상의 제1 피쳐 디스크립터들 각각을 중심으로 한 제1_2 변환 피쳐 맵들과 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들 각각을 중심으로 한 제2_2 변환 피쳐 맵들을 생성할 수 있다. 여기서 제1_2 변환 피쳐 맵들과 제2_2 변환 피쳐 맵들을 생성할 때에도, 제1_1 변환 피쳐 맵과 제2_1 변환 피쳐 맵을 생성할 때와 유사하게 셀프 어텐션을 우선 수행하여 셀프 어텐션 결과를 획득한 후, 셀프 어텐션 결과를 크로스 어텐션하여 제1_2 변환 피쳐 맵들과 제2_2 변환 피쳐 맵들을 생성할 수 있다.
다음으로, 객체 추적 장치(1000)는 제1_2 변환 피쳐 맵들의 중심 벡터들을 제1_2 변환 피쳐 맵들 각각에 대응되는 제2_2 변환 피쳐 맵들의 모든 벡터와 코릴레이션(correlation)하고 소프트맥스(softmax) 연산을 수행하여 생성한 제2 매칭 확률을 표시한 히트맵들을 이용하여 제1_2 변환 피쳐 맵들의 중심 벡터들에 대응되는 특정 제1 피쳐 디스크립터들과 매칭되는 제2_2 변환 피쳐 맵들의 특정 벡터들에 대응되는 특정 제2 피쳐 디스크립터들을 제1_2 크롭 피쳐 맵과 제2_2 특정 피라미드 피쳐 맵 상의 제2 매칭 페어들로서 생성할 수 있다.
이에 따라, 객체 추적 장치(1000)는 제2 바운딩 박스들 중에서 제2 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하는 객체 추적을 수행할 수 있다.
위와 같이 객체 추적을 수행하는 한편, 객체 추적 장치(1000)는 학습을 통해 제1 셀프 어텐션 레이어(200_1), 제1 크로스 어텐션 레이어(200_2), 매칭 레이어(300), 제2 셀프 어텐션 레이어(400_1), 제2 크로스 어텐션 레이어(400_2)의 웨이트 중 적어도 일부를 학습시킬 수 있다.
구체적으로, 객체 추적 장치(1000)는 학습용 제t 프레임과 학습용 제t+1 프레임에 대해 객체 탐지와 객체 추적을 수행하여 학습용 제1 매칭 페어들과 학습용 제2 매칭 페어들을 획득하고, 학습용 제1 매칭 확률에 대한 음의 로그우도(negative log-likelihood) 로스를 이용하여 학습용 제1 매칭 페어들에 대한 학습으로서 제1 셀프 어텐션 레이어(200_1), 제1 크로스 어텐션 레이어(200_2) 및 매칭 레이어(300)의 웨이트 중 적어도 일부를 학습시킬 수 있다.
또한, 객체 추적 장치(1000)는 학습용 제2 매칭 확률에 대한 학습용 히트맵의 총변량과 학습용 제2_2 변환 피쳐 맵의 학습용 특정 벡터들의 학습용 피쳐 디스크립터들에 대응되는 그라운드-트루스(ground-truth) 디스크립터들을 이용하여 학습용 제2 매칭 페어들에 대한 학습으로서 제2 셀프 어텐션 레이어(400_1)와 제2 크로스 어텐션 레이어(400_2)의 웨이트 중 적어도 일부를 학습시킬 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
1000: 객체 추정 장치
1001: 메모리
1002: 프로세서
100: 객체 탐지 네트워크
100_1: FPN
100_2: RPN
200_1: 제1 셀프 어텐션 레이어
200_2: 제1 크로스 어텐션 레이어
300: 매칭 레이어
400_1: 제2 셀프 어텐션 레이어
400_2: 제2 크로스 어텐션 레이어

Claims (16)

  1. 저 프레임 속도 영상 상의 객체를 추적하는 방법에 있어서,
    (a) 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치가, (i) 상기 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - 상기 k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 상기 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 상기 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 상기 제1 객체들에 대해 고유 아이디들을 부여하는 단계; 및
    (b) 상기 객체 추적 장치가, (i) 상기 제t 프레임의 다음 프레임인 제t+1 프레임을 상기 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t+1 프레임을 상기 FPN에 입력하여 상기 제1 스케일 내지 상기 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하여 상기 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 상기 제2 객체들에 대응되는 제2 바운딩 박스들을 획득하고, (ii) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성하며, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어와 제1 크로스 어텐션 레이어에 입력하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 매칭 레이어에 입력하여 상기 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득하며, (iii) 상기 제2 바운딩 박스들 중에서 상기 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하여 객체 추적을 수행하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 제1 매칭 페어를 획득한 상태에서,
    상기 객체 추적 장치는, (i) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제2 특정 스케일 - 상기 제2 특정 스케일은 상기 제1 특정 스케일보다 큰 스케일임 - 에 대응되는 제1_2 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_2 크롭 피쳐 맵을 생성하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제2 특정 스케일에 대응되는 제2_2 특정 피라미드 피쳐 맵을 선택하여, 상기 제1 매칭 페어들에 따른 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들을 각각 상기 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들로 전환하여 상기 제1_2 크롭 피쳐 맵의 상기 제1 피쳐 디스크립터들 각각을 포함하도록 크롭한 제1 윈도우들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 포함하도록 크롭한 제2 윈도우들을 제2 셀프 어텐션 레이어와 제2 크로스 어텐션 레이어에 입력하여 상기 제1 윈도우들과 상기 제2 윈도우들을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1_2 크롭 피쳐 맵 상의 상기 제1 피쳐 디스크립터들 각각을 중심으로 한 제1_2 변환 피쳐 맵들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 중심으로 한 제2_2 변환 피쳐 맵들을 생성하며, 상기 제1_2 변환 피쳐 맵들의 중심 벡터들을 상기 제1_2 변환 피쳐 맵들 각각에 대응되는 상기 제2_2 변환 피쳐 맵들의 모든 벡터와 코릴레이션(correlation)하고 소프트맥스(softmax) 연산을 수행하여 생성한 제2 매칭 확률을 표시한 히트맵들을 이용하여 상기 제1_2 변환 피쳐 맵들의 상기 중심 벡터들에 대응되는 특정 제1 피쳐 디스크립터들과 매칭되는 상기 제2_2 변환 피쳐 맵들의 특정 벡터들에 대응되는 특정 제2 피쳐 디스크립터들을 상기 제1_2 크롭 피쳐 맵과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 매칭 페어들로서 생성하고, (ii) 상기 제2 바운딩 박스들 중에서 상기 제2 매칭 페어들에 따른 상기 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 상기 특정 제1 바운딩 박스에 대응되는 상기 특정 제1 객체와 동일한 상기 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 상기 특정 제2 객체에 부여하여 상기 객체 추적을 수행하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 (a) 단계 이전에,
    상기 객체 추적 장치는, 학습용 제t 프레임과 학습용 제t+1 프레임에 대해 상기 객체 탐지와 상기 객체 추적을 수행하여 학습용 제1 매칭 페어들과 학습용 제2 매칭 페어들을 획득하고, 학습용 제1 매칭 확률에 대한 음의 로그우도(negative log-likelihood) 로스를 이용하여 상기 학습용 제1 매칭 페어들에 대한 학습으로서 상기 제1 셀프 어텐션 레이어, 상기 제1 크로스 어텐션 레이어 및 상기 매칭 레이어의 웨이트 중 적어도 일부를 학습시키고, 학습용 제2 매칭 확률에 대한 학습용 히트맵의 총변량과 학습용 제2_2 변환 피쳐 맵의 학습용 특정 벡터들의 학습용 피쳐 디스크립터들에 대응되는 그라운드-트루스(ground-truth) 디스크립터들을 이용하여 상기 학습용 제2 매칭 페어들에 대한 학습으로서 상기 제2 셀프 어텐션 레이어와 상기 제2 크로스 어텐션 레이어의 웨이트 중 적어도 일부를 학습시키는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 객체 추적 장치는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 1차원 벡터로 변환한 레벨드(leveled) 피쳐 맵과, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵의 피쳐들의 위치 정보인 (x,y)좌표를 cos함수와 sin함수의 합인 랜덤 푸리에 피쳐(Random Fourier Feature)로 변경한 위치 변환 맵을 더한 후 셀프 어텐션하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각에 대응되는 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 생성하고, 상기 제1 셀프 어텐션 결과와 상기 제2 셀프 어텐션 결과를 크로스 어텐션하여 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 생성하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 객체 추적 장치는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하되, (i) 상기 제1 바운딩 박스들이 상기 제1 특정 스케일에 대응되도록 상기 제1 바운딩 박스들의 제1 너비와 제1 높이에 상기 제t 프레임과 상기 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵의 비율을 각각 곱하여 제1_1 너비와 제1_1 높이를 생성하여 상기 제1 바운딩 박스들의 스케일링된 크기를 생성하여 상기 스케일링된 크기의 상기 제1 바운딩 박스들을 이용하여 상기 영역들을 크롭하고, (ii) 상기 제1 바운딩 박스들보다 크고 상기 제1 바운딩 박스들과 동일한 너비 대 높이의 비율을 가지도록 상기 제1_1 너비와 상기 제1_1 높이를 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 객체 추적 장치는, 상기 스케일링된 크기의 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하고 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 과정에 있어서, 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀들에 대응하는 상기 제1_1 특정 피라미드 피쳐 맵 상의 위치 좌표들을 각각 연산하고, 상기 제1_1 특정 피라미드 피쳐 맵 상에서 상기 위치 좌표들 각각을 둘러싸는 4개의 정수 픽셀(integer pixel)의 피쳐 값에 대한 가중합(weighted sum)을 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀에 대한 피쳐 값으로서 생성하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 객체 추적 장치는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 상기 제1 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제1 피쳐 디스크립터들로 변환한 상기 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 상기 제2 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵 상의 상기 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 상기 제2 피쳐 디스트립터들을 각각 매칭하여 디스크립터 페어의 상기 제1 매칭 확률을 각각 계산하며, 상기 기설정된 임계치 이상의 상기 제1 매칭 확률을 가지는 특정 디스크립터 페어 중 아웃라이어(outlier)를 제외한 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들에 대한 위치 정보를 상기 제1 매칭 페어로서 획득하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 객체 추적 장치는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 상기 제1 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하는 과정에 있어서, RPN(Regional Proposal Network)을 통해 상기 제1 결합 피쳐 맵을 참조하여 상기 제t 프레임 상에서 상기 제1 객체들이 있을 것으로 예측되는 후보 영역들에 대한 RoI(region of interest)들을 생성하고, 풀링 레이어를 통해 상기 제1 결합 피쳐 맵 상에서 상기 RoI들에 대응되는 각각의 상기 후보 영역들을 RoI 풀링하여 상기 RoI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하며, 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 RoI들 각각에 대응하는 리그레션 정보(regression information)들을 생성하고, 상기 RoI들 각각에 대응하는 상기 리그레션 정보들을 참조하여 상기 제1 프레임 상에 위치하는 상기 제1 객체들에 대응하는 상기 제1 바운딩 박스들을 획득하는 것을 특징으로 하는 방법.
  9. 저 프레임 속도 영상 상의 객체를 추적하는 객체 추적 장치에 있어서,
    인스트럭션들을 저장하는 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되,
    상기 프로세서가, (I) 영상 장치로부터 복수의 프레임으로 구성되는 영상이 획득하면, 객체 추적 장치가, (i) 상기 복수의 프레임 중 현재 시점에 대응되는 제t 프레임을 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t 프레임을 FPN(Feature Pyramid Network)에 입력하여 제1 스케일 내지 제k 스케일 - 상기 k는 2 이상의 정수임 - 각각에 대응되는 제1_1 피라미드 피쳐 맵 내지 제1_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 제1 결합 피쳐 맵에 대해 객체 탐지를 수행하여 상기 제1 프레임 상에 포함된 제1 객체들을 탐지함으로써, 상기 제1 객체들에 대응되는 제1 바운딩 박스들을 획득하며, 상기 제1 객체들에 대해 고유 아이디들을 부여하는 프로세스, 및 (II) (i) 상기 제t 프레임의 다음 프레임인 제t+1 프레임을 상기 객체 탐지 네트워크에 입력하여, 상기 객체 탐지 네트워크로 하여금 상기 제t+1 프레임을 상기 FPN에 입력하여 상기 제1 스케일 내지 상기 제k 스케일에 대응하는 제2_1 피라미드 피쳐 맵 내지 제2_k 피라미드 피쳐 맵을 생성하도록 하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵이 결합된 제2 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하여 상기 제t+1 프레임 상에 포함된 제2 객체들을 탐지함으로써, 상기 제2 객체들에 대응되는 제2 바운딩 박스들을 획득하고, (ii) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_1 크롭 피쳐 맵을 생성하며, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제1 특정 스케일에 대응되는 제2_1 특정 피라미드 피쳐 맵을 제1 셀프 어텐션 레이어와 제1 크로스 어텐션 레이어에 입력하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 제1 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제1 피쳐 디스크립터들로 변환한 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 제2 피쳐들 각각을 각각의 피쳐 정보들과 위치 정보들을 포함하는 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 매칭 레이어에 입력하여 상기 제1_1 변환 피쳐 맵 상의 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 제2 피쳐 디스트립터들을 매칭한 제1 매칭 확률을 이용하여 제1 매칭 페어들을 획득하며, (iii) 상기 제2 바운딩 박스들 중에서 상기 제1 매칭 페어들에 따른 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 특정 제1 바운딩 박스에 대응되는 특정 제1 객체와 동일한 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 특정 제2 객체에 부여하여 객체 추적을 수행하는 프로세스를 수행하는 객체 추적 장치.
  10. 제9항에 있어서,
    상기 (II) 프로세스에서,
    상기 제1 매칭 페어를 획득한 상태에서,
    상기 프로세서는, (i) 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제2 특정 스케일 - 상기 제2 특정 스케일은 상기 제1 특정 스케일보다 큰 스케일임 - 에 대응되는 제1_2 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 영역들을 크롭한 제1_2 크롭 피쳐 맵을 생성하고, 상기 제2_1 피라미드 피쳐 맵 내지 상기 제2_k 피라미드 피쳐 맵 중 상기 제2 특정 스케일에 대응되는 제2_2 특정 피라미드 피쳐 맵을 선택하여, 상기 제1 매칭 페어들에 따른 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들을 각각 상기 제1_2 크롭 피쳐 맵의 제1 피쳐 디스크립터들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 피쳐 디스크립터들로 전환하여 상기 제1_2 크롭 피쳐 맵의 상기 제1 피쳐 디스크립터들 각각을 포함하도록 크롭한 제1 윈도우들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 포함하도록 크롭한 제2 윈도우들을 제2 셀프 어텐션 레이어와 제2 크로스 어텐션 레이어에 입력하여 상기 제1 윈도우들과 상기 제2 윈도우들을 각각 셀프 어텐션 및 크로스 어텐션하여 상기 제1_2 크롭 피쳐 맵 상의 상기 제1 피쳐 디스크립터들 각각을 중심으로 한 제1_2 변환 피쳐 맵들과 상기 제2_2 특정 피라미드 피쳐 맵 상의 상기 제2 피쳐 디스크립터들 각각을 중심으로 한 제2_2 변환 피쳐 맵들을 생성하며, 상기 제1_2 변환 피쳐 맵들의 중심 벡터들을 상기 제1_2 변환 피쳐 맵들 각각에 대응되는 상기 제2_2 변환 피쳐 맵들의 모든 벡터와 코릴레이션(correlation)하고 소프트맥스(softmax) 연산을 수행하여 생성한 제2 매칭 확률을 표시한 히트맵들을 이용하여 상기 제1_2 변환 피쳐 맵들의 상기 중심 벡터들에 대응되는 특정 제1 피쳐 디스크립터들과 매칭되는 상기 제2_2 변환 피쳐 맵들의 특정 벡터들에 대응되는 특정 제2 피쳐 디스크립터들을 상기 제1_2 크롭 피쳐 맵과 상기 제2_2 특정 피라미드 피쳐 맵 상의 제2 매칭 페어들로서 생성하고, (ii) 상기 제2 바운딩 박스들 중에서 상기 제2 매칭 페어들에 따른 상기 특정 제2 피쳐 디스크립터들에 대응되는 특정 제2 피쳐들을 가장 많이 포함하는 특정 제2 바운딩 박스를 선택하여, 상기 특정 제1 바운딩 박스에 대응되는 상기 특정 제1 객체와 동일한 상기 특정 고유 아이디를 상기 특정 제2 바운딩 박스에 대응되는 상기 특정 제2 객체에 부여하여 상기 객체 추적을 수행하는 것을 특징으로 하는 객체 추적 장치.
  11. 제10항에 있어서,
    상기 (I) 프로세스 이전에,
    상기 프로세서는, 학습용 제t 프레임과 학습용 제t+1 프레임에 대해 상기 객체 탐지와 상기 객체 추적을 수행하여 학습용 제1 매칭 페어들과 학습용 제2 매칭 페어들을 획득하고, 학습용 제1 매칭 확률에 대한 음의 로그우도(negative log-likelihood) 로스를 이용하여 상기 학습용 제1 매칭 페어들에 대한 학습으로서 상기 제1 셀프 어텐션 레이어, 상기 제1 크로스 어텐션 레이어 및 상기 매칭 레이어의 웨이트 중 적어도 일부를 학습시키고, 학습용 제2 매칭 확률에 대한 학습용 히트맵의 총변량과 학습용 제2_2 변환 피쳐 맵의 학습용 특정 벡터들의 학습용 피쳐 디스크립터들에 대응되는 그라운드-트루스(ground-truth) 디스크립터들을 이용하여 상기 학습용 제2 매칭 페어들에 대한 학습으로서 상기 제2 셀프 어텐션 레이어와 상기 제2 크로스 어텐션 레이어의 웨이트 중 적어도 일부를 학습시키는 것을 특징으로 하는 객체 추적 장치.
  12. 제9항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 1차원 벡터로 변환한 레벨드(leveled) 피쳐 맵과, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵의 피쳐들의 위치 정보인 (x,y)좌표를 cos함수와 sin함수의 합인 랜덤 푸리에 피쳐(Random Fourier Feature)로 변경한 위치 변환 맵을 더한 후 셀프 어텐션하여 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각에 대응되는 제1 셀프 어텐션 결과와 제2 셀프 어텐션 결과를 생성하고, 상기 제1 셀프 어텐션 결과와 상기 제2 셀프 어텐션 결과를 크로스 어텐션하여 상기 제1_1 변환 피쳐 맵과 상기 제2_1 변환 피쳐 맵을 생성하는 것을 특징으로 하는 객체 추적 장치.
  13. 제9항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵 중 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵에서 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하되, (i) 상기 제1 바운딩 박스들이 상기 제1 특정 스케일에 대응되도록 상기 제1 바운딩 박스들의 제1 너비와 제1 높이에 상기 제t 프레임과 상기 제1 특정 스케일에 대응되는 상기 제1_1 특정 피라미드 피쳐 맵의 비율을 각각 곱하여 제1_1 너비와 제1_1 높이를 생성하여 상기 제1 바운딩 박스들의 스케일링된 크기를 생성하여 상기 스케일링된 크기의 상기 제1 바운딩 박스들을 이용하여 상기 영역들을 크롭하고, (ii) 상기 제1 바운딩 박스들보다 크고 상기 제1 바운딩 박스들과 동일한 너비 대 높이의 비율을 가지도록 상기 제1_1 너비와 상기 제1_1 높이를 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 것을 특징으로 하는 객체 추적 장치.
  14. 제13항에 있어서,
    상기 프로세서는, 상기 스케일링된 크기의 상기 제1 바운딩 박스들에 대응되는 상기 영역들을 크롭하고 리사이징하여 상기 제1_1 크롭 피쳐 맵을 생성하는 과정에 있어서, 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀들에 대응하는 상기 제1_1 특정 피라미드 피쳐 맵 상의 위치 좌표들을 각각 연산하고, 상기 제1_1 특정 피라미드 피쳐 맵 상에서 상기 위치 좌표들 각각을 둘러싸는 4개의 정수 픽셀(integer pixel)의 피쳐 값에 대한 가중합(weighted sum)을 상기 제1_1 크롭 피쳐 맵 상의 각 픽셀에 대한 피쳐 값으로서 생성하는 것을 특징으로 하는 객체 추적 장치.
  15. 제9항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제1_1 크롭 피쳐 맵과 상기 제2_1 특정 피라미드 피쳐 맵 각각을 셀프 어텐션 및 크로스 어텐션하여 상기 제1 크롭 피쳐 맵의 상기 제1 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제1 피쳐 디스크립터들로 변환한 상기 제1_1 변환 피쳐 맵과, 상기 제2_1 특정 피라미드 피쳐 맵의 상기 제2 피쳐들 각각을 각각의 상기 피쳐 정보들과 상기 위치 정보들을 포함하는 상기 제2 피쳐 디스크립터들로 변환한 제2_1 변환 피쳐 맵을 생성하고, 상기 제1_1 변환 피쳐 맵 상의 상기 제1 피쳐 디스크립터들과 상기 제2_1 변환 피쳐 맵 상의 상기 제2 피쳐 디스트립터들을 각각 매칭하여 디스크립터 페어의 상기 제1 매칭 확률을 각각 계산하며, 상기 기설정된 임계치 이상의 상기 제1 매칭 확률을 가지는 특정 디스크립터 페어 중 아웃라이어(outlier)를 제외한 특정 제1 피쳐 디스크립터들과 상기 특정 제2 피쳐 디스크립터들에 대한 위치 정보를 상기 제1 매칭 페어로서 획득하는 것을 특징으로 하는 객체 추적 장치.
  16. 제9항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 제1_1 피라미드 피쳐 맵 내지 상기 제1_k 피라미드 피쳐 맵이 결합된 상기 제1 결합 피쳐 맵에 대해 상기 객체 탐지를 수행하는 과정에 있어서, RPN(Regional Proposal Network)을 통해 상기 제1 결합 피쳐 맵을 참조하여 상기 제t 프레임 상에서 상기 제1 객체들이 있을 것으로 예측되는 후보 영역들에 대한 RoI(region of interest)들을 생성하고, 풀링 레이어를 통해 상기 제1 결합 피쳐 맵 상에서 상기 RoI들에 대응되는 각각의 상기 후보 영역들을 RoI 풀링하여 상기 RoI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하며, 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 RoI들 각각에 대응하는 리그레션 정보(regression information)들을 생성하고, 상기 RoI들 각각에 대응하는 상기 리그레션 정보들을 참조하여 상기 제1 프레임 상에 위치하는 상기 제1 객체들에 대응하는 상기 제1 바운딩 박스들을 획득하는 것을 특징으로 하는 객체 추적 장치.
KR1020220157632A 2022-11-22 2022-11-22 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치 KR20240076572A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220157632A KR20240076572A (ko) 2022-11-22 2022-11-22 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치
US18/384,706 US11941820B1 (en) 2022-11-22 2023-10-27 Method for tracking an object in a low frame-rate video and object tracking device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220157632A KR20240076572A (ko) 2022-11-22 2022-11-22 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치

Publications (1)

Publication Number Publication Date
KR20240076572A true KR20240076572A (ko) 2024-05-30

Family

ID=90362702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220157632A KR20240076572A (ko) 2022-11-22 2022-11-22 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치

Country Status (2)

Country Link
US (1) US11941820B1 (ko)
KR (1) KR20240076572A (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908160B2 (en) * 2018-10-12 2024-02-20 Nokia Technologies Oy Method and apparatus for context-embedding and region-based object detection
KR20200133863A (ko) * 2019-05-20 2020-12-01 삼성전자주식회사 첨단 운전자 지원 장치, 이의 캘리브레이션 방법 및 이의 객체를 검출하는 방법

Also Published As

Publication number Publication date
US11941820B1 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
US10769480B2 (en) Object detection method and system
CN110287826B (zh) 一种基于注意力机制的视频目标检测方法
CN107452015B (zh) 一种具有重检测机制的目标跟踪系统
US7324693B2 (en) Method of human figure contour outlining in images
WO2023082882A1 (zh) 一种基于姿态估计的行人摔倒动作识别方法及设备
CN104346811B (zh) 基于视频图像的目标实时追踪方法及其装置
JP5500024B2 (ja) 画像認識方法及び装置並びにプログラム
US9247139B2 (en) Method for video background subtraction using factorized matrix completion
CN111523447B (zh) 车辆跟踪方法、装置、电子设备及存储介质
CN109063549B (zh) 基于深度神经网络的高分辨率航拍视频运动目标检测方法
TWI777731B (zh) 從圖像中提取特徵的方法、裝置及計算機可讀介質
CN113327272B (zh) 一种基于相关滤波的鲁棒性长时跟踪方法
CN112488057A (zh) 一种利用人头点定位和关节点信息的单相机多目标跟踪方法
CN112131944B (zh) 一种视频行为识别方法及系统
CN111539987B (zh) 基于判别模型的遮挡检测系统及方法
CN112802108A (zh) 目标对象定位方法、装置、电子设备及可读存储介质
CN110992393B (zh) 一种基于视觉的目标运动跟踪方法
CN111881915A (zh) 一种基于多种先验信息约束的卫星视频目标智能检测方法
Cai et al. A target tracking method based on KCF for omnidirectional vision
JP2020086879A (ja) 座標変換行列推定方法及びコンピュータプログラム
CN116523957A (zh) 一种多目标跟踪方法、系统、电子设备及存储介质
KR20240076572A (ko) 저 프레임 속도 영상 상의 객체를 추적하는 방법 및 이를 이용한 객체 추적 장치
CN111860261A (zh) 一种客流值的统计方法、装置、设备及介质
CN111967403A (zh) 视频移动区域确定方法、装置及电子设备
Tian et al. High confidence detection for moving target in aerial video

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal