KR20150119337A - 환경의 3d 모델의 발생 - Google Patents

환경의 3d 모델의 발생 Download PDF

Info

Publication number
KR20150119337A
KR20150119337A KR1020157025332A KR20157025332A KR20150119337A KR 20150119337 A KR20150119337 A KR 20150119337A KR 1020157025332 A KR1020157025332 A KR 1020157025332A KR 20157025332 A KR20157025332 A KR 20157025332A KR 20150119337 A KR20150119337 A KR 20150119337A
Authority
KR
South Korea
Prior art keywords
time series
monitoring unit
camera
sensor
lidar
Prior art date
Application number
KR1020157025332A
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 아이시스 이노베이션 리미티드
Publication of KR20150119337A publication Critical patent/KR20150119337A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • G01S17/875Combinations of systems using electromagnetic waves other than radio waves for determining attitude
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • G06T7/2086
    • 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/262Analysis of motion using transform domain methods, e.g. Fourier domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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/10028Range image; Depth image; 3D point clouds
    • 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/30241Trajectory
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Abstract

모니터링 유닛이 환경을 통과하여 이동되는 때에 모니터링 유닛 주위의 환경의 3D 재구성(3D reconstruction)을 발생하는 방법은, a) 각각 독립적인 클록에 의해 제어되는 적어도 카메라 및 LIDAR 센서를 제공하는 단계; b) 모니터링 유닛의 궤도(trajectory)를 결정하기 위해 카메라를 사용하고, 카메라의 클록을 사용하여 제1 시계열(time series)을 결정하는 단계로서, 제1 시계열은 모니터링 유닛이 궤도의 사전 결정된 포인트에 있었던 때를 상세히 알려주는, 제1 시계열을 결정하는 단계; c) LIDAR 센서로부터의 리턴을 기록하며, LIDAR 센서의 클록을 사용하여 제2 시계열을 결정하는 단계로서, 제2 시계열은 LIDAR 센서로부터의 각각의 스캔이 이루어진 때를 상세히 알려주는, 제2 시계열을 결정하는 단계; d) LIDAR 센서로부터의 리턴을 리턴이 수신된 궤도 상의 포인트에 매칭하기 위하여 제1 시계열과 제2 시계열을 관련시키기 위해 타이머를 사용하는 단계; 및 e) 2개의 시계열로부터의 정보를 이용하여, LIDAR 리턴에 기초한 3D 재구성을 생성하는 단계를 포함한다.

Description

환경의 3D 모델의 발생{GENERATION OF 3D MODELS OF AN ENVIRONMENT}
본 발명은 환경의 3차원 모델의 생성에 관한 것이다. 구체적으로, 환경의 3차원 모델의 생성은 3D 포인트 클라우드(3D point cloud)의 생성일 수 있다. 보다 구체적으로, 배타적이지는 않지만, 본 발명은 로봇의 경로 차량(guided vehicle)과 같은 로봇 주위의 환경의 3D 모델의 발생에 관한 것이다. 다른 실시예는 환경의 모델을 사용하여 환경을 통과하는 차량을 네비게이트하는 것에 관한 것이다.
다용한 용도로 사용될 수 있는 환경의 모델을 발생하는 것이 요망되는 경우가 많다. 예컨대, 건물을 조사할 때에 그 건물의 모델을 기록하는 것이 도움이 될 수 있으며, 여기서 3D 모델이 그 후에 화재 대피, 안정성, 및 안전성 등을 위해서와 같이 건물을 액세스하기 위해 사용될 수 있다. 로봇 공학, 경로 차량 등에서와 같은 다른 환경에서, 차량을 네비게이트하기 위해 환경의 모델을 발생하는 것이 요망될 수 있다. 그러나, 모델을 발생하는 종래 기술의 방법은 요구되는 바와 같이 만족스럽거나 및/또는 용이하게 모델을 생성하지 못한다.
본 발명의 제1 양태에 따라, 모니터링 유닛이 환경을 통과하여 이동되는 때에 모니터링 유닛 주위의 환경의 표현을 발생하는 방법이 제공되며, 상기 방법은 이하의 단계 중의 적어도 하나를 포함한다:
a) 적어도 하나의 제1 센서 및 적어도 하나의 LIDAR 센서를 제공하는 단계로서, 상기 제1 센서와 제2 센서가 서로에 대하여 고정된 지향방향(orientation)으로 제공되고, 독립적인 클록에 의해 제어되는, 제공하는 단계;
b) 상기 모니터링 유닛이 환경을 통과하여 이동하는 때에 상기 모니터링 유닛의 궤도(trajectory)를 결정하기 위해 상기 제1 센서를 사용하고, 상기 제1 센서의 클록을 사용하여 제1 시계열(time series)을 결정하는 단계로서, 상기 제1 시계열은 상기 모니터링 유닛이 궤도의 사전 결정된 포인트에 있었던 때를 상세히 알려주는, 제1 시계열을 결정하는 단계;
c) 상기 LIDAR 센서로 환경을 스캐닝하고, 상기 LIDAR 센서로부터의 리턴을 기록하며, 상기 LIDAR 센서의 클록을 사용하여 제2 시계열을 결정하는 단계로서, 상기 제2 시계열은 상기 LIDAR 센서로부터의 각각의 스캔이 이루어진 때를 상세히 알려주는, 제2 시계열을 결정하는 단계;
d) 상기 LIDAR 센서로부터의 리턴을 상기 리턴이 수신된 궤도 상의 포인트에 매칭하기 위하여 상기 제1 시계열과 상기 제2 시계열을 관련시키기 위해 통계학적 방법을 사용하여 상기 제1 시계열 및 상기 제2 시계열을 처리하는 단계; 및
e) 상기 제1 센서와 상기 LIDAR 센서 간의 사전 결정된 지향방향을 이용하여, 상기 LIDAR 리턴에 기초한 상기 모니터링 유닛 주위의 환경의 표현을 생성하는 단계.
이러한 구성을 갖는 실시예는 종래 기술의 방법에 비하여 모니터링 유닛이 환경을 통과하여 이동하는 때에 환경에 대한 더 높은 품질의 모델을 제공하기 때문에 이로울 것이다.
특히, 몇몇 실시예는 2차원 LIDAR 센서를 사용할 수도 있다. 이러한 LIDAR 센서는 또한 LIDAR 스캐너, 즉 자신의 환경을 스캔하도록 배치된 센서로서도 지칭될 수 있다. 몇몇 실시예는 3차원 LIDAR 센서를 사용할 수도 있지만, 이들은 현재로는 가격이 높다.
복수의 LIDAR 센서가 있을 수도 있으며, 특히 2개의 LIDAR 센서가 있을 수도 있다.
상기 LIDAR 센서 또는 각각의 LIDAR 센서는 푸시-브룸 구성(push-broom arrangement)으로 장착될 수 있다. 구체적으로, LIDAR 센서는 모니터링 유닛에 대해 고정된 관계로 장착될 수 있다. 이러한 실시예에서, LIDAR 센서는 환경을 스캔하기 위해 마운팅 유닛의 움직임에 의존할 수 있다.
실시예는 제1 센서와 LIDAR 센서가 중첩 시계(overlapping fields of view)를 갖지 않도록 구성될 수 있다. 본 방법은 제1 센서로부터의 데이터와 LIDAR 센서로부터의 데이터를 회귀적으로(retrospectively) 조합하도록 구성될 수 있다.
본 발명의 몇몇 실시예는 제1 클록 및 제2 클록으로부터의 시계열을 관련시키기 위해 사용되는 타이밍 방법을 제공하기 위해 TICsync 알고리즘에 의존한다.
제1 센서는 카메라에 의해 제공될 수 있으며, 구체적으로 입체쌍의 카메라에 의해 제공될 수 있다. 본 방법은 제1 센서로부터 출력을 처리하는 시각적 주행거리 측정(Visual Odometry, VO) 시스템으로부터 궤도를 발생하여 편리하다. 이러한 실시예는 패시브 센서에 의존하고 GPS(Global Positioning System) 등과 같은 외적인 위치확인 시스템에 의존하지 않기 때문에 이로울 것이다. 이러한 외적인 위치확인 시스템의 사용을 방지함에 의하여, 본 방법이 이러한 외적 시스템이 도달되지 않는 영역(실내, 도시 환경 등과 같은)에 제공될 수 있게 된다.
본 발명의 제2 양태에 따라, 모니터링 유닛이 제공되며, 상기 모니터링 유닛은,
제1 센서 및 적어도 하나의 LIDAR 센서의 각각으로부터의 데이터를 수신하도록 배치된 처리 회로를 포함하며,
상기 제1 센서는 제1 시계열을 제공하는 제1 클록에 의해 제어되고, 상기 모니터링 유닛에 대하여 고정된 지향방향으로 장착되며, 상기 처리 회로는 상기 제1 센서로부터 수신된 데이터로부터 궤도를 발생하도록 배치되며,
상기 LIDAR 센서는 제2 시계열을 제공하는 제2 클록에 의해 제어되고, 상기 모니터링 유닛에 대하여 고정된 지향방향으로 장착되며, 상기 LIDAR 센서는 상기 모니터링 유닛이 환경을 통과하여 이동되는 때에 상기 모니터링 유닛의 환경을 스캔하도록 배치되며,
상기 처리 회로는 상기 LIDAR 센서로부터의 데이터를 수신하고, 상기 제1 시계열과 상기 제2 시계열을 관련시키고 상기 LIDAR 센서로부터의 데이터를 궤도에 매칭하기 위해 타이밍 방법을 사용하여 상기 제1 시계열 및 상기 제2 시계열을 처리하고, 이러한 매칭으로부터 환경의 표현을 발생하도록 배치된다.
본 발명의 제3 양태에 따라, 명령을 포함하고 있는 기기 판독 가능 매체로서, 상기 명령은 기기에 의해 판독되는 때에 상기 기기로 하여금 모니터링 유닛이 환경을 통과하여 이동되는 때에 모니터링 유닛 주위의 환경의 표현을 발생하도록 하며, 상기 명령은 본 발명의 제1 양태의 방법이 제공되도록 하거나 또는 기기가 본 발명의 제2 양태의 모니터링 유닛의 적어도 일부분에 제공되도록 하는 것을 특징으로 하는 기기 판독 가능 매체가 제공된다.
본 발명의 위의 양태 중 임의의 양태에서 언급된 기기 판독 가능 매체는 이하의 것들 중의 어떠한 것도 가능하다: CDROM, DVD ROM/RAM(-R/-RW 또는 +R/+RW를 포함), 하드 드라이브, 메모리(USB 드라이브, SD 카드, 컴팩트 플래시 카드 등을 포함), 전송 신호(인터넷 다운로드, ftp 파일 전송 등을 포함), 유선 등.
본 발명의 위의 양태들 중의 임의의 양태에 관련하여 설명된 특징은 필요한 부분만 약간 수정하여 본 발명의 다른 양태의 어떠한 것에도 적용될 수 있다.
이하에서는 본 발명의 실시예의 상세한 설명을 첨부 도면을 참조하여 예시로서만 설명한다:
도 1은 센서가 갖추어진 차량을 개략적으로 도시하고 있다.
도 2는 시각적 주행거리 측정 프로세스(Visual Odometry process)에서의 스테이지를 도시하고 있다.
도 3a는 제1 및 제2 초기 카메라 이미지를 예시하고 있다.
도 3b는 도 3a에서의 것과 유사한 이미지이지만 시간이 더 지났을 때의 제1 및 제2 카메라 이미지를 예시하고 있다.
도 4는 도 3a 및 도 3b의 이미지로부터 결정된 궤도를 예시하고 있다.
도 5는 차량 주위의 환경을 스캐닝하는 푸시-브룸 구성(push broom arrangement)으로 동작하는 LIDAR를 도시하고 있다.
도 6은 LIDAR 리턴 데이터를 카메라의 궤도와 조합하는 것을 예시하고 있다.
도 7은 LIDAR로 획득한 표현의 예를 도시하고 있다.
도 8은 모니터링 유닛의 예를 조립도와 분해도 도시하고 있다.
도 9는 본 발명의 실시예를 보여주는 흐름도이다.
도 10은 모니터링 유닛의 다른 실시예를 도시하고 있다.
본 발명의 실시예는 제1 센서(100) 및 적어도 하나의 LIDAR 센서(103)를 포함하는 모니터링 유닛(10)에 관련하여 설명되고, 여기서 모니터링 유닛(10)이 차량(102) 상에 장착된다. 센서(100)는 자신의 현장(locale)을 모니터링하고, 모니터링에 기초한 데이터를 발생하도록 배치되며, 이에 의해 차량(102) 주위의 감지된 장면에 대한 데이터를 제공한다. 마찬가지로, LIDAR 센서(103) 또한 자신의 현장을 모니터링하도록 배치된다.
전술한 실시예에서, 모니터링 유닛(10)이 차량에 대해 별도의 유닛으로서 도시되어 있지만, 다른 실시예에서는 모니터링 유닛(10)이 차량에 연관될 필요가 없고, 예컨대 클라우드에서는 백팩 등(예컨대 도 10에 도시된 것과 같은)으로 운반될 수 있으며, 이러한 실시예는 사람에 의해 운반되도록 구성된다. 또 다른 실시예에서, 모니터링 유닛은 차량 등에 통합될 수도 있다.
전술한 실시예에서, 제1 센서(100)는 패시브 센서(즉, 라디에이션을 발생하지 않고 단지 검출만 함)이고, 구체적으로는 카메라이다. 보다 구체적으로는, 전술한 실시예에서, 제1 센서는 입체 카메라(PointGrey BumbleBee와 같은)이며, 2개의 카메라(104, 106)를 포함한다. 당업자는 이러한 센서가 하나의 센서(100)로서가 아닌 2개의 별도의 카메라에 의해 제공될 수 있다는 것을 이해할 것이다. 그러나, 다른 실시예는 하나의 카메라에 의존할 수도 있다.
다른 실시예에서, 제1 센서(100)는 레이저 스캐너(LIDAR) 등과 같은 다른 형태의 센서를 포함할 수 있다. 이와 같이, 제1 센서(100)는 또한 라디에이션을 밖으로 보내고 반사된 라디에이션을 검출하도록 구성된 액티브 센서이어도 된다. 제1 센서는 또한 자이로스코프 기반 센서 또는 관성 기반 센서로 대체될 수도 있다. 일반적으로, 실시예는, 제1 센서를 위하여, 차량(102)의 궤도가 결정될 수 있는 어떠한 센서 타입도 이용할 수 있다.
차량(102)은 또한 전술한 실시예에서는 LIDAR 레이저 스캐너인 제2 센서(103)를 포함한다. 구체적으로, 전술한 실시예에서, 제2 센서는 스캐닝-LIDAR 센서이다.
일실시예에서, 도 5 및 도 8에 도시된 바와 같이, 모니터링 유닛(10)은 2개의 LIDAR 센서(SICK LMS-151)(800, 802)를 포함한다. 본 실시예에서의 LIDAR 센서(800, 802)의 각각은 대략 240°의 시계(field of view)를 가지며, 센서 중의 하나(800)는 차량(102)의 좌측편(500)(즉, 니어사이드)을 스캔하도록 배치되고, 다른 센서(802)는 차량(102)의 우측편(502)(즉, 오프사이드)을 스캔하도록 배치된다.
그러므로, 도 5 및 도 8의 실시예에서, LIDAR(800, 802)는 이들로부터 방출된 라디에이션이 차량이 이동할 때, 즉 환경의 스캔이 발생되도록 하는 차량(102)의 움직임이 있을 때, 차량의 환경을 스캐닝하도록 소위 푸시-브룸 구성으로 장착된다.
이러한 2D LIDAR(예컨대, 이 푸시-브룸 구성으로 사용된 것)를 사용하는 실시예는 이들이 현재 3D LIDAR보다 많이 저렴하고 분리하여 장착하기가 더 용이하기 때문에 이점이 있을 것이다.
Velodyne 등에 의해 생산된 것과 같은 기타 레이저 센서 또한 사용될 수 있다.
도 1에 도시된 실시예에서, 차량(102)은 도로(108)를 따라 이동하고 있으며, 제1 센서(100)는 차량(102)이 이동할 때에 현장(예컨대, 건물(110), 도로(108) 등)을 이미징한다(900). 이 실시예에서, 모니터링 유닛(10)은 또한 센서(100, 103)로부터 데이터를 캡쳐하고 그 후 캡쳐된 이미지(제1 센서 100) 및 LIDAR(센서 103) 데이터를 처리하도록 구성된 처리 회로(112)를 포함한다. 전술한 실시예에서, 처리 회로(112)는 또한 저장 디바이스(114)를 포함하거나 액세스한다.
도면의 아래 부분은 전형적인 처리 회로(112)에서 볼 수 있는 부품을 도시하고 있다. i5, i7 프로세서 등과 같은 Intel® X86 프로세서이어도 되는 처리 유닛(118)이 제공될 수 있다. 처리 유닛(118)은 시스템 버스(120)를 통해 I/O 서브시스템(122)(및 이에 의해 외부 네트워크, 디스플레이 등) 및 메모리(124)와 통신하도록 배치된다.
당업자는 메모리(124)가 휘발성 메모리, 하드 드라이브, 비휘발성 메모리 등을 포함한 다양한 부품에 의해 제공될 수 있다는 것을 이해할 것이다. 실제로, 메모리(124)는 처리 유닛(118)의 제어 하에 있거나 또는 처리 유닛(118)에 연결된 복수의 부품을 포함한다.
그러나, 통상적으로, 메모리(124)는 실행되는 때에 동작을 수행하는 프로그램 코드를 저장하도록 배치된 프로그램 저장부(126) 및 일시적으로 및/또는 영구적으로 데이터를 저장하기 위해 사용될 수 있는 데이터 저장부(128)를 제공한다.
다른 실시예에서, 처리 회로(112)의 적어도 일부분은 차량으로부터 원격으로 제공될 수도 있다. 이와 같이, 제1 센서(100)에 의해 발생된 데이터의 처리가 차량(102)으로부터 떨어져서 수행되거나, 또는 부분적으로는 차량(102)에서 수행되고 부분적으로는 차량(102)으로부터 떨어져서 수행되는 것이 가능하다. 처리 회로가 차량 상에 제공되고 차량으로부터 떨어져서도 제공되는 실시예에서, 네트워크 접속(3G UMTS(Universal Mobile Telecommunication System) 또는 WiFi(IEEE 802.11) 등과 같은)이 이루어질 수 있다.
도시된 실시예에서, 프로그램 저장부(126)는 모니터링 유닛(10)(및/또는 모니터링 유닛이 장착되는 차량 등)의 궤도를 결정하도록 배치된 VO 시스템(128)과, 제1 센서 및 제2 센서에 연관된 클록(clock)으로부터 타이밍 정보를 발생하도록 배치된 타이머(130)와, LIDAR 센서로부터 수신된 데이터를 처리하도록 배치된 LIDAR 프로세서(132)를 포함한다. 데이터 저장부(128)는 차량의 궤도를 제공하는 궤도 데이터(134)와, 그 LIDAR 센서(130) 또는 각각의 LIDAR 센서(103)로부터 리턴된 데이터에 관한 정보를 제공하는 레이저 리턴 데이터(136)와, 실시예에 따라 발생된 환경의 표현(138)을 포함할 수 있다. 데이터 저장부(128) 내에 다른 데이터도 저장될 수 있으며, 프로그램 저장부(126) 내에 다른 루틴 등이 저장될 수도 있다.
전술한 실시예에서, 환경의 표현은 LIDAR 포인트 클라우드로서 지칭될 수도 있는 포인트 클라우드를 포함한다. 다른 실시예에서는 스플린트 클라우드(splint cloud)와 같은 다른 3D 재구성(3D reconstruction)이 제공될 수도 있다.
전술한 실시예를 포함한 몇몇 실시예에서, 타이머(130)는 복수의 시계열(time series)(일련의 클록 펄스와 같은)을 서로에 대해 관련시키기 위해 아래에 설명된 바와 같은 기술을 채용하도록 구성된다.
모니터링 유닛(10)을 더욱 상세하게 도시하고 있는 도 8을 참조하면, 모니터링 유닛(10)은 2개의 LIDAR(800, 802) 및 제1 센서(100)가 장착되는 하우징(804)을 포함한다. 이에 따라, LIDAR(800, 802) 및 제1 센서(100)는 서로에 대해 고정 관계로 되어 있으며, 이것은 이러한 실시예에서는 각각의 센서에 의해 발생된 데이터가 서로에 대해 고정 관계로 되어 있는 포인트로부터 발생된다는 것을 의미하므로 편리하다.
개발 목적으로 사용된 도시된 실시예에서, 모바일 유닛(10)은 또한 GPS(Global Positioning Sensor)(806), 4개의 모노큘러 카메라(monocular camera)(808a, 808b, 808c, 808d(보이지 않음))의 세트, 관성 측정 유닛(Inertial Measurement Unit(IMU))(810), 및 처리 회로(112)를 포함한다. 그러므로, 모니터링 유닛(10)은 자체 포함 유닛(self contained unit)을 제공한다.
도 10에 도시된 실시예는 또한 제1 센서(1002)(입체식 카메라의 쌍) 및 LIDAR 센서(1004)를 포함하고 있는 하우징(1000)을 포함한다. 역시, 제1 센서(1002)와 LIDAR 센서(1004)는 하우징(1000)에 부착되어 있음에 의해 서로에 대해 고정된 지향방향(orientation)으로 유지된다. 도 10의 실시예에서는, LIDAR 센서(1004) 및 제1 센서(1002) 외에 추가의 센서가 제공되지 않는다.
제1 센서(100) 및 제1 센서(100)가 연결되는 처리 회로(112)는, 처리 회로(112) 상에서 실행되는 소프트웨어와 함께, VO(Visual Odometry) 시스템으로 지칭되기도 하는 시스템을 형성한다. 전술한 실시예에서, VO 시스템은 카메라(104, 106)로부터 발생된 데이터를 사용하여 주변세계(world)의 3D 모델을 지속적으로 발생한다.
통상적으로 그리고 도 3a 및 도 3b에 예시한 바와 같이, VO 시스템은 입체쌍(stereo pair)의 둘 모두의 이미지에 위치될 수 있는 카메라 쌍으로부터의 각각의 이미지 내의 포인트(특징부(feature) 또는 노드(node)로서도 지칭될 수 있음)의 위치를 확인한다.
도 3a는 카메라 104에 의해 캡쳐된 이미지(300)와 카메라 106에 의해 캡쳐된 이미지(302)를 예시한다. 도 3a에 도시된 이미지의 쌍은 차량(102) 주위의 현장의 입체 화면(stereoscopic view)을 제공한다. 도 3a에서 제공된 예에서, VO 시스템은 둘 모두의 이미지에 공통되는 6개의 포인트를 포인트로 식별한다. 이들 6개의 포인트는 도면부호 304 내지 314로 도시되어 있으며, 이미지 300에서는 "a"가 함께 표시되어 있고, 이미지 302에서의 "b"가 함께 표시되어 있다.
VO 시스템에 의해 식별된 포인트는 제1 센서(100)의 궤도를 발생하기 위해 후속 이미지들 사이에서 추적된다.
예컨대, 어느 정도 시간 후에, 카메라 104는 350으로 도시된 이미지를 캡쳐하고, 카메라 106은 352로 도시된 이미지를 캡쳐한다. 이 예에서, 포인트 306a, 306b, 312a, 312b, 314a 및 314b는 나중에 캡쳐된 이들 이미지 내에 남아있지만, 이미지에 대하여 상이한 위치에 있다는 것을 알 수 있다. VO 시스템은 당연히 이미지들 내의 추가의 포인트를 검출할 수도 있다(아마도 검출할 수 있을 가능성이 크다). 도 3b의 예에서, VO 시스템은 그 이전의 시간에서 캡쳐된 이미지(300, 302)에서 검출되지 않은 포인트(316a, 316b)를 검출한다.
당업자는 좌측 이미지와 우측 이미지 간에 및 시간 범위(time frame) 사이에서(즉, 더 이른 시간에서의 이미지와 나중 시간에서의 이미지 간에) 다수의 더 많은 포인트가 검출되고 추적될 것이라는 것을 이해할 것이다.
모니터링 유닛에 대한 제1 센서(100)의 위치가 알려져 있고, 이 경우에는 고정되어 있으므로, 아마도 처리 회로(112)를 사용하여 도 4에 도면부호 400으로 도시된 차량(102)의 궤도를 계산하는 것이 가능하다. 그러므로, 처리 회로(112)는 제1 센서(100)로부터 데이터를 수신하고, 이로부터 궤도(400)를 발생하며(902), 즉 처리 회로는 처리 회로에 입력된 이미지로부터 궤도 데이터(134)를 발생한다.
전술한 실시예에서, 처리 회로 및 특히 VO 시스템(128)은 카메라(104, 106) 간의 포인트를 매칭(즉, 입체 매칭(stereo matching))하기 전에 상이한 시간에서 취한 이미지들 간의 포인트들을 매칭(즉, 시간 매칭(temporal matching))하도록 구성된다. 즉, 도 3a 및 도 3b를 참조하면, VO 시스템(128)은 이미지 300과 302 간에 및 이미지 350과 352 간에 포인트들을 매칭하기 전에 이미지 300과 350 간에 및 이미지 302와 352 간에 포인트들을 매칭한다.
처리 회로가 다수의 클록을 포함하거나, 또는 시스템 클록에 의해 발생된 타이밍 신호가 처리 회로를 전파할 때에 지연이 있는, 모니터링 유닛(102)의 몇몇 실시예에서는, 이벤트가 발생하는 때를 결정함에 있어서 문제가 있을 수 있다. 이에 따라, 이벤트가 발생하는 때를 정확하게 결정하기 위해 TICSync와 같은 알고리즘을 채용하는 것이 알려져 있다. TICSync는 타이머로서 생각할 수도 있다.
TICSync는 2011년 5월에 중국 상해에서 개최된 IEEE International Conference on Robotics and Automation에서 Alastair Harrison 및 Paul Newman에 발표된 "TICSync: Knowing When Things Happened"라는 제목의 논문에서 최초로 설명되었다. 당업자는 TICSync 알고리즘을 이해하기 위해 이 논문을 읽도록 권유되며, 차량(102) 상의 이벤트의 타이밍에 관련한 이 논문의 내용은 원용에 의해 본 명세서에 통합되는 것으로 한다. TICSync는 이벤트(LIDAR 리턴의 수신 또는 궤도 상의 포인트와 같은)가 언제 결정될지에 관하여 결정이 이루어지도록 하는 네트워크 지연을 결정하기 위해 통계학적 방법을 사용한다.
처리 회로 내의 디바이스들과 I/O 서브시스템(122)을 통해 처리 회로에 연결된 디바이스들 간의(예컨대, 제1 센서(100)와 처리 유닛(118) 간의) 임의의 통신에서, 양방향으로 통과하는 데이터 패킷이 있을 것이다. 에컨대, 제1 센서(100)와 처리 유닛(118)의 예에서는, 디바이스들 중의 하나 또는 몇몇으로부터의 요청과 이러한 디바이스에 대한 다른 디바이스에 의한 응답이 있을 수 있다. 요청과 응답의 과정(journey) 내에서의 지연, 제1 센서(100)와 처리 유닛(118) 상의 상이한 처리 부하의 관점에서, 요청과 응답을 행하기 위한 데이터 패킷에 대한 전파 시간은 각각의 방향에서 상이하기가 쉽다.
TICSync를 사용하는 실시예는 차량(102) 내에서 서로 통신하는 디바이스에 대한 요청 및 응답을 위한 전파 시간 및 각각의 요청 및 응답을 위한 전파 시간의 하한계(lower bound)와 상한계(upper bound)를 축적한다. 그리고나서, 전파 시간을 처리하기 위해 컨벡스 헐 기반 알고리즘(convex hull based algorithm)이 사용된다. TICSync 알고리즘은 클록 드리프트(clock drift)(아마도 온도 등으로 인한)가 추적될 수 있게 한다. TICSync 알고리즘은 또한 전파 시간에 대한 상한계 에러 추정치(upper bound error estimate)를 제공한다. 그러므로, TICSync는, 이벤트가 발생한 시간이 이벤트의 시간을 맞춘 클록에 상관없이 동기화될 수 있도록 하기 위해 서로 관련될 수 있도록, 클록들 간의 지연의 추정치가 상이한 시계열(예컨대, 상이한 클록으로부터의 출력)을 처리하기 위해 사용될 수 있는 방법의 예를 제공한다. 이 단계는 도 9에서의 도면부호 906에서 참조된다.
그러므로, 전술한 실시예에서, 제1 센서(100) 및 LIDAR 센서(103)의 각각은 상이한 클록에 의해 실행되며, 예컨대 제1 센서(100)는 제1 클록에 의해 처리될 수 있고, LIDAR 센서(103)는 제2 클록에 의해 처리될 수 있다. 그러므로, 제1 클록으로부터의 클록 펄스의 스트링이 제1 시계열로 간주될 수 있고, 마찬가지로 제2 클록으로부터의 클록 펄스의 스트링이 제2 시계열로 간주될 수 있다.
모니터링 유닛(10) 상에 채용되는 VO 시스템으로 돌아가서, 도 3에서 설명한 것에 비하여 전반적이고 보다 상세한 개요가 제공된다. 처리 회로(112)는 2개의 카메라(104, 106)에 의해 캡쳐된 일련의 입체 프레임(예컨대, 300, 302), k(즉, 여기서 k는 프레임 번호)를 인덱스로 하는
Figure pct00001
를 처리한다. 제1 프레임
Figure pct00002
에 대해, 포인트들의 세트가 각각의 이미지로부터 추출된다.
좌측 이미지에서의 픽셀 위치를
Figure pct00003
으로 표시하고, 우측 이미지에서의 픽셀 위치를
Figure pct00004
로 하며, 여기서 u 및 v의 첨자는 카메라를 나타낸다. z Lz R은 "특징부"(예컨대, 포인트 304∼316)로서 지칭되며, 각각은 이에 부가하여 국부 이미지 영역의 함수인 디스크립터(descriptor)를 특징으로 한다. 왜곡이 제거되고 특징부가 추출된 후, 특징부가 상이한 시간에서(예컨대, 프레임 k-1과 k 사이) 프레임들 간에 매칭되며, 이것은 시간 매칭(200)으로서 지칭된다.
입체 측정을 발생하기 위해 좌측 및 우측 이미지로부터의 특징부의 쌍이 매칭되며(202), 입체 측정은 아래의 형태를 취하고,
Figure pct00005
(1.1)
입체 카메라의 공지의 특성을 사용함으로써 삼각측량(triangulate)되어 랜드마크
Figure pct00006
로 지칭되는 특징부의 3D 위치를 발생하며, 여기서 g는 전역 고유 식별자(globally unique id)이다.
모든 후속 프레임에 대해, 처리 회로(112)는 가장 나중의 프레임에서의 특징부를 국부적 이전 프레임(local previous frame)으로부터의 랜드마크에 매칭하도록 구성된다. 데이터 연계가 이루어졌고 특징부가 랜드마크에 매칭한 때에, 처리 회로는 k와 k-1 간의 카메라의 6 자유도(degree of freedom, DoF) 움직임을 계산한다. 이것은 아래 형태를 갖는 4×4 변환 행렬로서 저장되며,
Figure pct00007
(1.2)
여기서, R은 3×3 회전 행렬(R T=R -1, det(R)=1)이고, ρ는 3×1 병진 벡터이다. T는 6×1 벡터 t=[x,y,z,θrpq]T에 의해 파라미터화될 수 있으며, 여기서 x, y 및 z는 병진이고, θr, θp 및 θq는 각각 롤(roll), 피치(pitch) 및 요(yaw)이다.
카메라 움직임은 그래프 G vo =( N vo ,T vo )로 저장된다. 노드 n k N vo 는 시각 k에서의 입체 프레임을 나타낸다. 에지 T i,j T vo 는 2개의 노드 i와 j 사이의 움직임을 묘사하며, 여기서 T i,j는 j에서 i로의 카메라의 움직임을 나타낸다. 랜드마크는 프레임 i에서 관찰된 후에 프레임 s에 관련하여 저장된다. 여기서, 랜드마크는 VO 시스템(128)에 의해 식별된 이미지 내의 별개의 특징부 또는 특징부의 세트이다. 하나의 프레임으로부터 또 다른 프레임으로 랜드마크를 이동시키기 위해, 처리 회로(112)는 이하의 변환을 적용한다:
Figure pct00008
(1.3)
여기서,
Figure pct00009
는 p의 4×1 동차 표현(homogeneous representation)이며,
Figure pct00010
는 i와 s 간의 연결된 순서의 변환(concatenated sequence of transform) Ti,s를 리턴하는 함수이다. 프레임 i에서의 랜드마크 g의 관측(observations)은 새로운 프레임이 도착할 때에 증분적으로 성장하는
Figure pct00011
로서 표현되며, 새로운 노드 및 에지의 불필요한 기원(genesis)을 방지하기 위해, 키프레임 접근법(keyframe approach)이 채택되며, 이에 의해 2개의 프레임 간의 이동이 약간의 임계치 위이거나 또는 추적 가능한 특징부의 개수가 크게 변화되는 경우에, 새로운 노드가 그래프에 추가된다. 이것은 카메라가 움직이지 않거나 천천히 이동하는 동안 불필요한 그래프 성장을 방지한다.
카메라는
Figure pct00012
에서의 주변세계 포인트를 이미지 평면 상의
Figure pct00013
에서의 포인트에 투영한다. 카메라의 움직임을 추정하기 위해, 이 투영의 모델이 요구된다. 이상적인 카메라로 가정하면, 표준 핀홀 카메라 모델(standard pin-hole camera model)을 사용하고, 카메라 프레임을 정할 수 있으며, 여기서 원점은 카메라의 광학 중심에 위치된다. 카메라 프레임에서의 포인트 P=[x,y,z]T는 이미지 평면 상의 픽셀 위치 z=[u,v]T에 투영된다. 알려진 카메라 초점 거리 f에 대해, 닮음 삼각형(similar triangle)을 이용하여 픽셀 위치를 계산할 수 있다:
Figure pct00014
(1.4)
Figure pct00015
(1.5)
y에 유사 프로세스를 적용하면, 픽셀 위치는 다음과 같이 된다:
Figure pct00016
(1.6)
식 (1.6)은 비선형이지만, 동차 표현을 채택함으로써, 투영이 선형으로 된다. 이것은 이하의 행렬을 통해 달성된다:
Figure pct00017
(1.7)
여기서, K는 3×3 카메라 캘리브레이션 행렬(camera calibration matrix)이다. z의 비동차 형태(inhomogeneous form)는 아래에 의해 복원될 수 있다:
Figure pct00018
(1.8)
K는 전형적으로 카메라에 대한 몇몇의 엑스트라 디테일(extra detail)을 포함한다.
이미지 평면의 원점은 보통은 광축과 완벽하게 정렬되지 않으며, 그러므로 [u0,v0]를 통해 원점 오프셋이 적용될 수 있다. 이 위치가 주점(principal point)이다. 카메라가 논-스퀘어 픽셀(non-square pixel)을 가지면, 초점 길이의 스케일링이 요구된다. 이것은 상이한 초점 길이 fu 및 fv를 가짐으로써 캡쳐될 수 있다. 최종적으로, 이미지 축이 수직이 아니면, 스큐 파라미터(skew parameter) s가 추가될 수 있다. 이것은 전형적으로는 대부분의 카메라에 대해서는 영(zero)이다. 그러므로, K는 이하의 형태를 갖는다:
Figure pct00019
(1.9)
변수의 이러한 모음은 이들이 카메라 프레임에서의 포인트가 카메라 평면 상에 어떻게 투영되는지에 영향을 주기 때문에 인트린직 카메라 파라미터(intrinsic camera parameter)로서 지칭된다.
입체 카메라의 경우에, 좌측 이미지에서의 행(row)이 우측 이미지에서의 동일한 행에 대응하도록 좌측 이미지와 우측 이미지를 정렬하는 것이 유용하다. 이 프로세스는 이미지 보정(image rectification)으로 지칭된다. 입체 쌍(stereo pair)에서의 대응관계를 탐색할 때에, 보정은 특징부 포인트가 동일한 v 좌표를 공유할 것이기 때문에 탐색 영역을 u에서의 1-D 라인 탐색으로 간략화시킨다.
Point Grey Bum- blebee2와 같은 함께 견고하게 고정되는 입체 카메라에 대해서는, 왜곡 정정 및 보정은 한 번만 계산될 필요가 있다. 또한, 이들 맵핑은 각각의 렌즈가 고속 처리를 가능하게 하도록 하나의 룩업 테이블로 조합될 수 있다.
보정 후에, 입체 카메라는 베이스라인으로서 알려진 거리 b에 의해 분리된 2개의 프론토-패러렐 핀홀 카메라(fronto-parallel pinhole camera)로서 모델링된다.
카메라(104, 106)로부터 컬러 이미지를 발생하는 실시예에서, 이미지는 추후의 처리를 위해 충분한 정보를 제공하는 그레이스케일(greyscale)로 전환된다.
본 발명의 몇몇 실시예는 BRIEF 특징부 디스크립터 알고리즘(Binary Robust Independent Elementary Features feature descriptor algorithm)과 함께 FAST 코너 디텍터 알고리즘(FAST corner detector algorithm)을 활용한다. 다른 실시예는 이미지 내의 특징부를 검출하기 위해 SIFT 알고리즘(Scale Invariant Feature Transform algorithm) 또는 SURF 알고리즘(Speeded-Up Robust Features algorithm)과 같은 다른 알고리즘을 사용할 수도 있다.
본 발명의 몇몇 실시예는 서브-픽셀 측정치를 획득하기 위해 ESM(Efficient Second-Order Matching)을 사용하여 추정 FAST 매치(putative FAST match)를 개선하는 FAST 알고리즘에 대한 보강(enhancement)을 사용할 수도 있다.
입체 매칭(200)은 좌측 입체 이미지(300)와 우측 입체 이미지(302) 모두에서의 동일한 특징부를 찾는 프로세스이며, 입체 프레임이 보정되기 때문에, 기준 픽셀로서 지칭되는 하나의 이미지에서의 픽셀 위치가 주어지면, 매칭하고 있는 특징부를 찾기 위해 다른 입체 이미지에서 제한된 1-D 라인 탐색이 수행될 수 있다.
실시예는 조밀 입체 기술(dense stereo technique)을 이용한 매칭, 포인트의 서브세트(FAST 코너와 같은) 상의 조밀 매칭, 또는 디스크립터 매칭을 수행할 수 있다.
실시예는 대응하는 행에서의 FAST 코너 위치를 취하고, 각각의 위치에 대하여 기준 픽셀 위치에 대한 SAD(Sum of Absolute Differences)를 계산한다. 최상의 점수가 매치로서 리턴되며, 행이 FAST 코너를 포함하고 있지 않으면, 실패(failure)가 리턴된다.
기준 픽셀 위치는 2개의 소스로부터 비롯될 수 있다. 먼저, 새로운 랜드마크를 산출(spawning)할 때, 제안된 기준 픽셀이 주어지면, 랜드마크를 삼각측량하기 위해 입체 대응관계(stereo correspondence)가 요구된다. 두 번째 케이스는 랜드마크가 새로운 입체 프레임의 하나의 이미지에서 일시적으로 매칭된 때이며, 그러므로 프로세스를 완료하기 위해 입체 매치가 요구된다.
2개의 입체 프레임들 간의 특징부 매치를 찾는 것은 시간 매칭(200)으로 지칭된다. 시간 매칭은 카메라가 프레임의 2개의 캡쳐 시간 사이에서 임의의 움직임을 겪을 수 있을 때에는 입체 매칭만큼 단순하지 않다.
우수한 특징부 디스크립터(BRIEF에 의해 제공된 바와 같은)를 갖는 실시예는 우수한 데이터 연관을 발생하고, 움직임 추정치를 향상시키며, 추적 실패의 가능성을 감소시키는 경향이 있다. BRIEF의 출현으로, 전체 이미지에 걸친 탐색이 실시간 연산에 충분하게 고속이기 때문에, 매칭 프로세스를 제한하는 종래 기술에서 사용되는 윈도윙 기술(windowing technique)을 제거하는 것이 가능하다. 이와 같이, BRIEF를 채용하는 실시예는 초기 움직임 추정치를 계산하거나 또는 움직임 모델 및 적절한 탐색 윈도우 크기의 선택을 취하는 것 중의 적어도 하나를 수행할 필요가 없을 수도 있다.
매칭 프로세스로부터 대응관계의 세트가 주어지면, 실시예는 수치 최적화 기술(numerical optimisation technique)을 사용하여 달성될 수 있는 카메라의 가장 나중의 움직임을 복원한다. 그러나, 이러한 최적화 기술은 매칭 스텝의 부산물일 수 있는 상당한 수의 아웃라이어(outlier)(카메라의 실제 움직임을 암시하지 않고, 장면에서의 동적인 물체와 같은 사물 또는 부정확한 데이터 연관, 즉 부정확하게 표기된 포인트(304∼314)에 의해 야기될 수 있는 매치)를 포함하고 있는 데이터가 제공되는 때에는 좋지 않게 수행될 수 있다. 아웃라이어의 수를 감소시키기 위해서는, 데이터는 최종 최적화 단계에 대한 프리커서(pre-cursor)로서의 더욱 견고하지만 최적도가 덜한 추정기(estimator)에 건네진다.
RANSAC(RANdom Sample Consensus)는 아웃라이어 포함 데이터(outlier ridden data)의 세트가 주어진 모델 솔루션을 견고하게 추정하기 위한 알고리즘이며, 본 발명의 몇몇 실시예는 주어진 세트의 데이터로부터 모델을 향상시키고 아웃라이어를 거부(204)하기 위해 RANSAC을 사용한다. 이러한 실시예는 입력 데이터로부터 랜덤하게 샘플링된 최소수의 데이터 포인트를 사용하여 모델을 인스턴스화함으로써 진행된다. 그리고나서, 모델은 그에 동의하는 데이터 포인트의 수를 카운트함으로써 스코어링된다(scored). 이 모델 생성 및 스코어링은 양호한 모델이 발생될 때까지 반복된다. 인라이어(inlier) 및 아웃라이어로 나누어진 입력 데이터 및 모델이 리턴된다. RANSAC은 랜덤 세트에서의 아웃라이어를 선택할 가능성이 감소됨에 따라 더 적은 데이터 포인트를 요구하는 모델을 위해 더 빠르게 정확한 솔루션을 찾아낸다.
다른 실시예는 RANSAC을 사용하는 대신에 MSAC 또는 프리엠프티브 RANSAC(Preemptive RANSAC)을 사용할 수도 있다.
RANSAC 알고리즘은 데이터의 세트가 주어지면 최상의 모델을 리턴한다. 이 모델 선택은 2개의 입체 프레임들 간의 변환을 추정하는 것이 다수의 방식으로 행해질 수 있음에 따라 중요하게 된다.
본 발명의 몇몇 실시예는 각각의 입체 프레임에서 특징부 측정치의 3D 위치를 삼각측량하고, 그리고나서 3D 포인트의 2개의 세트들 간의 오차를 최소화하는 견고한 변환을 찾아낼 수 있다. 이것은 3개의 데이터 포인트로 최소로 해결될 수 있다.
다른 실시예는 제1 프레임에서의 3D 포인트를 제2 프레임에서의 2D 이미지 좌표에 투영하는 것 - n개 포인트(PnP)로부터의 퍼스펙티브(perspective) 문제 - 을 최소화하는 변환을 찾는다. 역시, 포인트의 최소의 요구된 개수는 3이다(즉, P3P 문제).
특징부의 3D 위치를 계산할 때에, 깊이 성분은 가장 큰 오차를 갖지만, VO 시스템에 대해서는, 프레임간 움직임(inter frame motion)이 작고, 이로써 깊이 오차가 3D에서 2D로의 방법(3D to 2D method)의 솔루션에 대해 비교적은 작은 영향을 갖는 것으로 가정하는 것이 합리적이다. 이러한 이유로, PnP 방법을 채용하는 실시예가 통상적으로 바람직하다.
전술한 실시예는 수치 최적화에 건네지는 인라이어 매치의 세트 및 카메라 움직임의 초기 추정(initial guess)을 발생하기 위해 P3P 모델을 갖는 MSAC 추정기를 채용한다.
인라이어 측정치
Figure pct00020
는 움직임 추정치를 개선하기 위해 사용된다. 그러므로, 실시예는 상태 벡터(state vector) x에 포함된 상태 변수의 세트를 파라미터화한다.
MSAC 알고리즘은 잔차 오차(residual error)의 크기에 따라 잔차 오차의 가중치를 다시 부여하며(re-weight), 이것은 아웃라이어의 영향을 감소시킨다.
그러므로, 프레임 s에 저장된 랜드마크
Figure pct00021
및 프레임 i로부터의 g의 관측치
Figure pct00022
가 주어지면, 예측된 상태값은 아래의 함수로 계산된다:
Figure pct00023
(1.10)
여기서,
Figure pct00024
는 프레임 i에 대한 것이 되도록 랜드마크 g를 변환하는 함수이다. C는 랜드마크를 적절한 입체 카메라 프레임(좌측 또는 우측)으로 이동시키고 이것을 이 실시예에서의 익스트린직 로보틱 프레임(extrinsic robotic frame)으로부터 내부 컴퓨터 비전 프레임으로 스위칭하는 센서(센서 100) 및 로봇(예컨대 차량 102) 대 비전 변환(sensor and robot to vision transform)이다. 최종적으로 K는 카메라 투영 함수이다. 상태 x에 대한 이 함수의 도함수는 다음과 같이 된다:
Figure pct00025
(1.11)
우측에서부터 시작하여, 실시예는 각각의 개별 Jacobian을 계산한다.
실시예는 6 자유도(DoF) 자세 추정치를 개선하고자 하며, 모든 랜드마크가 이전의 프레임 j=i-1으로 이동된다(타겟 프레임 i=j와 식 1.3의 적용에 의해)는 것을 기억하여, 실시예는 이하의 것을 계산한다:
Figure pct00026
(1.12)
여기서, 오차는 6 벡터
Figure pct00027
에 의해 파라미터화된 델타 변환 ΔT에 의해 기술되고, x=Δt로 설정한다. 델타 변환은 제로에 대해 평가되고:
Figure pct00028
, 변환 행렬이 아래의 방법으로 t로부터 생성되는 것으로 정의되며,
Figure pct00029
(1.13)
Figure pct00030
(1.14)
Figure pct00031
은 표시된 축에 대한 회전 행렬이다.
센서 및 로봇 대 비전 변환 함수는 2개의 태스크를 수행한다. 제1 태스크는 센서 프레임 i(우리가 움직임을 추정하고 있는 프레임)로부터의 랜드마크를 변환 Tl 및 Tr(각각 좌측과 우측)을 통해 카메라 센서 프레임의 각각으로 이동시키는 것이다. 좌측 카메라에 대한 변환은 I 4 ×4이며, 변환 행렬이 t=[0, -b, 0, 0, 0, 0]로부터 발생되며, 여기서 b는 우측 카메라에 대한 카메라의 베이스라인이다.
이에 따라, 위로부터, 제1 센서(100)의 일부인 2개의 카메라(104, 106)로부터의 출력을 분석함으로써 차량(102)의 궤도(400)가 결정된다. TICSync 알고리즘의 사용은 또한 카메라(104, 106)로부터의 출력의 각각의 프레임이 취해지는 시간을 허용한다.
그러므로, 차량(102)이 이동하는 때에, 2개의 카메라(104, 106)의 출력을 처리하는 처리 회로에 의해 제공된 VO 시스템은 제1 센서(100)의 궤도를 실시간으로 발생한다. 제1 센서(100)와 모니터링 유닛(10)/차량(102)의 상대 위치가 알려져 있으므로, 차량(102)의 궤도 또한 알려지게 된다. 여기서 및 본 명세서의 어떠한 다른 참조에서, 실시간은 실질적으로는 처리가 차량(102)의 네비게이션에 도움을 주기 위해 사용될 수 있도록 차량(102)이 이동하는 때를 의미할 수 있다. 당업자는 발생하는 이벤트 및 수행되는 것으로 위에서 상세하게 설명한 처리로부터 지연이 불가피할 것이라는 것을 이해할 것이다. 그러나, 본 발명의 실시예에서, 지연은 실질적으로 수십 또는 수백 밀리초 정도일 수도 있다.
그러나, 전술한 본 발명의 실시예에서, 제1 센서(100) 및 LIDAR 센서(103)의 각각에 의해 데이터가 생성되었던 때의 타임 스탬프를 결정하기 위해 타이머(130)가 배치된다. 후속 처리 동안, 처리 회로(112)는 상이한 센서(100, 103)에 의해 발생된 데이터의 생성의 발생을 관련시키기 위해 타이머(130)에 의해 결정된 타임 스탬프를 사용한다. 일실시예에서, 타이머는 TICsync 방법의 구현에 의해 제공된다.
타이머(130)는 실질적으로 밀리초의 정확도의 정도로 이벤트의 발생을 결정하도록 구성될 수 있다. 다른 실시예에서, 타이머(130)는 실질적으로 서브 마이크로초 정확도로 이벤트의 발생을 결정하도록 구성될 수도 있다.
전술한 실시예에서, 제1 센서(100) 및 LIDAR 센서(103)는 중첩 시계(overlapping fields of view)를 갖지 않도록 요구된다. 다른 실시예에서는, 2개의 센서는 이들의 각자의 시계가 사실상 중첩하도록 배치될 수도 있다.
제1 센서(100) 및 LIDAR 센서(103)의 각각으로부터의 데이터 출력을 융합(fuse)하기 위해, 위에서 계산된 바와 같은 차량의 궤도가 사용되고, LIDAR 데이터(즉, 제2 센서(103)로부터의 출력)가 카메라 데이터(즉, 제1 센서로부터의 출력)와 회귀 방식으로(retrospectively) 비교된다. 이러한 LIDAR 데이터와 카메라 데이터의 회귀식 비교는 차량(102) 움직임이 센서(100, 103)의 각자의 시계의 중첩을 야기한다는 사실을 이용한다. 그러므로, 처리 회로는 레이저 리턴 데이터(136)인 것으로 생각될 수 있는 LIDAR 센서로부터의 데이터를 수신한다(904).
2D 푸시-브룸 LIDAR로 스웨드(swathe)를 생성하기 위해, LIDAR가 자신의 환경을 통과하여 움직임을 행한다. 구체적으로, 스웨드는 VO에 의해 발생된 궤도를 사용하여 획득된 기본 궤도 추정치 Xb(t) 및 기본 궤도와 LIDAR(103) 간의 추정 캘리브레이션(putative calibration) bTl을 사용하여 구축된다. 다른 실시예는 관성 네비게이션 시스템(Inertial Navigation System, INS)으로부터와 같이 다른 센서 시스템으로부터 궤도를 발생할 수도 있다.
그리고나서, 스웨드는 도 6에 도시된 바와 같이 카메라 c와 기본 궤도 간의 캘리브레이션 bTc을 사용하여 카메라에 투영된다. 이 계산은 제1 센서(100) 및 LIDAR 센서(103)가 서로에 대해 고정된 지향방향을 갖는 실시예에서는 용이하게 된다. 그리고나서, 보간된 LIDAR 반사율 이미지(reflectance image)가 발생되고, 그 예가 도 7에 도시되어 있다.
다음으로, 처리 회로는 카메라에 의해 캡쳐된 이미지 및 LIDAR 반사율 이미지의 정렬을 측정하기 위해 에지 기반의 가중된 SSD 목적 함수(edge-based, weighted SSD(Sum of Squares Distance) objective function)를 사용하도록 구성된다. 전술한 실시예에서, 익스트린직 캘리브레이션을 정의하고 카메라 이미지와 발생된 LIDAR 반사율 이미지의 정렬을 최대화하는 SE(3) 자세를 탐색하기 위해 간편한 반복 최적화(iterative optimisation)가 사용된다. 익스트린직 캘리브레이션의 최상의 추정치는 2개의 이미지의 최상의 정렬을 달성한다.
푸시-브룸 LIDAR로부터 계측적으로 정확한 스웨드를 발생하기 위해서는 센서의 움직임에 대한 정확한 지식이 필요하다. 도 6에 도시된 일반적인 경우에, 기본 궤도 Xb(t)는 시간의 함수로서의 전체 SE(3) 자세(x, y, z, 롤, 피치, 요)이다. Xb(t)는 궤도가 스웨드의 스케일에 걸쳐 계측적으로 정확하다면 관성 네비게이션 시스템(INS) 및 VO(visual odometry)를 포함하는 다수의 센서로부터 구해질 수 있다. LIDAR 및 카메라의 자세는 이 기본 궤도에 관련하여 주어진다.
i번째 LIDAR 스캔이 시각 ti에서 기록되고 포인트 xi의 세트 및 대응하는 반사율값 Ri의 세트로 이루어져, 이 스캔에서의 레이저 포인트 j,
Figure pct00032
가 반사율값 Rij에 연관되도록 한다. 실시예는 현재 i번째 스캔 내의 모든 포인트 j가 동일한 시각에서 캡쳐되는 것으로 근사하고 있지만, 실제로는 각각의 스캔은 20ms를 소요하며, 이것은 실시간으로 이루어지는 것으로 생각될 수 있다. 캘리브레이션을 위해 사용된 데이터가 목적에 따라 낮은 속도로 수집됨에 따라, 이러한 근사는 무시할 수 있는 작용을 갖는다. 현재의 추정 익스트린직 캘리브레이션 bTl 및 기본 궤도에 기초하여 LIDAR Xl(ti)의 자세를 먼저 계산한다.
Figure pct00033
(2.1)
여기서,
Figure pct00034
는 콤포지션 연산자(composition operator)를 나타낸다. 각각의 스캔은 레이저 데이터의 스웨드를 생성하는 로컬 3D 장면 P i에 투영될 수 있다.
Figure pct00035
(2.2)
그리고나서, 처리 회로는 센서 기본 궤도와 LIDAR 간의 익스트린직 캘리브레이션의 함수로서 스웨드들 발생한다. 그 예가 도 5에 도시되어 있다.
다음으로, 처리 회로는 시각 tk에서 이미지
Figure pct00036
를 캡쳐하는 카메라 c의 자세로부터 볼 때의 LIDAR 반사율 이미지를 발생하도록 배치된다. 먼저, 스웨드 P i는 기본 궤도와 카메라 간의 익스트린직 캘리브레이션 bTc의 현재 추정치를 사용하여 기준의 카메라의 프레임 내로 변환된다. 시각 tk에서의 카메라의 자세 Xc(tk)는 다음과 같이 된다:
Figure pct00037
(2.3)
스웨드는 카메라의 프레임으로 변환되고, 알려져 있는 것으로 가정되는 카메라의 인트린직 K를 사용하여 카메라에 투영된다. 그러므로,
Figure pct00038
(2.4)
는 카메라 이미지
Figure pct00039
에서 스웨드 포인트 p i,k의 픽셀 위치를 제공한다. 이 포인트에서, 개별적인 LIDAR 반사율값 R i,k를 사용할 수 있고, 픽셀 세기
Figure pct00040
에 대한 이들의 반사율율 계산할 수 있다. 그러나, 포인트의 세기는 카메라로부터의 더 큰 범위에 있는 포인트들이 이미지 내의 더 작은 영역으로 맵핑하는 때의 단축 효과(foreshortening effect)에 의해 가변적이 될 수 있다. 따라서, 몇몇 실시예는
Figure pct00041
에서 픽셀과 동일한 그리드에 걸쳐 픽셀 위치 p i,k에서의 세기 R i,k를 샘플링하기 위해 규빅 인터폴레이션(cubic interpolation)을 사용한다. 이것은 익스트린직 캘리브레이션의 함수로서 레이저 반사율 이미지
Figure pct00042
를 발생하며, 그 예를 도 7에서 볼 수 있다.
기본 궤도 Xb(t)가 입체 VO(stereo visual odometry)로부터 구해지는 실시예에서, 기본 프레임이 카메라 프레임에 등가로 되어, bTc를 아이덴티티(identity)로 감소시키고 그 다음으로 탐색 공간을 12 자유도에서 6 자유도로 감소시킴에 따라 익스트린직 캘리브레이션이 간략화된다. 레이저 반사율 이미지는 LIDAR와 카메라 간의 익스트린직 캘리브레이션 cTl에 등가인 bTl만의 함수로 된다.
그러므로, 단일 카메라 이미지
Figure pct00043
는, 2D LIDAR로부터의 데이터 및 플랫폼 궤도의 지식이 주어지면, 2개의 센서(100, 103) 간의 추정 익스트린직 캘리브레이션에 기초하여 대응하는 레이저 반사율 이미지
Figure pct00044
를 발생하기 위해 사용될 수 있다.
실시예는 또한 2개의 이미지 간의(즉, LIDAR 출력과 카메라 출력 간의) 정렬의 품질을 반영하는 메트릭(metric)을 찾을 수 있다. 이 태스크는 상호 정보 및 표준 SSD와 같은 기본적인 상관 방안(basic correlation measure)을 유효하지 않게 하는 LIDAR로부터의 반사율 데이터에서의 비선형성에 의해 어렵게 된다.
몇몇 실시예는 매끄러운 기울기 이미지(smoothed gradient image)를 취할 수도 있다. 또한, 몇몇 실시예는 패치 기반 정규화(patch-based normalisation)를 적용할 수 있으며, 이에 의해 기울기의 국부적 변화(local variation)가 전체 이미지에 걸쳐서 또는 적어도
Figure pct00045
Figure pct00046
에서의 대응하는 패치 간에 일관되도록 정규화된다. 패치 기반 정규화를 적용하는 실시예는 국부 이미지 기울기가 향상되는 것과 같은 이점이 있으며, 목적 함수를 지배할 수 있는 강한 에지가 방지된다.
다음으로, 둘 모두의 이미지로부터의 픽셀 값은 이미지 그리드를 통한 반사율 측정치 p i,k의 거리 변환의 역인
Figure pct00047
에 의해 가중되어, 더 높은 샘플링 밀도를 갖는 영역에 가외의 가중치(extra weight)를 제공한다. 그러므로, 목적 함수는 다음과 같이 표현될 수 있다:
Figure pct00048
(2.5)
여기서,
Figure pct00049
는 이미지쌍
Figure pct00050
Figure pct00051
에서의 모든 픽셀에 걸쳐서의 합계를 나타내고, Q(ㆍ)는 크기 기울기 이미지(magnitude gradient image)를 취하고 패치 기반 정규화를 수행하기 전에 가우시안 평활화(Gaussian smoothing)를 수행하는 함수를 나타낸다. 본 발명의 일실시예는 패치 기반 정규화 과정에 대해 20×20 픽셀의 패치 크기 및 6.5의 분산(variance)을 갖는 실질적으로 25×25 픽셀의 가우시안 커널(Gaussian kernel)을 이용한다.
그러므로, 실시예는 처리 회로가 LIDAR 센서 데이터 및 제1 센서의 데이터로부터 포인트 클라우드를 발생하도록 함으로써(단계 908) 도 5에 예시된 바와 같이 환경의 표현을 발생한다. 본 방법에 의해 발생된 표현은 메모리(128)의 데이터 저장부에 표현(138)으로서 저장될 수 있다.
본 발명의 다른 실시예는 모니터링 유닛(10) 상에서 이벤트가 발생하는 시간을 결정하는 다른 방법을 이용할 수도 있다. 예컨대, 처리 회로의 개별 클록으로 하여금 그들 자신을 선택된 클록과 정렬되도록 하는 IEEE transactions vol. 39, no. 10 p1482-1493에 공개된 NTP(Network Time Protocol)을 사용하는 것이 알려져 있다.

Claims (15)

  1. 모니터링 유닛이 환경을 통과하여 이동되는 때에 모니터링 유닛 주위의 환경의 3D 재구성(3D reconstruction)을 발생하는 방법에 있어서,
    a) 적어도 카메라 및 LIDAR 센서를 제공하는 단계로서, 상기 카메라와 상기 LIDAR가 서로에 대하여 고정된 사전 결정된 지향방향(orientation)으로 제공되고, 독립적인 클록에 의해 제어되는, 제공하는 단계;
    b) 상기 모니터링 유닛이 환경을 통과하여 이동하는 때에 상기 모니터링 유닛의 궤도(trajectory)를 결정하기 위해 상기 카메라를 사용하고, 상기 카메라의 클록을 사용하여 제1 시계열(time series)을 결정하는 단계로서, 상기 제1 시계열은 상기 모니터링 유닛이 궤도의 사전 결정된 포인트에 있었던 때를 상세히 알려주는, 제1 시계열을 결정하는 단계;
    c) 상기 LIDAR 센서로 환경을 스캐닝하고, 상기 LIDAR 센서로부터의 리턴을 기록하며, 상기 LIDAR 센서의 클록을 사용하여 제2 시계열을 결정하는 단계로서, 상기 제2 시계열은 상기 LIDAR 센서로부터의 각각의 스캔이 이루어진 때를 상세히 알려주는, 제2 시계열을 결정하는 단계;
    d) 상기 LIDAR 센서로부터의 리턴을 상기 리턴이 수신된 궤도 상의 포인트에 매칭하기 위하여 상기 제1 시계열과 상기 제2 시계열을 관련시키기 위해 타이머를 사용하여 상기 제1 시계열 및 상기 제2 시계열을 처리하는 단계; 및
    e) 상기 카메라와 상기 LIDAR 센서 간의 고정된 사전 결정된 지향방향을 이용하여, 상기 LIDAR 리턴에 기초한 3D 재구성을 생성하는 단계
    를 포함하는 3D 재구성을 발생하는 방법.
  2. 제1항에 있어서,
    상기 제1 시계열과 상기 제2 시계열을 관련시키기 위해 통계학적 방법에 의해 시간이 제공되며, 특히 제1 클록 및 제2 클록으로부터의 시계열을 관련시키기 위해 사용되는 타이머를 제공하기 위해 TICsync 알고리즘을 사용할 수 있는, 3D 재구성을 발생하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 모니터링 유닛이 환경을 통과하여 이동되는 때에 환경의 입체 이미지의 스트림을 발생하기 위해 사용되는 입체쌍의 카메라(stereoscopic pair of cameras)를 사용하는, 3D 재구성을 발생하는 방법.
  4. 제3항에 있어서,
    상기 궤도를 발생하기 위해 상기 입체 이미지의 스트림을 처리하는, 3D 재구성을 발생하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    제1 센서 및 LIDAR 센서로부터 수신된 데이터를 처리함으로써 상기 제1 센서 및 상기 LIDAR 센서의 고정된 지향방향을 결정하는, 3D 재구성을 발생하는 방법.
  6. 모니터링 유닛에 있어서,
    카메라 및 적어도 하나의 LIDAR 센서의 각각으로부터의 데이터를 수신하도록 배치된 처리 회로를 포함하며,
    상기 카메라는 제1 시계열을 제공하는 제1 클록에 의해 제어되고, 상기 모니터링 유닛에 대하여 고정된 지향방향으로 장착되며, 상기 처리 회로는 상기 카메라로부터 수신된 데이터로부터 궤도를 발생하도록 배치되며,
    상기 LIDAR 센서는 제2 시계열을 제공하는 제2 클록에 의해 제어되고, 상기 모니터링 유닛에 대하여 고정된 지향방향으로 장착되며, 상기 LIDAR 센서는 상기 모니터링 유닛이 환경을 통과하여 이동되는 때에 상기 모니터링 유닛의 환경을 스캔하도록 배치되며,
    상기 처리 회로는 상기 카메라로부터의 데이터 외에 상기 LIDAR 센서로부터의 데이터를 수신하고, 상기 제1 시계열 및 상기 제2 시계열을 처리하고, 상기 제1 시계열과 상기 제2 시계열을 관련시키고 상기 LIDAR 센서로부터의 데이터를 궤도에 매칭하기 위해 타이머를 사용하고, 이러한 매칭으로부터 환경의 3D 재구성을 발생하도록 배치되는,
    모니터링 유닛.
  7. 제6항에 있어서,
    하나 이상의 2차원 LIDAR 센서를 포함하는, 모니터링 유닛.
  8. 제6항 또는 제7항에 있어서,
    2개의 LIDAR 센서를 포함하는, 모니터링 유닛.
  9. 제7항 또는 제8항에 있어서,
    상기 LIDAR 센서 또는 각각의 상기 LIDAR 센서가 푸시-브룸 구성(push-broom arrangement)으로 장착되는, 모니터링 유닛.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 카메라와 상기 LIDAR 센서는 중첩 시계(overlapping fields of view)를 갖지 않도록 배치되는, 모니터링 유닛.
  11. 제6항 내지 제10항 중 어느 한 항에 있어서,
    사용자에 의해 운반될 수 있는 단일 유닛 내에 배치되는, 모니터링 유닛.
  12. 제11항에 있어서,
    사용자에 의해 착용될 수 있는 백팩에 배치되는, 모니터링 유닛.
  13. 제6항 내지 제12항 중 어느 한 항에 있어서,
    입체쌍의 카메라를 더 포함하는, 모니터링 유닛.
  14. 명령을 포함하고 있는 기기 판독 가능 매체로서,
    상기 명령은 기기에 의해 판독되는 때에 상기 기기로 하여금 청구항 1 내지 청구항 5 중 어느 한 청구항의 방법을 제공하도록 하는, 기기 판독 가능 매체.
  15. 명령을 포함하고 있는 기기 판독 가능 매체로서,
    상기 명령은 기기에 의해 판독되는 때에 상기 기기로 하여금 청구항 6 내지 청구항 13 중 어느 한 청구항의 모니터링 유닛의 적어도 일부분을 제공하도록 하는, 기기 판독 가능 매체.
KR1020157025332A 2013-02-21 2014-02-21 환경의 3d 모델의 발생 KR20150119337A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1303076.2 2013-02-21
GBGB1303076.2A GB201303076D0 (en) 2013-02-21 2013-02-21 Generation of 3D models of an environment
PCT/GB2014/050539 WO2014128498A2 (en) 2013-02-21 2014-02-21 Generation of 3d models of an environment

Publications (1)

Publication Number Publication Date
KR20150119337A true KR20150119337A (ko) 2015-10-23

Family

ID=48091865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025332A KR20150119337A (ko) 2013-02-21 2014-02-21 환경의 3d 모델의 발생

Country Status (8)

Country Link
US (1) US10109104B2 (ko)
EP (1) EP2959315B1 (ko)
JP (1) JP2016516977A (ko)
KR (1) KR20150119337A (ko)
CN (1) CN105143915A (ko)
GB (1) GB201303076D0 (ko)
HK (1) HK1212450A1 (ko)
WO (1) WO2014128498A2 (ko)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006031580A1 (de) 2006-07-03 2008-01-17 Faro Technologies, Inc., Lake Mary Verfahren und Vorrichtung zum dreidimensionalen Erfassen eines Raumbereichs
US9529083B2 (en) 2009-11-20 2016-12-27 Faro Technologies, Inc. Three-dimensional scanner with enhanced spectroscopic energy detector
US9628775B2 (en) 2010-01-20 2017-04-18 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9607239B2 (en) 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9879976B2 (en) 2010-01-20 2018-01-30 Faro Technologies, Inc. Articulated arm coordinate measurement machine that uses a 2D camera to determine 3D coordinates of smoothly continuous edge features
US9163922B2 (en) 2010-01-20 2015-10-20 Faro Technologies, Inc. Coordinate measurement machine with distance meter and camera to determine dimensions within camera images
DE102010020925B4 (de) 2010-05-10 2014-02-27 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
DE102012100609A1 (de) 2012-01-25 2013-07-25 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
DE102012109481A1 (de) 2012-10-05 2014-04-10 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
US9513107B2 (en) 2012-10-05 2016-12-06 Faro Technologies, Inc. Registration calculation between three-dimensional (3D) scans based on two-dimensional (2D) scan data from a 3D scanner
WO2016089430A1 (en) * 2014-12-03 2016-06-09 Faro Technologies, Inc. Using two-dimensional camera images to speed registration of three-dimensional scans
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
GB201301281D0 (en) 2013-01-24 2013-03-06 Isis Innovation A Method of detecting structural parts of a scene
US9964409B1 (en) * 2014-05-27 2018-05-08 Apple Inc. Localized map generation
GB201409625D0 (en) 2014-05-30 2014-07-16 Isis Innovation Vehicle localisation
US11051000B2 (en) * 2014-07-14 2021-06-29 Mitsubishi Electric Research Laboratories, Inc. Method for calibrating cameras with non-overlapping views
GB2531531A (en) * 2014-10-20 2016-04-27 Bae Systems Plc Optical inertial measurement apparatus and method
US9369689B1 (en) * 2015-02-24 2016-06-14 HypeVR Lidar stereo fusion live action 3D model video reconstruction for six degrees of freedom 360° volumetric virtual reality video
GB2535768B (en) * 2015-02-27 2018-08-29 3D Laser Mapping Ltd Monitoring an environment
US9625582B2 (en) * 2015-03-25 2017-04-18 Google Inc. Vehicle with multiple light detection and ranging devices (LIDARs)
US10175360B2 (en) 2015-03-31 2019-01-08 Faro Technologies, Inc. Mobile three-dimensional measuring instrument
CN112665556B (zh) 2015-04-01 2023-09-05 瓦亚视觉传感有限公司 使用被动和主动测量生成场景的三维地图
US10250833B2 (en) 2015-04-20 2019-04-02 Samsung Electronics Co., Ltd. Timestamp calibration of the 3D camera with epipolar line laser point scanning
US10145678B2 (en) 2015-04-20 2018-12-04 Samsung Electronics Co., Ltd. CMOS image sensor for depth measurement using triangulation with point scan
US11736832B2 (en) 2015-04-20 2023-08-22 Samsung Electronics Co., Ltd. Timestamp calibration of the 3D camera with epipolar line laser point scanning
US20160309135A1 (en) 2015-04-20 2016-10-20 Ilia Ovsiannikov Concurrent rgbz sensor and system
US11002531B2 (en) 2015-04-20 2021-05-11 Samsung Electronics Co., Ltd. CMOS image sensor for RGB imaging and depth measurement with laser sheet scan
GB2537681B (en) 2015-04-24 2018-04-25 Univ Oxford Innovation Ltd A method of detecting objects within a 3D environment
US20170171525A1 (en) 2015-12-14 2017-06-15 Sony Corporation Electronic system including image processing unit for reconstructing 3d surfaces and iterative triangulation method
DE102015122844A1 (de) 2015-12-27 2017-06-29 Faro Technologies, Inc. 3D-Messvorrichtung mit Batteriepack
US10343620B2 (en) * 2016-04-22 2019-07-09 Uber Technologies, Inc. External sensor assembly for vehicles
US20180147986A1 (en) * 2016-06-30 2018-05-31 Faraday&Future Inc. Method and system for vehicle-based image-capturing
GB2555199B (en) 2016-08-19 2022-03-16 Faro Tech Inc Using a two-dimensional scanner to speed registration of three-dimensional scan data
CN107798704B (zh) * 2016-08-30 2021-04-30 成都理想境界科技有限公司 一种用于增强现实的实时图像叠加方法及装置
US10380749B2 (en) 2016-09-26 2019-08-13 Faro Technologies, Inc. Device and method for indoor mobile mapping of an environment
US10282854B2 (en) 2016-10-12 2019-05-07 Faro Technologies, Inc. Two-dimensional mapping system and method of operation
US10754035B2 (en) * 2017-01-17 2020-08-25 Aptiv Technologies Limited Ground classifier system for automated vehicles
US20180203885A1 (en) * 2017-01-18 2018-07-19 Microsoft Technology Licensing, Llc Controlling creation/access of physically senses features
US11132810B2 (en) * 2017-02-01 2021-09-28 Hitachi, Ltd. Three-dimensional measurement apparatus
US10097757B1 (en) * 2017-03-24 2018-10-09 Fotonation Limited Method for determining bias in an inertial measurement unit of an image acquisition device
US10824773B2 (en) 2017-03-28 2020-11-03 Faro Technologies, Inc. System and method of scanning an environment and generating two dimensional images of the environment
EP3615961A4 (en) 2017-05-15 2021-01-20 Ouster, Inc. ENHANCEMENT OF PANORAMIC LIDAR RESULTS WITH COLOR
US10670722B2 (en) 2017-08-15 2020-06-02 Samsung Electronics Co., Ltd. Increase depth resolution and depth accuracy in ToF sensors by avoiding histogrammization
WO2019088997A1 (en) * 2017-10-31 2019-05-09 Bae Systems Information And Electronic Systems Integration Inc. Dual field of view optics
US20190164445A1 (en) * 2017-11-27 2019-05-30 Cae Inc. Method and system for simulating a radar image
CN108235725B (zh) * 2018-02-26 2021-08-10 达闼机器人有限公司 基于云端的轨迹地图生成方法、装置、设备及应用程序
US10984583B2 (en) * 2018-03-28 2021-04-20 Apple Inc. Reconstructing views of real world 3D scenes
WO2019203840A1 (en) * 2018-04-19 2019-10-24 Hewlett-Packard Development Company, L.P. Three-dimensional calibration target
US11069074B2 (en) 2018-04-23 2021-07-20 Cognex Corporation Systems and methods for improved 3-D data reconstruction from stereo-temporal image sequences
CN109345596A (zh) * 2018-09-19 2019-02-15 百度在线网络技术(北京)有限公司 多传感器标定方法、装置、计算机设备、介质和车辆
DE102019212602A1 (de) * 2018-09-26 2020-03-26 Robert Bosch Gmbh Verfahren zum quantitativen Charakterisieren zumindest einer zeitlichen Sequenz eines Objektattribut-Fehlers eines Objektes
US11024050B2 (en) 2018-11-05 2021-06-01 Faro Technologies, Inc. System and method of scanning an environment
US11555903B1 (en) 2018-11-30 2023-01-17 Zoox, Inc. Sensor calibration using dense depth maps
US10916035B1 (en) * 2018-11-30 2021-02-09 Zoox, Inc. Camera calibration using dense depth maps
US11486701B2 (en) 2019-02-06 2022-11-01 Faro Technologies, Inc. System and method for performing a real-time wall detection
KR20210150624A (ko) * 2019-05-03 2021-12-13 엘지전자 주식회사 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
US11861957B2 (en) 2019-05-09 2024-01-02 Argo AI, LLC Time master and sensor data collection for robotic system
US11891086B2 (en) * 2019-05-13 2024-02-06 Hitachi Astemo, Ltd. Vehicle control system
US11598865B2 (en) 2019-06-14 2023-03-07 Ford Global Technologies, Llc Sensor assembly with cleaning
GB2584914A (en) * 2019-06-28 2020-12-23 Airbus Operations Ltd Autonomous mobile aircraft inspection system
CN110414400B (zh) * 2019-07-22 2021-12-21 中国电建集团成都勘测设计研究院有限公司 一种施工现场安全帽穿戴自动检测方法及系统
JP7140091B2 (ja) * 2019-10-28 2022-09-21 株式会社デンソー 画像処理装置、画像処理方法、画像処理プログラム、及び画像処理システム
CN111028350B (zh) * 2019-11-21 2022-05-20 大连理工大学 一种利用双目立体相机构建栅格地图的方法
US11493922B1 (en) 2019-12-30 2022-11-08 Waymo Llc Perimeter sensor housings
CN111198563B (zh) * 2019-12-30 2022-07-29 广东省智能制造研究所 一种用于足式机器人动态运动的地形识别方法及系统
US11557127B2 (en) 2019-12-30 2023-01-17 Waymo Llc Close-in sensing camera system
CN111199578B (zh) * 2019-12-31 2022-03-15 南京航空航天大学 基于视觉辅助激光雷达的无人机三维环境建模方法
US10802122B1 (en) * 2020-01-15 2020-10-13 Ike Robotics, Inc. Methods and systems for calibration of multiple lidar devices with non-overlapping fields of view
US11341719B2 (en) * 2020-05-07 2022-05-24 Toyota Research Institute, Inc. System and method for estimating depth uncertainty for self-supervised 3D reconstruction
US20210358173A1 (en) * 2020-05-11 2021-11-18 Magic Leap, Inc. Computationally efficient method for computing a composite representation of a 3d environment
CA3194223A1 (en) 2020-07-21 2021-10-06 Leddartech Inc. Beam-steering device particularly for lidar systems
WO2022016277A1 (en) 2020-07-21 2022-01-27 Leddartech Inc. Systems and methods for wide-angle lidar using non-uniform magnification optics
US11567179B2 (en) 2020-07-21 2023-01-31 Leddartech Inc. Beam-steering device particularly for LIDAR systems
KR102543871B1 (ko) * 2021-01-18 2023-06-20 네이버랩스 주식회사 도로정보 변화 영역 보완 방법 및 시스템
CN113014812B (zh) * 2021-03-01 2022-04-15 中电海康集团有限公司 一种摄像头与激光雷达时间同步控制系统
WO2022196195A1 (ja) * 2021-03-16 2022-09-22 株式会社デンソー 測距制御装置、測距制御方法、測距制御プログラム、および測距装置
JP7396379B2 (ja) 2021-03-16 2023-12-12 株式会社デンソー 測距制御装置、測距制御方法、測距制御プログラム、および測距装置
WO2023280147A1 (en) * 2021-07-05 2023-01-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
CN114279392B (zh) * 2021-12-27 2024-02-06 深圳市星卡科技股份有限公司 转向角传感器的校准方法、装置和计算机设备

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3538476B2 (ja) 1995-05-12 2004-06-14 本田技研工業株式会社 車両の走行路区分線などの認識装置
JP3052286B2 (ja) 1997-08-28 2000-06-12 防衛庁技術研究本部長 飛行システムおよび航空機用擬似視界形成装置
AU2001271238A1 (en) 2000-03-16 2001-09-24 The Johns-Hopkins University Light detection and ranging (lidar) mapping system
JP4486737B2 (ja) * 2000-07-14 2010-06-23 アジア航測株式会社 モービルマッピング用空間情報生成装置
US20110285842A1 (en) 2002-06-04 2011-11-24 General Electric Company Mobile device positioning system and method
US7583275B2 (en) 2002-10-15 2009-09-01 University Of Southern California Modeling and video projection for augmented virtual environments
US6879279B2 (en) 2003-01-14 2005-04-12 The Regents Of The University Of California Differential optical synthetic aperture radar
DE10305861A1 (de) 2003-02-13 2004-08-26 Adam Opel Ag Vorrichtung eines Kraftfahrzeuges zur räumlichen Erfassung einer Szene innerhalb und/oder außerhalb des Kraftfahrzeuges
US7474332B2 (en) 2003-08-28 2009-01-06 Raytheon Company Synthetic aperture ladar system and method using real-time holography
CA2547359C (en) 2003-11-26 2012-11-27 Florida Environmental Research Institute, Inc. Spectral imaging system
GB2411532B (en) 2004-02-11 2010-04-28 British Broadcasting Corp Position determination
US7697748B2 (en) * 2004-07-06 2010-04-13 Dimsdale Engineering, Llc Method and apparatus for high resolution 3D imaging as a function of camera position, camera trajectory and range
WO2007094765A2 (en) 2005-02-10 2007-08-23 Sarnoff Corporation Method and apparatus for performing wide area terrain mapping
WO2007030026A1 (en) 2005-09-09 2007-03-15 Industrial Research Limited A 3d scene scanner and a position and orientation system
US7417717B2 (en) * 2005-10-05 2008-08-26 Utah State University System and method for improving lidar data fidelity using pixel-aligned lidar/electro-optic data
GB2434269B (en) 2006-01-17 2010-04-28 3D Laser Mapping Ltd Measuring apparatus
EP1840507B1 (en) * 2006-03-28 2013-07-17 Riccardo Clarici Method and integrated system for the digital survey of three-dimensional environments.
DE102006062061B4 (de) 2006-12-29 2010-06-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Bestimmen einer Position basierend auf einem Kamerabild von einer Kamera
AU2007361324A1 (en) 2007-11-07 2009-05-14 Tele Atlas B.V. Method of and arrangement for mapping range sensor data on image sensor data
EP2093699A1 (en) 2008-02-19 2009-08-26 British Telecommunications Public Limited Company Movable object status determination
CN101259856B (zh) * 2008-04-10 2010-06-02 上海交通大学 倒置滚轮式定位移动机器人
US8332134B2 (en) 2008-04-24 2012-12-11 GM Global Technology Operations LLC Three-dimensional LIDAR-based clear path detection
CN101640788B (zh) 2008-07-29 2012-06-20 深圳市朗驰欣创科技有限公司 一种监控控制方法、装置及监控系统
CN101872498A (zh) * 2009-04-23 2010-10-27 徐克林 一种车辆轨迹采集系统
JP2011080845A (ja) 2009-10-06 2011-04-21 Topcon Corp 3次元データ作成方法及び3次元データ作成装置
CN102059978B (zh) * 2009-11-16 2014-09-10 财团法人工业技术研究院 驾驶辅助方法与系统
WO2011120141A1 (en) 2010-03-31 2011-10-06 Ambercore Software Inc. Dynamic network adjustment for rigorous integration of passive and active imaging observations into trajectory determination
EP2558953A4 (en) 2010-04-13 2014-08-06 Visual Intelligence Lp SELF-CALIBRATING DEVICE AND DATA PROCESSING SYSTEM
WO2011152841A1 (en) 2010-06-01 2011-12-08 Hewlett-Packard Development Company, L.P. Replacement of a person or object in an image
MY162769A (en) 2010-10-25 2017-07-14 Lockheed Corp Detecting structural changes to underwater structures
BR112013011485A2 (pt) 2010-10-25 2019-04-02 Lockheed Martin Corporation estimativa de posição e orientação de um veículo subaquático relativo a estruturas submarinas
JP5686342B2 (ja) 2011-01-28 2015-03-18 国立大学法人東北大学 レーザレーダ装置およびレーザ合成開口レーダ装置
GB201121216D0 (en) 2011-12-09 2012-01-18 Isis Innovation Methods and apparatus for utilising solutions to sat problems
GB201301281D0 (en) 2013-01-24 2013-03-06 Isis Innovation A Method of detecting structural parts of a scene
GB201409625D0 (en) 2014-05-30 2014-07-16 Isis Innovation Vehicle localisation

Also Published As

Publication number Publication date
EP2959315A2 (en) 2015-12-30
GB201303076D0 (en) 2013-04-10
EP2959315B1 (en) 2018-06-27
CN105143915A (zh) 2015-12-09
WO2014128498A2 (en) 2014-08-28
US20150379766A1 (en) 2015-12-31
HK1212450A1 (en) 2016-06-10
JP2016516977A (ja) 2016-06-09
WO2014128498A3 (en) 2014-10-16
US10109104B2 (en) 2018-10-23

Similar Documents

Publication Publication Date Title
US10109104B2 (en) Generation of 3D models of an environment
CN112785702B (zh) 一种基于2d激光雷达和双目相机紧耦合的slam方法
US10948297B2 (en) Simultaneous location and mapping (SLAM) using dual event cameras
US10755428B2 (en) Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
US11295456B2 (en) Visual-inertial odometry with an event camera
US10789765B2 (en) Three-dimensional reconstruction method
JP6734940B2 (ja) 三次元計測装置
CN110880189B (zh) 联合标定方法及其联合标定装置和电子设备
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
US7599548B2 (en) Image processing apparatus and image processing method
CN112219087A (zh) 位姿预测方法、地图构建方法、可移动平台及存储介质
Draelos et al. The Kinect up close: Adaptations for short-range imaging
US20150125045A1 (en) Environment Mapping with Automatic Motion Model Selection
JP2011123071A (ja) 撮像装置、オクルージョン領域の探索方法、及びプログラム
Knorr et al. Online extrinsic multi-camera calibration using ground plane induced homographies
US20180075614A1 (en) Method of Depth Estimation Using a Camera and Inertial Sensor
CN112184824A (zh) 一种相机外参标定方法、装置
US20180075609A1 (en) Method of Estimating Relative Motion Using a Visual-Inertial Sensor
JPWO2005124687A1 (ja) 光学式モーションキャプチャシステムにおけるマーカトラッキング方法、光学式モーションキャプチャ方法及びシステム
JP2016085602A (ja) センサ情報統合方法、及びその装置
CN113587934A (zh) 一种机器人、室内定位方法、装置和可读存储介质
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
Karrer et al. Real-time dense surface reconstruction for aerial manipulation
JP5530391B2 (ja) カメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラム
CN115082290A (zh) 激光雷达点云的投影方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application