KR20230087613A - 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램 - Google Patents

위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램 Download PDF

Info

Publication number
KR20230087613A
KR20230087613A KR1020237018897A KR20237018897A KR20230087613A KR 20230087613 A KR20230087613 A KR 20230087613A KR 1020237018897 A KR1020237018897 A KR 1020237018897A KR 20237018897 A KR20237018897 A KR 20237018897A KR 20230087613 A KR20230087613 A KR 20230087613A
Authority
KR
South Korea
Prior art keywords
posture
unit
absolute
map
frame
Prior art date
Application number
KR1020237018897A
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 KR20230087613A publication Critical patent/KR20230087613A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • 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/3844Data obtained from position sensors only, e.g. from inertial navigation
    • 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/387Organisation of map data, e.g. version management or database structures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Navigation (AREA)

Abstract

위치·자세 추정 장치(101)는, 데이터베이스로부터 3차원 지도의 데이터를 판독하는 데이터베이스 판독부(15)와, 복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 프레임 선택부(16)와, 상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 상대 위치·자세 취득부(17)와, 상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 절대 위치·자세 계산부(18)와, 상기 상대 위치·자세 취득부(17)에 의해 취득된 상대 위치·자세와, 상기 절대 위치·자세 계산부(18)에 의해 취득된 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 절대 위치·자세 통합부(19)를 갖는다.

Description

위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램
본 개시는, 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램에 관한 것이다.
증강 현실(Augmented Reality:AR)이 적용된 장치 및 Automated Guided Vehicle(AGV)가 적용된 로봇 등에 있어서, 상대 위치·자세의 계산 결과와 절대 위치·자세의 계산 결과를 조합하는 것으로 위치·자세의 계산(즉, 추정)의 정밀도를 향상시키는 방법이 제안되고 있다. 예를 들면, 특허문헌 1을 참조.
상대 위치·자세의 계산은, 어느 위치·자세로부터의 상대적인 이동량의 계산이고, 일정 주기(일반적으로는, 단주기)마다 반복 실행되는 처리이다. 예를 들면, 상대 위치·자세의 계산에는, 카메라에 의해 촬영된 화상인 카메라 화상 또는 거리 센서에 의해 검출된 거리에 근거하여 이동량을 구하는 Simultaneous Localization And Mapping(SLAM), 자이로 센서 또는 가속도 센서 등이 통합된 Inertial Measurement Unit(IMU)를 이용하는 방법, 또는 차 바퀴의 회전수에 근거하여 이동량을 구하는 자율 항법 등이 사용된다. 이러한 방법에서는, 상대 위치·자세를 계산할 때에 오차가 가산되기 때문에, 장거리 이동하면 누적된 오차가 커지게 되는 문제가 있다. 그 때문에, 상대 위치·자세의 계산 결과와 절대 위치·자세의 계산 결과를 조합하여, 상대 위치·자세의 계산에 의해 누적된 오차를, 정기적으로 없애는 처리가 행해진다.
절대 위치·자세의 계산은, 미리 준비한 3차원 지도를 이용하여 행해지고, 예를 들면, 3차원 지도가 나타내는 물체의 앞에서 실행된다. 절대 위치·자세의 계산은, 예를 들면, 3차원 지도 및 카메라 화상을 사용하여 행해진다.
도 1은, AR이 적용된 단말(111)을 휴대하는 사용자(112)가 이동한 경우에, 단말(111)이 상대 위치·자세의 계산과 절대 위치·자세의 계산을 이용하여 위치·자세를 추정하는 예를 나타내는 도면이다. 단말(111)은, 예를 들면, 태블릿 단말 또는 Head Mounted Display(HMD)를 이용한 단말 등이다. 이 경우, 단말(111)은, 상대 위치·자세 계산(1)을 실행하면서 이동하고, 3차원 지도가 나타내는 물체(113)의 앞에서 실행한 절대 위치·자세 계산(2)의 결과를 이용하여 누적된 오차를 없애고, 그 후, 상대 위치·자세 계산(3)을 실행하면서 이동한다. 이것에 의해, 3차원 지도가 나타내는 물체(113)로부터 멀어져도, 위치·자세를 정밀도 좋게 추정할 수 있고, 그 결과, 단말의 화면에 표시된 현실의 화상 상의 적절한 위치에 AR 컨텐츠를 계속해서 중첩 표시할 수 있다.
도 2는, AGV가 적용된 로봇(121)이 이동한 경우에, 로봇(121)이 상대 위치·자세의 계산과 절대 위치·자세의 계산을 이용하여 위치·자세를 추정하는 예를 나타내는 도면이다. 이 경우, 로봇(121)은, 상대 위치·자세 계산(4)을 실행하면서 이동하고, 3차원 지도가 나타내는 물체(123)의 앞에서 실행된 절대 위치·자세 계산(5)의 결과를 이용하여 누적된 오차를 없애고, 그 후, 상대 위치·자세 계산(6)을 실행하면서 이동한다. 이것에 의해, 3차원 지도가 나타내는 물체(123)로부터 멀어져도, 로봇(121)은, 자신의 위치·자세를 정밀도 좋게 추정할 수 있고, 그 결과, 목표로 하는 위치에 정확하게 도달할 수 있다.
[특허문헌 1] 일본특허공개 제2019-160147호 공보
그러나, 종래의 절대 위치·자세의 추정은, 1 프레임(즉, 1매의 화상 프레임)만을 사용하여 행해지고 있기 때문에, 계산의 정밀도(즉, 정밀도 추정)는 1 프레임에 포함되는 피사체에 의존하여 크게 변동한다고 하는 과제가 있다.
예를 들면, 카메라 화상을 이용하는 경우, 피사체의 모양에 의존하여 절대 위치·자세의 계산의 정밀도가 변동하는 경우가 있다. 즉, 피사체의 모양이 특징적인 경우에는, 절대 위치·자세의 계산을 높은 정밀도로 행할 수 있지만, 피사체의 모양이 스트라이프 또는 경계 등의 반복되는 모양인 경우 또는 피사체가 새하얀 벽 등과 같이 모양이 없는 물체인 경우에는, 절대 위치·자세의 계산의 정밀도는 저하한다.
또, 레이저 또는 적외선 등을 이용하여 얻어진 피사체까지의 거리 정보를 이용하여 절대 위치·자세를 계산하는 경우, 피사체의 형상에 의존하여 절대 위치·자세의 계산의 정밀도가 크게 변동한다. 즉, 피사체의 형상이 특징적인 경우에는, 절대 위치·자세의 계산을 높은 정밀도로 행할 수 있지만, 피사체의 형상이 특징적이지 않는 경우에는, 절대 위치·자세의 계산의 정밀도는 저하한다.
본 개시는, 상기한 과제를 해결하기 위해서 이루어진 것이며, 위치·자세의 추정의 정밀도를 향상시킬 수 있는 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램을 제공하는 것을 목적으로 한다.
본 개시의 위치·자세 추정 장치는, 데이터베이스로부터 3차원 지도의 데이터를 판독하는 데이터베이스 판독부와, 복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 프레임 선택부와, 상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 상대 위치·자세 취득부와, 상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 절대 위치·자세 계산부와, 상기 상대 위치·자세 취득부에 의해 취득된 상대 위치·자세와, 상기 절대 위치·자세 계산부에 의해 취득된 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 절대 위치·자세 통합부를 갖는 것을 특징으로 한다.
본 개시의 위치·자세 추정 방법은, 위치·자세 추정 장치가 실행하는 방법으로서, 위치 데이터베이스로부터 3차원 지도의 데이터를 판독하는 스텝과, 복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 스텝과, 선택된 상기 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 스텝과, 상기 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 스텝과, 취득된 상기 상대 위치·자세와, 취득된 상기 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 스텝을 갖는 것을 특징으로 한다.
본 개시의 장치, 방법, 또는 프로그램에 의하면, 위치·자세의 추정의 정밀도를 향상시킬 수 있다.
도 1은 AR이 적용된 단말을 휴대하는 사용자가 이동한 경우에, 단말이 상대 위치·자세의 계산과 절대 위치·자세의 계산을 이용하여 위치·자세를 추정하는 예를 나타내는 도면이다.
도 2는 AGV가 적용된 로봇이 이동한 경우에, 로봇이 상대 위치·자세의 계산과 절대 위치·자세의 계산을 이용하여 위치·자세를 추정하는 예를 나타내는 도면이다.
도 3은 실시의 형태 1에 따른 위치·자세 추정 장치 및 그것을 포함하는 위치·자세 추정 시스템의 하드웨어 구성의 예를 나타내는 도면이다.
도 4는 도 3에 나타나는 위치·자세 추정 장치의 하드웨어 구성의 예를 나타내는 도면이다.
도 5는 실시의 형태 1에 따른 3차원 지도 작성 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 6은 화상에 랜덤 패턴을 부가하는 처리의 일례를 나타내는 도면이다.
도 7은 플로어 맵에 3차원 지도를 위치 맞춤하여 등록하는 처리를 나타내는 도면이다.
도 8은 실시의 형태 1에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 9는 실시의 형태 1에 따른 3차원 지도 작성 장치에 의한 3차원 지도의 작성을 위한 처리의 예를 나타내는 흐름도이다.
도 10은 실시의 형태 1에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다.
도 11은 실시의 형태 1에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 다른 예를 나타내는 흐름도이다.
도 12는 실시의 형태 2에 따른 3차원 지도 작성 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 13은 실시의 형태 2에 따른 3차원 지도 작성 장치가 사용하는 분산의 계산 방법을 나타내는 도면이다.
도 14는 실시의 형태 2에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 15는 실시의 형태 2에 따른 3차원 지도 작성 장치에 의한 3차원 지도의 작성을 위한 처리의 예를 나타내는 흐름도이다.
도 16은 실시의 형태 2에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다.
도 17은 실시의 형태 3에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 18은 실시의 형태 3에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다.
도 19는 실시의 형태 4에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다.
도 20은 실시의 형태 4에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 다른 예를 나타내는 흐름도이다.
이하에, 실시의 형태에 따른 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램을, 도면을 참조하면서 설명한다. 이하의 실시의 형태는, 예에 지나지 않고, 실시의 형태를 적당히 조합하는 것 및 실시의 형태를 적당히 변경하는 것이 가능하다. 또, 본 출원에 있어서 「위치·자세」는, 위치 및 자세를 의미한다. 「위치」는, 예를 들면, 카메라를 탑재한 단말 또는 로봇의 위치를 의미한다. 「자세」는, 예를 들면, 카메라에 의한 촬영 방향 또는 거리 센서에 의한 측정 방향을 의미한다.
《1》실시의 형태 1
《1-1》구성
《1-1-1》개요
실시의 형태 1에서는, 카메라에 의해 촬영된 화상인 카메라 화상(즉, 촬상 화상)을 이용한 절대 위치·자세의 계산의 정밀도의 향상에 대해 설명한다. 카메라 화상을 이용하여 위치·자세를 추정하는 방법으로서, 제1 추정 방법이 알려져 있다. 예를 들면, 비특허문헌 1을 참조.
[비특허문헌 1] Paul-Edouard Sarlin, 외 3명 저, "From Coarse to Fine: Robust Hierarchical Localization at Large Scale", 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition.
제1 추정 방법에서는, 직접적인 매칭을 이용한다. 제1 추정 방법에서는, 화상의 국소 특징의 집합에 근거하여, 직접적으로 카메라의 위치·자세를 계산한다.
또, 카메라 화상을 이용하여 위치·자세를 추정하는 방법으로서, 제2 추정 방법이 알려져 있다. 제2 추정 방법에서는, Convolutional Neural Network(CNN)에 의해 화상으로부터 카메라의 위치·자세를 추정한다. 예를 들면, 비특허문헌 2를 참조.
[비특허문헌 2] Samarth Brahmbhatt, 외 4명 저, "Geometry-Aware Learning of Maps for Camera Localization", 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.
제2 추정 방법에서는, 2 단계의 매칭을 이용한다. 제2 추정 방법에서는, 시점이 다른 복수의 화상을 준비하고, 최초로, 복수의 화상 중에서, 촬영으로 얻어진 카메라 화상과 가장 유사한 화상을 유사 화상으로서 특정하고, 다음으로, 유사 화상으로부터 추출한 국소 특징과 카메라 화상으로부터 추출한 국소 특징의 대응 관계에 근거하여, 카메라의 위치·자세를 구한다. 실시의 형태 1에서는, 제2 추정 방법에 근거하는 방법을 이용한다.
도 3은, 실시의 형태 1에 따른 위치·자세 추정 장치(101) 및 그것을 포함하는 위치·자세 추정 시스템(100)의 하드웨어 구성의 예를 나타내는 도면이다. 실시의 형태 1에 따른 위치·자세 추정 장치(101)는, 위치·자세의 추정을 위한 계산을 실행하는 계산기인 컴퓨터를 갖고 있다. 도 3의 예에서는, 실시의 형태 1에 따른 위치·자세 추정 시스템(100)은, 위치·자세 추정 장치(101)와, 기억 장치에 저장된 3차원 지도 데이터베이스(3차원 지도 DB)(102)와, 거리 센서(103)와, 촬상 장치로서의 카메라(104)와, 액정 표시 장치 등의 디스플레이(105)를 갖고 있다. 또, 도 3의 예에서는, 위치·자세 추정 시스템(100)은, 자이로 센서(106)와, 가속도 센서(107)와, 지자기 센서(geomagnetic sensor)(108)를 갖고 있다. 자이로 센서(106), 가속도 센서(107), 및 지자기 센서(108)를 갖는 장치는, 「IMU」라고도 불린다. 위치·자세 추정 장치(101)와, 도 3에 나타나는 다른 구성은, 예를 들면, 네트워크로 접속되어 있다. 3차원 지도 DB(102)는, 위치·자세 추정 장치(101)의 일부여도 좋다.
3차원 지도 DB(102)는, 절대 위치·자세의 계산을 할 때 사용되는, 미리 준비된 3차원 지도 정보를 포함한다. 3차원 지도 DB(102)는, 실시의 형태 1에 따른 위치·자세 추정 시스템(100)의 일부일 필요는 없고, 외부의 기억 장치에 저장된 정보여도 좋다. 또, 3차원 지도 DB(102)는, 위치·자세 추정 장치(101)에 의해 작성되어도 좋다. 이 경우, 위치·자세 추정 장치(101)는, 3차원 지도 작성 장치로서의 기능을 갖는다. 즉, 실시의 형태 1에 따른 3차원 지도 작성 장치는, 위치·자세 추정 장치(101)의 일부이다. 다만, 실시의 형태 1에 따른 3차원 지도 작성 장치는, 위치·자세 추정 장치(101)와 별개의 장치여도 좋다.
거리 센서(103)는, 적외선 또는 레이저 등을 이용하여 거리를 계측하는 기기이다. 카메라(104)는, 카메라 화상을 취득하는 기기이다. 위치·자세 추정 시스템(100)은, 카메라(104) 및 거리 센서(103) 중 한쪽만을 가져도 좋다.
디스플레이(105)는, AR 컨텐츠를 카메라 화상에 중첩 표시하는 경우에 필요한 표시 기기이다. 위치·자세 추정 시스템(100)은, 디스플레이(105)를 구비하지 않는 것도 가능하다.
자이로 센서(106), 가속도 센서(107), 및 지자기 센서(108)는, 자율 항법에 의해 상대 위치·자세의 계산을 하기 위한 기기인 IMU를 구성한다. 다만, 자율 항법에 의해 상대 위치·자세의 계산을 하지 않는 경우에는, IMU를 구비하지 않는 것도 가능하다. 또, 자이로 센서(106), 가속도 센서(107), 및 지자기 센서(108) 중 하나만 또는 2개만을 구비해도 좋다. 또, 위치·자세 추정 장치(101)에 접속되는 기기는, 도 3에 도시되는 것의 일부여도 좋고, 또는, 도 3에 도시되지 않은 다른 기기를 구비해도 좋다.
도 4는, 위치·자세 추정 장치(101)의 하드웨어 구성의 예를 나타내는 도면이다. 위치·자세 추정 장치(101)는, 정보 처리부로서의 CPU(Central Processing Unit)(1011)와, 기억 장치인 메모리(1012)와, 인터페이스(1013)를 갖는다. 3차원 지도 DB(102), 거리 센서(103), 카메라(104), 디스플레이(105), 자이로 센서(106), 가속도 센서(107), 및 지자기 센서(108)는, 인터페이스(1013) 및 데이터 버스를 거쳐 CPU(1011)에 접속된다.
위치·자세 추정 장치(101)의 각 기능은, 처리 회로에 의해 실현된다. 처리 회로는, 전용 하드웨어여도, 메모리(1012)에 저장되는 소프트웨어인 프로그램(예를 들면, 위치·자세 추정 프로그램)을 실행하는 CPU(1011)여도 좋다. CPU(1011)는, 처리 장치, 연산 장치, 마이크로 프로세서, 마이크로 컴퓨터, 프로세서, 및 DSP(Digital Signal Processor) 중 어느 것이라도 좋다.
처리 회로가 전용 하드웨어인 경우, 처리 회로는, 예를 들면, 단일 회로, 복합 회로, 프로그램화한 프로세서, 병렬 프로그램화한 프로세서, ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Gate Array), 또는 이들 중 어느 것을 조합한 것이다.
처리 회로가 CPU(1011)의 경우, 위치·자세 추정 장치(101)의 기능은, 소프트웨어, 펌웨어, 또는 소프트웨어와 펌웨어의 조합에 의해 실현된다. 소프트웨어 및 펌웨어는, 프로그램으로서 기술되고, 메모리(1012)에 저장된다. 처리 회로는, 메모리(1012)에 기억된 프로그램을 판독하여 실행하는 것에 의해, 각부의 기능을 실현한다. 즉, 위치·자세 추정 장치(101)는, 처리 회로에 의해 처리가 실행될 때, 실시의 형태 1에 따른 위치·자세 추정 방법을 실행하는 것이다.
여기서, 메모리(1012)는, 예를 들면, RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory) 등의, 비휘발성 또는 휘발성의 반도체 메모리, 또는, 자기 디스크, 광디스크, 콤팩트 디스크, DVD(Digital Versatile Disc) 등 중 어느 하나이다.
또, 위치·자세 추정 장치(101)의 일부를 전용 하드웨어로 실현하고, 일부를 소프트웨어 또는 펌웨어로 실현하도록 해도 좋다. 이와 같이, 처리 회로는, 하드웨어, 소프트웨어, 펌웨어, 또는 이들 중 어느 것의 조합에 의해, 각 기능을 실현할 수 있다.
《1-1-2》3차원 지도 작성 장치
도 5는, 실시의 형태 1에 따른 3차원 지도 작성 장치의 구성을 개략적으로 나타내는 기능 블럭도이다. 도 5에 나타나는 3차원 지도 작성 장치는, 실시의 형태 1에 따른 3차원 지도 작성 방법을 실행할 수 있는 장치이다. 또, 이하의 설명에서는, 3차원 지도 작성 장치가, 위치·자세 추정 장치(101)의 일부(즉, 지도 작성 등록부)인 예를 설명한다. 다만, 3차원 지도 작성 장치는, 위치·자세 추정 장치(101)와는 별개의 장치여도 좋다. 이 경우, 3차원 지도 작성 장치의 하드웨어 구성은, 도 4에 나타나는 것과 같다.
도 5에 도시하는 바와 같이, 실시의 형태 1에 따른 3차원 지도 작성 장치는, 키 프레임 검출부(10)와, 키 프레임 위치·자세 계산부(11)와, 위치·자세 분산 계산부(12)와, 대응 관계 등록부(13)와, 데이터베이스 보존부(DB 보존부)(14)를 갖고 있다. 이러한 구성은, 카메라(104)(도 3)에 의해 촬영된 카메라 화상과, 거리 센서(103)(도 3)에 의해 취득된 거리 정보와, IMU(도 3)에 의해 취득된 센서값을 이용하여 3차원 지도를 구축한다. 실시의 형태 1에서 최소한 필요한 데이터는, 카메라 화상이다. 거리 정보 또는 IMU를 구비하지 않는 경우여도, 3차원 지도를 작성하는 것이 가능하다.
키 프레임 검출부(10)는, 카메라(104)의 위치가 미리 정해진 평행 이동량의 임계값 이상 움직인 경우 또는 카메라(104)의 자세가 미리 정해진 회전량의 임계값 이상 움직인(즉, 회전한) 경우에 취득한 화상(예를 들면, 칼라 화상) 및 검출된 거리 정보를, 키 프레임으로서 검출하는 처리를 실행한다.
키 프레임 위치·자세 계산부(11)는, SLAM 등과 같은 화상을 이용한 상대 위치·자세의 계산 방법에 의해, 키 프레임 검출부(10)에 의해 검출된 키 프레임을 촬영한 카메라(104) 또는 거리 센서(103)의 위치·자세를 계산하는 처리를 실행한다. 키 프레임 검출부(10) 및 키 프레임 위치·자세 계산부(11)는, 종래의 SLAM 기술의 경우의 처리(예를 들면, 비특허문헌 3에 기재된 처리)와 같은 처리를 실행한다.
[비특허문헌 3] Raul Mur-Artal, 외 1명 저, "ORB-SLAM2:An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras", IEEE Transactions on Robotics, Vol.33, No.5, 2017년 10월.
위치·자세 분산 계산부(12)는, 키 프레임 검출부(10)에 의해 검출된 키 프레임의 각각에 대해 위치·자세의 분산을 구하는 처리를 실행한다. 위치·자세의 분산의 계산 방법으로서는, 예를 들면, 이하에 나타나는 제1 계산 방법과 제2 계산 방법이 있다.
제1 계산 방법은, 화상에 노이즈(즉, 랜덤 패턴)를 부가하는 방법이다. 도 6은, 키 프레임의 화상에 랜덤 패턴을 부가하는 방법의 일례를 나타내는 도면이다. 제1 계산 방법에서는, 키 프레임의 화상에 랜덤 패턴을 더해 위치·자세를 계산하는 처리를 복수회 실행하고, 얻어진 위치·자세의 복수의 계산 결과에 근거하여 위치·자세의 분산을 구한다.
제2 계산 방법은, 난수를 이용하는 방법이다. 제2 계산 방법으로는, 예를 들면, 절대 위치·자세의 계산의 처리에서는, 어긋남 값을 제외하는 목적으로 Random Sample Consensus(RANSAC)가 사용된다. RANSAC의 주 목적은, 관측된 데이터 중, 절대 위치·자세의 계산에 이용되는 데이터로부터 어긋난 어긋남 값의 데이터를 제외하는 것이다. 그러나, RANSAC에서는, 랜덤으로 계산 대상의 샘플이 선택되고, 계산 결과는, 매회, 다른 값으로 되므로, RANSAC를 위치·자세의 분산의 계산에 이용할 수 있다.
[수 1]
Figure pct00001
Figure pct00002
은, 각각 위치의 분산(σtk 2) 및 자세의 분산(σRk 2)을 나타내고, 각각 식(1) 및 식(2)에 의해 계산된다. 식(1) 및 식(2)에 있어서, N은, 양의 정수이며, 분산을 구할 때 사용되는 시행 회수를 나타낸다. 또, k는, 양의 정수를 나타낸다.
[수 2]
Figure pct00003
Figure pct00004
은, 각각 n회째의 시행으로 구한 절대적인 위치(tn) 및 절대적인 자세(Rn)를 나타낸다. 또, n는, 1 이상, N 이하의 정수이다.
[수 3]
Figure pct00005
Figure pct00006
은, 각각 위치의 평균(μt) 및 자세의 평균(μR)을 나타내고, 각각 식(3) 및 식(4)에 의해 계산된다.
[수 4]
Figure pct00007
(1)
Figure pct00008
(2)
Figure pct00009
(3)
Figure pct00010
(4)
도 7은, 플로어 맵에 3차원 지도를 위치 맞춤하여 등록하는 처리를 나타내는 도면이다. 도 7의 플로어 맵은, 설비의 배치를 나타내는 레이아웃이 그려진 플로어 레이아웃이다. 플로어 맵에 있어서, 설비가 배치되어야 할 영역인 설치 영역이 파선의 직사각형으로 나타나고 있다. 대응 관계 등록부(13)는, 다른 3차원 지도 또는 전체 지도와의 관계성을 정의하는 처리를 행한다. 도 7에 도시하는 바와 같이, 플로어 맵의 레이아웃 상에 3차원 지도(실선의 직사각형으로 나타난다.)를 등록하면, 3차원 지도간의 위치 관계와, 작성 중인 3차원 지두와 이미 구축되어 있는 3차원 지도의 대응 관계가 얻어진다. 플로어 맵에 대해서, 3차원 지도를 위치 맞춤하여 등록하는 것으로, 전체 지도와 3차원 지도의 정합성 또는 복수의 3차원 지도간의 위치 관계가 정의된다.
데이터베이스 보존부(14)는, 상기의 방법으로 작성된 3차원 지도(즉, 예를 들면, SLAM에 의해 얻어지는 키 프레임마다의 데이터)를 3차원 지도 DB(102)(도 3)에 보존한다. 3차원 지도 DB(102)에는, 키 프레임마다 얻어진 위치·자세, 카메라 화상, 거리 정보(즉, 거리 화상), 및 국소 특징의 점군(點群)이, 키 프레임의 개수만큼 보존된다.
《1-1-3》위치·자세 추정 장치
도 8은, 실시의 형태 1에 따른 위치·자세 추정 장치(101)의 구성을 개략적으로 나타내는 기능 블럭도이다. 위치·자세 추정 장치(101)는, 다른 시점에서 촬영한 복수의 센서 데이터에 근거하여, 위치·자세를 계산하는 처리를 행한다. 여기서, 센서 데이터는, 카메라 화상, 거리 센서의 검출 데이터를 포함한다. 도 8에 도시하는 바와 같이, 위치·자세 추정 장치(101)는, 데이터베이스 판독부(15)와, 프레임 선택부(16)와, 상대 위치·자세 취득부(17)와, 절대 위치·자세 계산부(18)와, 절대 위치·자세 통합부(19)를 갖고 있다.
데이터베이스 판독부(15)는, DB 보존부(14)에 기억되어 있는 데이터베이스에 저장되어 있는 3차원 지도(즉, 미리 준비된 3차원 지도)를 판독하는 처리를 행한다.
프레임 선택부(16)는, 복수의 다른 시점에서 촬영한 카메라 화상의 프레임 중에서 위치·자세의 계산에 사용하는 프레임을 선택하는 처리를 행한다. 프레임 선택 방법으로서는, 예를 들면, 제1 선택 방법, 제2 선택 방법, 및 제3 선택 방법이 있다.
제1 선택 방법에서는, 상대 이동량이 이용된다. 제1 선택 방법에서는, 상대 위치·자세의 계산에 의해 얻어진 상대 위치의 변화가 미리 정해진 위치의 변화의 임계값 이상으로 된다고 하는 조건 및 상대 자세의 변화가 미리 정해진 자세의 변화의 임계값 이상으로 된다고 하는 조건에 근거하여, 프레임(키 프레임)을 선택할지 여부를 판정한다. 예를 들면, 상대 위치·자세의 계산에 의해 얻어진 상대 위치의 변화가 미리 정해진 위치의 변화의 임계값 이상으로 된다고 하는 조건 및 상대 자세의 변화가 미리 정해진 자세의 변화의 임계값 이상으로 된다고 하는 조건 중 적어도 한쪽을 만족시키는 키 프레임을 선택한다.
제2 선택 방법에서는, 시간적으로 다른 프레임이 이용된다. 제2 선택 방법에서는, 시간적으로 인접하는 시점의 프레임, 또는, 시간적으로 임계값 이상의 시간 간격으로 촬영한 프레임(키 프레임)이 선택된다.
제3 선택 방법에서는, 분산이 이용된다. 제3 선택 방법에서는, 3차원 지도 작성 시에 구해진 분산을 바탕으로, 사용하는 데이터를 선택한다. 예를 들면, 분산이 미리 결정된 분산의 임계값보다 작은 시점의 프레임(키 프레임)이 선택된다.
상대 위치·자세 취득부(17)는, 프레임에 대응하는 상대 위치·자세를 취득하는 처리를 행한다. 상대 위치·자세 취득부(17)는, 도 1의 상대 위치·자세의 계산 중 어느 하나의 방법으로 상대 위치·자세를 계산한 결과를 취득한다.
절대 위치·자세 계산부(18)는, 선택한 복수의 프레임을 이용하여 절대 위치·자세를 계산하는 처리를 행한다. 이 때, 예를 들면, Perspective n Points(PnP) 등을 이용하여 위치·자세를 계산한다.
절대 위치·자세 통합부(19)는, 복수의 위치·자세의 계산 결과를 통합하여, 최종적인 절대 위치·자세를 계산하는 처리를 행한다. 절대 위치·자세 통합부(19)가 행하는 통합 방법으로서는, 예를 들면, 제1 통합 방법, 제2 통합 방법, 및 제3 통합 방법이 있다.
제1 통합 방법은, 「Winner takes all」 방식을 이용한다. 즉, 제1 통합 방법에서는, 분산이 가장 작은 키 프레임에서 추정한 위치·자세를 최종적인 결과로서 채용한다.
제2 통합 방법은, 가중치 부여 선형 합(weighted linear combination)을 이용한다. 즉, 제2 통합 방법에서는, 분산을 바탕으로 가중치를 부여한다.
[수 5]
Figure pct00011
Figure pct00012
은, 각각 최종적으로 얻어지는 위치 및 자세를 나타내고, 각각 식(5) 및 식(6)에 의해 계산된다.
[수 6]
Figure pct00013
Figure pct00014
은, 각각 프레임 선택부(16)에 의해 얻어진 프레임 중, k번째의 프레임의 위치(t′k)와 k번째의 프레임의 자세(R′k)를 나타낸다.
[수 7]
Figure pct00015
Figure pct00016
은, 각각 k번째의 프레임의 위치에 대한 가중치(wtk) 및 k번째의 프레임의 자세에 대한 가중치(wRk)을 나타내고, 각각 식(7) 및 식(8)에 의해 계산된다.
k번째의 프레임의 위치에 대한 가중치 wtk 및 k번째의 프레임의 자세에 대한 가중치 wRk는, 위치·자세의 계산에 이용한 키 프레임의 분산인 위치의 분산 σtk 2 및 자세의 분산 σRk 2를 이용하여 계산된다. 또, 위치의 분산 σtk 2 및 자세의 분산 σRk 2와 등가인 통계 지표로 간주할 수 있는 표준 편차, 즉, 위치의 표준 편차 σtk 및 자세의 표준 편차 σRk를 이용하여 가중치를 계산해도 좋다. 표준 편차를 이용하는 경우, k번째의 프레임의 위치에 대한 가중치 wtk 및 k번째의 프레임의 자세에 대한 가중치 wRk는, 각각 식(9) 및 식(10)에 의해 계산된다.
[수 8]
Figure pct00017
(5)
Figure pct00018
(6)
Figure pct00019
(7)
Figure pct00020
(8)
Figure pct00021
(9)
Figure pct00022
(10)
식(5) 및 식(6)에 있어서, k번째의 프레임의 위치 t′k와 k번째의 프레임의 자세 R′k는, 절대 위치·자세 계산부(18)에 의해 계산된 위치·자세를 직접 입력하는 것은 아니다. 절대 위치·자세 계산부(18)에 의해 계산된 위치·자세로부터, 임의의 프레임으로 이동했을 때의 위치·자세가 이용된다. 예를 들면, 프레임 선택부(16)에 의해 K매(K는, 양의 정수)의 프레임(K frames)을 선택하고, K번째의 프레임에 맞추어 통합하는 경우, k번째(k는, 양의 정수)의 프레임의 위치 t′k와 k번째의 프레임의 자세 R′k는, 식(11)로 나타난다. 식(11)에 있어서, k번째의 프레임의 위치 tk와 k번째의 프레임의 자세 Rk는, 절대 위치·자세 계산부(18)에 의해 구한 위치·자세이다.
[수 9]
Figure pct00023
Figure pct00024
은, 각각 k번째의 프레임으로부터 K번째의 프레임으로의 상대적인 자세의 이동량 및 상대적인 위치의 이동량을 나타내고, 상대 위치·자세 취득부(17)에 의해 얻어진 위치·자세로부터 도출된다. 식(11)을 이용하면, K번째의 프레임의 절대 위치·자세가 구해진다.
[수 10]
Figure pct00025
(11)
제3 통합 방법은, 비선형 최적화에 의해, 절대 위치·자세를 구하는 방법이다. 예를 들면, 식(12)에 도시하는 바와 같이, 재투영 오차가 최소로 되도록, k번째의 프레임의 위치 tk와 k번째의 프레임의 자세 Rk를 구한다.
[수 11]
Figure pct00026
은, 카메라의 내부 파라미터(L)를 나타낸다.
[수 12]
Figure pct00027
Figure pct00028
은, 각각 매칭한 국소 특징의 3차원적인 위치와 화상 상의 점을 나타낸다.
Nk는, k번째의 프레임의 매칭한 국소 특징 페어의 수를 나타낸다. wk는, k번째의 프레임에 대응하는 가중치이며, 가중치 wtk 또는 wRk 중 어느 하나, 또는, 이것들을 통합한 가중치가 이용된다.
식(12)을 최급 강하법(steepest descent method) 등의 비선형 최적화 수법으로 풀면, 절대 위치·자세를 얻을 수 있다.
[수 13]
Figure pct00029
(12)
《1-2》동작
《1-2-1》3차원 지도의 생성
도 9는, 실시의 형태 1에 따른 3차원 지도 작성 장치에 의한 3차원 지도의 작성을 위한 처리의 예를 나타내는 흐름도이다. 도 9에 도시하는 바와 같이, 키 프레임 검출부(10) 및 키 프레임 위치·자세 계산부(11)는, 3차원 지도의 작성을 실행한다(스텝 S101). 3차원 지도의 작성은, 예를 들면, SLAM을 이용하여, 키 프레임을 검출하면서 실행된다.
위치·자세 분산 계산부(12)는, 키 프레임마다(스텝 S102) 위치·자세의 분산을 계산한다(스텝 S103). 다음에, 대응 관계 등록부(13)는, 도 8에 도시하는 바와 같이, 대응 관계의 등록을 행한다(스텝 S104). 대응 관계 등록부(13)는, 예를 들면, 플로어 맵 상에 3차원 지도를 등록하여, 전체 지도 또는 다른 3차원 지도와의 위치 관계를 정의하는 처리를 실행한다. 데이터베이스 보존부(14)는, 상기의 처리로 작성한 지도를 3차원 지도 DB(102)에 보존하는 처리를 행한다(스텝 S105).
《1-2-2》위치·자세의 추정
도 10은, 실시의 형태 1에 따른 위치·자세 추정 장치(101)에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다. 데이터베이스 판독부(15)는, DB 보존부(14)로부터 데이터로서 3차원 지도를 판독한다(스텝 S111). 프레임 선택부(16)는, 프레임을 선택한다(스텝 S112). 선택되는 프레임은, 미리 결정된 룰에 근거하여 처리하는 프레임이다.
상대 위치·자세 취득부(17)는, 선택된 프레임마다(스텝 S113), 프레임에 대응하는 상대 위치·자세를 취득하는 처리를 행한다(스텝 S114). 절대 위치·자세 계산부(18)는, 선택된 프레임의 데이터에 근거하여, 절대 위치·자세를 계산한다(스텝 S115). 선택된 프레임의 수가, 미리 정해진 매수에 이르면, 처리는 통합 처리로 진행된다.
절대 위치·자세 통합부(19)는, 분산을 바탕으로 절대 위치·자세의 결과를 통합한다(스텝 S116).
도 11은, 실시의 형태 1에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 다른 예를 나타내는 흐름도이다. 데이터베이스 판독부(15)는, 데이터베이스 보존부(14)로부터 데이터로서 3차원 지도를 판독한다(스텝 S121). 프레임 선택부(16)는, 프레임을 선택할지 여부를 판단하고(스텝 S122, S123), 프레임을 선택하는 경우에, 프레임을 선택한다. 선택되는 프레임은, 미리 결정된 룰에 근거하여 처리하는 프레임이다.
상대 위치·자세 취득부(17)는, 선택된 프레임에 대응하는 상대 위치·자세를 취득하는 처리를 행한다(스텝 S124). 절대 위치·자세 계산부(18)는, 선택된 각 데이터에 대해서, 절대 위치·자세를 계산한다(스텝 S125). 프레임 선택부(16)는, 충분한 프레임 검출이 완료됐는지 여부를 판단하고(스텝 S126), 충분한 프레임 검출이 완료된 경우에는 통합 처리를 행하고, 충분한 프레임 검출이 완료되어 있지 않는 경우에는 처리를 스텝 S122에 되돌린다. 「충분한 프레임 검출이 완료됐다」란, 예를 들면, 미리 정해진 개수의 프레임 검출을 했을 때, 미리 정해진 수의 절대 위치·자세가 얻어졌을 때, 등이다.
충분한 프레임 검출이 완료된 경우에는, 절대 위치·자세 통합부(19)는, 분산을 바탕으로 절대 위치·자세의 결과를 통합한다(스텝 S116).
《1-3》효과
이상으로 설명한 바와 같이, 실시의 형태 1에 따른 위치·자세 추정 장치 또는 위치 자세 추정 방법에 의하면, 복수의 화상을 이용하여 얻어진 위치·자세의 데이터에 근거하여 위치·자세의 추정을 행하는 것으로, 위치·자세의 추정의 정밀도를 향상시킬 수 있다.
또, 위치·자세의 계산 결과의 분산이 큰 화상으로부터 구한 위치·자세를 사용하지 않고 통합 처리를 행하거나, 또는, 위치·자세의 계산 결과의 분산이 큰 화상으로부터 구한 위치·자세에 대한 가중치를 작게 하여 통합 처리를 행하는 것에 의해, 정밀도가 높은 절대 위치·자세를 계산할 수 있다.
또, 화상 내의 피사체가 특징이 부족한 경우여도, 절대 좌표계에 있어서의, 정밀도가 높은 자기 위치·자세의 추정을 실현할 수 있고, 또한 연산량을 실시간 처리가 가능한 범위로 억제할 수 있다.
《2》실시의 형태 2
《2-1》구성
《2-1-1》
실시의 형태 1에서는, 카메라 화상을 사용한 절대 위치·자세의 계산 방법으로서, 직접적인 매칭을 이용하는 제1 계산 방법과, 2 단계의 매칭을 이용하는 제2 계산 방법이 있는 것을 설명했다. 또, 실시의 형태 1에서는, 제2 계산 방법을 이용하는 예를 설명했다. 실시의 형태 2에서는, 카메라 화상을 사용한 직접적인 매칭 방법으로 구한 위치·자세를 통합하는 방법과, LiDAR(Light Detection and Ranging) 등 레이저 센서를 사용한 위치·자세 통합 방법을 설명한다.
실시의 형태 2에 따른 위치·자세 추정 장치 및 위치 자세 추정 시스템의 하드웨어 구성은, 실시의 형태 1(도 4 및 도 5)에서 설명한 것과 동일하다. 따라서, 실시의 형태 2의 설명에 있어서는, 도 4 및 도 5도 참조한다.
《2-1-2》3차원 지도 작성 장치
도 12는, 실시의 형태 2에 따른 3차원 지도 작성 장치의 구성을 개략적으로 나타내는 기능 블럭도이다. 도 12에 나타나는 3차원 지도 작성 장치는, 실시의 형태 2에 따른 3차원 지도 작성 방법을 실행할 수 있는 장치이다. 또, 이하의 설명에서는, 3차원 지도 작성 장치가, 위치·자세 추정 장치의 일부(즉, 지도 작성 등록부)인 경우를 설명하지만, 3차원 지도 작성 장치는, 위치·자세 추정 장치와는 별개의 장치여도 좋다.
도 12에 도시하는 바와 같이, 실시의 형태 2에 따른 3차원 지도 작성 장치는, 3차원 지도 작성부(21)와, 위치·자세 분산 계산부(22)와, 대응 관계 등록부(23)와, 데이터베이스 보존부(DB 보존부)(24)를 갖고 있다.
실시의 형태 1에서는, 키 프레임마다 3차원 데이터를 관리하고 있었지만, 실시의 형태 2에서는, 점군을 3차원 지도로서 관리한다. 예를 들면, 3차원 지도 작성부(21)는, 화상을 이용하는 경우, 화상으로부터 얻어지는 국소 특징과, 그 위치를 3차원 지도로서 작성한다. LiDAR 등 레이저 센서를 이용하는 경우, 관측한 점군(위치만)을 3차원 지도로서 작성한다. 도 12의 3차원 지도 작성부(21)는, 상술한 3차원 지도 데이터를 작성하는 처리를 행한다.
도 13은, 실시의 형태 2에 따른 3차원 지도 작성 장치가 사용하는 분산의 계산 방법을 나타내는 도면이다. 도 13은, AGV가 적용된 로봇(131)이 이동한 경우에, 로봇이 상대 위치·자세의 계산과 절대 위치·자세의 계산을 이용하여 위치·자세를 추정하는 예를 나타낸다. 로봇(131)은, 분산을 계산하지만, 분산의 계산 방법이, 실시의 형태 1의 경우의 계산 방법과 다르다. 도 13에서는, 타원으로 둘러싸인 영역마다(예를 들면, 영역 #1, #2, #3)의 분산 σ1, σ2, σ3의 계산에 대해 설명한다.
구체적인 분산의 계산에서는, 3차원 지도를 만들 때 관측한 데이터 중에서, 영역마다 임의의 개수씩 데이터를 취득(즉, 샘플링)한다. 샘플링한 데이터에 대해서, 복수회 다른 방법으로 노이즈를 더해 절대 위치·자세의 추정을 행한다. 구하는 분산은, 임의의 특정 영역마다의 위치·자세의 분산이다. 노이즈를 더하는 방법은, 실시의 형태 1과 마찬가지로 화상인 경우에는, 랜덤 패턴을 부가하는 방법이다. LiDAR의 경우도 마찬가지로, 국소적인 영역에 랜덤 패턴을 부가하는 것으로 노이즈를 부가한다. 여기서 「랜덤 패턴」이란, 그 영역에 있어서의 데이터를 제거하기 위한 패턴도 포함된다.
대응 관계 등록부(23)는, 실시의 형태 1의 대응 관계 등록부(13)와 마찬가지의 방법으로, 전체 지도 또는 다른 3차원 지도와의 관계성을 정의한다.
DB 보존부(24)는, 3차원 지도와, 영역마다의 분산을 데이터베이스에 보존한다.
《2-1-3》위치·자세 추정 장치
도 14는, 실시의 형태 2에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다. 도 14에 나타나는 위치·자세 추정 장치는, 실시의 형태 2에 따른 위치·자세 추정 방법을 실행할 수 있는 장치이다. 위치·자세 추정 장치는, 데이터베이스 판독부(25)와, 프레임 선택부(26)와, 상대 위치·자세 취득부(27)와, 절대 위치·자세 계산부(28)와, 절대 위치·자세 통합부(29)를 갖고 있다.
데이터베이스 판독부(25)는, 데이터베이스에 저장되어 있는 3차원 지도 데이터를 판독하는 처리를 행한다.
프레임 선택부(26)는, 실시의 형태 1의 프레임 선택부(16)와 마찬가지로, 또는, 미리 구분한 복수의 영역으로부터 중복이 없도록 프레임을 선택한다. 예를 들면, 도 13에 도시하는 바와 같이, 3개의 영역 #1, #2, #3으로 구분하여 분산 σ1, σ2, σ3을 산출하고, 관리하고 있는 예로 설명한다. 위치·자세의 계산 결과가 영역 #1, #2, #3의 각각에 포함되는 프레임의 수가 M매인 예를 설명한다.
상대 위치·자세 취득부(27)는, 실시의 형태 1에 있어서의 상대 위치·자세 취득부(17)와 동일한 방법으로 상대 위치·자세를 취득한다.
절대 위치·자세 계산부(28)는, 화상의 경우는, 화상의 국소 특징을 직접적으로 매칭하여 위치·자세의 계산하는 방법(예를 들면, 비특허문헌 4를 참조) 등을 이용하여 절대 위치·자세를 계산한다. LiDAR를 이용한 거리 센서의 데이터를 사용하는 경우, 3차원 지도와 거리 센서로 관측한 형상 정보의 매칭을 행하는 것에 의해, 위치·자세를 계산한다.
[비특허문헌 4] Torsten Sattler, 외 2명 저, "Efficient & Effective Prioritized Matching for Large-Scale Image-Based Localization", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.39, No.9, 2017년 9월.
절대 위치·자세 통합부(29)는, 실시의 형태 1에 있어서의 절대 위치·자세 통합부(19)와 마찬가지의 방법으로, 복수의 위치·자세를 통합한다. 절대 위치·자세 통합부(29)는, 영역마다 설정된 분산을 바탕으로, 최종적 위치·자세를 구한다.
《2-2》동작
《2-2-1》3차원 지도의 작성
도 15는, 실시의 형태 2에 따른 3차원 지도 작성 장치에 의한 3차원 지도의 작성을 위한 처리의 예를 나타내는 흐름도이다. 3차원 지도 작성부(21) 및 위치·자세 분산 계산부(22)는, 3차원 지도를 작성하고, 화상을 이용하는 경우에는, 국소 특징과 그 위치를 나타내는 지도, LiDAR를 이용하는 경우에는, 점군(위치만)을 나타내는 지도를 작성한다(스텝 S201). 대응 관계 등록부(23)는, 3차원 지도 작성부(21)에 대응하는 처리인 대응 관계의 등록을 행한다(스텝 S202). 데이터베이스 보존부(24)는, 대응 관계를 데이터베이스에 보존하는 처리를 행한다(스텝 S203).
《2-2-2》위치·자세의 추정
도 16은, 실시의 형태 2에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다. 데이터베이스 판독부(25)는, 데이터베이스로부터 데이터를 판독하는 처리를 행한다(스텝 S211). 상대 위치·자세 취득부(27)는, 상대 위치·자세를 취득하고, 절대 위치·자세 계산부(28)는, 절대 위치·자세의 계산을 행한다(스텝 S212~S214).
프레임 선택부는, 프레임 선택의 필요 여부를 판단하여(스텝 S215), 필요한 경우에는, 충분한 프레임 검출이 완료되어 있는지 여부를 판단한다(스텝 S216). 충분한 프레임 검출이 완료되어 있는 경우에는, 절대 위치·자세 통합부(29)는, 절대 위치·자세의 통합을 행한다(스텝 S217).
《2-3》효과
이상으로 설명한 바와 같이, 실시의 형태 2에 따른 위치·자세 추정 장치 또는 위치 자세 추정 방법에 의하면, 화상을 사용하고 또한 직접적인 매칭 방법을 이용하는 경우, 또는, LiDAR로 관측한 형상을 이용하여 절대 위치·자세를 계산하는 예에 있어서, 복수의 프레임을 이용하고 있으므로 위치·자세의 추정의 정밀도를 향상시킬 수 있다.
《3》실시의 형태 3
《3-1》구성
《3-1-1》
AR에서 이용하는 단말 또는 로봇은, 상대 위치·자세를 기기 내에서 관리하고 있는 경우가 있다. AR의 경우, 절대 위치·자세에서 정의된 컨텐츠의 위치를 단말에서 관리하고 있는 상대 위치·자세의 좌표계로 변환하는 것으로, 컨텐츠를 화상 상에 중첩 표시한다. 로봇의 경우도 마찬가지로, 로봇의 목적지가 절대 위치에서 정의되고 있는 경우, 이 위치를 로봇이 관리하는 상대 위치·자세의 좌표계로 변환할 필요가 있다.
실시의 형태 3은, 절대 위치·자세의 좌표계로부터 상대 위치·자세의 좌표계로 변환하는 행렬인 외부 파라미터를, 복수의 프레임을 이용하여 고정밀도로 계산하는 방법을 설명한다. 여기에서는, 실시의 형태 1을 기본으로서, 복수의 프레임을 이용하여 외부 파라미터를 고정밀도로 구하는 방법을 설명한다. 실시의 형태 3의 구성은, 실시의 형태 2 또는 4와 조합해도 좋다.
실시의 형태 2에 따른 위치·자세 추정 장치 및 위치 자세 추정 시스템의 하드웨어 구성은, 실시의 형태 1(도 4 및 도 5)에서 설명한 것과 동일하다. 따라서, 실시의 형태 2의 설명에 있어서는, 도 4 및 도 5도 참조한다.
《3-1-2》3차원 지도 작성 장치
실시의 형태 2에 따른 3차원 지도 작성 장치는, 실시의 형태 1의 것과 동일하다.
《3-1-3》위치·자세 추정 장치
도 17은, 실시의 형태 3에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다. 도 17에 나타나는 위치·자세 추정 장치는, 실시의 형태 3에 따른 위치·자세 추정 방법을 실행할 수 있는 장치이다. 위치·자세 추정 장치는, 데이터베이스 판독부(35)와, 프레임 선택부(36)와, 상대 위치·자세 취득부(37)와, 절대 위치·자세 계산부(38)와, 외부 파라미터 계산부(38a)와, 절대 위치·자세 통합부로서의 외부 파라미터 통합부(39)를 갖고 있다.
실시의 형태 3이 실시의 형태 1과 다른 점은, 선택한 프레임마다 외부 파라미터를 계산하는 외부 파라미터 계산부(38a)와, 복수의 외부 파라미터를 통합하는 외부 파라미터 통합부(39)를 갖는 점이다. 이것들 이외의 처리에 관하여, 실시의 형태 3의 처리는, 실시의 형태 1의 처리와 동일하다.
외부 파라미터 계산부(38a)는, 동일한 프레임을 바탕으로 상대 위치·자세의 계산과, 절대 위치·자세의 계산이 행해지고 있는 상정에서 외부 파라미터를 계산한다. 이 때, 외부 파라미터는, 식(13)에 의해 계산된다.
[수 14]
Figure pct00030
Figure pct00031
은, k번째의 프레임을 이용하여 구한 절대 위치 및 절대 자세를 나타낸다.
[수 15]
Figure pct00032
Figure pct00033
은, k번째의 프레임의 상대 위치 및 상대 자세를 나타낸다.
[수 16]
Figure pct00034
Figure pct00035
은, k번째의 프레임의 외부 파라미터(t′k 및 R′k)를 나타내고, 식(13)에 의해 계산된다.
[수 17]
Figure pct00036
(13)
외부 파라미터 통합부(39)의 처리는, 실시의 형태 1의 절대 위치·자세 통합부(19)(도 8)와 대체로 동일하다. 따라서, 외부 파라미터 통합부(39)는, 절대 위치·자세 통합부라고도 부른다. 실시의 형태 1에서는, 복수의 절대 위치·자세를 통합하고 있지만, 실시의 형태 3에서는, 외부 파라미터를 통합한다. 구체적으로는, 식(13)에서 구한 t′k 및 R′k를 이용하여 통합한다. 예를 들면, 가중치 부여 선형 합으로 통합하는 경우, 식(13)의 t′k, R′k를 식(5) 및 식(6)에 대입하여 통합한다.
《3-2》동작
《3-2-1》3차원 지도의 작성
3차원 지도 작성의 처리의 흐름은, 실시의 형태 1과 동일하기 때문에 생략한다. 외부 파라미터를 통합하는 방법의 처리의 흐름을 말한다.
《3-2-2》위치·자세의 추정
도 18은, 실시의 형태 3에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 예를 나타내는 흐름도이다. 데이터베이스 판독부(35)는, 데이터베이스로부터 데이터를 판독하는 처리를 행한다(스텝 S301). 상대 위치·자세 취득부(37)는, 장치 위치·자세를 취득한다(스텝 S302, S303). 절대 위치·자세 계산부(38)는, 절대 위치·자세의 계산을 행한다(스텝 S304). 외부 파라미터 계산부(38a)는, 외부 파라미터를 계산한다(스텝 S305).
프레임 선택부(36)는, 프레임 선택의 필요 여부를 판단하여(스텝 S306), 필요한 경우에는, 충분한 프레임 검출이 완료되어 있는지 여부를 판단한다(스텝 S307). 충분한 프레임 검출이 완료되어 있는 경우에는, 외부 파라미터 통합부(39)는, 절대 위치·자세의 통합을 행한다(스텝 S308).
《3-3》효과
이상으로 설명한 바와 같이, 실시의 형태 3에 따른 위치·자세 추정 장치 또는 위치 자세 추정 방법에 의하면, 절대 위치·자세의 좌표계로부터 상대 위치·자세의 좌표계로의 변환 행렬을 고정밀도로 구할 수 있으므로, AR에 적용한 단말에 컨텐츠를 고정밀도로 표시할 수 있다. 또, 로봇에 적용한 경우, 로봇의 목적지를 고정밀도로 구할 수 있다.
《4》실시의 형태 4
《4-1》구성
《4-1-1》
실시의 형태 4에서는, 실시의 형태 1에 있어서의 위치·자세 추정 방법에, 복수의 프레임을 이용한 에러 처리를 더한 형태를 말한다. 화상을 이용한 절대 위치·자세의 계산에서는, 피사체에 특징적인 모양이 적은 경우, 출력되는 위치·자세의 값에 큰 오차가 포함될 가능성이 있다. 이러한 결과를 제외하기 위해서, 실시의 형태 4에 따른 위치·자세 추정 장치는, 에러 처리를 실행한다.
실시의 형태 4에 따른 위치·자세 추정 장치 및 위치 자세 추정 시스템의 하드웨어 구성은, 기본적으로는, 실시의 형태 1(도 4 및 도 5)에서 설명한 것과 동일하다. 따라서, 실시의 형태 4의 설명에 있어서는, 도 4 및 도 5도 참조한다.
《4-1-2》3차원 지도 작성 장치
실시의 형태 4에 따른 3차원 지도 작성 장치의 구성은, 실시의 형태 1의 것과 동일하다.
《4-1-3》위치·자세 추정 장치
도 19는, 실시의 형태 4에 따른 위치·자세 추정 장치의 구성을 개략적으로 나타내는 기능 블럭도이다. 도 19에 나타나는 위치·자세 추정 장치는, 실시의 형태 4에 따른 위치·자세 추정 방법을 실행할 수 있는 장치이다. 실시의 형태 4에 따른 위치·자세 추정 장치는, 에러 처리부(48a)가 추가된 점에서, 실시의 형태 1의 것과 다르다.
도 19에 도시하는 바와 같이, 실시의 형태 4에 따른 위치·자세 추정 장치는, 데이터베이스 판독부(45)와, 프레임 선택부(46)와, 상대 위치·자세 취득부(47)와, 절대 위치·자세 계산부(48)와, 에러 처리부(48a)와, 절대 위치·자세 통합부(49)를 갖고 있다. 데이터베이스 판독부(45), 프레임 선택부(46), 상대 위치·자세 취득부(47), 절대 위치·자세 계산부(48), 및 절대 위치·자세 통합부(49)는, 도 8에 나타나는 데이터베이스 판독부(15), 프레임 선택부(16), 상대 위치·자세 취득부(17), 절대 위치·자세 계산부(18), 및 절대 위치·자세 통합부(19)와 마찬가지이다.
에러 처리부(48a)는, 에러 처리를 행한다. 에러 처리에서는, 복수의 프레임에서 구한 절대 위치·자세의 복수의 계산 결과를 비교하는 것으로, 오차가 미리 결정된 임계값보다 큰 절대 위치·자세의 계산 결과를, 통합 처리로부터 제외한다. 에러 처리의 일례를 식(14) 및 식(15)에 나타낸다. j번째(j는 K 이하의 양의 정수이다.)의 프레임은, 프레임 선택부(46)에서 선택된 K매의 프레임 중에서 j≠k를 만족시키는 프레임이다. 복수의 프레임에서 구한 절대 위치·자세의 복수의 계산 결과는, 동일한 위치·자세를 가리킬 것이다. 따라서, 에러 처리부(48a)는, 임의의 프레임에서 구한 절대 위치·자세의 계산 결과를 다른 프레임에서 구한 절대 위치·자세의 계산 결과와 비교한다. 에러 처리부(48a)는, 계산한 위치의 차가 미리 결정된 임계값 th_t보다 큰 경우(즉, 식(14)을 만족시키는 경우), 또는 계산한 자세의 차가 미리 결정된 임계값 th_r보다 큰 경우(즉, 식(15)을 만족시키는 경우)에는, 그 프레임의 계산 결과를 제외한다.
[수 18]
Figure pct00037
(14)
Figure pct00038
(15)
《4-2》동작
《4-2-1》3차원 지도의 작성
실시의 형태 4에 따른 3차원 지도 작성 장치의 동작은, 실시의 형태 1의 것과 동일하다.
《4-2-2》위치·자세의 추정
도 20은, 실시의 형태 4에 따른 위치·자세 추정 장치에 의한 위치·자세의 추정을 위한 처리의 다른 예를 나타내는 흐름도이다. 도 20에 나타나는 위치·자세 추정 장치의 동작은, 에러 처리(스텝 S406a)가 추가되어 있는 점에서, 도 11에 나타나는 실시의 형태 1에 따른 위치·자세 추정 장치의 동작과 상이하다. 도 20에 나타나는 스텝 S401~S406의 처리, 및 스텝 S407의 처리는, 도 11에 나타나는, 스텝 S101~S107의 처리와 마찬가지이다.
《4-3》효과
이상으로 설명한 바와 같이, 실시의 형태 4에 따른 위치·자세 추정 장치 또는 위치 자세 추정 방법에 의하면, 에러 처리가 행해지므로, 실시의 형태 1의 경우보다 내환경성이 높은 절대 위치·자세의 추정을 실현할 수 있다(즉, 각종 환경에 대해서 절대 위치·자세의 높은 추정 정밀도를 실현할 수 있다).
10 : 키 프레임 검출부
11 : 키 프레임 위치·자세 계산부
12, 22 : 위치·자세 분산 계산부
13, 23 : 대응 관계 등록부
14, 24 : DB 보존부
15, 25, 35, 45 : 데이터베이스 판독부
16, 26, 36, 46 : 프레임 선택부
17, 27, 37, 47 : 상대 위치·자세 취득부
18, 28, 38, 48 : 절대 위치·자세 계산부
19, 29, 49 : 절대 위치·자세 통합부
21 : 3차원 지도 작성부
38a : 외부 파라미터 계산부
39 : 외부 파라미터 통합부(절대 위치·자세 통합부)
48a : 에러 처리부
100 : 위치·자세 추정 시스템
101 : 위치·자세 추정 장치
102 : 3차원 지도 DB
103 : 거리 센서
104 : 카메라
105 : 디스플레이
106 : 자이로 센서
107 : 가속도 센서
108 : 지자기 센서

Claims (13)

  1. 데이터베이스로부터 3차원 지도의 데이터를 판독하는 데이터베이스 판독부와,
    복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 프레임 선택부와,
    상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 상대 위치·자세 취득부와,
    상기 프레임 선택부에 의해 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 절대 위치·자세 계산부와,
    상기 상대 위치·자세 취득부에 의해 취득된 상대 위치·자세와, 상기 절대 위치·자세 계산부에 의해 취득된 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 절대 위치·자세 통합부
    를 갖는 위치·자세 추정 장치.
  2. 제1항에 있어서,
    지도 작성 등록부를 더 갖고,
    상기 지도 작성 등록부는,
    카메라로 촬영된 카메라 화상으로부터 키 프레임을 검출하는 키 프레임 검출부와,
    상기 키 프레임을 촬영한 상기 카메라의 위치 및 자세를 계산하는 키 프레임 위치·자세 계산부와,
    상기 키 프레임마다 위치·자세의 분산을 계산하는 처리를 실행하는 위치·자세 분산 계산부와,
    플로어 맵에 3차원 지도를 위치 맞춤하여 등록 데이터를 작성하는 처리를 행하는 대응 관계 등록부와,
    상기 데이터베이스에 상기 등록 데이터를 보존하는 처리를 행하는 데이터베이스 보존을 갖는
    위치·자세 추정 장치.
  3. 제2항에 있어서,
    상기 절대 위치·자세 통합부는, 상기 키 프레임마다 계산된 상기 위치·자세의 분산에 근거하여, 상기 복수의 절대 위치·자세를 통합하는
    위치·자세 추정 장치.
  4. 제3항에 있어서,
    상기 절대 위치·자세 통합부는, 상기 키 프레임 중, 상기 분산이 가장 작은 키 프레임에서 추정한 위치·자세를 상기 최종적인 절대 위치·자세로서 채용하는
    위치·자세 추정 장치.
  5. 제3항에 있어서,
    상기 절대 위치·자세 통합부는, 상기 키 프레임마다, 상기 분산에 근거하는 가중치를 계산하고, 상기 가중치를 이용하는 가중치 부여 선형 합(weighted linear combination)에 근거하여, 상기 복수의 절대 위치·자세를 통합하는
    위치·자세 추정 장치.
  6. 제2항에 있어서,
    상기 절대 위치·자세 통합부는, 비선형 최적화를 이용하여 상기 복수의 절대 위치·자세를 통합하는
    위치·자세 추정 장치.
  7. 제1항에 있어서,
    지도 작성 등록부를 더 갖고,
    상기 지도 작성 등록부는,
    카메라로 촬영된 카메라 화상 또는 거리 센서로 측정된 거리 정보로부터 국소적인 영역마다 3차원 지도를 작성하는 3차원 지도 작성부와,
    상기 카메라 화상 또는 상기 거리 정보로부터 상기 영역마다 위치·자세의 분산을 계산하는 처리를 실행하는 위치·자세 분산 계산부와,
    플로어 맵에 3차원 지도를 위치 맞춤하여 등록 데이터를 작성하는 처리를 행하는 대응 관계 등록부와,
    상기 데이터베이스에 상기 등록 데이터를 보존하는 처리를 행하는 데이터베이스 보존을 갖는
    위치·자세 추정 장치.
  8. 제2항에 있어서,
    상기 절대 위치·자세 통합부는, 상기 키 프레임마다 계산된 상기 영역마다의 위치·자세의 분산에 근거하여, 상기 복수의 절대 위치·자세를 통합하는
    위치·자세 추정 장치.
  9. 제2항에 있어서,
    상기 키 프레임마다 외부 파라미터를 계산하는 외부 파라미터 계산부를 더 갖고,
    상기 절대 위치·자세 통합부는, 상기 외부 파라미터 계산부에서 계산된 복수의 외부 파라미터를 통합하는 것으로 상기 복수의 절대 위치·자세를 통합하는
    위치·자세 추정 장치.
  10. 제9항에 있어서,
    상기 절대 위치·자세 통합부는, 상기 키 프레임마다 계산된 상기 위치·자세의 분산에 근거하여, 상기 복수의 외부 파라미터를 통합하는
    위치·자세 추정 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 키 프레임마다 계산된 절대 위치·자세의 오차가 미리 결정된 임계값보다 큰 경우, 상기 임계값보다 큰 오차의 상기 절대 위치·자세의 계산 결과를 통합 처리에 사용하게 하지 않는 에러 처리부를 더 갖는
    위치·자세 추정 장치.
  12. 위치·자세 추정 장치가 실행하는 위치·자세 추정 방법으로서,
    위치 데이터베이스로부터 3차원 지도의 데이터를 판독하는 스텝과,
    복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 스텝과,
    선택된 상기 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 스텝과,
    상기 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 스텝과,
    취득된 상기 상대 위치·자세와, 취득된 상기 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 스텝
    을 갖는 위치·자세 추정 방법.
  13. 위치 데이터베이스로부터 3차원 지도의 데이터를 판독하는 스텝과,
    복수의 다른 시점에서 촬영한 화상의 프레임 중에서 위치·자세의 계산에 사용할 프레임을 선택하는 처리를 행하는 스텝과,
    선택된 상기 복수의 프레임에 대한 복수의 상대 위치·자세를 취득하는 처리를 행하는 스텝과,
    상기 선택된 복수의 프레임에 대한 복수의 절대 위치·자세를 취득하는 처리를 행하는 스텝과,
    취득된 상기 상대 위치·자세와, 취득된 상기 절대 위치·자세를 통합하여, 최종적인 절대 위치·자세를 취득하는 스텝
    을 컴퓨터에 실행시키는 프로그램.
KR1020237018897A 2020-12-18 2020-12-18 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램 KR20230087613A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/047417 WO2022130618A1 (ja) 2020-12-18 2020-12-18 位置・姿勢推定装置、位置・姿勢推定方法、及びプログラム

Publications (1)

Publication Number Publication Date
KR20230087613A true KR20230087613A (ko) 2023-06-16

Family

ID=82059339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237018897A KR20230087613A (ko) 2020-12-18 2020-12-18 위치·자세 추정 장치, 위치·자세 추정 방법, 및 프로그램

Country Status (7)

Country Link
US (1) US20230260149A1 (ko)
JP (1) JP7258250B2 (ko)
KR (1) KR20230087613A (ko)
CN (1) CN116635891A (ko)
DE (1) DE112020007700T5 (ko)
TW (1) TWI817124B (ko)
WO (1) WO2022130618A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019160147A (ja) 2018-03-16 2019-09-19 トヨタ自動車株式会社 自己位置検出装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2863229A1 (en) * 2012-01-13 2013-07-18 Pulse Function F6 Limited Telematics system with 3d inertial sensors
JP6272572B1 (ja) * 2017-02-03 2018-01-31 三菱電機株式会社 表示制御装置および表示制御方法
JP6842039B2 (ja) * 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
US11661084B2 (en) * 2017-11-20 2023-05-30 Sony Corporation Information processing apparatus, information processing method, and mobile object
WO2020137312A1 (ja) * 2018-12-28 2020-07-02 パナソニックIpマネジメント株式会社 測位装置及び移動体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019160147A (ja) 2018-03-16 2019-09-19 トヨタ自動車株式会社 自己位置検出装置

Also Published As

Publication number Publication date
TWI817124B (zh) 2023-10-01
CN116635891A (zh) 2023-08-22
TW202226003A (zh) 2022-07-01
JP7258250B2 (ja) 2023-04-14
WO2022130618A1 (ja) 2022-06-23
US20230260149A1 (en) 2023-08-17
DE112020007700T5 (de) 2023-08-03
JPWO2022130618A1 (ko) 2022-06-23

Similar Documents

Publication Publication Date Title
US10895458B2 (en) Method, apparatus, and system for determining a movement of a mobile platform
US10260862B2 (en) Pose estimation using sensors
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP6415066B2 (ja) 情報処理装置、情報処理方法、位置姿勢推定装置、ロボットシステム
CN112837352B (zh) 基于图像的数据处理方法、装置及设备、汽车、存储介质
US11062475B2 (en) Location estimating apparatus and method, learning apparatus and method, and computer program products
CN110211151B (zh) 一种运动物体的追踪方法和装置
JP2019124538A (ja) 情報処理装置、システム、情報処理方法
KR20170113122A (ko) 정보 처리장치 및 그 제어방법
CN113034594A (zh) 位姿优化方法、装置、电子设备及存储介质
JP6817742B2 (ja) 情報処理装置およびその制御方法
JP7173471B2 (ja) 3次元位置推定装置及びプログラム
CN114179788A (zh) 自动泊车方法、系统、计算机可读存储介质及车机端
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN108460333B (zh) 基于深度图的地面检测方法及装置
JP2019211981A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
CN115862124A (zh) 视线估计方法、装置、可读存储介质及电子设备
JP7258250B2 (ja) 位置・姿勢推定装置、位置・姿勢推定方法、及びプログラム
CN111198563A (zh) 一种用于足式机器人动态运动的地形识别方法及系统
JP2011174891A (ja) 位置姿勢計測装置、位置姿勢計測方法、及びプログラム
CN112017229B (zh) 一种相机相对位姿求解方法
CN110300991A (zh) 表面图形确定方法和装置
CN115683109B (zh) 基于cuda和三维栅格地图的视觉动态障碍物检测方法
CN117830991B (zh) 一种基于多模融合的四足机器人复杂场景感知方法及系统
CN114719759B (zh) 一种基于slam算法和图像实例分割技术的物体表面周长和面积测量方法

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal