KR20140103046A - 객체 추적 방법 및 이를 지원하는 전자 장치 - Google Patents

객체 추적 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR20140103046A
KR20140103046A KR1020140010284A KR20140010284A KR20140103046A KR 20140103046 A KR20140103046 A KR 20140103046A KR 1020140010284 A KR1020140010284 A KR 1020140010284A KR 20140010284 A KR20140010284 A KR 20140010284A KR 20140103046 A KR20140103046 A KR 20140103046A
Authority
KR
South Korea
Prior art keywords
image information
key frame
current image
descriptor
object tracking
Prior art date
Application number
KR1020140010284A
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 US14/180,989 priority Critical patent/US20140233800A1/en
Publication of KR20140103046A publication Critical patent/KR20140103046A/ko

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

본 개시는 객체 처리에 관한 것으로, 특히 본 개시는 추적 객체의 이동을 예측하는 예측 과정, 상기 예측 정보 기반의 현재 이미지 정보 특징점을 각각의 키 프레임 특징점들과 비교하는 비교 과정, 상기 비교 결과에 따라 상기 키 프레임들 중 특정 키 프레임을 선택하는 선택 과정, 상기 선택된 키 프레임을 기반으로 상기 현재 이미지 정보의 객체 이동을 보정하는 각도평가 과정을 포함하고, 상기 비교 과정은 상기 특징점 위치 값을 이웃하는 특징점들과의 관계로 정의하는 과정을 포함하는 객체 추적 방법 및 이를 지원하는 전자 장치의 구성을 개시한다.

Description

객체 추적 방법 및 이를 지원하는 전자 장치{Object Tracing Method and Electronic Device supporting the same}
본 개시는 영상 처리에 관한 것으로, 특히 객체 추적 기능에 관한 것이다.
최근 들어, 단말기는 하드웨어 기술의 발달을 기반으로 다양한 사용자 기능을 운용할 수 있도록 지원하고 있다. 예컨대 영상 수집 기능은 단말기의 중요한 기능 중 하나로 자리 잡고 있다. 이에 따라 영상 수집 기능과 관련하여 보다 다양한 사용자 기능의 활용성 및 확장성에 대한 연구가 활발히 진행되고 있다.
본 개시의 다수의 실시 예에 따르면, 본 개시는 개선된 객체 추적 기능을 제공할 수 있다.
본 개시의 실시 예에 따르면, 본 개시는 추적 객체의 이동을 예측하는 예측 과정, 상기 예측 정보 기반의 현재 이미지 정보 특징점을 각각의 키 프레임 특징점들과 비교하는 비교 과정, 상기 비교 결과에 따라 상기 키 프레임들 중 특정 키 프레임을 선택하는 선택 과정, 상기 선택된 키 프레임을 기반으로 상기 현재 이미지 정보의 객체 이동을 보정하는 각도평가 과정을 포함하고, 상기 비교 과정은 상기 특징점 위치 값을 이웃하는 특징점들과의 관계로 정의하는 과정을 포함하는 객체 추적 방법의 구성을 개시한다.
본 개시는 또한, 전자장치를 이용하여, 복수의 이미지들 상에서 제 1객체(a first object)를 추적하는 단계를 포함하며, 상기 제 1객체를 추적하는 단계는, 제 1 이미지 상에 이미 추적되고 있는 제 1 객체가 존재하는지 여부를 결정하는 단계, 상기 결정하는 단계에서, 상기 제 1 객체가 존재하는 경우, 상기 제 1 객체의 하나 이상의 특징점들 중 적어도 일부에 기초하여, 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계, 및 상기 제 1 객체가 존재하지 않는 경우, 상기 제1이미지의 일부 또는 전부에 기초하여, 상기 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계를 포함하는 전자장치의 동작 방법의 구성을 개시한다.
본 개시는 또한, 이전 이미지 정보에서 추적 중인 객체가 현재 이미지 정보에 존재하지 않는 경우 사전 등록된 키 프레임을 이용하여 현재 이미지 정보의 추적 객체 검출을 수행하는 객체 추적 모듈, 상기 객체 추적 모듈에 상기 현재 이미지 정보를 제공하는 입력 제어 모듈을 포함하는 객체 추적 지원 장치의 구성을 개시한다.
본 개시는 또한, 사전 정의된 키 프레임들의 특징점 및 현재 이미지 정보의 특징점을 검출하고 상기 각각의 키 프레임 특징점과 상기 현재 이미지 정보의 특징점 비교 결과에 따라 상기 현재 이미지 정보의 키 프레임 세트 등록을 처리하는 객체 추적 모듈, 상기 객체 추적 모듈에 상기 현재 이미지 정보를 제공하는 입력 제어 모듈을 포함하는 객체 추적 지원 장치의 구성을 개시한다.
이상에서 살펴본 바와 같이 본 개시에 따르면, 본 개시는 개선된 객체 추적기능을 지원할 수 있다.
도 1은 본 개시의 실시 예에 따른 객체 추적 기능을 지원하는 객체 추적 지원 장치의 구성을 개략적으로 나타낸 도면.
도 2는 도 1의 구성을 보다 상세히 나타낸 도면.
도 3은 본 개시의 실시 예에 따른 객체 추적 방법을 설명하기 위한 도면.
도 4는 본 개시의 특징점 매칭 동작 과정을 보다 상세히 설명하기 위한 도면.
도 5는 본 개시의 실시 예에 따른 체인형 BRIEF 디스크립터 계산을 설명하기 위한 도면.
도 6은 도 5의 레벨별 디스크립터 패치 사이즈의 일예를 설명하기 위한 도면.
도 7은 본 개시의 키프레임 선택 동작 과정을 보다 상세히 설명하기 위한 도면.
도 8은 도 7의 키 프레임 선택을 위한 객체 비교의 일예를 설명하기 위한 도면.
도 9는 본 개시의 키프레임 세트 제어 동작 과정을 보다 상세히 나타낸 도면.
도 10은 본 개시의 리로컬라이제이션 동작 과정을 보다 상세히 나타낸 도면.
도 11은 본 개시의 객체 추적 기능을 지원하는 시스템 구성을 개략적으로 나타낸 도면.
도 12는 도 11의 구성들의 블록 다이어그램의 일예를 나타낸 도면.
도 13은 본 개시의 객체 추적 지원 장치가 적용될 수 있는 전자 장치 구성의 일예를 개략적으로 나타낸 도면.
도 14는 본 개시의 객체 추적 지원 장치가 적용될 수 있는 플랫폼의 구성을 예시적으로 나타낸 도면.
이하, 본 개시의 실시 예를 첨부된 도면에 의거하여 상세히 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 또한, 실질적으로 동일한 구성과 기능을 가진 구성 요소들에 대해서는 상세한 설명을 생략하도록 한다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 개시는 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
도 1은 본 개시의 실시 예에 따른 객체 추적 기능을 지원하는 전자 장치 예컨대 객체 추적 지원 장치의 구성을 나타낸 도면이다. 도 2는 도 1의 구성을 보다 상세히 나타낸 도면이다.
이하에서 설명하는 본 개시의 객체 추적 지원 장치는 획득된 영상에 포함된 요소들 중 특정 객체를 인식할 수 있다. 그리고 본 개시의 객체 추적 지원 장치는 인식된 객체를 보다 원활하게 추적할 수 있도록 지원한다. 이러한 객체 추적 지원 장치는 다양한 영상 처리 기술에 적용될 수 있다. 이하 설명에서는 객체 추적 지원 장치가 AR 기능을 지원하는 과정을 기준으로 설명하기로 한다. 이에 따라, 객체 추적 지원 장치는 AR 처리 장치(Augmented Reality Processing Device)의 적어도 일부가 될 수 있다.
도 1 및 도 2를 참조하면, 본 개시의 객체 추적 지원 장치(100)는 입력 제어 모듈(110)(Control Module), 객체 인식 모듈(120)(recognition Module), 객체 상세 정보 획득 모듈(130)(Localization Module), 객체 추적 모듈(140)(Tracking Module)을 포함할 수 있다.
상술한 객체 추적 지원 장치(100)는 획득된 입력 정보 중 이미지 정보에 대한 영상 처리를 수행할 수 있다. 이 과정에서 객체 추적 지원 장치(100)는 이미지 정보에 포함된 객체의 추적 기능을 지원할 수 있다. 특히 객체 추적 지원 장치(100)는 객체 추적 기능 지원 시 효율적인 객체 추적을 위한 데이터 운용 예컨대 키 프레임 참조와 키 프레임 갱신을 포함하는 키 프레임 운용 지원할 수 있다. 키 프레임 운용은 키 프레임 정의 및 비교 동작을 포함할 수 있다.
키 프레임 정의 동작은 현재 추적 중인 객체(Object)들이 포함된 이미지 정보와 비교할 유사 특징점들 또는 특징점을 포함하는 객체들을 포함한 이미지 정보를 키 프레임으로 정의하는 것이 될 수 있다. 그리고 키 프레임 비교 동작은 현재 수집된 이미지 정보와 적어도 하나의 키 프레임을 비교하여 가장 유사한 키 프레임을 검색하고, 검색된 키 프레임을 기준으로 현재 이미지 정보의 객체들의 추적 처리를 지원하는 방식이 될 수 있다. 이 과정에서 본 개시의 객체 추적 지원 장치(100)는 특징점 정의 과정에서 체인형 피라미드 BRIEF(Binary Robust Independent Elementary Features) 특징 디스크립터 방식을 적용할 수 있다. 또한 객체 추적 지원 장치(100)는 키 프레임 세트 갱신을 제어할 수 있다. 또한 객체 추적 지원 장치(100)는 키 프레임을 이용한 객체 추적 실패한 이미지 정보 처리를 지원할 수 있다. 이를 기반으로 객체 추적 지원 장치(100)는 이미지에 포함된 객체들의 실질적인 이동 추적 과정을 보다 간소화된 연산을 통하여 처리할 수 있다. 그리고 객체 추적 지원 장치(100)는 실제 객체들의 이동에 따라 증강 현실 컨텐츠 적용을 보다 정확하고 신속하게 수행할 수 있다.
입력 제어 모듈(110)은 객체 추적 지원 장치(100)에 제공되는 입력 정보를 분류할 수 있다. 그리고 입력 제어 모듈(110)은 현재 객체 추적 지원 장치(100)의 기능 수행 상태에 따라 입력 정보의 전달루트를 결정할 수 있다. 예컨대 입력 제어 모듈(110)은 초기 이미지 정보가 획득되면 해당 이미지 정보를 객체 인식 모듈(120)에 제공할 수 있다. 이미지 정보는 객체 추적 지원 장치(100)와 연결된 이미지 센서 또는 객체 추적 지원 장치(100)를 포함한 단말기에 배치된 이미지 센서로부터 획득될 수 있다.
입력 제어 모듈(110)은 객체 인식 모듈(120)에 의한 이미지 인식 과정 및 객체 상세 정보 획득 모듈(130)에 의하여 객체 구분 과정이 완료되면 이미지 정보를 직접 객체 추적 모듈(140)에 전달할 수 있다. 또는 입력 제어 모듈(110)은 이미지 정보를 객체 인식 모듈(120) 및 객체 추적 모듈(140)에 동시에 전달할 수 있다. 이에 따라 이미지 정보에 대한 인식 처리 및 객체 추적 처리는 병렬적으로 수행될 수도 있다.
입력 제어 모듈(110)은 객체 추적 기능 수행 중인 경우 이미지 정보를 객체 인식 모듈(120)에 제공하지 않도록 제어할 수도 있다. 그리고 입력 제어 모듈(110)은 객체 추적에 실패한 경우 이미지 정보를 객체 인식 모듈(120)에 다시 제공하도록 지원할 수 있다. 또한 입력 제어 모듈(110)은 AR 컨텐츠가 추적 중인 객체들에 적용되는 경우 다른 입력 정보들 예컨대 오디오 정보나 센서 정보 등을 객체 추적 모듈(140)에 제공할 수 있다.
객체 인식 모듈(120)은 입력 제어 모듈(110)로부터 이미지 정보를 수신하면 이에 대한 인식 과정을 수행할 수 있다. 이러한 객체 인식 모듈(120)은 도 2에 도시된 바와 같이 특징 검출부(121)(Feature detection unit), 디스크립터 연산부(123)(Descriptors calculation unit) 및 이미지 쿼리부(143)(Image query unit)를 포함할 수 있다.
특징 검출부(121)는 필터링 과정을 거쳐 주변보다 두드러진 지점을 특징점으로 추출할 수 있다. 이때 특징 검출부(121)는 객체 추적 지원 장치(100)에 적용할 다양한 필터링 정보들에 의하여 다양한 양상으로 특징 검출을 수행할 수 있다. 예컨대 특징 검출부(121)는 이미지 정보에 대한 이산화 과정을 수행할 수 있다. 그리고 특징 검출부(121)는 이산화된 정보들에 대하여 주파수 분석이나 사전 정의된 특정 알고리즘을 적용하여 일정 특징들이 남도록 처리할 수 있다.
디스크립터 연산부(123)는 특징 검출 결과를 토대로 디스크립터를 연산할 수 있다. 디스크립터는 검출된 특징점들을 기반으로 산출된 해당 이미지 정보의 적어도 일부 영역의 고유 특성을 정의한 정보가 될 수 있다. 이러한 디스크립터는 이미지 정보에서 일정 부분별로 특징점들의 위치나 특징점들 간의 배치 형태, 특징점들의 고유 특성 중 적어도 하나에 의하여 정의될 수 있다. 즉 디스크립터는 이미지 정보의 일정 지점의 고유 특성을 간략화한 값이 될 수 있다. 따라서 디스크립터는 하나의 이미지 정보에서 적어도 하나가 추출될 수 있다.
이미지 쿼리부(125)는 디스크립터 연산이 완료되면 이미지 쿼리 과정을 통하여 참조 데이터와의 비교를 수행할 수 있다. 예를 들어, 이미지 쿼리부(125)는 계산된 디스크립터들과 동일한 디스크립터 또는 일정 오차 범위 이내에 있는 디스크립터들을 가지는 참조 데이터가 있는지 확인할 수 있다. 참조 데이터는 객체 추적 지원 장치(100) 운용을 위해 마련된 내부 저장 장치로부터 제공될 수 있다. 또는 참조 데이터는 객체 추적 지원 장치(100) 운용을 위해 외부 저장 장치 예컨대 별도 서버 장치 등으로부터 제공될 수도 있다. 참조 데이터는 특정 이미지에 대하여 사전에 저장된 또는 현재 처리 중인 이미지 정보 획득 직전에 저장된 이미지 정보가 될 수 있다.
예컨대, 얼굴 인식은 인증된 얼굴들의 인식을 위해 외부 참조 얼굴 데이터베이스 요구하고 서로 다른 얼굴 차이를 확인할 수 있다. 한편 QR 코드는 일반적인 경우 극적인 정보 갱신이 수행되지 않는다. 따라서 데이터베이스의 QR 코드 인식을 위한 특정 규칙만이 요구되고 이에 따라 QR 코드는 내부 참조 데이터를 이용할 수 있다. 객체 인식 모듈(120)은 참조 데이터의 활용을 통하여 이미지 인식 과정에 대한 연산을 간소화할 수 있다. 그리고 객체 인식 모듈(120)은 참조 데이터를 활용하여 타겟 객체 식별을 수행할 수 있다.
객체 상세 정보 획득 모듈(130)은 이미지 정보를 구성하는 다양한 객체들을 구분할 수 있다. 또한, 객체 상세 정보 획득 모듈(130)은 객체 추적 지원 장치(100)가 객체 추적 기능을 활성화하는 경우 매칭 정보 및 초기 각도 정보 중 적어도 하나를 포함하는 객체 관련 정보를 객체 추적 모듈(140)에 제공할 수 있다. 이러한 객체 상세 정보 획득 모듈(130)은 도 2에 도시된 바와 같이 특징 매칭부(131)(Feature Matching Unit) 및 초기 각도 평가부(133)(Initial Pose Estimation Unit)를 포함할 수 있다.
특징 매칭부(131)는 이미지 정보에서 구분된 객체들의 특징점들을 추출할 수 있다. 그리고 특징 매칭부(131)는 특정 객체들의 특징점들을 참조 데이터의 일정 객체와 매칭할 수 있다. 이때 특징 매칭부(130)는 특징점들의 매칭 정보가 없는 경우 매칭 정보를 새로 갱신할 수 있다.
초기 각도 평가부(133)는 객체에 대한 특징 매칭이 완료되면 이미지 정보에 포함된 적어도 하나의 객체들의 초기 각도 평가를 수행할 수 있다.
객체 추적 모듈(140)은 인식된 타겟 객체들의 초기 각도 평가를 객체 상세 정보 획득 모듈(130)의 초기 각도 평가부(133)로부터 전달받는다. 그리고 객체 추적 모듈(140)은 연속적으로 타겟 객체의 각도(Object Pose) 연산을 통해 트래킹을 유지할 수 있다. 객체 추적 모듈(140)은 객체 각도에 포함되는 인식 정보 및 객체 구분 정보의 기본 출력(basic Output)을 가질 수 있다. 특히 본 개시의 객체 추적 모듈(140)은 키 프레임들을 이용하여 객체들의 추적을 진행할 수 있다. 이때 객체 추적 모듈(140)은 키 프레임 선택, 키 프레임들의 관리, 추적 실패 시 키 프레임 운용 등을 지원할 수 있다. 이를 위하여 객체 추적 모듈(140)은 도 2에 도시된 바와 같이 객체 각도 예측부(141)(Object Pose Prediction unit), 특징 검출부(142)(Feature detection unit), 디스크립터 연산부(143)(Descriptors calculation unit), 특징 매칭부(144)(Feature matching unit) 및 각도 평가부(145)(Pose estimation unit)를 포함할 수 있다.
객체 각도 예측부(141)는 이미지 정보에 포함된 적어도 하나의 객체의 각도(Pose)를 예측(Prediction)할 수 있다. 객체 각도 예측부(141)는 객체 상세 정보 획득 모듈(130)로부터 이미지 정보에 포함된 적어도 하나의 객체들에 대한 초기 각도 평가 값을 전달받을 수 있다. 이에 따라 객체 각도 예측부(141)는 객체들의 초기 각도 평가 값을 기반으로 이미지 정보에 포함된 객체들의 이동에 따른 객체 각도를 예측할 수 있다. 즉 객체 각도 예측부(141)는 초기 각도 평가 값을 기반으로 이미지 정보에 포함된 적어도 하나의 객체들이 어느 위치 및/또는 어떠한 방향이나 각도로 이동 했는지를 예측할 수 있다.
이를 보다 상세히 설명하면, 객체 각도 예측부(141)는 이전 획득된 이미지 정보와 현재 획득된 이미지 정보를 비교하여 전체적인 이미지 정보의 이동 정도 즉 이동 거리와 이동 방향, 이동 각도 중 적어도 하나를 산출할 수 있다. 그리고 객체 각도 예측부(141)는 산출된 이동 정도를 기반으로 이미지 정보에 포함된 적어도 하나의 객체 이동을 예측할 수 있다. 예컨대 객체 각도 예측부(141)는 이전 프레임과 현재 프레임 간의 위상 상관 연산(Phase correlation)을 수행할 수 있다. 이때 객체 각도 예측부(141)는 FFT(Fast Fourier transform) 알고리즘을 적용하여 위상 상관 연산을 수행할 수 있다. 또한 객체 각도 예측부(141)는 현존하는 다양한 알고리즘(예컨대, POSIT(Pose from Orthography and Scaling with Iteration)) 적용을 통하여 객체의 이동 각도와 거리를 예측할 수 있다. 객체 각도 예측은 실시간으로 수행될 수 있다.
객체 각도 예측부(141)에 의한 객체 이동 예측이 완료되면 특징 검출부(142)는 현재 획득된 이미지 정보의 특징 또는 객체 특징을 검출할 수 있다. 특징 검출부(142)가 수행하는 이미지 정보의 특징 검출은 객체 인식 모듈(120)에서 수행되는 특징 검출과 동일한 과정이 적용될 수 있다. 또는 특징 검출부(142)가 수행하는 특징 검출 과정은 객체 인식 모듈(120)에 비하여 보다 간소화된 특징 검출이 될 수 있다. 즉 특징 검출부(142)는 객체의 이동 추적을 지원하기 위하여 객체 인식 모듈(120)에서 수행된 특징 검출에 비하여 상대적으로 보다 적은 특징점 개수 추출 또는 보다 적은 영역의 특징점 추출을 수행할 수 있다. 예컨대 객체 추적 모듈(140)에서의 특징 검출부(142)는 특정 객체에 대한 일정 범위 영역에 대한 특징점 검출만을 수행할 수 있다. 이때 일정 범위 영역은 후술하는 도 6에서와 같이 다양한 레벨로 설정될 수 있다.
한편 특징 검출부(142)는 사전 저장된 키 프레임들 중 적어도 하나를 선택할 수 있다. 그리고 특징 검출부(142)는 현재 이미지 정보와 키 프레임들과의 매칭을 위한 파라메터 계산을 수행할 수 있다. 예컨대 특징 검출부(142)는 이미지 정보에서의 특징점 위치 정보를 기록하기 위해 통합 이미지 처리(Integral Image Processing)를 수행할 수 있다. 통합 이미지 처리는 이미지 정보의 기준점으로부터 각 특징점들의 위치 값을 정의하는 처리가 될 수 있다. 특히 통합 이미지 처리는 일정 지점 예컨대 (x,y) 좌표 에서 (0,0)으로 정의할 수 있는 특정 모서리 지점을 기준으로 이미지 정보에 포함된 특정 특징점 위치 값을 누적된 영역별로 정의하는 방식이 될 수 있다. 이에 따라 특정 지점의 특징점 위치 값 산출은 해당 지점을 포함하는 누적 영역의 위치 값에서 해당 지점을 포함하지 않는 누적 영역의 위치 값을 감산하는 방식으로 수행될 수 있다. 한편 특징 검출부(142)는 이미지 정보에서의 특징점 위치 정보를 특징점에 인접된 다른 특징점들과의 관계로서 정의할 수 있다.
디스크립터 연산부(143)는 특징 검출 결과를 토대로 디스크립터를 연산할 수 있다. 디스크립터 연산부(143)는 객체 추적 모듈(140)의 특징 검출부(142)에서 검출한 특징점들을 기반으로 디스크립터를 연산할 수 있다. 여기서 디스크립터는 이미지 정보 상에 배치된 일정 영역 또는 일정 개수, 또는 적어도 하나의 객체에 포함된 영역의 특징점들에 의해 정의될 수 있다. 예컨대 본 개시에서 적용되는 디스크립터 연산부(143)는 체인형 피라미드 BRIEF(Binary Robust Independent Elementary Features) 특징 디스크립터(이하 체인형 BRIEF 디스크립터 또는 디스크립터)를 적용할 수 있다.
체인형 BRIEF 디스크립터는 회전에 대한 신뢰성(robustness) 획득을 위하여 이미지 정보에서 특징점들의 (x,y) 페어들을 사전 계산된 특징점들의 각도로 회전시킬 수 있다. 그리고 노이즈 제거를 위한 블러(blur) 처리 및 고성능에 대한 신뢰성 제공을 위하여 체인형 BRIEF 디스크립터는 픽셀들의 스무스 강도들(smoothed intensities) 대신에 픽셀들 주변의 각 영역을 사용할 수 있다. 또한 체인형 BRIEF 디스크립터는 스케일(scale)에 대한 신뢰성 제공을 위하여 사각형의 일측 크기를 미리 계산된 특징 스케일에 비례하여 선택하고 (x,y) 페어들의 세트(set)를 스케일에 대응하여 재계산할 수 있다. 디스크립터 연산부(143)는 디스크립터 연산이 완료되면 해당 결과를 특징 매칭부(144)에 제공할 수 있다.
특징 매칭부(144)는 디스크립터 연산부(143)에 의해 계산된 체인형 BRIEF 디스크립터를 기반으로 특징 매칭을 수행할 수 있다. 즉 특징 매칭부(144)는 키 프레임에서 산출된 체인형 BRIEF 디스크립터와 유사한 디스크립터를 현재 이미지 정보에서 검색 및 비교하여 디스크립터 간의 매칭을 수행할 수 있다. 특징 매칭부(144)는 키 프레임과 현재 이미지 정보 간의 비교 결과가 사전 정의된 일정 값 이하인 경우 예컨대 유사도가 일정 값 이하인 경우 현재 이미지 정보를 새로운 키 프레임 후보로 정의할 수 있다. 그리고 특징 매칭부(144)는 설계 방식에 따라 새로운 키 프레임 후보를 키 프레임들에 등록하도록 지원할 수 있다. 이때 특징 매칭부(144)는 이전 등록된 키 프레임을 제거하고 새로운 키 프레임 후보를 키 프레임으로 등록할 수 있다. 또는 특징 매칭부(144)는 이전 등록된 키 프레임의 제거 없이 새로운 키 프레임 등록을 수행하도록 지원할 수도 있다. 한편 특징 매칭부(144)는 현재 이미지 정보 및 키 프레임에 포함된 적어도 일부 영역의 특징점들 매칭을 수행할 수도 있다. 이 경우는 디스크립터가 하나의 특징점으로 구성된 경우에 해당할 수 있을 것이다.
각도 평가부(145)는 키 프레임 및 현재 이미지 정보 간의 디스크립터 매칭을 통하여 이미지 정보에서의 객체 이동이 얼마의 각도로 어느 정도의 위치까지 발생하였는지에 대한 평가를 수행할 수 있다. 즉 각도 평가부(145)는 이미지 정보에 포함된 객체들의 이동과 예측된 정보가 일치되는지 검사할 수 있다. 여기서 각도 평가부(145)는 객체 이동에 따라 객체의 스케일과 방향이 변경된 경우를 확인하고 그에 따른 객체 보정을 수행할 수 있다. 여기서 각도 평가부(145)는 예측과 실제 객체 이동 일치 상황에서 실제 객체 이동에 의하여 표시되어야 하는 방향 변경과 스케일 변경 등을 수집한다.
그리고 각도 평가부(145)는 방향 변경과 스케일 변경에 따른 내용을 해당 객체에 적용할 증강 현실 컨텐츠 표시에 적용하도록 제어할 수 있다. 즉 각도 평가부(145)는 객체 이동에 따라 스케일이 줄어든 경우 표시되어야 할 증강 현실 컨텐츠의 크기를 스케일 변경에 맞게 변경하여 표시할 수 있다. 또한 각도 평가부(145)는 객체 이동에 따라 방향이 변경된 경우 표시되어야 할 증강 현실 컨텐츠의 방향을 해당 실제 객체의 방향 변경에 맞게 조정하여 표시할 수 있다.
객체 추적 모듈(140)은 객체 추적 실패 시 리로컬라이제이션(Relocalization unit)을 수행할 수 있다. 이를 통해 객체 추적 모듈(140)은 객체 추적 실패를 보다 신속하게 보완할 수 있다. 객체 추적 모듈(140)은 추적 중인 객체가 현재 이미지 정보에서 검출되지 않으면 해당 이미지 정보에서의 객체 추적을 위해 사용된 키 프레임들 중 적어도 하나의 키 프레임을 기준으로 객체 추적을 재수행할 수 있다. 즉 객체 추적 모듈(140)은 현재 수집된 이미지 정보에서 객체들을 추출하고, 추출된 객체들의 특징점들을 정의한 디스크립터를 키 프레임들에서의 객체들의 디스크립터와 비교할 수 있다. 그리고 객체 추적 모듈(140)은 가장 유사한 디스크립터들을 가진 키 프레임을 선택하여 객체 추적을 재수행하도록 지원할 수 있다. 여기서 객체 추적 모듈(140)은 적어도 하나의 특징점을 포함하는 디스크립터를 기준으로 현재 이미지 정보와 키 프레임의 유사성 비교를 수행할 수도 있다. 결과적으로 객체 추적 모듈(140)은 현재 이미지 정보와 키 프레임의 적어도 일부 특징점들의 비교를 수행하고, 이를 기반으로 현재 이미지 정보와 가장 유사한 키 프레임을 선택할 수 있다. 그리고 객체 추적 모듈(140)은 선택된 키프레임에 포함된 객체들에 대하여 현재 이미지 정보에 대한 객체 추적을 수행하도록 지원할 수 있다. 이를 위하여 객체 추적 모듈(140)은 상술한 리로컬라이제이션을 수행하는 별도의 구성(예컨대 리로컬라이제이션부)을 포함할 수 있다.
객체 추적 모듈(140)은 객체 추적을 실패한 상황에서 직전에 사용된 키 프레임과 현재 이미지 정보 간의 비교를 우선적으로 수행할 수 있다. 그리고 객체 추적 모듈(140)은 해당 비교 결과에서 디스크립터들의 유사도가 일정 값 이상인 경우 다른 키 프레임들의 선택 및 비교를 수행하지 않고 해당 키 프레임을 기반으로 객체 추적 기능을 수행하도록 지원할 수 있다. 또는 객체 추적 모듈(140)은 현재 이미지 정보 수집 직전에 키 프레임을 적용한 직전 이미지 정보를 새로운 키 프레임으로 등록하고, 새로 등록된 키 프레임과 현재 이미지 정보 간의 디스크립터 비교 및 그 결과에 따른 추적 기능 수행을 요청할 수 있다.
이러한 과정을 통하여 본 개시의 객체 추적 모듈(140)은 리로컬라이제이션을 통해서 객체 추적 실패 시 객체 인식과 객체화 과정을 재수행하지 않고도 높은 확률로 객체 추적 실패에 대한 복구를 수행할 수 있다. 결과적으로 본 개시의 객체 추적 모듈(140)은 리로컬라이제이션을 통해 객체 인식 및 객체화 과정에 소요되는 시간과 연산량을 저감하여 보다 신속한 객체 추적 수행을 지원할 수 있다.
상술한 키 프레임 운용 기반의 객체 추적 기능에 대하여 도 3 내지 도 10을 참조하여 보다 상세히 설명하기로 할 수 있다.
도 3은 본 개시의 실시 예에 따른 객체 추적 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 본 개시의 객체 추적 방법을 지원하는 객체 추적 지원 장치(100)는 10 동작(Operation) 과정에서 이미지(영상)를 입력받고 및 추적 객체의 각도를 예측할 수 있다. 이때 객체 추적 지원 장치(100)의 객체 추적 모듈(140)은 인식 모듈(120) 및 객체화 모듈(130)로부터 이미지 정보에 포함된 객체들에 대한 초기 정보를 전달받을 수 있다. 그러면 객체 추적 지원 장치(100)는 인식 모듈(120) 및 객체화 모듈(130)로부터 전달받은 초기 정보를 토대로 이미지 정보에 포함된 객체들의 각도를 예측할 수 있다. 또는 객체 추적 지원 장치(100)는 이전 이미지 정보에서 검출된 객체에 관한 정보를 기반으로 현재 이미지 정보에서의 객체 각도를 예측할 수 있다. 객체 각도의 예측이 완료되면, 객체 추적 지원 장치(100)는 20 동작 과정에서 현재 이미지 정보의 특징점 검출을 수행한다. 특징점 검출은 앞서 설명한 바와 같이 다양한 방식에 의하여 수행될 수 있다. 예컨대 특징점 검출은 현재 이미지 정보에 대한 특정 타입의 필터링을 적용하는 과정이 될 수 있다. 이미지 정보에 다양한 피사체들이 배치되는 경우 상기 필터링 적용에 따라 각 피사체들에 대한 특징점 예컨대 모서리 지점, 경계 지점, 그림자 지점, 경계들의 교차 지점 등 다양한 지점들이 적어도 하나가 검출될 수 있다.
다음으로, 객체 추적 지원 장치(100)는 30 동작 과정에서 추적 객체 존재 여부를 확인한다. 앞서 설명한 바와 같이 객체 추적 지원 장치(100)는 객체를 추적하는 과정에서 직전 이미지 정보 또는 객체 상세 정보 획득 모듈(130)에서 제공된 초기 정보에서 이미 객체들이 포함되어 있음을 전달받는다. 이에 따라 객체 추적 지원 장치(100)는 30 동작 과정에서 추적 중인 객체가 현재 이미지 정보에 포함되어 있는지 또는 현재 이미지 정보에서 제거되어 객체 추적을 놓쳤는지를 확인할 수 있다.
30 동작 과정에서 추적 객체가 존재하는 것으로 판단되면, 객체 추적 지원 장치(100)는 40 동작 과정에서 특징점 매칭을 수행한다. 특징점 매칭을 수행하기 위하여 객체 추적 지원 장치(100)는 적어도 하나의 키 프레임을 선택하고 현재 이미지 정보와 비교를 수행한다. 이 과정에서 객체 추적 지원 장치(100)는 키 프레임의 특징점과 현재 이미지 정보의 특징점 비교를 수행할 수 있다. 이때 객체 추적 지원 장치(100)는 적어도 하나의 특징점들로 구성된 적어도 하나의 디스크립터를 상호 비교하여 객체 추적을 진행할 수도 있다. 40 동작 과정에 대해서 후술하는 도면들을 참조하여 보다 상세히 설명하기로 한다.
40 동작 과정에서 특징점 매칭이 완료되면, 객체 추적 지원 장치(100)는 50 동작 과정에서 각도 평가(Pose Estimation)를 수행한다. 객체 추적 지원 장치(100)는 각도 평가를 수행하면서 이전 이미지 정보에서 검출된 객체들과 가장 유사한 객체들이 배치된 키 프레임을 기준으로 객체들의 뷰 방향 차이 및 스케일 차이 등을 적용할 수 있다. 이를 통하여 객체 추적 지원 장치(100)는 실제 객체들의 이동에 따른 방향 및 스케일 보정을 수행할 수 있다. 추가로 객체 추적 지원 장치(100)는 각도 평가를 수행하면서 추가적인 컨텐츠 적용을 제어할 수 있다. 예컨대 객체 추적 지원 장치(100)는 실제 이동된 객체의 뷰 방향 차이 값 및 스케일 차이 값을 증강 현실 컨텐츠에 적용하여 수정된 또는 새롭게 선택되거나 생성된 증강 현실 컨텐츠를 생성할 수 있다. 그리고 객체 추적 지원 장치(100)는 수정된 또는 새롭게 선택되거나 생성된 증강 현실 컨텐츠를 해당 객체에 대응하여 출력하도록 지원할 수 있다.
각도 평가 과정에서 객체 추적 지원 장치(100)는 다중 객체에 대한 추적을 지원할 수 있다. 이때 객체 추적 지원 장치(100)는 성능 개선을 위하여 모든 객체들이 정지되어 있다고 가정한다. 그리고 객체 추적 지원 장치(100)는 가장 눈에 띄는(Visible) 또는 이미지 정보에서 가장 핵심적인 예컨대 가장 큰 크기를 가지는 객체를 선택할 수 있다. 객체 추적 지원 장치(100)는 선택된 객체의 모든 매칭 좌표들을 이전 프레임에 객체들의 각도와 다른 객체들의 각도들 사이의 관계를 이용하여 좌표계 시스템으로 전환할 수 있다. 그리고 선택된 객체의 각도는 모든 매칭점들을 이용하여 계산할 수 있다. 여기서 가정에 의하여 선택된 객체의 이전 및 현재 계산된 위치들의 각도 변화는 다른 객체들과 동일할 수 있다. 이를 이용하여 다른 추적 객체들의 각도를 계산할 수 있다.
여기서 객체 추적 지원 장치(100)는 추적된 객체들의 인라이어들(inliers)의 개수에 의한 획득된 각도 검증을 수행할 수 있다. 여기서 인라이어는 키 프레임의 해당 객체 영역 내에 위치하는 현재 이미지 정보의 특정 객체 특징점들이 될 수 있다. 이러한 추적하는 객체 내에 있는 특징점들에 해당하는 인라이어들은 몇몇 객체들이 다른 객체들 또는 배경과 비례하여 이동하는 상황에서 객체 영역 내에 위치할 수 있다. 한편 몇몇 객체들의 인라이어들의 수가 설정 값보다 작으면, 해당 객체의 각도 계산은 매칭점들을 이용하여 다시 계산될 수 있다. 상술한 각도 평가를 통하여 본 개시의 객체 추적 지원 장치(100)는 객체들이 정지되어 있거나 이미지 센서 자체가 이동하는 경우 다중 객체들에 대한 객체 추적을 거의 동시에 진행할 수 있다. 또한 객체 추적 지원 장치(100)는 객체들의 몇몇 매칭점들을 이용하여 모든 추적 객체들의 추적 연속성을 보장할 수 있다.
다음으로 객체 추적 지원 장치(100)는 60 동작 과정에서 키 프레임 세트 제어를 수행한다. 즉 객체 추적 지원 장치(100)는 현재 이미지 정보를 새로운 키 프레임으로 등록할지를 제어할 수 있다. 상술한 60 동작 과정은 40 동작 과정과 종속적으로 수행되거나 또는 독립적으로 수행될 수 있다. 즉 도 3에서는 50 동작 과정 이후 60 동작 과정을 수행하는 것으로 나타내었으나, 60 동작 과정은 40 동작 과정 이후에 바로 수행될 수도 있으며, 경우에 따라 생략될 수도 있다.
다음으로 객체 추적 지원 장치(100)는 70 동작 과정에서 추적 기능 종료를 위한 입력 이벤트 수신을 확인할 수 있다. 이 동작 과정에서 추적 기능 종료를 위한 입력 이벤트 발생이 없으면 10 동작 과정 이전으로 분기하여 이하 과정을 재수행하도록 지원할 수 있다.
한편 30 동작 과정에서 추적 객체가 이미지 정보에 없는 경우 객체 추적 지원 장치(100)는 80 동작 과정으로 분기하여 리로컬라이제이션(relocalization)을 수행할 수 있다. 객체 추적 지원 장치(100)는 직전 이미지 정보에서 객체 추적을 수행하다가 특정 이유 예컨대 추적 중인 객체가 인식이 불가능할 정도의 크기로 줄어들거나 또는 줄어드는 것처럼 표시되거나, 객체 추적 지원 장치(100)의 영상 획득 범위를 벗어난 경우 객체 추적을 실패할 수 있다. 또는 객체 추적 지원 장치(100)는 직전 이미지 정보에서 검색된 객체가 현재 이미지 정보에 포함되어 있다 하더라도 다양한 환경적 요인에 의하여 발생한 에러에 따라 객체 추적을 실패할 수도 있다.
이 경우 객체 추적 지원 장치(100)는 객체 추적을 위해 마련된 키 프레임들을 활용하여 객체화 과정을 수행하도록 지원할 수 있다. 즉 객체 추적 지원 장치(100)는 적어도 하나의 키 프레임을 기반으로 현재 수집된 이미지 정보의 특징점 비교를 수행하고 그에 따른 객체 인식 및 추적을 수행하도록 지원할 수 있다.
도 4는 도 3의 특징점 매칭을 수행하는 40 동작 과정을 보다 상세히 나타낸 도면이다. 도 5는 체인형 BRIEF 디스크립터 산출을 설명하기 위한 도면이다. 도 6은 키 프레임의 특징점을 위한 디스크립터 패치 크기를 설명하기 위한 도면이다.
도 4를 참조하면, 30 동작 과정에서 추적 객체가 현재 획득된 이미지 정보 내에 존재하는 경우, 객체 추적 지원 장치(100)는 41 동작 과정에서 특징점을 위한 키 프레임 선택을 수행한다. 이때 객체 추적 지원 장치(100)는 다수개의 키 프레임이 존재하는 경우 41 동작 과정에서 최적의 키 프레임 선택을 수행할 수 있다. 객체 추적 지원 장치(100)의 키 프레임 선택과 관련하여 도 7을 참조하여 보다 상세히 설명하기로 한다.
41 동작 과정에서 키 프레임 선택이 수행되면, 객체 추적 지원 장치(100)는 43 동작 과정에서 매칭 파라메터 계산을 수행한다. 즉 객체 추적 지원 장치(100)는 현재 이미지 정보의 특징점들과 비교할 키 프레임의 특징점들에 대한 파라메터 값들을 계산한다. 그리고 객체 추적 지원 장치(100)는 45 동작 과정에서 계산된 매칭 파라메터 값들을 기반으로 체인형 피라미드 BRIEF 디스크립터를 계산한다.
이를 도 5를 참조하여 설명하면, 객체 추적 지원 장치(100)는 키 프레임에 대한 필터링 과정을 수행하여 특징점들을 계산한다. 그리고 객체 추적 지원 장치(100)는 계산된 특징점들에 대한 파라메터 값 산출을 수행한다. 예컨대 객체 추적 지원 장치(100)는 앞서 설명한 바와 같이 각각의 특징점들이 해당 키 프레임의 이미지 정보에서의 위치 값을 산출할 수 있다. 이때 객체 추적 지원 장치(100)는 특징점들의 위치 정보를 영역별 누적된 값으로 산출할 수 있다. 그리고 객체 추적 지원 장치(100)는 키 프레임에서 검출된 각 특징점들에 대하여 체인형 BRIEF 디스크립터 계산을 수행할 수 있다.
객체 추적 지원 장치(100)는 체인형 BRIEF 디스크립터를 계산하면서 각각의 특징점들에 대한 위치 값을 다른 회전 파라메터 및 다른 스케일 파라메터로서 구분된 셀로서 저장할 수 있다. 셀의 수는 레벨에 따라 다르게 정의될 수 있다. 각 셀들에 대한 저장 과정에서 객체 추적 지원 장치(100)는 룩업 테이블을 생성한다. 성능 개선을 위하여 객체 추적 지원 장치(100)는 이미지 정보의 특징점들의 위치를 지시하는 n(x,y) 페어들의 세트를 n+1(x,y) 좌표들과 디스크립터 계산을 위한 (x,y) 페어들을 사용하는 인접된 페어들로 교체할 수 있다. 즉 객체 추적 지원 장치(100)는 도 5에 도시된 도면에서와 같이 특징점들을 연결하는 체인을 이용하여 특징점들의 (x,y) 좌표를 정의할 수 있다. 해당 도면에서 시작점과 종료점을 제외하고 두 선이 연결되는 지점에는 특징점들이 배치될 수 있다. 이와 같은 구조의 체인형 BRIEF 디스크립터는 특정 지점에 대한 위치 값을 체인으로 연결된 다른 특징점들과의 관계로서 구분할 수 있다.
한편 키 프레임들과 현재 이미지 정보에서 검출된 특징점들에 대한 디스크립터 구성 시 도 6에 도시된 바와 같이 디스크립터 영역을 몇몇 레벨들로 설정할 수 있다. 예컨대 도시된 바와 같이 디스크립터 설정 영역에 해당하는 디스크립터 패치들은 0 레벨, 1 스케일, 0 각도의 디스크립터와, 패치, 1 레벨, 2 스케일, 0 각도의 디스크립터 패치와, 2 레벨, 4 스케일, 0 각도의 디스크립터 패치 등을 포함할 수 있다. 이러한 디스크립터의 크기나 레벨 등은 전체 특징점들의 개수와 이미지 정보의 크기에 비례하여 조정될 수 있다. 즉 특정 특징점을 기준으로 인접 영역의 크기를 다르게 정의하는 것은 전체 이미지 정보가 포함한 또는 전체 키 프레임이 포함한 특징점들의 개수에 따라 상대적으로 높은 레벨 또는 낮은 레벨이 선택될 수 있을 것이다. 예컨대 키 프레임 또는 현재 이미지 정보에서 검출된 특징점들의 개수가 일정 개수 이하인 경우 상대적으로 높은 레벨이 선택되어 상대적으로 큰 영역을 가지는 디스크립터 패치가 적용될 수 있다. 또한 키 프레임 또는 현재 이미지 정보에서 검출된 특징점들의 개수가 일정 개수 이상인 경우 상대적으로 낮은 레벨이 선택되어 상대적으로 작은 영역을 가지는 디스크립터 패치가 적용될 수 있다.
객체 추적 지원 장치(100)는 47 동작 과정에서 선택 키 프레임의 특징점들 중 매칭되는 특징점을 검출한다. 객체 추적 지원 장치(100)는 키 프레임의 추적 검색 범위보다 멀지 않은 키 프레임에서의 특징점들의 최적 매치를 찾을 수 있다. 여기서 키 프레임들은 키 프레임의 특징점 위치 근사화를 위한 거리를 가질 수 있다. 매칭 과정은 키 프레임의 예측된 특징점 위치 주변 특정 영역에서 수행될 수 있다. 그리고 현재 이미지 정보의 특징점 디스크립터는 단지 미리 계산된 레벨의 키 프레임 특징점 디스크립터들과 비교될 수 있다.
도 7은 도 4의 41 동작 과정에 해당하는 키 프레임 선택 동작을 보다 상세히 설명하기 위한 도면이다. 도 8은 키 프레임 선택의 일예를 예시적으로 나타낸 도면이다.
도 7 및 도 8을 참조하면, 객체 추적 지원 장치(100)는 도 3의 30 동작 과정에서 추적 객체가 이미지 정보에 존재하는 경우 401 동작 과정으로 진행하여 현재 객체에서 키 프레임 객체까지의 호모그라피(Homography : 비트림 왜곡 영상 보정)를 계산할 수 있다.
호모그라피의 계산이 완료되면, 객체 추적 지원 장치(100)는 402 동작 과정에서 현재 이미지 정보의 특징점 또는 특징점 디스크립터를 모든 키 프레임들에 배경 영사(Backproject)할 수 있다. 그리고 객체 추적 지원 장치(100)는 403 동작 과정에서 배경 영상된 위치가 키 프레임의 외부에 위치하는지를 확인할 수 있다. 403 동작 과정에서 외부에 위치하지 않으면, 객체 추적 지원 장치(100)는 405 동작 과정에서 현재 객체와 키 프레임 객체 사이의 뷰 방향 차이(View Direction difference) 및 스케일 차이(scale difference)를 계산한다. 즉 객체 추적 지원 장치(100)는 특징점들 및 디스크립터 중 적어도 하나의 비교 과정에서 현재 이미지 정보와 키 프레임들의 특징점들 및 디스크립터 중 적어도 하나의 뷰 방향 차이 및 스케일 차이를 계산할 수 있다.
이를 도 8을 참조하여 설명하면, 객체 추적 지원 장치(100)는 현재 이미지 정보(800) 수집을 수행하고 특징점 산출을 수행할 수 있다. 이에 따라 객체 추적 지원 장치(100)는 현재 이미지 정보(800)에 추적 중인 특정 객체(801)가 포함되어 있고, 해당 특정 객체(801)의 일정 지점에는 특징점 또는 현재 디스크립터(802)(이하 디스크립터)가 배치되어 있음을 확인할 수 있다. 그러면 객체 추적 지원 장치(100)는 현재 디스크립터(802)를 다수의 키 프레임들(830, 850)에 포함된 키 객체들(831, 851)의 비교 디스크립터들(832, 852) 및 참조 객체(810)의 참조 디스크립터(812)와 비교할 수 있다. 그리고 객체 추적 지원 장치(100)는 현재 디스크립터(802)와 비교 및 참조 디스크립터들(812, 832, 852)과의 비교를 통하여 비교 및 참조 디스크립터들(812, 832, 852)이 현재 디스크립터(802)를 기준으로 어느 정도의 스케일과 방향이 다른지 확인할 수 있다.
상술한 뷰 방향 차이 값 및 스케일 차이 값이 산출되면, 객체 추적 지원 장치(100)는 407 동작 과정에서 두 값의 가중치 합이 최소가 되는 키 프레임을 선택할 수 있다. 한편 403 동작 과정에서 외부에 위치하는 경우 409 동작 과정으로 분기하여 키 프레임 선택에서 해당 키 프레임을 제외할 수 있다.
도 9는 도 3의 60 동작 과정에 해당하는 키 프레임 세트 제어 동작을 보다 상세히 설명하기 위한 도면이다.
도 9를 참조하면, 50의 각도 평가 동작 수행 이후, 객체 추적 지원 장치(100)는 61 동작 과정에서 현재 이미지 정보와 기 저장된 키 프레임들 간의 유사도 확인을 수행할 수 있다. 여기서 유사도는 현재 이미지 정보와 키 프레임들 간의 뷰 방향 차이 값 및 스케일 차이 값의 크기에 따라 정의될 수 있다. 예컨대 현재 이미지 정보의 특정 객체와 키 프레임에 포함된 객체 간의 뷰 방향 차이 및 스케일 차이가 큰 경우 유사도는 상대적으로 작은 값을 가질 수 있다. 그리고 현재 이미지 정보의 특정 객체와 키 프레임에 포함된 객체 간의 뷰 방향 차이 및 스케일 차이가 작은 경우 유사도는 상대적으로 큰 값을 가질 수 있다. 여기서 객체 추적 지원 장치(100)는 뷰 방향 차이 및 스케일 차이를 정량화하여 유사도 값을 일정 수치로 운용할 수도 있다.
다음으로 객체 추적 지원 장치(100)는 63 동작 과정에서 유사도가 기 설정된 값 이하인지 확인한다. 63 동작 과정에서 유사도가 기 설정된 값 이하이면 객체 추적 지원 장치(100)는 65 동작 과정으로 분기하여 현재 이미지 정보를 새로운 키 프레임으로 지정한다. 그리고 객체 추적 지원 장치(100)는 67 동작 과정에서 키 프레임 갱신 조건을 확인한다.
*67 동작 과정에서 지정된 키 프레임이 제1 타입인 경우 객체 추적 지원 장치(100)는 68 동작 과정으로 분기하여 키 프레임 교체 관리를 수행할 수 있다. 키 프레임 교체 관리를 수행하면서 객체 추적 지원 장치(100)는 사전 정의된 방식에 따라 키 프레임들 중 적어도 하나의 키 프레임을 제거하고, 현재 이미지 정보를 새로운 키 프레임으로 등록할 수 있다. 이 과정에서 객체 추적 지원 장치(100)는 가장 오래된 키 프레임을 제거하는 방식, 각도 평가에 적용된 횟수가 가장 적은 키 프레임을 제거하는 방식, 직전에 저장된 키 프레임을 제거하는 방식 중 어느 하나의 방식을 적용할 수 있다. 이러한 객체 교체 관리 방식은 객체 추적 지원 장치(100)에서 정의한 키 프레임의 개수와 관련될 수 있다. 즉 객체 추적 지원 장치(100)는 새로운 키 프레임이 등록되어야 하는 경우 사전 정의된 키 프레임들의 개수를 유지하기 위하여 이전 등록된 키 프레임을 제거할 수 있다.
한편 67 동작 과정에서 지정된 키 프레임이 제2 타입인 경우 객체 추적 지원 장치(100)는 69 동작 과정으로 분기하여 키 프레임 추가 관리를 수행할 수 있다. 키 프레임 추가 관리 과정에서 객체 추적 지원 장치(100)는 이미 등록된 키 프레임 제거를 수행하지 않고, 현재 이미지 정보를 새로운 키 프레임으로 등록하도록 제어할 수 있다.
한편 63 동작 과정에서 유사도가 기 설정된 값 이상이면 객체 추적 지원 장치(100)는 66 동작 과정으로 분기하여 이전 키 프레임 세트 유지를 수행할 수 있다.
한편 상술한 설명에서 객체 추적 지원 장치(100)의 키 프레임 등록 과정은 유사도 비교로 한정되는 것은 아니다. 예컨대 객체 추적 지원 장치(100)는 인라이어(inlier) 및 아웃라이어(outlier)들의 분포를 통하여 키 프레임 등록을 결정할 수도 있다. 아웃라이어는 키 프레임의 객체 밖에 위치하는 현재 이미지 정보의 추적 객체의 특징점들이 될 수 있다. 객체 추적 지원 장치(100)가 계산한 인라이어들과 아웃아리어들의 셋의 농도는 객체 각도 신뢰성의 평가 값으로 사용될 수 있다. 여기서 객체 각도 신뢰성은 현재 이미지 정보의 객체 형태와 키 프레임의 객체 형태와의 일치 정도에 의해 정의될 수 있다. 다르게 표현하면, 객체 각도 신뢰성은 현재 이미지 정보의 객체와 키 프레임의 객체 간의 전체 매칭 농도 중 인라이어 매칭 농도에 의해 계산될 수 있다. 현재 이미지 정보가 사전 정의된 특정 설정 값 이상보다 큰 신뢰성을 가지는 경우 해당 이미지 정보는 키 프레임 후보로 제공될 수 있다. 그리고 현재 이미지 정보가 사전 정의된 특정 설정 값 이하의 신뢰성을 가지는 경우 해당 이미지 정보는 키 프레임 후보로 등록될 수 있다. 또한 특정 객체가 키 프레임들에 없는 경우 또는 특정 객체가 키 프레임으로부터 충분히 먼 거리에 위치하는 경우 해당 객체를 가지는 이미지 정보는 키 프레임으로 등록될 수 있다. 객체 각도들 사이의 거리(distance)를 설명하는 값은 이 객체들에 대응하는 프레임들 간의 뷰 앵글과 호모그라피(Homography : 비트림 왜곡 영상 보정) 특성 정도로 구성될 수 있다.
도 10은 도 3의 80 동작 과정에서 나타낸 리로컬라이제이션 동작 과정을 보다 상세히 설명하기 위한 도면이다.
도 10을 참조하면, 도 3의 30 동작 과정에서 추적 객체가 현재 이미지 정보에 존재하지 않으면, 객체 추적 지원 장치(100)는 81 동작 과정에서 이미지 정보 관련 유사 키 프레임 검색을 수행할 수 있다. 그리고 82 동작 과정에서 유사 키 프레임 존재 여부를 확인한다. 이 동작 과정에서 객체 추적 지원 장치(100)는 키 프레임 세트에 포함된 모든 키 프레임들과 현재 이미지 정보를 비교하여 유사 키 프레임이 있는지 확인한다. 이때 보다 신속한 정보 비교를 위하여 객체 추적 지원 장치(100)는 키 프레임들의 크기와 현재 이미지 정보의 크기를 일정 크기로 다운스케일하고, 다운스케일된 이미지들을 비교하도록 제어할 수 있다. 앞서 언급한 바와 같이 객체 추적 과정에서 다양한 환경 요인에 의하여 특정 추적 객체가 일시적으로 획득되는 이미지 정보에서 사라질 수 있다. 이에 따라 객체 추적 지원 장치(100)는 추적 객체가 현재 이미지 정보에 없는 경우 일정 시간 동안 수집되는 이미지 정보들과 키 프레임들을 비교하는 과정을 수행할 수 있다. 이를 통하여 객체 추적 지원 장치(100)는 일시적으로 또는 에러에 의해 추적을 놓친 객체에 대한 추적을 신속하게 수행하도록 지원할 수 있다.
한편 객체 추적 지원 장치(100)는 일정 시간이 경과하면 84 동작 과정으로 분기하여 에러 메시지를 출력하고 도 3의 70 동작 과정을 수행할 수 있다.
한편 상기 82 동작 과정에서 유사 키 프레임이 존재하면 객체 추적 지원 장치(100)는 해당 키 프레임을 선택하고 83 동작 과정에서 선택된 키 프레임을 기반으로 매칭 파라메터 계산을 수행한다. 매칭 파라메터 계산이 완료되면 객체 추적 지원 장치(100)는 85 동작 과정에서 체인형 피라미드 BRIEF 디스크립터를 계산한다. 그리고 체인형 BRIEF 디스크립터가 계산되면, 객체 추적 지원 장치(100)는 해당 디스크립터를 기반으로 87 동작 과정에서 유사 키 프레임의 특징점들 중 매칭되는 특징점 검출을 수행한다.
유사 키 프레임 검색과정에서 객체 추적 지원 장치(100)는 현재 이미지 정보를 일정 크기로 스케일 다운(sacle-down) 처리 및 노이즈 제거를 위한 블러(blur) 처리하고, 스케일 다운되고 블러 처리된 키 프레임들과 비교할 수 있다. 여기서 이미지 정보 비교 방법은 like SSD(Sum of Square Distances), Zero-Mean SSD, NCC(Normalized Cross Correlation)이 이용될 수 있다. 그리고 이미지 정보와 유사한 키 프레임이 있으면 해당 키 프레임은 매칭을 위해 이용될 수 있으며, 객체 각도가 현재 이미지 정보의 객체 각도 예측으로 이용될 수 있다. 이러한 방식은 객체화(localization) 방식에 비하여 보다 양호한 성능 개선을 제공할 수 있다.
키 프레임들로부터 획득된 매칭된 특징점 좌표들은 키 프레임들 상의 객체 각도를 이용하여 참조 프레임에 재영사(reprojected)될 수 있다. 이러한 재영사 기능은 객체가 2D 이미지이기 때문에 가능하며, 이미지 면(Plane)은 참조 프레임 상의 카메라 뷰에 직교할 수 있다. 현재 프레임의 매칭 및 참조 프레임에 선호를 주기 위해 다수의 키 프레임들을 이용하기 때문에, 매칭 좌표들의 정확도가 증가하며, 하나의 키 프레임에서 다른 키 프레임으로 스위칭할 때, 객체 각도 "점프(jump)"는 실질적으로 발행하지 않을 것이다. 각 키 프레임은 추적된 객체 위치를 가질 뿐만 아니라 배경(Background)에 관한 특징점들과 같이 다른 객체에 속하지 않은 특징점들을 포함할 수 있다. 객체는 배경과 상대적으로 이동되지 않고, 배경 자체는 객체가 놓여지는 평면인 것으로 가정하면, 상기 배경은 객체들의 확장으로서 사용될 수 있다. 그래서 키 프레임들은 객체들의 특징점들을 포함할 필요가 없고, 관측되지 않는다 하더라도 마지막(last)은 추적이 가능하다. 몇몇 객체가 뷰(view)에 나타난 후에 객체가 배경에 비례하여 움직일 경우 검출(verification)은 상황(situation)을 처리하기 위해 수행될 수 있다.
도 11은 본 개시의 실시 예에 따른 객체 추적 기능 지원을 위한 서버 장치 기반 시스템의 구성을 개략적으로 나타낸 도면이다.
도 11을 참조하면, 본 개시의 객체 처리 시스템(10)은 전자 장치 예컨대 사용자 단말기(101), 서버 장치(200) 및 통신망(300)을 포함할 수 있다.
이와 같은 구성을 포함하는 본 개시의 객체 처리 시스템(10)은 앞서 설명한 객체 추적 기능을 지원하는 객체 추적 모듈(140)을 사용자 단말기(101)에 장착하고, 이를 기반으로 객체 추적 기능을 지원할 수 있다. 이때 본 개시의 객체 처리 시스템(10)은 사용자 단말기(101)의 통신 모듈 및 통신망(300)을 통해 서버 장치(200)와 사용자 단말기(101) 간의 통신 채널을 형성하도록 지원할 수 있다. 이에 따라 객체 추적 기능을 지원하는 과정에서 요구되는 다양한 정보를 서버 장치(200)를 통하여 제공받을 수 있다. 또는 본 개시의 객체 처리 시스템(10)은 사용자 단말기(101)가 서버 장치(200)에 저장된 데이터들을 수신하여 저장하고, 저장된 데이터들을 기반으로 객체 추적 기능을 지원할 수 있다.
상기 사용자 단말기(101)는 통신망(300)을 통하여 서버 장치(200) 접속을 수행할 수 있다. 그리고 사용자 단말기(101)는 수집된 이미지 정보를 서버 장치(200)에 제공할 수 있다. 특히 사용자 단말기(101)는 수집된 이미지 정보를 서버 장치(200)에 제공할 수 있다. 그러면 서버 장치(200)는 수신된 이미지 정보들을 기반으로 객체 추적을 위한 위상 상관 연산을 수행하고 그 결과 값을 사용자 단말기(101)에 제공할 수 있다. 사용자 단말기(101)는 서버 장치(200)가 제공한 값들을 기반으로 이미지 정보에서의 객체 추적에 대한 연산을 생략하고 보다 용이한 객체 추적을 위한 데이터 처리를 지원할 수 있다. 한편 사용자 단말기(101)는 서버 장치(200)가 제공하는 원격 참조 데이터 및 컨텐츠 데이터를 수신할 수 있다. 그리고 사용자 단말기(101)는 원격 참조 데이터를 이용하여 이미지 정보의 인식 및 객체화를 진행할 수 있다. 또한 사용자 단말기(101)는 컨텐츠 데이터를 증강 현실 서비스에 적용하도록 제어할 수 있다.
사용자 단말기(101)는 리로컬라이제이션 수행을 서버 장치(200)를 통해 수행할 수도 있다. 이를 위하여 사용자 단말기(101)는 객체 추적 과정에서 이용된 키 프레임 세트 및 현재 수집된 이미지 정보를 서버 장치(200)에 제공할 수 있다. 그리고 사용자 단말기(101)는 서버 장치(200)로부터 현재 수집된 이미지 정보에 적용할 키 프레임에 대한 정보를 수신할 수 있다. 그러면 사용자 단말기(101)는 서버 장치(200)가 제공한 키 프레임을 현재 이미지 정보에 적용하여 객체 추적을 수행할 수 있다.
통신망(300)은 사용자 단말기(101)와 서버 장치(200) 사이에 배치될 수 있다. 그리고 통신망(300)은 두 구성 간의 통신 채널을 형성할 수 있다. 통신망(300)은 사용자 단말기(101)가 이동 통신 기능을 지원하는 경우 이동통신 네트워크 장치들로 구성될 수 있다. 또한 통신망(300)은 서버 장치(200)가 인터넷 네트워크를 통하여 통신 장치를 연결하는 경우 해당 인터넷 네트워크를 지원하는 장치들로 구성될 수 있다. 그리고 통신망(300)은 이종망 간의 데이터 전달을 위한 네트워크를 장치를 더 포함할 수 있다. 따라서 본 개시의 통신망(300)은 특정 통신 방식이나 통신 모듈 등으로 한정되는 것이 아니라, 사용자 단말기(101)와 서버 장치(200) 간에 데이터 송수신을 수행할 수 있는 다양한 장치 및 방법이 적용된 장치로 이해되어야 할 것이다.
서버 장치(200)는 사용자 단말기(101) 접속을 지원할 수 있다. 그리고 서버 장치(200)는 사용자 단말기(101) 요청에 따라 객체 추적 기능 및 증강 현실 서비스 기능을 지원할 수 있다. 이를 위하여 서버 장치(200)는 객체 추적 기능 지원을 위한 원격 참조 데이터를 저장할 수 있다. 또한 서버 장치(200)는 증강 현실 서비스 기능 지원을 위해 증강 현실에 적용할 컨텐츠 데이터를 저장할 수 있다. 서버 장치(200)는 사용자 단말기(101) 요청에 따라 특정 이미지 정보의 인식 과정, 객체화 과정, 객체 추적 과정 중 적어도 하나의 연산을 수행할 수 있다. 그리고 서버 장치(200)는 각 과정에서의 수행 결과를 사용자 단말기(101) 요청에 따라 제공할 수 있다. 서버 장치(200)는 사용자 단말기(101)의 객체 추적 과정에서 적용되는 키 프레임을 임시 또는 반영구적으로 저장할 수 있다. 그리고 서버 장치(200)는 사용자 단말기(101) 요청에 따라 저장된 키 프레임 중 적어도 일부를 사용자 단말기(101)에 제공할 수 있다. 한편 서버 장치(200)는 상술한 본 개시의 체인형 BRIEF 디스크립터 계산을 사용자 단말기(101) 대신에 수행할 수 있다. 이를 위하여 서버 장치(200)는 키 프레임 세트 정보와 현재 이미지 정보를 사용자 단말기(101)로부터 수신할 수 있다. 서버 장치(200)는 사전 저장된 체인형 BRIEF 디스크립터 연산 알고리즘을 기반으로 수신된 정보들에 적용하여 디스크립터 계산할 수 있다. 서버 장치(200)는 계산된 디스크립터를 사용자 단말기(101)에 제공할 수 있다.
도 12는 도 11의 구성 중 사용자 단말기(101) 구성과 서버 장치(200) 구성의 일예를 보다 상세히 나타낸 블록 다이어그램이다. 블록 다이어그램은 상술한 적어도 하나의 실시 예에 적용할 수 있는 AR(Augmented reality) 서비스를 지원하는 객체 처리 시스템(10)의 구성을 나타낸 도면이다. 객체 처리 시스템(10)은 AR 처리부(AR Processing Unit)에 해당하는 메인 유닛(160)을 포함할 수 있다.
메인 유닛(160)은 카메라 입력부(151), 미디어 입력부(152), 오디오 입력부(153), 다수의 센서 입력부(154)와 같은 입력 장치로부터 다양한 입력 데이터를 수신할 수 있다. 센서 입력부(154)는 가속도 센서, 자이로스코프 센서, 마그네틱 센서, 온도 센서, 중력 센서 등으로부터 입력을 포함할 수 있다. 메인 유닛(160)은 입력 데이터 처리를 위하여 메모리(181), CPU(182)(Central Processing Unit : 중앙 처리 유닛), GPU(183)(Graphic Processing Unit : 그래픽 처리 유닛) 등을 사용할 수 있다. 메인 유닛(160)은 타겟들의 확인 및 인식을 위해 서버 장치(200)가 제공하는 참조 데이터베이스(201)를 사용할 수 있다. 메인 유닛(160)의 출력은 식별 정보, 객체 구분 정보(Localization information)를 포함할 수 있다. 여기서 참조 데이터베이스(201)는 참조 데이터 및 키 프레임 등을 포함될 수 있다.
객체 구분 정보는 타겟 객체의 2D/3D 각도를 확인하는데 이용될 수 있다. 식별 정보는 타겟이 무엇인지 확인하는데 이용될 수 있다. AR 컨텐츠 관리부(170)는 서버 장치(200)에 마련된 원격 컨텐츠 데이터베이스(202)(Remote contents DB) 또는 지역 컨텐츠 데이터베이스(187)(Local Contents DB)로부터의 컨텐츠들과 메인 유닛(160)의 출력을 최종 비디오 출력부(184) 및 오디오 출력부(185)에 출력하는 과정에서 조합하는데 이용될 수 있다. AR 컨텐츠 관리부(170)는 추적 중인 객체에 증강 현실 컨텐츠를 출력할 수 있다.
상술한 사용자 단말기(101) 구성 중 메인 유닛(160)에 앞서 설명한 본 개시의 객체 추적 지원 장치(100)가 탑재될 수 있다. 또한 객체 추적 지원 장치(100)는 메인 유닛(160)과 AR 컨텐츠 관리부(170)의 구성을 포함하는 형태로 사용자 단말기(101)에 탑재될 수도 있다.
도 13은 본 개시의 객체 추적 기능이 적용되는 전자 장치의 구성을 나타낸 도면이다. 즉 도 13에 제시한 전자 장치(500)는 상술한 객체 추적 모듈(140)이 탑재되는 전자 장치의 일예가 될 수 있다.
도 13을 참조하면, 전자 장치(500)는 어플리케이션 프로세서(510), 콜 프로세서(520)를 포함할 수 있다. 콜 프로세서(520)는 RF부(522)와 신호 송수신을 수행하며, 메모리(523) 및 SIM 카드(521)와 신호 송수신을 수행할 수 있다. 그리고 콜 프로세서(520)는 어플리케이션 프로세서(510)와 통신하여 어플리케이션 프로세서(510)에 의하여 처리되는 기능 중 RF부(522), 메모리(523) 및 SIM 카드(521) 접근이 필요한 업무 처리를 지원할 수 있다. 앞서 설명한 객체 추적 지원 장치(100)는 전자 장치(500) 구성 중 어플리케이션 프로세서(510) 및 콜 프로세서(520) 중 어느 하나에 탑재될 수 있다. 또는 객체 추적 지원 장치(100)는 전자 장치(500)의 상술한 구성들 외에 별도의 독립적인 하드웨어 장치로 마련되어 전자 장치(500)의 일정 영역에 배치될 수 있다.
어플리케이션 프로세서(510)는 배터리(571)가 연결되는 전원 관리부(570)로부터 전원을 공급받는다. 어플리케이션 프로세서(510)는 RF부(522) 이외의 다양한 통신 모듈 예컨대 와이파이 모듈(581), BT 모듈(582), GPS 모듈(583), NFC 모듈(584) 등과 신호 송수신을 수행하고 각 모듈에 의해 수행되는 기능을 지원할 수 있다. 어플리케이션 프로세서(510)는 터치 입력, 펜 입력, 키 입력 등을 포함하는 사용자 입력부(511)와 연결될 수 있다. 어플리케이션 프로세서(510)는 표시부(512), 카메라부(513), 모니터(515), 오디오 처리부(530), 메모리/외부메모리(516) 등과 연결될 수 있다. 오디오 처리부(530)는 마이크(MIC), 스피커(Speaker), 리시버(Receiver), 이어폰 연결 장치(Earphone) 등과 연결될 수 있다. 어플리케이션 프로세서(510)는 센서 허브(514)와 연결될 수 있다. 센서 허브(514)는 다양한 센서들을 포함하는 센서부(590)와 연결될 수 있다. 센서부(590)는 마그네틱 센서(591), 자이로 센서(592), 가속도 센서(593), 바로 미터(594), 그립 센서(595), 온도/습도 센서(596), 근접 센서(597), 조도 센서(598), RGB 센서(599), 제스처 센서(589) 중 적어도 하나를 포함할 수 있다.
도 14는 본 개시의 객체 추적 기능이 적용되는 플랫폼을 예시적으로 나타낸 도면이다. 본 개시의 실시예에 따른 객체 추적 기능은 아래의 플랫폼 중 적어도 일부의 구성을 이용하거나, 필요에 따라 다른 구성이 추가될 수도 있다.
도 14를 참조하면, 본 개시의 객체 추적 기능이 적용되는 플랫폼은 크게 어플리케이션 계층(610), 어플리케이션 프레임워크 계층(630), 라이브러리 계층(650) 및 커널 계층(670)을 포함할 수 있다.
커널 계층(670)은 예로서 리눅스 커널로 구성될 수 있다. 커널 계층(670)은 표시 드라이버(671), 카메라 드라이버(672), BT 드라이버(673), 공유 메모리 드라이버(674), 바이더 드라이버(675), USB 드라이버(676), 키패드 드라이버(677), 와이파이 드라이버(678), 오디오 드라이버(679), 파워 관리부(680)가 배치될 수 있다.
라이브러리 계층(650)은 서페이스 매니저(651), 미디어 프레임워크(652), SQLite(653), OpenGL/ES(654), FreeType(655), Webkit(656), SGL(657), SSL(658), Libc(659) 등을 포함할 수 있다. 라이브러리 계층(650)은 안드로이드 런타임(690) 구성을 포함할 수 있다. 안드로이드 런타임(690)은 코어 라이브러리(691) 및 Dalvik Virtual Machine(692)을 포함할 수 있다. Dalvik Virtual Machine(692)은 객체 추적 기능이 지원되는 단말기의 위젯 기능 또는 실시간 실행이 요구되는 기능, 사전 설정된 스케줄에 따라 주기적으로 실행이 요구되는 기능 등을 지원할 수 있다.
어플리케이션 프레임워크 계층(630)은 활동 매니저(631), 윈도우 매니저(632), 컨텐츠 프로바이더(633), 뷰 시스템(634), 알림 매니저(635), 패키지 매니저(636), 텔레포니 매니저(637), 리소스 매니저(638), 로케이션 매니저(639) 등이 배치될 수 있다.
어플리케이션 계층(610)은 홈 앱(611)(Application : 이하 앱), 다이얼러 앱(612), SMS/MMS 앱(613), IM 앱(614), 브라우저 앱(615), 카메라 앱(616), 알람 앱(617), 계산기 앱(618), 컨텐츠 앱(619), 보이스 다이얼 앱(620), 이메일 앱(621), 카렌더 앱(622), 미디어 플레이어 앱(623), 앨범 앱(624), 클락 앱(625) 등이 배치될 수 있다. 한편, 도 14는 전자 장치에서 일반적으로 가장 많이 사용되고 있는 운용 체제(Operating System)의 플랫폼 구성을 도시하고 있다. 하지만, 본 개시에 따른 객체 추적 기능이 위의 플랫폼을 이용하는 것으로 한정되지 않고, 다른 형태의 운영 체제의 플랫폼을 이용하여 구현될 수 있음은 당업자에게 있어 자명할 것이다.
상술한 구성들이 본 개시의 특징이나 기술적 범위를 한정하는 것은 아니며, 단지 본 개시의 특징이 적용될 수 있는 구현들을 예시한 것이다. 도 10 및 도 11에서 나타낸 시스템 또는 장치의 적어도 일부의 구성이 본 개시의 기술적 구현을 위하여 적용될 수 있을 것이다. 또한 당업자의 견지에서 상술한 구성들은 본 개시의 실시 예들에서 추가되거나, 생략되거나 또는 수정될 수 있다. 추가로 다른 구성들이 본 개시에서 설명한 실시 예의 필요에 따라 추가될 수 있다. 본 개시에서 설명한 하나의 이상의 방법들, 단계(Operation)들, 알고리즘들은 상술한 구현 예시들에서 설명한 하나 이상의 구성들을 사용하여 실행될 수 있다.
한편 상술한 사용자 단말기 및 전자 장치 등은 그 제공 형태에 따라 다양한 추가 모듈을 더 포함할 수 있다. 즉, 상기 사용자 단말기 및 전자 장치 등은 통신 단말기인 경우 근거리 통신을 위한 근거리통신모듈, 상기 단말기 및 전자 장치의 유선통신방식 또는 무선통신방식에 의한 데이터 송수신을 위한 인터페이스, 인터넷 네트워크와 통신하여 인터넷 기능을 수행하는 인터넷통신모듈 및 디지털 방송 수신과 재생 기능을 수행하는 디지털방송모듈 등과 같이 상기에서 언급되지 않은 구성들을 더 포함할 수도 있다. 이러한 구성 요소들은 디지털 기기의 컨버전스(convergence) 추세에 따라 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 구성 요소들과 동등한 수준의 구성 요소가 상기 디바이스에 추가로 더 포함되어 구성될 수 있다. 또한 본 개시의 사용자 단말기 및 전자 장치 등은 그 제공 형태에 따라 상기한 구성에서 특정 구성들이 제외되거나 다른 구성으로 대체될 수도 있음은 물론이다. 이는 본 기술분야의 통상의 지식을 가진 자에겐 쉽게 이해될 수 있을 것이다.
또한 본 개시의 실시 예에 따른 상기 사용자 단말기 및 전자 장치 등은 예를 들면, 다양한 통신 시스템들에 대응되는 통신 프로토콜들(communication protocols)에 의거하여 동작하는 모든 이동통신 단말기들(mobile communication terminals)을 비롯하여, PMP(Portable Multimedia Player), 디지털방송 플레이어, PDA(Personal Digital Assistant), 음악 재생기(예컨대, MP3 플레이어), 휴대게임단말, 스마트 폰(Smart Phone), 노트북(Notebook), 노트 PC, 슬레이트 PC, 탭북 및 핸드헬드 PC 등 모든 정보통신기기와 멀티미디어 및 그에 대한 응용기기를 포함할 수 있다.
한편, 본 명세서와 도면을 통해 본 개시의 바람직한 실시 예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 개시의 기술 내용을 쉽게 설명하고 본 실시 예들의 이해를 돕기 위한 일반적인 의미에서 사용된 것일 뿐, 본 개시의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예외에도 본 개시의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
10 : 객체 처리 시스템 100 : 객체 추적 지원 장치
110 : 입력 제어 모듈 120 : 객체 인식 모듈
130 : 객체 상세 정보 획득 모듈 140 : 객체 추적 모듈
101 : 사용자 단말기 200 : 서버 장치
300 : 통신망 500 : 전자 장치

Claims (28)

  1. 추적 객체의 이동을 예측하는 예측 과정;
    상기 예측 정보 기반의 현재 이미지 정보 특징점을 각각의 키 프레임 특징점들과 비교하는 비교 과정;
    상기 비교 결과에 따라 상기 키 프레임들 중 특정 키 프레임을 선택하는 선택 과정;
    상기 선택된 키 프레임을 기반으로 상기 현재 이미지 정보의 객체 이동을 보정하는 각도평가 과정;을 포함하고,
    상기 비교 과정은
    상기 특징점 위치 값을 이웃하는 특징점들과의 관계로 정의하는 과정;을 포함하는 객체 추적 방법.
  2. 제1항에 있어서,
    상기 비교 과정은
    상기 키 프레임의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 계산하는 과정;
    상기 이미지 정보의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 계산하는 과정;
    상기 키 프레임 체인형 피라미드 디스크립터와 상기 이미지 정보 체인형 피라미드 디스크립터를 상호 비교하는 과정;을 포함하는 객체 추적 방법.
  3. 제1항에 있어서,
    상기 선택 과정은
    상기 현재 이미지 정보의 특징점을 상기 키 프레임들에 배경 영사하는 과정;
    상기 배경 영사된 키 프레임들의 특징점과 상기 이미지 정보의 특징점들 간의 뷰 방향 차이 및 스케일 차이가 최소인 키 프레임을 선택하는 선택 과정;을 포함하는 객체 추적 방법.
  4. 제3항에 있어서,
    상기 각도 평가 과정은
    선택된 키 프레임과의 뷰 방향 차이 및 상기 스케일 차이를 상기 이미지 정보에 포함된 다중 객체에 적용하는 과정;을 포함하는 객체 추적 방법.
  5. 제1항에 있어서,
    상기 추적 객체가 상기 현재 이미지 정보에 존재하는지 확인하는 과정;
    상기 추적 객체가 상기 현재 이미지 정보에 없는 경우 상기 키 프레임들 중 적어도 하나를 기반으로 현재 이미지 정보의 객체 검출을 수행하는 리로컬라이제이션 수행 과정;을 더 포함하는 객체 추적 방법.
  6. 제5항에 있어서,
    상기 리로컬라이제이션 수행 과정은
    상기 키 프레임 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 각긱의 키 프레임별로 계산하는 과정;
    상기 현재 이미지 정보의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 계산하는 과정;
    상기 각각의 키 프레임 체인형 피라미드 디스크립터와 상기 이미지 정보 체인형 피라미드 디스크립터를 상호 비교하여 가장 유사한 키 프레임을 선택하는 과정;
    선택된 키 프레임에 포함된 특징점들을 상기 현재 이미지 정보의 특징점들에 매칭하여 각도 평가를 수행하는 과정;을 포함하는 객체 추적 방법.
  7. 제5항에 있어서,
    객체 추적 실패 메시지를 출력하는 과정;을 더 포함하는 객체 추적 방법.
  8. 제1항에 있어서,
    상기 현재 이미지 정보와 상기 키 프레임 비교 결과에 따라 상기 현재 이미지 정보의 키 프레임 세트 등록을 처리하는 처리 과정;을 더 포함하는 객체 추적 방법.
  9. 제8항에 있어서,
    상기 처리 과정은
    상기 현재 이미지 정보와 상기 키 프레임들과의 유사도를 비교하는 과정;
    상기 유사도가 설정 값 이하인 경우 상기 현재 이미지 정보를 새로운 키 프레임으로 등록하는 과정;을 포함하는 객체 추적 방법.
  10. 제8항에 있어서,
    상기 처리 과정은
    상기 현재 이미지 정보와 상기 키 프레임들과의 유사도를 비교하는 과정;
    상기 유사도가 설정 값 이상인 경우 이전 키 프레임 세트를 유지하는 과정;을 포함하는 객체 추적 방법.
  11. 제8항에 있어서,
    상기 처리 과정은
    상기 사전 등록된 키 프레임들 중 적어도 하나를 제거하고 상기 현재 이미지 정보를 새 키 프레임으로 등록하는 과정; 또는
    상기 사전 등록된 키 프레임들을 유지하고 상기 현재 이미지 정보를 새 키 프레임으로 추가 등록하는 과정; 중 어느 하나의 과정을 포함하는 객체 추적 방법.
  12. 사전 정의된 키 프레임들의 특징점 및 현재 이미지 정보의 특징점을 검출하고 상기 각각의 키 프레임 특징점과 상기 현재 이미지 정보의 특징점 비교 결과에 따라 상기 현재 이미지 정보의 키 프레임 세트 등록을 처리하는 객체 추적 모듈;
    상기 객체 추적 모듈에 상기 현재 이미지 정보를 제공하는 입력 제어 모듈;을 포함하는 객체 추적 지원 장치.
  13. 제12항에 있어서,
    상기 객체 추적 모듈은
    상기 현재 이미지 정보에 포함될 추적 객체의 이동을 예측하는 객체 각도 예측부;
    상기 각각의 키 프레임 특징점 및 현재 이미지 정보의 특징점을 검출하는 특징 검출부;
    상기 특징점들로 구성된 디스크립터를 연산하는 디스크립터 연산부;
    상기 각각의 키 프레임 디스크립터와 상기 현재 이미지 정보의 디스크립터를 비교하고 상기 비교 결과에 따라 상기 현재 이미지 정보의 상기 키 프레임 세트 등록을 처리하는 특징 매칭부;를 포함하는 객체 추적 지원 장치.
  14. 제13항에 있어서,
    상기 특징 매칭부는
    상기 현재 이미지 정보와 상기 키 프레임들과의 유사도를 비교하고
    상기 유사도가 설정 값 이하인 경우 상기 현재 이미지 정보를 새로운 키 프레임으로 등록하며, 상기 유사도가 설정 값 이상인 경우 이전 키 프레임 세트를 유지하는 객체 추적 지원 장치.
  15. 제13항에 있어서,
    상기 특징 매칭부는
    이전 등록된 키 프레임 중 적어도 하나를 제거하고 상기 현재 이미지 정보를 새 키 프레임으로 등록하거나,
    이전 등록된 키 프레임들을 유지하고 상기 현재 이미지 정보를 새 키 프레임으로 추가 등록하는 객체 추적 지원 장치.
  16. 제12항에 있어서,
    상기 특징 검출부는
    상기 특징점들 위치 값을 이웃하는 특징점들과의 관계로 정의하는 객체 추적 지원 장치.
  17. 제16항에 있어서,
    디스크립터 연산부는
    상기 키 프레임의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 계산하고, 상기 이미지 정보의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 계산하는 객체 추적 지원 장치.
  18. 이전 이미지 정보에서 추적 중인 객체가 현재 이미지 정보에 존재하지 않는 경우 사전 등록된 키 프레임을 이용하여 현재 이미지 정보의 추적 객체 검출을 수행하는 객체 추적 모듈;
    상기 객체 추적 모듈에 상기 현재 이미지 정보를 제공하는 입력 제어 모듈;을 포함하는 객체 추적 지원 장치.
  19. 제18항에 있어서,
    상기 객체 추적 모듈은
    상기 추적 객체의 이동을 예측하는 객체 각도 예측부;
    상기 각각의 키 프레임 특징점 및 현재 이미지 정보의 특징점을 검출하는 특징 검출부;
    상기 특징점들로 구성된 디스크립터를 연산하는 디스크립터 연산부;
    상기 각각의 키 프레임 디스크립터와 상기 현재 이미지 정보의 디스크립터를 비교하고 상기 비교 결과에 따라 상기 현재 이미지 정보와 유사한 키프레임을 기반으로 현재 이미지 정보에서 추적 객체를 검출하는 리로컬라이제이션부;를 포함하는 객체 추적 지원 장치.
  20. 제19항에 있어서,
    상기 리로컬라이제이션부는
    상기 키 프레임의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터와 상기 현재 이미지 정보의 특징점들을 체인형으로 연결한 체인형 피라미드 디스크립터를 상호 비교하여 가장 유사한 키 프레임을 선택하는 객체 추적 지원 장치.
  21. 제19항에 있어서,
    상기 리로컬라이제이션부는
    상기 유사한 키 프레임에 포함된 특징점들을 상기 현재 이미지 정보의 특징점들에 매칭하여 각도 평가를 수행하는 객체 추적 지원 장치.
  22. 제19항에 있어서,
    상기 리로컬라이제이션부는
    객체 추적 실패 메시지를 출력하는 객체 추적 지원 장치.
  23. 전자장치를 동작하는 방법에 있어서,
    전자장치를 이용하여, 복수의 이미지들 상에서 제 1객체(a first object)를 추적하는 단계를 포함하며, 상기 제 1객체를 추적하는 단계는,
    제 1 이미지 상에 이미 추적되고 있는 제 1 객체가 존재하는지 여부를 결정하는 단계;
    상기 결정하는 단계에서, 상기 제 1 객체가 존재하는 경우, 상기 제 1 객체의 하나 이상의 특징점들 중 적어도 일부에 기초하여, 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계; 및
    상기 제 1 객체가 존재하지 않는 경우, 상기 제1이미지의 일부 또는 전부에 기초하여, 상기 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 제 23항에 있어서, 상기 이미지 데이터 세트들은 키프레임(key frame)들의 세트를 포함하는 것을 특징으로 하는 방법.
  25. 제 24항에 있어서, 상기 키프레임들 중 하나 이상은, 상기 복수의 이미지 상의 하나 이상의 객체들의 디스크립터(descriptor), 자세, 거리 중 하나 이상에 관한 정보를 포함하는 것을 특징으로 하는 방법.
  26. 제 23항에 있어서, 상기 제 1 객체가 존재하는 경우, 상기 제 1 객체의 특징에 적어도 일부 기초하여, 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계는, 상기 제 1 객체의 하나 이상의 특징점들과 상기 이미 저장된 복수의 이미지 데이터 세트들에 포함된 상기 제 1 객체의 하나 이상의 특징점들을 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 제 26항에 있어서, 상기 제 1 객체의 하나 이상의 특징점들과 상기 이미 저장된 복수의 이미지 데이터 세트들에 포함된 상기 제 1 객체의 하나 이상의 특징점들을 비교하는 단계는,
    상기 제 1 이미지 상의 특징점들과 선택된 하나의 이미지 데이터 내의 특징점들을 비교하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 제 23항에 있어서, 상기 제 1 객체가 존재하지 않는 경우, 상기 제1이미지의 일부 또는 전부에 기초하여, 상기 이미 저장된 복수의 이미지 데이터 세트들 중 하나를 선택하는 단계 후에,
    상기 제 1 이미지 상의 특징점들과 선택된 하나의 이미지 데이터 내의 특징점들을 비교하는 단계를 더 포함하는 것을 특징하는 방법.
KR1020140010284A 2013-02-15 2014-01-28 객체 추적 방법 및 이를 지원하는 전자 장치 KR20140103046A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/180,989 US20140233800A1 (en) 2013-02-15 2014-02-14 Method of tracking object and electronic device supporting the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361765404P 2013-02-15 2013-02-15
US61/765,404 2013-02-15

Publications (1)

Publication Number Publication Date
KR20140103046A true KR20140103046A (ko) 2014-08-25

Family

ID=51747574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140010284A KR20140103046A (ko) 2013-02-15 2014-01-28 객체 추적 방법 및 이를 지원하는 전자 장치

Country Status (1)

Country Link
KR (1) KR20140103046A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447887A (zh) * 2015-11-06 2016-03-30 掌赢信息科技(上海)有限公司 一种基于历史轨迹的目标跟踪方法及电子设备
WO2016159613A1 (ko) * 2015-03-31 2016-10-06 스타십벤딩머신 주식회사 영상 합성을 위한 객체 추적 방법 및 시스템
WO2017150899A1 (ko) * 2016-02-29 2017-09-08 광주과학기술원 전역적 다중 객체 추적을 위한 객체 재식별 방법
KR20170137350A (ko) * 2016-06-03 2017-12-13 (주)싸이언테크 신경망 생성 모델을 이용한 객체 움직임 패턴 학습장치 및 그 방법
KR20180029466A (ko) * 2016-09-12 2018-03-21 (주)서림정보통신 영상으로부터 다중 조건에 따른 객체 검색을 가능하게 하는 cctv 시스템 및 그 객체 검색방법
KR20180113060A (ko) * 2017-04-05 2018-10-15 충북대학교 산학협력단 그래프 slam을 위한 키프레임 추출방법 및 이를 이용한 slam 장치
WO2020009710A1 (en) * 2018-07-06 2020-01-09 Facebook Technologies, Llc Systems and methods for offloading image-based tracking operations from a general processing unit to a hardware accelerator unit
KR20210043979A (ko) * 2019-10-14 2021-04-22 주식회사 케이티 영상으로부터 객체를 추출하는 장치, 방법 및 컴퓨터 프로그램
WO2022131465A1 (ko) * 2020-12-14 2022-06-23 삼성전자 주식회사 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법
KR20230159183A (ko) * 2022-05-13 2023-11-21 한덕희 긴급전화 기반 영상통화 자동전환 서비스 제공 시스템

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016159613A1 (ko) * 2015-03-31 2016-10-06 스타십벤딩머신 주식회사 영상 합성을 위한 객체 추적 방법 및 시스템
CN105447887A (zh) * 2015-11-06 2016-03-30 掌赢信息科技(上海)有限公司 一种基于历史轨迹的目标跟踪方法及电子设备
WO2017150899A1 (ko) * 2016-02-29 2017-09-08 광주과학기술원 전역적 다중 객체 추적을 위한 객체 재식별 방법
KR20170137350A (ko) * 2016-06-03 2017-12-13 (주)싸이언테크 신경망 생성 모델을 이용한 객체 움직임 패턴 학습장치 및 그 방법
KR20180029466A (ko) * 2016-09-12 2018-03-21 (주)서림정보통신 영상으로부터 다중 조건에 따른 객체 검색을 가능하게 하는 cctv 시스템 및 그 객체 검색방법
KR20180113060A (ko) * 2017-04-05 2018-10-15 충북대학교 산학협력단 그래프 slam을 위한 키프레임 추출방법 및 이를 이용한 slam 장치
WO2020009710A1 (en) * 2018-07-06 2020-01-09 Facebook Technologies, Llc Systems and methods for offloading image-based tracking operations from a general processing unit to a hardware accelerator unit
US10916031B2 (en) 2018-07-06 2021-02-09 Facebook Technologies, Llc Systems and methods for offloading image-based tracking operations from a general processing unit to a hardware accelerator unit
KR20210043979A (ko) * 2019-10-14 2021-04-22 주식회사 케이티 영상으로부터 객체를 추출하는 장치, 방법 및 컴퓨터 프로그램
WO2022131465A1 (ko) * 2020-12-14 2022-06-23 삼성전자 주식회사 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법
KR20230159183A (ko) * 2022-05-13 2023-11-21 한덕희 긴급전화 기반 영상통화 자동전환 서비스 제공 시스템

Similar Documents

Publication Publication Date Title
KR20140103046A (ko) 객체 추적 방법 및 이를 지원하는 전자 장치
US20140233800A1 (en) Method of tracking object and electronic device supporting the same
CN110322500B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
KR101457313B1 (ko) 템플릿 스위칭 및 특징 적응을 이용한 오브젝트 추적을 제공하는 방법, 장치 및 컴퓨터 프로그램 제품
US9195872B2 (en) Object tracking method and apparatus
US9349191B2 (en) Method and electronic device for processing object
CN110349212B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
US11915447B2 (en) Audio acquisition device positioning method and apparatus, and speaker recognition method and system
CN111046752A (zh) 一种室内定位方法、装置、计算机设备和存储介质
CN110619807B (zh) 生成全局热力图的方法和装置
CN111832579B (zh) 地图兴趣点数据处理方法、装置、电子设备以及可读介质
CN109816628B (zh) 人脸评价方法及相关产品
US20140231523A1 (en) Electronic device capable of recognizing object
CN115086538B (zh) 一种拍摄位置确定方法、装置、设备及介质
CN111310595A (zh) 用于生成信息的方法和装置
CN114187509B (zh) 对象定位方法、装置、电子设备以及存储介质
CN113642493B (zh) 一种手势识别方法、装置、设备及介质
CN115187510A (zh) 回环检测方法、装置、电子设备及介质
CN113034580B (zh) 图像信息检测方法、装置和电子设备
KR20140103021A (ko) 객체 인식이 가능한 전자 장치
CN115082516A (zh) 一种目标跟踪方法、装置、设备及介质
CN116935446B (zh) 行人重识别方法、装置、电子设备及存储介质
CN116664812B (zh) 一种视觉定位方法、视觉定位系统及电子设备
CN112927291B (zh) 三维物体的位姿确定方法、装置及电子设备和存储介质
CN115082515A (zh) 一种目标跟踪方法、装置、设备及介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid