KR102053802B1 - 센서를 위치판단하는 방법 및 관련된 장치 - Google Patents

센서를 위치판단하는 방법 및 관련된 장치 Download PDF

Info

Publication number
KR102053802B1
KR102053802B1 KR1020147025184A KR20147025184A KR102053802B1 KR 102053802 B1 KR102053802 B1 KR 102053802B1 KR 1020147025184 A KR1020147025184 A KR 1020147025184A KR 20147025184 A KR20147025184 A KR 20147025184A KR 102053802 B1 KR102053802 B1 KR 102053802B1
Authority
KR
South Korea
Prior art keywords
stored
vehicle
collection
representations
representation
Prior art date
Application number
KR1020147025184A
Other languages
English (en)
Other versions
KR20140130467A (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 KR20140130467A publication Critical patent/KR20140130467A/ko
Application granted granted Critical
Publication of KR102053802B1 publication Critical patent/KR102053802B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/485Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Abstract

센서를 호스팅하는 차량을 위치판단(localising)하는 방법으로서, 현재 시각에서의 차량 주위의 감지된 장면을 제공하는 상기 센서로부터 데이터를 캡쳐하는 단계, 상기 감지된 장면을 처리하여 상기 감지된 장면으로부터 피쳐의 세트를 추출하고 추출된 피쳐를 사용하여 상기 차량의 포지션을 더 이른 시각에서의 상기 센서의 포지션과 관련하여 상기 감지된 장면으로부터 결정하는 단계, 상기 감지된 장면으로부터의 피쳐의 추출된 세트를 하나 이상의 저장된 경험과 비교하여 상기 감지된 장면이 상기 저장된 경험 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 단계로서, 각각의 저장된 경험은 피쳐의 복수 개의 세트를 포함하고, 피쳐의 각각의 세트는 이전에 감지된 장면으로부터 결정된 바 있는, 단계, 및 만일 감지된 장면의 피쳐의 추출된 세트가 저장된 경험의 임의의 하나 내에서 인식되면, 그 저장된 경험이 저장된 경험에 대한 현재 시각의 차량 포지션의 추정치를 생성하기 위하여 사용되는 단계를 포함하는, 방법.

Description

센서를 위치판단하는 방법 및 관련된 장치{METHOD OF LOCATING A SENSOR AND RELATED APPARATUS}
본 발명의 실시예는 차량을 위치판단하는 방법, 또는 차량에서 사용되도록 구현된 센서, 및 관련된 장치에 관련된다.
위치판단(즉 포지션 결정) 및 매핑 알고리즘이 발전함에 따라 매우 긴 기간의 네비게이션의 문제점이 더욱 시급해진다. 로보틱(몇 가지 실시예들에서 이것은 차량일 수도 있음) 네비게이션에서의 공통적인 문제점이 환경을 변경하는 데에 필요하며 일생 동안의 자율성(autonomy)을 구현하는 데에 주된 방해물이다. 전통적인 매핑 접근법은 흔히 통상적으로 단일 모놀리식 접근법인 초기 맵을(퓨전 또는 평균화와 같은 처리의 결과로서) 최초 방문 시에 한 번 생성하고, 이것이 후속 방문에도 유용하게 외관상 충분히 근접할 것으로 기대한다. 최근에 이러한 문제점들을 해결하기 위한 시도가 있었다.
장기 자율성을 획득하기 위하여 로보틱 시스템은 변화하는 환경에서 기능할 수 있어야 하는데, 이것은 당업계에서 볼 때에는 큰 도전이다. 변화는 많은 소스: 갑작스런 구조적 변화, 조명 상태, 하루의 시간, 날씨, 계절적 변화 및 기타 등등으로부터 유래할 수 있다. 예를 들기 위하여, 실외에서 동작하는 로봇 상에 탑재된 카메라가 있는 에고-모션 추정의 문제점을 고려한다. 이것은 풍부하게 추구된 연구의 분야이고, 우리는 모든 것을 즉시 매핑하고 위치판단할 수 있는 시각적 네비게이션(Simultaneous Localisation And Mapping - SLAM) 시스템에 도달한다. 그러나, 그 위치가 재방문될 때 이것은 크게 변화하였을 수 있으며 예를 들면 눈이 내렸을 수도 있다. 여름에서 가을로 계절이 변화함에 따라, 장면의 외관은 점진적으로 변경될 수도 있다. 종래 기술은 변화하는 환경 내에서 위치판단을 허용하는 정보를 포함하는 모놀리식 맵을 생성하는 것이 필요하다고 제안한다.
코노리지(Konolige) 및 바우만(Bowman)([1] K. 코노리지(Konolige) 및 J. 바우만(Bowman), "Towards lifelong visual maps," in IROS , 2009, pp. 1156-1163)은 그들의 뷰-기초 맵 시스템([2] K. 코노리지(Konolige), J. 바우만(Bowman), J. D. 첸(Chen), P. 미헬리치(Mihelich), M. 칼론더(Calonder), V. 레페티트(Lepetit), 및 P. 푸아(Fua), "View-based maps," International Journal of Robotics Research(IJRR), vol. 29, no. 10, 2010)을 개발하여 실내 환경에서의 변화에 적응한다. 이 시스템은 VO(Visual Odometry) 시스템으로부터의 키-프레임의 골격 그래프(skeleton graph)를 생성한다. 그러면 노드에 저장된 뷰들은 최대 뷰 수를 제한하면서 뷰 다양성을 보존하도록 설계된 기법에 기초하여 업데이트되고 삭제된다. 그들의 골격 맵은 참조의 단일 프레임이며 토로(Toro)([3] G. 그리세티(Grisetti), C. 스타크니스(Stachniss), S. 그르존카(Grzonka), 및 W. 버가드(Burgard), "A Tree Parameterization for Efficiently Computing Maximum Likelihood Maps using Gradient Descent," Robotics Science and Systems, 2007)을 통하여 점차 최적화된다. 이들은 이동하는 사람, 가구 및 변화하는 조명 조건을 포함하는 오피스에 대한 결과를 보여준다.
밀포드(Milford) 및 이에쓰(Wyeth)의 RatSLAM 시스템([4] M. 밀포드(Milford) 및 G. 이에쓰(Wyeth), "Persistent navigation and mapping using a biologically inspired SLAM system," The International Journal of Robotics Research, 2009)은 경험의 콜렉션을 저장하는 경험 맵의 개념을 사용한다. 그들의 경험은 주행거리 측정 드리프트의 문제점을 해결하기 위하여 다른 경험으로의 천이 정보를 역시 저장하는, 실세계의 장소들이다. 시간이 지남에 따라서 경험 맵은 이완되어 절대 경험 위치 및 이것의 다른 것으로의 천이 정보 사이의 차분을 최소화한다. 또한 경험은 밀도를 낮추기 위하여 삭제된다.
바이버(Biber) 및 더켓(Duckett)([5] P. 바이버(Biber) 및 T. 더켓(Duckett), "Dynamic maps for long-term operation of mobile service robots," in Proceedings of Robotics : Science and Systems , Cambridge, USA, June 2005)은 일련의 타임 스케일에서 레이저 맵을 샘플링하여 장기 및 단기 구조 모두를 가지는 단일 맵을 생성한다. 이것은 이들이 단기적인 동적 오브젝트 및 장기적인 구조적 변화 모두를 모델링하도록 허용한다. 이들은 혼잡한 랩 환경에 대한 주간 기간 동안의 개선된 위치판단 정확도를 보여준다.
우리는 또한 실외 환경에서의 비젼을 사용한 티치 및 반복(teach and repeat) 시스템을 개발한 퍼게일(Furgale) 및 바풋(Barfoot)의 연구([6] P. 퍼게일(Furgale) 및 T. D. 바풋(Barfoot), "Visual teach and repeat for long-range rover autonomy," Journal of Field Robotics , vol. 27, no. 5, pp. 534-560, 2010)에 주목한다. 티치 페이즈 도중에 로봇은 VO를 사용하여 일련의 서브맵을 생성한다. 그러면 원래의 경로를 재추적하기 위하여 위치판단 모듈이 사용된다. 이들은 수 킬로미터에 걸친 결과를 보여준다.
그러나, 위의 기법 중 어느 것도 센서(또는 그 센서를 운반하는 차량)가 환경을 거쳐 이동하는 동안 경험될 수 있는 변화하는 환경에 만족스럽게 대처할 수 없다.
본 발명의 제 1 양태에 따르면 센서를 호스팅하는 차량을 위치판단(localising)하는 방법으로서, 다음 단계들:
a) 현재 시각에서의 차량 주위의 감지된 장면을 제공하는 상기 센서로부터 데이터를 캡쳐하는 단계;
b) 상기 감지된 장면을 처리하는 단계로서, 상기 처리는 상기 차량의 포지션을 더 이른 시각에서의 상기 센서의 포지션과 관련하여 상기 감지된 장면으로부터 결정하는, 단계;
c) 상기 감지된 장면을 하나 이상의 저장된 경험과 비교하여 상기 감지된 장면이 상기 저장된 경험 중 임의의 것 또는 이들 각각 내에서 인식될 수 있는지 여부를 확인하는 단계;
d) 만일 감지된 장면이 저장된 경험 내에서 인식되면, 그 저장된 장면이 저장된 경험에 대한 현재 시각의 차량 포지션의 추정치를 생성하기 위하여 사용되는 단계; 및
e) 단계 a 내지 단계 d 중 적어도 일부를 반복하는 단계 중 적어도 하나를 포함하는 방법이 제공된다.
이러한 방법을 제공하는 실시예들은 그들이 선행 기술 시스템보다 더 용이하게 변화하는 환경 내에서 차량의 위치판단을 하도록 허용할 수 있기 때문에 유익한 것으로 여겨진다. 더 나아가, 이러한 실시예들은 감지된 장면에 관련된 데이터가 필요성이 대두될 경우에만 저장될 필요가 있다는 것을 의미하며, 이러한 전략은 요구되는 저장의 양과 함께 저장된 데이터를 처리하기 위하여 요구될 수 있는 처리의 양을 감소시키는 것을 돕는다. 이와 같이, 본 발명의 실시예는 더 정확하고, 기대될 수 있는 것보다 더 적은 메모리를 요구하며, 종래 기술보다 더 빠를 수도 있다.
차량을 위치판단(localising)한다는 용어는 센서에 의하여 생성된 데이터로부터, 더 이른 시각에 상대적인 차량의 포지션을 결정하는 것에 관련되는 것으로 의도된다. 위치판단은 센서로부터 데이터를 얻고, 장면의 이전 표현(통상적으로 맵에 의하여 제공되거나 몇 가지 실시예들에서는 저장된 경험에 의하여 제공됨)의 존재 하에 그 데이터를 처리하며, 이러한 이전 표현에 대한 차량 자세(포지션)의 파라미터화를 얻어내는 능력이다. 통상적으로, 발명의 실시예에서는 이전 표현은 복수 개의 저장된 경험에 의하여 제공된다.
편리하게도, 이 방법은 만일 현재 장면이 선결정된 개수를 초과하는 저장된 경험 내에서 인식되지 않으면, 상기 방법은 상기 감지된 장면이 장래 비교를 위한 새로운 저장된 경험의 일부가 되도록 상기 감지된 장면을 저장하도록 구현된다. 이러한 실시예는 자기 자신의 경험으로부터의 학습이라는 점에서 유익한 것으로 여겨진다. 차량이 더 많은 장면을 감지하면, 그 차량이 장래에 사용할 수 있는 저장된 경험의 개수는 증가할 것이다.
본 발명의 실시예에 의하여 사용되는 접근법은 겨울철에 주어진 나무에 대한 피쳐는 결코 여름철에 동일한 나무에 대해서 기록되는 피쳐가 아니라는 것에 주목한다; 온도가 높은 낮에 물에 젖은 도로에 대하여 목격된 세부사항은 도로가 건조할 때 새벽에 발견된 것들과는 상이하다. 본 발명의 실시예는 사물들이 코히어런트하도록 강요하려고 시도하지 않는다. 만일, 예를 들어, 화요일의 환경이 수요일에는 크게 상이해 보인다면, 실시예들은 해당 환경의 정수를 동등하게 캡쳐하는 두 개의 독립적인 경험으로서 이들을 유사하게 다룰 것이다. 실시예들은 이들을 오직 토폴로지적으로 연결한다(tie). 마지막으로, 몇몇 실시예들은 저장된 경험을 아래에서 논의되는 장소의 개념을 통하여 링크시킬 수도 있다.
새로운 영역으로의 차량의 최초 방문 시에, 본 발명의 실시예는 시각적 피쳐(통상적으로 센서로부터 생성된 데이터에 의하여 제공됨)의 성좌(constellation)를 새로운 경험으로서 저장할 수도 있다.
그러나, 센서 / 차량이 이동함에 따라 본 발명의 실시예는 감지된 장면을 임의의 저장된 경험 내에서 위치판단하려고 시도하도록 구현된다. 이를 고려하여, 그 영역을 재방문할 때, 센서 / 차량은 데이터(이미지일 수도 있음)의 라이브 스트림을 사용하여 임의의 저장된 경험 내에서 위치판단하려고 시도한다. 몇 가지 실시예들에서, 이 방법은 저장된 경험이 그것을 사용하는 차량 / 센서에 의하여 생성되도록 구현될 수도 있다.
그러나, 다른 실시예들에서, 저장된 경험은 그들을 생성했던 차량/센서가 아닌 차량 및/또는 센서에 의하여 사용될 수도 있다. 이것은 그들을 생성했던 차량 및/또는 센서에 의하여 사용된 이후에 추가적으로 이루어질 수도 있다. 이러한 실시예는 복수 개의 차량이 저장된 경험에 액세스하도록 허용하는, 경험의 풀링(pooling)인 것으로 간주될 수도 있다. 이러한 방법은, 이것이 데이터가 복수 개의 차량에 의하여 제작되고 및/또는 공유되게 허용할 것이기 때문에 유익할 수도 있다.
이러한 새로운 경험에 여전히 저장하면서 차량이 계속 진행할 때, 이것은 또한 자신의 이전의, 저장된, 경험(들) 내에서 재-위치판단(감지된 장면을 저장된 경험 내에서 인식)하게 시도하도록 구현될 수도 있다. 만일 재-위치판단이 임의의 포인트에서 성공적이라면, 새로운 경험에 저장하는 것은 중단될 수도 있고, 방법은 자신의 이전의 경험에서 위치판단하는 것으로 복귀한다.
이러한 방법은 통상적으로 실시예가 자주 변동하는 감지된 장면에 대하여 더 많은 표현을, 그리고 더 지루한 감지된 장면에 대해서는 더 적은 표현을 저장하도록 야기할 것이다.
따라서, 실시예는 새로운 루트를 핸들링하고 위치판단 실패를 끊김없이 완료할 수도 있다- 통상적으로 새로운 경험의 저장을 유도하는 것은 위치판단의 실패이다. 이와 같이, 위치판단 실패는 현재는 존재하지 않지만 과거에 존재했던, 열악한 또는 해결불가능한 데이터 연관에 기인하는 것으로 간주될 수도 있다.
종래 기술의 이전의 접근법과 대조적으로, 몇몇 실시예는 새로운 경험을 현재 저장된 경험이 불충분할 경우에만 저장할 수도 있다. 그러므로 이러한 방법은 상이한 시각적 모드를 나타내는 각각의 저장된 경험을 초래할 것이며 따라서 삭제는 중요하지 않다. 실시예는 각각의 경험이 자기 자신의 기준 프레임에 존재하도록 허용할 수도 있고, 이를 고려하면 위치판단이 병렬적이 되도록 허용할 수도 있으며, 임의의 시각에 다중 경험의 사용을 허용한다. 이것은 또한 크게 다를 수도 있는 상이한 시각적 모드가 동일한 물리적 공간을 나타내도록 허용할 수도 있다.
몇 가지 실시예들에서, 센서로부터의 데이터는 데이터의 스트림의 일부일 수도 있다.
일 실시예에서, 센서는 카메라의 입체 쌍(stereoscopic pair)이다. 따라서, 이러한 일 실시예의 센서의 출력은 이미지의 스트림일 수도 있고 이미지의 쌍의 스트림일 수도 있다.
이 방법은 센서의 출력에 초기 처리를 수행하는데 이것이 입체 카메라에 의하여 생산된 이미지의 쌍들 사이의 공통 피쳐를 식별할 수도 있다. 초기 처리는 차량의 현장(locale)의 3D 모델을 생성할 수도 있다. 따라서, 몇몇 실시예는 감지된 장면으로부터 피쳐의 세트를 추출하고 그러한 추출된 피쳐를 센서 또는 그 위에 센서가 탑재되는 또는 차량, 로봇, 등의 포지션을 결정하는 데에 사용할 수도 있다.
3D 모델은 참조가 추후에 이루어지는 경험을 제공할 수도 있다. 몇 가지 실시예들에서 경험은 피쳐의 복수 개의 세트에 의하여 제공될 수도 있는데, 여기에서 피쳐의 각각의 세트는 주어진 감지된 장면으로부터 추출된다. 통상적으로, 실시예는 센서가 차량의 궤적에 상대적인 3D 피쳐(즉 데이터 내의 포인트)의 계속적 스트림을 생성하도록 야기한다. 따라서, 궤적은 시간에 있어서 다양한 순간에서의 포인트의 시퀀스로 간주될 수도 있고, 이것은 자신들에 부착된 스테레오 쌍, 시간에 있어서 이전의 포인트에 대한 상대적인 자세(이미지 쌍) 및 복수 개의 3D 피쳐를 가진다.
방법은 센서로부터의 데이터를 분석하여 감지된 장면 내에서 3D 피쳐(포인트 또는 노드라고도 지칭될 수도 있음)를 결정하고, 더 나아가 제 1 시점에서의 이미지(또는 센서에 의하여 생성된 감지된 장면의 다른 표현) 내의 그러한 3D 피쳐를 변환을 사용하여 제 2의, 그 이후의 시점에서의 후속 이미지와 링크하도록 구현될 수도 있다. 이러한 링크하는 것을 통하여 센서 및/또는 차량에 대한 궤적이 제공될 수도 있다.
방법은 이미지 내에서 랜드마크를 결정하도록 구현될 수도 있다. 랜드마크는 센서로부터의 데이터 내에서 인식가능한 구조일 수도 있고 통상적으로 실-세계 오브젝트에 대응할 것이다. 예를 들어, 랜드마크는 빌딩의 코너, 트리 또는 기타 등등에 대응할 수도 있다.
본 발명의 몇몇 실시예에서 이 방법은 센서 및/또는 차량에 상대적인 랜드마크의 포지션을 생성하도록 구현될 수도 있다. 센서가 입체 카메라인 실시예들에서, 이제 랜드마크의 포지션은 두 이미지들 모두로부터의 정보를 사용하여 결정될 수도 있다.
통상적으로 방법은 임의의 하나의 감지된 장면 내의 복수 개의 랜드마크를 위치판단할 수도 있다.
다른 실시예들에서, 센서에는 레이저 스캐너, 레이더, lidar(Light Detection and Ranging), 3D 플래시 Lidar, 마이크로소프트TM 키넥트(Kinect)TM, 또는 기타 등등이 제공될 수도 있다.
이 방법은 센서(또는 이것이 탑재된 차량)의 거친 포지셔닝을 활용하여 대략적으로 센서의 현위치를 결정할 수도 있다. 특히, 본 발명의 실시예는 글로벌 포지셔닝 시스템(GPS); 하나 이상의 가속도계 또는 다른 이러한 주행거리 측정 시스템; 또는 기타 등등을 사용하여 차량의 현위치를 식별할 수도 있다.
실시예들은 센서(또는 이것이 탑재된 차량)의 현위치를 사용하여 감지된 장면이 그 내부에서 인식될 수 있는지 여부를 결정하기 위하여 어떤 저장된 경험이 고려되어야 하는지를 결정할 수도 있다. 이를 고려하여, 거친 포지셔닝을 사용한 센서의 현위치는 루프를 더 가까이 사용하는 것으로 간주될 수도 있다.
거친 포지셔닝의 사용에 추가적이거나 대안적일 수도 있는 다른 실시예들은 이미지 매칭 기법을 사용하여 감지된 장면에 시각적으로 유사한 저장된 경험을 결정할 수도 있다. 이러한 실시예들은 유리한 것으로 여겨지는데, 이는 시각적으로 유사한 저장된 경험들이 감지된 장면에게 맞춤(match)을 제공하기 위한 양호한 후보를 제공할 수도 있기 때문이다.
방법은 병렬적으로 실행하여, 이 방법이 임의의 한 시점에 복수의 저장된 경험 내에서 감지된 장면을 인식하려고 시도하게 구현될 수도 있다. 이것은 임의의 한 시점에서 복수의 위치판단기(localiser)를 실행하는 것으로 간주될 수도 있다. 감지된 장면을 저장된 경험 내에서 인식하는 것에 추가하여, 이 방법은 감지된 장면 내에 위치된 노드로부터 저장된 경험 내의 그러한 노드로의 변환을 계산할 수도 있다.
이 방법은, 차량이 위치판단되었다고 결정되기 이전에, 감지된 장면이 선결정된 개수의 저장된 경험 내에 인식될 수 있도록 요구할 수도 있다. 이러한 단계를 제공하는 실시예는 더 높은 정도의 정확도를 제공하는 것으로 여겨져서 차량은 사실상 정확하게 위치판단되었다.
이 방법은 저장된 경험이 서로 유사한 장소에 관련되는지 여부를 결정하도록 구현될 수도 있다. 저장된 경험이 유사한 장소인 것으로 결정된다면, 실시예들은 이러한 저장된 경험들을 링크시킬 수도 있다. 저장된 경험들을 링크시켜 이러한 장소들을 형성하는 실시예들은 유리한 것으로 여겨지는데, 이는 이러한 장소들이 저장된 경험 내에서의 감지된 장면의 인식을 지원하는데 사용될 수 있기 때문이다.
저장된 경험은 다음: 센서로부터의 로오 데이터 출력; 차량의 거친 포지션; 하루의 시간; 날짜; 날씨 상태; 센서로부터의 출력; 차량의 현장의 생성된 3D 맵 중 임의의 것을 포함할 수도 있다.
본 발명의 제 2 양태에 따르면, 차량을 위치판단하도록 구현되는 시스템으로서, 상기 시스템은 현재 시각에서의 차량 주위의 감지된 장면을 나타내는 데이터를 생성하도록 구현되는 센서 및 상기 데이터를 처리하도록 구현되는 처리 회로부를 포함하고, 상기 처리는:
더 이른 시각에서의 상기 센서의 포지션에 상대적인 상기 차량의 포지션을 상기 데이터로부터 결정하는 것;
상기 데이터를 스토리지 디바이스 내에서 홀딩되는 하나 이상의 저장된 경험과 비교하여 상기 감지된 장면이 상기 저장된 경험 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 것; 및
상기 데이터가 상기 감지된 장면이 임의의 저장된 경험 내에서 인식되도록 허용한다면, 그 저장된 경험을 사용하여 상기 차량의 포지션을 추정하는 것 중 적어도 하나를 수행하도록 구현될 수도 있는, 시스템이 제공된다.
스토리지 디바이스는 하드 드라이브, 하드 드라이브의 어레이 또는 기타 등등과 같은 디바이스의 임의의 적합한 폼에 의하여 제공될 수도 있다. 사실상, 스토리지 디바이스는 분산될 수도 있다.
몇 가지 실시예들에서, 스토리지 디바이스의 적어도 일부는 차량 상에 탑재될 수도 있다. 다른 실시예들에서, 스토리지 디바이스의 적어도 일부는 차량 외부에 탑재되고 차량으로부터 액세스가능하도록 구현될 수도 있다.
시스템은 차량 상의 처리 회로부와 통신하도록 구현되는 서버를 포함할 수도 있다. 서버는 임의의 적합한 네트워크를 통하여 처리 회로부와 통신하도록 구현될 수도 있는데, 이것은 인터넷 및/또는 3G, 4G, WIFI와 같은 무선 원격 통신 네트워크, 또는 기타 등등을 포함할 수도 있다.
처리 회로부는 이용가능한 저장된 경험의 서브-세트에 대하여 데이터를 비교하도록 구현될 수도 있다. 몇 가지 실시예들에서, 처리 회로부는 원격 스토리지 디바이스로부터 이용가능한 저장된 경험의 서브-세트를 획득하도록 구현될 수도 있고, 이것은 이제 차량 상의 스토리지 디바이스에 국지적으로 홀딩될 수도 있다.
본 발명의 제 3 양태에 따르면, 현재 시각에서의 차량 주위의 감지된 장면을 나타내는 데이터를 생성하도록 구현되는 탑재된 센서 및 상기 데이터를 처리하도록 구현되는 처리 회로부를 포함하는 차량으로서, 상기 처리 회로부는:
더 이른 시각에서의 상기 센서의 포지션에 상대적인 상기 차량의 포지션을 상기 데이터로부터 결정하는 것;
상기 데이터를 하나 이상의 저장된 경험과 비교하여 상기 감지된 장면이 상기 저장된 경험 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 것; 및
상기 데이터가 상기 감지된 장면이 임의의 저장된 경험 내에서 인식되도록 허용한다면, 그 저장된 장면을 사용하여 상기 차량의 포지션을 추정하는 것 중 적어도 하나를 수행하도록 구현될 수도 있는, 차량이 제공된다.
본 발명의 제 4 양태에 따르면, 하나 이상의 저장된 경험에 대한 네트워크 요청을 네트워크로부터 수신하도록 구현되는 서버로서, 상기 요청을 처리하고, 요청된 저장된 경험을 스토리지 디바이스로부터 취출하며, 그리고 요청된 저장된 경험을 네트워크를 통하여 송신하도록 구현되는, 서버가 제공된다.
본 발명의 제 5 양태에 따르면, 머신에 의하여 판독되면, 적어도 본 발명의 제 2 양태의 시스템의 일부로서, 또는 그 시스템의 제 3 양태의 차량의 처리 회로부로서, 본 발명의 제 1 양태의 방법과 같이 그 머신이 수행하도록 야기하는 명령을 포함하는 머신 판독가능 매체가 제공된다.
본 발명의 위의 양태들 중 임의의 것에서 언급되는 머신 판독가능 매체는: CDROM; DVD ROM / RAM(-R/-RW 또는 +R/+RW를 포함함); 하드 드라이브; 메모리(USB 드라이브; SD 카드; 콤팩트 플래시 카드 또는 기타 등등을 포함함); 송신된 신호(인터넷 다운로드, ftp 파일 전송 또는 기타 등등을 포함함); 배선; 등 중 임의의 것일 수도 있다.
본 발명의 위의 양태들 중 임의의 것과 관련하여 설명된 피쳐는 필요한 부분만 약간 수정하여 본 발명의 다른 양태 중 임의의 것에 적용될 수도 있다.
이제 단지 예로서 본 발명의 실시예의 상세한 설명이 후속된다:
도 1 차량의 현장에 상대적으로 그 차량을 위치판단하기 위하여 차량의 일 실시예를 활용하는 차량의 개략도이다;
도 2 는 어떻게 차량의 현장이 시간 및/또는 현장의 경험된 날씨에 따라서 변화될 수도 있는지를 예시하는 일련의 사진이다;
도 3 본 발명의 일 실시예의 방법을 개략적으로 예시한다;
도 4 예를 들어, 도 1 의 차량에서 사용되는 것과 같은 시각적 주행거리 측정 시스템으로부터의 출력을 개략적으로 예시한다;
도 5 는 현장에 관련된 데이터가 업데이트될 수도 있는지를 개략적으로 예시한다;
도 6 은 현장이 자주 변화하는(a 및 b) 또는 상대적으로 일정하게 유지하는(c 및 d) 장면의 다른 예시들을 제공한다;
도 7 은 도면에서 도시된 트랙 주위의 여러 여행으로부터 생성되고 저장된 복수 개의 경험들을 예시한다;
도 8 은 어떻게 감지된 장면이 테스트 서킷의 횡단(traverses)을 위하여 저장된 경험에 추가되었는지를 예시한다;
도 9 는 도 7 및 도 8 의 결과를 생성하기 위하여 사용된 여행에 대한 날씨 통계를 도시한다;
도 10 은 현재 감지된 장면이 어떻게 저장된 경험으로서 저장되는지에 대한 데이터를 순서변경(reordering)하는 것의 효과를 예시한다;
도 11 은 감지된 장면이 어떻게 저장된 경험으로서 저장되는지에 대한 날씨의 효과를 도시한다;
도 12 는 도 7 의 트랙 주위의 제 1 여행 동안의 위치판단 실패의 일 예를 예시한다;
도 13 은 도 7 의 트랙 주위의 제 2 여행 동안의 위치판단 실패의 일 예를 예시한다;
도 14 는 도 7 의 트랙 주위의 제 3 여행 동안의, 도 1 에 예시된 차량의 처리 회로부의 타이밍 성능을 예시한다;
도 15 는 예시적인 실시예를 개략화하는 흐름도이다; 그리고
도 16 은 본 발명의 다른 분산형 실시예를 도시한다.
본 발명의 실시예들은 차량(102) 상에 탑재된 센서(100)에 관련하여 그리고 도 15 의 흐름도와 관련하여 설명된다. 센서(100)는 자신의 현장을 모니터링하고 그 모니터링에 기초하여 데이터를 발생시키며, 이를 통하여 차량 주위의 감지된 장면에 대한 데이터를 제공하도록 구현된다(1500). 설명되는 실시예에서, 그러면 센서가 차량(102)에 탑재되기 때문에 센서(100) 역시 차량의 현장을 모니터링하도록 구현된다.
설명되는 실시예에서, 센서(100)는 수동 센서이고(즉 방사선(radiation)을 생성하지 않고 단지 방사선을 검출함), 특히 입체 카메라이다; 이것은 두 개의 카메라(104, 106)를 포함한다. 당업자는 이러한 센서가 두 개의 별개의 카메라에 의하여 제공될 수 있다는 것을 인정할 것이다.
다른 실시예들에서, 센서(100)는 레이저 스캐너 또는 기타 등등과 같은 다른 형태의 센서를 포함할 수도 있다. 이를 고려하여, 센서(100)는 또한 그로부터 방사선을 전송하고 반사된 방사선을 검출하도록 구현되는 액티브 센서일 수도 있다.
도 1 에 도시되는 실시예에서, 차량(102)은 도로(108)를 따라 이동하며 센서(100)는 차량(102)이 이동할 때 현장(예를 들어 빌딩(110), 도로(108), 등)을 이미징하고 있다. 이 실시예에서는, 차량(102)은 센서로부터의 데이터를 캡쳐하고 후속하여 센서(100)에 의하여 생성된 데이터(이러한 경우에서는 이미지)를 처리하도록 구현되는 처리 회로부(112)를 더 포함한다. 따라서, 처리 회로부는 센서(100)로부터 데이터를 캡쳐하고, 이 데이터가 현재 시각에서의 차량 주위로부터의 감지된 장면을 제공한다. 설명되는 실시예에서, 처리 회로부(112)는 차량 상의 스토리지 디바이스(114)를 더 포함하거나 이에 대한 액세스를 가진다.
도면의 아랫부분은 통상적 처리 회로부(112) 내에서 발견될 수도 있는 컴포넌트를 도시한다. 처리 유닛(118)은 I5, I7 프로세서 또는 기타 등등과 같은 인텔® X86 프로세서일 수도 있는 것으로 제공될 수도 있다. 처리 유닛(118)은 시스템 버스(120)를 통하여 I/O 서브시스템(122)과(및 이를 통하여 외부 네트워크, 디스플레이, 및 기타 등등과) 그리고 메모리(124)와 통신하도록 구현된다.
당업자는 메모리(124)가 휘발성 메모리, 하드 드라이브, 비-휘발성 메모리, 등을 포함하는 다양한 컴포넌트에 의하여 제공될 수도 있다는 것을 인정할 것이다. 사실상, 메모리(124)는 처리 유닛(118)의 제어 하에 있는 복수 개의 컴포넌트를 포함한다.
그러나, 통상적으로 메모리(124)는 실행될 때 액션을 수행하는 프로그램 코드를 저장하도록 구현되는 프로그램 스토리지 부분(126) 및 일시적으로 및/또는 영구적으로 데이터를 저장하기 위하여 사용될 수 있는 데이터 스토리지 부분(128)을 제공한다.
다른 실시예들에서 처리 회로부(112)의 적어도 일부는 차량으로부터 원격으로 제공될 수도 있다. 이를 고려하여, 센서(100)에 의하여 생성된 데이터의 처리는 차량(102) 밖에서 또는 부분적으로 차량(102) 안에서 그리고 부분적으로 차량 밖에서 수행된다는 것이 고려될 수 있다. 처리 회로부가 차량 안과 밖 모두에 제공되는 실시예들에서, 그러면 네트워크 접속(3G UMTS(범용 모바일 원격 통신 시스템) 또는 WiFi(IEEE 802.11) 또는 등등)이 있다.
도로를 따라 이동하는 차량을 참조하는 것이 편리하지만, 당업자는 본 발명의 실시예가 육지 차량에 한정될 필요가 없으며 선박, 보트 등등 또는 사실상 비행기 등과 같은 공중용 탈 것일 수 있다는 것을 인정할 것이다. 이와 유사하게, 후속하는 설명이 카메라(104, 106)에 의하여 생성된 이미지 데이터를 가리키지만 본 발명의 다른 실시예는 데이터의 다른 타입을 생성할 수도 있다.
센서(100)가 연결된 처리 회로부(112)와 함께, 그리고 처리 회로부(112)에서 실행중인 소프트웨어와 함께 센서(100)는 흔히 시각적 주행거리측정(VO) 시스템이라고 불리는 것을 형성한다. 설명되는 실시예에서, 시각적 주행거리 측정(VO) 시스템은 카메라(104, 106)로부터 생성된 데이터를 사용하여 세상의(수명이 짧을 수도 있는) 3D 모델을 연속적으로 생성한다. 통상적으로, VO 시스템은 카메라 쌍으로부터의 각각의 이미지 내에서 두 이미지 모두에서 위치될 수 있는 피쳐(이것은 노드 또는 포인트라고 지칭될 수도 있음)를 위치결정한다. 그러면 이러한 피쳐는 후속 이미지들 사이에서(즉 제 1 의 또는 더 이른 시각 및 제 2 의 아마도 현재 시각 사이에서) 추적되어 차량(102)의 궤적을 생성한다.
카메라의 이러한 배치는 스테레오 쌍이라고 지칭될 수도 있다. 설명되는 실시예에서, 차량(102)이 달리고 있을 때에, VO 시스템은 언제나 켜져 있으며, 언제나 카메라(104, 106) 로부터의 데이터(즉 이미지)의 라이브 스트림을 소비하고 있고, 두 개의 카메라(104, 106)로부터 생성된 이미지들 사이의 상대적인 변환(즉 카메라 자세)을 추정하여 궤적을 생성하고 있고, 그러한 카메라 자세에 상대적인 피쳐의 포지션을 생성하고 있다. 카메라의 입체적 성질이 피쳐의 3D 포지션이 카메라에 상대적으로 계산되도록 허용한다.
센서(100)/차량(102)이 이동할 때, 피쳐 위치의 복수 개의 세트가 생성된다; 즉, 피쳐의 세트가 각각의 장면으로부터 생성된다. 위치의 복수 개의 세트는 경험이라고 지칭될 수도 있다. 처리 회로부(112)는 경험의 후속하는 메타데이터: 센서(100)로부터 생성된 데이터(이 실시예에서는 두 개의 카메라로부터의 이미지); 피쳐(즉 3D 피쳐 위치); 시간 및/또는 날짜; 날씨; 위치(글로벌 포지셔닝 시스템(GPS) 또는 기타 등등을 통함); 휘도의 측정; 트래픽 레벨, 클라우드 커버, 센서의 타입, 또는 기타 등등 중 적어도 하나를 저장하도록 구현될 수도 있다.
그러므로, 차량(102)이 이동할 때 경험은 상대적인 자세 및 피쳐(즉 노드) 위치의 세트로서 저장된다. 저장되는 것은 상대적인 자세의 세트라는 것에 주의해야 한다. 본 발명의 실시예들은 일반적으로 단일 글로벌 프레임을 사용하여 작동하지 않을 것이다. 본 발명의 실시예는 카메라 모션의 측량적으로(metrically) 정확한 아이디어 및 센서(100)의 현재 자세 근방의 3D 피쳐 위치를 렌더링한다. 본 발명의 실시예는 센서로부터 멀리 떨어져 있으며 센서(100)에 의하여 검출(즉 이러한 경우에서는 목격)될 수 없는 사물의 위치를 결정할 필요가 없다. 이하 설명되는 바와 같이, 차량(102)이 어느 영역을 재방문할 경우, 그 영역에 관련된 이전의(저장된) 경험 내에서 위치판단이 시도된다; 이러한 위치판단은 차량(102)의 포지션을 더 이른 시각에서의 센서의 포지션과 관련하여 감지된 장면으로부터 결정하려고 시도하는 것으로 간주될 수도 있는데, 여기에서 더 이른 시각에서의 센서의 포지션은 그러한 또는 각각의 저장된 경험에 의하여 제공된다. 이러한 콘텍스트에서, 위치판단은 현재 시각에 센서(100)에 의하여 제공되는 감지된 장면을 더 이른 시각에서의 센서의 위치를 제공하는 저장된 경험 중 적어도 하나 내에서 인식하는 것으로 간주될 수도 있다.
이와 같이, 그리고 시간이 지남에 따라서 차량(102)이 저장된 경험의 세트 주위에서 이동할 때에, 이들 각각은 서로로부터 독립적이다. 위치판단기는 저장된 경험의 각각과 연관될 수도 있고 자신의 저장된 경험 내에서 감지된 장면을 인식하려고 시도하도록 구현될 수도 있다. 다른 실시예들에서 위치판단기는 복수 개의 저장된 경험을 처리하도록 구현될 수도 있다.
본 발명의 실시예는 저장된 경험을 처리하여 차량(102) / 센서(100)의 현재 위치를 그러한 이전의 저장된 경험 내에서 위치판단하려고 시도하도록 구현된다; 즉 실시예들은 차량(102)을 위치판단하려는 시도에서 감지된 장면을 저장된 장면과 비교할 수도 있다(단계 1506). 이를 고려하여, 실시예는 비교기(134)(즉 위치판단기)를 포함하고 있는 것으로 간주될 수도 있다. 위치판단이라는 용어를 통하여, 처리 회로부(112)가 현재 라이브 이미지가 이전의(저장된) 경험에 대하여 성공적으로 매칭될 수 있는지 여부를 결정할 수 있다는 것이 의미된다. 이러한 위치판단은 처리 회로부(112)에서 실행 중인 위치판단기(130)에 의하여 수행되고, 위치판단은 이전의 저장된 경험들을 독립적으로 유지함으로써 가능해진다.
본 발명의 실시예는 또한 감지된 장면 내에서 랜드마크를 결정하도록 구현될 수도 있는데, 이것은 통상적으로 실세계 오브젝트, 예컨대 빌딩의 코너 또는 기타 등등에 대응한다. 랜드마크가 감지된 장면 내에서 인식된다면, 차량에 상대적인 랜드마크의 포지션이 결정된다. 현재 실시예에서, 이것은 기하학적 계산에 의하여 수행되는데, 이는 스테레오 카메라 쌍이 그 안에서 랜드마크가 발견될 수 있는 두 개의 이미지를 제공하고, 이를 통하여 센서에 상대적인 랜드마크의 위치를 결정하기에 충분한 정보를 제공하기 때문이다. 랜드마크가 생성되면, 데이터의 패치가 저장된다. 설명되는 실시예에서, 이것은 픽셀 데이터이고 일 예에서 픽셀의 9x9 그리드가 저장된다. 몇몇 실시예는 데이터의 임의의 식별된 랜드마크 및/또는 패치를 저장된 경험의 일부로서 저장할 수도 있다.
감지된 장면을 저장된 경험에 대하여 매칭시키기 위하여, 몇몇 실시예는 저장된 경험 내에서 발견된 랜드마크를 감지된 장면 내에 위치된 랜드마크에 대하여 위치판단하려고 시도한다. 이것은 저장된 장면 내의 랜드마크와 연관된 데이터의 패치(이 경우에는 픽셀의 9x9 그리드)를 감지된 장면 내에서 발견되는 그것들로써 위치판단하려고 시도함으로써 획득될 수도 있다. 설명되는 실시예에서, 위치판단기는 저장된 경험과 연관되고, 감지된 장면 내에서 이것이 연관되는 저장된 경험 내의 랜드마크와 연관된 데이터의 패치를 찾는다.
몇몇 실시예는 적합한 후보 패치들이 신속하게 위치판단될 수 있게 하기 위하여 패치의 매칭을 높은 레벨에서 수행하고, 추후에 더 상세한 비교를 수행하여 맞춤(match)이 실제로 발생된 바 있는 것으로 여겨지는지 여부를 식별할 수도 있다.
이전의 경험 내의 위치판단은 병렬적으로 수행될 수 있고, 시스템이 관련된 이전의 경험들을 활용하도록 허용한다. 실제로는, 실행시에 액티브이며 성공적으로 위치판단된 경험의 개수가 적다는 것이 일반적으로 발견된다. 지금부터 설명되는 바와 같이, 통상적으로, 데이터가 저장된 경험의 소정 개수(N) 보다 더 적게만 매칭될 수 있기 때문에(설명되는 실시예에서는, 이것은 카메라(104, 106)에 의하여 생성되는 이미지가 매칭될 수 없다는 것 또는 2 개 이상의 저장된 경험 및 위치판단이 수행될 수 없다는 것을 의미한다) 각각의 새로운 경험은 이 경우에만 생성된다. 그러므로 어떤 영역에 대한 후속 방문은 저장된 경험의 오직 적은 개수에서만 위치판단할 수 있을 것이며, 이는 이들이 구조에 의하여 시각적으로 상이하기 때문이다. 따라서, 만일 이 방법이 감지된 장면이 충분한(즉 선결정된 개수보다 더 많은) 경험에서 매칭될 수 없다고, 그리고 따라서 위치판단이 수행될 수 없다고 결정한다면, 감지된 장면은 통상적으로 장래 비교 단계(1508)에서 사용될 수 있는 새로운 저장된 경험으로서 저장된다.
따라서, 본 발명의 실시예는 변화하는 환경에서의 장기 네비게이션에 대한 프레임워크를 제공한다. 위에서 간략하게 설명된 바와 같이, 차량(102)은 센서(100) 로부터의 라이브 이미지 스트림을 자신의 입력으로서 취하는 VO 시스템으로부터 환경의 3D 모델을 일정하게 생성한다. 동시에 차량(102)의 처리 회로부(112)는 우발적으로(opportunistically) 현재 포지션을 이전에 저장된 경험 내에서 위치판단하려고 시도한다.
위치판단이 이전의 경험에서 성공적이라면, 실시예들은 현재 장소의 표현이 충분하며, 그러면 저장된 장면에 대한 현재 시각의 차량 포지션의 추정치를 생성하는 것이 가능하다고 가정한다. 그러나 위치판단이 이전의 경험에서 수행될 수 없다면, 새로운 경험이 VO 시스템의 출력을 저장함에 의하여 생성된다.
경험들은 ε이라고 표시되고, j 번째 경험은 j ε이라고 지칭된다. 따라서, 모든 경험의 세트는 맵을 생성하는데, 이것이 편리하게 플라스틱 맵이라고 지칭된다. 이러한 맵은 수학식 1 에 의하여 주어진다.
Figure 112014085350077-pct00001
통상적으로, 본 발명의 실시예는 국지적으로 네비게이션하고 "루프를 닫음(close the loop)"할 수 있는 능력에 의존한다; 이것은 언제 차량(102) / 센서(100)가 이전에 방문한 장소(이전에 저장된 경험)로 복귀했는지를 인식한다.
국지적으로 네이게이션하는 기법은 궤적 추정 시스템을 제공하는 다양한 논문에서 보여진다. 특히, 레이저 스캐너를 사용하는 기법이:
[7] M. 보세(Bosse) 및 R. 즈롯(Zlot), "Map Matching and Data Association for Large-Scale Two-dimensional Laser Scan-based SLAM," International Journal of Robotics Research, vol. 27, pp. 667-691, 2008 에서 논의된다.
비젼 시스템을 사용한 궤적 추정에 대한 기법은 다음 논문들:
[8] D. 니스터(Nister), O. 타로디트스키(Naroditsky), 및 J. 버겐(Bergen), "Visual Odometry for Ground Vehicle Applications," Journal of Field Robotics , vol. 23, 2006.
[9] C. 마이(Mei), G. 시블리(Sibley), M. 커민스(Cummins), P. 뉴먼(Newman), 및 I. 라이드(Reid), "Real: A system for large-scale mapping in constant-time using stereo," International Journal of Computer Vision , pp. 1-17, 2010, special issue of BMVC 에서 보여진다.
이 논문의 콘텐츠는 본 명세서에서 참조에 의하여 통합되고, 당업자는 어떻게 궤적이 VO 시스템으로부터 차량에 대하여 결정될 수 있는지에 특히 관련하여 이들을 읽고 이해할 것이 지시된다.
현재 센서 데이터가 이전의 경험 내에서 경험된바 있는지 여부를 결정하기 위하여 사용될 수도 있는 다른 루프-닫음(loop-closure) 기법들이:
[10] M. 커민스(Cummins) 및 P. 누먼(Newman), "Highly Scalable Appearance-Only SLAM FAB-MAP 2.0," in Robotics Science and Systems, 2009. 에서 비젼 시스템과 관련하여 교시된다.
다시 말하건대, 이 논문의 콘텐츠는 본 명세서에서 참조에 의하여 통합되고, 당업자는 VO 시스템으로부터 루프-닫음 시스템을 구현하는지에 특히 관련하여 이들을 읽고 이해할 것이 지시된다. 이러한 시스템은 통상적으로 감지된 장면의 그것과 시각적으로 유사한 저장된 경험 내에서 이미지를 위치판단하려고 시도한다(즉 이미지 매칭 기법을 제공함). 이를 고려하여, FABMAP는 저장된 경험과 연관된 위치판단기를 트리거링하여 감지된 장면 내에서 그 저장된 경험을 위치판단하려고 시도하는 데에 사용될 수 있는 루프 폐색기(loop closer)인 것으로 간주될 수도 있다.
또한 당업자는 위치 수 미터의 정확도까지 제공할 수 있는 글로벌 포지셔닝 시스템(GPS)이 이용가능하다는 것을 인정할 것이다. 따라서, 본 발명의 실시예는 GPS 시스템(116), 또는 다른 유사한 시스템으로부터의 출력을 사용하여 대략적이거나 거친 포지션을 제공할 수도 있다. GPS 시스템(116)의 출력은 통상적으로 처리 회로부에 연결되어 처리 회로부가 차량(102)의 거친 포지션을 식별하도록 허용할 것이다. 거친 포지션이라는 용어는 센서(100)로부터의 데이터의 처리를 사용하여 획득가능한 포지셔닝에 비교할 때 상대적으로 부정확하다는 의미를 전달하려고 의도된다.
그러나, 센서(100) 로부터의 출력을 사용하는 본 발명의 실시예는 이전의 저장된 경험에 상대적인 차량(102)의 이동을 밀리미터 또는 적어도 수 센티미터의 정도까지 결정할 수 있을 수도 있다.
따라서, 넓은 영어로 위에서 설명된 바와 같이, VO 시스템은 스테레오 프레임의 시퀀스
Figure 112014085350077-pct00002
에 작동한다.
시간 k에서 스테레오 프레임이 처리되고 카메라 노드 nk는 6 자유도 변환
Figure 112014085350077-pct00003
에 의하여 노드 nk -1로 링크되는데, 여기에서 θr, θp 및 θq는 각각 롤, 피치 및 요이다. 따라서, 노드 nk -1 은 제 1 시간에서 발생하고 있는 것으로 간주될 수도 있고, 노드 nk는 제 2 의 추후 시점에서 발생하고 있는 것으로 간주될 수도 있다. 이를 고려하여, 처리 회로부(112)는 감지된 장면(1502) 내에서 노드를 식별한다. 이러한 노드는 아래에 설명되는 바와 같이 일련의 프레임에 걸쳐 추적되어 차량(1504)에 대한 궤적을 생성할 수 있다. 실시예들은 이러한 기능을 수행하기 위한 노드 로케이터(132)를 포함하고 있는 것으로 간주될 수도 있다.
만일 새로운 3D 랜드마크가
Figure 112014085350077-pct00004
로서 초기화되면, 이것들 역시 카메라 노드 nk에 부착된다. nk에 부착된 i번째 이러한 랜드마크를
Figure 112014085350077-pct00005
- 시각 k에서의 카메라 프레임 내의 벡터라고 지칭하는데, 여기에서 i는 글로벌 인덱스이다(따라서 모든 랜드마크가 고유한 ID를 가짐). 또한 카메라 노드 nk
Figure 112014085350077-pct00006
내의 관찰된 모든 랜드마크의 목록을 포함하도록 구현되는데, 이들 중 많은 것들이 다른 노드 - 그들이 초기화되었던 것들에 부착될 것이다.
이와 같이, 프레임 p에서 설명되는 랜드마크는 p π q 에 의하여 표현되는 동작에 의하여 l*,p를 l*,q로 변환함으로써 상이한 프레임 q로 링크됨으로써 수학식 2 가 되게 할 수 있다:
Figure 112014085350077-pct00007
설명되는 실시예에서, VO 시스템은 카메라(104, 106)에 의하여 생성되는 라이브 프레임 스트림(즉 데이터) 상에서 연속적으로 실행된다. 만일 새로운 경험이 생성되는 중이면(이것이 언제 발생하는지에 대해서는 아래의 논의를 참조), 새로운 경험 j ε이 생성되고 VO 시스템으로부터의 출력은 이러한 경험 내에 저장된다. 따라서, 이제 j ε 간단하게 카메라 노드 nk, 인터-노드 변환 및 연관된 3D 피쳐의 체인일 수도 있다. 우리는 경험 내의 노드를 j ε m 이라고 지칭한다. 추후에 이러한 체인들이 플라스틱 맵을 함께 형성하기 위하여 어떻게(토폴로지적으로) 관련되는지를 설명할 것이다.
따라서, 도 4 는 노드 n에 의하여 표현되는 일련의 프레임으로부터 어떻게 경험이 제작되는지를 예시한다. VO 시스템으로부터의 출력의 각각의 프레임(원으로 표현됨)은 nk-2 내지 nk를 거쳐 nk+1로 표시된다; 현재 프레임 nk는 숫자 400 으로써 참조된다. 노드 n의 각각은
Figure 112014085350077-pct00008
Figure 112014085350077-pct00009
사이의 카메라 모션을 기술하는 6 자유도 변환에 의하여 링크된다.
더 나아가, 일련의 랜드마크(402, 404, 406, 408)는 현재 프레임
Figure 112014085350077-pct00010
내의 차량(102)의 현장으로써 표시된다. 이러한 랜드마크(402 내지 408)의 각각은 위의 수학식 2 를 사용하여 k에 상대적이 되도록 변환될 수 있다.
위에서 넓은 관점에서 설명된 바와 같이, 위치판단기는 이전의 경험 내에서 차량(102)의 현재 위치를 위치판단하려고 시도하기 위하여 사용된다. 넓은 관점에서, 이것은 감지된 장면을 이전의 경험(저장된 경험일 수도 있음) 내에서 인식하는 것으로서 간주될 수도 있다. 두 개 이상의 위치판단기가 제공될 수도 있고, 그러한 또는 각각의 위치판단기가 이전의 경험(즉 저장된 경험)을 지나 이동한다. 라이브 프레임
Figure 112014085350077-pct00011
가 주어지면, 이러한 또는 각각의 위치판단기의 태스크는 프레임
Figure 112014085350077-pct00012
로부터 이전의 경험 내의 노드 n으로의 변환을 계산하는 것이다.
위치판단기는 제안된 랜드마크 세트가 이전의 프레임
Figure 112014085350077-pct00013
이 아니라 저장된 경험으로부터 유래한다는 것을 제외하고는 라이브 VO 시스템과 유사한 방법으로 동작한다. 랜드마크는 그 경험 내의 이전의 포지션을 둘러싸는 로컬 지역으로부터 취해진다. 추가적으로, 설명되는 실시예에서, 위치판단기는 랜드마크를 현재 VO 출력 또는 이전의 경험 중 어느 하나에 추가하거나 업데이트하려고 시도하지 않는다. 두 가지 모두에 대한 자신의 영향의 관점에서 이것은 전적으로 수동적이다; 즉 이것은 현재 VO 출력의 또는 이전의 경험의의 데이터를 변경하지 않는다.
위치판단기는 이것이 "길을 잃은 것(lost)"인지를 알도록 구현된다; 즉 언제 인입하는 프레임
Figure 112014085350077-pct00014
가 이전의 경험에서 더 이상 위치판단될 수 없는지를 알도록 구현된다. 이것이 계산될 수 있는 많이 방법들이 존재한다. 가능성들은, 인라이어(inliers)라고 발견되고 및/또는 분류된 다수 개의 랜드마크, 및 현재 VO 출력과의 비교를 포함한다. 각각의 시간 단계에서의 각각의 위치판단기의 출력은 이것이 여전히 성공적으로 위치판단될 수 있는지를 나타내는 이진 결과이다:
Figure 112014085350077-pct00015
성공적이라면, 위치판단기는
Figure 112014085350077-pct00016
가 가장 가까웠던 경험 내의 노드에 대하여 질의될 수 있다.
Figure 112014085350077-pct00017
위치판단기가 길을 잃은 것으로 선언되기만 하면, 이것은 외부 지원을 수신할 때까지 이러한 상태에서 유지하며, 이것은 아래에서 논의되고 이전의 경험으로써 루프를 다시 닫는다.
N은 임의의 시점에서의 성공적인 위치판단기의 최소 수락가능 개수인 것으로 정의된다(즉 이전의 경험 내에서 현재 포지션을 결정하는 성공적 시도이거나, 장래의 관점에서는 N은 위치판단이 발생한 것으로 여겨지기 이전에 그 안에서 감지된 장면이 인식되어야 하는 저장된 경험의 선결정된 최소 개수이다). 각각의 프레임
Figure 112014085350077-pct00018
에 대하여, 액티브 경험의 세트 A가 계산된다. A 내의 각각의 경험에 대하여, 자신의 연관된 위치판단기가 실행되고 그 결과는 각각의 성공 또는 실패를 표시하는 이진 벡터 S이다. 만일 |S|가 N 아래로 떨어지면, 새로운 경험 j ε가 생성되고, VO 출력은 |S|가 N 이상으로 복귀할 때까지 저장된다. 이러한 프로세스는 알고리즘 1 에 의하여 설명된다:
Figure 112014085350077-pct00019
이를 고려하여, 만일 감지된 장면이 N 개 보다 많은 개수의 저장된 장면에서 위치판단될 수 있다면, 그러한 저장된 경험에 상대적으로 차량(102)의 포지션을 결정하는 것이 가능하다 - 단계(1512).
이러한 알고리즘은 도 3 을 참조하여 설명될 수 있고 이러한 도 3 의 상단 지역에는 개별 '에포크들'이 도시되는데, 여기에서 각각의 에포크는 세 개의 개별 시각에서의 VO 시스템의 출력으로부터의 프레임의 세트
Figure 112014085350077-pct00020
를 나타낸다. 이 실시예에서, 성공적 위치판단기(N)의 최소 개수는 2 로 설정된 바 있다.
도면 좌측의 제 1 에포크 A에 대하여, 프레임의 각각은 Fk-2 에서 Fk를 거쳐 Fk+3라고 명명된 바 있다. 다른 에포크(B 및 C)의 각각은 이와 유사하게 명명될 수 있지만 명확성의 이유를 위하여 그렇게 되지는 않았다.
에포크 A 내지 C의 프레임의 각각 아래에는 3 개의 표현들이다: 원의 상단은 VO 시스템 로부터의 현재 출력; 원의 제 2 의 중간 행은 경험 1 내에 저장된 데이터를 나타낸다; 그리고 원의 제 3 의 하단 행은 경험 2 내에 저장된 데이터를 나타낸다.
에포크 A에서, 센서에 의하여 생성되는 이미지는 데이터의 두 개의 상이한 경향의 조합이며 이들은 흑색/회색(300) 및 수평 실선(302)인 것으로 간주될 수도 있다는 것을 알 수 있다. 경험 1 을 보면, '수평' 실선 경향이 데이터에 존재하며 이를 고려하여 위치판단기는 현재 이미지를 경험 1 로써 위치판단할 수 있다는 것을 알 수 있다. 경험 2 를 보면, '흑색/회색' 실선 경향이 데이터에 존재하며 이를 고려하여 위치판단기는 현재 이미지를 경험 2 로써 위치판단할 수 있다는 것을 알 수 있다. N=2 라는 것에 주의하면, 이제 새로운 경험을 생성할 필요가 없는데, 이것은 이미 최소 개수 내에서 위치판단되었으며 VO 출력이 그냥 잊혀질 수 있기 때문이다.
에포크 B로 이동하면, 센서에 의하여 생성되는 이미지는 데이터의 두 개의 상이한 경향의 조합이며 이들은 흑색/회색(300) 및 수평 파선(304)인 것으로 간주될 수도 있다는 것을 알 수 있다. 경험 1 을 보면, 수평 실선(302) 경향은 현재 이미지 내에서 위치판단될 수 없다. 그러나, 경험 2 를 보면, 흑색/회색 실선 경향이 현재 데이터에 존재하며 이를 고려하여 위치판단기는 여전히 현재 데이터를 경험 2 내에서 위치판단할 수 있다는 것을 알 수 있다. 그러나, N이 2 로 설정되고 오직 하나의 위치판단만이 발생하였기 때문에, VO 시스템의 출력은 이제 새로운 경험(306)으로서 저장된다.
이제 에포크 C로 이동하면, 현재 이미지 내의 경향은 경험 1 및 경험 2 모두에서 위치판단될 수 있는 흑색/회색 및 수평 실선으로 복귀한다. 이를 고려하여, VO 시스템 로부터의 출력은 다시 잊혀질 수 있다.
당업자는 실시예들이 N 개보다 많은 개수의 위치판단이 발생했다고 해도 VO 출력을 저장할 수도 있는데, 하지만 그렇게 하지 않는 것이 유리할 수 있다는 것을 인정할 것이다. 불필요하게 데이터를 저장하는 것은 데이터의 더 큰 누적 및 가능하게는 시스템의 감소된 성능을 초래할 것이다.
이에 대한 플라스틱 맵(수학식 1 에서 식별됨)은 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여 무한 공간 영역을 커버하는 많은 경험을 저장하며, 따라서 경험들은 언제나 모두 관련되는 것은 아닐 것이다; 즉 VO은 상이한 공간 영역 및/또는 상이한 시각적 외관으로부터의 출력을 출력하고 있을 수도 있다. 자신의 환경 내의 차량의 공간적 포지션은 모든 경험에 의하여 캡쳐되는 것은 아닐 것이다. 그러므로 어떤 경험이
Figure 112014085350077-pct00021
에 대하여 적용가능한지를 계산하는 것이 바람직하다. 경험들은 참조의 단일 프레임 내에 저장되지 않으며, 따라서 다른 것으로부터 어느 것 내의 포지션을 추정하기 위하여 로컬 변환을 통합시키는 것은 가능하지 않다.
다른 것으로부터 어느 프레임 내의 포지션을 추정하는 것이 가능하지 않은 것을 극복하기 위하여, 우리는 장소의 아이디어를 소개하며, 이것이 경험들 사이에 토폴로지 링크를 생성한다. 장소는 P 라고 지칭되고 z번째 장소는 Pz로 지칭된다.
Pz = { j ε m }는 동시에 위치판단되는 대상이 되었던 것으로 알려지는 모든 노드의 세트(다양한 경험으로부터 취해짐)이다. 따라서, Pz는 동일한 물리적 장소를 바라보는 카메라 프레임의 세트이다.
Figure 112014085350077-pct00022
가 두 개 이상의 경험 내에서 동시에 위치판단된다면 우리는 장소를 생성할 수 있다. 각각의 성공적 위치판단기에 자신의 가장 가까운 노드에 대하여 질의함으로써, 우리는 세트 {j ε m }k 로써 장소를 생성할 수 있다. 그러나 이전에 생성된 장소가 이러한 노드의 일부를 포함하는 것도 역시 가능한데, 이러한 경우에 우리는
Figure 112014085350077-pct00023
및 이전의 장소로부터 생성된 세트를 합병한다.
Figure 112014085350077-pct00024
Figure 112014085350077-pct00025
로부터 생성된 노드들이 이전의 장소 내에 있는지에 의존하여 우측의 Pz는 잠재적으로 빈 세트이다. 장소 생성 및 합병의 간단한 예가 도 5 에 도시되며 또한 도 3 을 참조하여 설명된다.
처음으로 도 3 을 참조하면, 사실상 그 도면 내에 참조되는 3 개의 경험이 존재한다는 것을 알 수 있다: 수평 실선에 의하여 표시되는 경험; 흑색/회색으로 표시되는 경험; 및 수평 파선으로 표시되는 경험. 도 5 도 역시 3 개의 경험을 도시한다: 경험 1, 2 및 3 은 각각 흑색의, 회색 및 백색의 원으로 표시된다.
도 5 는 이전 프레임 F previous 를 경험 1 및 경험 2 모두에서 위치판단하는 것이 가능했으며 따라서 장소 A를 생성하는 것을 도시한다. 그러나, 현재 프레임 Fk에서 경험 2 및 경험 3 을 위치판단하는 것이 가능하며 따라서 장소 B를 생성한다. 이에 상응하여, 장소 A 및 B가 실제로 동일한 장소를 지칭한다는 것이 결정될 수 있다(경험 2가 양자 모두에 포함되기 때문임) 그리고 이를 고려하여, 장소 A 및 B는 병합되어 장소 C를 생성할 수 있다.
따라서, 다시 도 3 을 참조하면, 거기서 지칭되는 경험들 중 세 개 모두가(경험 1; 경험 2 및 에포크 B 내의 VO로부터 저장된 경험) 모두 실제로 동일한 장소를 가리킨다는 것이 유추될 수 있는데 이것은 경험 2 가 모든 3 개의 에포크 A 내지 C에 공통이기 때문이다.
따라서, 그리고 도 3 과 관련하여 논의되는 바와 같이, 장소들이 경험을 링크하기 위하여 사용될 수 있다. 우리는 경험 노드의 세트로써 모든 장소를 질의하는 능력을 사용하고, 이러한 노드들을 포함하는 장소의 세트를 수신한다. 이러한 질의는 Ω를 통해 정의된다.
Figure 112014085350077-pct00026
1) 컴퓨팅 관련된 경험: 위에서 언급된 바와 같이, 저장된 경험들이 반드시 차량의 현재 포지션을 커버하는 것은 아닐 것이기 때문에, 모든 저장된 경험들이
Figure 112014085350077-pct00027
에 대하여 관련되는 것은 아닐 것이다. 그러므로 실시예들은 위치판단기가 두 개의 상태인 활성 및 휴지 상태를 가지도록 허용한다.
Figure 112014085350077-pct00028
를 처리하기 이전에, 이전의 프레임으로부터의 성공적 위치판단기 포지션의 세트 {j ε m }k- 1는 관련된 장소의 세트를 생성하도록 사용된다:
Figure 112014085350077-pct00029
그러면 각각의 휴지 위치판단기는
Figure 112014085350077-pct00030
에게 자기 자신의 노드의 존재에 대하여 질의하고, 존재한다면 취출된 포지션에서 스스로를 활성화한다. 차량(102)이 경험의 범위 너머로 이동하면(즉 위치판단기의 범위가 도 3 과 관련하여 설명된 것처럼 분실됨), 연관된 위치판단기는 스스로를 휴지 상태로 설정한다.
2) 분실된 위치판단기를 재초기화(Reinitialising Lost Localisers): 위치판단기는 그들이 더이상 현재 프레임
Figure 112014085350077-pct00031
을 추적할 수 없기 때문에 분실되는데, 하지만 이것은 일시적 상태에 불과할 수도 있고 위치판단기는 어떤 경험 내에서 스스로를 재-위치판단할 수 있을 수도 있다. 이를 고려하여, 그 위치판단기 / 경험은 그 위치판단기가 처음에 분실된 직후에 다시 관련되게 될 수 있을 수도 있고, 따라서 분실된 위치판단기를 재초기화하는 것이 실시예의 시도이다. 가능한 곳에서 분실된 위치판단기를 재초기화하는 것을 실패하면, 시스템이 필요한 것보다 더 많은 경험을 저장하고는 것을 초래할 수 있을 것인데, 이 때에는 데이터에 대한 스토리지 요구량이 증가한다는 것 그리고 그 추가 데이터의 관점에서의 처리 성능의 감소하는 문제점들이 수반된다.
이를 고려하여, 본 발명의 실시예는 한 경험 내의 공지된 위치가 주어지면 포지션이 장소를 통해 다른 경험 내에서 공지되는지 여부를 평가할 수도 있다. 그러므로, 몇몇 실시예는 분실된 위치판단기가 주기적으로 이들이 재초기화될 수 있는지를 보기 위하여
Figure 112014085350077-pct00032
에 질의하도록 구현될 수도 있다.
가끔 위치판단 프로세스의 전부가 분실될 수 있는데, 이 시점에 시스템은 이것이 플라스틱 맵 내에 어디에 있는지를 알 수 없다. 이것은 현재 위치가 크게 변경되었기 때문에(예를 들어 눈이 내렸기 때문에), 또는 차량(102)이 새로운 루트를 운행하고 있기 때문일 수도 있다. 어떠한 이유에서건, VO 시스템은 라이브 프레임(데이터) 스트림을 계속하여 처리할 것이며, 에포크 B와 관련해 도 2 와 관련하여 설명된 것처럼 새로운 경험에 그 출력을 저장하고 있을 것이다. 그러나 차량(102)이 추후에 이것이 그 안에서 성공적으로 위치판단할 수 있고 플라스틱 맵 내에서 자신의 포지션을 재획득할 수 있는 장소로 복귀할 것이 가능하다; 즉 차량(102)은 다시 N 보다 많은 개수의 경험 내에서 위치판단할 수 있을 수도 있다. 반복된 횡단(traverses)에 걸쳐 점점 희귀해질 것인 이러한 문제에 대한 솔루션에 대하여, 우리는 분실된 위치판단기를 재초기화할 수 있는 외부 루프 클로져(external loop closer)를 사용한다.
외부 루프 클로징(closing)은 새로운 서킷으로부터 이전에 발견된 서킷에 재-합류하는 차량의 논의에서 아래에서 논의되는 도 7 과 관련하여 하이라이트된다.
그러나, 몇 가지 실시예들에서, GPS 등과 같은 시스템이 차량(102)의 거친 포지션을 제공하기 위하여 사용될 수도 있다. 이러한 실시예에서 차량의 거친 포지션은 처리 회로부에 의하여 어떤 저장된 경험이 그 안에서의 차량의 위치판단을 위하여 고려될 후보가 될 수 있는지 하이라이트하기 위하여 사용될 수도 있다. 이와 같이, 차량(102)의 거친 포지셔닝은 어떤 경험이 차량(102)을 위치판단하기 위하여 사용될 수도 있는지를 식별하는 것을 돕기 위하여 사용될 수도 있다 - 단계 1510. 실시예들은 루프 클로져(136)를 포함하는 것으로 간주될 수도 있다.
본 발명의 실시예에서, 관련된 위치판단기의 세트가 컴퓨팅되었다면, 각각은 독립적이 되고 따라서 병렬적으로 실행될 수 있다는 것이 일반적인 경우이다. 데이터 연관(즉 저장된 경험으로부터의 랜드마크를 감지된 장면의 스테레오 카메라 프레임의 각각으로의 매칭) 및 궤적 추정 단계들(즉 현재 및 이전의 프레임 사이에서의 차량의 자세에서의 변화의 결정)이 계산 시간을 좌우하므로, 이들을 병렬화함으로써 실시예들은 현재 프레임을 15Hz에서 처리할 수 있다. 당업자들은 추가적인 처리 능력이 추가된다면 데이터가 핸들링될 수 있는 빈도가 증가시킬 것이라는 것을 인정할 것이다.
당업자가 센서 데이터의 스트림으로부터 궤적을 처리하고 생성하는 것이 가능한 시스템을 어떻게 구현할 것인지 이해할 것이기 때문에, 후속하는 논문은 참조로서 제공된다. 이러한 논문들은 참조에 의하여 통합되며, 당업자는 이러한 논문들의 관련된 섹션을 읽어보도록 지시된다.
강건한 데이터 연관을 획득하기 위하여, 본 발명의 실시예는 이진 강건한 독립적 기본 피쳐(Binary Robust Independent Elementary Features; BRIEF) 기술자를 사용할 수도 있다.
[11] M. 캐론더(Calonder), V. 레페티트(Lepetit), C. 스트레차(Strecha), 및 P. 푸아(Fua)의, "BRIEF: Binary Robust Independent Elementary Features," in European Conference on Computer Vision, September 2010.
BRIEF 기술자 피쳐는 처리 회로부(112)의 CPU만을 사용하여 계산하고 매칭시키기에 고속이며, SURF [12]와 비견되는 성능을 제공할 수 있다.
[12] H. 베이(Bay), A. 데스(Ess), T. 투이텔라(Tuytelaars), 및 L. V. 구(Goo), "Surf: Speeded up robust features," Computer Vision and Image Understanding(CVIU), vol. 110, pp. 346-359, 2008.
본 발명의 실시예는 이용가능하고 프레임 레이트 성능을 허용하는 SURF와 같은 기술자의 GPU(Graphics Processing Unit) 구현형태를 사용할 수도 있다:
[13] N. 코넬리스(Cornelis) 및 L. V. 굴(Gool), "Fast Scale Invariant Feature Detection and Matching on Programmable Graphics Hardware," in Computer Vision and Pattern Recognition, 2008.
그러나 각각의 위치판단기 및 라이브 VO 시스템에서의 매칭 단계는 GPU로의 액세스를 요구한다(인입하는 프레임 상의 피쳐 추출은 독립적이며 시작 시에 한 번 수행될 수 있음). 거의 모든 시스템이 고작 하나의 GPU만을 가지기 때문에, GPU를 사용해야 하는 요구 사항은 CPU-온리(only) 프로그램을 멀티코어 또는 멀티-프로세스 시스템 상에서 실행하는 것과 비교할 때 병렬화를 어렵게 만든다. 이를 고려하여, 실시예들은 CPU 기초 방법을 사용하는 경향이 있다.
실시예는 FAST 코너 추출기(extractor)를 사용하여 BRIEF에 대한 관심 지점을 계산할 수도 있다:
[14] E. 로스텐(Rosten), G. 라레트마이르(Reitmayr), 및 T. 드럼몬드(Drummond), "Real-time video annotations for augmented reality," in Advances in Visual Computing . LNCS 3840, December 2005, pp. 294-302.
몇 가지 실시예들에서, 매칭된 랜드마크는 메이(Mei)에 의하여 설명되는 효율적 2차-매칭을 사용하여 서브-픽셀 정밀도로 정제된다:
[15] C. 메이(Mei), S. 벤히메인(Benhimane), E. 말리스(Malis), 및 P. 라이브스(Rives), "Efficient homography- based tracking and 3-d reconstruction for single-viewpoint sensors," IEEE Transactions on Robotics , vol. 24, no. 6, pp. 1352-1364, Dec. 2008.
데이터는 베그브로크 과학 공원(Begbroke Science Park) 주위의 두 개의 반-중첩하는 0.7km 루트의 53 개의 횡단으로부터 수집되었다. 데이터는 그룹의 조사 차량인 와일드캣(Wildcat)을 사용하여 하루의 상이한 시점 및 상이한 날씨 상태에서 3 개월의 기간 동안 수집되었다.
도 7 은 해당 사이트의 오버헤드를 차량, 예컨대 차량(102)에 의하여 주행된 두 개의 루트와 함께 도시한다. 더 굵은 선으로 표시되는 외부 루프(700)는 첫 번째 47 개의 횡단에서 주행되었고, 반면에 마지막 6 개의 횡단은 더 얇은 선으로 표시되는 내부 루프(702)를 통하여 진행했다. 플롯의 세기가 얼마나 많은 경험이 각각의 지점에 이루어졌는지를 표시하고 스케일이 도면의 우측에 도시된다. 예시적인 목적을 위하여 우리는 외부 루프 클로져로부터의 신호를 제어하였고, 따라서 이것은 각각의 루프에서 14 개의 선정의된 지점에서만 파이어링했다(fired). 포인트들은 각각의 루프를 따라 거의 균일하게 이격되었다. 이를 고려하여, 이러한 위치판단기들기 분실되었다면 이들은 이러한 14 개의 선정의된 포인트에서 재-위치판단될 수 있다. 당업자들은 다른 실시예들이 이것을 상이하게; 아마도 무작위로, 실질적으로 연속적으로, 선결정된 시간 간격에서 등등으로 구현할 수도 있다는 것을 인정할 것이다.
루트의 일부 지역들은 다른 것들보다 더 많은 경험을 요구한다. 도 6 에서 우리는 낮은 그리고 높은 시각적 변동 모두를 나타내는 장소들의 예를 도시한다. 높은 시각적 변동을 가지는 지역의 하나의 예는 주차장인 도 6(a) 이다. 이러한 공간의 콘텐츠 및 구성은 매일 변동하고, 따라서 전날 저장된 경험들은 유용할 가능성이 적다. 다른 것은 가지가 드리워진 나무에 의하여 커버되는 도로의 섹션인데, 이것은 도 6(b)에 도시된 바와 같다. 태양광이 강하며 복잡한 그림자 효과를 야기한다. 라이브 VO 시스템이 그 안에 랜드마크를 제공하기 위하여 이것들이 유용한 반면에, 위치판단된 랜드마크는 흔히 다시 조우되지 않으며, 이것은 이전의 경험이 유용하지 않다는 것을 의미한다. 시각 변동의 높은 정도를 가지는 이미지들은 언제나 라이브 VO 시스템을 사용하는 것을 독려한다.
이에 반해 도 6(c) 및 (d) 는 유사한 날씨 상태에서는 거의 일정한 외관을 가지는 도로의 개방 직선 구역을 도시한다.
도 8 은, 이것이 캡쳐되었던 하루의 시간과 함께 각각의 횡단 중 얼마 이상이 저장되는지를 도시한다. 여기에서 방문 횟수는 데이터가 수집되었던 순서로 있다. 이를 고려하여, 도면의 좌측에서, 플라스틱 맵이 상대적으로 망라적이지 않고(in-extensive) 많지 않은 경험들이 저장된 바 있다면, VO 출력의 많은 양이 저장된다는 것을 알 수 있다. 횡단의 개수가 증가함에 따라 저장되는 VO 출력은 감소하는데 이것은 차량(102)이 이전의 경험 중 많은 것에서 스스로를 위치판단할 수 있기 때문이다(N 보다 많은 개수의 경험 내의 위치판단이 발생하면 새로운 VO 출력이 더 이상 저장되지 않을 수도 있는 도 3 과 관련한 논의에 따름).
횡단 35 내지 38 근방에서의 큰 점프는 황혼이 드리워지면서 최초로 데이터가 수집되었기 때문에 발생한다. 도로도 역시 물의 스탠딩 풀(standing pool)을 가졌으며 약하게 비가 내리고 있었는데, 이것은 시스템이 일찍이 조우하지 못했던 것이었다. 도 13 은 횡단 38 상에서 센서에 의하여 생성된 이미지를 제공하고, 이미지 b) 및 d)는 횡단 38 에서 생성되는 반면에 이미지 a) 및 c)는 더 이른 횡단에서 생성되었고 따라서 저장된 경험에 관련되었다. 따라서, 횡단 38 상에서 생성된 이미지들이 더 이른 횡단의 그것들과는 상이하다는 것을 알 수 있다.
방문 47 에서의 제 2 스파이크는 내부 루프(702)를 최초로 운행하는 것에 의하여 야기된다. 갑자기 어떠한 위치판단도 성공적이지 않으며, 전체 섹션은 루프 클로져가 파이어링할 때까지 저장된다. 루프 클로져는 내부 루프(702)가 외부 루프(704)에 재합류하고 위치판단기가 저장된 경험 내에서 다시 위치판단할 수 있는 때에, 또는 그 직후에 차량(102)의 포지션을 재-위치판단할 수 있을 것이다.
도 8 을 좀더 상세하게 설명하면, 그래프는(좌측 축 참조) 장래 사용을 위하여 저장되는 VO 출력의 일부를 보여준다. 또한, 결과는 변동하는 N(차량(102)이 분실되지 않았다고 결정하기 위하여 요구되는 위치판단의 최소 개수)의 효과를 하이라이트하고, 결과는 그래프의 각 줄에 대하여 사용된 심벌을 변경함으로써 위치판단기의 최소 개수 N = 1, N = 2 및 N = 3 에 대하여 도시된다.
우리는 각각의 횡단에 대하여, 모든 다른 방문이 단일 이용가능한 경험으로서 사용되었을 때의 저장된 VO 출력의 일부를 계산하였으며 및 결과를 평균화하였다. 우리는 이것을 AwSPE(Average with Single Previous Experience)라고 지칭하고 이것은 삼각형으로 표시된 쇄선에 의하여 표현된다.
도 12 는 횡단 4 상의 위치판단 실패의 예를 도시하는데, 여기에서 강한 그림자 효과가 처음으로 조우된다: 이미지 a) 및 c)는 이전의 횡단으로부터 생성되었고 경험으로서 저장된 반면에 이미지 b) 및 d)는 횡단 4 상에서 생성되었다.
따라서, 환경에 큰 변화를 야기했던 상황(황혼에서 운행하거나 상이한 루트에서 운행하는 것과 같은)인 도 12 및 도 13 에 관련하여 목격될 수 있는 바와 같이, 차량(102)이 그 경로를 재방문할 때 각각의 횡단 상에 VO 출력의 더욱 더 적은 부분을 기억하면 됐다는 것이 발견된다.
다중 경험을 저장하여 위에서 설명된 바와 같은 본 발명의 실시예와 관련하여 설명된 바와 같은 플라스틱 맵을 제작하는 것의 장점을 평가하기 위하여, 한 번의 이전 방문에서, 즉 변화하는 환경을 캡쳐하려고 시도하지 않으면서 현재 VO 데이터를 위치판단하려고 시도했던 실험들이 실행되었다. 이러한 실험에 대하여, 유일한 저장된 경험은 선택된 예시적 방문이 되도록 한정되고 그 경로의 각각의 횡단에서 저장되었어야 하는 VO 출력의 양이 각각의 케이스에서 결정되어 위치판단 실패를 표시했고, 그 결과들이 평균화되었다. 따라서, 제 1 패스로서, 횡단 번호 1 이 선택된 예가 되도록 취해졌고 횡단 번호 2 내지 53 에 대한 유일한 저장된 경험으로서 사용되었다. 제 2 패스에서, 횡단 번호 2 가 선택된 예가 되도록 취해졌고 횡단 번호 1 및 3 내지 53 에 대한 유일한 저장된 경험으로서 사용되었다. 이러한 패턴은 횡단의 각각이 선택된 예로서 사용된 바 있을 때까지 반복되었다.
이것들은 도 8 에 도시되며 AwSPE(Average with Single Previous Experience)라고 불린다. 모든 방문에 걸쳐 저장된 평균 VO 출력은 65.8%이고, 및 어떠한 방문도 다른 방문에 대해 프라이어(prior)로서 "양호"하지 않았다. 이것이 주위 환경을 나타내기 위한 다중 경험의 사용에 대한 동기를 제공한다. 시간이 지남에 따라서, 새로운 루트를 드러내면서, 위에서 설명된 바와 같은 플라스틱 맵을 생성하는 실시예는 시스템이 루트의 통상적인 변동을 캡쳐할 때 1/(TraverseCount) 감쇄를 생성한다.
데이터가 수집되었던 순서는 우선순위(privileged) 시퀀스이다. 그러나 이것은 53! 개의 방법으로 정렬되어 상이한 성능 그래프를 생성한다. 요점을 말하면, 외부 루트의 10 개의 가장 놀라운(most surprising) 횡단 및 시작까지의 6 개의 내부 횡단이 있는 그리디 재정렬(greedy re-ordering)이 수행되었으며, 시스템을 재실행했다. 결과 성능 그래프가 도 10 에 도시된다. 이를 고려하여, 거의 모든 "흥미로운(interesting)" 및 "놀라운(surprising)" 횡단들은 플라스틱 맵 생성의 시작으로 이동되었고, 경험의 누적이 크게 떨어지기 이전에 횡단 18 까지 높게 유지된다(크게 변동하는 횡단이 발생하는 동안)는 것에 주의한다.
각각의 횡단을 흐림(overcast) 또는 맑음(sunny)으로 분류하는 것도 역시 가능하다(각각의 방문에 대한 날씨는 도 9 에 도시된다). 다른 실험에서 데이터는 흐림 또는 맑음 경험만을 사용하여 재처리되었고, 그 결과가도 11 에 도시된다. (우리는 4 개의 황혼 및 6 개의 내부 루프 횡단을 제거했다.) 흐림만 있는 횡단에서 흥미롭게도(도 11 의 상단 그래프) 시스템은 흐린 상태를 관리하기에 충분한 경험을 신속하게 누적하는데, 반면에 맑은 횡단(도 11 의 하단 그래프)은 적은 오프셋 바이어스를 가진다. 적은 오프셋 바이어스는 이전의 경험에서의 위치판단을 어렵게 하는 그림자 효과에 의하여 야기된다고 여겨진다; 이러한 그림자들은 물론 도 6(b) 에 보일 수 있다.
마지막으로 테스트 차량에서 실행하는 시스템의 성능이 도 14 에 도시된다. 횡단 47 상의 각각의 프레임에 대한 여러 개의 성공적 위치판단기 및 타이밍 성능이 도시되는데, 이것은 내부 루프의 제 1 횡단이다. 위치판단은 프레임 1296 까지 성공적인데, 이 지점에서 차량은 내부 루프로 방향전환한다. 이러한 포인트에서 새로운 경험이 시작되고, 저장된 관련된 경험이 없기 때문에 위치판단이 존재하지 않는다. 프레임 2239 에서, 외부 루프 클로져가 파이어링하고, 결과적으로 성공적 위치판단을 초래하며, 따라서 새로운 경험의 저장이 중단된다. 액티브 위치판단기의 변동하는 숫자에도 불구하고 프레임당 타이밍은 통상적으로 100ms 아래로 유지하고, 반면에 시퀀스의 성공적 위치판단 부분(즉, 프레임 1296 내지 2239 를 포함하지 않음)에 대한 평균은 53ms이다.
도 16 은 도 1 의 시스템과 비교할 때 변경된 시스템의 일 실시예를 도시한다. 그러나, 용이화를 위하여, 유사한 구성 요소는 유사한 부재 번호로써 지칭된다. 이 실시예에서, 처리 회로부(112)에는 3G 모뎀 또는 기타 등등과 같은 무선 통신 수단(1600)이 제공된다. 무선 통신 수단(1600)은 처리 회로부(112)가 네트워크(1602)를 통하여 원격 서버(1604)와 통신하도록 허용한다. 네트워크는 임의의 적합한 네트워크일 수 있는데, 하지만 통상적으로는 인터넷일 수도 있다. 당업자는 비록 서버(1604)가 도면에서 단일 디바이스인 것으로 표현되지만, 이것이 실제로는 서로 분리될 수도 있는 복수 개의 개별 디바이스들일 수 있다는 것을 인정할 것이다.
도 16 에 도시되는 것과 같은 실시예에서, 원격 서버(1604)가 센서(100)로부터 생성된 데이터(및/또는 VO 시스템 로부터의 출력)의 처리의 처리 부하 중 일부를 공유할 수 있다는 것이 착상가능하다. 그러나, 서버는 차량(102)을 위치판단하기 위하여 사용될 수 있는 경험도 역시 저장할 수도 있다.
위에서 논의된 바와 같이, 센서(100) 로부터의 데이터 출력은 하루의 시간, 날씨 상태, 등에 따라서 크게 변동할 수도 있다. 이를 고려하여, 저장된 경험의 서브-세트만이 그것의 현재 현장 내에서 차량(120)을 위치판단하기 위하여 유용할 것이라는 것이 착상가능하다.
이를 고려하여, 원격 서버(1604)는 경험의 세트를 스토리지 디바이스(1606)상에 저장하도록 구현될 수도 있고, 차량(102)은 저장된 경험의 서브-세트를 다운로드하도록 구현될 수도 있다. 따라서, 스토리지 디바이스(1606)가 차량(102) 외에 탑재된 스토리지 디바이스를 제공한다는 것이 인정될 것이다. 경험의 서브-세트는: 일시, 날씨 상태, 의도된 루트, 위치, 또는 기타 등등 중 임의의 하나 이상을 포함하는 다양한 파라미터에 의존하여 차량(102)으로 다운로드될 수도 있다.
사실상, 차량(102)이 이것이 수행하는 횡단 도중에 새로운 경험을 생성한다면, 그러면 차량(102)은 그러한 새로운 경험을 원격 서버(1604)로 업로드하도록 구현될 수도 있다.
사실상, 서버(1604) 상에 홀딩되는 경험의 세트는 복수 개의 차량에 의하여 생성될 수도 있다. 이를 고려하여, 서버(1604)는 그러한 경험을 사용하여 스스로를 위치판단하고자 하는 임의의 개수의 차량에 의하여 사용될 수도 있는 경험의 저장소를 제공할 수도 있다.
이를 고려하여, 본 발명의 실시예는 차량(120)의 연속 위치판단을 시연할 수도 있다. 이러한 위치판단은 시간 기간 동안에 변동하는 조명 및/또는 날씨 상태에 있을 수도 있는데, 이것은 이 실험에서는 석 달 기간이었다. 실시예는 플라스틱 매핑이라고 불릴 수도 있는 것을 사용했다. 이를 고려하여, 실시예는 단일 모놀리식 맵을 제작하는 것 또는 작업 공간의 모든 관철들을 설명하는 잠재적으로 하재하는(下在) 상태를 추론하는 것이 아니라 다수 개의 중첩하는 경험으로부터 구성된 통합 표현을 생성하는 것에 중점을 둔다. 이러한 표현(즉 플라스틱 맵)은 오직 이것이 필요한 만큼만 복잡하고 풍부할 수도 있다. 실시예는 통상적으로 급격한 변화 및 완만한 변화 모두를 동일한 방법으로 다룰 것이다 - 종래의 경험이 현재를 적절하게 설명할 수 없게 되기만 하면 새로운 경험이 장래 참조를 위하여 저장된다. 실험들은 위치판단 성능에 있어서의 플라스틱 맵의 장점(강건성)을 도시했으며, 획득되어 온 석 달 간의 데이터를 사용함으로써 플라스틱 맵 유지보완의 점근적 거동(asymptotic behavior)을 시연하는 것이 가능했다.
당업자는 위에서 설명된 많은 피쳐들이 소프트웨어, 펌웨어 또는 하드웨어로, 또는 사실상 이들의 조합에 의하여 구현될 수 있다는 것을 인정할 것이다. 이를 고려하여, 이러한 기법의 임의의 조합에 의하여 구현되는 시스템이 커버되는 것이 의도된다.

Claims (23)

  1. 차량 센서를 호스팅하는 차량을 위치판단(localising)하는 방법으로서,
    a) 현재 시각에서의 차량 주위의 환경을 표현하는 단일 표현을 제공하는 상기 차량 센서로부터의 데이터를 캡쳐하는 단계; 및
    b) 상기 단일 표현을 처리하여 상기 단일 표현으로부터 피쳐의 세트를 추출하고 추출된 피쳐를 사용하여 차량의 포지션을 추정하는 단계로서,
    c) 상기 단일 표현으로부터의 추출된 피쳐의 세트를 단일 표현의 복수의 콜렉션과 비교하여 상기 단일 표현이 저장된 단일 표현의 복수의 콜렉션 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 단계 - 각각의 콜렉션이 복수의 단일 표현을 포함하고, 상기 콜렉션 내의 각각의 단일 표현이 추출된 피쳐의 세트가 비교되는 이전에 감지된 장면으로부터 결정된 피쳐의 세트를 제공함 -,
    d) 만일 단일 표현의 추출된 피쳐의 세트가 저장된 단일 표현의 콜렉션의 임의의 하나 내에서 인식되면, 저장된 단일 표현의 콜렉션이 저장된 단일 표현의 콜렉션에 대한 현재 시각의 차량 포지션의 추정치를 생성하기 위하여 사용되는 단계, 및
    e) 만일 단일 표현의 추출된 피쳐의 세트가 선결정된 개수를 초과하는 저장된 단일 표현의 콜렉션 내에서 인식되지 않으면, 상기 방법은 상기 환경의 단일 표현이 장래 비교를 위해 새롭게 저장된 단일 표현의 콜렉션의 일부가 되도록 상기 환경의 단일 표현을 저장하는 단계에 의해 수행되는, 차량의 포지션을 추정하는 단계
    를 포함하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  2. 제 1 항에 있어서,
    각각의 저장된 단일 표현의 콜렉션이 자기 자신의 기준 단일 프레임 내에 존재하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  3. 제 1 항에 있어서,
    상기 저장된 단일 표현의 콜렉션이
    (i) 하루의 시간;
    (ii) 한 주의 요일;
    (iii) 계절;
    (iv) 날씨 상태;
    (v) 의도된 차량 루트; 및
    (vi) 지리학적 위치
    의 파라미터들 중 하나 이상의 파라미터에 따라 서브-세트로 배열되고,
    상기 저장된 단일 표현의 콜렉션의 서브-세트가 상기 하나 이상의 파라미터에 따라 이 방법의 (d) 및 (e) 단계에서 사용되기 위해 선택되는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  4. 제 1 항에 있어서,
    (i) 상기 저장된 단일 표현의 콜렉션 중 적어도 일부가 원격 서버로부터 다운로드되는 것; 및
    (ii) 상기 저장된 단일 표현의 콜렉션이 다수 개의 중첩하는 저장된 단일 표현의 콜렉션으로부터 구성된 차량이 이동하는 환경의 통합 표현을 제공하는 것
    중 적어도 하나가 적용되는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  5. 제 1 항에 있어서,
    상기 저장된 단일 표현의 콜렉션은
    (i) 상기 저장된 단일 표현의 콜렉션을 생성했던 차량; 및
    (ii) 상기 저장된 단일 표현의 콜렉션을 생성했던 차량에 더 추가한 차량
    중 하나 또는 둘 다에 의해 사용되는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  6. 제 1 항에 있어서,
    상기 방법은
    (i) 현재 시각에서의 환경의 단일 표현 내의 피쳐를 분석하고, 변환을 사용하여 제 2 의 추후 시각에서의 환경의 후속 단일 표현 내의 피쳐와 링크하는 단계,
    (ii) 상기 차량이 위치판단되었다고 결정되기 이전에, 상기 환경의 단일 표현이 선결정된 개수의 저장된 단일 표현의 콜렉션 내에 인식되도록 요구하는 단계, 및
    (iii) 저장된 단일 표현의 콜렉션이 서로 유사한 장소에 관련되는지 여부를 결정하고, 상기 저장된 단일 표현의 콜렉션이 동일한 장소에 관련된다고 결정된다면, 이러한 저장된 단일 표현의 콜렉션들을 링크하는 단계
    중 적어도 하나의 단계를 수행하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  7. 제 1 항에 있어서,
    상기 저장된 단일 표현의 콜렉션 중 적어도 일부는 현위치(locality)와 연관되며, 상기 방법은 상기 차량의 현위치를 결정하도록 상기 차량의 개략적 포지셔닝(coarse positioning)을 사용하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  8. 제 1 항에 있어서,
    캡쳐된 데이터 및 저장된 단일 표현의 콜렉션은 이미지를 포함하고, 상기 방법은 이미지 매칭 기법을 사용하여 환경의 단일 표현과 유사하게 보이는 저장된 단일 표현의 콜렉션을 결정하고 후속하여 유사하게 보이는 저장된 단일 표현의 콜렉션을 사용하여 단일 표현이 그 내부에서 인식될 수 있는지 여부를 결정하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  9. 제 1 항에 있어서,
    상기 방법이 상기 환경의 단일 표현을 새로운 단일 표현의 콜렉션으로서 저장할 때 저장된 단일 표현의 하나 이상의 콜렉션 내에서 상기 환경의 단일 표현을 인식하려고 계속하여 시도하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  10. 제 1 항에 있어서,
    상기 방법은 상기 환경의 단일 표현 내의 피쳐들을 링크하는 상기 차량의 궤적을 변환을 사용하여 생성하도록 더 구현되는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  11. 제 1 항에 있어서,
    상기 방법은 상기 차량의 현위치를 사용하여 어떤 단일 표현의 저장된 콜렉션이 고려되어야 하는지를 결정하고, 이로써 상기 환경의 단일 표현이 그 내부에서 인식될 수 있는지 여부를 결정하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  12. 제 1 항에 있어서,
    상기 단일 표현의 저장된 콜렉션은 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여, 무한 공간 영역을 커버하는, 차량 센서를 호스팅하는 차량을 위치판단하는 방법.
  13. 차량을 위치판단하도록 구현되는 시스템으로서,
    상기 시스템은 현재 시각에서의 차량 주위의 환경을 나타내는 단일 표현을 나타내는 데이터를 생성하도록 구현되는 차량 센서 및 상기 데이터를 처리하도록 구현되는 처리 회로부를 포함하고,
    상기 처리는 상기 환경을 나타내는 단일 표현으로부터 피쳐의 세트를 추출하여 차량의 포지션을 추정하도록 구현되고,
    상기 처리는,
    상기 데이터를 스토리지 디바이스 내에 홀딩된 저장된 단일 표현의 복수의 콜렉션과 비교하여 감지된 장면이 저장된 단일 표현의 콜렉션 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 것 - 저장된 단일 표현의 각각의 콜렉션이 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여 무한 공간 영역을 커버하는 피쳐의 복수의 세트를 포함함 -,
    상기 데이터가 상기 환경을 나타내는 단일 표현이 임의의 저장된 단일 표현의 콜렉션 내에서 인식되도록 허용한다면, 상기 저장된 단일 표현의 콜렉션을 사용하여 상기 차량의 포지션을 추정하는 것, 및
    만일 상기 감지된 장면이 선결정된 개수를 초과하는 저장된 단일 표현의 콜렉션 내에서 인식되지 않으면, 상기 환경의 단일 표현이 장래 비교를 위해 새롭게 저장된 단일 표현의 콜렉션의 일부가 되도록 상기 환경의 단일 표현을 저장하는 것
    에 의해 추정치를 생성하도록 구현되는, 시스템.
  14. 제 13 항에 있어서,
    (i) 상기 스토리지 디바이스의 일부는 상기 차량의 외부에 탑재되고 상기 차량으로부터 액세스가능하도록 구현되는 것;
    (ii) 상기 시스템이 상기 차량 상의 처리 회로부와 통신하도록 구현되는 서버를 더 포함하는 것; 및
    (iii) 상기 처리 회로부는 상기 데이터를 이용가능한 저장된 단일 표현의 콜렉션의 서브-세트에 대하여 비교하도록 구현되는 것
    중 적어도 하나가 적용되는, 시스템.
  15. 제 14 항에 있어서,
    상기 처리 회로부는 원격 스토리지 디바이스로부터 상기 차량 상의 스토리지 디바이스에 국지적으로 홀딩될 수도 있는 이용가능한 저장된 단일 표현의 콜렉션의 서브-세트를 획득하도록 구현되는, 시스템.
  16. 제 13 항에 있어서,
    상기 단일 표현의 저장된 콜렉션은 상기 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여, 무한 공간 영역을 커버하는, 시스템.
  17. 현재 시각에서의 차량 주위의 환경을 나타내는 단일 표현을 나타내는 데이터를 생성하도록 구현되는 탑재된 차량 센서 및 상기 데이터를 처리하도록 구현되는 처리 회로부를 포함하는 차량으로서,
    상기 처리 회로부는 상기 환경을 나타내는 단일 표현으로부터 피쳐의 세트를 추출하여 차량의 포지션을 추정하도록 구현되고,
    상기 처리는,
    상기 데이터를 스토리지 디바이스 내에 홀딩된 저장된 단일 표현의 복수의 콜렉션과 비교하여 감지된 장면이 저장된 단일 표현의 콜렉션 중 임의의 것 내에서 인식될 수 있는지 여부를 확인하는 것 - 저장된 단일 표현의 각각의 콜렉션이 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여 무한 공간 영역을 커버하는 피쳐의 복수의 세트를 포함함 -,
    상기 데이터가 상기 환경을 나타내는 단일 표현이 임의의 저장된 단일 표현의 콜렉션 내에서 인식되도록 허용한다면, 상기 저장된 단일 표현의 콜렉션을 사용하여 상기 차량의 포지션을 추정하는 것, 및
    만일 상기 감지된 장면이 선결정된 개수를 초과하는 저장된 단일 표현의 콜렉션 내에서 인식되지 않으면, 상기 환경의 단일 표현이 장래 비교를 위해 새롭게 저장된 단일 표현의 콜렉션의 일부가 되도록 상기 환경의 단일 표현을 저장하는 것
    에 의해 추정치를 생성하도록 구현되는, 차량.
  18. 제 17 항에 있어서,
    상기 단일 표현의 저장된 콜렉션은 상기 동일한 영역의 상이한 외관을 캡쳐하는 것에 추가하여, 무한 공간 영역을 커버하는, 차량.
  19. 삭제
  20. 머신에 의하여 판독되면 상기 머신으로 하여금 제1항의 방법을 수행하도록 야기하는 명령이 포함된 머신 판독가능 기록 매체.
  21. 삭제
  22. 삭제
  23. 삭제
KR1020147025184A 2012-02-10 2013-02-08 센서를 위치판단하는 방법 및 관련된 장치 KR102053802B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1202344.6 2012-02-10
GBGB1202344.6A GB201202344D0 (en) 2012-02-10 2012-02-10 Method of locating a sensor and related apparatus
PCT/GB2013/050299 WO2013117940A2 (en) 2012-02-10 2013-02-08 Method of locating a sensor and related apparatus

Publications (2)

Publication Number Publication Date
KR20140130467A KR20140130467A (ko) 2014-11-10
KR102053802B1 true KR102053802B1 (ko) 2019-12-09

Family

ID=45929944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025184A KR102053802B1 (ko) 2012-02-10 2013-02-08 센서를 위치판단하는 방법 및 관련된 장치

Country Status (10)

Country Link
US (2) US9576206B2 (ko)
EP (1) EP2812727B1 (ko)
JP (2) JP2015508163A (ko)
KR (1) KR102053802B1 (ko)
CN (1) CN104520732B (ko)
BR (1) BR112014019731B1 (ko)
GB (1) GB201202344D0 (ko)
HK (1) HK1209488A1 (ko)
IN (1) IN2014MN01485A (ko)
WO (1) WO2013117940A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9403482B2 (en) 2013-11-22 2016-08-02 At&T Intellectual Property I, L.P. Enhanced view for connected cars
GB2533295A (en) * 2014-12-15 2016-06-22 The Chancellor Masters And Scholars Of The Univ Of Oxford Localising portable apparatus
US9519061B2 (en) * 2014-12-26 2016-12-13 Here Global B.V. Geometric fingerprinting for localization of a device
US9978284B2 (en) * 2015-06-05 2018-05-22 Here Global B.V. Method and apparatus for generating vehicle maneuver plans
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
CN106052697B (zh) * 2016-05-24 2017-11-14 百度在线网络技术(北京)有限公司 无人车、无人车定位方法、装置和系统
US11093753B2 (en) * 2016-06-24 2021-08-17 Robert Bosch Gmbh RGB-D camera based tracking system and method thereof
EP3263405B1 (en) * 2016-06-27 2019-08-07 Volvo Car Corporation Around view monitoring system and method for vehicles
US9805306B1 (en) 2016-11-23 2017-10-31 Accenture Global Solutions Limited Cognitive robotics analyzer
CN106802654A (zh) * 2016-11-25 2017-06-06 斑马信息科技有限公司 移车系统和移车方法
CA3040599C (en) * 2016-11-29 2022-09-06 Continental Automotive Gmbh Method and system for generating environment model and for positioning using cross-sensor feature point referencing
JP6775263B2 (ja) * 2016-12-02 2020-10-28 深▲せん▼前海達闥云端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co.,Ltd. 測位方法及び装置
CN106774312B (zh) * 2016-12-05 2020-04-28 遨博(北京)智能科技有限公司 一种为移动机器人确定移动轨迹的方法和装置
WO2018108180A1 (zh) * 2016-12-15 2018-06-21 苏州宝时得电动工具有限公司 自移动设备的工作区域的分区方法、装置和电子设备
CN106793074A (zh) * 2016-12-21 2017-05-31 深圳市卡迪尔通讯技术有限公司 定位方法及定位器
CN106814737B (zh) * 2017-01-20 2018-02-06 安徽工程大学 一种基于啮齿类动物模型和RTAB‑Map闭环检测算法的SLAM方法
JP6882664B2 (ja) * 2017-02-07 2021-06-02 富士通株式会社 移動体位置推定システム、移動体位置推定端末装置、情報格納装置、及び移動体位置推定方法
DE102017204839A1 (de) * 2017-03-22 2018-09-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Fahrzeugs
CN108732582B (zh) * 2017-04-20 2020-07-10 百度在线网络技术(北京)有限公司 车辆定位方法和装置
CN107247761B (zh) * 2017-06-01 2021-10-15 武汉理工大学 基于位图的轨迹编码方法
US10235192B2 (en) 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
GB201718507D0 (en) 2017-07-31 2017-12-27 Univ Oxford Innovation Ltd A method of constructing a model of the motion of a mobile device and related systems
DE102017214729A1 (de) * 2017-08-23 2019-02-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bestimmen einer hochgenauen Position und zum Betreiben eines automatisierten Fahrzeugs
JP6759175B2 (ja) 2017-10-27 2020-09-23 株式会社東芝 情報処理装置および情報処理システム
WO2019185165A1 (en) * 2018-03-30 2019-10-03 Toyota Motor Europe System and method for adjusting external position information of a vehicle
DE102018210712A1 (de) * 2018-06-29 2020-01-02 Zf Friedrichshafen Ag System und Verfahren zur gleichzeitigen Lokalisierung und Kartierung
WO2020010521A1 (zh) * 2018-07-10 2020-01-16 深圳前海达闼云端智能科技有限公司 一种定位方法、定位装置、定位系统及可读存储介质
CN109269483B (zh) * 2018-09-20 2020-12-15 国家体育总局体育科学研究所 一种动作捕捉节点的标定方法、标定系统及标定基站
CN110954922B (zh) * 2018-09-27 2021-08-24 千寻位置网络有限公司 Gnss动态路测的场景自动识别方法及装置
CN109612455A (zh) * 2018-12-04 2019-04-12 天津职业技术师范大学 一种室内定位方法及系统
US10922840B2 (en) * 2018-12-20 2021-02-16 Here Global B.V. Method and apparatus for localization of position data
CN109726684B (zh) * 2018-12-29 2021-02-19 百度在线网络技术(北京)有限公司 一种地标元素获取方法和地标元素获取系统
CN113454487A (zh) * 2019-03-13 2021-09-28 千叶工业大学 信息处理装置以及移动机器人
US11960297B2 (en) * 2019-05-03 2024-04-16 Lg Electronics Inc. Robot generating map based on multi sensors and artificial intelligence and moving based on map
CN110146910B (zh) * 2019-05-15 2023-02-28 重庆大学 一种基于gps与激光雷达数据融合的定位方法及装置
CN111044073B (zh) * 2019-11-26 2022-07-05 北京卫星制造厂有限公司 基于双目激光高精度agv位置感知方法
US20210200237A1 (en) * 2019-12-31 2021-07-01 Lyft, Inc. Feature coverage analysis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263104A (ja) 2002-03-11 2003-09-19 Mitsubishi Electric Corp 撮像情報認識システム
JP2005006081A (ja) * 2003-06-12 2005-01-06 Denso Corp 画像サーバ、画像収集装置、および画像表示端末
US20080320036A1 (en) 2007-06-22 2008-12-25 Winter Gentle E Automatic data collection
US20100070125A1 (en) 2008-09-12 2010-03-18 Samsung Electronics Co., Ltd. Apparatus and method for localizing mobile robot
US20110243379A1 (en) 2010-03-31 2011-10-06 Aisin Aw Co., Ltd. Vehicle position detection system
US20110243459A1 (en) 2010-04-05 2011-10-06 Kevin Keqiang Deng Methods and apparatus to detect differences between images

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999866A (en) * 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
JP3770344B2 (ja) * 1996-12-26 2006-04-26 ソニー株式会社 画像照合装置及び画像照合方法
US7242460B2 (en) 2003-04-18 2007-07-10 Sarnoff Corporation Method and apparatus for automatic registration and visualization of occluded targets using ladar data
CA2585982C (en) 2004-11-18 2012-07-10 Gentex Corporation Improved image acquisition and processing systems for vehicle equipment control
US7191056B2 (en) * 2005-01-04 2007-03-13 The Boeing Company Precision landmark-aided navigation
MX2007008283A (es) 2005-01-06 2007-12-05 Alan Shulman Sistema de navegacion e inspeccion.
JP2006208223A (ja) * 2005-01-28 2006-08-10 Aisin Aw Co Ltd 車両位置認識装置及び車両位置認識方法
EP1979874B1 (en) 2005-09-12 2011-10-26 Carlos Tapang Frame and pixel based matching of model-generated graphics images to camera frames
JP2007114020A (ja) * 2005-10-19 2007-05-10 Aisin Aw Co Ltd 車両の移動距離検出方法、車両の移動距離検出装置、車両の現在位置検出方法及び車両の現在位置検出装置
US7539557B2 (en) 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
JP4946238B2 (ja) * 2006-07-25 2012-06-06 株式会社デンソー 車両周辺撮影送信装置および車両周辺撮影送信プログラム
JP4717760B2 (ja) 2006-08-31 2011-07-06 三菱電機株式会社 物体認識装置および映像物体測位装置
CN101231755B (zh) * 2007-01-25 2013-03-06 上海遥薇(集团)有限公司 运动目标跟踪及数量统计方法
JP4569837B2 (ja) 2007-03-30 2010-10-27 アイシン・エィ・ダブリュ株式会社 地物情報収集装置及び地物情報収集方法
JP4437556B2 (ja) * 2007-03-30 2010-03-24 アイシン・エィ・ダブリュ株式会社 地物情報収集装置及び地物情報収集方法
CN101338987B (zh) * 2007-07-06 2011-05-04 高克联管件(上海)有限公司 一种冷凝用传热管
EP2242994A1 (en) * 2008-02-04 2010-10-27 Tele Atlas North America Inc. Method for map matching with sensor detected objects
CN101556584A (zh) * 2008-04-10 2009-10-14 深圳市万水千山网络发展有限公司 一种实现图片交易的计算机系统及方法
US8890951B2 (en) * 2008-04-24 2014-11-18 GM Global Technology Operations LLC Clear path detection with patch smoothing approach
US8284995B2 (en) 2008-07-16 2012-10-09 Volkswagen Of America, Inc. Method for updating a geographic database for an in-vehicle navigation system
DE102008041679A1 (de) * 2008-08-29 2010-03-04 Robert Bosch Gmbh Vorrichtung und Verfahren zur erinnerungsbasierten Umfelderkennung
TWI403690B (zh) 2009-10-26 2013-08-01 Ind Tech Res Inst 自我定位裝置及其方法
JP5062498B2 (ja) * 2010-03-31 2012-10-31 アイシン・エィ・ダブリュ株式会社 風景マッチング用参照データ生成システム及び位置測位システム
JP5505723B2 (ja) 2010-03-31 2014-05-28 アイシン・エィ・ダブリュ株式会社 画像処理システム及び位置測位システム
US8791996B2 (en) 2010-03-31 2014-07-29 Aisin Aw Co., Ltd. Image processing system and position measurement system
EP2619742B1 (en) * 2010-09-24 2018-02-28 iRobot Corporation Systems and methods for vslam optimization
WO2012145822A1 (en) 2011-04-25 2012-11-01 Magna International Inc. Method and system for dynamically calibrating vehicular cameras
US8744169B2 (en) 2011-05-31 2014-06-03 Toyota Motor Europe Nv/Sa Voting strategy for visual ego-motion from stereo

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263104A (ja) 2002-03-11 2003-09-19 Mitsubishi Electric Corp 撮像情報認識システム
JP2005006081A (ja) * 2003-06-12 2005-01-06 Denso Corp 画像サーバ、画像収集装置、および画像表示端末
US20080320036A1 (en) 2007-06-22 2008-12-25 Winter Gentle E Automatic data collection
US20100070125A1 (en) 2008-09-12 2010-03-18 Samsung Electronics Co., Ltd. Apparatus and method for localizing mobile robot
US20110243379A1 (en) 2010-03-31 2011-10-06 Aisin Aw Co., Ltd. Vehicle position detection system
JP2011215053A (ja) * 2010-03-31 2011-10-27 Aisin Aw Co Ltd 風景画像認識を用いた自車位置検出システム
US20110243459A1 (en) 2010-04-05 2011-10-06 Kevin Keqiang Deng Methods and apparatus to detect differences between images

Also Published As

Publication number Publication date
BR112014019731A2 (ko) 2017-06-20
WO2013117940A3 (en) 2013-12-05
HK1209488A1 (en) 2016-04-01
CN104520732B (zh) 2018-04-17
US9576206B2 (en) 2017-02-21
WO2013117940A2 (en) 2013-08-15
JP2018009999A (ja) 2018-01-18
EP2812727B1 (en) 2019-05-22
BR112014019731B1 (pt) 2022-06-14
JP2015508163A (ja) 2015-03-16
IN2014MN01485A (ko) 2015-04-24
CN104520732A (zh) 2015-04-15
KR20140130467A (ko) 2014-11-10
EP2812727A2 (en) 2014-12-17
BR112014019731A8 (pt) 2017-07-11
JP6738777B2 (ja) 2020-08-12
US20140376777A1 (en) 2014-12-25
GB201202344D0 (en) 2012-03-28
US20170098128A1 (en) 2017-04-06

Similar Documents

Publication Publication Date Title
KR102053802B1 (ko) 센서를 위치판단하는 방법 및 관련된 장치
Churchill et al. Practice makes perfect? managing and leveraging visual experiences for lifelong navigation
US10546387B2 (en) Pose determination with semantic segmentation
Bresson et al. Simultaneous localization and mapping: A survey of current trends in autonomous driving
CN106940186B (zh) 一种机器人自主定位与导航方法及系统
Mühlfellner et al. Summary maps for lifelong visual localization
US20200401617A1 (en) Visual positioning system
Mei et al. A constant-time efficient stereo slam system
Senlet et al. A framework for global vehicle localization using stereo images and satellite and road maps
Ragot et al. Benchmark of visual slam algorithms: Orb-slam2 vs rtab-map
CN107967457A (zh) 一种适应视觉特征变化的地点识别与相对定位方法及系统
Grant et al. Efficient Velodyne SLAM with point and plane features
McManus et al. Towards appearance-based methods for lidar sensors
US11430199B2 (en) Feature recognition assisted super-resolution method
Paton et al. Expanding the limits of vision‐based localization for long‐term route‐following autonomy
Zhan et al. A slam map restoration algorithm based on submaps and an undirected connected graph
Chiu et al. Sub-meter vehicle navigation using efficient pre-mapped visual landmarks
Guerrero et al. Towards LIDAR-RADAR based terrain mapping
Liu et al. Accurate real-time visual SLAM combining building models and GPS for mobile robot
Sujiwo et al. Robust and accurate monocular vision-based localization in outdoor environments of real-world robot challenge
Zhu et al. Cloud‐based Real‐time Outsourcing Localization for a Ground Mobile Robot in Large‐scale Outdoor Environments
Huang et al. Image-based localization for indoor environment using mobile phone
Hernández et al. Visual SLAM with oriented landmarks and partial odometry
Schwarze et al. Geometry estimation of urban street canyons using stereo vision from egocentric view
Chen et al. Large-Scale Underground Mine Positioning and Mapping with LiDAR-Based Semantic Intersection Detection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant