TW202226003A - 位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體 - Google Patents

位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體 Download PDF

Info

Publication number
TW202226003A
TW202226003A TW110117868A TW110117868A TW202226003A TW 202226003 A TW202226003 A TW 202226003A TW 110117868 A TW110117868 A TW 110117868A TW 110117868 A TW110117868 A TW 110117868A TW 202226003 A TW202226003 A TW 202226003A
Authority
TW
Taiwan
Prior art keywords
orientation
posture
absolute
unit
calculation
Prior art date
Application number
TW110117868A
Other languages
English (en)
Other versions
TWI817124B (zh
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 TW202226003A publication Critical patent/TW202226003A/zh
Application granted granted Critical
Publication of TWI817124B publication Critical patent/TWI817124B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Image Processing (AREA)

Abstract

位置/姿勢推定裝置(101)包括:資料庫讀取部(15),從資料庫讀取三次元地圖之資料;訊框選擇部(16),進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理;相對位置/姿勢取得部(17),進行取得由前述訊框選擇部選擇之複數個訊框的複數個相對位置/姿勢之處理;絕對位置/姿勢計算部(18),進行取得由前述訊框選擇部選擇之複數個訊框之複數個絕對位置/姿勢之處理;以及絕對位置/姿勢統合部(19),統合由前述相對位置/姿勢取得部(17)取得之相對位置/姿勢,以及由前述絕對位置/姿勢計算部(18)取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢。

Description

位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體
本發明係有關位置/姿勢推定裝置、位置/姿勢推定方法及記錄程式之記錄媒體。
在擴增實境(Augmented Reality,AR)適用之裝置及自動導引車(Automated Guided Behicle,AGV)適用之機器人等之中,藉由相對位置/姿勢之計算結果與絕對位置/姿勢之計算結果組合,提升姿勢之計算(意即推定)的準確度的方法已被提案。例如,參照專利文獻1。
相對位置/姿勢之計算係從某位置/姿勢之相對移動量之計算,每過特定週期(一般來說為短週期)反覆執行之處理。舉例而言,在相對位置/姿勢之計算中,利用根據經由攝影機拍攝之圖像的攝影機圖像或經由距離感測器偵測之距離求得移動量之同時定位與地圖建構(Simultaneous Localization And Mapping,SLAM)、統合陀螺儀感測器或加速度感測器等之慣性感測單元(Inertial Measurement Unit,IMU)之方法,或者使用根據車輪之旋轉數求得移動量之自動導航等。在這些方法中,由於每次相對位置/姿勢之計算之誤差被相加,有長距離移動時累積之誤差會變大的問題。為此,將相對位置/姿勢之計算之結果與絕對位置/姿勢之計算之結果結合,將由相對位置/姿勢之計算累積之誤差定期地進行移除處理。
絕對位置/姿勢之計算利用預先準備之三次元地圖進行,例如,在三次元地圖顯示之物體之前執行。舉例而言,絕對位置/姿勢之計算使用三次元地圖及攝影機圖像進行。
第1圖為顯示攜帶AR適用之終端111的使用者112移動時,終端111利用相對位置/姿勢之計算與絕對位置/姿勢之計算推定位置/姿勢之例子之示意圖。舉例而言,終端111為平板終端或利用頭戴式顯示器(Head Mounted Display,HMD)之終端等。在此情況下,終端111一邊執行相對位置/姿勢計算(1)一邊移動,利用在三次元地圖顯示之物體113之前執行之絕對位置/姿勢計算(2)之結果移除累積之誤差,其後,一邊執行相對位置/姿勢計算(3)一邊移動。因此,即使離開三次元地圖顯示之物體113,也可以準確地推定位置/姿勢,因此,可以繼續將AR內容重疊顯示於現實圖像的適切位置上,該現實圖像顯示於終端之畫面。
第2圖為顯示適用於AGV之機器人121移動的情況下,機器人121利用相對位置/姿勢之計算與絕對位置/姿勢之計算,推定位置/姿勢之例子之示意圖。在此情況下,機器人121一邊執行相對位置/姿勢計算(4)一邊移動,在三次元地圖顯示之物體123之前利用被執行的絕對位置/姿勢計算(5)之結果,移除累積之誤差,其後,一邊執行相對位置/姿勢計算(6)一邊移動。因此,即使離開三次元地圖顯示之物體123,機器人121也可以準確地推定自己的位置/姿勢,因此,可以正確地到達被設為目標的位置。 <先前技術文獻> <專利文獻>
<專利文獻1>日本專利特許公開2019-160147號公報。
<發明所欲解決的問題>
然而,習知的絕對位置/姿勢之推定,由於只使用一訊框(也就是一張圖像訊框)進行,計算之準確度(也就是準確度之推定)有依存包含於一訊框之被攝物而大幅變動之課題。
舉例而言,利用攝影機圖像的情況下,會有依存被攝物之圖型而絕對位置/姿勢之計算的準確度變動的情況。也就是說,雖然在被攝物之圖型為有特徵的情況下,能夠以高準確度進行絕對位置/姿勢之計算,然而被攝物之圖型為條紋或邊界等重複圖型的情況,或被攝物為如全白牆壁等沒有圖型的物體的情況下,絕對位置/姿勢之計算之準確度會降低。
另外,利用到被攝物的距離資訊計算絕對位置/姿勢的情況下,該到被攝物的距離資訊係利用雷射或紅外線等得到的,依存被攝物之形狀的絕對位置/姿勢之計算的準確度會大幅變動。也就是說,雖然在被攝物之形狀為有特徵的情況下,能夠以高準確度進行絕對位置/姿勢之計算,然而被攝物之形狀為沒有特徵的情況下,絕對位置/姿勢之計算之準確度會降低。
本揭露為了解決上述課題而產生,目的為提供可以提升位置/姿勢推定之準確度的位置/姿勢推定裝置、位置/姿勢推定方法以及程式。 <用以解決課題的手段>
本揭露之位置/姿勢推定裝置包括:資料庫讀取部,從資料庫讀取三次元地圖之資料;訊框選擇部,進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理;相對位置/姿勢取得部,進行取得由前述訊框選擇部選擇之複數個訊框的複數個相對位置/姿勢之處理;絕對位置/姿勢計算部,進行取得由前述訊框選擇部選擇之複數個訊框之複數個絕對位置/姿勢之處理;以及絕對位置/姿勢統合部,統合由前述相對位置/姿勢取得部取得之相對位置/姿勢,以及由前述絕對位置/姿勢計算部取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢。
本揭露之位置/姿勢推定方法係由位置/姿勢推定裝置執行之方法,包括:從位置資料庫讀取三次元地圖之資料的步驟;進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理的步驟;進行取得前述複數個訊框的複數個相對位置/姿勢之處理的步驟;進行取得前述被選擇之複數個訊框之複數個絕對位置/姿勢之處理的步驟;統合取得之相對位置/姿勢,以及取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢的步驟。
根據本揭露之裝置、方法或程式,可以提升位置/姿勢之推定的準確度。
以下,一邊參照圖式一邊說明有關實施型態之位置/姿勢推定裝置、位置/姿勢推定方法以及記錄電腦可讀取程式之記錄媒體。以下之實施型態僅為例子,可以將實施型態適當地組合以及將實施型態適當地變更。另外,本申請中「位置/姿勢」代表位置以及姿勢。舉例而言,「位置」代表搭載攝影機之終端或機器人之位置。舉例而言,「姿勢」代表攝影機之拍攝方向或距離感測器之測定方向。
《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.
在第一推定方法中,利用直接匹配。在第一推定方法中,根據圖像之局部特徵之集合,直接計算攝影機之位置/姿勢。
另外,作為利用攝影機圖像推定位置/姿勢之方法,已知第二推定方法。在第二推定方法中,藉由卷積神經網路(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.
在第二推定方法中,利用兩階段匹配。再第二推定方法中,準備視點不同之複數個圖像,一開始,從複數個圖像中,將與藉由拍攝所得之攝影圖像最類似之圖像辨識為類似圖像,接著,根據從類似圖像抽出之局部特徵與從攝影圖像抽出之局部特徵之對應關係,求得攝影機之位置/姿勢。在實施型態1中,使用根據第二推定方法的方法。
第3圖為顯示有關實施型態1之位置/姿勢推定裝置101以及包含其之位置/姿勢推定系統100之硬體構成之例子的示意圖。有關實施型態1之位置/姿勢推定裝置101,包含電腦,該電腦係用以執行位置/姿勢之推定之計算的計算機。在第3圖的例子中,有關實施型態1之位置/姿勢推定系統100,包括:位置/姿勢推定裝置101;三次元地圖資料庫(三次元DB)102,被儲存於記憶裝置中;距離感測器103;攝影機104,作為攝影裝置;以及液晶顯示裝置等之顯示器105。另外,在第3圖的例子中,位置/姿勢推定系統100包括:陀螺儀感測器106;加速度感測器107;以及地磁感測器108。包含陀螺儀感測器106、加速度感測器107、以及地磁感測器108之裝置,被稱為慣性測量單元(Inertial measurement unit, IMU)。位置/姿勢推定裝置101與第3圖所示之其他構成,舉例而言,以網路連接。三次元地圖DB 102也可以是位置/姿勢推定裝置101的一部分。
三次元地圖DB 102在進行絕對位置/姿勢之計算時被使用,包含預先準備之三次元地圖資訊。三次元地圖DB 102不必為有關實施型態1之位置/姿勢推定系統100之一部分,也可以是儲存於外部之記憶裝置的資訊。另外,三次元地圖DB 102也可以由位置/姿勢推定裝置101作成。在此情況下,位置/姿勢推定裝置101具有作為三次元地圖作成裝置的機能。也就是說,有關實施型態1之三次元地圖作成裝置,是位置/姿勢推定裝置101的一部分。然而,有關實施型態1之三次元地圖作成裝置也可以是和位置/姿勢推定裝置101分別的裝置。
距離感測器103為利用紅外線或雷射等測量距離之機器。攝影機104為取得攝影圖像之機器。位置/姿勢推定系統100也可以只包含攝影機104及距離感測器103中的一者。
顯示器105為將AR內容重疊漁攝影圖像顯示的情況下需要的顯示機器。位置/姿勢推定系統100也可以包含顯示器105。
陀螺儀感測器106、加速度感測器107、以及地磁感測器108構成IMU,該IMU為用以經由自動導航進行相對位置/姿勢之計算之機器。然而,沒有經由自動導航計算相對位置/姿勢之計算的情況下,也可以不包括IMU。另外,也可以只包含陀螺儀感測器106、加速度感測器107、以及地磁感測器108之中的一者或兩者。另外,連接位置/姿勢推定裝置101之機器,可以是第3圖所示的一部份,或者也可以包含第3圖中未顯示之其他機器。
第4圖為位置/姿勢推定裝置101之硬體構成之例子的示意圖。位置/姿勢推定裝置101包含:作為資訊處理部之中央處理器(Central Processing Unit,CPU)1011;記憶裝置之記憶體1012;以及介面1013。三次元地圖DB 102、距離感測器103、攝影機104、顯示器105、陀螺儀感測器106、加速度感測器107、以及地磁感測器108,經由介面1013以及匯流排連接CPU 1011。
位置/姿勢推定裝置101之各機能由處理電路實現。處理電路可以是專用的硬體,也可以是執行儲存於記憶體1012的軟體之程式(例如位置/姿勢推定程式)的CPU 1011。CPU 1011可以是處理裝置、演算裝置、微處理器、微電腦、處理器、以及數位訊號處理器(Digital Signal Processor,DSP)之任一者。
處理電路為專用之硬體的情況下,舉例而言,處理電路可以是單一電路、複合電路、可程式化處理器、平行可程式化處理器、特定應用積體電路(Application Specific Integrated Circuit,ASIC)、場域可編程邏輯閘陣列(Field Programmable Gate Array,FPGA),或以上之任意組合。
處理電路為CPU 1011的情況下,位置/姿勢推定裝置101之機能可以由軟體、韌體、或軟體與韌體之組合實現。軟體及韌體作為程式被記述,被儲存於記憶體1012。處理電路藉由讀取記憶體1012中記憶之程式並執行,實現各部之機能。也就是說,位置/姿勢推定裝置101由處理電路執行處理時,執行有關實施型態1之位置/姿勢推定法。
此處,記憶體1012,舉例而言,為隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)、快閃記憶體、可擦除可規劃式唯讀記憶體(Erasable Programmable Read Only Memory,EPROM)、電子抹除式可複寫唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM)等之非揮發性或揮發性之半導體記憶體,或為磁碟、光碟、雷射唱片(Compact Disc,CD)、數位多功能光碟(Digital Versatile Disc,DVD)等中之任一者。
另外,位置/姿勢推定裝置101也可以一部分由專用的硬體實現,一部分由軟體或韌體實現。像這樣,處理電路可以由硬體、軟體、韌體或以上中的任意組合實現各機能。
《1-1-2》三次元地圖作成裝置 第5圖為概略顯示有關實施型態1之三次元地圖作成裝置之構成的機能方塊圖。第5圖所示之三次元地圖作成裝置,為可以執行有關實施型態1之三次元地圖作成方法之裝置。另外,在以下的說明中,以三次元地圖作成裝置為位置/姿勢推定裝置101之一部分(已就是地圖作成登錄部)的例子進行說明。然而,三次元地圖作成裝置也可以和位置/姿勢推定裝置101為分別的裝置。在此情況下,三次元地圖作成裝置之硬體構成與第4圖所示相同。
如第5圖所示,有關實施型態1之三次元地圖作成裝置,包含:關鍵訊框偵測部10;關鍵訊框位置/姿勢計算部11;位置/姿勢離勢計算部12;對應關係登錄部13;資料庫保存部(DB保存部)14。這些構成利用由攝影機104(第3圖)拍攝之攝影圖像、由距離感測器103(第3圖)取得之距離資訊、以及由IMU(第3圖)取得之感測值構築三次元地圖。在實施型態1中最低限度需要之資料為攝影圖像。即使是不包括距離資訊或IMU的情況,也可以作成三次元地圖。
在攝影機104之位置移動了預定平行移動量之閾值以上情況下,或攝影機104之姿式移動了(意即旋轉了)預定旋轉量之閾值以上的情況下,關鍵訊框偵測部10將取得的圖像(例如彩色圖像)以及偵測到的距離資訊作為關鍵訊框執行偵測處理。
關鍵訊框位置/姿勢計算部11,藉由如同時定位與地圖構建(Simultaneous localization and mapping,SLAM)等利用圖像之相對位置/姿勢的計算方法,執行計算攝影機104或距離感測器103之位置/姿勢之處理,該攝影機104拍攝由關鍵訊框偵測部10偵測到的關鍵訊框。關鍵訊框偵測部10以及關鍵訊框位置/姿勢計算部11執行處理,該處理與習知的SLAM技術之情況之處理相同。
<非專利文獻3> Raul Mur-Artal,以及另外一名作者:“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偵測之各個關鍵訊框的位置/姿勢的離勢之處理。舉例而言,作為位置/姿勢的離勢之計算方法,有如以下所示之第一計算方法與第二計算方法。
第一計算方法,係在圖像中附加雜訊(也就是隨機型樣(random pattern))的方法。第6圖為顯示在圖像中附加隨機參數之方法之一例的示意圖。在第一計算方法中,於關鍵訊框之圖像中加上隨機型樣,執行複數次計算位置/姿勢之處理,根據得到的位置/姿勢之複數個計算結果求得位置/姿勢之離勢。
第二計算方法,係利用亂數之方法。舉例而言,在第二計算方法中,絕對位置/姿勢之計算之處理在排除異常值之目的下,使用隨機抽樣一致算法(Random Sample Consensus,RANSAC)。RANSAC的主要目的為,在被觀測之資料之中,排除從絕對位置/姿勢之計算使用的資料偏離之異常值資料。然而,在RANSAC中,由於隨機選擇計算對象之樣本每次的計算結果為不同值,可以將RANSAC使用於位置/姿勢之離勢之計算。
<數學式1>
Figure 02_image001
分別顯示位置之離勢(
Figure 02_image003
)以及姿勢之離勢(
Figure 02_image005
),分別藉由算式(1)及算式(2)計算。在算式(1)及算式(2)中,N為正整數,表示求離勢時使用的試驗次數。另外,K顯示正整數。
<數學式2>
Figure 02_image007
分別顯示在第n次試驗中求得之絕對位置(
Figure 02_image009
)及絕對姿勢(
Figure 02_image011
)。另外,n為1以上、N以下之整數。
<數學式3>
Figure 02_image013
分別顯示位置之平均(
Figure 02_image015
)以及姿勢之平均(
Figure 02_image017
),分別藉由算式(3)及算式(4)計算。
<數學式4>
Figure 02_image019
Figure 02_image021
Figure 02_image023
Figure 02_image025
第7圖為顯示將三次元地圖與樓層地圖對齊並登錄之處理的示意圖。第7圖的樓層地圖為描繪出顯示設備之配置之布局的樓層布局。在樓層地圖中,設備應被配置的區域之設置區域以虛線矩形顯示。對應關係登錄部13,進行定義與其他三次元地圖或全體地圖之關係之處理。如第7圖所示,在樓層地圖的布局上登錄三次元地圖(以實線矩形顯示)時,得到三次元地圖間的位置關係,以及作成中的三次元地圖與已構築之三次元地圖間的對應關係。藉由將三次元地圖對齊樓層地圖並登錄,定義全體地圖與三次元地圖的一致性或複數個三次元地圖間的位置關係。
資料庫保存部14將以上述之方法作成之三次元地圖(也就是例如藉由SLAM得到的每個關鍵訊框資料),保存於三次元地圖DB 102(第3圖)。在三次元地圖DB 102中,每個關鍵訊框得到的位置/姿勢、攝影圖像、距離資訊(也就是距離圖像),以及局部特徵的點群以關鍵訊框之個數被保存。
《1-1-3》位置/姿勢推定裝置 第8圖為概略顯示有關實施型態1之位置/姿勢推定裝置101之構成的機能方塊圖。位置/姿勢推定裝置101根據在不同視點拍攝之複數個感測資料進行計算位置/姿勢之處理。此處,感測資料包含攝影機圖像及距離感測器之偵測資料。如第8圖所示,位置/姿勢推定裝置101包含:資料庫讀取部15;訊框選擇部16;相對位置/姿勢取得部17;絕對位置/姿勢計算部18;以及絕對位置/姿勢統合部19。
資料庫讀取部15,進行讀取三次元地圖(也就是預先準備之三次元地圖)之處理,該三次元地圖被儲存於DB保存部14中記憶之資料庫中。
訊框選擇部16進行從複數個不同視點拍攝之攝影機圖像的訊框中,選擇使用於位置/姿勢之計算的訊框之處理。作為訊框選擇方法,舉例而言,有第一選擇方法、第二選擇方法及第三選擇方法。
在第一選擇方法中利用相對移動量。在第一選擇方法中,根據藉由相對位置/姿勢之計算得到的相對位置之變化為預定之位置變化之閾值以上的條件,以及相對姿勢之變化為預定之姿勢變化之閾值以上的條件,判定是否選擇訊框(關鍵訊框)。舉例而言,滿足藉由相對位置/姿勢之計算得到的相對位置之變化為預定之位置變化之閾值以上的條件,以及相對姿勢之變化為預定之姿勢變化之閾值以上的條件至少一者時,選擇關鍵訊框。
在第二選擇方法中利用不同時間的訊框。在第二選擇方法中,選擇時間上相鄰之視點之訊框,或者時間上以閾值以上的時間間隔拍攝之訊框(關鍵訊框)。
在第三選擇方法中利用離勢。在第三選擇方法中,根據三次元地圖作成時求得之離勢選擇使用之資料。例如,選擇離勢比預先決定之離勢之閾值更小之視點的訊框(關鍵訊框)。
相對位置/姿勢取得部17進行取得對應訊框之相對位置/姿勢的處理。相對位置/姿勢取得部17,藉由第1圖之相對位置/姿勢之計算之任一者之方法取得計算位置/姿勢之結果。
絕對位置/姿勢計算部18,利用選擇之複數個訊框進行計算絕對位置/姿勢之處理。此時,舉例而言,利用透視n點(Perspective n Point,PnP)等計算位置/姿勢。
絕對位置/姿勢統合部19統合複數個位置/姿勢之計算結果,進行計算最終的絕對位置/姿勢之處理。作為絕對位置/姿勢統合部19進行的統合方法,舉例而言,有第一統合方法、第二統合方法及第三統合方法。
第一統合方法利用「贏者全拿(Winner takes all)」的方式。意即,在第一統合方法中,採用離勢最小之關鍵訊框推定之位置/姿勢作為最終的結果。
第二統合方法利用加權線性和。意即,在第二統合方法中,根據離勢加權。
<數學式5>
Figure 02_image027
分別顯示最終得到之位置及姿勢,各自藉由算式(5)及算式(6)計算。
<數學式6>
Figure 02_image029
分別顯示藉由訊框選擇部16得到的訊框之中,第k個訊框之位置(
Figure 02_image031
)與第k個訊框之姿勢(
Figure 02_image033
)。
<數學式7>
Figure 02_image035
分別顯示對第k個訊框之位置之權重(
Figure 02_image037
)與對第k個訊框之姿勢之權重(
Figure 02_image039
),分別由算式(7)及算式(8)計算。
對第k個訊框之位置的權重
Figure 02_image037
及對第k個訊框之姿勢的權重
Figure 02_image039
,係利用用於位置/姿勢之計算的關鍵訊框之離勢的位置之離勢
Figure 02_image003
及姿勢之離勢
Figure 02_image005
計算。另外,也可以利用被視為與位置之離勢
Figure 02_image003
及姿勢之離勢
Figure 02_image005
等價的統計指標之標準差,也就是位置的標準差
Figure 02_image041
以及姿勢的標準差
Figure 02_image043
,計算權重。利用標準差的情況下,對第k個訊框之位置權重
Figure 02_image037
及對第k個訊框之姿勢權重
Figure 02_image039
分別由算式(9)及算式(10)計算。
<數學式8>
Figure 02_image045
Figure 02_image047
Figure 02_image049
Figure 02_image051
Figure 02_image053
Figure 02_image055
在算式(5)及算式(6)中,第k個訊框之位置
Figure 02_image031
與第k個訊框之姿勢
Figure 02_image033
,並非將由絕對位置/姿勢計算部18計算之位置直接輸入。根據絕對位置/姿勢計算部18計算之位置/姿勢,利用移動到任意之訊框時的位置/姿勢。例如,訊框選擇部16選擇k張(k為正整數)訊框,根據第k張訊框統合的情況下,第k個(k為正整數)訊框的位置
Figure 02_image031
與第k個訊框的姿勢
Figure 02_image033
由算式(11)表示。在算式(11)中,第k個訊框之位置
Figure 02_image057
與第k個訊框之姿勢
Figure 02_image059
,係絕對位置/姿勢計算部18所求的位置/姿勢。
<數學式9>
Figure 02_image061
分別顯示從第k個訊框到第K個訊框之相對的姿勢移動量及相對的位置移動量,從相對位置/姿勢取得部17得到的位置/姿勢推導。利用算式(11)可以求得第K個訊框之絕對位置/姿勢。
<數學式10>
Figure 02_image063
第三整合方法為藉由非線性最佳化求絕對位置/姿勢的方法。例如,如算式(12)所示,使再投影誤差最小,求第k個訊框之位置
Figure 02_image057
與第k個訊框之姿勢
Figure 02_image059
<數學式11>
Figure 02_image065
顯示攝影機內部之參數(L)。
<數學式12>
Figure 02_image067
分別顯示匹配之局部特徵的三次元位置與圖像上的點。
N k顯示第k個訊框已匹配的局部特徵對的數量。w k為對應第k個訊框的權重,利用權重w tk或w Rk之任一者,或統合以上之權重。
以梯度下降法等之非線性最佳化方法解算式(12)時,可以得到絕對位置/姿勢。
<數學式13>
Figure 02_image069
《1-2》動作 《1-2-1》三次元地圖之生成 第9圖為顯示有關實施型態1之經由三次元地圖作成裝置作成三次元地圖之處理的例子的流程圖。如第9圖所示,關鍵訊框偵測部10及關鍵訊框位置/姿勢計算部11執行三次元地圖之作成(步驟S101)。三次元地圖之作成,舉例而言,利用SLAM,一邊偵測關鍵訊框一邊執行。
位置/姿勢離勢計算部12,計算每個關鍵訊框(步驟S102)中位置/姿勢之離勢(步驟S103)。接著,對應關係登錄部13如第8圖所示,進行對應關係之登錄(步驟S104)。對應關係登錄部13,舉例而言,在樓層地圖上登錄三次元地圖,執行定義與全體地圖或其他三次元地圖間的位置關係之處理。資料庫保存部14,進行將上述之處理作成之地圖保存到三次元地圖DB 102之處理(步驟S105)。
《1-2-2》位置/姿勢之推定 第10圖為顯示經由有關實施型態1之經由位置/姿勢推定裝置101推定之處理的例子的流程圖。資料庫讀取部15,從DB保存部14讀取作為資料之三次元地圖(步驟S111)。訊框選擇部16選擇訊框(步驟S112)。被選擇的訊框係根據預先決定之規則處理之訊框。
相對位置/姿勢取得部17,對每個被選擇的訊框(步驟S113),進行取得對應訊框之相對位置/姿勢之處理(步驟S114)。絕對位置/姿勢計算部18根據被選擇的訊框之資料,計算絕對位置/姿勢(步驟S115)。被選擇的訊框數量達到預定之張數時,處理往統合處理前進。
絕對位置/姿勢統合部19,根據離勢統合絕對位置/姿勢之結果(步驟S116)。
第11圖為顯示有關實施型態1之經由位置/姿勢推定裝置推定之處理的其他例子的流程圖。資料庫讀取部15從資料庫保存部14讀取作為資料的三次元地圖(步驟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中,將說明使用攝影機圖像以直接匹配法將求得之位置/姿勢統合的方法,以及使用光學雷達(Light Detection and Ranging,LiDAR)等雷射感測器之位置/姿勢統合方法。
有關實施型態2之位置/姿勢推定裝置及位置/姿勢推定系統之硬體構成,與在實施型態1(第4圖及第5圖)中說明的相同。因此,說明實施型態2時,亦參照第4圖及第5圖。
《2-1-2》三次元地圖作成裝置 第12圖為概略顯示有關實施型態2之三次元地圖作成裝置之構成的機能方塊圖。第12圖所示之三次元地圖作成裝置,是可以執行有關實施型態2之三次元地圖作成方法的裝置。另外,在以下的說明中,雖然以三次元地圖作成裝置為位置/姿勢推定裝置之一部分(也就是地圖作成登錄部)的情況進行說明,然而,地圖作成登錄部也可以和位置/姿勢推定裝置為個別的裝置。
如第12圖所示,有關實施型態2之三次元地圖作成裝置包括:三次元地圖作成部21;位置/姿勢離勢計算部22;對應關係登錄部23;以及資料庫保存部(DB保存部)24。
雖然在實施型態1中會管理每個關鍵訊框的三次元資料,在實施型態2中,將點群作為三次元地圖管理。例如,三次元地圖作成部21利用圖像的情況下,將從圖像得到的局部特徵以及該位置作成三次元地圖。利用LiDAR等雷射感測器的情況下,將觀測之點群(只有位置)作成三次元地圖。第12圖之三次元地圖作成部21進行上述作成三次元地圖資料之處理。
第13圖為顯示有關實施型態2之三次元地圖作成裝置使用之離勢的計算方法之示意圖。第13圖顯示在AGV適用之機器人131移動的情況下,機器人利用相對位置/姿勢之計算與絕對位置/姿勢之計算推定位置/姿勢的例子。機器人131的離勢之計算及離勢之計算方法與實施型態1之計算方法不同。在第13圖中,說明橢圓圍成的區域(例如區域#1、#2、#3)之離勢σ 1、σ 2、σ 3之計算。
在具體的離勢計算中,從製作三次元地圖時觀測的資料中,從每個區域皆取得任意之個數之資料(也就是取樣)。對取樣之資料以複數次不同方法加上雜訊,進行絕對位置/姿勢之推定。求得的離勢為每個特定區域之位置/姿勢的離勢。在與實施型態1同樣為圖像的情況下,加上雜訊的方法為附加隨機型樣的方法。在LiDAR的情況下同樣地,藉由在局部區域附加隨機型樣以附加雜訊。此處之「隨機型樣」包含用以移除該區域中資料之型樣。
對應關係登錄部23以和實施型態1之對應關係登錄部13同樣的方法,定義與全體地圖或其他三次元地圖之關係。
DB保存部24將三次元地圖及每個領域之離勢保存於資料庫。
《2-1-3》位置/姿勢推定裝置 第14圖為概略顯示有關實施型態2之位置/姿勢推定裝置之構成的機能方塊圖。第14圖所示之位置/姿勢推定裝置為可以執行有關實施型態2之位置/姿勢推定方法的裝置。位置/姿勢推定裝置包括:資料庫讀取部25;訊框選擇部26;相對位置/姿勢取得部27;絕對位置/姿勢計算部28;以及絕對位置/姿勢統合部29。
資料庫讀取部25進行讀取儲存於資料庫之三次元地圖資料之處理。
訊框選擇部26與實施型態1之訊框選擇部16相同,或從預先區分之複數個區域中選擇沒有重複的訊框。例如,如第13圖所示,說明區分三個區域#1、#2、#3算出離勢σ 1、σ 2、σ 3並管理的例子。以各區域#1、#2、#3中包含位置/姿勢之計算結果之訊框的數量為M張的例子進行說明。
相對位置/姿勢取得部27以和實施型態1中之相對位置/姿勢取得部17相同的方法取得相對位置/姿勢。
絕對位置/姿勢計算部28在圖像的情況下,利用將圖像的局部特徵直接匹配計算位置/姿勢的方法(舉例而言,參照非專利文獻4)等計算絕對位置/姿勢。在使用利用LiDAR之距離感測器之資料的情況下,藉由進行三次元地圖與距離感測器觀測之形狀資訊之匹配計算位置/姿勢。
<非專利文獻4>Torsten Sattler及另外兩名作者:“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》三次元地圖之作成 第15圖為顯示有關實施型態2之經由三次元地圖作成裝置作成三次元地圖之處理的例子的流程圖。三次元地圖作成部21及位置/姿勢分散計算部22作成三次元地圖,在利用圖像的情況下,為顯示局部特徵與該位置之地圖,在利用LiDAR的情況下,作成顯示點群(只有位置)之地圖(步驟S201)。對應關係登錄部23進行對應三次元地圖作成部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》三次元地圖作成裝置 有關實施型態2之三次元地圖作成裝置與實施型態1相同。
《3-1-2》位置/姿勢推定裝置 第17圖為概略顯示有關實施型態3之位置/姿勢推定裝置之構成的機能方塊圖。第17圖所示之位置/姿勢推定裝置,係可以執行有關實施型態3之位置/姿勢推定方法的裝置。位置/姿勢推定裝置包括:資料庫讀取部35;訊框選擇部36;相對位置/姿勢取得部37;絕對位置/姿勢計算部38;外部參數計算部38a;以及作為絕對位置/姿勢統合部之外部參數統合部39。
實施型態3與實施型態1不同的點為包含:外部參數計算部38a,對每個被選擇之訊框計算外部參數;以及外部參數統合部39,統合複數個外部參數。有關上述以外之處理,實施型態3之處理與實施型態1之處理相同。
外部參數計算部38a根據相同訊框進行相對位置/姿勢之計算以及絕對位置/姿勢之計算之假設,計算外部參數。此時,外部參數由算式(13)計算。
<數學式14>
Figure 02_image071
顯示利用第k個訊框求得的絕對位置及絕對姿勢。
<數學式15>
Figure 02_image073
顯示第k個訊框之相對位置及相對姿勢。
<數學式16>
Figure 02_image029
顯示第k個訊框之外部參數(
Figure 02_image029
),由算式(13)計算。
<數學式17>
Figure 02_image075
外部參數統合部39之處理大致與實施型態1之絕對位置/姿勢統合部19(第8圖)相同。因此,外部參數統合部39亦被稱絕對位置/姿勢統合部。雖然在實施型態1中統合複數個絕對位置/姿勢,在實施型態3中,係統合外部參數。具體而言,利用算式(13)求得之
Figure 02_image031
Figure 02_image033
統合。例如,以加權線性和統合的情況下,將算式(13)之
Figure 02_image031
Figure 02_image033
代入算式(5)及算式(6)統合。
《3-2》動作 《3-2-1》三次元地圖之作成 三次元地圖作成之處理之流程,由於與實施型態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》三次元地圖作成裝置 有關實施型態4之三次元地圖作成裝置之構成與實施型態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 02_image077
Figure 02_image079
《4-2》動作 《4-2-1》三次元地圖之作成 有關實施型態4之三次元地圖作成裝置之動作,與實施型態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:三次元地圖作成部 38a:外部參數計算部 39:外部參數統合部(絕對位置/姿勢統合部) 48a:錯誤處理部 100:位置/姿勢推定系統 101:位置/姿勢推定裝置 102:三次元地圖資料庫(DB) 103:距離感測器 104:攝影機 105:顯示器 106:陀螺儀感測器 107:加速度感測器 108:地磁感測器
[第1圖]為顯示攜帶AR適用之終端的使用者移動的情況下,終端利用相對位置/姿勢之計算與絕對位置/姿勢之計算,推定位置/姿勢之例子之示意圖。 [第2圖]為顯示AGV適用之機器人移動的情況下,機器人利用相對位置/姿勢之計算與絕對位置/姿勢之計算,推定位置/姿勢之例子之示意圖。 [第3圖]為顯示有關實施型態1之位置/姿勢推定裝置以及包含其之位置/姿勢推定系統之硬體構成之例子的示意圖。 [第4圖]為第3圖所示之位置/姿勢推定裝置之硬體構成之例子的示意圖。 [第5圖]為概略顯示有關實施型態1之三次元地圖作成裝置之構成的機能方塊圖。 [第6圖]為顯示在圖像中附加隨機參數之處理之一例的示意圖。 [第7圖]為顯示將三次元地圖與樓層地圖對齊並登錄之處理的示意圖。 [第8圖]為概略顯示有關實施型態1之位置/姿勢推定裝置之構成的機能方塊圖。 [第9圖]為顯示有關實施型態1之經由三次元地圖作成裝置作成三次元地圖之處理的例子的流程圖。 [第10圖]為顯示經由有關實施型態1之經由位置/姿勢推定裝置推定之處理的例子的流程圖。 [第11圖]為顯示有關實施型態1之經由位置/姿勢推定裝置推定之處理的其他例子的流程圖。 [第12圖]為概略顯示有關實施型態2之三次元地圖作成裝置之構成的機能方塊圖。 [第13圖]為顯示有關實施型態2之三次元地圖作成裝置使用之離勢的計算方法之示意圖。 [第14圖]為概略顯示有關實施型態2之位置/姿勢推定裝置之構成的機能方塊圖。 [第15圖]為顯示有關實施型態2之經由三次元地圖作成裝置作成三次元地圖之處理的例子的流程圖。 [第16圖]為顯示有關實施型態2之經由位置/姿勢推定裝置推定之處理的例子的流程圖。 [第17圖]為概略顯示有關實施型態3之位置/姿勢推定裝置之構成的機能方塊圖。 [第18圖]為顯示有關實施型態3之經由位置/姿勢推定裝置推定之處理的例子的流程圖。 [第19圖]為概略顯示有關實施型態4之位置/姿勢推定裝置之構成的機能方塊圖。 [第20圖]為顯示有關實施型態4之經由位置/姿勢推定裝置推定之處理的其他例子的流程圖。

Claims (13)

  1. 一種位置/姿勢推定裝置,包括: 資料庫讀取部,從資料庫讀取三次元地圖之資料; 訊框選擇部,進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理; 相對位置/姿勢取得部,進行取得由前述訊框選擇部選擇之複數個訊框的複數個相對位置/姿勢之處理; 絕對位置/姿勢計算部,進行取得由前述訊框選擇部選擇之複數個訊框之複數個絕對位置/姿勢之處理;以及 絕對位置/姿勢統合部,統合由前述相對位置/姿勢取得部取得之相對位置/姿勢,以及由前述絕對位置/姿勢計算部取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢。
  2. 如請求項1之位置/姿勢推定裝置,更包括: 地圖作成登錄部;其中, 前述地圖作成登錄部包括: 關鍵訊框偵測部,從攝影機拍攝之攝影機圖像偵測關鍵訊框; 關鍵訊框位置/姿勢計算部,計算拍攝前述關鍵訊框之前述攝影機之位置/姿勢; 位置/姿勢離勢計算部,執行計算每個前述關鍵訊框之位置/姿勢之離勢之處理; 對應關係登錄部,進行將三次元地圖對齊樓層地圖而作成登錄資料之處理; 資料庫保存部,進行將前述登錄資料保存於前述資料庫之處理。
  3. 如請求項2之位置/姿勢推定裝置,其中,前述絕對位置/姿勢統合部,根據每個前述關鍵訊框計算之前述位置/姿勢之離勢,統合前述複數個絕對位置/姿勢。
  4. 如請求項3之位置/姿勢推定裝置,其中,前述絕對位置/姿勢統合部,在前述關鍵訊框之中,採用以前述離勢最小之關鍵訊框推定之位置/姿勢作為前述最終的絕對位置/姿勢。
  5. 如請求項3之位置/姿勢推定裝置,其中,前述絕對位置/姿勢統合部,在每個前述關鍵訊框計算根據前述離勢的權重,且根據利用前述權重之加權線性和,統合前述複數個絕對位置/姿勢。
  6. 如請求項2之位置/姿勢推定裝置,其中,前述絕對位置/姿勢統合部,利用非線性最佳化統合前述複數個絕對位置/姿勢。
  7. 如請求項1之位置/姿勢推定裝置,更包括: 地圖作成登錄部;其中, 前述地圖作成登錄部包括: 三次元地圖作成部,從攝影機拍攝之攝影機圖像或距離感測器測定之距離資訊作成每個局部區域之三次元地圖; 位置/姿勢離勢計算部,執行從前述攝影機圖像或前述距離資訊計算每個前述區域之位置/姿勢的離勢之處理; 對應關係登錄部,進行將三次元地圖對齊樓層地圖而作成登錄資料之處理; 資料庫保存部,進行將前述登錄資料保存於前述資料庫之處理。
  8. 如請求項2之位置/姿勢推定裝置,其中,前述絕對位置/姿勢統合部,根據每個前述關鍵訊框計算之每個前述區域之位置/姿勢之離勢,統合前述複數個絕對位置/姿勢。
  9. 如請求項2之位置/姿勢推定裝置,更包括: 外部參數計算部,計算每個前述關鍵訊框的外部參數;其中: 前述絕對位置/姿勢統合部,藉由統合前述外部參數計算部計算之複數個外部參數,統合前述複數個絕對位置/姿勢。
  10. 如請求項9之位置/姿勢推定裝置,其中前述絕對位置/姿勢統合部,根據每個前述關鍵訊框計算之前述位置/姿勢之離勢,統合前述複數個外部參數。
  11. 如請求項1至10中任一項之位置/姿勢推定裝置,更包括: 錯誤處理部,在每個前述關鍵訊框計算之絕對位置/姿勢之誤差比預先決定之閾值更大的情況下,於統合處理中不使用比前述閾值更大的誤差之前述絕對位置/姿勢之計算結果。
  12. 一種位置/姿勢推定方法,由位置/姿勢推定装置執行,包括: 從位置資料庫讀取三次元地圖之資料的步驟; 進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理的步驟; 進行取得被選擇之前述複數個訊框的複數個相對位置/姿勢之處理的步驟; 進行取得前述被選擇之複數個訊框之複數個絕對位置/姿勢之處理的步驟; 統合取得之相對位置/姿勢,以及取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢的步驟。
  13. 一種記錄電腦可執行程式之記錄媒體,於電腦執行以下處理,包括: 從位置資料庫讀取三次元地圖之資料的步驟; 進行從自複數個不同視點拍攝之圖像之訊框中選擇使用於位置/姿勢之計算的訊框之處理的步驟; 進行取得被選擇之前述複數個訊框的複數個相對位置/姿勢之處理的步驟; 進行取得前述被選擇之複數個訊框之複數個絕對位置/姿勢之處理的步驟; 統合取得之相對位置/姿勢,以及取得之絕對位置/姿勢,以取得最終的絕對位置/姿勢的步驟。
TW110117868A 2020-12-18 2021-05-18 位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體 TWI817124B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW202226003A true TW202226003A (zh) 2022-07-01
TWI817124B TWI817124B (zh) 2023-10-01

Family

ID=82059339

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110117868A TWI817124B (zh) 2020-12-18 2021-05-18 位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體

Country Status (7)

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

Family Cites Families (6)

* 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
WO2018142580A1 (ja) 2017-02-03 2018-08-09 三菱電機株式会社 表示制御装置および表示制御方法
JP6842039B2 (ja) 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
WO2019098002A1 (ja) 2017-11-20 2019-05-23 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び移動体
JP7077691B2 (ja) 2018-03-16 2022-05-31 トヨタ自動車株式会社 自己位置検出装置
JP7336752B2 (ja) 2018-12-28 2023-09-01 パナソニックIpマネジメント株式会社 測位装置及び移動体

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110702111B (zh) 使用双事件相机的同时定位与地图创建(slam)
US10260862B2 (en) Pose estimation using sensors
CN106679648B (zh) 一种基于遗传算法的视觉惯性组合的slam方法
US11830216B2 (en) Information processing apparatus, information processing method, and storage medium
US10895458B2 (en) Method, apparatus, and system for determining a movement of a mobile platform
JP5950122B2 (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
JP5618569B2 (ja) 位置姿勢推定装置及びその方法
JP5759161B2 (ja) 物体認識装置、物体認識方法、学習装置、学習方法、プログラム、および情報処理システム
CN108955718A (zh) 一种视觉里程计及其定位方法、机器人以及存储介质
JP2008506953A5 (zh)
KR102169309B1 (ko) 정보 처리장치 및 그 제어방법
CN110211151B (zh) 一种运动物体的追踪方法和装置
JP6817742B2 (ja) 情報処理装置およびその制御方法
Liao et al. Extrinsic calibration of 3D range finder and camera without auxiliary object or human intervention
CN108447092B (zh) 视觉定位标识物的方法及装置
CN115862124A (zh) 视线估计方法、装置、可读存储介质及电子设备
JP2019211981A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
CN112405526A (zh) 一种机器人的定位方法及装置、设备、存储介质
JP5462662B2 (ja) 位置姿勢計測装置、物体識別装置、位置姿勢計測方法及びプログラム
TWI817124B (zh) 位置/姿勢推定裝置、位置/姿勢推定方法及記錄其程式之記錄媒體
Barron et al. Motion and structure from time-varying optical flow
Wang et al. Vision-aided inertial navigation using three-view geometry
CN114719759B (zh) 一种基于slam算法和图像实例分割技术的物体表面周长和面积测量方法
EP4292777A1 (en) Assistance system, image processing device, assistance method and program