KR20120096688A - 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법 - Google Patents

증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법 Download PDF

Info

Publication number
KR20120096688A
KR20120096688A KR1020110015916A KR20110015916A KR20120096688A KR 20120096688 A KR20120096688 A KR 20120096688A KR 1020110015916 A KR1020110015916 A KR 1020110015916A KR 20110015916 A KR20110015916 A KR 20110015916A KR 20120096688 A KR20120096688 A KR 20120096688A
Authority
KR
South Korea
Prior art keywords
byte
level
index
array
byte index
Prior art date
Application number
KR1020110015916A
Other languages
English (en)
Other versions
KR101255916B1 (ko
Inventor
김태영
윤요섭
Original Assignee
서경대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서경대학교 산학협력단 filed Critical 서경대학교 산학협력단
Priority to KR1020110015916A priority Critical patent/KR101255916B1/ko
Publication of KR20120096688A publication Critical patent/KR20120096688A/ko
Application granted granted Critical
Publication of KR101255916B1 publication Critical patent/KR101255916B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조와 그 생성 및 검색 방법에 관한 것으로, 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조는, 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 큰 대표 4Byte 인덱스로 구성된 레벨1 배열; 상기 레벨1 배열에 포함된 대표 4Byte 인덱스별로 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스들이 자식 노드로 연결된 레벨2 배열; 상기 레벨2 배열에 포함된 4Byte 인덱스별로 동일한 4Byte 인덱스를 갖는 16Byte 인덱스들이 자식 노드로 연결된 레벨3 배열; 및 상기 레벨3 배열에 포함된 16Byte 인덱스별로 동일한 16Byte 인덱스를 갖는 특징 서술자들이 자식 노드로 연결된 레벨4 배열;을 포함하여 구성된다.
본 발명에 따르면, 인덱스를 사용한 특징 서술자 검색은 형태를 기반으로 유사하지 않은 특징 서술자들을 검색 대상에서 제외하여 검색의 효율을 높일 수 있다.

Description

증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조와 그 생성 및 검색 방법{Database structure of feature descriptors to support real-time marker-less tracking in the augmented reality environments and method for creating and retrieving the database}
본 발명은 특징 서술자의 데이터베이스 구조와 그 생성 및 검색 방법에 관한 것으로, 보다 상세하게는 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조와 그 생성 및 검색 방법에 관한 것이다.
증강현실 기술이 발전되면서 게임, 교육, 원격의료진단, 방송, 건축설계 등 다양한 분야에서 증강현실 기술이 응용되고 있다. 최근 스마트폰이 널리 보급되면서 모바일 솔루션?교육 분야 등에서도 증강현실 기술이 다양하게 응용되고 있다. 특히 게임 분야에서는 증강현실 기술을 이용하여 기존의 입력 인터페이스인 조이스틱이나 키보드 없이 일상생활의 도구나 특정 형태의 카드를 사용하여 명령 및 제어를 할 수 있는 입력 인터페이스 연구가 활발히 진행 되고 있다.
Sony PlayStation에서 개발한 Eye Pet은 플레이어를 PlayStation EYE 카메라로 찍어 게임 화면 안에 등장시켜 가상의 애완동물 Pet과 함께 노는 증강현실 게임으로, 플레이어의 손과 PlayStation Move Motion Controller를 사용하여 운동, 목욕, 놀아주기 기능 등을 할 수 있다.
또한 Android Application인 Sky Siege라는 게임은 1인칭 시점의 증강현실 슈팅 게임으로 지상군이 되어 상/하/좌/우 등 360도 방향에서 공격해오는 적군의 비행기나 헬리콥터를 격추하는 게임이다. 게임의 조작은 원형의 가상 스크린이 있다고 생각하고, 360도 회전할 수 있는 의자에 앉아서 원하는 방향으로 향하게 되면, 그 방향의 화면을 볼 수 있게 조작이 된다.
이와 같이 증강현실 기술을 게임에 응용하기 위해서는 관측공간에서 카메라의 위치나 가상 모델에 대한 트래킹이 필요한데, 이러한 트래킹 기술은 크게 마커기반 트래킹(Marker-based Tracking)과 마커리스 트래킹(Marker-less Tracking)으로 나누어진다. 마커 기반 트래킹은 주로 특정한 형태의 마커를 사용하므로 인식이 용이하고 처리속도가 빠르다는 장점이 있지만, 시각적인 마커를 사용하므로 현실감이 떨어지고 마커의 영역이 차단되는 경우 트래킹에 실패한다는 단점이 있다. 반면에 마커리스 트래킹은 특정 형태의 마커를 사용하지 않고 영상에서 특징을 추출하므로 마커 기반 방법에 비교하여 좀 더 안정적인 트래킹이 가능하다는 장점이 있다. 하지만 마커리스 트래킹을 위해서는 추적 대상에 대한 특징정보인 특징 서술자를 미리 데이터베이스로 구성할 필요가 있는데, 추적대상이 증가할수록 데이터베이스의 크기가 방대해져 특징 정보를 실시간으로 검색하기가 어렵다는 단점이 있다. 따라서 게임과 같이 다양한 멀티미디어 데이터들을 동시에 다루면서 실시간 처리를 요구하는 응용에서는 아직까지 마커리스 트래킹을 적용하기가 어려운 실정이다.
본 발명은 상기의 문제점들을 해결하기 위하여 창안된 것으로, 게임과 같이 다량의 멀티미디어 데이터를 다루는 증강현실 환경에서 실시간으로 마커리스 트래킹이 가능한 특징 서술자 데이터베이스 구조와 그 생성 및 검색 방법을 제공함을 그 목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조는, 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 큰 대표 4Byte 인덱스로 구성된 레벨1 배열; 상기 레벨1 배열에 포함된 대표 4Byte 인덱스별로 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스들이 자식 노드로 연결된 레벨2 배열; 상기 레벨2 배열에 포함된 4Byte 인덱스별로 동일한 4Byte 인덱스를 갖는 16Byte 인덱스들이 자식 노드로 연결된 레벨3 배열; 및 상기 레벨3 배열에 포함된 16Byte 인덱스별로 동일한 16Byte 인덱스를 갖는 특징 서술자들이 자식 노드로 연결된 레벨4 배열;을 포함하여 구성된다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 생성 방법은 (a) 상기 데이터베이스에 삽입될 새로운 특징 서술자에 대하여, 4Byte 인덱스와 16Byte 인덱스로 부호화 하는 단계; (b) 상기 레벨1 배열에 포함된 대표 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스를 찾는 단계; (c) 상기 (b) 단계에서 찾은 4Byte 인덱스의 자식 노드로 연결된 레벨2 배열에 포함된 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와 동일한 4Byte 인덱스를 찾는 단계; (d) 상기 (c) 단계에서 찾은 4Byte 인덱스의 자식 노드로 연결된 레벨3 배열에 포함된 16Byte 인덱스들 중에서 새로운 특징 서술자의 16Byte 인덱스와 동일한 16Byte 인덱스를 찾는 단계; 및 (e) 상기 (d) 단계에서 찾은 16Byte 인덱스의 자식 노드로 연결된 레벨4 배열의 마지막에 새로운 특징 서술자를 추가하는 단계;를 포함하되, 상기 (b) 단계에서 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 4Byte 인덱스를 레벨1 배열의 마지막에 추가하고 추가된 4Byte 인덱스에 자식 노드로 연결되는 레벨2 배열을 생성하고, 상기 (c) 단계에서 동일한 4Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 4Byte 인덱스를 레벨2 배열의 마지막에 추가하고 추가된 4Byte 인덱스에 자식 노드로 연결되는 레벨3 배열을 생성하고, 상기 (d) 단계에서 동일한 16Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 16Byte 인덱스를 레벨3 배열의 마지막에 추가하고 추가된 16Byte 인덱스에 자식 노드로 연결되는 레벨4 배열을 생성하는 것을 특징으로 한다.
상기 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 생성 방법에 있어서, 상기 (a) 단계에서 특징 서술자를 16Byte 인덱스로 부호화 할 때, 특징 서술자의 64개 원소를 4개 원소의 단위로 잘라 각각 1Byte 정수로 부호화 하되, 특징 서술자의 인접된 각 원소 간 차이를 구하고, 그 차이를 소정의 임계치(t1)와 비교하여 부호화할 비트를 결정하고, 결정된 비트를 정수 데이터의 상위 비트부터 할당하고, 16Byte 인덱스를 4Byte 인덱스로 부호화 할 때, 16Byte 인덱스를 4Byte 단위로 잘라 각각 1Byte 정수로 부호화 하되, 16Byte 인덱스의 인접된 각 Byte 간 차이를 구하고, 그 차이를 소정의 임계치(t11)와 비교하여 부호화할 비트를 결정하고, 결정된 비트를 정수 데이터의 상위 비트부터 할당하는 것을 특징으로 한다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 검색 방법은 (a) 상기 데이터베이스와 비교할 새로운 특징 서술자에 대하여, 4Byte 인덱스와 16Byte 인덱스로 부호화 하는 단계; (b) 상기 레벨1 배열에 포함된 대표 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 유사성이 가장 큰 4Byte 인덱스를 찾는 단계; (c) 상기 (b) 단계에서 찾은 4Byte 인덱스의 자식 노드인 레벨2 배열에 속하는 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 유사성이 소정의 4Byte 인덱스 거리 임계치보다 큰 4Byte 인덱스를 모두 찾는 단계; (d) 상기 (c) 단계에서 찾은 모든 4Byte 인덱스들에 대하여, 그 자식 노드인 레벨3 배열에 속하는 16Byte 인덱스들 중에서 새로운 특징 서술자의 16Byte 인덱스와의 유사성이 소정의 16Byte 인덱스 거리 임계치보다 큰 16Byte 인덱스를 모두 찾는 단계; 및 (e) 상기 (d) 단계에서 찾은 모든 16Byte 인덱스들에 대하여, 그 자식 노드인 레벨4 배열에 속하는 특징 서술자들 중에서 새로운 특징 서술자와의 유클리드 거리값이 최소인 특징 서술자를 찾아 매칭이 이루어진 것으로 결정하는 단계;를 포함하여 구성된다.
본 발명에 의하면, 특징 서술자 데이터베이스의 검색은 각 단계별로 4Byte 인덱스와 16Byte 인덱스를 사용하여 유사성 있는 특징 서술자를 탐색하고, 탐색된 모든 특징 서술자들의 유클리드 거리 값 비교를 통해 이루어지므로, 인덱스를 사용한 특징 서술자 검색은 형태를 기반으로 유사하지 않은 특징 서술자들을 검색 대상에서 제외하여 검색의 효율을 높일 수 있다.
구체적으로 비교하면, 일반적인 특징 서술자 데이터베이스 검색 방법인 KD-Tree 방법과 비교하여 특징 서술자당 16msec 정도의 성능개선을 보였다. 따라서 특징 서술자가 일반적으로 장면당 200개 검출된다고 가정했을 때 약 3.2초의 속도 차이를 보여 성능 개선이 이룰 수 있다.
도 1은 본 발명에 의한 3단계 부호화 과정을 예시적으로 도시한 것이고,
도 2는 원소들의 증감 방향을 이용하여 특징 서술자를 예시적으로 분류한 것이고,
도 3은 16Byte 인덱스 생성 과정을 도시한 것이고,
도 4는 4Byte 인덱스 생성 과정을 도시한 것이고,
도 5는 특징 서술자 인덱싱을 위한 다단계 배열 구조를 갖는 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조를 도시한 것이고,
도 6은 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 생성 과정을 도시한 흐름도이고,
도 7은 오차를 포함한 특징 서술자의 증감 형태를 예시적으로 도시한 것이고,
도 8은 본 발명에 의한 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 검색 과정을 도시한 흐름도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
<특징 서술자의 부호화>
일반적인 SIFT(Scale Invariant Feature Transform)와 SURF(Speeded Up Robust Features)의 특징 서술자는 64~128차원의 부동소수점 데이터로 구성되어 있기 때문에 특징 서술자 비교에 있어 정수 연산에 비해 상대적으로 높은 처리 비용이 든다(여기서, SIFT와 SURF는 영상에서 크기나 회전 등에 불변한 특징을 갖는 특징점과 특징의 형태를 서술해 주는 서술자를 추출하고 매칭하는 알고리즘을 나타낸다. 이하에서는 SURF의 특징 서술자를 사용하는 것에 기초하여 설명한 것이나, SIFT의 특징 서술자를 사용하는 것에 기초한 것도 동일한 발명 사상에 포함된다.). 따라서 검색의 가속화를 위해 64차원의 특징 서술자에 대해 2단계에 걸쳐 차원수를 줄이고, 부동 소수점 형태의 데이터를 정수 형태로 부호화 하여 유사 인덱스로 사용한다.
도 1은 부호화 과정을 통해 특징 서술자를 각각 16차원과 4차원 인덱스로 표현한 예이다. 최초 단계에서 특징 서술자를 64차원의 부동소수점 데이터에서 16차원 정수 데이터로 변환하고, 다시 16차원 정수 데이터를 4차원 정수데이터로 변환한다. 이 때 서술자의 차원이 줄어들면서 손실된 데이터로 인해 특징 서술자 간에 중복이 발생하게 되는데, 이를 역 이용하여 유사한 특징 서술자를 동일한 정수 데이터로 변환하여 그룹화하고, 해당 정수 데이터를 특징 서술자 그룹의 대표 인덱스로 사용한다.
도 2는 형태가 유사한 특징 서술자의 예를 보여준다. 도 2의 (a) 내지 (d)는 각각 서로 다른 특징 서술자를 그래프화한 것인데, 모두 상이한 데이터로 구성되어 있으나, 특징 서술자의 각 원소 간 증감의 방향이 동일한 것을 알 수 있다. 이와 같이 유사한 형태로 간주되는 특징 서술자들을 동일한 정수로 부호화하여 대표 인덱스로 사용하면, 인덱스 비교만으로도 대략적인 유사성 판단이 가능하여, 검색의 효율을 높일 수 있다.
도 3 및 도 4는 형태를 기반으로 부동 소수점 데이터에서 정수 데이터로 변환하는 구체적인 방법을 설명한다.
Figure pat00001
Figure pat00002
특징 서술자의 64개 원소를 도 3에 도시된 바와 같이 4개 원소의 단위로 잘라 각각 1Byte 정수로 부호화 한다. 먼저 수학식 1을 이용하여 특징 서술자의 인접된 각 원소(
Figure pat00003
) 간 차이(d)를 구하고, 수학식 2를 이용하여 차이(d)를 임계치(t1)와 비교하여 부호화할 비트를 결정하고, 결정된 비트를 정수 데이터의 상위 비트부터 할당한다(여기서, 임계치 t1은 부동 소수점 데이터로 구성된 특징 서술자의 각 원소간 증감의 추이를 판단할 때 쓰이는 값으로, t1값이 크면 대부분의 증감은 없는 것으로 판단되고, t1 값이 작으면 원소간의 미세한 차이도 증감이 있다고 판단하게 된다). 총 4개의 원소로부터 3개의 차이값을 구해, 6개의 비트열로 부호화 하므로 최상위 6~7 비트는 사용되지 않는다. 나머지 특징 서술자 원소들에 대해서도 같은 연산을 수행하면 16Byte의 정수 인덱스가 생성된다.
16Byte 정수 인덱스에 대해서 도 4와 같이 다시 한 번 부호화 과정을 거치면 4Byte 정수 인덱스가 생성된다.
따라서, 하나의 특징 서술자에 대해 다른 길이를 가지는 인덱스가 2개 생성된다.
<특징 서술자의 유사성 판단>
64차원 특징 서술자의 부호화 단계를 거치면, 4Byte 인덱스와 16Byte인덱스가 생성되어, 유사성을 판단하기 위해 각각의 인덱스와 특징 서술자를 비교하는 방법이 필요로 하다.
일반적으로 특징 서술자의 경우 수학식 3,4와 같이 유클리드 거리(Euclidean distance)를 비교하여 일정 거리 임계치(t2) 미만의 값을 가지면 유사한 서술자로 판단한다. 여기서, 거리 임계치(t2)는 유클리디안 거리값 비교를 통해 서술자의 매치 여부를 결정하는 값으로, t2 값이 크면 매칭확률이 올라가지만 상이한 서술자와 매칭될 확률 또한 올라가고, t2 값이 작으면 정확한 서술자(매우 유사한 or 같다고 볼 수 있는)와 매칭 되지만 매칭 확률 자체는 떨어진다(즉, 데이터베이스 내에서 조건에 부합하는 서술자를 찾지 못한다).
Figure pat00004
Figure pat00005
수학식 3에서 n은 특징 서술자의 차원수이고,
Figure pat00006
Figure pat00007
는 각각 비교할 특징 서술자의 k번째 원소이다. 각 원소간의 차를 제곱하여 합산한 값이 거리 임계치(t2) 미만일 경우 매칭이 가능한 최근접 특징 서술자로 판단한다.
하지만 정수 데이터로 부호화된 인덱스들에 대해서는 특징 서술자와 동일한 방법을 적용할 수 없다. 즉, 정수 인덱스는 특징 서술자의 방향을 비트로 부호화한 결과이므로 단순한 대소 비교가 불가능하다. 하지만 유사한 특징 서술자를 부호화한 결과의 비트열이 유사하게 나타난다는 점을 이용하여, 비트 단위로 차이를 구하여 인덱스의 유사성을 판단한다.
Figure pat00008
Figure pat00009
수학식 5에서
Figure pat00010
Figure pat00011
는 각각 비교할 정수 인덱스를 의미하고, exclusive-OR 연산으로 두 정수 비트열의 차이(bitDistance)를 구한다. 다음으로 수학식 6을 이용하여 비트열의 차이(bitDistance)가 인덱스 거리 임계치(t3) 미만인 경우에 대해서 정수 인덱스간의 유사성이 있다고 판단하게 된다.
<특징 서술자 데이터베이스 생성>
특징 서술자 데이터베이스는 정수 데이터로 부호화된 인덱스와 원본 특징 서술자를 사용하여 총 4개의 레벨로 구성된다. 도 5는 특징 서술자 데이터베이스의 구조도를 예시적으로 보여준다.
레벨1은 가장 단순화된 4Byte 인덱스의 배열로, 각 원소는 유사성이 멀다고 판단되는 대표 인덱스들로 구성된다. 레벨2는 마찬가지로 4Byte 인덱스의 배열로, 레벨1의 대표 인덱스와 유사성이 있다고 판단되는 인덱스들로 구성되어 있다. 레벨3은 16Byte 인덱스 배열로, 부호화의 결과인 4Byte 인덱스가 동일하게 생성되는 16Byte 인덱스들의 집합이다. 레벨4는 최초의 원본 특징 서술자들의 배열로, 부호화의 결과인 16Byte 인덱스가 동일하게 생성되는 특징 서술자 집합이다. 이와 같이 레벨1에서 레벨4까지 유사성을 기준으로 인덱스 및 특징 서술자가 분류 저장되기 때문에, 유사도의 기준이 되는 인덱스 거리 임계치(t3)에 따라 데이터베이스의 구조가 결정된다고 할 수 있다. 인덱스 거리 임계치(t3)가 작은 경우 대부분의 인덱스가 그룹화 되지 못하여 레벨1로 데이터가 편중되어 저장이 되며, 인덱스 거리 임계치(t3)가 큰 경우 대부분의 인덱스가 하나의 그룹으로 모이기 때문에 레벨2로 데이터가 편중되어 데이터베이스가 전반적으로 균형을 이루지 않게 된다.
이하에서는 도 6을 참조하여 특징 서술자 데이터베이스 생성의 전체 과정을 설명한다.
① 데이터베이스에 삽입될 새로운 특징 서술자가 입력으로 들어오면(S100), 앞서 언급한 방법으로 4Byte 인덱스와 16Byte 인덱스로 부호화 한다(S110).
② 레벨1 배열의 크기가 0 이라면(S120), ⑥단계로 분기한다.
③ 레벨1 배열에서 유사하다고 판단되는 4Byte 인덱스를 찾지 못한 경우 ⑥단계로 분기한다(S130, S140).
④ 유사성이 있는 4Byte 인덱스의 자식인 레벨2 배열에서 동일한 4Byte 인덱스를 찾아, 존재하지 않는 경우 ⑦단계로 분기한다(S150, S160).
⑤ 레벨2 4Byte 인덱스의 자식인 레벨3 배열에서 동일한 16Byte 인덱스를 찾아, 존재하지 않는 경우 ⑧단계로 분기하고, 존재한다면 ⑨단계로 분기한다(S170, S180).
⑥ 4Byte 인덱스를 레벨1 배열의 마지막에 추가하고(S200), 레벨2에 해당하는 자식배열을 생성한 뒤, 레벨1 배열의 원소와 레벨2 배열을 연결한다.
⑦ 4Byte 인덱스를 레벨2 배열의 마지막에 추가하고(S210), 레벨3에 해당하는 자식배열을 생성한 뒤, 레벨2 배열의 원소와 레벨3 배열을 연결한다.
⑧ 16Byte 인덱스를 레벨3 배열의 마지막에 추가하고(S220), 레벨4에 해당하는 자식배열을 생성한 뒤, 레벨3 배열의 원소와 레벨4 배열을 연결한다.
⑨ 레벨4 배열의 마지막에 원본 특징 서술자를 추가한다(S230).
<특징 서술자 검색>
데이터베이스에서 특징 서술자를 검색하는 방법은 데이터베이스 생성 단계와 유사하게 처리된다. 데이터베이스의 최초 단계인 레벨1부터 유사도가 높은 데이터를 기준으로 하위 단계로 내려가며 유사도를 비교하고, 마지막 단계인 레벨4에서는 원본 특징 서술자들의 유클리드 거리값을 비교하여 그 중 최소의 거리를 가지는 특징 서술자들을 매칭후보로 선정한다.
특징 서술자들의 데이터는 특징점 주변의 형태를 기술하기 때문에, 대소 비교를 통한 정렬을 하기에는 부적합한 형태이다. 따라서 데이터베이스의 각 레벨을 특징 서술자들의 유사도를 기준으로 그룹화 하지만, 도 7에 도시된 바와 같이 특징 서술자를 추출하는 과정에서 잡음이 포함되는 경우 실제 매칭이 가능한 두 개의 서술자가 서로 다른 대표 그룹에 속하는 오차가 발생한다.
이와 같은 문제를 해결하기 위해, 검색 시 그룹의 대표 인덱스를 비교하여 유사도가 일정 임계치 이상이 되는 모든 그룹을 검색 대상에 포함하여, 실시간 처리가 가능한 처리 속도를 보이면서 특징 서술자 검색의 정확도를 높이는 것이 바람직하다.
도 8은 특징 서술자 데이터베이스에서 검색을 수행하는 순서도이다.
데이터베이스와 비교할 새로운 특징 서술자가 입력으로 들어오면(S300), 앞서 언급한 방법으로 4Byte 인덱스와 16Byte 인덱스로 부호화 한다(S310).
레벨1 배열에서 4Byte 인덱스를 이용하여 가장 유사한 원소를 찾는다(S320).
4Byte 인덱스간의 비트열의 차이가 임계치 t4 이상이면, 단계로 분기한다(S330).
레벨2 배열에서 4Byte 인덱스간의 비트열의 차이가 임계치 t5 미만인 모든 원소를 큐1에 삽입한다(S340).
⑤ 큐1이 비어 있다면 단계로 분기한다(S350).
⑥ 큐1의 모든 원소에 대해서 자식인 레벨3 배열을 16Byte 인덱스로 탐색하여, 인덱스간 비트열의 차이가 임계치 t6 미만인 모든 원소를 큐2에 삽입한다(S360).
⑦ 큐2가 비어 있다면 단계로 분기한다(S370).
⑧ 큐2의 모든 원소에 대해서 자식인 레벨4 배열을 탐색하며, 원본 특징 서술자와 데이터베이스간의 유클리드 거리값을 비교하여, 거리값이 최소인 특징 서술자를 찾는다(S380).
⑨ 최소 거리값이 t7보다 작은 경우, 입력된 특징 서술자와 현재 특징 서술자가 매칭 되었다고 결정하고 처리를 종료한다(S390, S400).
입력된 특징 서술자를 매칭 후보에서 제외하고 처리를 종료한다(S410).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (4)

  1. 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 큰 대표 4Byte 인덱스로 구성된 레벨1 배열;
    상기 레벨1 배열에 포함된 대표 4Byte 인덱스별로 상호간의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스들이 자식 노드로 연결된 레벨2 배열;
    상기 레벨2 배열에 포함된 4Byte 인덱스별로 동일한 4Byte 인덱스를 갖는 16Byte 인덱스들이 자식 노드로 연결된 레벨3 배열; 및
    상기 레벨3 배열에 포함된 16Byte 인덱스별로 동일한 16Byte 인덱스를 갖는 특징 서술자들이 자식 노드로 연결된 레벨4 배열;을 포함함을 특징으로 하는 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 구조.
  2. 제1항에 의한 구조를 갖는 특징 서술자의 데이터베이스를 생성하는 방법에 있어서,
    (a) 상기 데이터베이스에 삽입될 새로운 특징 서술자에 대하여, 4Byte 인덱스와 16Byte 인덱스로 부호화 하는 단계;
    (b) 상기 레벨1 배열에 포함된 대표 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스를 찾는 단계;
    (c) 상기 (b) 단계에서 찾은 4Byte 인덱스의 자식 노드로 연결된 레벨2 배열에 포함된 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와 동일한 4Byte 인덱스를 찾는 단계;
    (d) 상기 (c) 단계에서 찾은 4Byte 인덱스의 자식 노드로 연결된 레벨3 배열에 포함된 16Byte 인덱스들 중에서 새로운 특징 서술자의 16Byte 인덱스와 동일한 16Byte 인덱스를 찾는 단계; 및
    (e) 상기 (d) 단계에서 찾은 16Byte 인덱스의 자식 노드로 연결된 레벨4 배열의 마지막에 새로운 특징 서술자를 추가하는 단계;를 포함하되,
    상기 (b) 단계에서 비트열 차이가 소정의 인덱스 거리 임계치(t3)보다 작은 4Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 4Byte 인덱스를 레벨1 배열의 마지막에 추가하고 추가된 4Byte 인덱스에 자식 노드로 연결되는 레벨2 배열을 생성하고,
    상기 (c) 단계에서 동일한 4Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 4Byte 인덱스를 레벨2 배열의 마지막에 추가하고 추가된 4Byte 인덱스에 자식 노드로 연결되는 레벨3 배열을 생성하고,
    상기 (d) 단계에서 동일한 16Byte 인덱스를 찾지 못한 경우 새로운 특징 서술자의 16Byte 인덱스를 레벨3 배열의 마지막에 추가하고 추가된 16Byte 인덱스에 자식 노드로 연결되는 레벨4 배열을 생성하는 것을 특징으로 하는 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 생성 방법.
  3. 제2항에 있어서,
    상기 (a) 단계에서 특징 서술자를 16Byte 인덱스로 부호화 할 때, 특징 서술자의 64개 원소를 4개 원소의 단위로 잘라 각각 1Byte 정수로 부호화 하되, 특징 서술자의 인접된 각 원소 간 차이를 구하고, 그 차이를 소정의 임계치(t1)와 비교하여 부호화할 비트를 결정하고, 결정된 비트를 정수 데이터의 상위 비트부터 할당하고,
    16Byte 인덱스를 4Byte 인덱스로 부호화 할 때, 16Byte 인덱스를 4Byte 단위로 잘라 각각 1Byte 정수로 부호화 하되, 16Byte 인덱스의 인접된 각 Byte 간 차이를 구하고, 그 차이를 소정의 임계치(t11)와 비교하여 부호화할 비트를 결정하고, 결정된 비트를 정수 데이터의 상위 비트부터 할당하는 것을 특징으로 하는 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 생성 방법.
  4. 제1항에 의한 구조를 갖는 특징 서술자의 데이터베이스를 검색하는 방법에 있어서,
    (a) 상기 데이터베이스와 비교할 새로운 특징 서술자에 대하여, 4Byte 인덱스와 16Byte 인덱스로 부호화 하는 단계;
    (b) 상기 레벨1 배열에 포함된 대표 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 유사성이 가장 큰 4Byte 인덱스를 찾는 단계;
    (c) 상기 (b) 단계에서 찾은 4Byte 인덱스의 자식 노드인 레벨2 배열에 속하는 4Byte 인덱스들 중에서 새로운 특징 서술자의 4Byte 인덱스와의 유사성이 소정의 4Byte 인덱스 거리 임계치보다 큰 4Byte 인덱스를 모두 찾는 단계;
    (d) 상기 (c) 단계에서 찾은 모든 4Byte 인덱스들에 대하여, 그 자식 노드인 레벨3 배열에 속하는 16Byte 인덱스들 중에서 새로운 특징 서술자의 16Byte 인덱스와의 유사성이 소정의 16Byte 인덱스 거리 임계치보다 큰 16Byte 인덱스를 모두 찾는 단계; 및
    (e) 상기 (d) 단계에서 찾은 모든 16Byte 인덱스들에 대하여, 그 자식 노드인 레벨4 배열에 속하는 특징 서술자들 중에서 새로운 특징 서술자와의 유클리드 거리값이 최소인 특징 서술자를 찾아 매칭이 이루어진 것으로 결정하는 단계;를 포함함을 특징으로 하는 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스 검색 방법.
KR1020110015916A 2011-02-23 2011-02-23 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법 KR101255916B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110015916A KR101255916B1 (ko) 2011-02-23 2011-02-23 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110015916A KR101255916B1 (ko) 2011-02-23 2011-02-23 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법

Publications (2)

Publication Number Publication Date
KR20120096688A true KR20120096688A (ko) 2012-08-31
KR101255916B1 KR101255916B1 (ko) 2013-04-17

Family

ID=46886527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110015916A KR101255916B1 (ko) 2011-02-23 2011-02-23 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법

Country Status (1)

Country Link
KR (1) KR101255916B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060021001A (ko) * 2004-09-02 2006-03-07 (주)제니텀 엔터테인먼트 컴퓨팅 개체인지를 이용한 Marker-less 증강현실과 복합현실 응용시스템 및 그 방법
KR20080073933A (ko) * 2007-02-07 2008-08-12 삼성전자주식회사 객체 트래킹 방법 및 장치, 그리고 객체 포즈 정보 산출방법 및 장치

Also Published As

Publication number Publication date
KR101255916B1 (ko) 2013-04-17

Similar Documents

Publication Publication Date Title
Cao et al. Spatial-bag-of-features
Ling et al. Balancing deformability and discriminability for shape matching
JP5922841B2 (ja) パターンのシンボル空間ベースの圧縮のための多層システム
CN107291871B (zh) 基于人工智能的多域信息的匹配度评估方法、设备及介质
Liu et al. Contextual hashing for large-scale image search
CN106570141B (zh) 近似重复图像检测方法
Duan et al. Weighted component hashing of binary aggregated descriptors for fast visual search
Aly et al. Indexing in large scale image collections: Scaling properties and benchmark
CN109697451B (zh) 相似图像聚类方法及装置、存储介质、电子设备
CN104615676B (zh) 一种基于最大相似度匹配的图片检索方法
Tipaldi et al. Geometrical flirt phrases for large scale place recognition in 2d range data
Do et al. Simultaneous feature aggregating and hashing for large-scale image search
CN105468781A (zh) 视频查询方法和装置
CN104731847B (zh) 搜索方法、搜索程序以及搜索装置
Bhattacharya et al. A probabilistic representation for efficient large scale visual recognition tasks
JP7019137B2 (ja) 類似画像検索システム
CN105183746B (zh) 从多相关图片中挖掘显著特征实现图像检索的方法
CN113298197B (zh) 数据聚类方法、装置、设备及可读存储介质
CN108182256A (zh) 一种基于离散局部线性嵌入哈希的高效图像检索方法
CN111125396B (zh) 一种单模型多分支结构的图像检索方法
CN113255604B (zh) 基于深度学习网络的行人重识别方法、装置、设备及介质
CN104778272B (zh) 一种基于区域挖掘和空间编码的图像位置估计方法
CN110110119B (zh) 图像检索的方法、装置及计算机可读存储介质
KR101255916B1 (ko) 증강현실 환경에서 실시간 마커리스 트래킹을 위한 특징 서술자의 데이터베이스를 기록한 컴퓨터가 읽을 수 있는 기록매체와 그 데이터베이스의 생성 및 검색 방법
CN109670071B (zh) 一种序列化多特征指导的跨媒体哈希检索方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160408

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170213

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190410

Year of fee payment: 7