[go: up one dir, main page]

JP7753164B2 - 推定装置、推定方法及びプログラム - Google Patents

推定装置、推定方法及びプログラム

Info

Publication number
JP7753164B2
JP7753164B2 JP2022120572A JP2022120572A JP7753164B2 JP 7753164 B2 JP7753164 B2 JP 7753164B2 JP 2022120572 A JP2022120572 A JP 2022120572A JP 2022120572 A JP2022120572 A JP 2022120572A JP 7753164 B2 JP7753164 B2 JP 7753164B2
Authority
JP
Japan
Prior art keywords
monocular
monocular camera
estimation
movement
rotation
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.)
Active
Application number
JP2022120572A
Other languages
English (en)
Other versions
JP2024017734A (ja
Inventor
未知 中村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2022120572A priority Critical patent/JP7753164B2/ja
Priority to CN202310257478.1A priority patent/CN117470198A/zh
Priority to US18/181,101 priority patent/US12198384B2/en
Publication of JP2024017734A publication Critical patent/JP2024017734A/ja
Application granted granted Critical
Publication of JP7753164B2 publication Critical patent/JP7753164B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明の実施形態は推定装置、推定方法及びプログラムに関する。
ドローンのような自律移動ロボットなどの移動体の運動推定に関する技術が従来から知られている。例えば自律移動ロボットにおいて、運動推定は重要課題のひとつである。単眼カメラを用いて運動推定を行う場合、自己位置(位置及び姿勢)と3次元点とを同時に推定する単眼SLAM(Monocular Simultaneous Localization and Mapping)技術が一般的に用いられる。
特表2016-526313号公報
ORB-SLAM、[online]、[令和4年6月21日検索]、インターネット〈URL:https://arxiv.org/abs/1502.00956〉
しかしながら従来の技術では、単眼SLAMによるドローンのような自律移動ロボットなどの移動体の運動推定精度を向上させることが難しかった。
実施形態の推定装置は、推定部と制御部とSLAM部とを備える。推定部は、移動体に搭載された単眼カメラにより取得された複数の第1の単眼画像から、前記移動体の運動が、その場回転であるか否かを推定する。制御部は、前記移動体の運動が、その場回転である場合、前記単眼カメラを並進させる並進量を決定する。SLAM部は、前記複数の第1の単眼画像と、前記並進量に基づき並進させた前記単眼カメラに取得された第2の単眼画像とから、単眼SLAM(Monocular Simultaneous Localization and Mapping)によって、前記単眼カメラの位置及び姿勢の少なくとも一方と、前記単眼カメラの被写体の3次元点とを推定する。
第1実施形態の自律移動ロボット及び目的地までの移動例を示す俯瞰図。 単眼SLAMによる3次元点の推定処理の例について説明するための図。 オプティカルフローの例について説明するための図。 オプティカルフローから、その場回転と並進との区別がつかない例1を示す図。 オプティカルフローから、その場回転と並進との区別がつかない例2を示す図。 3次元点を推定できる場合の例1を示す図。 3次元点の推定に失敗する場合の例1を示す図。 3次元点を推定できる場合の例2を示す図。 3次元点の推定に失敗する場合の例2を示す図。 その場回転が必要な状況の例を示す俯瞰図。 有限の奥行きで推定された3次元点に基づく並進の推定方法の例について説明するための図。 第1実施形態の推定装置の機能構成の例を示す図。 単眼カメラを水平横方向に40cm並進させたときのオプティカルフローの例を示す図。 単眼カメラを水平横方向に40cm並進させたときの3次元点の奥行きの例を示す図。 単眼カメラをyawのみ1.5degreeその場回転したときのオプティカルフローの例を示す図。 単眼カメラをyawのみ1.5degreeその場回転しときの3次元点の奥行きの例を示す図。 第1実施形態の推定方法の例を示すフローチャート。 第2実施形態の推定装置の機能構成の例を示す図。 第2実施形態の移動部の例を示す図。 第1及び第2実施形態の推定装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、推定装置、推定方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
第1実施形態では、次のような自律移動ロボット(移動体の一例)に搭載される推定装置を例にして説明する。
・自律移動ロボットは、目的地を与えられそこに移動しているとする。
・自律移動ロボットがどこを通るかは、障害物の状況に応じて、走行中に変わるものとする。
・自律移動ロボットの例としてドローンが挙げられる。ドローンが目的地を与えられそこに移動している例を図1に示す。
図1は、第1実施形態の自律移動ロボット100及び目的地までの移動例を示す俯瞰図である。図1の例では、自律移動ロボット100が、単眼カメラ1が搭載されたドローンである場合を示す。図1の例は、与えられた目的地までの経路が左右を壁に囲まれた狭い空間である場合を示す。
第1実施形態では、単眼SLAMを用いて運動推定を行う場合について説明する。単眼SLAMは、同じ対象物(例えば、3次元空間上にある被写体のコーナー点など)が画像上で映っている位置に基づいて、自己位置と周囲環境の3次元点を推定する技術である。例として、運動推定に2フレームを用いる場合を図2に示す。
図2は単眼SLAMによる3次元点104の推定処理の例について説明するための図である。図2では、過去フレーム101aの画像上と、現在フレーム101bの画像上から、例えばShi-Tomasiのコーナー点検出を用いて、被写体102のコーナー点が検出される。なお、被写体102は任意でよい。本実施形態では、被写体102のコーナー点などの特徴となるような画像上の位置を、特徴点103という。
特徴点103検出後、過去フレーム101aの特徴点103と、現在フレーム101bの特徴点103との間で類似している特徴点ペアを見つける。これらの特徴点ペアは、対応関係にあるとする。単眼SLAMでは、特徴点ペアの対応関係に基づいて3次元点104を推定する。また、単眼カメラ1の自己位置105の推定は、推定された3次元点104に基づいて行われる(詳細は後述の図8参照)。
単眼SLAMは、回転のみ運動(本実施形態では、「その場回転(pure rotation)」という。)をすると、問題が発生する。まず、オプティカルフローについて説明する。
図3はオプティカルフロー106の例について説明するための図である。オプティカルフロー106は、各フレーム101で対応関係にある特徴点103の動きを示すベクトルである。オプティカルフロー106は、単眼カメラ1の自己位置105の推定に用いられる。
図4Aは、オプティカルフロー106から、その場回転と並進との区別がつかない例1を示す図である。図4Bは、オプティカルフロー106から、その場回転と並進との区別がつかない例2を示す図である。まず、運動推定開始時(推定された3次元点104が無く、単眼カメラ1の自己位置105もわかっていない段階)の問題について説明する。
運動推定開始時の運動推定は、一般的な手法として、5点アルゴリズム等を用いて行われる。5点アルゴリズムでは、5つのオプティカルフロー106の入力に基づき、運動推定開始時の単眼カメラ1の動き(すなわち自己位置)が推定される。
しかし、図4A及び4Bに示すように、オプティカルフロー106だけでは、回転と並進との区別がつかない場合がある。図4A及び4Bは、オプティカルフロー106がほぼ同じ向きでほぼ同じ長さである場合に運動推定する例である。
図4Aの例では、被写体102の各3次元点104と単眼カメラ1との距離が異なる場合の、その場回転(右周り)と、被写体102の各3次元点104と単眼カメラ1との距離が概ね同じ場合の、並進(右移動)との区別がつかない場合を示す。
図4Bの例では、被写体102の各3次元点104と単眼カメラ1との距離が同じ場合の、その場回転(右周り)と、被写体102の各3次元点104と単眼カメラ1との距離が概ね同じ場合の、並進(右移動)との区別がつかない場合を示す。
図4A及び4Bで示すように、その場回転している場合と、被写体102と単眼カメラ1との距離がほぼ一定で、並進運動している場合との区別がつかない。オプティカルフロー106を用いた運動推定において、上述した区別のつかないオプティカルフロー106を基に推定すると、回転と並進の両方の推定を誤る場合がある。したがって、運動推定開始時に、単眼カメラ1が搭載された自律移動ロボット100が、その場回転すると、運動推定の精度が劣化する。
次に、運動推定継続時(推定された3次元点104が有り、過去フレーム101aの単眼カメラ1の自己位置105もわかっている段階)の問題について説明する。
図5Aは3次元点104を推定できる場合の例を示す図である。図5Bは3次元点104の推定に失敗する場合の例を示す図である。図5A及び5B中の光軸の位置は、実際の単眼カメラ1の光軸の位置である。
運動推定継続時に、単眼カメラ1が十分なベースラインを取るように動く場合(図5A)に比べて、単眼カメラ1がその場回転すると、図5Bに示すように、ベースラインが小さくなる。ベースラインが小さい状況で3次元点104の3次元位置の推定を行うと、図5Bのように誤った奥行き(無限遠方)が推定されてしまうことがある。
図6Aは3次元点104を推定できる場合の例2を示す図である。図6Bは3次元点104の推定に失敗する場合の例2を示す図である。図6A及び6B中の光軸の位置は、実際の単眼カメラ1の光軸の位置である。その場回転後、有限の奥行き(図5Aに示すように、ベースラインが大きい状況で推定した3次元点の3次元位置)で推定された3次元点104が無い場合がある。推定する運動のうち特に並進においては、図6Aのように、有限の奥行きで推定された3次元点104が必要である。したがって、このような有限の奥行きで推定された3次元点104がない場合(図6B)、正しい並進運動を推定できなくなってしまう。
図7は、その場回転が必要な状況の例を示す俯瞰図である。図7の例では、単眼カメラ1が搭載された自律移動ロボット100が、前方の壁まで並進した後、曲がり角で右に90度回転するまで、その場回転が継続する場合を示す。このように、自律移動ロボット100は、障害物の状況に応じて、その場回転する場合がある。上述の問題により、その場回転後、自律移動ロボット100の運動推定に失敗する。
例えば特許文献1などの従来の技術では、運動推定継続時に、その場回転し続ける場合(例えば、180度続く場合)、被写体102の3次元点104のほとんどが無限遠方の3次元点104となり、正しい並進運動を推定できなくなってしまう。
ここで、有限の奥行きで推定された3次元点104に基づく並進の推定方法の例について説明する。
図8は、有限の奥行きで推定された3次元点104に基づく並進の推定方法の例について説明するための図である。有限の奥行きで推定された3次元点104が得られている場合に、例えば、図8に示すように、単眼SLAMを用いて、単眼カメラ1の自己位置105をリアルタイムで推定しているとする。まず、特徴点103ペアの対応関係に基づいて有限の奥行きで推定された3次元点104が推定される。次に、有限の奥行きで推定された3次元点104が、現在のカメラ画像上の点107に投影される。最後に、投影された点107が示す位置と、特徴点103ペアの対応関係にある画像上の位置との差が最小になるように、単眼カメラ1の位置と姿勢(回転)とが最適化される。
ここで、有限の奥行きの3次元点104は並進と回転を、無限遠方の3次元点104は回転のみを最適化するための運動推定の入力として使われる。最適化時に入力される3次元点104のうち、有限の奥行きで推定された3次元点104が数点ある場合は、例えば、有限の奥行きで推定された3次元点104だけを用いることで、並進の推定ができる。一般的には、入力する3次元点104の数が多い程、運動推定の精度が良くなる。したがって、有限の奥行きで推定された3次元点104が多ければ多い程、並進の推定の精度の向上が期待できる。反対に、運動推定時に用いる有限の奥行きで推定された3次元点104が少ないほど、並進の推定精度が劣化し、有限の奥行きで推定された3次元点104が無い場合、並進の推定ができない。
上述したように、自律移動ロボット100の運動推定開始時及び運動推定継続時に以下の課題がある。
<運動推定開始時>
運動推定開始時において、オプティカルフロー106がほぼ同じ向きでほぼ同じ長さとなる場合がある。この場合、上述の図4A及び4Bに示すように、回転と並進の区別がつかないため、運動推定開始時に運動推定の精度が劣化する。
<運動推定継続時>
運動推定継続時であっても、その場回転し続ける場合(例えば、180度続く場合)、被写体102の3次元点104のほとんどが無限遠方の3次元点104となってしまう。したがって、その場回転が継続すると、並進の推定の精度が劣化する。
以下、上記のような場合であっても、自律移動ロボット100の運動の推定精度を向上させることができる推定装置の実施形態について説明する。
上記課題を解決するために、第1実施形態の推定装置10は、単眼カメラ1の運動が、その場回転の場合は、十分なベースラインになるように、自律移動ロボット100(単眼カメラ1)を並進させ、運動推定精度の劣化、または運動推定の失敗が発生しないようにする。
ここで、第1実施形態の説明における推定精度の劣化と失敗の定義はそれぞれ以下である。また、運動推定の精度の劣化と失敗の具体例をその次に示す。
「推定精度の劣化」とは、推定結果と真値との差が大きいこと(所定の閾値より大きいこと)である。「推定の失敗」とは、推定装置10によって実行される運動推定に使用されるデータが無いため、推定ができないことである。
「運動推定精度の劣化」の具体例
・運動推定開始時に、オプティカルフロー106だけでは、回転と並進の区別がつかない場合があり、回転と並進の両方の推定の精度が劣化する。
・その場回転が継続すると、最適化時に入力される3次元点104のうち、有限の奥行きで推定された3次元点104の数が減るため、並進の推定精度が劣化する。
「運動推定の失敗」の具体例
・運動推定時に、推定された3次元点104の入力が無い場合(有限奥行の3次元点104と無限遠方の3次元点104の両方が運動推定の入力に使えない場合)、回転と並進の両方の推定ができない。
・運動推定時に、有限の奥行きで推定された3次元点104の入力が無い場合、並進の推定ができない。
第1実施形態の推定装置10の特徴は以下である。
・その場回転時に、自律移動ロボット100(単眼カメラ1)を並進させる。
・被写体102の距離に応じて、自律移動ロボット100(単眼カメラ1)を並進させる量(ベースライン)を変える。被写体102までの距離が遠いほど、見え方の変化(視差)が小さい。単眼SLAMは、見え方の変化に基づいて被写体102と単眼カメラ1との距離の情報を得るので、見え方の変化が小さいほど運動推定の精度がでない。
・オプティカルフロー106からその場回転を検出する。具体的には次の基準で判断する。オプティカルフロー106の長さに、ばらつきがある場合は、並進と判定する。オプティカルフロー106の長さに、ばらつきがない場合は、その場回転と判定する。
以下に、第1実施形態の推定装置10の機能構成の例について詳細に説明する。第1実施形態の推定装置10は、単眼カメラ1からリアルタイムに入力される単眼画像を基に自律移動ロボット100の自己位置105(位置及び姿勢)と3次元点104を推定する。
[機能構成の例]
図9は第1実施形態の推定装置10の機能構成の例を示す図である。第1実施形態の推定装置10は、自律移動ロボット100に接続される。推定装置10は、自律移動ロボット100に搭載される。なお、推定装置10を、単眼カメラ1以外の構成(SLAM部2、推定部3及び制御部4)を含むサーバ装置とし、当該サーバ装置が無線ネットワークなどによって遠隔から自律移動ロボット100に接続されてもよい。
第1実施形態の推定装置10は、単眼カメラ1、SLAM部2、推定部3及び制御部4を備える。
単眼カメラ1は、自律移動ロボット100に搭載され、リアルタイムに単眼画像を取得する。自律移動ロボット100は、例えば、ドローンである。自律移動ロボット100は、与えられた目的地に移動することができるロボットである。また、自律移動ロボットの移動経路は、SLAM部2により推定された障害物の状況に応じて、走行中に変えることができる。
SLAM部2は、単眼カメラ1で取得された単眼画像から、SLAM技術により、単眼カメラ1(自律移動ロボット100)の自己位置105と、被写体102の3次元点104とを推定する。SLAM技術としては、例えば、非特許文献1及びPTAM(Parallel Tracking and Mapping)等が利用できる。PTAMは特徴点の対応関係からカメラポーズを推定する単眼SLAMである。
推定部3は、被写体102の特徴点の動きを示すオプティカルフロー106から、自律移動ロボット100の運動が、その場回転であるか否かを推定する。例えば、推定部3は、オプティカルフローの長さに、ばらつきがある場合(長さのばらつきが閾値以上の場合)、並進と推定する。また例えば、推定部3は、オプティカルフローの長さに、ばらつきがない場合(長さのばらつきが閾値未満の場合)、その場回転と推定する。
ただし、上述の図4A及び4Bに示すように、オプティカルフロー106がほぼ同じ向きで、ほぼ同じ長さである場合に並進と回転の区別がつかないことがある。このような場合に、第1実施形態の推定部3は、その場回転と推定しても問題ない。なぜなら、その場回転と推定された時に、自律移動ロボット100(単眼カメラ1)を並進させることによって、単眼カメラ1をベースラインが取れるように動かしても、新規の3次元点104が増えるだけだからである。したがって、第1実施形態の推定部3では、オプティカルフロー106の長さに、ばらつきがない場合は、その場回転と推定する。
制御部4は、単眼カメラ1が搭載された自律移動ロボット100を並進させる。例えば、図1の例では、水平左右方向は壁が近いため、並進させる方向は、垂直上下方向である。並進させる量(並進量)は、制御部4によって決定される。
例えば、制御部4は、単眼カメラ1を並進させる量b(ベースライン)を、下記式(1)及び(2)で求める。
<運動推定開始時>
b=移動可能領域の上限 ・・・(1)
<運動推定継続時>
b=F(d) ・・・(2)
ただし、F(d)が移動可能領域を超える場合、bは移動可能領域の上限に設定される。
ここで、dは、単眼カメラ1と被写体102との距離であり、Fは、単眼カメラ1を並進させる量を決める関数である。
すなわち、制御部4は、運動の推定開始時に、単眼カメラ1の移動可能領域の上限を決定し、運動の推定継続時に、並進量bを、被写体102との距離に応じて上限以下の範囲で決定する。
制御部4は、単眼カメラ1を並進させる場合、自律移動ロボット100を所定の方向に並進させることによって、単眼カメラ1を並進させる。制御部4は、運動の推定開始時に、単眼カメラ1の移動可能領域の上限に基づき、当該上限がより大きい方向を所定の方向に決定する。例えば、移動可能領域は、図1の例では、地面から天井までの高さである。
例えば、距離dは、自律移動ロボット100又は推定装置10に超音波センサが備えられている場合は、超音波センサにより取得された3次元点104の奥行きの統計量(例えば、平均値や中央値)でもよい。また例えば、距離dは、特定の歩行者や対向車などの注目されるオブジェクトの奥行きの統計量でもよい。注目されるオブジェクトの検出は、推定部3が、例えばCNN(Convolutional Neural Network)などの機械学習手法により得られたニューラルネットワークを用いることで実現可能である。
距離dが大きいほど、見え方の変化が小さいので、単眼カメラ1が搭載された自律移動ロボット100を大きく並進させなければ、運動推定の精度がでない。したがって、距離dが大きいほど、単眼カメラ1が搭載された自律移動ロボット100を大きく並進させる。つまりFは、距離dが大きいほど、b=F(d)も大きくなるような関数とする。
ここで、距離dが大きいほど、単眼カメラ1が搭載された自律移動ロボット100を大きく並進させなければ、見え方の変化が小さい理由を示す。単眼カメラ1の焦点距離(定数)をf、見え方の変化(視差)をsとすると、d、b、s及びfには次の関係がある。
d=b×(f/s) ・・・(3)
式(4)を変形すると、下記式(4)が得られる。
s=f×(b/d) ・・・(4)
したがって、式(4)より、距離dが大きいほど、並進量(ベースライン)bが大きくなるように、単眼カメラ1が搭載された自律移動ロボット100を並進させないと、視差sすなわち見え方の変化が小さくなってしまう。
次に、自律移動ロボット100(単眼カメラ1)が、並進運動した場合のオプティカルフロー106のシミュレーション結果の一例と、その場回転運動した場合に発生するオプティカルフロー106のシミュレーション結果の一例を示す。
図10Aは単眼カメラ1を水平横方向に40cm並進させたときのオプティカルフロー106の例を示す図である。図10Bは単眼カメラ1を水平横方向に40cm並進させたときの3次元点104の奥行きの例を示す図である。
図11Aは単眼カメラ1をyawのみ1.5degreeその場回転したときのオプティカルフロー106の例を示す図である。図11Bは単眼カメラ1をyawのみ1.5degreeその場回転しときの3次元点104の奥行きの例を示す図である。
図10A及び図11Aのnumber of valid flowはオプティカルフロー106のサンプル数である。flow lengthはオプティカルフロー106の長さの統計量(最大値、最小値及び平均値)である。図11Aのflow lengthの最大値、最小値及び平均値の差は、図10Aのflow lengthの最大値、最小値及び平均値の差より小さい。
最小値、最大値及び平均値に差があることはオプティカルフロー106にばらつきがあることを意味する。ここで、ばらつきとは、オプティカルフロー106のベクトルの長さが、画像内の奥行き(手前及び奥)で差があることを意味する。例えば、推定部3は、オプティカルフロー106のflow lengthの分散値を計算し、分散値と、自律移動ロボット100の動作環境等に応じてあらかじめ適切な値に設定された閾値とを用いて、ばらつきの大きさを判定する。
具体的には、推定部3は、例えばflow lengthの分散値が、閾値以上である場合は、ばらつきが大きいと判定する(並進と推定)。また、推定部3は、flow lengthの分散値が、閾値未満である場合は、ばらつきが小さいと判定する(その場回転と推定)。
なお、推定装置10には、複数の単眼カメラ1が備えられていてもよい。例えば、性能の異なる複数の単眼カメラ1が備えられている場合、任意の単眼カメラ1により撮像された単眼画像が推定処理に用いられてよい。
[推定方法の例]
図12は第1実施形態の推定方法の例を示すフローチャートである。図12の例は、自律移動ロボット100の運動が、その場回転であることが推定された場合のフローチャートを示す。
はじめに、推定部3が、自律移動ロボット100(移動体の一例)に搭載された単眼カメラ1により取得された複数の第1の単眼画像から、自律移動ロボット100の運動が、その場回転であることを推定する(ステップS11)。
次に、ステップS11の処理によって、自律移動ロボット100の運動が、その場回転であると推定された場合、制御部4が、単眼カメラ1を並進させる並進量を決定する(ステップS12)。
次に、SLAM部2が、複数の第1の単眼画像と、ステップS12の処理により決定された並進量に基づき並進させた単眼カメラ1に取得された第2の単眼画像とから、単眼SLAMによって、単眼カメラ1の位置及び姿勢と、単眼カメラ1の被写体102の3次元点104とを推定する(ステップS13)。
なお、ステップS13において、単眼カメラ1の位置及び姿勢の推定は、単眼カメラ1の位置及び姿勢の少なくとも一方の推定であってもよい。例えば、単眼カメラ1の位置のみの推定結果が利用されてもよい。
これにより第1実施形態の推定装置10によれば、単眼SLAMによる自律移動ロボット100(移動体の一例)の運動推定精度を向上させることができる。具体的には、第1実施形態の推定装置10では、例えば下記(1)~(3)の効果が得られる。
(1)その場回転時に、単眼カメラ1を並進させることによる効果
・運動推定開始時にその場回転する場合でも、十分なベースラインが取れるようになるため、有限の奥行きの3次元点104が得られる。これにより運動推定精度の劣化、または運動推定の失敗を防ぐことができる。
・その場回転し続ける(例えば、180度続く場合)場合でも、十分なベースラインが取れるため、有限の奥行きの3次元点104が得られる。これにより運動推定精度の劣化、または運動推定の失敗を防ぐことができる。
(2)被写体102の距離に応じて、並進させる量を変えることによる効果
・被写体102の距離に対して、単眼カメラ1を並進させる量が小さいと、運動推定の精度や、3次元点の推定精度が劣化することがある。第1実施形態の推定装置10は、被写体102が遠いほどベースラインが大きくなるように、単眼カメラ1を並進させる量を大きくする(被写体102の距離に応じて、単眼カメラ1を並進させる量を変える)ことにより、運動推定精度の劣化を防ぐことができる。
・遠方の被写体102に対応するため、無条件に、単眼カメラ1を大きく並進させる場合と比較して、単眼カメラ1を並進させる量を削減できる。
(3)オプティカルフローのばらつきからその場回転を検出することによる効果
・運動推定の履歴を用いないので、運動推定開始時でもその場回転か否かを検出できる(開始時は運動推定の履歴が無い)。
・その場回転か否かを単眼カメラ1のみで検出できる。その場回転検出用にIMU(Inertial Measurement Unit)などを必要としていたアプリケーションにおいても、単眼カメラ1以外のセンサを取り付けなくても良くなるため、製品コストを削減できる。
・ドローンなどの長時間動かすことが想定されるような自律移動ロボット100の場合、IMUを用いたその場回転検出方法に課題が生じる。具体的には、IMUから回転運動と並進運動とが推定される場合、速度の推定に誤差が蓄積し、その場回転の推定精度が著しく劣化する課題である。第1実施形態の推定装置10によるその場回転検出方法であれば、このような課題が発生しない。以下、加速度にのる誤差が蓄積する具体例を述べる。ある時刻に初速が与えられるとする。また、ある時刻以降の速度を求めるために、加速度から速度を積分し続けるとする。このとき、IMUから取得できる加速度に誤差がのっている場合、積分するたびに、加速度の誤差が速度に蓄積する。したがって、速度にのる誤差の量は、時間経過に伴い大きくなっていく。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
図13は第2実施形態の推定装置10-2の機能構成の例を示す図である。第2実施形態の推定装置10-2は、単眼カメラ1、SLAM部2、推定部3、制御部4及び移動部5を備える。第1実施形態の構成との違いは、移動部5を更に備えていることである。
移動部5は、制御部4により決定された並進量b(ベースライン)に基づき、自律移動ロボット100に搭載された単眼カメラ1の位置を、並進移動させることによって変更する。
図14は第2実施形態の移動部5の例を示す図である。第2実施形態の自律移動ロボット100は、例えば、産業用ロボット及び自動車などである。移動部5は、例えば図14のように、単眼カメラ1を並進させる。図14の例では、単眼カメラ1の可動域が、第1実施形態の移動可能領域の上限(式(1))に対応する。図14の例では、単眼カメラ1を並進させる方向は、カメラの光軸方向に対して垂直方向である。並進量b(ベースライン)は、制御部4により決定される。
以上説明したように、第2実施形態の推定装置10-2は、並進量に基づき、産業用ロボット及び自動車などの移動体に搭載された単眼カメラ1の位置を、並進移動させる移動部5を更に備える。制御部4は、単眼カメラ1を並進させる場合、移動部5を制御することによって単眼カメラ1を並進させる。
これにより第2実施形態の推定装置10-2によれば、第1実施形態の推定装置10と同様の効果が得られる。
最後に、第1及び第2実施形態の推定装置10(10-2)のハードウェア構成の例について説明する。第1及び第2実施形態の推定装置10(10-2)は、例えば、任意のコンピュータ装置を基本ハードウェアとして用いることで実現できる。
[ハードウェア構成の例]
図15は第1及び第2実施形態の推定装置10(10-2)のハードウェア構成の例を示す図である。第1及び第2実施形態の推定装置10(10-2)は、プロセッサ201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206を備える。プロセッサ201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206は、バス210を介して接続されている。
なお、推定装置10(10-2)は、上記構成の一部が備えられていなくてもよい。例えば、推定装置10(10-2)が、外部の装置の入力機能及び表示機能を利用可能な場合、推定装置10(10-2)に表示装置204及び入力装置205が備えられていなくてもよい。
プロセッサ201は、補助記憶装置203から主記憶装置202に読み出されたプログラムを実行する。主記憶装置202は、ROM及びRAM等のメモリである。補助記憶装置203は、HDD(Hard Disk Drive)及びメモリカード等である。
表示装置204は、例えば液晶ディスプレイ等である。入力装置205は、推定装置10(10-2)を操作するためのインタフェースである。なお、表示装置204及び入力装置205は、表示機能と入力機能とを有するタッチパネル等により実現されていてもよい。通信装置206は、他の装置と通信するためのインタフェースである。
例えば、推定装置10(10-2)で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルで、メモリカード、ハードディスク、CD-RW、CD-ROM、CD-R、DVD-RAM及びDVD-R等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
また例えば、推定装置10(10-2)で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
また例えば、推定装置10(10-2)で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。具体的には、例えばASP(Application Service Provider)型のクラウドサービスによって、推定処理を実行する構成としてもよい。
また例えば、推定装置10(10-2)のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
推定装置10(10-2)で実行されるプログラムは、上述の機能構成のうち、プログラムによっても実現可能な機能を含むモジュール構成となっている。当該各機能は、実際のハードウェアとしては、プロセッサ201が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置202上にロードされる。すなわち上記各機能ブロックは主記憶装置202上に生成される。
なお上述した各機能の一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 単眼カメラ
2 SLAM部
3 推定部
4 制御部
5 移動部
10 推定装置
100 自律移動ロボット
201 プロセッサ
202 主記憶装置
203 補助記憶装置
204 表示装置
205 入力装置
206 通信装置
210 バス

Claims (8)

  1. 移動体に搭載された単眼カメラにより取得された複数の第1の単眼画像から、前記移動体の運動が、その場回転であるか否かを推定する推定部と、
    前記移動体の運動が、前記単眼カメラの被写体の特徴点の動きを示すオプティカルフローから、その場回転であると推定される場合、前記単眼カメラを並進させる並進量を決定する制御部と、
    前記複数の第1の単眼画像と、前記並進量に基づき並進させた前記単眼カメラに取得された第2の単眼画像とから、単眼SLAM(Monocular Simultaneous Localization and Mapping)によって、前記単眼カメラの位置及び姿勢の少なくとも一方と、前記単眼カメラの被写体の3次元点とを推定するSLAM部と、を備え、
    前記推定部は、前記オプティカルフローの長さのばらつきを、前記オプティカルフローの長さの分散値により特定し、前記分散値が閾値未満の場合、前記運動が、その場回転であると推定する、
    推定装置。
  2. 前記制御部は、前記運動の推定開始時に、前記単眼カメラの移動可能領域の上限を決定し、前記運動の推定継続時に、前記並進量を、前記被写体との距離に応じて前記上限以下の範囲で決定する、
    請求項1に記載の推定装置。
  3. 前記制御部は、前記単眼カメラを並進させる場合、前記移動体を所定の方向に並進させることによって、前記単眼カメラを並進させる、
    請求項2に記載の推定装置。
  4. 前記制御部は、前記運動の推定開始時に、前記単眼カメラの移動可能領域の上限に基づき、前記上限がより大きい方向を前記所定の方向に決定する、
    請求項3に記載の推定装置。
  5. 前記並進量に基づき、前記移動体に搭載された単眼カメラの位置を、並進移動させる移動部を更に備え、
    前記制御部は、前記単眼カメラを並進させる場合、前記移動部を制御することによって前記単眼カメラを並進させる、
    請求項2に記載の推定装置。
  6. 前記推定部は、前記分散値が閾値以上の場合、前記運動が並進であると推定する、
    請求項に記載の推定装置。
  7. 推定装置が、移動体に搭載された単眼カメラにより取得された複数の第1の単眼画像から、前記移動体の運動が、その場回転であるか否かを推定するステップと、
    前記推定装置が、前記移動体の運動が、前記単眼カメラの被写体の特徴点の動きを示すオプティカルフローから、その場回転であると推定される場合、前記単眼カメラを並進させる並進量を決定するステップと、
    前記推定装置が、前記複数の第1の単眼画像と、前記並進量に基づき並進させた前記単眼カメラに取得された第2の単眼画像とから、単眼SLAM(Monocular Simultaneous Localization and Mapping)によって、前記単眼カメラの位置及び姿勢の少なくとも一方と、前記単眼カメラの被写体の3次元点とを推定するステップと、を含み、
    前記その場回転であるか否かを推定するステップは、前記オプティカルフローの長さのばらつきを、前記オプティカルフローの長さの分散値により特定するステップと、
    前記分散値が閾値未満の場合、前記運動が、その場回転であると推定するステップと、
    を含む推定方法。
  8. コンピュータを、
    移動体に搭載された単眼カメラにより取得された複数の第1の単眼画像から、前記移動体の運動が、その場回転であるか否かを推定する推定部と、
    前記移動体の運動が、前記単眼カメラの被写体の特徴点の動きを示すオプティカルフローから、その場回転であると推定される場合、前記単眼カメラを並進させる並進量を決定する制御部と、
    前記複数の第1の単眼画像と、前記並進量に基づき並進させた前記単眼カメラに取得された第2の単眼画像とから、単眼SLAM(Monocular Simultaneous Localization and Mapping)によって、前記単眼カメラの位置及び姿勢の少なくとも一方と、前記単眼カメラの被写体の3次元点とを推定するSLAM部、として機能させ、
    前記推定部は、前記オプティカルフローの長さのばらつきを、前記オプティカルフローの長さの分散値により特定し、前記分散値が閾値未満の場合、前記運動が、その場回転であると推定する、
    プログラム。
JP2022120572A 2022-07-28 2022-07-28 推定装置、推定方法及びプログラム Active JP7753164B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022120572A JP7753164B2 (ja) 2022-07-28 2022-07-28 推定装置、推定方法及びプログラム
CN202310257478.1A CN117470198A (zh) 2022-07-28 2023-03-09 推测装置、推测方法以及存储介质
US18/181,101 US12198384B2 (en) 2022-07-28 2023-03-09 Estimation device, estimation method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022120572A JP7753164B2 (ja) 2022-07-28 2022-07-28 推定装置、推定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2024017734A JP2024017734A (ja) 2024-02-08
JP7753164B2 true JP7753164B2 (ja) 2025-10-14

Family

ID=89636738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022120572A Active JP7753164B2 (ja) 2022-07-28 2022-07-28 推定装置、推定方法及びプログラム

Country Status (3)

Country Link
US (1) US12198384B2 (ja)
JP (1) JP7753164B2 (ja)
CN (1) CN117470198A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12316828B2 (en) * 2023-05-18 2025-05-27 Taiwan Semiconductor Manufacturing Company, Ltd. Automatic time delay and integration (TDI) mask inspection system calibration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518547A (ja) 2014-03-14 2017-07-06 クアルコム,インコーポレイテッド 制約なしslam用のセンサベースのカメラ運動検出

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744169B2 (en) * 2011-05-31 2014-06-03 Toyota Motor Europe Nv/Sa Voting strategy for visual ego-motion from stereo
US20140104771A1 (en) * 2012-10-17 2014-04-17 Matthew A. COLAN Universal Keyless Entry System
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US9495761B2 (en) * 2013-11-04 2016-11-15 The Regents Of The University Of California Environment mapping with automatic motion model selection
CN109887087B (zh) * 2019-02-22 2021-02-19 广州小鹏汽车科技有限公司 一种车辆的slam建图方法及系统
CN110853032B (zh) * 2019-11-21 2022-11-01 北京航空航天大学 基于多模态深度学习的无人机视频标签获取方法
CN111862148B (zh) * 2020-06-05 2024-02-09 中国人民解放军军事科学院国防科技创新研究院 实现视觉跟踪的方法、装置、电子设备及介质
CN111402429B (zh) * 2020-06-08 2020-09-15 成都索贝数码科技股份有限公司 一种尺度还原、三维重建方法、系统、存储介质及设备
CN111882589A (zh) * 2020-06-23 2020-11-03 广州万维创新科技有限公司 基于图像的单目视觉slam的初始化方法
CN112132754B (zh) * 2020-11-25 2021-06-04 蘑菇车联信息科技有限公司 一种车辆移动轨迹修正方法及相关装置
US20220319041A1 (en) * 2021-03-31 2022-10-06 Facebook Technologies, Llc Egocentric pose estimation from human vision span

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518547A (ja) 2014-03-14 2017-07-06 クアルコム,インコーポレイテッド 制約なしslam用のセンサベースのカメラ運動検出

Also Published As

Publication number Publication date
JP2024017734A (ja) 2024-02-08
CN117470198A (zh) 2024-01-30
US20240037789A1 (en) 2024-02-01
US12198384B2 (en) 2025-01-14

Similar Documents

Publication Publication Date Title
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US10133279B2 (en) Apparatus of updating key frame of mobile robot and method thereof
US10399228B2 (en) Apparatus for recognizing position of mobile robot using edge based refinement and method thereof
EP3942794B1 (en) Depth-guided video inpainting for autonomous driving
US10275649B2 (en) Apparatus of recognizing position of mobile robot using direct tracking and method thereof
KR101784183B1 (ko) ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US10444761B2 (en) Monocular modes for autonomous platform guidance systems with auxiliary sensors
US8644557B2 (en) Method and apparatus for estimating position of moving vehicle such as mobile robot
JP4052650B2 (ja) 障害物検出装置、方法及びプログラム
US9058521B2 (en) Mobile robot and simultaneous localization and map building method thereof
JP2020534617A (ja) 二次元画像および点群データからの三次元境界ボックス
JP6743171B2 (ja) 自動車両の道路付近の物体を検出するための方法、コンピュータデバイス、運転者支援システム、及び、自動車両
JP2011175393A (ja) 経路計画装置、自律移動ロボット、及び移動経路の計画方法
JP7133927B2 (ja) 情報処理装置及びその制御方法及びプログラム
JP2013097675A (ja) 勾配推定装置、勾配推定方法、及び勾配推定プログラム
JP7753164B2 (ja) 推定装置、推定方法及びプログラム
JP7322670B2 (ja) 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット
Do et al. Autonomous flights through image-defined paths
JP7701101B2 (ja) 地図生成装置、地図生成方法、及びプログラム
JP7744064B2 (ja) 地図生成装置、地図生成方法、及びプログラム
US20250360916A1 (en) Vehicle control apparatus, vehicle control method, and non-transitory computer-readable medium
Yamada et al. Vision based obstacle avoidance and target tracking for autonomous mobile robots
CN120833591A (zh) 数据处理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251001

R150 Certificate of patent or registration of utility model

Ref document number: 7753164

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150