KR102126513B1 - 카메라의 포즈를 판단하기 위한 장치 및 방법 - Google Patents

카메라의 포즈를 판단하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102126513B1
KR102126513B1 KR1020187028235A KR20187028235A KR102126513B1 KR 102126513 B1 KR102126513 B1 KR 102126513B1 KR 1020187028235 A KR1020187028235 A KR 1020187028235A KR 20187028235 A KR20187028235 A KR 20187028235A KR 102126513 B1 KR102126513 B1 KR 102126513B1
Authority
KR
South Korea
Prior art keywords
camera
pose
data
sensors
block
Prior art date
Application number
KR1020187028235A
Other languages
English (en)
Other versions
KR20180112090A (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 삼성전자주식회사
Publication of KR20180112090A publication Critical patent/KR20180112090A/ko
Application granted granted Critical
Publication of KR102126513B1 publication Critical patent/KR102126513B1/ko

Links

Images

Classifications

    • H04N5/23222
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • 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/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

카메라의 포즈를 판단하는 방법이 기술된다. 그 방법은 카메라의 복수의 센서들을 이용하여 카메라가 검출한 이미지의 변화를 분석하는 단계; 카메라의 포즈에 오류가 있는지를 판단하는 단계; 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하는 단계; 및 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 데이터를 분석하는 단계를 포함한다.

Description

카메라의 포즈를 판단하기 위한 장치 및 방법
본 발명의 일 실시예는 일반적으로 이미지 처리, 컴퓨터 비전 및 로봇 장치들에 관한 것으로서, 보다 상세하게는 카메라의 포즈를 판단하기 위한 장치 및 방법에 관한 것이다.
디지털 이미지 프로세싱은 여러 분야에서 매우 일반적으로 사용되는 중요한 기술이다. 디지털 이미지 프로세싱은 센서로부터 이미지를 획득하여 그 이미지를 볼 수 있는 콘텐츠로 변환한다. 그러나 멀티 센서 디지털 처리와 같이 이미지의 사용에 좌우되는 특정 애플리케이션들에 대한 디지털 이미지들을 수집할 때 여러 곤란한 문제들이 발생한다. 로봇이나 드론에 사용되는 것과 같은 컴퓨터 비전 또는 SLAM (simultaneous localization and mapping) 등의 멀티 센서 디지털 처리 역시, 디지털 카메라나 3 차원(3D) 이미지 처리 시스템의 중요 기능이다. 로봇이나 드론에서의 SLAM, 컴퓨터 비전의 프레임 단위(frame-to-frame) 추적, 또는 다른 3D 디지털 이미지 추적 시스템들을 실행할 때, 추정되는 카메라 포즈는 여러 이유로 신뢰하기 어려울 수 있다. 컴퓨터 비전이나 SLAM을 실행할 때 카메라 포즈 정정의 오류나 지연은 불필요한 자원의 사용 또는 원하는 데이터 생성의 지연을 초래할 수 있다.
따라서, 디지털 이미지를 처리하는 동안 카메라 포즈의 에러 검출을 개선하고 카메라의 위치재지정을 가능하게 하는 장치 및 방법이 바람직하다.
카메라의 포즈를 판단하는 방법이 기술된다. 상기 방법은 카메라의 복수의 센서들을 이용하여 카메라가 검출한 이미지의 변화를 분석하는 단계; 상기 카메라의 포즈에 오류가 있는지를 판단하는 단계; 상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하는 단계; 및 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 데이터를 분석하는 단계를 포함한다.
도 1은 카메라에 의해 캡처되는 다양한 객체들을 가진 3D 장면을 도시한 도면이다.
도 2는 카메라의 포즈를 판단하기 위한 장치의 블록도이다.
도 3은 카메라 포즈 오류를 검출하기 위한 블록들을 도시한 도면이다.
도 4는 3D 장면을 캡처하는 카메라의 위치재지정(re-localization)을 가능하게 하는 블록들을 도시한 도면이다.
도 5는 3D 장면을 캡처하기 위한 카메라와 관련된 복수의 센서들을 구현하는 방법을 도시한 흐름도이다.
도 6은 3D 장면을 캡처하기 위한 카메라에서 키(key) 프레임 추정을 구현하는 방법을 도시한 흐름도이다.
도 7은 3D 장면을 캡처하기 위한 카메라에서 키 프레임 추정을 구현하는 다른 방법을 도시한 흐름도이다.
도 8은 복수의 서로 다른 센서들을 이용하여 카메라 포즈 오류를 검출하는 방법을 도시한 흐름도이다.
도 9는 여러 수준의 카메라 위치재지정을 가능하게 하기 위해 다양한 센서들을 이용하는 방법을 도시한 흐름도이다.
도 10은 고속 모션 중에 위치재지정을 가능하게 하기 위해 엣지(edge) 맵을 이용하는 방법을 도시한 흐름도이다.
카메라의 포즈를 판단하는 방법이 기술된다. 상기 방법은 카메라의 복수의 센서들을 이용하여 카메라가 검출한 이미지의 변화를 분석하는 단계; 상기 카메라의 포즈에 오류가 있는지를 판단하는 단계; 상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하는 단계; 및 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 데이터를 분석하는 단계를 포함한다.
카메라의 포즈를 판단하는 다른 방법은 카메라에 의해 캡처된 프레임들과 관련된 컬러 데이터, 깊이 데이터, 관성 측정 유닛(IMU) 및 모션 예측 모델 출력을 저장하는 단계; 상기 컬러 데이터, 깊이 데이터, IMU, 및 모션 예측 모델 출력 중 하나 이상이 포즈 오류를 나타내는지 여부를 판단하는 단계; 및 재위치지정(re-localization)을 통해 상기 카메라의 포즈를 정정하는 단계를 포함한다.
카메라의 포즈를 판단하는 다른 방법은, 재위치지정을 통해 카메라의 포즈를 정정한 후, 키 프레임으로서 마지막 추적된 프레임을 엣지 맵과 함께 저장하는 단계를 더 포함한다.
카메라의 포즈를 판단하는 또 다른 방법은, 깊이 맵 및 특징 서술자(feature descriptor)들을 저장하는 단계를 더 포함하며, 입력 프레임의 특징 서술자를 이용하여 글로벌 모션이 업데이트된다.
카메라의 포즈를 판단하는 또 다른 방법에서, 재위치지정을 통해 카메라의 포즈를 정정하는 단계는 컬러 데이터 및 깊이 정렬(depth alignment) 데이터로부터의 융합이 기술된 후, 카메라 포즈를 계산하는 단계를 포함한다.
또 다른 방법은 모션 예측 모델을 업데이트하는 단계를 더 포함한다.
카메라의 포즈를 판단하는 또 다른 방법은 카메라의 복수의 센서들을 이용하여, 포즈 오류를 나타내는 이미지 변화를 검출하는 단계; 컬러 데이터 및 IMU를 이용하여 카메라의 포즈를 가장 가까운 키(key) 프레임으로 위치 지정(localize)하는 단계; 및 재위치지정 중에 깊이 데이터를 이용하여 보다 정교한 포즈 조정을 수행하는 단계를 포함한다.
카메라의 포즈를 판단하는 또 다른 방법에서, 포즈 오류를 나타내는 이미지 변화를 검출하는 단계는 감소된 수의 특징들(features)을 가진 이미지를 검출하는 단계를 포함한다.
카메라의 포즈를 판단하는 또 다른 방법에서, 포즈 오류를 나타내는 이미지 변화를 검출하는 단계는 고속 모션을 검출하는 단계를 포함한다.
카메라의 포즈를 판단하는 또 다른 방법에서, 위치재지정 중에 보다 정교한 포즈 조정을 수행하는 단계는 반복적 최근접 포인트 산출을 수행하는 단계를 포함한다.
카메라의 포즈를 판단하는 장치 또한 기술된다. 상기 장치는 카메라에 있는 복수의 센서들을 실행하고; 상기 카메라에 의해 검출된 이미지 변화를 분석하고; 상기 카메라의 포즈에 오류가 있는지를 판단하고; 상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하도록 구성된 프로세서를 포함한다.
상기 장치에서, 상기 프로세서는 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 데이터를 분석하도록 더 구성된다.
상기 장치에서, 상기 프로세서는 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터 분석된 데이터에 기반하여 상기 카메라를 위한 포즈를 설정하도록 더 구성된다.
상기 장치에서, 상기 프로세서는 상기 카메라의 회전 또는 직선운동이 문턱치보다 큰지를 판단하도록 더 구성된다.
카메라의 포즈를 판단하기 위해 컴퓨터로 실행될 수 있는 소프트웨어를 나타내는 데이터가 저장되어 있는 컴퓨터 판독가능 저장 매체 또한 개시된다. 컴퓨터 판독가능 저장 매체는 카메라에 있는 복수의 센서들을 실행하기 위한 명령어들; 상기 카메라에 의해 검출된 이미지 변화를 분석하기 위한 명령어들; 상기 카메라의 포즈에 오류가 있는지를 판단하기 위한 명령어들; 상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하기 위한 명령어들을 포함한다.
이어지는 상세한 설명 및 청구범위를 참고하여 기타 특성들이 인식될 수 있다.
본 명세서는 신규하다고 간주되는 하나 이상의 발명의 구현예들에 대한 특징들을 규정하는 청구범위를 포함하나, 그 회로들과 방법들은 도면과 연계된 상세한 설명을 참고함으로써 보다 잘 파악될 수 있을 것이다. 다양한 회로들 및 방법들이 개시되어 있으나, 그러한 회로들과 방법들은 단지 다양한 형태로 실시될 수 있는 발명의 구성들에 대한 예일 뿐이다. 따라서, 본 명세서 안에 개시된 특정한 구조 및 기능적 세부사항들은 한정하는 것이 아닌, 청구범위의 근거 및 사실상 적절히 상세화된 구조를 통한 발명의 구성들을 다양하게 이용할 당업자를 가르치기 위한 전형적인 원리로서 해석되어야 한다. 또한, 여기서 사용되는 용어들과 문구는 한정하는 것이라기 보다는 상기 회로들 및 방법들에 대해 이해 가능한 설명을 제공하기 위한 것이다.
이하에서 기술되는 방법 및 장치는 센서 융합 방식을 이용하여 카메라 포즈 오류 검출 및 카메라의 위치재지정을 제공하고, 위치재지정을 가능하게 하기 위한 사용자 인터페이스를 포함한다. 컴퓨터 비전 또는 SLAM 시스템에서의 프레임 단위(frame-to-frame) 추적을 수행할 때, 추정된 카메라 포즈는 신뢰하지 못할 수 있다. 예를 들어, 평평한 영역들(가령, 벽), 열악한 조명, 모션 블러(blur)/포커스 문제, 또는 고속 카메라 모션 또는 손 흔들림에서 비롯된 모션 등으로 인해, 한 장면 내 특징들의 수가 너무 적어서 양호한 카메라 포즈 추정치를 얻지 못할 수 있다. 극단적인 경우로는 가로막히거나 떨어진 카메라가 있을 수 있다. 이런 상황에서 카메라는, 앞서 본 랜드마크나 추적이 끊어졌던 곳에서부터 재개하기 위해 저장되어 있던 3D 맵으로 카메라 자체를 위치재지정(re-localize)해야 한다.
그렇지 않으면, 특징 추적이나 매칭 기능을 재시작할 필요가 있으며, 이는 3D 추적 시스템의 사용자에게 불편함을 안기게 된다. 추적 프로세스 재시작을 피하는 것은, 3D 센서들이 장착된 플랫폼들, 또는 시스템이 빌딩과 같이 넓은 영역을 추적하여 매핑하는 상황에서 특히 중요하다.
함께 작업하는 복수의 센서 데이터의 센서들을 선택적으로 선택하는 것 외에도, 특정 센서 데이터가 특정 목적을 위해 사용될 수 있다. 예를 들어 카메라가 캡처한 빨강-초록-파랑(RGB) 이미지 데이터 및 IMU가 사용되어, 프레임을 가장 가까운 키 프레임에 위치지정(localize)할 수 있고, 그런 다음 깊이 데이터가 사용되어 보다 정밀한 위치재지정이 가능하도록 보다 정교한 조정을 수행할 수 있다. RGB 이미지 데이터는 예로서 기술되는 것으로, 다른 타입의 흑백 또는 컬러 데이터가 구현될 수 있다는 것을 알아야 한다.
관성 측정 유닛(IMU)은 감소된 특징 수로 인하여, 또는 고속 모션 상황 하에서, RGB 카메라를 기반으로 하는 추적이 실패할 경우를 보조한다. 이러한 융합 기법은 특징점으로서 사용할 수 있는 객체들이 거의 없을 때와 같은 자유로운 환경들에서 정확도를 향상시킨다. ICP(iterative closest point) 알고리즘과 같은 계산 집약적 알고리즘들이 파인 튜닝(fined tuning) 등에 대해서만 선택적으로 사용될 수 있다.
계산 집약적 알고리즘의 선택적 사용은 사용자 경험을 향상시키면서 메모리 대역폭과 프로세싱 전력을 감소시킨다. 마지막 키 프레임에서 전경 실루엣의 엣지 맵 또한, 고속 스내핑(snapping)을 위해 객체와 정렬(align with)하는데 사용되어, 사용자에게 전력 효율적인 방식으로 카메라를 위치재지정하는 직관적인 경험을 제공할 수 있다. 즉, 사용자 인터페이스 상의 가이드가 위치재지정 속도를 올려 보다 효율적이게 된다. 공동으로 일하는 RGB 카메라, 깊이 센서, 및 IMU에 기반한 센서 융합 기법들을 이용하여 사용자에게 위치재지정을 수행하도록 가이드하는 사용자 인터페이스 또한 구현되어, 난해한 추적 상황 다루기가 가능하게 할 수 있다.
먼저 도 1을 참조하면, 도면이 카메라에 의해 캡처되는 다양한 객체들을 가진 3D 장면을 보여준다. 도 1의 3D 장면은 이하에서 보다 상세히 기술하는 바와 같이 하나 이상의 센서들(106)을 가진 카메라(104)를 포함하는 3D 추적 시스템(102)을 포함한다. 3D 장면은 창문(108), 그림(110), 테이블(112) 및 특징적 객체들이 없는 코너 영역(114)을 포함하는 여러 객체들을 포함한다. 3D 장면은 카메라의 포즈를 판단하기 위한 장치 및 방법의 특징을 기술하기 위한 예로서 제공되었다. 그러나 그러한 장치 및 방법은 어떤 유형의 장면에서든 추적 또는 매칭 특성을 구현하는 모든 타입의 카메라 안에서 구현될 수 있다.
도 2를 참조하면, 카메라의 포즈를 판단하기 위한 장치의 블록도가 도시된다. 특히, 카메라(104)는 이미지 센서(204)와 연결된 프로세서 회로(202)를 포함한다. 카메라(104)는 디지털 이미지를 캡처(촬상)하도록 된 임의 타입의 장치이거나 장치나 시스템의 집적 회로 같은 구성요소일 수 있다. 이미지 센서(204)는 디지털 카메라, 또는 렌즈나 기타 이미지 센싱 요소와 같은 디지털 카메라의 어떤 부분일 수 있다. 제2이미지 센서(205) 또한 구현될 수 있으며, 이는 이하에서 보다 상세히 기술할 것이다. 프로세서 회로는 캡처된 이미지를 디스플레이하는, 더 상세히 말하면 3D 추적 애플리케이션의 프레임들을 디스플레이하기 위한 디스플레이(206)와 연결될 수 있다.
프로세서 회로(202)는 또한, 이미지의 다양한 프레임들과 관련된 정보의 저장을 가능하게 하는 메모리(208)와 연결될 수도 있다. 메모리(208)는 잘 알려진 바와 같이, 프로세서 회로(202)의 일부로서 구현되거나, 프로세서의 어떤 캐시에 부가되어 구현될 수 있다. 프로세서 회로(202)는 또한 카메라의 포즈를 판단하기 위한 컴퓨터 판독가능 코드를 구현하며, 컴퓨터 판독가능 코드는 메모리(205)와 같은 카메라(104)의 메모리 상에 저장되거나 카메라(104)로 다운로드될 수 있다. 디스플레이에서 분리되거나 그 일부일 수도 있고, 혹은 디스플레이에 반응할 수 있는 사용자 인터페이스(210) 역시 도시되어 있다. 프로세서 회로(202)는 입력을 수신하거나 디지털 이미지를 캡처할 수 있는 다른 요소들과도 연결될 수 있다.
예를 들어, 관성 측정 유닛(IMU)(212)이 카메라(104)의 모션이나 방향과 관련된 다양한 정보를 제공할 수 있다. 열 센서나 온도 센서와 같은 다른 센서(213) 또한 구현될 수 있다. 프로세서 회로(202)는 또한, 입/출력(I/O) 포트(214)나, 안테나(218)와 연결된 트랜시버(216)를 통해 입력을 수신할 수 있다. 카메라(104)의 프로세서 및 다른 요소들에 전력을 공급하기 위한 배터리(220)가 구현될 수 있다. 특정 센서들이 도 2에 도시되었으나, 디지털 이미지의 캡처가 가능한 다른 센서들도 사용될 수 있다는 것을 알아야 한다.
상기 회로들 및 방법들의 두 가지 양태들로는, 카메라 포즈 오류에 대한 검출과, 신뢰할 수 있는 특징들이 획득될 때까지(그리고 입력되는 프레임이 위치지정되는 키 프레임이 판단될 때까지) 저장된 키 프레임들로의 카메라 위치재지정이 포함된다. 이 회로들과 방법들은 추적이 끊어졌던 곳부터 특징들이 신뢰할 수 있게 추적된다면 어떤 방해도 없이 특징 추적 또는 매칭이 재개될 수 있도록 센서 융합 방식을 이용하여 카메라 위치재지정을 가능하게 한다.
도 3을 참조하면, 도면은 카메라 포즈 오류를 검출하기 위한 블록들을 도시한다. 프레임 n으로 지정된 제1프레임(302) 및 프레임 n+1로 지정된 제2프레임(304)은 RGB 데이터, IMU 데이터, 깊이 데이터, 또는 복수의 처리 블록들과 연결되는 다른 센서 데이터를 포함하는 다양한 성분들을 구비한다. 프레임 n 및 프레임 n+1 각각으로부터의 RGB 데이터가 시각적 거리측정(odometry) 블록(306)으로 제공된다. 상기 프레임들 각각으로부터의 자이로스코프 또는 가속계 데이터와 같은 IMU 데이터가 EKF(Extended Kaman Filter, 확장형 칼만 필터)(308) 및 포즈 정정 블록(310)으로 제공된다.
확장형 칼만 필터(308)는 RGB 특징 추적으로부터의 포즈 및 IMU 데이터를 융합하는데 사용된다. 포즈 정정 블록(310)은 IMU 데이터에 기반하여 카메라의 포즈를 정정한다. 상기 프레임들과 관련된 깊이 데이터가 잡음 필터링 및 전경 분리(segmentation) 블록(312)으로 제공된다. 깊이 데이터는 3D 장면의 윤곽 검출을 가능하게 하며, 객체의 여러 지점들에서의 깊이 측정에 기반하여 객체들을 식별하는데 사용될 수 있다. 깊이 데이터는 TOF(time of flight), 레이저 신호나 기타 전자파를 이용하는 구조광 센서 또는 도플러 측정 등을 통해 획득될 수 있다.
시각적 거리측정 블록(306), 확장형 칼만 필터(EKF)(308), 및 포즈 정정 블록(310)에 의해 생성된 신호들은 카메라 포즈 오류 검출 블록(314)으로 제공된다. 포즈 정정 블록(310)의 출력은 모션 예측 모델링 블록(316)에 결합되며, 모션 예측 모델링 블록(316)의 모션 예측 모델 출력은 카메라 포즈 오류 검출 블록(314)으로 제공된다. 모션 예측 모델은 시간에 걸쳐 생성되고, 과거의 모션에 기반하여 미래의 모션에 대한 추정치를 제공한다. 예를 들어, 카메라가 복도를 지나거나 거의 맨 벽들로 된 방의 코너 근처를 지나는 등, 어느 한 장면을 이동해 나갈 때, 모션 예측 모델은 앞으로의 이미지가 맨 벽들을 포함할 가능성이 있다는 것을 나타낼 것이다. 모션 예측 모델은 현재의 포즈가 예상 포즈와 일치하지 않는지 여부를 판단하는데 사용되는 하나의 요소일 수 있으며, 그에 따라 카메라 포즈 오류가 검출된다. 장면 안에서 예상치 못하게 검출되거나 사라지는 카메라 및 객체들 모션의 큰 변화는 카메라 포즈 오류가 존재한다는 것을 판단하는데 사용될 수 있다.
카메라 포즈 오류 검출 블록(314)은 RGB 프레임, 깊이 프레임 및 관성 측정 유닛(IMU) 출력들을 수신하여, 이들을 선택적으로 융합하여 카메라 포즈 오류를 검출하도록 한다. 카메라 포즈 오류 검출 로직 블록(314)으로의 입력은 시각적 거리측정 출력, 및 확장형 칼만 필터, ICP 기반 깊이 맵에 맞춰진(aligned) 포즈 값들과 같은 깊이 값들, 모션 예측 모델에 기반하는 값들을 이용하여 융합되는 IMU 입력들로 구성된다. 카메라 포즈 오류 검출 블록으로의 하나 이상의 입력들에 기반하여 어떤 오류가 검출되면, 카메라 포즈에 오류가 있다는 것으로 판단된다.
RGB 프레임들은, 특징들을 검출하고 이어서 후속 프레임들에서 그러한 특징들을 추적하거나 특징점 주변에서 서술자를 생성함으로써 특징 서술자들을 매칭하여 이들을 프레임들에 걸쳐 매칭하는데 사용된다. 프레임들을 추적하는 다양한 방법들, 예컨대 LKT(Lucas Kanade tracker), ORB(oriented brief) 추적기, 또는 KAZE 추적기가 구현될 수 있다. 추적된 특징들이나 매치들의 수가 사용자에 의해 선택될 수 있는 특정한 통계 기준치보다 적거나, RANSAC(random sample consensus) 알고리즘이나 어떤 다른 이상치(outlier) 검출 방법이 충분한 인라이어(inlier)들을 검출할 수 없으면, 카메라 포즈에 오류가 있다고 판단된다. 상기 기준치들은 해당 장면에 대한 통계치(가령, n 프레임들의 평균 매치들)에 기반하여 설정될 수 있고, 혹은 주어진 장면에 맞춰지고 로컬 윈도우(local windowed) 방식에 기반하여 변경될 수 있는 다른 기준이 문헌 상에서 찾아진다.
프레임마다 매치들의 개수가 계산되고 상기 기준치를 기준으로 체크되어, 매칭의 신뢰도를 판단하도록 한다. RGB 프레임들을 사용하여 얻어지는 2차원(2D) 포즈는 시각적 거리측정(visual odometry:VO)라고도 알려지는 표준 좌표계(world co-ordinates) 상에 카메라를 위치지정한다. 포즈 정보는 그 2D 포즈, 및 자이로스코프와 가속계의 출력들 같은 IMU 출력들을 융합하는 확장형 칼만 필터 블록(308)으로의 입력이다.
또한, RANSAC 알고리즘 같은 인라이어 검출 알고리즘으로부터의 여러 인라이어들 또한 사용될 수 있다. 매칭들의 수가 기준치 미만이면, 카메라 포즈 오류 플래그가 세팅되고 알고리즘은 이전 프레임에 대한 추적을 중단한다. 이때 카메라는 추적/매칭 프로세스 재개를 위한 매치가 발견될 수 있도록 입력 프레임들을 모든 키 프레임들에 매칭하는 것으로 전환한다. 이 프로세스 중에, 키 프레임 버퍼는 업데이트되지 않으며, 3D 스캔의 경우 3D 모델 재구성을 업데이트하는 것 역시 중단된다. 자이로스코프 및 가속계 데이터를 이용하여, 고속 모션 중에 IMU 데이터에 기반하여 추적 오류들이 검출될 수도 있다. IMU 데이터 정보는 확장형 칼만 필터를 이용하는 시각적 거리측정 안으로 융합되어 추적 오류들에 대한 검출을 개선시킬 수 있다.
카메라 포즈 오류 검출 블록(314)은 카메라 포즈 오류를 검출하거나 카메라 위치재지정을 수행하는 것과 관련된 기능들을 수행하는 다양한 처리 블록들로 제어 신호를 제공한다. 이하에서 보다 상세히 기술하는 바와 같이 제어 신호는 스캔 중단 블록(318)으로 제공되어, 3D 스캐닝 및 키 생성을 중단시키고, 키 프레임 블록(320)이 마지막으로 추적된 프레임을 키 프레임으로 저장하도록 제어한다. 카메라 포즈 오류 검출 블록(314)은 또한, 도 4를 참조하여 보다 상세히 도시되고 기술되는 카메라 위치재지정 블록(322)을 제어한다.
사용자 인터페이스 제어 블록(324) 또한 카메라 포즈 오류 검출 블록(314)으로부터 제어 신호를 수신하여 사용자 인터페이스(325)를 제어한다. 사용자 인터페이스(325)는 3D 스캐닝 동작을 효과적으로 재개하기 위해 카메라 사용자에게 카메라를 소정 방향으로 이동하라는 프롬프트들 같은 다양한 사용자 안내사항을 제공한다. 예를 들어 사용자 인터페이스는 카메라 사용자에게 카메라를 왼쪽으로 이동시키라고 촉구할 수 있다. 사용자 인터페이스는 또한, 저장된 키 프레임들의 개수 표시를 실시간으로 제공할 수도 있다.
잡음 필터링 및 전경 분리 블록(312)은 프레임들을 글로벌 모듈에 정렬시키는 포인트 클라우드 정렬 블록(326)을 제어한다. 포인트 클라우드는 프레임 내 객체들과 관련된 특징점들을 식별한다. 포인트 클라우드 정렬 블록(326)은 키 프레임 생성 블록(330)에 의한 키 프레임 생성을 가능하게 한다. 키 프레임들의 개수가 디스플레이될 수 있도록, 키 프레임들의 개수가 키 프레임 생성 블록(330)에 의해 사용자 인터페이스 제어 블록(324)으로 제공된다. 키 프레임 생성 블록(330)은 또한, 중력에 맞춰진 특징 기술 블록(gravity aligned feature description block) (318)으로부터 중력에 맞춰진 특징 서술자들을 수신한다.
즉, 가속계 판독치들이 중력에 기반하여 특징들을 맞추는데(orient) 사용되며, 것은 이미지를 RGB 데이터 내 특징들에 매칭하는 것 보다 일반적으로 강건하다(robust). 깊이 프레임들로부터 추정된 포즈의 이력(history)에 기반하여 모션 예측 모델 역시 구축된다.
이하에서 보다 상세히 기술되는 바와 같이, 모션 예측 모델은 소정 상황 하에서 3D 이미지를 추적할 때의 입력으로서 사용된다. 카메라 포즈를 추정하면서 키 프레임 추정을 수행할 때, 입력되는 프레임이 추적되거나 이전 프레임에 대해 매칭된다. 키 프레임 생성 회로(330)가, 프레임의 회전 또는 직선운동이 소정 기준치보다 크다고 판단하면, 그 프레임은 프레임 버퍼에 저장되어, 카메라 포즈 추정이 재개될 때 키 프레임으로서 마킹된다. 삼각측량된 인라이어 지점들의 스파스 맵(sparse map) 또한 저장된다. 인라이어 지점들은 한 프레임을 나타내며, 유효한 깊이들을 가진 강력한 매칭 위치들이다. 인라이어 지점들은 예컨대 조명이나 회전에 대해 불변한다. 키 프레임들에 대해 저장되는 서술자들은 IMU에 기반하여 중력에 맞춰지고, 중력에 맞춰진 특징 기술 블록(328)에 의해 생성된다.
잡음 필터링 및 전경 분리 블록(312) 또한 엣지 매핑 블록(334)를 제어하여 RGB 이미지(336)에 투사되는 엣지 매핑을 생성하도록 한다. 양방향 필터를 이용하여 깊이 프레임들이 필터링되며, 깊이 프레임에 대한 전경 분리가 수행된다. 전경 분리는 전경에서 두드러진 객체들이 식별되게 하여, 다른 프레임들에 맞춰질 수 있게 한다. 그런 다음, 그러한 객체를 사용하는 포인트 클라우드 정렬이 ICP 알고리즘 등을 이용하는 글로벌 모델을 통해 수행된다. 글로벌 모델은 매 프레임마다 업데이트되는 객체들을 나타내며, 입력되는 포인트 클라우드는 프레임마다 병합된다.
예를 들어, 제2프레임에 있어서, 제1프레임이 제2프레임의 포인트 클라우드에 기반하여 업데이트되는 글로벌 모델이다. 따라서 글로벌 모델은 입력되는 프레임과 매칭되고 매칭 뒤에 업데이트된다. 고속 모션의 경우와 같이 필요할 때, IMU를 이용하여 포즈가 정정되기도 한다.
전경 분리로부터, 엣지 맵이 계산된 후 RGB 프레임으로 투사될 수 있다. 마지막 키 프레임의 엣지 맵이 저장된다. 검출이 완료되면, 마지막으로 추적된 프레임이 키 프레임으로서 엣지 맵, 깊이 프레임, 특징 서술자들, RGB 추적/매칭으로부터의 융합 후 계산된 포즈, 깊이 정렬, 및 예측 모델 출력과 함께 저장된다.
특징 추정 또는 매칭을 수행할 때, 특징 검출 알고리즘이 모션 블러/손 떨림, 신뢰할 수 있는 카메라 포즈를 계산하기에는 한정된 객체들 또는 특징들, 카메라 방해, 또는 카메라 떨어뜨림 등과 같은 여러 이유로 성공하지 못할 수 있다. 이런 상황에서 카메라는, 앞서 본 랜드마크나 추적이 끊어졌던 곳에서부터 재개하기 위해 저장되어 있던 3D 맵으로 위치재지정되어야 한다. 그렇지 않으면, 특징 추적이나 매칭을 재시작할 필요가 있으며, 이는 특히 3D 센서들이 장착된 플랫폼을 가진 사용자에게 불편함을 안기게 된다.
도 4의 도면은 3D 장면을 캡처하는 카메라의 위치재지정을 가능하게 하는 블록들을 도시한다. RGB 데이터, IMU 데이터 및 깊이 데이터가 다양한 처리 블록들로 제공되어, 3D 스캐닝 중 카메라의 위치재지정을 가능하게 한다. 보다 구체적으로, 현재의 프레임(402)과 관련된 RGB 데이터는 특징 서술자 생성 블록(404)으로 제공되고, IMU 데이터는 IMU 기반 포즈 정정 블록(406)으로 제공되며, 깊이 데이터는 잡음 필터링 및 전경 분리 블록(408)으로 제공된다. 특징 서술자 생성기(404)는 입력 프레임들로부터의 특징 서술자들을 고속 매칭 블록(410)으로 제공하며, 고속 매칭 블록(410)은 키 프레임 서술자 데이터베이스(412)로부터 키 프레임 서술자들 또한 수신한다. 고속 매칭 블록(410)은 키 프레임들에 대한 현재 프레임의 고속 매칭을 제공함으로써 카메라 재위치지정 블록(414)을 제어한다.
예로서, 고속 매칭 블록은 해밍(hamming) 거리를 이용하여 구현될 수 있으며, 이를 통해 두 이진 벡터들을 이용한 매칭을 실현할 수 있다. IMU 기반 포즈 정정 블록(406)은 EFK 상태 업데이트 블록(416)으로부터 EFK 상태 업데이트들을 수신하고, 카메라 재위치지정 블록(414)으로 제어 신호들을 제공하기도 한다. IMU-기반 포즈 정정 블록(406)은 포즈 정정 신호를 카메라 재위치지정 블록(414)으로 제공하여 IMU 데이터에 기반하여 카메라의 포즈를 정정하게 한다.
잡음 필터링 및 전경 분리 블록(408)은, 모션 예측 블록(420)으로부터 모션 예측 모델 출력을 또한 수신하는 ICP 포즈 블록(418)을 제어한다. ICP 포즈 블록(418)은 ICP 알고리즘 및 모션 예측 모델을 이용하여 입력되는 프레임에 대해 글로벌 모델을 매칭시킨다. 잡음 필터링 및 전경 분리 블록(408)은 카메라 위치재지정 블록(414)에 의한 위치재지정을 가능하게 하는 엣지 매치 블록(422)을 제어한다. 엣지 매치 블록(422)은 전경 마스크의 엣지들이 키 프레임들과 관련된 엣지 맷들과 같은 저장된 엣지 맵들과 매칭하는지 여부를 판단한다. 카메라 위치재지정 블록(414)은 또한 사용자 인터페이스(424)로부터 사용자 입력들을 수신하며, 사용자 인터페이스 상의 사용자 인터페이스 정보(325)를 생성한다.
도 4에 도시된 카메라 위치재지정 블록(322)의 블록들은 도 3의 블록들과 유사한 기능을 가지므로 도 3의 유사 블록들을 사용할 수도 있다는 것을 알아야 한다. 즉, 도 4를 참조하여 기술되는 다양한 기능들은 카메라 위치재지정 블록(322) 외부의 블록들을 이용하여 구현될 수도 있다. 도 4의 위치재지정 동작은 도 3의 카메라 포즈 오류 검출 동작과 무관하게 수행될 수 있다는 것 또한 알아야 한다.
위치재지정 중에, 입력되는 프레임들(RGB 프레임, 깊이 프레임 및 IMU 데이터)이 사용되는데, 보다 구체적으로 말하면 센서 융합 기법을 통해 사용된다. 2D 특징들이 사용되어 데이터베이스에 저장된 키 프레임들에 대해 매칭된다. 이와 달리, 포즈 출력들이 미가공 2D 출력보다 훨씬 신뢰할 수 있기 때문에 EKF 출력(즉, 융합된 VO 및 IMU 데이터) 또한 사용된다. 깊이 데이터는 필터링되고, 포즈는 위치재지정에 사용된다. 엣지 맵 또한 계산되어, 사용자가 저장된 엣지 맵과 일치시킬 수 있도록 UI를 통한 안내자로서 사용된다.
이하의 표 1은 위치재지정 사용 케이스들과 센서 신뢰성의 매트릭스를 보여주며, 4 가지 위치재지정 사용 케이스들에 대해 어느 센서가 신뢰성이 있는지를 예시한다. 즉, 센서 데이터의 선택은 이미지 프레임들의 추적과 관련된 문제 유형, 및 그 문제 유형을 만날 때의 데이터 신뢰성에 기반할 수 있다.
VO (RGB) IMU 모션 예측 모델 ICP (R&T)
변동
카메라 방해 괜찮지만 신뢰할 수 없음
새 장면의 카메라 괜찮지만 신뢰할 수 없음 괜찮지만 신뢰할 수 없음
모션 블러(blur)/고속 이동 괜찮지만 신뢰할 수 없음 괜찮지만 신뢰할 수 없음
카메라 떨어뜨림
추적을 다시 재개하기 위해서는 시각적 거리측정 시의 매치 개수가 예를 들어 그 장면에 대한 통계치(가령, n 프레임들의 평균 매치들) 보다 커야 한다. 입력되는 프레임이 VO 및 IMU 입력들에 기반하여 특정 키 프레임에 위치지정된 후, ICP(Iterative Closest Point)를 이용한 보다 정교한 조정이 수행된다. ICP는 계산 및 메모리 자원의 소모가 높기 때문에, 실시간 사용자 경험을 제공하기 위한 보다 정교한 조정(가령, 최대 5개의 프레임들)을 위해서만 수행되어야 한다.
도 5를 참조하면, 흐름도는 3D 장면을 캡처하기 위한 카메라와 관련된 복수의 센서들을 구현하는 방법을 도시한다. 카메라 상에서 복수의 센서들이 구현된다(블록 502). 카메라가 생성한 이미지의 변화가 분석된다(블록 504). 그런 다음, 카메라의 포즈에 오류가 있는지가 판단된다(블록 506). 오류가 있으면, 복수의 센서들 중, 신뢰성 있는 이미지 데이터, 특히 가장 신뢰성 있는 이미지 데이터를 제공하는 센서들이 판단된다(블록 508). 신뢰성 있는 이미지 데이터를 제공하는 센서들이 선택된다(블록 510). 선택된 센서들로부터의 이미지 데이터에 기반하여 카메라의 정확한 포즈가 결정된다(블록 512).
RGB 카메라만을 사용하는 것은 추적 신뢰성을 제한시키는 바, 이는 자유로운 환경에서 제한되거나 아예 존재하지 않는 특징들이나 모션을 가진 장면들을 피할 수 없기 때문이다. 또한, 깊이 카메라만을 사용하는 것은 위치재지정이 깊이 데이터만을 이용해 수행되는 경우 3D 데이터 처리 및 저장에 너무 많은 비용이 들 수 있다. IMU만을 사용하는 것은 그것이 잡음이 섞인 계측치들을 제공하기 때문에 신뢰할 수 없다.
따라서, 이러한 세 가지 센서를 사용자 인터페이스의 구현과 더불어 선택적으로 구현하는 것이 큰 이점을 제공한다. 각각의 센서는 다른 것들이 실패하는 상황에서의 처리를 도울 수 있다. 예로서, 스캐닝 동작 중에 복도를 이동할 때, RGB 데이터는 누락될 수 있어, RGB 데이터가 복구될 때까지 IMU 데이터에 의존해야 할 필요성이 있을 수 있다.
이미지 데이터는 소정 데이터가 신뢰할 수 있는지 여부를 판단하기 위한 기준치들을 기반으로 하는 평가일 수 있다. 또한, 신뢰할 수 있는 특정 데이터는 이미지 프레임들의 추적과 관련된 문제 유형에 기반하여 사용될 수 있다. 즉, 보다 많은 수의 신뢰성 있는 데이터 입력들이 이용가능하더라도, 특정 문제와 관련하여 신뢰성 있는 데이터를 선택하여, 카메라 위치재지정이 빠르게 일어날 수 있는 가능성을 최대로 높일 수 있다.
이하의 흐름도들은 카메라 포즈 오류 검출 및 카메라 위치재지정과 관련된 여러 방법들을 나타낸다. 흐름도들의 특정 구성요소들이 도시되어 있으나, 다양한 구현예에 따라 해당 방법에 대해 추가적이거나 그보다 적은 구성요소들이 사용될 수 있다. 이 방법들의 다양한 구성요소들과 관련된 추가적인 세부사항들이 다양한 방법을 구현하기 위해 사용될 수 있는 도 1 내지 5에 대한 설명에서도 보여질 수 있다는 것을 알아야 한다.
도 6을 참조하면, 3D 장면을 캡처하기 위한 카메라에서 키 프레임 추정을 구현하는 방법의 흐름도가 도시된다. 입력되는 프레임이 이전 프레임에 대비되어 추적된다(블록 602). 그런 다음 그 회전이나 직선운동이 소정 문턱치보다 큰지가 판단된다(블록 604). 회전이나 직선운동이 소정 문턱치보다 큰 경우, 현재의 프레임을 키 프레임으로 마크하고(블록 606), 카메라 포즈 추정이 재개된다(블록 608). 삼각측량된 인라이어 지점들에 대한 스파스 맵(sparse map)이 저장된다(블록 610). IMU 데이터를 이용하여 중력에 맞춰진 키 프레임들의 서술자들이 저장된다(블록 612). 키 프레임들을 저장 및 업데이트하는 것은 카메라 포즈 오류를 검출하고 카메라 포즈 위치재지정을 수행하는 데 필요하다.
도 7을 참조하면, 3D 장면을 캡처하기 위한 카메라에서 키 프레임 추정을 구현하는 다른 방법의 흐름도가 도시된다. 카메라를 이용하는 이미지 데이터의 입력 프레임들이 추적된다(블록 702). 한 장면과 관련된 이미지 데이터의 프레임들이 필터링된다(블록 704). 프레임들과 관련된 깊이 데이터로부터 추정된 포즈의 이력에 기반하여 모션 예측 모델이 구축된다(블록 706). 이미지 데이터의 프레임들을 이용하여 전경 분리가 수행된다(블록 708). 글로벌 모델과 프레임들의 포인트 클라우드 정렬이 ICP 알고리즘을 이용하여 수행된다(블록 710). 예를 들어, 카메라로부터 0.5 미터(m) 내지 1.0m와 같은 소정 거리 안에 있는 객체들은 전경 안에 있다고 간주되어, 포인트 클라우드 정렬에 사용하기 편한 객체들을 생성하는데 용이하게 사용될 수 있다. 그런 다음, 카메라의 고속 모션이 검출되는지가 판단된다(블록 712). 고속 모션이 검출되면, IMU 데이터를 이용하여 카메라의 포즈가 정정된다(블록 714). 엣지 맵이 계산되어, 프레임들과 관련된 RGB 데이터 상에 투사된다(블록 716). 마지막 키 프레임을 위한 엣지 맵이 저장된다(블록 718).
도 8을 참조하면, 복수의 서로 다른 센서들을 이용하여 카메라 포즈 오류를 검출하는 방법의 흐름도가 도시된다. 깊이 데이터, 주입된 IMU 데이터와 함께 RGB 데이터, 그리고 모션 예측 모델 출력으로부터 카메라의 포즈가 결정된다(블록 802). 그런 다음, 하나 이상의 측정치들이 포즈 오류를 나타내는지 여부가 판단된다(블록 804). 포즈 오류를 나타내면, 카메라 포즈가 불량하다고 판단되어(블록 806), 위치재지정을 통해 카메라 포즈가 정정된다(블록 808). 위치재지정은 도 4를 참조하여 상술한 바와 같이 수행될 수 있다. 프레임 정보가 저장되고, 카메라 포즈가 계속 모니터링 된다(블록 810). 프레임 정보는 상술한 바와 같이 센서에 의해 캡처되거나 기록된 모든 데이터를 포함할 수 있다.
도 9를 참조하면, 여러 수준의 카메라 위치재지정을 가능하게 하기 위해 다양한 센서들을 이용하는 방법의 흐름도가 도시된다. 복수의 센서들로부터의 입력들을 이용하여 카메라 포즈 추정이 수행된다(블록 902). 이미지 특징들이나 고속 모션 상황이 보다 적게 검출되는지 여부가 판단된다(블록 904). 포즈를 가장 가까운 키 프레임으로 위치지정하기 위해 RGB 데이터가 사용된다(블록 906). 정밀한 위치재지정을 달성하도록 포즈의 보다 정교한 조정을 수행하기 위해 깊이 센서가 사용된다(블록 908). 초기 매칭 및 정교한 조정을 위해 소정 유형의 데이터를 사용하기 위한 특정 예들이 제시되었으나, 효율적인 카메라 위치재지정을 가능하게 하기 위해 다른 센서 정보의 선택적 사용이 이루어질 수도 있다.
도 10을 참조하면, 고속 모션 중에 위치재지정을 가능하게 하기 위해 엣지 맵을 이용하는 방법의 흐름도가 도시된다. 복수의 센서들로부터의 입력들을 이용하여 카메라 포즈 추정이 수행된다(블록 1002). 그런 다음, 고속 모션 상황이 검출되는지 여부가 판단된다(블록 1004). 고속 모션 상황이 검출되는 경우, 객체와 정렬시킬 마지막 키 프레임을 위한 전경 실루엣의 엣지 맵이 사용된다(블록 1006). 정렬을 돕기 위한 정보가 카메라의 사용자 인터페이스 상에 제공된다(블록 1008).
카메라의 포즈를 결정하는 신규한 장치 및 방법들이 개시되었음을 알 수 있다. 당업자라면 개시된 발명을 포함하는 수많은 대안들과 균등물이 존재한다는 것을 알 수 있다. 결과적으로 본 발명은 상술한 실시예들에 국한되지 않고 이하의 청구범위를 통해서만 한정된다.

Claims (15)

  1. 카메라의 포즈를 판단하는 방법으로서,
    카메라의 복수의 센서들을 이용하여 카메라가 검출한 이미지의 변화를 분석하는 단계;
    상기 카메라의 포즈에 오류가 있는지를 판단하는 단계;
    상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하는 단계;
    상기 판단 결과에 기초하여 상기 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 이미지 데이터를 분석하는 단계; 및
    상기 분석 결과에 기초하여 재위치지정을 통해 상기 카메라의 포즈를 정정하는 단계를 더 포함하는 단계를 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 카메라의 포즈에 오류가 있는지를 판단하는 단계는 상기 카메라의 회전이나 직선운동이 소정 기준치보다 큰지를 판단하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 카메라의 포즈에 오류가 있는지를 판단한 후 현재의 프레임을 키(key) 프레임으로 마킹하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 키 프레임에 대한 IMU 데이터를 이용하여 중력에 따라 정렬되는 키 프레임들의 서술자들(descriptors)을 저장하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 이미지의 키 프레임들에 대해 삼각측량된 인라이어(inlier) 지점들의 스파스 맵(sparse map)을 저장하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 방법은,
    상기 카메라에 의해 캡처된 프레임들과 관련된 컬러 데이터, 깊이 데이터, 및 모션 예측 모델 출력을 저장하는 단계를 더 포함하고,
    상기 카메라의 포즈에 오류가 있는지를 판단하는 단계는,
    상기 컬러 데이터, 깊이 데이터, 및 모션 예측 모델 출력 중 하나 이상에 기초하여 상기 카메라의 포즈에 오류가 있는지 판단하는 것인, 방법.
  8. 제7항에 있어서,
    상기 방법은,
    상기 재위치지정을 통해 카메라의 포즈를 정정한 후, 프레임 정보를 저장하고 카메라 포즈 모니터링을 재개하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 방법은,
    상기 복수의 센서들로부터의 입력들을 이용하여 카메라 포즈 추정을 수행하는 단계;
    상기 카메라의 복수의 센서들을 이용하여, 포즈 실패를 나타내는 이미지 변화를 검출하는 단계; 및
    컬러 데이터를 이용하여 상기 카메라의 포즈를 가장 가까운 키 프레임으로 위치 지정(localize)하는 단계를 더 포함하며, 상기 분석 결과에 기초하여 재위치지정을 통해 상기 카메라의 포즈를 정정하는 단계는,
    상기 재위치지정 시, 깊이 데이터를 이용하여 상기 포즈에 대한 보다 정교한 조정을 수행하는 것인 방법.
  10. 제9항에 있어서,
    상기 복수의 센서들로부터의 입력들을 이용하여 카메라 포즈 추정을 수행하는 단계는 시각적 거리측정(visual odometry)을 수행하는 단계를 포함하는 방법.
  11. 제10항에 있어서,
    상기 시각적 거리측정의 2차원 포즈를 IMU 출력들과 융합하는 단계를 더 포함하는 방법.
  12. 카메라의 포즈를 판단하는 장치로서,
    카메라에 있는 복수의 센서들을 실행하고;
    상기 카메라에 의해 검출된 이미지 변화를 분석하고;
    상기 카메라의 포즈에 오류가 있는지를 판단하고;
    상기 복수의 센서들 중 어느 센서들이 신뢰할 수 있는 이미지 데이터를 제공하고 있는지를 판단하고,
    상기 판단 결과에 기초하여 상기 신뢰할 수 있는 이미지 데이터를 제공하는 센서들로부터의 이미지 데이터를 분석하고, 상기 분석 결과에 기초하여 재위치지정을 통해 상기 카메라의 포즈를 정정하도록 구성된 프로세서를 포함하는 장치.
  13. 제12항에 있어서,
    상기 프로세서는 상기 카메라에 의해 캡처된 프레임들과 관련된 컬러 데이터, 깊이 데이터, 및 모션 예측 모델 출력을 저장하고; 상기 컬러 데이터, 깊이 데이터, 및 모션 예측 모델 출력 중 하나 이상이 포즈 실패를 나타내는지 여부를 판단하도록 더 구성되는 장치.
  14. 제12항에 있어서,
    상기 프로세서는 컬러 데이터를 이용하여 상기 카메라의 포즈를 가장 가까운 키 프레임으로 위치 지정(localize)하고; 정밀한 재위치지정을 달성하기 위해, 깊이 데이터를 이용하여 상기 포즈에 대한 보다 정교한 조정을 수행하도록 더 구성되는 장치.
  15. 제1항, 제3항 내지 제11항 중 어느 한 항의 방법을 수행하기 위해 컴퓨터에 의해 실행될 수 있는 소프트웨어를 나타내는 데이터가 저장되어 있는 컴퓨터 판독가능 저장 매체.
KR1020187028235A 2016-03-25 2016-11-09 카메라의 포즈를 판단하기 위한 장치 및 방법 KR102126513B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/081,130 US11232583B2 (en) 2016-03-25 2016-03-25 Device for and method of determining a pose of a camera
US15/081,130 2016-03-25
PCT/KR2016/012839 WO2017164479A1 (en) 2016-03-25 2016-11-09 A device and method for determining a pose of a camera

Publications (2)

Publication Number Publication Date
KR20180112090A KR20180112090A (ko) 2018-10-11
KR102126513B1 true KR102126513B1 (ko) 2020-06-24

Family

ID=59898120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187028235A KR102126513B1 (ko) 2016-03-25 2016-11-09 카메라의 포즈를 판단하기 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US11232583B2 (ko)
EP (1) EP3420530B1 (ko)
KR (1) KR102126513B1 (ko)
WO (1) WO2017164479A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354805B (zh) * 2015-10-26 2020-03-06 京东方科技集团股份有限公司 深度图像的去噪方法和去噪设备
US10482681B2 (en) 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
US10296798B2 (en) * 2017-09-14 2019-05-21 Ncku Research And Development Foundation System and method of selecting a keyframe for iterative closest point
CN107741234B (zh) * 2017-10-11 2021-10-19 深圳勇艺达机器人有限公司 一种基于视觉的离线地图构建及定位方法
CN108648235B (zh) * 2018-04-27 2022-05-17 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置及存储介质
CN108648270B (zh) * 2018-05-12 2022-04-19 西北工业大学 实时同步定位与地图构建的无人机实时三维场景重建方法
CN108759844B (zh) * 2018-06-07 2021-11-16 科沃斯商用机器人有限公司 机器人重定位与环境地图构建方法、机器人及存储介质
CN109035334A (zh) * 2018-06-27 2018-12-18 腾讯科技(深圳)有限公司 位姿的确定方法和装置、存储介质及电子装置
US11250612B1 (en) 2018-07-12 2022-02-15 Nevermind Capital Llc Methods and apparatus rendering images using point clouds representing one or more objects
US10832444B2 (en) * 2019-02-18 2020-11-10 Nec Corporation Of America System and method for estimating device pose in a space
CN110148164B (zh) * 2019-05-29 2021-10-26 阿波罗智能技术(北京)有限公司 转换矩阵生成方法及装置、服务器及计算机可读介质
US11380003B2 (en) * 2019-06-25 2022-07-05 Black Sesame Technologies Inc. Monocular camera localization in large scale indoor sparse LiDAR point cloud
CN110728717B (zh) * 2019-09-27 2022-07-15 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质
KR102329785B1 (ko) * 2020-01-03 2021-11-19 주식회사 케이티 위치 측정을 위한 단말의 헤딩 방향을 추정하는 방법
CN111354043A (zh) * 2020-02-21 2020-06-30 集美大学 一种基于多传感器融合的三维姿态估计方法及装置
CN111612842B (zh) * 2020-05-29 2023-08-18 如你所视(北京)科技有限公司 生成位姿估计模型的方法和装置
CN115516524A (zh) * 2020-06-03 2022-12-23 Oppo广东移动通信有限公司 基于视觉的重定位方法及电子设备
CN112017229B (zh) * 2020-09-06 2023-06-27 桂林电子科技大学 一种相机相对位姿求解方法
CN112950710A (zh) * 2021-02-24 2021-06-11 广州极飞科技股份有限公司 位姿确定方法、装置、电子设备和计算机可读存储介质
US11803977B2 (en) * 2021-12-13 2023-10-31 Zoox, Inc. LIDAR point cloud alignment validator in HD mapping
CN114399532A (zh) * 2022-01-06 2022-04-26 广东汇天航空航天科技有限公司 一种相机位姿确定方法和装置
CN116862979A (zh) * 2022-03-25 2023-10-10 北京字跳网络技术有限公司 重定位方法及相关设备
WO2023204740A1 (en) * 2022-04-19 2023-10-26 Telefonaktiebolaget Lm Ericsson (Publ) Selective localization and mapping of a partially known environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182518A1 (en) * 2004-02-13 2005-08-18 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
US20120206596A1 (en) * 2006-12-01 2012-08-16 Sri International Unified framework for precise vision-aided navigation
US20140369557A1 (en) * 2013-06-14 2014-12-18 Qualcomm Incorporated Systems and Methods for Feature-Based Tracking

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195942B1 (ko) * 2006-03-20 2012-10-29 삼성전자주식회사 카메라 보정 방법 및 이를 이용한 3차원 물체 재구성 방법
NO327279B1 (no) * 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
US9766074B2 (en) * 2008-03-28 2017-09-19 Regents Of The University Of Minnesota Vision-aided inertial navigation
US9396385B2 (en) * 2010-08-26 2016-07-19 Blast Motion Inc. Integrated sensor and video motion analysis method
US8401242B2 (en) * 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US9053571B2 (en) * 2011-06-06 2015-06-09 Microsoft Corporation Generating computer models of 3D objects
US8761439B1 (en) * 2011-08-24 2014-06-24 Sri International Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit
US20130218461A1 (en) * 2012-02-22 2013-08-22 Leonid Naimark Reduced Drift Dead Reckoning System
US8923638B2 (en) * 2012-04-06 2014-12-30 Adobe Systems Incorporated Algorithm selection for structure from motion
JP2015532077A (ja) * 2012-09-27 2015-11-05 メタイオ ゲゼルシャフト ミット ベシュレンクテル ハフツングmetaio GmbH 少なくとも1つの画像を撮影する撮影装置に関連する装置の位置及び方向の決定方法
US9332243B2 (en) * 2012-10-17 2016-05-03 DotProduct LLC Handheld portable optical scanner and method of using
KR101462007B1 (ko) 2013-08-22 2014-11-18 한국과학기술연구원 자세 추정 장치 및 자세 추정 방법
US20150092048A1 (en) * 2013-09-27 2015-04-02 Qualcomm Incorporated Off-Target Tracking Using Feature Aiding in the Context of Inertial Navigation
KR102209008B1 (ko) * 2014-02-17 2021-01-28 삼성전자주식회사 카메라 포즈 추정 장치 및 카메라 포즈 추정 방법
GB201419883D0 (en) * 2014-11-07 2014-12-24 F Robotics Acquisitions Ltd Domestic robotic system and method
JP6464934B2 (ja) * 2015-06-11 2019-02-06 富士通株式会社 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US10062010B2 (en) * 2015-06-26 2018-08-28 Intel Corporation System for building a map and subsequent localization
CN107646126B (zh) * 2015-07-16 2020-12-08 谷歌有限责任公司 用于移动设备的相机姿态估计
US10404962B2 (en) * 2015-09-24 2019-09-03 Intel Corporation Drift correction for camera tracking
US10616552B2 (en) * 2016-03-25 2020-04-07 Intel Corporation Multi-modal real-time camera localization and environment mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182518A1 (en) * 2004-02-13 2005-08-18 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
US20120206596A1 (en) * 2006-12-01 2012-08-16 Sri International Unified framework for precise vision-aided navigation
US20140369557A1 (en) * 2013-06-14 2014-12-18 Qualcomm Incorporated Systems and Methods for Feature-Based Tracking

Also Published As

Publication number Publication date
US11232583B2 (en) 2022-01-25
US20170278231A1 (en) 2017-09-28
WO2017164479A1 (en) 2017-09-28
KR20180112090A (ko) 2018-10-11
EP3420530A1 (en) 2019-01-02
EP3420530A4 (en) 2019-03-27
EP3420530B1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
KR102126513B1 (ko) 카메라의 포즈를 판단하기 위한 장치 및 방법
US11668571B2 (en) Simultaneous localization and mapping (SLAM) using dual event cameras
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US11830216B2 (en) Information processing apparatus, information processing method, and storage medium
US10133279B2 (en) Apparatus of updating key frame of mobile robot and method thereof
US10275649B2 (en) Apparatus of recognizing position of mobile robot using direct tracking and method thereof
Levinson et al. Automatic online calibration of cameras and lasers.
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101784183B1 (ko) ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
JP2018522348A (ja) センサーの3次元姿勢を推定する方法及びシステム
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
WO2013119352A1 (en) Head pose tracking using a depth camera
US10861185B2 (en) Information processing apparatus and method of controlling the same
CN112802096A (zh) 实时定位和建图的实现装置和方法
CN109902675B (zh) 物体的位姿获取方法、场景重构的方法和装置
Beauvisage et al. Multimodal tracking framework for visual odometry in challenging illumination conditions
EP3718302B1 (en) Method and system for handling 360 degree image content
CN113011212B (zh) 图像识别方法、装置及车辆
CN113344981A (zh) 位姿数据处理方法、装置及电子设备
Ta et al. Monocular parallel tracking and mapping with odometry fusion for mav navigation in feature-lacking environments
WO2023090213A1 (ja) 情報処理装置、情報処理方法及びプログラム
Cho et al. Rotation estimation from cloud tracking
Bachrach et al. Visual navigation for micro air vehicles

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant