JP2023069019A - 情報処理装置、情報処理システム、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2023069019A
JP2023069019A JP2021180560A JP2021180560A JP2023069019A JP 2023069019 A JP2023069019 A JP 2023069019A JP 2021180560 A JP2021180560 A JP 2021180560A JP 2021180560 A JP2021180560 A JP 2021180560A JP 2023069019 A JP2023069019 A JP 2023069019A
Authority
JP
Japan
Prior art keywords
information
map
information processing
evaluation
correction
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2021180560A
Other languages
English (en)
Inventor
浩一郎 椀田
Koichiro Wanda
真和 藤木
Masakazu Fujiki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021180560A priority Critical patent/JP2023069019A/ja
Priority to US18/050,358 priority patent/US20230134912A1/en
Priority to DE102022128919.2A priority patent/DE102022128919A1/de
Priority to CN202211376659.8A priority patent/CN116071507A/zh
Publication of JP2023069019A publication Critical patent/JP2023069019A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • 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
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • 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/757Matching configurations of points or features
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/18143Extracting features based on salient regional features, e.g. scale invariant feature transform [SIFT] keypoints
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Abstract

【課題】高精度な地図情報を作成する作業の煩雑さをより軽減すること。【解決手段】移動体の周辺環境の地図情報を処理する情報処理装置200において、センサ情報取得部101は移動体の移動量また周辺環境に関する計測を行うセンサ100の出力情報を取得する。誤差発生量算出部102は、取得された情報に基づいて地図情報を構成する要素の位置情報の誤差発生量を算出する。蓄積誤差評価部103は、算出された誤差発生量の蓄積度合いを評価する。補正判定部104は、蓄積誤差の評価結果に基づいて地図情報に係る蓄積誤差補正処理の必要性を判定する。補正判定部104からの指示にしたがって、通知装置300はループクロージャーによる補正の必要性をユーザに通知する。【選択図】 図1

Description

本発明は、移動体の位置姿勢の計測技術および移動制御技術に関する。
“Simultaneous Localization And Mapping”(以下、SLAMという)は、カメラ等のセンサを移動させて、自己位置や姿勢および周辺環境の地図情報を推定する技術である。非特許文献1では、高精度な地図情報の推定方法として、ループクロージャー(以下、LCともいう)と呼ばれる技術が開示されている。LCは、センサの移動経路上でループ状の区間(閉経路)を認識し、閉経路における地図の連続性を拘束条件に加えることで、地図情報に関する蓄積誤差(累積誤差)の低減が可能である。
また、特許文献1には、頭部装着型ディスプレイに備えられたカメラが、複合現実感の体験者に対して、LCが可能な位置や姿勢に近づくように移動を促す表示コンテンツを生成する技術が開示されている。
特許第6823403号公報
Raul Mur-Artal, J.M.M.Montiel, J.D.Tardos, "ORB-SLAM: A Versatile and Accurate Monocular SLAM System", IEEE Transactions on Robotics, 2015
従来の技術では、SLAMの地図情報作成用の動画撮影中に蓄積誤差を適切に補正するためのLCによる補正実行に係る位置やタイミングを、ユーザが把握できないという問題があった。そのため、蓄積誤差が補正された、より高精度な地図情報を作成する作業が煩雑になっていた。
本発明は、高精度な地図情報を作成する作業の煩雑さをより軽減することを目的とする。
本発明の実施形態の情報処理装置は、移動体の移動量または周辺環境に関する情報を取得する取得手段と、前記取得手段により取得される情報を用いて、前記周辺環境の地図情報に係る位置情報の誤差発生量を算出する算出手段と、前記誤差発生量の蓄積度合いを評価する評価手段と、前記評価手段による蓄積度合いの評価結果を取得して、前記地図情報に対する蓄積誤差の補正処理の必要性を判定する判定手段と、を備え、前記判定手段は、前記補正処理の必要性の判定結果を通知装置、または、前記移動体の移動制御を行う制御装置に出力することを特徴とする。
本発明によれば、高精度な地図情報を作成する作業の煩雑さをより軽減することができる。
第1および第2実施例における情報処理システムの構成例を示す図である。 第1および第2実施例におけるハードウェア構成例を示す図である。 第1および第2実施例における処理を説明するフローチャートである。 第3実施例における情報処理システムの構成例を示す図である。 第3実施例における処理を説明するフローチャートである。
以下、本発明の実施形態について、図面を参照しつつ詳細に説明する。実施例では本発明に係る情報処理装置の適用例として移動体の移動制御を行う情報処理システムを説明する。移動体の一例として無人搬送車を示す。
[第1実施例]
本実施例では、移動体に搭載された撮像装置によってVisual SLAMの地図情報作成に用いる画像に係る撮影を行う。本実施例の情報処理システムは、センサの計測値を取得して誤差発生量を算出する。誤差発生量は、地図情報の算出ごとに発生する誤差量と相関を有する値であって、移動体の移動量に関連する値である。Visual SLAMの地図情報については、移動体の移動に伴いキーフレームの追加等の地図情報の更新が行われる。キーフレームや特徴点の位置姿勢にドリフト誤差を含む情報が追加される。特徴点とは、取得された画像内のコーナーやエッジ等の輝度変化から、画像上で一意に定まる点のことである。
このように情報処理システムは、移動体の移動距離、または移動距離と相関のある量(移動量)に関する情報を誤差発生量として算出する処理を実行し、算出された誤差発生量に基づいて蓄積誤差(累積誤差)の評価を行う。誤差発生量を用いて、SLAMの地図情報作成中に蓄積されるドリフト誤差の蓄積値が評価される。情報処理システムは、適切に蓄積誤差の補正処理を行うためにループクロージャーによる補正の必要性を判定してユーザに通知する処理を実行する。
図1(A)は、本実施例に係る情報処理システムの構成例を示すブロック図である。情報処理システムはセンサ100、情報処理装置200、通知装置300を備える。各構成要素は、Visual SLAMの地図情報作成に用いる画像に係る撮影が可能な無人搬送車1に搭載される。
図1(B)は、無人搬送車1の構成の概要を示す図である。無人搬送車1は撮像装置10、情報処理装置200、信号送受信部210、駆動制御部220を備える。撮像装置10により取得される周辺環境の撮影画像情報は情報処理装置200によって処理される。情報処理装置200は撮影画像情報に基づく制御信号を、信号送受信部210を介して駆動制御部220に送信する。駆動制御部220は受信した制御信号にしたがって車輪の駆動源に係る駆動制御を行う。
図1を参照して、情報処理装置200の構成について説明する。センサ100は無人搬送車1の移動量に関する情報(以下、センサ情報という)を取得する。本実施例では、センサ100としてロータリエンコーダと回転計が使用される。無人搬送車1の車輪の回転量が移動量に関する情報として用いられる。通知装置300は、LCによる補正の必要性をユーザに通知する。通知装置300は、例えばスピーカのような音声出力装置を有する。無人搬送車1は、ステレオカメラ等の撮像装置10を搭載しており、ユーザ操作にしたがって移動しつつ、地図情報作成のための複数の視点画像を取得する。複数の視点画像は互いに異なる視点で撮像された画像であり、視差を有する画像である。
情報処理装置200は、センサ100から移動量に関する情報を取得して誤差蓄積量の評価を行い、LCによる補正の必要性について判定処理を行う。情報処理装置200は判定結果に基づいて通知装置300によりユーザへの通知を行う。情報処理装置200は、センサ情報取得部101、誤差発生量算出部102、蓄積誤差評価部103、補正判定部104を備える。
センサ情報取得部(以下、取得部という)101はセンサ100からセンサ情報を取得して、誤差発生量算出部102に出力する。誤差発生量算出部(以下、算出部という)102は、取得したセンサ情報を用いて誤差発生量の推定および算出を行う。蓄積誤差評価部(以下、評価部という)103は、算出部102により算出された誤差発生量を取得し、誤差発生量に基づいて誤差の蓄積度合いを評価する。
補正判定部104は、評価部103による蓄積誤差の評価結果に基づいて、LCによる蓄積誤差の補正処理の必要性を判定する。補正判定部104による判定結果の情報は通知装置300に送られる。通知装置300は判定結果に基づいて、LCによる補正の必要性をユーザに通知する。
具体的にはセンサ100にて、無人搬送車1が有する車輪の軸の回転変位量に応じてロータリエンコーダがパルス列を出力し、回転計がパルス列のカウントを行うことにより回転角に変換する。センサ100は取得部101に対し、定期的に回転量の信号を送信する。取得部101は、回転量の情報を算出部102に出力する。算出部102は、誤差発生量の情報を評価部103に出力する。本実施例では、誤差発生量として回転量が用いられる。評価部103は、蓄積誤差の度合いを算出および評価して補正判定部104に送信する。補正判定部104は、蓄積誤差の度合いに基づくLCによる補正の必要性の判定結果を通知装置300に出力する。
図2は、情報処理装置200のハードウェア構成の一例を示すブロック図である。情報処理装置200はCPU(Central Processing Unit)201を備え、システムバス208により接続された各種デバイスを制御する。ROM(Read Only Memory)202は、情報処理装置200が利用するBIOS(Basic Input Output System)のプログラムやブートプログラムを記憶する。RAM(Random Access Memory)203はCPU201の主記憶装置として使用される。外部メモリ204は情報処理装置200が処理するプログラムやデータを記憶する。
入力部205はキーボードやポインティングデバイス、ロボットコントローラ、ボタン等の操作や情報入力を行うための入力デバイスを有する。表示部206はCPU201の指令にしたがって情報処理装置200の演算処理の結果を表示する。表示部206は液晶表示装置やプロジェクタ、LEDインジケータ等の表示デバイスを有する。
I/O207は通信インターフェース部であり、ネットワーク等を介して外部装置との間で情報通信を行う。I/O207については、イーサーネット(登録商標)、USB(Universal Serial Bus)やシリアル通信、無線通信等が可能であり、通信の種類の如何は問わない。情報処理装置200においてセンサの計測値や計測に関するデータはI/O207を介して取得することができる。
図3を参照して、情報処理装置200が行う処理の内容について説明する。図3は本実施例における処理の流れを示すフローチャートであり、以下の処理はCPU201がプログラムを実行することにより実現される。
地図情報用の撮影が開始すると、S301において取得部101、算出部102、評価部103、補正判定部104は、ROM202に記憶された設定値やパラメータを読み込む。取得されたセンサ情報、誤差発生量、蓄積誤差の評価値等を記憶するメモリの初期化処理が実行される。また、取得部101は、センサ100による回転量の初期値を記録する。それ以降にセンサ100から単位時間ごとに受信される回転量との差分が取得されるため、S301で取得される回転量は、地図情報作成用の画像取得の開始時点からの回転量に変換するための初期値として保持される。さらには、評価部103は誤差発生量の増加に伴う蓄積誤差量の値をゼロに初期化する。
S302で取得部101は、センサ100からセンサ情報として、所定の時間(Tと記す)ごとの回転量の値を取得する。Tの値は任意に設定可能である。取得部101は、取得した回転量と前回の取得時の回転量との差分を算出する。初期化直後のセンサ情報としてはS301で保持されたセンサ100の回転量の初期値が用いられる。取得部101は算出した単位時間当たりの回転量の信号を算出部102に送信する。
S303で算出部102は、取得部101から受信した信号に含まれるセンサ情報に基づいて誤差発生量を算出する。具体的には、取得部101から取得された単位時間当たりの回転量から、単位時間当たりの誤差発生量が算出される。評価部103はVisual SLAMの地図情報作成に用いる画像の取得開始時点からの回転量の総和を、蓄積誤差発生量として算出する。
S304で評価部103は、S303で算出した蓄積誤差発生量に基づいて、蓄積誤差の度合いを評価する。蓄積誤差発生量をMと表記し、センサ情報ごとの蓄積誤差度合い係数をCmと表記し、蓄積誤差度合いをDと表記する。蓄積誤差度合いDの評価式の一例として、下記式(1)を用いることができる。
D = Cm × M 式(1)
センサ情報が回転量を表す場合、蓄積誤差度合い係数Cmは、回転量に対する蓄積誤差の度合いを示す値である。評価部103は算出した蓄積誤差度合いDの値を補正判定部104に送信する。
S305で補正判定部104は、S304にて評価された蓄積誤差に基づいて蓄積誤差の補正処理の必要性について判定処理を行う。評価部103から取得された蓄積誤差度合いが、ループクロージャーによる補正を実行すべき蓄積誤差度合いであるか否かが判定される。具体的には、蓄積誤差度合いDの値は閾値と比較される。この閾値は、地図情報の運用に支障をきたす誤差が蓄積しているとみなせる蓄積度合いの閾値である。取得された蓄積誤差度合いDの値が閾値を超える場合、補正判定部104はLCによる補正実行が必要であると判定する。この場合、S306にて補正の必要有りと判定されてS307の処理に進む。また取得された蓄積誤差度合いDの値が閾値以下である場合、補正判定部104は補正の必要はないと判定する。この場合、S306にて補正の必要無しと判定されてS308の処理に進む。なお、センサ情報が取得されるたびに蓄積誤差補正の必要性の判定処理が継続される。
S307で補正判定部104は、通知装置300にLCによる補正を促す通知(地図補正通知)を指示する。通知装置300は、LCによる補正の必要性をユーザに通知する。無人搬送車1を操作して移動中のユーザに対し、無人搬送車1に搭載されたスピーカから、LCによる補正を促す音声が出力される。通知装置300による通知音声を聞いたユーザは、LCによる補正を実行できるように無人搬送車1を旋回させる操作を行う。これにより蓄積誤差の補正に適切な位置とタイミングでLCによる補正を実行可能な無人搬送車1による撮影を行うことができる。S307の処理後、S308の処理に進む。
S308でCPU201は、入力部205を介したユーザからの撮影終了指示入力の有無について判定処理を実行する。S308にて撮影終了指示入力が無いと判定された場合、S302に戻って処理を続行する。またS308にて撮影終了指示入力が有ると判定され場合には、一連の処理を終了する。
本実施例によれば、蓄積誤差の評価に基づいた適切なループクロージャーに係る位置やタイミングをユーザが把握でき、高精度な地図情報を作成する作業の煩雑さを軽減することが可能である。
次に、第1実施例の変形例(第1変形例)を説明する。
(第1変形例の1)
第1実施例では、地図情報作成中の移動量と相関のある値として、無人搬送車1の車輪の回転量を誤差発生量として用いる例を説明した。本変形例では、地図情報作成中の移動量と相関のある値として、無人搬送車1の移動距離の計測値を用いる。
無人搬送車1の移動距離の計測では、車輪の回転量と半径から走行距離を算出する方法と、移動距離を計測する計測手段を設ける方法がある。例えば、俯瞰カメラの画像を用いて、画像内に映る地図情報作成中の無人搬送車1の位置を推定して移動距離を計測することができる。また、屋外の場合にはGPS(Global Positioning System)を用いて位置情報を取得し、無人搬送車1の位置情報を用いて移動距離を計測することができる。さらに、Visual SLAMの地図情報作成時の自己位置推定のような画像処理で移動距離を計測する方法がある。
(第1変形例の2)
本変形例では、誤差発生量としてセンサ情報の回転量をそのまま使用する代わりに、センサ100の出力を正規化した値を誤差発生量として用いる。正規化された誤差発生量に基づいて評価される蓄積誤差を用いて、蓄積誤差補正の必要性に関する、より正確な判定処理を行うことが可能である。
(第1変形例の3)
第1実施例では、無人搬送車1に搭載された音声出力装置を用いて、LCによる補正の必要性をユーザに通知する例を説明した。通知装置300については、ユーザにLCによる補正の必要性を通知できるものであれば、どのような手段を用いてもよい。
本変形例では、通知装置300として警告灯を無人搬送車1に設置し、警告灯を点灯させることでLCによる補正の必要性をユーザに通知する。あるいは、ディスプレイ等の表示手段を用いて、文字や画像の表示によってユーザにLCによる補正の必要性を通知する構成でもよい。
さらには、本変形例では無人搬送車1が通信装置を備えており、当該通信装置とは異なる通信端末装置が通知装置300として使用される。例えば、無人搬送車1の操作に使用されるタブレットや、無線通信が可能なパーソナルコンピュータ等を通知装置300として使用することができる。
[第2実施例]
次に、本発明の第2実施例を説明する。本実施例では、無人搬送車1の移動量に関する計測値の例として、撮像装置10により取得された画像から導出される移動距離を用いて、蓄積誤差補正の必要性を判定してユーザに通知する処理を説明する。
本実施例の情報処理システムは、地図要素の位置誤差の度合いに影響する精度低下要因を考慮して、より高精度に蓄積誤差の度合いを評価して補正判定を行う。Visual SLAMの自己位置推定では、地図要素の一つであるキーフレーム画像から検出される特徴点を用いて3次元座標の位置姿勢を算出する処理が行われる。キーフレーム画像の特徴点と自己位置推定時の取得画像内における複数の特徴点との一致を確認して自己位置姿勢の算出処理が行われる。特徴点の位置ずれは誤差要因であり、特徴点が十分な数で検出できないと、Visual SLAMの地図情報の精度低下をもたらす可能性がある。
本実施例では、キーフレーム画像として追加される撮影画像で検出される特徴点数の少なさを精度低下要因として考慮し、蓄積誤差の評価を実施する処理について説明する。なお、本実施例の情報処理システムの構成は図1にて説明した構成と同様であるが、本実施例におけるセンサ100は、無人搬送車1に搭載された撮像装置10である。第1実施例にて説明済みの事項についての詳細な説明を省略し、主に第1実施例との相違点を説明する。このような説明の省略方法については後述の実施例や変形例でも同じである。
図3を参照して、本実施例の情報処理装置200が行う処理について説明する。地図情報用の撮影が開始されると、S301にて情報処理装置200内の各部は初期化処理を行うが、取得部101は撮像装置10の初期化や撮影画像の取得準備を行う。また、算出部102は移動距離の値をゼロにリセットする。
S302で取得部101は、撮像装置10からセンサ情報を取得する。センサ情報として画像および画像撮影に関する設定情報が取得される。取得部101は、取得した画像および画像撮影に関する設定情報を算出部102に出力する。
S303で算出部102は、誤差発生量として、取得した画像および画像撮影に関する設定情報に基づいて画像取得ごとの移動距離を算出する。Visual SLAMと同様の方法で、現在の自己位置を算出して、前回の取得画像における自己位置との差分から移動距離を算出する処理が行われる。
S303における移動距離の算出方法については、移動体の移動距離を算出できればどのような方法でもよい。本実施例ではVisual SLAMの自己位置推定と同様に取得画像内の特徴から特徴点が抽出される。抽出された特徴点に基づいて自己位置姿勢を算出して3次元座標系の情報として記録する処理が行われる。画像が取得されるたびに自己位置姿勢情報の差分の算出が行われる。
位置姿勢に関する情報の一例として、地図情報作成開始時の撮像装置10または無人搬送車1の位置を表す3パラメータと、撮像装置10の姿勢を表す3パラメータが用いられる。位置を表す3パラメータは、3次元座標系における(X,Y,Z)の組である。姿勢を表す3パラメータは、3次元座標系の座標軸をそれぞれ中心軸とする回転角度のパラメータ(Roll,Pitch,Yaw)の組である。
算出部102は、SLAMの自己位置推定の精度低下要因に関して、特徴点数を地図精度情報として算出する。Visual SLAMの地図情報作成時と同様に、所定の移動距離ごとにキーフレームを追加するタイミングで取得画像の特徴点の検出およびカウント処理が行われる。算出部102は、自己位置推定に用いる特徴点数の、所定の最大値に対する割合を算出する。最大値に対する特徴点数の割合に応じたランク付け処理が実行される。例えば、ランク付け処理にて“GOOD”,“WEAK”にそれぞれ対応する値が決定される。最大値に対する特徴点数の割合が、所定の閾値以上である状態(高精度な状態)のときに“GOOD”とランク付けがなされる。また、特徴点数はやや少ないが自己位置推定が可能な場合には“WEAK”とランク付けがなされる。本実施例では、ランク付けされた情報が地図精度情報として用いられる。
S304で評価部103は、誤差発生量と地図精度情報を用いて蓄積誤差の度合いを評価する。蓄積誤差発生量M、センサ情報ごとの蓄積誤差度合い係数Cmに加えて、精度低下係数をDAと表記する。蓄積誤差度合いDの評価式の一例として、下記式(2)を用いることができる。
D = Cm × M × DA 式(2)
本実施例のセンサ情報は移動体の移動距離であるので、蓄積誤差度合い係数Cmは移動距離に関する蓄積誤差の度合いを示す値である。また、精度低下係数DAは、移動距離内で検出される有効な特徴点数の割合に関する精度低下を示す係数である。
例えば、地図精度情報のキーフレームで検出される特徴点のランク付けの結果が、所定の閾値以上の数のフレームで“GOOD”の場合を想定する。この場合、特徴点の検出数が十分であるので、精度低下係数DA=1と設定される。また、特徴点のランク付けの結果が“GOOD”であるフレーム数が所定の閾値以下であって、移動距離内で“WEAK”のランク付けの結果が多い場合を想定する。この場合、蓄積誤差が増大するので、精度低下係数DA=2と設定される。なお、これらの係数は実施上の一例であり、本発明の適用上では任意の係数を用いることが可能である。
S304で評価部103は、蓄積誤差度合いに関する情報と、誤差発生量やセンサ情報を含めて蓄積誤差評価情報として当該情報を補正判定部104に出力する。S305で補正判定部104は蓄積誤差補正の必要性について判定処理を行う。そしてS306からS308の処理が実行される。
本実施例では、地図情報の精度低下要因を考慮し、地図精度情報を用いて、より高精度に蓄積誤差の度合いを評価して補正処理の実施に係る判定(補正判定)を行うことができる。
次に、第2実施例の変形例(第2変形例)を説明する。
(第2変形例の1)
第2実施例では、安定した画像の取得を前提として特徴点数のランク付け情報を地図精度情報として利用するが、周辺環境によっては良好な撮影画像を取得できない場合がありうる。例えば、撮影画像のノイズ量が多すぎる場合や、撮影画像が明るすぎる場合、または、撮影画像が暗すぎる場合がある。このような場合に取得される画像から検出された特徴点は再現性が低いので、地図情報の利用時の精度を低下させる要因となる。
本変形例では算出部102が地図精度情報に関して画像取得状況のランク付け処理を行い、特徴点数のランク付け情報と同様に蓄積誤差の評価に使用し、または併用する。例えば、画像取得状況のランク付け情報として“NOISELESS”,“NOISY”にそれぞれ対応する値が使用される。画像中のランダムノイズの画素数の割合が所定の閾値以下である場合、“NOISELESS”のランク付けがなされる。また画像中のランダムノイズの画素数の割合が所定の閾値より大きい場合、“NOISY”のランク付けがなされる。
また本変形例では、画像の平均輝度値を算出して下限または上限の閾値と比較することでランク付け処理が実行される。例えば、画像の平均輝度値が下限の閾値以下である場合、“DARK”のランク付けがなされる。また画像の平均輝度値が上限の閾値以上である場合、“LIGHT”のランク付けがなされる。画像の平均輝度値が下限の閾値より大きく、かつ上限の閾値未満である場合には“NORMAL”のランク付けがなされる。
本変形例によれば、各種のランク付け情報を蓄積誤差の評価に使用して、より高精度に蓄積誤差の度合いを評価して補正判定を行うことができる。
(第2変形例の2)
第2実施例では、撮影画像やカメラの撮影設定による取得画像の相違については考慮せずに、地図精度情報を利用する例を説明した。本変形例では、撮影画像やカメラの撮影設定の相違を示す情報を地図精度情報に含む。
一般に高解像度の画像で地図情報を作成する方が精度は高い。本変形例では、算出部102が撮影画像の解像度に対してランク付け処理を行い、“High”,“Middle”,“Low”といったランクを決定する。決定されたランクに対応する係数を用いて蓄積誤差の評価が行われる。
また本変形例では、算出部102が撮影画像の画質に関するカメラの撮影設定情報を取得してランク付け処理を行い、ランク付け情報を地図精度情報に用いる。例えば、AE(Auto Exposure)機能がカメラに備わっている場合、“HIGH QUALITY”のランク付けがなされる。AE機能がカメラに備わっていない場合、“LOW QUALITY”のランク付けがなされる。それぞれのランクに対応する係数が割り当てられて地図精度情報に使用される。
本変形例によれば、撮影画像や撮像装置の撮影設定の相違を示す情報を地図精度情報に含めることで、より高精度に蓄積誤差の度合いを評価して補正判定を行うことができる。
(第2変形例の3)
第2実施例では、キーフレームとして追加する取得画像の特徴点数を地図精度情報に用いる例を説明したが、特徴点数に限定されるものではない。本変形例では、検出された画像内の特徴点に相当する物体の位置と撮影位置(撮像装置の位置)との距離情報を地図精度情報として用いる。当該距離情報の算出は算出部102または距離情報算出部(不図示)が行う。
一般に取得画像内の特徴点に相当する物体の位置が、撮影位置に近い場合と撮影位置から遠い場合とでは、撮影位置に近い場合の方が、より高精度にVisual SLAMの自己位置推定を行うことが可能である。本変形例では撮像装置と、特徴点に相当する実空間内の物体との距離を算出する処理が行われる。評価部103は、所定の閾値よりも距離が大きい特徴点の数が多いほど、蓄積誤差度合いの値が大きくなるように係数を調整する処理を行うので、より的確に蓄積誤差を評価することができる。
本変形例によれば、画像内の特徴点に相当する物体の位置と撮影位置との距離情報を用いて、より高精度に蓄積誤差の度合いを評価して補正判定を行うことができる。
(第2変形例の4)
本変形例では、地図精度情報に係るランク付け処理において離散化された値ではなく、ランク付け処理の基準となる値を用いて誤差蓄積量を算出する。例えば、特徴点数の和の逆数を誤差発生量として用いて、蓄積誤差度合いを評価する処理が行われる。
本変形例によれば、地図精度情報に係るランク付け処理の基準となる値を用いて、より高精度に蓄積誤差の度合いを評価して補正判定を行うことができる。
(第2変形例の5)
センサ100に振動が加わった場合、画像内の特徴点の検出精度が低下し、特徴点の位置姿勢に関する蓄積誤差が増加する。そこで本変形例では振れ検出手段としてセンサ100または無人搬送車1に振動計を搭載して振動の振幅を算出する。評価部103は所定の時間間隔における振幅の和が大きいほど、地図情報作成精度が低下したと評価する。
また、照度変化が顕著な場合、画像内の特徴点のトラッキング精度が低下して、トラッキングが可能な特徴点数や特徴点の位置姿勢の蓄積誤差が増加する。そこで本変形例では、無人搬送車1が備えるセンサ100の近傍に照度計を搭載して照度変化の大きさを算出する。評価部103は所定の時間間隔における照度変化の大きさの和が大きいほど、地図情報作成精度が低下したと評価する。さらに、外光が入射する環境では時刻の違いによる照度変化が発生するので、評価部103は、このような環境では地図情報作成精度が低いと評価する。
本変形例によれば、センサへの振動の影響や周辺環境の状況変化(照度変化、外光の有無、温度変化、湿度変化等)の影響を考慮して、より高精度に蓄積誤差の度合いを評価して補正判定を行うことができる。
[第3実施例]
図4および図5を参照して、本発明の第3実施例について説明する。前記実施例では、補正判定結果に基づいてユーザにループクロージャーによる補正を促す通知を行う実施形態を説明した。本実施例では、補正判定結果に基づいて、地図情報の作成中にLCによる補正が実行されるように無人搬送車1の位置または姿勢を変更する制御を行う例について説明する。地図情報の作成は、情報処理装置200が備える地図情報作成部により公知の方法で実施される。
図4は本実施例における情報処理装置200のハードウェア構成の一例を示すブロック図である。図2との相違点は、通知装置300の代わりに制御装置400を配置した点である。制御装置400は、無人搬送車1の移動制御を行う。
図5は本実施例の処理全体の流れを示すフローチャートである。S501からS506の処理内容についてはそれぞれ、図3のS301からS306と同様であるので、それらの詳細な説明を省略する。
S506にて、地図情報の補正が必要であると判定された場合、S507の処理に進む。S507にて補正判定部104は、地図情報の補正のための移動指示を制御装置400に通知する。移動指示を受けた制御装置400は、Visual SLAMの地図情報作成時にて自動的にループクロージャーが実行されるように無人搬送車1を旋回させるか、または、移動経路が閉ループを形成するように無人搬送車1を移動させる制御を行う。S507の次にS508の処理に進む。また、S506にて地図情報の補正が必要でないと判定された場合には、S508の処理に進む。
S508でCPU201は、地図情報の作成が終了したか否かを判定する。地図情報の作成が終了したと判定された場合、一連の処理を終了し、地図情報の作成が終了していないと判定された場合にはS502に移行して処理を続行する。
制御装置400は、撮像装置10での連続撮影により取得される画像群に関し、時間的に前後の撮影画像の一部に、少なくとも共通の領域が映る点を維持しながら、無人搬送車1の旋回または移動を制御する。そして、無人搬送車1の旋回または移動の開始時点から撮像装置10の撮影方向が360°回転して、開始位置付近または開始時点と同方向に戻るように無人搬送車1の動作制御が行われる。
本実施例によれば、蓄積誤差の評価に基づいた適切なLCによる補正実行に係る位置やタイミングを決定して、無人搬送車1の位置姿勢を変更する制御を行うことにより、無人搬送車1が自動的に地図情報の作成用撮影を実行することができる。よって高精度な地図情報を作成する作業の煩雑さを軽減できる。蓄積誤差の度合いの評価結果に基づいて、LCによる補正の実行が必要な適切な位置とタイミングを判定し、ユーザの手間をかけずに自動でLCによる補正が施された、高精度な地図情報を生成することができる。
次に、第3実施例の変形例(第3変形例)を説明する。
(第3変形例)
第3実施例では無人搬送車1の旋回または移動の制御を行う例を説明したが、LCによる補正のための制御方法として本変形例ではセンサ100である撮像装置10を回転または移動させる。撮像装置10の回転機構部もしくは移動機構部、またはその両方が設けられており、制御装置400は撮像装置10の回転または移動の制御を行う。
前記実施形態では、地図情報作成用の撮影中に蓄積誤差の評価と補正判定の結果に基づいてLCによる補正の必要性をユーザに通知し、または前記移動制御、旋回もしくは回転制御を行う。これにより、高精度な地図情報を作成する作業の煩雑さをより軽減することができる。
最後に、前記第1実施例から第3実施例の変形例(第4変形例)を説明する。
(第4変形例の1)
本変形例では、蓄積誤差補正の必要性の判定において、地図精度に関する設定を反映させることができる。あらかじめ、ユーザ操作により入力部205を介して、高精度の地図情報を作成するのか、または低精度の地図情報を作成するのかを選択する処理が実行される。高精度の地図情報を作成することが選択された場合、情報処理装置200はLCによる補正実行の頻度が高くなるように補正判定部104の判定パラメータを調整する。例えば、蓄積誤差補正の必要性の判定に用いられる閾値が低い値に設定される。一方、低精度の地図情報を作成することが選択された場合、情報処理装置200はLCによる補正実行の頻度が低くなるように補正判定部104の判定パラメータを調整する。
本変形例によれば、ユーザ操作にしたがって所望の地図精度に関する選択を行い、地図情報作成用の撮影を行うことができる。
(第4変形例の2)
前記実施例では、無人搬送車1内に情報処理装置200を備える実施形態を説明した。本変形例の情報処理装置200は無人搬送車1の外部に設置され、無人搬送車1のセンサ100から無線通信等でセンサ情報を取得する。
本変形例では、無人搬送車1の外部装置である情報処理装置200によって、LCによる蓄積誤差補正に関する判定やLCのための無人搬送車1の動作制御を行うことができる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100:センサ 200:情報処理装置 300:通知装置 400:制御装置

Claims (18)

  1. 移動体の移動量または周辺環境に関する情報を取得する取得手段と、
    前記取得手段により取得される情報を用いて、前記周辺環境の地図情報に係る位置情報の誤差発生量を算出する算出手段と、
    前記誤差発生量の蓄積度合いを評価する評価手段と、
    前記評価手段による蓄積度合いの評価結果を取得して、前記地図情報に対する蓄積誤差の補正処理の必要性を判定する判定手段と、を備え、
    前記判定手段は、前記補正処理の必要性の判定結果を通知装置、または、前記移動体の移動制御を行う制御装置に出力する
    ことを特徴とする情報処理装置。
  2. 前記取得手段は、前記移動体の移動量に関する情報、または撮像手段により撮像された画像に基づく前記移動体の移動距離の情報を取得し、
    前記判定手段は、前記取得手段が前記情報を取得しているときに前記蓄積誤差の補正処理の実施について判定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記評価手段は、前記地図情報の精度に関する地図精度情報を用いて前記蓄積度合いを評価する
    ことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記地図情報に係る地図要素の画像から検出される特徴点数を用いてランク付け処理を行い、ランク付けされた情報を前記地図精度情報として前記評価手段に出力する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記画像の取得状況に係るランク付け処理を行い、ランク付けされた情報を前記地図精度情報として前記評価手段に出力する
    ことを特徴とする請求項3に記載の情報処理装置。
  6. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記画像の平均輝度値を算出して閾値と比較することでランク付け処理を行い、ランク付けされた情報を前記地図精度情報として前記評価手段に出力する
    ことを特徴とする請求項3に記載の情報処理装置。
  7. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記画像の解像度に対してランク付け処理を行い、ランク付けされた情報を前記地図精度情報として前記評価手段に出力する
    ことを特徴とする請求項3に記載の情報処理装置。
  8. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記画像の画質に関する前記撮像手段の撮影設定情報を取得してランク付け処理を行い、ランク付けされた情報を前記地図精度情報として前記評価手段に出力
    評価する
    ことを特徴とする請求項3に記載の情報処理装置。
  9. 前記評価手段は、前記ランク付け処理の基準となる値を用いて誤差蓄積量を算出し、前記蓄積度合いを評価する
    ことを特徴とする請求項4から8のいずれか1項に記載の情報処理装置。
  10. 前記取得手段は、撮像手段により撮像された画像の情報を取得し、
    前記算出手段は、前記画像内の特徴点に相当する物体の位置と前記撮像手段の位置との距離情報を前記地図精度情報として前記評価手段に出力する
    ことを特徴とする請求項3に記載の情報処理装置。
  11. 前記取得手段は、前記移動体または撮像手段の振動を検出する検出手段からの情報を取得し、
    前記評価手段は、前記振動の振幅に基づく前記地図精度情報を用いて前記蓄積度合いを評価する
    ことを特徴とする請求項3に記載の情報処理装置。
  12. 前記取得手段は、前記移動体の周辺環境の状況変化を検出する検出手段からの情報を取得し、
    前記評価手段は、前記周辺環境の状況変化に基づく前記地図精度情報を用いて前記蓄積度合いを評価する
    ことを特徴とする請求項3に記載の情報処理装置。
  13. 前記取得手段は、前記周辺環境の照度を検出する検出手段からの情報を取得し、
    前記評価手段は、前記周辺環境の照度変化に基づく前記地図精度情報を用いて前記蓄積度合いを評価する
    ことを特徴とする請求項12に記載の情報処理装置。
  14. 請求項1から13のいずれか1項に記載の情報処理装置と、
    前記移動体の移動量または周辺環境に関する計測を行うセンサと、
    前記補正処理の必要性の判定結果を通知する通知装置、または前記移動体の移動制御を行う制御装置と、を備える
    ことを特徴とする情報処理システム。
  15. 前記判定手段により前記補正処理の必要があると判定された場合、前記制御装置は前記移動体または撮像手段の位置または姿勢を変更する制御を行う
    ことを特徴とする請求項14に記載の情報処理システム。
  16. 前記制御装置は前記移動体を旋回させるか、または、移動経路が閉ループを形成するように前記移動体を移動させる制御を行う
    ことを特徴とする請求項15に記載の情報処理システム。
  17. 移動体の周辺環境の地図情報を処理する情報処理装置にて実行される情報処理方法であって、
    前記移動体の移動量または周辺環境に関する情報を取得する取得工程と、
    取得された前記情報を用いて、前記地図情報に係る位置情報の誤差発生量を算出する算出工程と、
    前記誤差発生量の蓄積度合いを評価する評価工程と、
    前記評価工程による蓄積度合いの評価結果を取得して、前記地図情報に対する蓄積誤差の補正処理の必要性を判定する判定工程と、
    前記判定工程による前記補正処理の必要性の判定結果を通知装置、または、前記移動体の移動制御を行う制御装置に出力する出力工程と、を有する
    ことを特徴とする情報処理方法。
  18. 請求項17に記載の各工程をコンピュータに実行させるプログラム。

JP2021180560A 2021-11-04 2021-11-04 情報処理装置、情報処理システム、情報処理方法、およびプログラム Pending JP2023069019A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021180560A JP2023069019A (ja) 2021-11-04 2021-11-04 情報処理装置、情報処理システム、情報処理方法、およびプログラム
US18/050,358 US20230134912A1 (en) 2021-11-04 2022-10-27 Information processing device, information processing system, information processing method, and recording medium
DE102022128919.2A DE102022128919A1 (de) 2021-11-04 2022-11-02 Informationsverarbeitungsvorrichtung, informationsverarbeitungssystem, informationsverarbeitungsverfahren und aufzeichnungsmedium
CN202211376659.8A CN116071507A (zh) 2021-11-04 2022-11-04 信息处理装置、信息处理系统、信息处理方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021180560A JP2023069019A (ja) 2021-11-04 2021-11-04 情報処理装置、情報処理システム、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2023069019A true JP2023069019A (ja) 2023-05-18

Family

ID=85983971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021180560A Pending JP2023069019A (ja) 2021-11-04 2021-11-04 情報処理装置、情報処理システム、情報処理方法、およびプログラム

Country Status (4)

Country Link
US (1) US20230134912A1 (ja)
JP (1) JP2023069019A (ja)
CN (1) CN116071507A (ja)
DE (1) DE102022128919A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7310701B2 (ja) 2020-05-13 2023-07-19 株式会社デンソー 制御装置及び電源システム

Also Published As

Publication number Publication date
DE102022128919A1 (de) 2023-05-04
US20230134912A1 (en) 2023-05-04
CN116071507A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
US10928838B2 (en) Method and device of determining position of target, tracking device and tracking system
US9967463B2 (en) Method for camera motion estimation and correction
US8320616B2 (en) Image-based system and methods for vehicle guidance and navigation
US8467579B2 (en) Apparatus and method for estimating distance and position of object based on image of single camera
KR101950359B1 (ko) 하이브리드 모션캡쳐 시스템의 위치 추정 방법
WO2016077703A1 (en) Gyroscope assisted scalable visual simultaneous localization and mapping
US8391542B2 (en) Method for estimating the pose of a PTZ camera
GB2498177A (en) Apparatus for determining a floor plan of a building
US20140085462A1 (en) Video-assisted target location
US20170104932A1 (en) Correction method and electronic device
CN112665584B (zh) 一种基于多传感器融合的水下机器人定位与构图方法
JP2008058264A (ja) 実河川を対象とした流速観測装置、流速観測方法,および流速観測プログラム
JP2013097675A (ja) 勾配推定装置、勾配推定方法、及び勾配推定プログラム
JP5355443B2 (ja) 位置補正システム
KR20110081701A (ko) 캘리브레이션 장치
US11310423B2 (en) Image capturing method and image capturing apparatus
JP7283579B2 (ja) 自己位置推定装置、自己位置推定方法及びプログラム
US20130142388A1 (en) Arrival time estimation device, arrival time estimation method, arrival time estimation program, and information providing apparatus
JP2023069019A (ja) 情報処理装置、情報処理システム、情報処理方法、およびプログラム
JP2007333441A (ja) 移動体およびその環境認識センサ
JP5512258B2 (ja) 向き計測装置、向き計測システム、向き計測方法、及び向き計測プログラム
JP5230354B2 (ja) 位置特定装置及び異動建物検出装置
CN105874352B (zh) 使用旋转半径确定设备与船只之间的错位的方法和装置
JP4225131B2 (ja) 磁界補正データ生成装置
WO2022224402A1 (ja) 位置検知装置、位置検知方法、及び位置検知プログラム