KR20210042011A - 자세 추적 방법 및 이를 수행하는 장치 - Google Patents

자세 추적 방법 및 이를 수행하는 장치 Download PDF

Info

Publication number
KR20210042011A
KR20210042011A KR1020200114552A KR20200114552A KR20210042011A KR 20210042011 A KR20210042011 A KR 20210042011A KR 1020200114552 A KR1020200114552 A KR 1020200114552A KR 20200114552 A KR20200114552 A KR 20200114552A KR 20210042011 A KR20210042011 A KR 20210042011A
Authority
KR
South Korea
Prior art keywords
posture
processor
points
matching
tracking
Prior art date
Application number
KR1020200114552A
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 US17/063,909 priority Critical patent/US11610330B2/en
Publication of KR20210042011A publication Critical patent/KR20210042011A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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/30204Marker

Landscapes

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

Abstract

자세 추적 방법 및 이를 수행하는 장치가 개시된다. 일 실시예에 따른 자세 추적 방법은, 복수의 마커가 부착된 추적 대상의 이미지를 획득하는 단계와, 상기 이미지 내 상기 복수의 마커가 투영된 제1 포인트들을 검출하는 단계와, 상기 추적 대상의 회전 정보에 기초하여 상기 제1 포인트들을 상기 추적 대상을 기준으로 설정된 좌표계 내 상기 복수의 마커의 위치에 대응되는 제2 포인트들에 매칭하는 단계와, 매칭 쌍들에 기초하여 상기 추적 대상의 자세를 추정하는 단계를 포함한다.

Description

자세 추적 방법 및 이를 수행하는 장치{POSTURE TRACKING METHOD AND APPARATUS PERFORMING THE SAME}
아래 실시예들은 자세 추적 방법 및 이를 수행하는 장치에 관한 것이다.
6-자유도(6-Degree of Freedom(6-DOF)) 자세 추적 방법은 로봇 파지(robotic grasping), 가상 현실/증강 현실 및 인간-컴퓨터 상호 작용 기술 등 다양한 분야에서 널리 이용되고 있다.
가상 현실 및 증강 현실을 구현함에 있어서 시스템 지연에 대한 요구 사항이 높다. 시스템이 사용자의 움직임에 느리게 반응하게 되면, 사용자에게 현기증과 메스꺼움이 유발될 수 있다. 현재 상용되는 가상 현실(VR) 추적 기술의 최소 지연 시간은 15ms로 사용자에게 완벽한 몰입 경험을 제공할 수 없다.
현재 많은 광학 추적 시스템은 CMOS(Complementary Metal Oxide Semiconductor) 카메라를 기반으로 한다. CMOS 카메라 지연은 일반적으로 16.7ms(60FPS)보다 크기 때문에 VR의 낮은 지연 요구 사항을 충족시킬 수 없다.
객체의 6-DOF 자세를 추적하기 위해 LED 마커가 사용될 수 있다. 다만, LED 마커를 이용한 방법은 LED 램프의 레이아웃 또는 감지 여부가 자세 추적의 정확도와 시스템의 견고성에 큰 영향을 미치며, 3차원 공간상의 LED 마커와 2차원 이미지 내 LED 마커가 투영된 픽셀 간의 대응 관계를 해결하는데 많은 시간이 소요되어 실시간 시스템에서는 문제가 발생할 수 있다.
일 실시예에 따른 자세 추적 방법은, 복수의 마커가 부착된 추적 대상의 이미지를 획득하는 단계와, 상기 이미지 내 상기 복수의 마커가 투영된 제1 포인트들을 검출하는 단계와, 상기 추적 대상의 회전 정보에 기초하여 상기 제1 포인트들을 상기 추적 대상을 기준으로 설정된 좌표계 내 상기 복수의 마커의 위치에 대응되는 제2 포인트들에 매칭하는 단계와, 매칭 쌍들에 기초하여 상기 추적 대상의 자세를 추정하는 단계를 포함한다.
상기 획득하는 단계는, 상기 이미지 내 시간에 따른 변화가 있는 픽셀의 정보만 획득하는 단계를 포함할 수 있다.
상기 검출하는 단계, 변화의 특징에 기초하여 상기 이미지 내 시간에 따른 변화가 있는 픽셀을 필터링하는 단계와, 필터링된 픽셀들의 위치에 기초하여 상기 필터링된 픽셀들을 서로 다른 클러스터들로 분류하는 단계와, 상기 클러스터들에서 밀도가 가장 높은 위치의 픽셀을 상기 제1 포인트들로 검출하는 단계를 포함할 수 있다.
상기 매칭하는 단계는, 상기 제1 포인트들의 좌표, 상기 제2 포인트들의 좌표 및 상기 회전 정보에 기초하여 병진 벡터에 대한 방정식들을 작성하는 단계와, 상기 방정식들의 해를 포함하는 병진 벡터 목록을 획득하는 단계와, 상기 병진 벡터 목록에 기초하여 상기 제1 포인트들 및 상기 제2 포인트들을 매칭하는 단계를 포함할 수 있다.
상기 병진 벡터 목록에 기초하여 매칭하는 단계는, 상기 병진 벡터 목록에 포함되는 병진 벡터들의 유효성을 판단하는 단계와, 유효한 병진 벡터에 대응되는 제1 포인트 및 제2 포인트를 매칭하는 단계를 포함할 수 있다.
유효성을 판단하는 단계는, 상기 병진 벡터의 성분 중 적어도 하나가 임계 값을 초과하는지 여부를 판단하는 단계와, 상기 병진 벡터의 특정 성분이 음수인지 여부를 판단하는 단계를 포함할 수 있다.
상기 매칭하는 단계는, 상기 복수의 마커 중 상기 이미지를 촬영하는 카메라에서 관측할 수 가시적인 마커를 검출하는 단계와, 상기 가시적인 마커에 대해 상기 제1 포인트 및 상기 제2 포인트를 매칭하는 단계를 포함할 수 있다.
상기 자세 추적 방법은, 상기 매칭 쌍들 중 재투영 편차가 미리 설정된 임계 값을 초과하는 매칭 쌍을 제거하는 단계와, 상기 이미지에 새롭게 관찰된 마커에 기초하여 상기 매칭 쌍들을 업데이트하는 단계를 더 포함할 수 있다.
상기 추정하는 단계는, 상기 매칭 쌍들에 기초하여 추정된 자세와 상기 회전 정보를 융합하는 단계를 포함할 수 있다.
일 실시예에 따른 자세 추적 장치는, 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 복수의 마커가 부착된 추적 대상의 이미지를 획득하고, 상기 이미지 내 상기 복수의 마커가 투영된 제1 포인트들을 검출하고, 상기 추적 대상의 회전 정보에 기초하여 상기 제1 포인트들을 상기 추적 대상을 기준으로 설정된 좌표계 내 상기 복수의 마커의 위치에 대응되는 제2 포인트들에 매칭하고, 매칭 쌍들에 기초하여 상기 추적 대상의 자세를 추적한다.
상기 프로세서는, 상기 이미지 내 시간에 따른 변화가 있는 픽셀의 정보만 획득할 수 있다.
상기 프로세서는, 변화의 특징에 기초하여 상기 이미지 내 시간에 따른 변화가 있는 픽셀을 필터링하고, 필터링된 픽셀들의 위치에 기초하여 상기 필터링된 픽셀들을 서로 다른 클러스터들로 분류하고, 상기 클러스터들에서 밀도가 가장 높은 위치의 픽셀을 상기 제1 포인트들로 검출할 수 있다.
상기 프로세서는, 상기 제1 포인트들의 좌표, 상기 제2 포인트들의 좌표 및 상기 회전 정보에 기초하여 병진 벡터에 대한 방정식들을 작성하고, 상기 방정식들의 해를 포함하는 병진 벡터 목록을 획득하고, 상기 병진 벡터 목록에 기초하여 상기 제1 포인트들 및 상기 제2 포인트들을 매칭할 수 있다.
상기 프로세서는, 상기 병진 벡터 목록에 포함되는 병진 벡터들의 유효성을 판단하고, 유효한 병진 벡터에 대응되는 제1 포인트 및 제2 포인트를 매칭할 수 있다.
상기 프로세서는, 상기 병진 벡터의 성분 중 적어도 하나가 임계 값을 초과하는지 여부를 판단하고, 상기 병진 벡터의 특정 성분이 음수인지 여부를 판단할 수 있다.
상기 프로세서는, 상기 복수의 마커 중 상기 이미지를 촬영하는 카메라에서 관측할 수 가시적인 마커를 검출하고, 상기 가시적인 마커에 대해 상기 제1 포인트 및 상기 제2 포인트를 매칭할 수 있다.
상기 프로세서는, 상기 매칭 쌍들 중 재투영 편차가 미리 설정된 임계 값을 초과하는 매칭 쌍을 제거하고, 상기 이미지에 새롭게 관찰된 마커에 기초하여 상기 매칭 쌍들을 업데이트할 수 있다.
상기 프로세서는, 상기 매칭 쌍들에 기초하여 추정된 자세와 상기 회전 정보를 융합할 수 있다.
상기 자세 추적 장치는, 상기 이미지를 촬영하는 촬영 장치와, 상기 회전 정보를 검출하는 관성 측정 장치를 더 포함할 수 있다.
도 1은 일 실시예에 따른 자세 추적 시스템을 개략적으로 도시하는 도면이다.
도 2는 도 1에 도시된 자세 추적 장치를 개략적으로 도시하는 도면이다.
도 3은 도 1에 도시된 자세 추적 장치의 동작에 이용되는 좌표계 및 파라미터를 설명하기 위한 도면이다.
도 4는 도 1에 도시된 자세 추적 장치의 동작의 전체적인 흐름을 설명하기 위한 도면이다.
도 5a는 도 1에 도시된 자세 추적 장치의 마커 추적 동작을 상세히 설명하기 위한 순서도이고, 도 5b는 마커 추적 결과의 일 예를 보여주는 도면이다.
도 6은 도 1에 도시된 자세 추적 장치의 마커-픽셀 매칭 동작을 상세히 설명하기 위한 순서도이다.
도 7은 도 1에 도시된 자세 추적 장치의 자세 추적 동작을 상세히 설명하기 위한 순서도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 자세 추적 시스템을 개략적으로 도시하는 도면이다.
자세 추적 시스템(10)은 추적 대상의 자세(pose)를 추적할 수 있다. 자세 추적 시스템(10)은 6-자유도(6-degrees of freedom(6-DOF))를 가지는 추적 대상의 자세를 추적할 수 있다.
6-자유도는 3차원 공간 상에서 강체의 병진 운동(translational motion)에 대한 세 가지 자유도 및 회전 운동(rotational motion)에 대한 세 가지 자유도를 포함할 수 있다. 즉, 자세 추적 시스템(10)은 3차원 공간 상에서 물체의 병진 운동에 기초한 위치(position) 변화 및 회전 운동에 따른 방향(orientation) 변화를 추적할 수 있다.
자세 추적 시스템(10)은 자세 추적 장치(100), 카메라(130), 마커(150) 및 관성 측정 장치(inertial measurement unit(IMU); 170)를 포함할 수 있다.
자세 추적 장치(100)는 카메라(130)가 추적 대상을 촬영한 이미지 및 추적 대상에 부착된 관성 측정 장치(170)의 측정 데이터에 기초하여 추적 대상의 자세를 추적할 수 있다.
카메라(130)는 추적 대상을 촬영하여 획득한 이미지를 자세 추적 장치(100)로 전송할 수 있다. 도 1에서는 카메라(130)를 자세 추적 장치(100)와 구분되는 별개의 구성으로 도시했지만 이에 한정되는 것은 아니고, 카메라(130)는 자세 추적 장치(100) 내에 구현될 수도 있다.
카메라(130)는 동적 비전 센서(dynamic vision sensor(DVS))를 포함하는 DVS 카메라일 수 있다. 카메라(130)는 동적 비전 센서를 통해 촬영하는 이미지에 국소적인 변화를 감지하여 시간에 따른 변화가 있는 픽셀 정보를 획득할 수 있다. 카메라(130)는 시간에 따른 변화가 있는 픽셀 정보만 자세 추적 장치(100)로 전송하여 데이터 전송 및/또는 처리 과정에서 발생하는 지연을 방지할 수 있다.
마커(150)는 추적 대상에 부착될 수 있다. 부착되는 마커(150)의 개수 및 각각의 마커(150)가 부착되는 위치는 추적 대상의 크기 및/또는 형상 등에 기초하여 적절하게 조절될 수 있다.
마커(150)는 특정 주기로 깜빡이는 LED 램프일 수 있다. 카메라(130)의 동적 비전 센서를 통해 깜빡이는 마커(150)를 지속적으로 감지할 수 있다. 카메라(130)는 밝기가 변화하는 픽셀을 감지하여 대응하는 픽셀의 정보를 자세 추적 장치(100)로 전송할 수 있고, 자세 추정 장치(100)는 밝기 변화의 주기에 기초하여 마커(150)에 대응하는 픽셀을 검출할 수 있다. 다만, 마커(150)는 깜빡이는 LED 램프로 한정되는 것은 아니고, 카메라(130)를 통해 시각적으로 감지될 수 있는 다양한 종류의 비주얼 마커가 이용될 수 있다.
관성 측정 장치(170)는 추적 대상의 부착될 수 있다. 관성 측정 장치(170)는 가속도계 및/또는 회전 속도계를 이용하여 부착된 대상의 선형 가속도 및 회전 속도를 측정할 수 있다. 관성 측정 장치(170)는 추적 대상의 움직임을 감지하여 측정 데이터를 자세 추적 장치(100)로 전송할 수 있다. 이때, 측정 데이터는 추적 대상의 회전 정보를 포함할 수 있다.
자세 추적 장치(100)는 관성 측정 장치(170)의 측정 데이터에 기초하여 추적 대상의 회전 정보를 검출할 수 있다. 예를 들어, 자세 추적 장치(100)는 관성 측정 장치(170)의 측정 데이터에 기초하여 회전 운동의 3-자유도에 해당하는 피치(pitch), 롤(roll) 및 요(yaw)를 검출할 수 있다.
자세 추적 장치(100)는 마커(150)와 마커(150)가 카메라(130)를 통해 촬영된 이미지 상에 투영된 점을 매칭하여 추적 대상의 자세를 추정할 수 있다.
자세 추적 장치(100)는 관성 측정 장치(170)로부터 획득한 측정 데이터를 이용하여 이미지 내 각각의 마커(150)가 투영된 픽셀을 대응되는 마커(150)와 매칭시킬 수 있다. 즉, 자세 추적 장치(100)는 측정 데이터에 기초하여 검출한 추적 대상의 회전 정보를 이용하여 마커(150)와 마커(150)가 이미지 상에 투영된 점을 매칭함으로써 마커(150)의 레이아웃에 대한 자세 추적의 의존성을 낮추고 자세 추적의 정확성 및 효율성을 향상시킬 수 있다.
도 2는 도 1에 도시된 자세 추적 장치를 개략적으로 도시하는 도면이다.
자세 추적 장치(100)는 프로세서(200) 및 메모리(250)를 포함할 수 있다.
프로세서(200)는 메모리(250)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(200)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
메모리(250)는 프로세서(200)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(250)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다. 휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다. 불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Eelectronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
이하에서는, 도 3 내지 도 7을 참조하여 프로세서(200)에 의해 수행되는 자세 추적 장치(100)의 자세 추적 방법에 대해서 상세히 설명하도록 한다.
도 3은 도 1에 도시된 자세 추적 장치의 동작에 이용되는 좌표계 및 파라미터를 설명하기 위한 도면이다.
좌표계 Ow는 추적 대상(300)의 운동을 기술하기 위한 기준 좌표계일 수 있다. 예를 들어, 기준 좌표계 Ow는 고정된 카메라(130)를 기준으로 설정된 좌표계일 수 있다.
좌표계 Os는 추적 대상(300)에 고정되어 추적 대상(300)과 함께 움직이는 좌표계일 수 있다. 좌표계 Ow'는 기준 좌표계 Ow와 동일한 방향(orientation)을 유지하며 좌표계 Os와 원점을 공유하는 좌표계일 수 있다.
추적 대상(300)의 위치(position)는 기준 좌표계 Ow를 기준으로 추적 대상(300)에 고정된 좌표계 Os의 위치일 수 있다. 추적 대상(300)의 위치는
Figure pat00001
으로 나타낼 수 있다.
추적 대상(300)의 방향(orientation)은 기준 좌표계 Ow와 동일한 방향을 유지하는 좌표계 Ow'를 기준으로 추적 대상(300)에 고정된 좌표계 Os가 회전한 방향일 수 있다. 추적 대상(300)의 방향은 요(α), 피치(β) 및 롤(γ)로 나타낼 수 있다.
프로세서(200)는 기준 좌표계 Ow를 기준으로 추적 대상(300)에 고정된 좌표계 Os의 위치 및 방향을 계산함으로써 추적 대상(300)의 6-자유도 자세를 추적할 수 있다. 예를 들어, 자세 추정 장치(100)는 기준 좌표계 Ow에 대하여 이동한 좌표계 Os의 위치 및 방향을 나타내는 행렬
Figure pat00002
를 계산할 수 있다. 행렬
Figure pat00003
는 수학식 1과 같이 추적 대상(300)의 위치(tx, ty 및 tz) 및 방향(α, β 및γ)로 정의될 수 있다.
Figure pat00004
자세 추적 시스템(10)은 카메라 좌표계, 추적 대상 좌표계, IMU 좌표계 및 월드 좌표계(예를 들어, 자세 추적 시스템(10)이 구현된 공간을 기준으로 설정된 좌표계) 등을 포함할 수 있다. 이때, 추적 대상이 인체인 경우 추적 대상은 머리, 몸통, 팔 및 다리 등일 수 있으므로, 자세 추적 시스템(10)은 머리, 몸통, 팔 및 다리 각각을 기준으로 설정된 좌표계를 포함할 수 있다.
자세 추적 시스템(10)에서 카메라(130)의 위치가 고정된 경우 카메라 좌표계 및 월드 좌표계 사이 상대적인 위치 및 방향이 고정되므로, 카메라 좌표계 및 월드 좌표계 사이 변환 매트릭스는 일정하며, 사전에 계산될 수 있다. 즉, 프로세서(200)는 카메라 좌표계에 대한 추적 대상의 6-자유도 자세를 추정한 경우에도 변환 매트릭스를 이용하여 월드 좌표계에 대한 추적 대상의 6-자유도 자세를 획득할 수 있다.
자세 추적 시스템(10)은 카메라 좌표계 또는 월드 좌표계를 기준 좌표계 Ow로 설정할 수 있으며, 프로세서(200)는 설정된 기준 좌표계 Ow에 대한 추적 대상의 좌표계의 위치 및 방향을 나타내는 행렬
Figure pat00005
를 획득하여 추적 대상의 6-자유도 자세를 추정할 수 있다.
도 4는 도 1에 도시된 자세 추적 장치의 동작의 전체적인 흐름을 설명하기 위한 도면이다.
프로세서(200)는 복수의 마커가 부착된 추적 대상의 이미지를 획득할 수 있다는 추적 대상의 이미지 전체를 획득하는 대신 시간에 따라 밝기가 변화하는 픽셀의 정보만을 획득할 수 있다.
프로세서(200)는 추적 대상의 이미지에서 마커(150)에 대응되는 픽셀을 추적할 수 있다(410). 예를 들어, 프로세서(200)는 밝기가 변화하는 픽셀의 밝기 변화 주기에 기초하여 특정 주기로 깜박거리는 LED 마커(150)가 이미지 내에 투영된 픽셀을 검출할 수 있다.
이하, 설명의 편의를 위해 카메라(130)를 통해 촬영된 2차원 이미지에 마커(150)가 투영된 픽셀을 2D 포인트라 지칭하고, 추적 대상을 기준으로 설정된 3차원 좌표계 상 마커(150)가 배치된 점을 3D 포인트라 지칭하기로 한다. 즉, 2D 포인트는 카메라(130)에 의해 촬영된 이미지 상에 3D 포인트가 투영된 점일 수 있다. 2D 포인트들은 제1 포인트들일 수 있고, 3D 포인트들은 제2 포인트들일 수 있다.
2D 포인트는 카메라(130)가 촬영한 이미지 내 밝기가 특정 주기로 변화하는 픽셀에 기초하여 검출될 수 있고, 3D 포인트는 사전에 설정되어 추적 대상 상 마커(150)가 부착된 위치의 점일 수 있다.
2D 포인트는 촬영된 이미지를 기준으로 설정된 좌표계에 기초하여 위치가 기술되고, 3D포인트는 마커(150)가 부착된 추적 대상을 기준으로 설정된 좌표계에 기초하여 위치가 기술될 수 있다.
프로세서(200)는 2D 포인트들을 검출하여 2D 포인트들의 좌표 집합인 2D 포인트 세트를 획득할 수 있다. 프로세서(200)는 추적 대상에 마커(150)가 부착된 위치인 3D 포인트들의 좌표 집합 3D 포인트 세트를 획득할 수 있다. 예를 들어, 프로세서(200)는 메모리(250)에 저장되어 있는 3D 포인트 세트를 획득할 수 있다.
프로세서(200)는 관성 측정 장치(170)가 측정한 추적 대상의 IMU 데이터를 획득할 수 있다. 자세 추정 장치(100)는 IMU 데이터에 기초하여 추적 대상의 회전 정보를 추정할 수 있다(420). 예를 들어, 프로세서(200)는 AHRS(attitude and heading reference system)을 통해 IMU 데이터에 기초하여 회전 정보를 추정할 수 있다. 이때, 추적 대상의 회전 정보는 추적 대상의 3-자유도에 해당하는 피치(pitch), 롤(roll) 및 요(yaw)일 수 있다.
프로세서(200)는 추적 대상의 회전 정보를 이용하여 카메라(130)를 통해 촬영된 이미지 내 각각의 마커(150)가 투영된 픽셀을 각각의 마커(150)와 매칭하여 매칭 쌍들(matching pairs)을 획득할 수 있다(430). 프로세서(200)는 각각의 2D 포인트를 해당 2D 포인트로 투영되는 3D 포인트와 매칭시켜 매칭 쌍으로 정의할 수 있다.
프로세서(200)는 2D 포인트와 3D 포인트가 매칭된 매칭 쌍들에 기초하여 추적 대상의 6-자유도 자세를 추정할 수 있다(440). 프로세서(200)는 매칭 쌍들에 기초하여 추정된 추적 대상의 자세를 회전 정보와 융합하여 자세 추정 성능을 높일 수 있다.
프로세서(200)는 실시간으로 매칭 쌍들을 업데이트함으로써 지속적으로 추적 대상의 자세를 추적할 수 있다. 예를 들어, 프로세서(200)는 매칭 쌍의 재투영 편차(reprojection deviation)가 임계값을 초과하는 경우 매칭 쌍의 매칭 관계를 해제할 수 있고, 매칭 관계가 해제된 2D 포인트에 대해 다시 매칭 시도할 수 있다. 또한, 프로세서(200)는 실시간으로 새로 검출되는 2D 포인트에 대해 매칭 관계를 업데이트할 수 있다.
도 5a는 도 1에 도시된 자세 추적 장치의 마커 추적 동작을 상세히 설명하기 위한 순서도이고, 도 5b는 마커 추적 결과의 일 예를 보여주는 도면이다.
프로세서(200)는 획득한 이미지 내에서 발생한 이벤트를 파싱(parsing)할 수 있다(510). 예를 들어, 프로세서(200)는 이미지 내 픽셀의 밝기가 변화하는 이벤트를 검출할 수 있다.
예를 들어, 프로세서(200)는 DVS 카메라(130)로부터 수신한 픽셀 정보에 기초하여 밝기가 변화하는 이벤트에 대응하는 튜플(tuple)을 생성할 수 있다. 튜플은 <t, x, y, p>로 표시될 수 있으며, t는 이벤트 발생 시간(예를 들어, ms 단위의 시간 값)이고, x 및 y는 이벤트에 대응하는 픽셀의 좌표이고, p는 이벤트의 종류에 따라 0 또는 1일 수 있다. 즉, 프로세서(200)는 시간 t에 좌표 (x, y)에 위치하는 픽셀의 밝기가 밝아지는 경우 튜플 <t, x, y, 1>을 생성할 수 있고, 반대로 밝기가 어두워지는 경우 튜플 <t, x, y, 0>을 생성할 수 있다.
프로세서(200)는 검출한 이벤트들을 필터링 하여 마커(150)가 투영된 픽셀을 검출할 수 있다(520). 예를 들어, 프로세서(200)는 픽셀의 밝기 변화가 미리 설정된 특정 주기에 해당하는지 여부에 기초하여 필터링 할 수 있다. 즉, 프로세서(200)는 특정 주기로 밝기가 변화하는 픽셀들만 필터링할 수 있다.
프로세서(200)는 필터링된 이벤트들을 분류하여 서로 다른 클러스터로 클러스터링할 수 있다(530). 예를 들어, 프로세서(200)는 필터링된 픽셀들 사이의 거리에 기초하여 상대적으로 가까운 픽셀들을 동일한 클러스터에 포함시켜 모든 필터링된 픽셀들을 복수의 클러스터로 분류할 수 있다. 프로세서(200)는 영역 확장(region growth) 기반의 클러스터링 알고리즘 및/또는 경량 투표 알고리즘(lightweight voting algorithm)을 이용하여 필터링된 픽셀들을 클러스터링 할 수 있다.
프로세서(200)는 각각의 클러스터에서 밀도가 가장 높은 위치의 픽셀을 마커(150)가 투영된 픽셀인 2D 포인트로 추정할 수 있다(540). 프로세서(200)는 마커(150)가 투영되는 픽셀을 지속적으로 검출함으로써, 2D 포인트를 지속적으로 추적할 수 있다.
프로세서(200)는 GNN 추적 방법(global nearest neighbor tracking method) 및/또는 균일한 속도 모델 기반의 칼만 필터(Kalman filter)를 적용하여 복수의 마커(150)를 추적할 수 있으며, 마커(150)의 누락 또는 추적 오류의 발생 가능성을 줄일 수 있다.
도 5b는 상술한 방법을 통해 마커(150)가 촬영된 이미지에 투영된 픽셀을 추적한 결과의 일 예를 보여준다. 즉, 도 5b는 추적 대상의 움직임에 따른 2D 포인트의 움직임의 일 예를 나타내는 이미지일 수 있다.
도 6은 도 1에 도시된 자세 추적 장치의 픽셀-마커 매칭 동작을 상세히 설명하기 위한 순서도이다.
프로세서(200)는 2D 포인트 세트와 3D 포인트 세트 사이의 대응 관계를 획득할 수 있다. 프로세서(200)는 2D 포인트들을 대응하는 3D 포인트들과 매칭시켜 매칭 쌍들을 획득할 수 있다. 프로세서(200)는 2D 포인트와 해당 2D 포인트로 투영된 3D 포인트가 매칭된 매칭 쌍들을 획득할 수 있다. 이때, 프로세서(200)는 추적 대상의 회전 정보를 이용하여 매칭 쌍들을 획득할 수 있다.
프로세서(200)는 두 개의 2D 포인트의 좌표( p IA p IB ), 두 개의 3D 포인트의 좌표( p A p B ) 및 회전 정보( R = [ r 1 , r 2 , r 3 ]T)에 기초하여 미지의 병진 벡터(t = [tx, ty, tz]T)에 대한 방정식을 작성할 수 있다. 예를 들어, 프로세서(200)는 핀홀 이미징(pin-hole imaging) 원리에 기초하여 수학식 2와 같은 방정식을 작성할 수 있다. 이때, 미지의 병진 벡터(translation vector)(t = [tx, ty, tz]T)는 추적 대상의 위치에 대응하는 벡터로, tx, ty 및 tz는 각각 기준 좌표계의 x, y 및 z축 방향의 변위를 나타낼 수 있다.
Figure pat00006
수학식 2에서 미지수는 병진 벡터(t = [tx, ty, tz]T) 뿐이므로, 미지수는 세 개이며, 방정식은 네 개를 획득할 수 있다. 수학식 2를 정리하면 수학식 3과 같이 나타낼 수 있다.
Figure pat00007
Figure pat00008
프로세서(200)는 수학식 3으로 표현된 방정식을 풀어 병진 벡터(t = [tx, ty, tz]T)를 획득할 수 있다. 프로세서(200)는 병진 벡터(t = [tx, ty, tz]T)의 유효성에 기초하여 2D 포인트 및 3D 포인트의 매칭 여부를 결정할 수 있다. 예를 들어, 프로세서(200)는 병진 벡터(t = [tx, ty, tz]T)의 각 성분 중 적어도 하나가 임계 값 이상이거나, tz 가 음수인 경우 유효하지 않다고 판단할 수 있다.
프로세서(200)는 2D 포인트 세트 및 3D 포인트 세트에서 각각 무작위로 2D 포인트 및 3D 포인트를 선택하여 병진 벡터(t = [tx, ty, tz]T)를 계산하고, 병진 벡터(t = [tx, ty, tz]T)가 유효한 경우 선택된 2D 포인트 및 3D 포인트를 매칭하여 매칭 쌍으로 설정할 수 있다.
프로세서(200)는 무작위로 선택된 2D 포인트들 및 3D 포인트들에 기초하여 계산된 병진 벡터(t = [tx, ty, tz]T)를 포함하는 병진 벡터 목록을 획득할 수 있다. 프로세서(200)는 병진 벡터 목록에 포함되는 병진 벡터 중 유효하지 않은 병진 벡터를 삭제할 수 있으며, 각 요소간 차이가 임계 값 이하인 병진 벡터들을 병합할 수 있다. 즉, 프로세서(200)는 유효한 병진 벡터만을 포함하는 병진 벡터 목록을 검출하여, 각각의 유효한 병진 벡터에 대응하는 매칭 쌍들을 획득할 수 있다.
프로세서(200)는 카메라(130)에서 관측할 수 있는 가시적인(visible) 마커를 검출할 수 있다. 예를 들어, 프로세서(200)는 Mφller-Trumbore 광선 교차 알고리즘에 기초하여 카메라(130)에서 시작되는 광선이 물체와 교차하는 첫 번째 지점에 위치하는 가시적인 마커를 검출할 수 있다.
프로세서(200)는 가시적인 마커들에 대응하는 가시적 3D 포인트 세트에 기초하여 매칭 쌍의 매칭 오류를 줄일 수 있으며, 매칭 동작에 요구되는 계산량 및 지연 시간을 줄일 수 있다. 예를 들어, 프로세서(200)는 가시적 3D 포인트 세트에 대해서만 매칭 동작을 수행할 수 있다.
프로세서(200)는 헝가리안 알고리즘(Kuhn-Munkres algorithm)을 이용하여 가시적 3D 포인트 세트와 2D 포인트 세트의 매칭 오류를 최소화할 수 있다. 예를 들어, 프로세서(200)는 유효한 병진 벡터를 포함하는 병진 벡터 목록에 대한 매칭 오차를 계산하여 매칭 오차가 최소가 되는 병진 벡터 목록을 검출하여 올바른 매칭 쌍을 획득할 수 있다.
도 7은 도 1에 도시된 자세 추적 장치의 자세 추적 동작을 상세히 설명하기 위한 순서도이다.
프로세서(200)는 매칭 쌍들에 기초하여 추적 대상의 6-자유도 자세를 추정할 수 있다(710). 예를 들어, 프로세서(200)는 PnP(Perspective-n-Point) 알고리즘을 이용하여 6-자유도 자세를 추정할 수 있다. 이때, PnP 알고리즘은 EPnP(Efficient Perspective-n-Point) 알고리즘을 포함할 수 있다.
프로세서(200)는 각 매칭 쌍들에 대한 재투영 편차(reprojection deviation)를 계산하여, 재투영 편차가 임계 값을 초과하는 매칭 쌍을 제거하고, 남은 매칭 쌍들에 기초하여 추적 대상의 6-자유도 자세를 추정할 수 있다. 예를 들어, 프로세서(200)는 RANSAC(Random sample consensus) 알고리즘을 통해 재투영 편차가 임계 값을 초과하는 매칭 쌍을 제거할 수 있다.
프로세서(200)는 추정된 추적 대상의 6-자유도 자세를 최적화할 수 있다(720). 예를 들어, 프로세서는 BA(Bundle adjustment) 알고리즘을 이용하여 추정된 6-자유도 자세를 최적화하여 더 정확한 자세를 획득할 수 있다.
프로세서(200)는 최적화된 자세에 기초하여 재투영 편차가 임계 값을 초과하여 매칭 관계가 해제된 2D 포인트 및/또는 3D 포인트를 다시 매칭시킬 수 있고, 새로 관측된 2D 포인트에 대한 매칭 관계를 검출할 수 있다.
프로세서(200)는 최적화된 자세에 IMU 측정 데이터에 기초하여 추정한 3-자유도 회전 정보를 융합(fusion)할 수 있다(730). 예를 들어, 프로세서(200)는 확장된 칼만 필터(Extended Kalman filter)의 센서 융합 알고리즘(sensor fusion algorithm)에 기초하여 매칭 쌍에 기초하여 추정한 6-자유도 자세 및 IMU 측정 데이터에 기초하여 추정한 3-자유도 자세를 융합하여 추적 대상의 자세를 더 높은 성능으로 추정할 수 있다.
프로세서(200)는 융합된 6-자유도 자세에 기초하여 매칭 관계를 업데이트 할 수 있으며, 새로 관측된 2D 포인트에 대한 매칭 관계를 획득함으로써 지속적으로 추적 대상의 자세를 추적할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 복수의 마커가 부착된 추적 대상의 이미지를 획득하는 단계;
    상기 이미지 내 상기 복수의 마커가 투영된 제1 포인트들을 검출하는 단계;
    상기 추적 대상의 회전 정보에 기초하여 상기 제1 포인트들을 상기 추적 대상을 기준으로 설정된 좌표계 내 상기 복수의 마커의 위치에 대응되는 제2 포인트들에 매칭하는 단계; 및
    매칭 쌍들에 기초하여 상기 추적 대상의 자세를 추정하는 단계
    를 포함하는, 자세 추적 방법.
  2. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 이미지 내 시간에 따른 변화가 있는 픽셀의 정보만 획득하는 단계
    를 포함하는, 자세 추적 방법.
  3. 제1항에 있어서,
    상기 검출하는 단계는,
    변화의 특징에 기초하여 상기 이미지 내 시간에 따른 변화가 있는 픽셀을 필터링하는 단계;
    필터링된 픽셀들의 위치에 기초하여 상기 필터링된 픽셀들을 서로 다른 클러스터들로 분류하는 단계; 및
    상기 클러스터들에서 밀도가 가장 높은 위치의 픽셀을 상기 제1 포인트들로 검출하는 단계
    를 포함하는, 자세 추적 방법.
  4. 제1항에 있어서,
    상기 매칭하는 단계는,
    상기 제1 포인트들의 좌표, 상기 제2 포인트들의 좌표 및 상기 회전 정보에 기초하여 병진 벡터에 대한 방정식들을 작성하는 단계;
    상기 방정식들의 해를 포함하는 병진 벡터 목록을 획득하는 단계; 및
    상기 병진 벡터 목록에 기초하여 상기 제1 포인트들 및 상기 제2 포인트들을 매칭하는 단계
    를 포함하는, 자세 추적 방법.
  5. 제4항에 있어서,
    상기 병진 벡터 목록에 기초하여 매칭하는 단계는,
    상기 병진 벡터 목록에 포함되는 병진 벡터들의 유효성을 판단하는 단계; 및
    유효한 병진 벡터에 대응되는 제1 포인트 및 제2 포인트를 매칭하는 단계
    를 포함하는, 자세 추적 방법.
  6. 제5항에 있어서,
    유효성을 판단하는 단계는,
    상기 병진 벡터의 성분 중 적어도 하나가 임계 값을 초과하는지 여부를 판단하는 단계; 및
    상기 병진 벡터의 특정 성분이 음수인지 여부를 판단하는 단계
    를 포함하는, 자세 추적 방법.
  7. 제1항에 있어서,
    상기 매칭하는 단계는,
    상기 복수의 마커 중 상기 이미지를 촬영하는 카메라에서 관측할 수 가시적인 마커를 검출하는 단계;
    상기 가시적인 마커에 대해 상기 제1 포인트 및 상기 제2 포인트를 매칭하는 단계
    를 포함하는, 자세 추적 방법.
  8. 제1항에 있어서,
    상기 매칭 쌍들 중 재투영 편차가 미리 설정된 임계 값을 초과하는 매칭 쌍을 제거하는 단계; 및
    상기 이미지에 새롭게 관찰된 마커에 기초하여 상기 매칭 쌍들을 업데이트하는 단계
    를 더 포함하는, 자세 추적 방법.
  9. 제1항에 있어서,
    상기 추정하는 단계는,
    상기 매칭 쌍들에 기초하여 추정된 자세와 상기 회전 정보를 융합하는 단계
    를 포함하는, 자세 추적 방법.
  10. 하드웨어와 결합되어 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  11. 인스트럭션들을 포함하는 메모리; 및
    상기 인스트럭션들을 실행하기 위한 프로세서
    를 포함하고,
    상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
    복수의 마커가 부착된 추적 대상의 이미지를 획득하고, 상기 이미지 내 상기 복수의 마커가 투영된 제1 포인트들을 검출하고, 상기 추적 대상의 회전 정보에 기초하여 상기 제1 포인트들을 상기 추적 대상을 기준으로 설정된 좌표계 내 상기 복수의 마커의 위치에 대응되는 제2 포인트들에 매칭하고, 매칭 쌍들에 기초하여 상기 추적 대상의 자세를 추정하는, 자세 추적 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 이미지 내 시간에 따른 변화가 있는 픽셀의 정보만 획득하는, 자세 추적 장치.
  13. 제11항에 있어서,
    상기 프로세서는,
    변화의 특징에 기초하여 상기 이미지 내 시간에 따른 변화가 있는 픽셀을 필터링하고, 필터링된 픽셀들의 위치에 기초하여 상기 필터링된 픽셀들을 서로 다른 클러스터들로 분류하고, 상기 클러스터들에서 밀도가 가장 높은 위치의 픽셀을 상기 제1 포인트들로 검출하는, 자세 추적 장치.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 포인트들의 좌표, 상기 제2 포인트들의 좌표 및 상기 회전 정보에 기초하여 병진 벡터에 대한 방정식들을 작성하고, 상기 방정식들의 해를 포함하는 병진 벡터 목록을 획득하고, 상기 병진 벡터 목록에 기초하여 상기 제1 포인트들 및 상기 제2 포인트들을 매칭하는, 자세 추적 장치
  15. 제15항에 있어서,
    상기 프로세서는,
    상기 병진 벡터 목록에 포함되는 병진 벡터들의 유효성을 판단하고, 유효한 병진 벡터에 대응되는 제1 포인트 및 제2 포인트를 매칭하는, 자세 추적 장치.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 병진 벡터의 성분 중 적어도 하나가 임계 값을 초과하는지 여부를 판단하고, 상기 병진 벡터의 특정 성분이 음수인지 여부를 판단하는, 자세 추적 장치.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 마커 중 상기 이미지를 촬영하는 카메라에서 관측할 수 가시적인 마커를 검출하고, 상기 가시적인 마커에 대해 상기 제1 포인트 및 상기 제2 포인트를 매칭하는, 자세 추적 장치.
  18. 제11항에 있어서,
    상기 프로세서는,
    상기 매칭 쌍들 중 재투영 편차가 미리 설정된 임계 값을 초과하는 매칭 쌍을 제거하고, 상기 이미지에 새롭게 관찰된 마커에 기초하여 상기 매칭 쌍들을 업데이트하는, 자세 추적 장치.
  19. 제11항에 있어서,
    상기 프로세서는,
    상기 매칭 쌍들에 기초하여 추정된 자세와 상기 회전 정보를 융합하는, 자세 추적 장치.
  20. 제11항에 있어서,
    상기 이미지를 촬영하는 촬영 장치; 및
    상기 회전 정보를 검출하는 관성 측정 장치
    를 더 포함하는, 자세 추적 장치.
KR1020200114552A 2019-10-08 2020-09-08 자세 추적 방법 및 이를 수행하는 장치 KR20210042011A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/063,909 US11610330B2 (en) 2019-10-08 2020-10-06 Method and apparatus with pose tracking

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910950626.1 2019-10-08
CN201910950626.1A CN110782492B (zh) 2019-10-08 2019-10-08 位姿跟踪方法及装置

Publications (1)

Publication Number Publication Date
KR20210042011A true KR20210042011A (ko) 2021-04-16

Family

ID=69384884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200114552A KR20210042011A (ko) 2019-10-08 2020-09-08 자세 추적 방법 및 이를 수행하는 장치

Country Status (2)

Country Link
KR (1) KR20210042011A (ko)
CN (1) CN110782492B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111462179B (zh) * 2020-03-26 2023-06-27 北京百度网讯科技有限公司 三维物体跟踪方法、装置及电子设备
CN111949123B (zh) * 2020-07-01 2023-08-08 青岛小鸟看看科技有限公司 多传感器手柄控制器混合追踪方法及装置
CN112306271B (zh) * 2020-10-30 2022-11-25 歌尔光学科技有限公司 一种手柄控制器的焦点校准方法、装置及相关设备
CN112991556B (zh) * 2021-05-12 2022-05-27 航天宏图信息技术股份有限公司 Ar数据的展示方法、装置、电子设备及存储介质
CN113370217B (zh) * 2021-06-29 2023-06-16 华南理工大学 基于深度学习的物体姿态识别和抓取的智能机器人的方法
US20230031480A1 (en) * 2021-07-28 2023-02-02 Htc Corporation System for tracking camera and control method thereof

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103930944B (zh) * 2011-06-23 2016-08-24 奥布隆工业有限公司 用于空间输入装置的自适应跟踪系统
EP2728375A1 (de) * 2012-10-31 2014-05-07 Leica Geosystems AG Verfahren und Vorrichtung zur Bestimmung einer Orientierung eines Objekts
EP3058562A4 (en) * 2013-10-14 2017-07-26 RealD Spark, LLC Control of directional display
FR3013487B1 (fr) * 2013-11-18 2017-04-21 Univ De Nice (Uns) Procede d'estimation de la vitesse de deplacement d'une camera
CN103607541A (zh) * 2013-12-02 2014-02-26 吴东辉 摄像获取信息的方法和系统及摄像装置及信息调制装置
CN105844659B (zh) * 2015-01-14 2019-04-26 北京三星通信技术研究有限公司 运动部件的跟踪方法和装置
US20160247293A1 (en) * 2015-02-24 2016-08-25 Brain Biosciences, Inc. Medical imaging systems and methods for performing motion-corrected image reconstruction
US9934592B1 (en) * 2016-11-15 2018-04-03 Carl Zeiss Industrielle Messtechnik Gmbh Method and system for determining a 6-DOF-pose of an object in space
JP6602743B2 (ja) * 2016-12-08 2019-11-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
EP3447448B1 (en) * 2017-07-24 2021-01-06 Trifo, Inc. Fault-tolerance to provide robust tracking for autonomous and non-autonomous positional awareness
US10564174B2 (en) * 2017-09-06 2020-02-18 Pixart Imaging Inc. Optical sensing apparatuses, method, and optical detecting module capable of estimating multi-degree-of-freedom motion
US10529074B2 (en) * 2017-09-28 2020-01-07 Samsung Electronics Co., Ltd. Camera pose and plane estimation using active markers and a dynamic vision sensor
CN110120099A (zh) * 2018-02-06 2019-08-13 广东虚拟现实科技有限公司 定位方法、装置、识别跟踪系统及计算机可读介质
CN108596980B (zh) * 2018-03-29 2021-12-07 中国人民解放军63920部队 圆形目标视觉定位精度评估方法、装置、存储介质和处理设备
CN108648215B (zh) * 2018-06-22 2022-04-15 南京邮电大学 基于imu的slam运动模糊位姿跟踪算法

Also Published As

Publication number Publication date
CN110782492B (zh) 2023-03-28
CN110782492A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
KR20210042011A (ko) 자세 추적 방법 및 이를 수행하는 장치
US20210190497A1 (en) Simultaneous location and mapping (slam) using dual event cameras
CN110411441B (zh) 用于多模态映射和定位的系统和方法
CN109084746B (zh) 用于具有辅助传感器的自主平台引导系统的单目模式
CN112567201B (zh) 距离测量方法以及设备
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
JP2018522348A (ja) センサーの3次元姿勢を推定する方法及びシステム
KR101776622B1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US10852847B2 (en) Controller tracking for multiple degrees of freedom
US20190204084A1 (en) Binocular vision localization method, device and system
CN110880189B (zh) 联合标定方法及其联合标定装置和电子设备
JP6198230B2 (ja) 深度カメラを使用した頭部姿勢トラッキング
CN112219087A (zh) 位姿预测方法、地图构建方法、可移动平台及存储介质
KR102472767B1 (ko) 신뢰도에 기초하여 깊이 맵을 산출하는 방법 및 장치
US11788845B2 (en) Systems and methods for robust self-relocalization in a visual map
KR20150144728A (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
KR20150144729A (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
Tarhan et al. A catadioptric and pan-tilt-zoom camera pair object tracking system for UAVs
JP6229041B2 (ja) 基準方向に対する移動要素の角度偏差を推定する方法
WO2022002132A1 (zh) 多传感器手柄控制器混合追踪方法及装置
US20170336439A1 (en) Real-time visual-inertial motion tracking fault detection
CN110555869A (zh) 提取增强现实系统中主要和次级运动的方法和系统
Bessa et al. Global location of mobile robots using artificial neural networks in omnidirectional images
US11610330B2 (en) Method and apparatus with pose tracking

Legal Events

Date Code Title Description
A201 Request for examination