Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7175930B2 - Information processing device, information processing method, and program - Google Patents
[go: Go Back, main page]

JP7175930B2 - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

Publication number
JP7175930B2
JP7175930B2 JP2020006956A JP2020006956A JP7175930B2 JP 7175930 B2 JP7175930 B2 JP 7175930B2 JP 2020006956 A JP2020006956 A JP 2020006956A JP 2020006956 A JP2020006956 A JP 2020006956A JP 7175930 B2 JP7175930 B2 JP 7175930B2
Authority
JP
Japan
Prior art keywords
error
feature point
unit
motion model
sensor
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
JP2020006956A
Other languages
Japanese (ja)
Other versions
JP2021113760A (en
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.)
Denso Corp
Toshiba Digital Solutions Corp
Original Assignee
Denso Corp
Toshiba Digital Solutions 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 Denso Corp, Toshiba Digital Solutions Corp filed Critical Denso Corp
Priority to JP2020006956A priority Critical patent/JP7175930B2/en
Publication of JP2021113760A publication Critical patent/JP2021113760A/en
Application granted granted Critical
Publication of JP7175930B2 publication Critical patent/JP7175930B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Description

本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。 TECHNICAL FIELD Embodiments of the present invention relate to an information processing apparatus, an information processing method, and a program.

移動体等が、撮像手段を備え、時系列に取得した画像の列に撮影されている物体等の、見かけの変化を利用することによって、当該移動体等の自己位置を推定する技術が存在する。 There is a technology for estimating the self-position of a moving body, etc., by using a change in the appearance of an object, etc., captured in a series of images acquired in time series, in which the moving body, etc. is equipped with an imaging means. .

当該従来技術では、次のような処理を行う。即ち、複数の画像に基づく三角測量の原理によって、物体の三次元位置を求める。そして、求められた三次元位置を、画像内に投影することによって、当該物体の画像上での位置(第1の位置)を求める。次に、時系列の画像における特徴点の追跡をすることによって、物体の画像上の位置(第2の位置)を求める。最後に、上記第1の位置と上記第2の位置との差である特徴点誤差が、小さくなるように、三次元位置と、当該移動体の位置および姿勢を調整する。このような処理により、移動体は、自己位置および姿勢を推定する。 In the related art, the following processing is performed. That is, the three-dimensional position of the object is determined by the principle of triangulation based on multiple images. Then, the position (first position) of the object on the image is obtained by projecting the obtained three-dimensional position into the image. Next, the position of the object on the image (second position) is determined by tracking the feature points in the time-series images. Finally, the three-dimensional position and the position and orientation of the moving object are adjusted so that the feature point error, which is the difference between the first position and the second position, becomes small. Through such processing, the mobile body estimates its own position and orientation.

上記の従来技術を用いると、移動体は、GPS(グローバル・ポジショニング・システム)信号の届かない場所においても、自己の位置等を推定できる。また、上記の従来技術では、慣性計測装置(IMU、Internal Measurement Unit)を使用する場合に発生し得る、熱によるドリフトが発生しないという利点もある。 Using the above-described conventional technology, a mobile object can estimate its own position and the like even in places where GPS (Global Positioning System) signals do not reach. In addition, the prior art described above has the advantage of not causing drift due to heat, which can occur when using an inertial measurement unit (IMU, Internal Measurement Unit).

一方で、上記の従来技術では、特徴点を安定的に追跡できない場合に、推定精度が低下し得るという課題がある。 On the other hand, the conventional technique described above has a problem that the estimation accuracy may decrease when the feature point cannot be stably tracked.

特開2017-215193号公報JP 2017-215193 A

本発明が解決しようとする課題は、取得した画像に基づいて移動体の位置を推定する際の、位置推定精度を向上させることができる情報処理装置、情報処理方法、およびプログラムを提供することである。 The problem to be solved by the present invention is to provide an information processing device, an information processing method, and a program that can improve the position estimation accuracy when estimating the position of a mobile object based on an acquired image. be.

実施形態の情報処理装置は、推定部と、画像取得部と、補正部とを持つ。推定部は、移動体の位置および姿勢を推定する。画像取得部は、前記移動体に設けられ、画像を取得する。補正部は、取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定部が推定した前記移動体の位置および姿勢を補正するための補正量を求める。また、上記の推定部は、前記補正部が求めた前記補正量に基づいて、推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする。 An information processing apparatus according to an embodiment has an estimation unit, an image acquisition unit, and a correction unit. The estimation unit estimates the position and orientation of the moving object. The image acquisition unit is provided on the moving body and acquires an image. a correcting unit for correcting the position and orientation of the moving body estimated by the estimating unit based on the acquired feature points of the object in the image and a motion model that is a constraint condition of the moving body; Calculate the amount of correction. Further, the estimating unit corrects the estimated position and orientation of the moving body based on the correction amount obtained by the correcting unit to obtain a newly estimated position.

第1の実施形態の情報処理装置の概略機能構成を示すブロック図。1 is a block diagram showing a schematic functional configuration of an information processing apparatus according to a first embodiment; FIG. 第1の実施形態の情報処理装置による処理の手順を示すフローチャート。4 is a flowchart showing the procedure of processing by the information processing apparatus according to the first embodiment; 第1の実施形態の特徴点追跡部による、複数の画像間での特徴点の対応付け(特徴点の追跡)の処理の結果の概要を示す概略図。FIG. 4 is a schematic diagram showing an outline of a processing result of feature point matching (feature point tracking) between a plurality of images by a feature point tracking unit according to the first embodiment; 第1の実施形態の推定部が移動体の|F|フレーム目の位置(初期値)を推定するための計算過程を示す概略図。Schematic diagram showing a calculation process for estimating the |F|-th position (initial value) of the moving object by the estimation unit of the first embodiment. 第1の実施形態において、取得された画像における特徴点誤差の例を示す概略図。4A and 4B are schematic diagrams showing examples of feature point errors in an acquired image in the first embodiment; FIG. 第1の実施形態において、運動モデルによって拘束された運動をする車両(移動体)の移動の概要を示す概略図。FIG. 2 is a schematic diagram showing an overview of the movement of a vehicle (moving body) that is constrained by a motion model in the first embodiment; 第1の実施形態において、図6とは別の運動モデルに基づく運動をする車両(移動体)の移動の概要を示す概略図。FIG. 7 is a schematic diagram showing an outline of movement of a vehicle (moving body) that moves based on a motion model different from that of FIG. 6 in the first embodiment; 第1の実施形態における、運動モデル誤差を説明するための移動体の運動の例を示す概略図。4A and 4B are schematic diagrams showing an example of motion of a moving body for explaining a motion model error in the first embodiment; FIG. 第2の実施形態の情報処理装置の概略機能構成を示すブロック図。FIG. 2 is a block diagram showing a schematic functional configuration of an information processing apparatus according to a second embodiment; FIG. 第2の実施形態の情報処理装置による処理の手順を示すフローチャート。10 is a flow chart showing the procedure of processing by the information processing apparatus according to the second embodiment; 第3の実施形態の情報処理装置の概略機能構成を示すブロック図。FIG. 11 is a block diagram showing a schematic functional configuration of an information processing apparatus according to a third embodiment;

以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。 Hereinafter, an information processing apparatus, an information processing method, and a program according to embodiments will be described with reference to the drawings.

(第1の実施形態)
図1は、本実施形態による情報処理装置1の概略機能構成を示すブロック図である。図示するように、情報処理装置1は、推定部101と、画像取得部102と、特徴点追跡部103と、特徴点誤差算出部104と、運動モデル算出部105と、運動モデル誤差算出部106と、補正部107とを含むよう構成される。これらの各機能部は、例えば、電子回路を用いて実現される。また、各機能部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、情報処理装置1の全体または一部の機能を、コンピューターおよびソフトウェアによって実現するようにしてもよい。
(First embodiment)
FIG. 1 is a block diagram showing a schematic functional configuration of an information processing apparatus 1 according to this embodiment. As illustrated, the information processing apparatus 1 includes an estimation unit 101, an image acquisition unit 102, a feature point tracking unit 103, a feature point error calculation unit 104, a motion model calculation unit 105, and a motion model error calculation unit 106. , and a correction unit 107 . Each of these functional units is implemented using electronic circuits, for example. In addition, each functional unit may be internally provided with storage means such as a semiconductor memory or a magnetic hard disk device, if necessary. Also, all or part of the functions of the information processing device 1 may be realized by a computer and software.

情報処理装置1は、例えば、移動体に設けられる。ここで、移動体とは、例えば、自動車(電気自動車を含む)、自動二輪車、鉄道車両、航空機、ドローン等である。なお、情報処理装置1が有する機能のうち、画像取得部102が持つカメラと、その他の必要な機能のみが移動体に設けられるようにしてもよい。この場合、情報処理装置1のうち、移動体に取り付けられる部分と、その他の部分とは、通信装置等を用いて適宜、相互に通信する。 The information processing device 1 is provided, for example, in a mobile object. Here, the moving body is, for example, an automobile (including an electric vehicle), a motorcycle, a railroad vehicle, an aircraft, a drone, or the like. Note that, of the functions of the information processing apparatus 1, only the camera of the image acquisition unit 102 and other necessary functions may be provided in the moving body. In this case, the portion of the information processing device 1 that is attached to the moving object and the other portion communicate with each other as appropriate using a communication device or the like.

推定部101は、補正部107が算出した補正量を基に、移動体の位置および姿勢を推定するものである。つまり推定部101は、補正部107が求めた補正量のフィードバックを受け、この補正量に基づいて、推定された移動体の位置および姿勢を補正して、新たな推定位置とする。 The estimation unit 101 estimates the position and orientation of the moving object based on the correction amount calculated by the correction unit 107 . That is, the estimating unit 101 receives feedback of the correction amount obtained by the correcting unit 107, corrects the estimated position and orientation of the moving body based on this correction amount, and obtains a new estimated position.

移動体の位置とは、3次元空間における移動体の位置である。移動体の位置は、例えば、3次元座標により表され得る。ただし、移動体の移動に関して拘束条件がある場合には、必ずしも3次元の座標により位置が表される必要はなく、適宜、情報を削減してよい。例えば、典型例として、移動体が、所定の平面上のみを移動するという条件に束縛される場合には、移動体の位置は、当該平面状の2次元の座標のみによって表され得る。ただし、上記の拘束条件は、移動体の平面上への拘束のみに限られるものではない。拘束条件は、3次元空間内における何らかの拘束に関する条件であってもよい。また、上記移動体が大きさを持つ場合には、移動体に含まれる所定の箇所あるいは所定の点の位置を、上記の「移動体の位置」とみなしてよい。また、移動体の姿勢とは、少なくとも、移動体の向きである。移動体が可動部を有する場合(一例としては、クレーン車の、クレーンに含まれるジョイント部が可動部である)、姿勢は、その可動部の状態を含んでもよい。ここで、移動体の向きは、例えば3次元の角度によって表され得る。ただし、移動体の向きに関する拘束条件がある場合に、姿勢を表す情報は、必ずしも、独立な3次元の座標値を持たなくてもよい。一例として、移動体が四輪自動車等の車両であって、当該車両のタイヤの底面が所定の平面と接するように拘束される場合には、また当該車両に可動部がないものとみなせる場合には、当該車両の姿勢は、当該平面上の回転角という1次元の数値によって表され得る。 The position of the mobile object is the position of the mobile object in the three-dimensional space. The position of the moving body can be represented by three-dimensional coordinates, for example. However, if there are restrictions on the movement of the moving object, the position does not necessarily need to be represented by three-dimensional coordinates, and the information may be reduced as appropriate. For example, as a typical example, if the moving body is constrained to move only on a predetermined plane, the position of the moving body can be represented only by two-dimensional coordinates on the plane. However, the above constraint conditions are not limited to the constraint on the plane of the moving body. A constraint condition may be a condition relating to some constraint in a three-dimensional space. Further, when the moving body has a size, the position of a predetermined portion or a predetermined point included in the moving body may be regarded as the "position of the moving body". Also, the attitude of the mobile body is at least the orientation of the mobile body. When the moving object has a movable part (for example, the movable part is a joint part included in the crane of a mobile crane), the posture may include the state of the movable part. Here, the orientation of the moving body can be represented by, for example, a three-dimensional angle. However, if there are constraints on the orientation of the moving object, the information representing the orientation does not necessarily have independent three-dimensional coordinate values. As an example, if the moving object is a vehicle such as a four-wheeled vehicle, and the bottom surface of the tire of the vehicle is constrained so that it contacts a predetermined plane, or if the vehicle can be considered to have no moving parts. , the attitude of the vehicle can be represented by a one-dimensional numerical value of the rotation angle on the plane.

画像取得部102は、画像を取得する。画像取得部102は、例えば、光学的な画像を撮影するためのカメラや、距離画像を取得するための距離センサーなどを含むよう、構成される。 The image acquisition unit 102 acquires an image. The image acquisition unit 102 is configured to include, for example, a camera for capturing an optical image, a distance sensor for acquiring a distance image, and the like.

画像取得部102が取得する画像は、例えば、カラー画像、グレースケール画像、距離画像などである。カラー画像やグレースケール画像は、コンピューターに接続されたカメラ(ビデオカメラ等)から取得可能である。距離画像は、距離センサーから取得可能である。なお、画像取得部102がオンラインでリアルタイムに取得した画像を処理対象としてもよい。また、画像取得部102が取得した画像を記憶装置等に保存した後で、オフラインでその画像を処理対象としてもよい。 The image acquired by the image acquisition unit 102 is, for example, a color image, a grayscale image, a distance image, or the like. Color and grayscale images can be obtained from a camera (such as a video camera) connected to the computer. A range image can be obtained from a range sensor. Note that an image acquired online in real time by the image acquisition unit 102 may be processed. Further, after the image acquired by the image acquisition unit 102 is stored in a storage device or the like, the image may be processed offline.

なお、移動体が剛体である場合、移動体に直接取り付けられるカメラや距離センサーは、移動体の位置および姿勢に基づく画像を取得する。この画像に含まれる特徴点の座標が、情報処理装置1における位置および姿勢の推定の基となる。ここで、移動体におけるカメラや距離センサーの、取り付け位置や、画像を取得する際のカメラ等の向きや、画角等は、固定されるようにする。 Note that when the moving body is a rigid body, a camera or distance sensor attached directly to the moving body acquires an image based on the position and orientation of the moving body. The coordinates of the feature points included in this image are the basis for estimating the position and orientation in the information processing apparatus 1 . Here, the mounting positions of the camera and the distance sensor on the moving body, the orientation of the camera and the like when acquiring an image, the angle of view, and the like are fixed.

特徴点追跡部103は、画像取得部102が取得した画像から、所定の特徴点を抽出する。所定の特徴点とは、例えば、画像取得部102が取得した画像中の物体の特徴点である。また、特徴点追跡部103は、時系列の複数の画像における同一の特徴点を追跡する。言い換えれば、特徴点追跡部103は、異なる時刻に撮影した複数の画像間で、それぞれ抽出した特徴点同士を対応付ける。つまり、特徴点追跡部103は、異なる時刻に取得された複数の前記画像間で前記特徴点を追跡する。 The feature point tracking unit 103 extracts predetermined feature points from the image acquired by the image acquisition unit 102 . A predetermined feature point is, for example, a feature point of an object in an image acquired by the image acquisition unit 102 . Further, the feature point tracking unit 103 tracks the same feature point in a plurality of time-series images. In other words, the feature point tracking unit 103 associates feature points extracted from a plurality of images captured at different times. That is, the feature point tracking unit 103 tracks the feature points among the plurality of images acquired at different times.

特徴点とは、一般的には、画像上で何らかの特徴を有する点である。そのような特徴を有することにより、特徴点は、より容易に抽出され得る。光学的な画像の場合には、例えば、複数の(例えば2本の)線分要素の交点は、特徴点として適している。距離画像の場合には、例えば、距離の極大点または極小点や、光学的画像の場合と同様に複数の線成分の交点を特徴点として利用し得る。 A feature point is generally a point having some characteristic on an image. By having such features, feature points can be more easily extracted. In the case of optical images, for example, intersections of a plurality of (for example two) segment elements are suitable as feature points. In the case of a distance image, for example, the maximum point or the minimum point of the distance, or the intersection of a plurality of line components can be used as feature points, as in the case of the optical image.

特徴点の抽出および追跡の処理自体は、既存技術を利用して実施可能である。具体的には、SIFT(Scale-Invariant Feature Transform)や、ORB(Oriented FAST and Rotated BRIEF)や、LIFT(Learned Invariant Feature Points)などといった技術を利用可能である。なお、SIFTについては、参考文献1[D. G. Lowe. Distinctive image features from scale invariant keypoints. IJCV, 2004.]にも記載されている。ORBについては、参考文献2[E. Rublee, V. Rabaud, K. Konolige, and G. Bradski. ORB: An efficient alternative to SIFT or SURF. In ICCV, 2011.]にも記載されている。LIFTについては、参考文献3[K. M. Yi, E. Trulls, V. Lepetit, and P. Fua. LIFT: Learned Invariant Feature Transform. In ECCV, 2016.]にも記載されている。 The feature point extraction and tracking process itself can be implemented using existing technology. Specifically, techniques such as SIFT (Scale-Invariant Feature Transform), ORB (Oriented FAST and Rotated BRIEF), and LIFT (Learned Invariant Feature Points) can be used. Note that SIFT is also described in reference 1 [D. G. Lowe. Distinctive image features from scale invariant keypoints. IJCV, 2004.]. ORB is also described in reference 2 [E. Rublee, V. Rabaud, K. Konolige, and G. Bradski. ORB: An efficient alternative to SIFT or SURF. In ICCV, 2011.]. LIFT is also described in Reference 3 [K. M. Yi, E. Trulls, V. Lepetit, and P. Fua. LIFT: Learned Invariant Feature Transform. In ECCV, 2016.].

あるいは、画像に含まれる各画素を特徴点とみなして、ある画像をアフィン変換し、別の画像に投影したときの輝度差が最小になったときのアフィン変換のパラメーターを追跡結果としてもよい。また、オプティカルフローなどを使って、画像の各画素を追跡するようにしてもよい。 Alternatively, each pixel included in an image may be regarded as a feature point, an image may be affine transformed, and the parameters of the affine transformation when the luminance difference when projected onto another image is minimized may be used as the tracking result. Alternatively, each pixel of an image may be tracked using optical flow or the like.

特徴点誤差算出部104は、特徴点追跡部103による特徴点の追跡結果と、推定部101が推定した移動体の位置および姿勢とから、特徴点誤差を算出する。言い換えれば、特徴点誤差算出部104は、取得した画像内の特徴点を追跡することによって求められる特徴点の座標と、推定される移動体の位置および姿勢から求められる特徴点の座標との差を求める。つまり、特徴点誤差算出部104は、特徴点の追跡結果に基づいて求められる移動体の位置と、推定部101が推定した移動体の位置と、の差である特徴点誤差を求める。つまり、特徴点誤差算出部104は、取得された画像中の物体の特徴点の位置と、物体の特徴点の3次元上の位置との誤差である特徴点誤差を算出する。 The feature point error calculation unit 104 calculates the feature point error from the tracking result of the feature points by the feature point tracking unit 103 and the position and orientation of the moving object estimated by the estimation unit 101 . In other words, the feature point error calculation unit 104 calculates the difference between the coordinates of the feature points obtained by tracking the feature points in the acquired image and the coordinates of the feature points obtained from the estimated position and orientation of the moving object. Ask for That is, the feature point error calculation unit 104 obtains the feature point error, which is the difference between the position of the moving object obtained based on the tracking result of the feature points and the position of the moving object estimated by the estimation unit 101 . That is, the feature point error calculation unit 104 calculates a feature point error, which is an error between the position of the feature point of the object in the acquired image and the three-dimensional position of the feature point of the object.

運動モデル算出部105は、推定部101が推定した移動体の位置および姿勢と、当該移動体の運動に関する拘束条件である運動モデルとに基づいて、当該移動体の位置および姿勢を算出する。 The motion model calculation unit 105 calculates the position and orientation of the mobile object based on the position and orientation of the mobile object estimated by the estimation unit 101 and the motion model, which is a constraint condition regarding the motion of the mobile object.

運動モデル誤差算出部106は、運動モデル算出部105が算出した移動体の位置および姿勢と、推定部101が推定した移動体の位置および姿勢と、の差である運動モデル誤差を求める。なお、運動モデル誤差を算出する方法の詳細については、後で説明する。 The motion model error calculation unit 106 obtains a motion model error, which is the difference between the position and orientation of the moving object calculated by the motion model calculation unit 105 and the position and orientation of the moving object estimated by the estimation unit 101 . Details of the method for calculating the motion model error will be described later.

補正部107は、特徴点誤差算出部104が算出した特徴点誤差と、運動モデル誤差算出部106が算出した運動モデル誤差とから、移動体の位置および姿勢の補正量を算出する。つまり、補正部107は、特徴点誤差と、運動モデル誤差と、に基づいて推定部101が推定した前記移動体の位置を補正するための補正量を求める。言い換えれば、補正部107は、取得された画像中の物体の特徴点と、移動体の拘束条件である運動モデルと、に基づいて推定部101が推定した移動体の位置および姿勢を補正するための補正量を求める。補正部107は、算出された補正量の情報を、推定部101にフィードバックする。なお、誤差を小さくするための補正量を求める方法については、後で説明する。 The correction unit 107 calculates correction amounts for the position and orientation of the moving body from the feature point error calculated by the feature point error calculation unit 104 and the motion model error calculated by the motion model error calculation unit 106 . That is, the correction unit 107 obtains a correction amount for correcting the position of the moving object estimated by the estimation unit 101 based on the feature point error and the motion model error. In other words, the correcting unit 107 corrects the position and orientation of the moving object estimated by the estimating unit 101 based on the feature points of the object in the acquired image and the motion model that is the constraint condition of the moving object. Calculate the amount of correction for The correction unit 107 feeds back the calculated correction amount information to the estimation unit 101 . A method of obtaining the correction amount for reducing the error will be described later.

図2は、情報処理装置1による処理の手順を示すフローチャートである。ここでは、このフローチャートに沿って、情報処理装置による処理の手順を説明する。 FIG. 2 is a flowchart showing the procedure of processing by the information processing apparatus 1. As shown in FIG. Here, the procedure of processing by the information processing apparatus will be described along this flowchart.

ステップS101では、画像取得部102が、画像を取得する。 In step S101, the image acquisition unit 102 acquires an image.

ステップS102では、ステップS101で取得した画像を基に、特徴点追跡部103が、画像内の特徴点を抽出する。次に、特徴点追跡部103は、抽出された特徴点と、異なる時刻に取得した他の画像から抽出された特徴点とのマッチングを行う。これにより、特徴点追跡部103は、特徴点同士の対応付けを行う。つまり、特徴点追跡部103は、時系列における特徴点の追跡を行う。 In step S102, the feature point tracking unit 103 extracts feature points in the image based on the image acquired in step S101. Next, the feature point tracking unit 103 matches the extracted feature points with feature points extracted from other images acquired at different times. Thereby, the feature point tracking unit 103 associates the feature points with each other. That is, the feature point tracking unit 103 tracks feature points in time series.

ステップS103では、推定部101は、移動体の位置および姿勢を推定する。本ステップで推定される位置および姿勢は、それぞれ、位置および姿勢の初期値である。位置および姿勢の初期値の推定のしかたについては、別途説明する。 In step S103, the estimation unit 101 estimates the position and orientation of the moving object. The position and orientation estimated in this step are the initial values of the position and orientation, respectively. How to estimate the initial values of the position and orientation will be described separately.

ステップS104では、特徴点誤差算出部104は、特徴点誤差を算出する。この特徴点誤差は、ステップS102で得られた特徴点の追跡結果と、ステップS103またはステップS109のいずれかにおいて推定部101が推定した位置および姿勢(直近で推定された位置および姿勢)とから算出される。 In step S104, the feature point error calculator 104 calculates feature point errors. This feature point error is calculated from the feature point tracking result obtained in step S102 and the position and orientation estimated by the estimation unit 101 in either step S103 or step S109 (most recently estimated position and orientation). be done.

ステップS105では、運動モデル算出部105が、運動モデルを算出する。この運動モデルは、ステップS103またはステップS109のいずれかにおいて推定部101が推定した位置および姿勢(直近で推定された位置および姿勢)を基に算出される。 In step S105, the exercise model calculator 105 calculates an exercise model. This motion model is calculated based on the position and orientation (most recently estimated position and orientation) estimated by the estimation unit 101 in either step S103 or step S109.

ステップS106では、運動モデル誤差算出部106が、運動モデル誤差を算出する。この運動モデル誤差は、ステップS103またはステップS109のいずれかにおいて推定部101が推定した位置および姿勢(直近で推定された位置および姿勢)と、S105で運動モデル算出部105が算出した運動モデルとから、算出される。 In step S106, the motion model error calculator 106 calculates a motion model error. This motion model error is obtained from the position and orientation (most recently estimated position and orientation) estimated by the estimation unit 101 in either step S103 or step S109 and the motion model calculated by the motion model calculation unit 105 in S105. , is calculated.

ステップS107では、情報処理装置1は、ステップS104で算出された特徴点誤差と、ステップS106で算出された運動モデル誤差とが、十分に小さい値であるかどうかを判定する。具体的には、情報処理装置1は、特徴点誤差と運動モデル誤差とを総合的に評価するための評価関数値を用いる。この評価関数の一例は、特徴点誤差の絶対値と運動モデル誤差の絶対値とを単純に加算する関数である。なお、他の評価関数を用いてもよい。情報処理装置1は、予め定められた上記評価関数の閾値に基づいて、本ステップでの判定を行う。判定の結果、誤差が十分に小さい場合(ステップS107:YES)には、所望の誤差範囲内の位置および姿勢が推定されているため、本フローチャート全体の処理を終了する。誤差が十分に小さくない場合(ステップS107:NO)には、ステップS108に進む。 In step S107, the information processing apparatus 1 determines whether the feature point error calculated in step S104 and the motion model error calculated in step S106 are sufficiently small values. Specifically, the information processing apparatus 1 uses evaluation function values for comprehensively evaluating feature point errors and motion model errors. An example of this evaluation function is a function that simply adds the absolute value of the feature point error and the absolute value of the motion model error. Note that other evaluation functions may be used. The information processing apparatus 1 performs the determination in this step based on the predetermined threshold value of the evaluation function. As a result of the determination, if the error is sufficiently small (step S107: YES), the position and orientation are estimated within the desired error range, so the entire processing of this flowchart ends. If the error is not sufficiently small (step S107: NO), the process proceeds to step S108.

ステップS108では、補正部107は、特徴点誤差と運動モデル誤差とをより小さくように補正量を算出する。補正部107は、算出された補正量を、推定部101に渡す。 In step S108, the correction unit 107 calculates a correction amount so as to reduce the feature point error and the motion model error. The correction unit 107 passes the calculated correction amount to the estimation unit 101 .

ステップS109では、ステップS108で補正部107が算出した補正量を適用することによって、推定部101が、移動体の補正後の位置および姿勢を推定する。推定部101は、この補正後の位置および姿勢を、新たな推定結果とする。 In step S109, the estimation unit 101 estimates the corrected position and orientation of the moving object by applying the correction amount calculated by the correction unit 107 in step S108. Estimating section 101 uses the corrected position and orientation as a new estimation result.

以上の、繰り返しを含む一連の処理手順により、推定される位置および姿勢について、誤差が小さくなるよう調整することができる。 Through the above series of processing procedures including repetition, it is possible to adjust the estimated position and orientation so as to reduce the error.

なお、様々な値を算出する処理において論理的な矛盾(例えば、値の依存関係の矛盾等)が生じない範囲で、図2に示した各ステップの処理の順序を変えたり、一部のステップを互いに並行に実行するようにしたりしてもよい。一例として、特徴点誤差を算出し終える前に、運動モデル誤差を算出するようにしてもよい。 It should be noted that the processing order of each step shown in FIG. may be executed in parallel with each other. As an example, the motion model error may be calculated before finishing calculating the feature point error.

図2で説明した各処理のさらに詳細な事項について、次に説明する。 Further details of each process described with reference to FIG. 2 will be described below.

図3は、特徴点追跡部103による、複数の画像間での特徴点の対応付け(つまり、追跡)の処理の結果の概要を示す概略図である。同図は、画像取得部102が取得した5枚の画像を含んでいる。これら5枚の画像は、それぞれ、離散時刻T,T+1,T+2,T+3,T+4に対応するものである。各画像は、各時刻に、移動体の進行方向前方に設けられたカメラを用いて撮影された画像である。各画像内に示す黒丸の点は、特徴点追跡部103によって抽出された特徴点である。また、これらの黒丸の点同士を結ぶ直線が、画像間での特徴点の対応付け(対性)を示す。 FIG. 3 is a schematic diagram showing an overview of the processing result of feature point matching (that is, tracking) between a plurality of images by the feature point tracking unit 103. As shown in FIG. The figure includes five images acquired by the image acquisition unit 102 . These five images correspond to discrete times T, T+1, T+2, T+3 and T+4, respectively. Each image is an image captured at each time using a camera provided in front of the traveling direction of the moving object. The black dots shown in each image are feature points extracted by the feature point tracking unit 103 . Also, a straight line connecting these black circle points indicates correspondence (symmetry) of feature points between images.

次に、位置および姿勢の初期値の推定方法について説明する。推定部101が、移動体の初期の位置および姿勢を推定する方法は、例えば、次の通りである。具体的には、推定部101は、過去のフレームの位置および姿勢と、速度とから、等速度運動を仮定して、現在の初期の位置および姿勢を推定してよい。 Next, a method for estimating the initial values of the position and orientation will be described. The method by which the estimating unit 101 estimates the initial position and orientation of the moving object is, for example, as follows. Specifically, the estimation unit 101 may estimate the current initial position and orientation from the position and orientation of the past frames and the velocity, assuming constant velocity motion.

iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、移動体の位置をt、移動体の姿勢をR、時刻をT、速度をsとすると、等速度運動を仮定した初期位置および姿勢は、式(1)に示す様になる。この式(1)は、ti-1,ti-2,T,Ti-1,Ti-2,sを入力として、位置tを出力するための計算過程を表す。また、式(1)は、Ri-1,Ri-2,T,Ti-1,Ti-2を入力として、姿勢Rを出力するための計算過程を表す。 In the i-th frame (i=1, 2, . . . , |F|, |F|-th frame is the latest frame), t i is the position of the moving body, R i is the attitude of the moving body, T i is the time, and T i is the speed. Assuming that s i , the initial position and orientation assuming constant velocity motion are as shown in equation (1). This formula (1) represents a calculation process for taking t i−1 , t i−2 , T i , T i−1 , T i−2 , and s i as inputs and outputting the position t i . Equation (1) represents a calculation process for inputting R i−1 , R i−2 , T i , T i−1 , and T i−2 and outputting attitude R i .

Figure 0007175930000001
Figure 0007175930000001

なお、式(1)において、r(R)は、回転行列Rを回転角表現したものである。同様に、r-1(θ)は、回転角θを回転行列表現したものである。 In equation (1), r(R) represents the rotation angle of the rotation matrix R. Similarly, r −1 (θ) is the rotation matrix representation of the rotation angle θ.

あるいは、推定部101は、Nisterの5点アルゴリズムや、PnP(Perspective-n-Point)問題を解くアルゴリズムを用いて、特徴点追跡結果から、初期の位置および姿勢を算出してもよい。Nisterの5点アルゴリズムについては、参考文献4[Nister, D. An efficient solution to the five-point relative pose problem. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(6):756-770, 2004.]にも記載されている。PnP問題を解くアルゴリズムについては、参考文献5[V. Lepetit, F. Moreno-Noguer, and P. Fua, “EPnP: An accurate O(n) solution to the PnP problem,” International Journal of Computer Vision, vol. 81, no. 2, pp. 155-166, 2009.]にも記載されている。 Alternatively, the estimation unit 101 may calculate the initial position and orientation from the feature point tracking result using Nister's 5-point algorithm or an algorithm for solving the PnP (Perspective-n-Point) problem. Nister's five-point algorithm is described in reference 4 [Nister, D. An efficient solution to the five-point relative problem pose. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(6):756-770, 2004.] is also listed. For the algorithm to solve the PnP problem, refer to Reference 5 [V. Lepetit, F. Moreno-Noguer, and P. Fua, “EPnP: An accurate O(n) solution to the PnP problem,” International Journal of Computer Vision, vol. 81, no. 2, pp. 155-166, 2009.].

Nisterの5点アルゴリズムは、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)の画像から抽出したj番目の特徴点の位置xji(j=1,2,…,M)と、kフレーム目(k≠i)の画像から抽出した、xjiの追跡結果である特徴点の位置xjkとの位置関係を使って、移動体の位置tと姿勢Rとを算出する手法である。PnP問題を解くアルゴリズムは、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、画像から抽出したj番目の特徴点の位置xji(j=1,2,…,M)と、xjiの3次元位置Xとから、移動体の位置tと姿勢Rとを算出する手法である。 Nister's 5-point algorithm is based on the j-th feature point position x ji (j=1 , 2 , . This is a method of calculating i and the orientation R i . The algorithm for solving the PnP problem is the position x ji (j= 1, 2, . . . , M i ) and the three-dimensional position X j of x ji to calculate the position t i and the orientation R i of the moving body.

ただし、Nisterの5点アルゴリズムでは、位置のスケールを算出することができない。そのため、距離画像などを用いて別途求めた特徴点の3次元位置や、スピードメーター(速度計)などから取得した移動体の速度などを使ってスケールを求めることも必要となる。一例として、Nisterの5点アルゴリズムと、スピードメーターなどから取得した移動体の速度とを使った、位置および姿勢の推定方法について説明する。iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、移動体の位置をt、移動体の姿勢をR、時刻をT、速度をsとする。kフレーム目の特徴点と|F|フレーム目の特徴点との対応付け結果(追跡結果)を使って、Nisterの5点アルゴリズムで推定した、kフレーム目の移動体の位置・姿勢を原点とした|F|フレーム目の移動体の相対位置をnk|F|とする。ただし、スケールが不明であるため、この相対位置について、次の式の通りとする。 However, Nister's 5-point algorithm cannot compute the scale of the position. Therefore, it is also necessary to determine the scale using the three-dimensional positions of the feature points separately determined using a range image or the like, or the speed of the moving object obtained from a speedometer or the like. As an example, we explain how to estimate the position and orientation using Nister's 5-point algorithm and the speed of a moving object obtained from a speedometer or the like. In the i-th frame (i=1, 2, . . . , |F|, |F|-th frame is the latest frame), t i is the position of the moving body, R i is the attitude of the moving body, T i is the time, and T i is the speed. Let si . Using the matching result (tracking result) between the feature points of the k-th frame and the feature points of the |F| Let nk|F| be the relative position of the moving object in the |F|th frame. However, since the scale is unknown, the relative position is expressed by the following formula.

Figure 0007175930000002
Figure 0007175930000002

このとき、|F|フレーム目の位置t|F|は、次の式(2)で表される。 At this time, the |F|-th position t 1 |F| is represented by the following equation (2).

Figure 0007175930000003
Figure 0007175930000003

この式(2)は、kフレーム目の姿勢Rと、相対位置nk|F|と、kフレーム目および(|F|-1)フレーム目の位置tおよびt|F|-1と、|F|フレーム目および(|F|-1)フレーム目の時刻T|F|およびT|F|-1と、|F|フレーム目の速度s|F|とを入力として、|F|フレーム目の位置t|F|-1を出力するための計算過程を表す。なお、角度φについては、後述する。 This equation (2) is expressed by the attitude R k of the k-th frame, the relative position n k|F| , and the positions t k and t |F|-1 of the k-th and (|F|-1)th frames. , |F|-th and (|F|-1)th frame times T |F| and T |F|-1 , and |F|-th frame speed s | F| It shows the calculation process for outputting the position t |F|-1 of the th frame. Note that the angle φ will be described later.

図4は、上記の方法によって推定部101が移動体の|F|フレーム目の位置(初期値)を推定するための計算過程を示す概略図である。図示するように、等速度運動を仮定して、kフレーム目の移動体の状態と、(|F|-1)フレーム目の移動体の状態とから、|F|フレーム目の移動体の位置が推定され得る。 FIG. 4 is a schematic diagram showing a calculation process for the estimating unit 101 to estimate the |F|-th position (initial value) of the moving object by the above method. As shown in the figure, assuming constant velocity motion, the position of the moving object in the |F| can be estimated.

図4において、kフレーム目における移動体の位置はtであり、姿勢はRである。|F|-1フレーム目における移動体の位置はt|F|-1である。|F|フレーム目における移動体の位置はt|F|である。車速と時間とから算出される移動距離は、|t|F|-t|F|-1|であり、上の式(2)で表される通りである。式(2)にも現れる角度φは、図4にも示す通り、kフレーム目における移動体の位置を中心として、|F|-1フレーム目における移動体の位置と、|F|フレーム目における移動体の位置とが成す角度である。 In FIG. 4, the position of the moving body in the k -th frame is tk, and the posture is Rk . The position of the moving object in the |F|-1th frame is t |F|-1 . The position of the moving object in the |F|-th frame is t |F| . The traveled distance calculated from the vehicle speed and time is |t |F| −t |F|−1 |, as expressed by the above equation (2). As shown in FIG. 4, the angle φ appearing in the equation (2) is defined by the position of the moving body in the |F|-1th frame and the position of the moving body in the |F| This is the angle formed with the position of the moving body.

次に、特徴点誤差算出部104による特徴点誤差の算出方法について説明する。特徴点誤差とは、3次元空間内の特徴点をフレーム画像に投影したときの位置(画像上の2次元座標)と、そのフレーム画像上で抽出された特徴点の位置(画像上の2次元画像)との差(距離、ノルム)である。 Next, a method of calculating the feature point error by the feature point error calculator 104 will be described. The feature point error is defined as the position of the feature points in the three-dimensional space projected onto the frame image (two-dimensional coordinates on the image) and the position of the feature points extracted on the frame image (two-dimensional coordinates on the image). image) and the difference (distance, norm).

なお、特徴点の3次元位置(3次元空間内の位置)は、既存技術を用いて求めることができる。例えば、前述のNisterの5点アルゴリズムを用いて、特徴点の3次元位置を求めることができる。また、距離画像推定の結果などを用いて、特徴点の3次元位置を求めることもできる。情報処理装置1の画像取得部102等が距離センサーを備えている場合には、距離画像を用いて特徴点の3次元位置を求めることができる。 Note that the three-dimensional positions (positions in the three-dimensional space) of feature points can be obtained using existing techniques. For example, Nister's 5-point algorithm described above can be used to determine the three-dimensional positions of the feature points. Moreover, the three-dimensional position of the feature point can also be obtained using the result of distance image estimation or the like. If the image acquisition unit 102 or the like of the information processing apparatus 1 is equipped with a distance sensor, the three-dimensional position of the feature point can be obtained using the distance image.

なお、上記の距離画像推定の技術は、例えば、参考文献6[R. Mahjourian, M. Wicke, and A. Angelova. Unsupervised learning of depth and ego-motion from monocular video using 3d geometric constraints. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 5667-5675.]や、参考文献7[N. Mayer, E. Ilg, P. Hausser, P. Fischer, D. Cremers, A. Dosovitskiy, and T. Brox. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 4040-4048.]にも記載されている。 The technique of estimating the distance image described above is described, for example, in Reference 6 [R. Mahjourian, M. Wicke, and A. Angelova. Unsupervised learning of depth and ego-motion from monocular video using 3d geometric constraints. IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 5667-5675.] and Reference 7 [N. Mayer, E. Ilg, P. Hausser, P. Fischer, D. Cremers, A. Dosovitskiy, and T Brox. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 4040-4048.].

図5は、取得された画像における特徴点誤差の例を示す概略図である。同図には、第iフレーム目から第Nフレーム目までの画像が含まれている。ここで、第kフレーム目の画像(k=i,i+1,…,N)に着目すると、次の通りである。kフレーム目の画像は、そのフレームの時刻における移動体の位置および姿勢を前提として取得された画像である。ここで、kフレーム目の画像上の、j番目の特徴点に対応する位置xjk(ハット)は、当該j番目の特徴点の三次元位置を、当該画像に投射した位置である。なお、j番目の特徴点の三次元位置は、三角測量の原理で求められる。一方、kフレーム目の画像上における位置xjkは、当該画像上で抽出されたj番目の特徴点の位置である。これらの位置xjk(ハット)と位置xjkとの差が、特徴点誤差である。なお、この図において、位置xji、位置xji+1・・・、位置xjk・・・、位置xjNを、順次結ぶ円弧状の線は、画像間での特徴点の追跡を示す。 FIG. 5 is a schematic diagram illustrating an example of feature point errors in an acquired image. The figure includes images from the i-th frame to the N-th frame. Focusing on the k-th frame image (k=i, i+1, . . . , N), the following is true. The image of the k-th frame is an image obtained assuming the position and orientation of the moving object at the time of the frame. Here, the position x jk (hat) corresponding to the j-th feature point on the k-th frame image is a position obtained by projecting the three-dimensional position of the j-th feature point onto the image. Note that the three-dimensional position of the j-th feature point is obtained by the principle of triangulation. On the other hand, the position x jk on the k-th frame image is the position of the j-th feature point extracted on the image. The difference between these positions x jk (hat) and position x jk is the feature point error. In this figure, the arcuate lines connecting the positions x ji , x ji+1 , . . . , the positions x jk , .

特徴点誤差の算出方法は、次の通りである。iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、移動体の位置をt、移動体の姿勢をR、画像から抽出したj番目の特徴点の位置をxji(j=1,2,…,M)とし、また、j番目の特徴点の3次元位置をX、カメラの内部パラメーターをKとすると、特徴点の投影誤差(即ち、特徴点誤差)Eは、次の式(3)で表される。なお、カメラの内部パラメーターとは、具体的には、焦点距離と光学的中心(主点)の値で構成される行列である。 A method of calculating the feature point error is as follows. In the i -th frame ( i =1, 2, . Let the position of the feature point be x ji ( j =1, 2, . That is, the feature point error) E is represented by the following equation (3). Note that the internal parameters of the camera are specifically a matrix composed of focal length and optical center (principal point) values.

Figure 0007175930000004
Figure 0007175930000004

この式(3)は、画像上の特徴点の位置xjiと、移動体の姿勢をRと、移動体の位置tと、特徴点の3次元位置Xと、カメラの内部パラメーターKとを入力として、特徴点誤差Eを出力とする計算過程を表す。 This equation (3) is expressed by the position x ji of the feature point on the image, the posture of the moving body R i , the position t i of the moving body, the three-dimensional position X j of the feature point, and the camera internal parameter K is input and the feature point error E is output.

なお、ここで、1フレーム目(i=1)とは、カメラを起動して最初に取得されたフレームではなく、特徴点同士を対応付けることができたフレームの中で、最も過去に入力されたフレームを指す。 Here, the first frame (i=1) is not the first frame obtained after the camera is activated, but the most recently input frame among frames in which feature points can be associated with each other. point to the frame.

次に、運動モデルについて説明する。運動モデルとは、例えば、移動体が移動する際の拘束条件である。例えば、移動体が四輪車両である場合、拘束条件は次のようなものである。即ち、4つの車輪は地面に接触しており、地面より浮いた位置にも地面より沈んだ位置にも存在し得ない。また、移動体は基本的に前輪の方向へしか進行することができない。また、操舵角度は制限されている(即ち、移動体の回転半径には下限がある)。これらの拘束条件によって拘束される移動体は、真横に移動したり、真上(地面から浮く方向)へ移動したりすることはできない。 Next, the motion model will be explained. A motion model is, for example, a constraint condition when a moving object moves. For example, if the mobile object is a four-wheeled vehicle, the constraint conditions are as follows. That is, the four wheels are in contact with the ground and cannot be above or below the ground. In addition, the mobile body can basically only move in the direction of the front wheels. Also, the steering angle is limited (that is, there is a lower limit to the turning radius of the moving body). A moving body that is constrained by these constraint conditions cannot move horizontally or vertically (in a direction that lifts it off the ground).

運動モデルに基づいて移動体の位置および姿勢を推定する方法について説明する。なお、移動体が車両である場合を説明する。 A method for estimating the position and orientation of a moving object based on a motion model will be described. A case where the moving body is a vehicle will be described.

図6は、拘束条件によって拘束された運動をする車両(移動体)の移動の概要を示す概略図である。同図に示す車両位置は、車両の運動力学に基づいて算出されるものである。同図では、xyzの3次元空間において、車両はxy平面である地面上を走行する。言い換えれば、車両の車輪の底面は、xy平面上に拘束される。また、同図では、z軸の負領域側から正領域側を見ている。図示するように、車両の運動モデルとして、2つの後輪の中心位置(後輪中心と呼ぶ)を基準として旋回運動するモデルを定義してもよい。この場合、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、移動体の位置をt、移動体の姿勢をR、時刻をT、速度をs、後輪中心の旋回半径(回転半径)をρとすると、次の式(4)が成り立つ。 FIG. 6 is a schematic diagram showing an overview of movement of a vehicle (moving body) that is in motion constrained by a constraint condition. The vehicle position shown in the figure is calculated based on the dynamics of the vehicle. In the figure, the vehicle runs on the ground, which is the xy plane, in the xyz three-dimensional space. In other words, the bottom surfaces of the wheels of the vehicle are constrained on the xy plane. In addition, in the figure, the positive region side is viewed from the negative region side of the z-axis. As shown in the figure, as a motion model of the vehicle, a model of turning motion with reference to the center positions of the two rear wheels (referred to as the rear wheel center) may be defined. In this case, in the i -th frame ( i = 1, 2, . , the speed is s i , and the turning radius (rotation radius) of the center of the rear wheel is ρ, the following equation (4) holds.

Figure 0007175930000005
Figure 0007175930000005

なお、図6に示すρは、上記車両の後輪中心の旋回運動の回転半径である。また、θは、旋回運動において|F|-1フレーム目から|F|フレーム目までの間に、車両が旋回する角度である。また、車速と時間とから算出される、|F|-1フレーム目から|F|フレーム目までの間の車両の移動距離が、|t|F|-t|F|-1|である。 ρ shown in FIG. 6 is the radius of rotation of the turning motion about the rear wheels of the vehicle. θ is the angle at which the vehicle turns from the |F|-1th frame to the |F|th frame in the turning motion. Also, the moving distance of the vehicle from the |F|-1th frame to the |F|th frame calculated from the vehicle speed and the time is |t |F| -t |F|-1 |.

式(4)は、(|F|-1)フレーム目の推定位置t|F|-1と、(|F|-1)フレーム目の姿勢R|F|-1と、|F|フレーム目の姿勢R|F|と、lと、(|F|-1)フレーム目の時刻T|F|-1と、|F|フレーム目の時刻T|F|と、|F|フレーム目の速度s|F|とを入力として、|F|フレーム目の推定位置t|F|を出力する計算過程を表すものである。 (|F|-1)th frame estimated position t |F|-1 , (|F|-1)th frame orientation R 1 |F|-1 , and |F|th frame Attitude R |F| , l, (|F|-1)-th frame time T |F|-1 , |F|-th time T |F| , and |F|-th speed s |F| is used as an input, and an estimated position t 1 |F| of the |F|-th frame is output.

式(4)において、lは、後輪中心を原点としたときの2つの前輪の中心位置(前輪中心と呼ぶ)である。また、y(R)は、回転行列Rから算出したヨー角である。運動モデルの回転行列Rは、操舵角から求めてもよいし、過去フレームの姿勢と速度から等速度運動を仮定して推定してもよいし、あるいは、移動体の初期の位置および姿勢の推定の例で述べた方法を用いて求めてもよい。 In equation (4), l is the center position of the two front wheels (referred to as the front wheel center) when the origin is the center of the rear wheels. y(R) is the yaw angle calculated from the rotation matrix R; The rotation matrix R of the motion model may be obtained from the steering angle, estimated from the posture and speed of the past frame assuming constant velocity motion, or estimated from the initial position and posture of the moving object. may be obtained using the method described in the example.

例えば、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、操舵角をδとすると、操舵角から算出した運動モデルの回転行列Rは、次の式(5)の様に表すこともできる。この式(5)は、操舵角δと、車体の重心と前輪中心との距離と、車体の重心と後輪中心との距離とを入力として、回転行列Rを出力する計算過程を表す。 For example, if the steering angle in the i -th frame ( i =1, 2, . , can also be expressed as in the following equation (5). This equation (5) represents a calculation process for outputting a rotation matrix R i with input of the steering angle δ i , the distance between the center of gravity of the vehicle body and the center of the front wheels, and the distance between the center of gravity of the vehicle body and the center of the rear wheels. .

Figure 0007175930000006
Figure 0007175930000006

ただし、y-1(θ)は、ヨー角θから算出した回転行列である。また、車体の重心と前後車輪の中心との距離に関しては、次の通りである。 However, y −1 (θ) is a rotation matrix calculated from the yaw angle θ. The distance between the center of gravity of the vehicle body and the center of the front and rear wheels is as follows.

Figure 0007175930000007
Figure 0007175930000007

図7は、図6とは別の運動モデルの定義に基づく運動をする車両(移動体)の移動の概要を示す概略図である。同図では、xyzの3次元空間において、車両はxy平面である地面上を走行する。言い換えれば、車両の車輪の底面は、xy平面上に拘束される。また、同図では、z軸の負領域側から正領域側を見ている。図7に示す運動モデルでは、車両が回転している場合においても、後輪は直線軌道を描く。なお、θは、|F|フレーム目における車両の姿勢R|F|-1と、|F|-1フレーム目における車両の姿勢R|F|-1とが成す角度である。この運動モデルを用いる場合、下の式(6)が成り立つ。 FIG. 7 is a schematic diagram showing an overview of movement of a vehicle (moving body) that moves based on a definition of a motion model different from that of FIG. In the figure, the vehicle runs on the ground, which is the xy plane, in the xyz three-dimensional space. In other words, the bottom surfaces of the wheels of the vehicle are constrained on the xy plane. In addition, in the figure, the positive region side is viewed from the negative region side of the z-axis. In the motion model shown in FIG. 7, the rear wheels draw a straight trajectory even when the vehicle is rotating. θ is the angle formed by the vehicle attitude R 1 | F|-1 in the |F|th frame and the vehicle attitude R 1 |F|-1 in the |F|-1th frame. When using this motion model, the following equation (6) holds.

Figure 0007175930000008
Figure 0007175930000008

|t|F|-t|F|-1|は、車速と時間とから算出される、|F|-1フレーム目から|F|フレーム目までの間の、車両の移動距離である。 |t |F| −t |F|-1 | is the moving distance of the vehicle from the |F|-1th frame to the |F|th frame, which is calculated from the vehicle speed and the time.

式(6)は、(|F|-1)フレーム目の推定位置t|F|-1と、(|F|-1)フレーム目の姿勢R|F|-1と、|F|フレーム目の姿勢R|F|と、lと、(|F|-1)フレーム目の時刻T|F|-1と、|F|フレーム目の時刻T|F|と、|F|フレーム目の速度s|F|とを入力として、|F|フレーム目の推定位置t|F|を出力するための計算過程を表すものである。 (|F|-1)th frame estimated position t |F|-1 , (|F|-1)th frame orientation R 1 |F|-1 , and |F|th frame Attitude R |F| , l, (|F|-1)-th frame time T |F|-1 , |F|-th time T |F| , and |F|-th speed s |F| is used as an input, and the calculation process for outputting the estimated position t 1 |F| of the |F|-th frame is shown.

図8は、運動モデル誤差を説明するための移動体の運動の例を示す概略図である。この図を参照しながら、運動モデル誤差について説明する。運動モデルの誤差とは、推定部101が推定した移動体の位置および姿勢と、運動モデルに基づいて得られる移動体の位置および姿勢との、差である。例えば、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、推定によって得られた移動体の位置をt、運動モデルによって得られた移動体の位置をt(ハット)とする。すると、運動モデル誤差eriは次の式(7)で表される。 FIG. 8 is a schematic diagram showing an example of motion of a moving body for explaining motion model errors. The motion model error will be described with reference to this figure. The motion model error is the difference between the position and orientation of the moving object estimated by the estimation unit 101 and the position and orientation of the moving object obtained based on the motion model. For example, t i is the position of the moving body obtained by estimation in the i-th frame (i=1, 2, . . . , |F|, |F| is the latest frame), Let t i (hat) be the position of . Then, the motion model error e ri is expressed by the following equation (7).

Figure 0007175930000009
Figure 0007175930000009

上の式(7)は、推定された移動体のtと、運動モデルによって得られた移動体の位置t(ハット)とを入力として、運動モデル誤差eriを出力するための計算過程を表す。 The above equation (7) is a calculation process for outputting the motion model error e ri with the estimated moving object t i and the position t i (hat) of the moving object obtained by the motion model as inputs. represents

移動体が車両である場合、後輪中心を基準に運動モデル誤差を算出する方法は次の通りである。即ち、推定によって得られた移動体の姿勢をR、運動モデルによって得られた移動体の位置をR(ハット)として、運動モデル誤差eriは次の式(8)で表される。 When the moving body is a vehicle, the method of calculating the motion model error based on the center of the rear wheels is as follows. That is, the motion model error e ri is expressed by the following equation (8), where R i is the posture of the moving body obtained by estimation, and R i (hat) is the position of the moving body obtained by the motion model.

Figure 0007175930000010
Figure 0007175930000010

式(8)は、iフレーム目の推定位置tと、iフレーム目の姿勢Rと、iフレーム目の運動モデルによる位置t(ハット)と、iフレーム目の運動モデルによる姿勢R(ハット)と、lを入力として、運動モデル誤差eriを出力するための計算過程を表す。ただし、lは、後輪中心を原点としたときの前輪中心の位置である。 Equation (8) is an estimated position t i of the i-th frame, a posture R i of the i-th frame, a position t i (hat) by the motion model of the i-th frame, and a posture R i of the motion model of the i-th frame. (hat) and 1 are input, and the calculation process for outputting the motion model error e ri is represented. However, l is the position of the center of the front wheel when the center of the rear wheel is taken as the origin.

次に、補正部107が求める補正量について説明する。補正部107は、特徴点誤差と運動モデル誤差とを基準に、補正量を算出する。特徴点誤差と運動モデル誤差とを組み合わせた誤差Eは、下の式(9)で表される。なお、式(9)に含まれる特徴点誤差ejiについては、式(3)で説明した通りである。また、運動モデル誤差eriについては、式(7)または式(8)で説明した通りである。 Next, the correction amount obtained by the correction unit 107 will be described. A correction unit 107 calculates a correction amount based on the feature point error and the motion model error. An error E, which is a combination of the feature point error and the motion model error, is expressed by Equation (9) below. Note that the feature point error e ji included in Equation (9) is as described in Equation (3). Also, the motion model error e ri is as described in equation (7) or (8).

Figure 0007175930000011
Figure 0007175930000011

式(9)は、特徴点誤差ejiおよび運動モデル誤差eriを入力として、総合的なEを出力するための計算過程を表す。なお、式(9)における、λは、特徴点誤差と運動モデル誤差とのバランスを調整するためのハイパーパラメーターである。 Equation (9) represents a calculation process for outputting total E with feature point errors e ji and motion model errors e ri as inputs. Note that λ in Equation (9) is a hyperparameter for adjusting the balance between the feature point error and the motion model error.

補正部107が求める補正量を、特徴点の3次元位置、移動体の位置、移動体の姿勢とした場合、補正量は、上記のEの値を小さくするための量である。例えば、ガウス・ニュートン法や、レーベンバーグ・マーカート法や、共役勾配法や、遺伝的アルゴリズム(GA)などを使って、補正部107は、Eを小さくするための補正量の値を求める。つまり、Eを最小化することで、1フレーム目から|F|フレーム目までの全てのフレームについて、特徴点誤差と運動モデル誤差の小さい位置tおよび姿勢Rを得ることができる。ただし、i=1,2,…、|F|であり、|F|フレーム目が最新フレームである。 When the correction amount obtained by the correction unit 107 is the three-dimensional position of the feature point, the position of the moving body, and the attitude of the moving body, the correction amount is an amount for reducing the value of E described above. For example, the Gauss-Newton method, the Levenberg-Marquardt method, the conjugate gradient method, the genetic algorithm (GA), or the like is used by the correction unit 107 to obtain a correction amount value for reducing E. That is, by minimizing E, positions t i and orientations R i with small feature point errors and motion model errors can be obtained for all frames from the first frame to the |F|th frame. However, i=1, 2, . . . |F|, and the |F|th frame is the latest frame.

Nisterの5点アルゴリズムなどを使う場合、kフレーム目の特徴点と|F|フレーム目の特徴点との対応付け結果(追跡結果)を使って位置および姿勢を推定するが、kの値によって、誤差Eが変わる。補正部107は、補正量を全探索することで、特徴点誤差と運動モデル誤差とを小さくする補正量を求めることができる。そして、この補正量により、移動体の位置および姿勢を補正することができる。 When using Nister's 5-point algorithm, etc., the position and orientation are estimated using the matching result (tracking result) between the k-th frame feature point and the |F|-th frame feature point, but depending on the value of k, Error E changes. The correction unit 107 can obtain a correction amount that reduces the feature point error and the motion model error by exhaustively searching for the correction amount. Then, it is possible to correct the position and posture of the moving body by using this correction amount.

以上、説明したように、本実施形態によると、運動モデル算出部105は、運動の条件に基づいて移動体の位置を求める。また、運動モデル誤差算出部106は、推定部101が推定した移動体の位置と、運動モデル算出部105が求めた移動体の位置とに基づき、運動モデル誤差を算出する。したがって、補正部107は、特徴点誤差だけに基づくのでなく、運動モデル誤差にも基づいて、補正量を求めることができる。これにより、前記移動体の位置等に関する推定精度が向上する。 As described above, according to the present embodiment, the motion model calculator 105 obtains the position of the moving body based on the motion conditions. Also, the motion model error calculation unit 106 calculates a motion model error based on the position of the mobile object estimated by the estimation unit 101 and the position of the mobile object obtained by the motion model calculation unit 105 . Therefore, the correction unit 107 can obtain the correction amount based not only on the feature point error, but also on the motion model error. This improves the accuracy of estimation of the position of the mobile object.

(第2の実施形態)
次に、第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
(Second embodiment)
Next, a second embodiment will be described. In addition, description may be abbreviate|omitted below about the matter already demonstrated in the previous embodiment. Here, the description will focus on matters specific to this embodiment.

図9は、本実施形態による情報処理装置2の概略機能構成を示すブロック図である。図示するように、情報処理装置2は、推定部201と、画像取得部202と、特徴点追跡部203と、特徴点誤差算出部204と、運動モデル算出部205と、運動モデル誤差算出部206と、補正部207と、センサー情報取得部211と、センサーモデル算出部212と、センサーモデル誤差算出部213とを含むよう構成される。 FIG. 9 is a block diagram showing a schematic functional configuration of the information processing device 2 according to this embodiment. As illustrated, the information processing apparatus 2 includes an estimation unit 201, an image acquisition unit 202, a feature point tracking unit 203, a feature point error calculation unit 204, a motion model calculation unit 205, and a motion model error calculation unit 206. , a correction unit 207 , a sensor information acquisition unit 211 , a sensor model calculation unit 212 , and a sensor model error calculation unit 213 .

本実施形態の特徴は、情報処理装置2が、センサー情報取得部211を有し、取得されたセンサー情報にも基づいて補正量を算出する点である。 A feature of the present embodiment is that the information processing device 2 has a sensor information acquisition unit 211 and calculates a correction amount based on the acquired sensor information as well.

推定部201と、画像取得部202と、特徴点追跡部203と、特徴点誤差算出部204と、運動モデル算出部205と、運動モデル誤差算出部206と、補正部207とは、それぞれ、第1の実施形態における推定部101と、画像取得部102と、特徴点追跡部103と、特徴点誤差算出部104と、運動モデル算出部105と、運動モデル誤差算出部106と、補正部107と、同様の、あるいは類似の機能を持つものである。本実施形態に特有の構成は、情報処理装置2が、センサー情報取得部211と、センサーモデル算出部212と、センサーモデル誤差算出部213とを含む点である。これらの、センサー情報取得部211と、センサーモデル算出部212と、センサーモデル誤差算出部213もまた、電子回路を用いて専用の機能として実現することもできるし、汎用のコンピューターとプログラムとを用いて実現することもできる。情報処理装置2を構成する各部の機能は、次の通りである。 The estimation unit 201, the image acquisition unit 202, the feature point tracking unit 203, the feature point error calculation unit 204, the motion model calculation unit 205, the motion model error calculation unit 206, and the correction unit 207 are respectively The estimation unit 101, the image acquisition unit 102, the feature point tracking unit 103, the feature point error calculation unit 104, the motion model calculation unit 105, the motion model error calculation unit 106, and the correction unit 107 in Embodiment 1 , are similar or have similar functions. A configuration unique to this embodiment is that the information processing device 2 includes a sensor information acquisition unit 211 , a sensor model calculation unit 212 , and a sensor model error calculation unit 213 . These sensor information acquisition unit 211, sensor model calculation unit 212, and sensor model error calculation unit 213 can also be realized as dedicated functions using electronic circuits, or can be realized using general-purpose computers and programs. can also be implemented. The function of each part constituting the information processing device 2 is as follows.

推定部201は、補正部207が算出した補正量を基に、移動体の位置および姿勢を推定するものである。つまり、推定部201は、第1の実施形態の推定部101と同様の機能を有する。 The estimation unit 201 estimates the position and orientation of the mobile object based on the correction amount calculated by the correction unit 207 . That is, the estimating unit 201 has the same function as the estimating unit 101 of the first embodiment.

画像取得部202は、画像を取得する。つまり、画像取得部202は、第1の実施形態の画像取得部102と同様の機能を有する。 The image acquisition unit 202 acquires an image. That is, the image acquisition unit 202 has the same functions as the image acquisition unit 102 of the first embodiment.

特徴点追跡部203は、画像取得部202が取得した画像から、所定の特徴点を抽出する。また、特徴点追跡部203は、時系列の複数の画像における同一の特徴点を追跡する。つまり、特徴点追跡部203は、第1の実施形態の特徴点追跡部103と同様の機能を有する。 The feature point tracking unit 203 extracts predetermined feature points from the image acquired by the image acquisition unit 202 . Also, the feature point tracking unit 203 tracks the same feature point in a plurality of time-series images. That is, the feature point tracking unit 203 has the same function as the feature point tracking unit 103 of the first embodiment.

特徴点誤差算出部204は、特徴点追跡部203による特徴点の追跡結果と、推定部201が推定した移動体の位置および姿勢とから、特徴点誤差を算出する。つまり、特徴点誤差算出部204は、第1の実施形態の特徴点誤差算出部104と同様の機能を有する。 The feature point error calculation unit 204 calculates the feature point error from the tracking result of the feature points by the feature point tracking unit 203 and the position and orientation of the moving object estimated by the estimation unit 201 . That is, the feature point error calculator 204 has the same function as the feature point error calculator 104 of the first embodiment.

運動モデル算出部205は、推定部201が推定した移動体の位置および姿勢を基に、運動モデルを算出する。つまり、運動モデル算出部205は、第1の実施形態の運動モデル算出部105と同様の機能を有する。 The motion model calculation unit 205 calculates a motion model based on the position and orientation of the moving object estimated by the estimation unit 201 . In other words, the exercise model calculator 205 has the same function as the exercise model calculator 105 of the first embodiment.

運動モデル誤差算出部206は、運動モデル算出部205が算出した運動モデルと、推定部201が求めた移動体の位置および姿勢とから、運動モデル誤差を算出する。つまり、運動モデル誤差算出部206は、第1の実施形態の運動モデル誤差算出部106と同様の機能を有する。 The motion model error calculation unit 206 calculates a motion model error from the motion model calculated by the motion model calculation unit 205 and the position and orientation of the moving object obtained by the estimation unit 201 . In other words, the motion model error calculator 206 has the same function as the motion model error calculator 106 of the first embodiment.

補正部207は、特徴点誤差算出部204が算出した特徴点誤差と、運動モデル誤差算出部206が算出した運動モデル誤差と、さらに、センサーモデル誤差算出部213が算出するセンサーモデル誤差とから、移動体の位置および姿勢の補正量を算出する。第1の実施形態における補正部107と異なる点は、補正部207が、上記センサーモデル誤差にも基づいて補正量を算出する点である。補正部207は、算出された補正量の情報を、推定部201にフィードバックする。なお、誤差を小さくするための補正量を求める方法については、後で説明する。 Based on the feature point error calculated by the feature point error calculation unit 204, the motion model error calculated by the motion model error calculation unit 206, and the sensor model error calculated by the sensor model error calculation unit 213, the correction unit 207 A correction amount for the position and orientation of the moving body is calculated. A difference from the correcting unit 107 in the first embodiment is that the correcting unit 207 calculates the correction amount also based on the sensor model error. The correction unit 207 feeds back the calculated correction amount information to the estimation unit 201 . A method of obtaining the correction amount for reducing the error will be described later.

センサー情報取得部211は、移動体等に設けられるセンサーから、センサー情報を取得する。 The sensor information acquisition unit 211 acquires sensor information from a sensor provided on a moving body or the like.

ここで、センサーとは、具体的には、スピードメーター、加速度センサー、ジャイロセンサー、舵角センサー、GPS端末装置等である。スピードメーターは、移動体の速度情報、あるいは速さ情報を取得する。加速度センサーであれば、移動体の加速度情報を取得する。ジャイロセンサーであれば、移動体の向きあるいは姿勢や、それらの時間微分値(角度情報や角速度情報)を取得する。GPS端末装置は、移動体の位置情報を取得する。また、センサーとして、ビデオカメラや、ネットワークカメラや、距離センサー等を使用してもよい。画像取得部202で用いるビデオカメラや、ネットワークカメラや、距離センサー等と同一の機器を使用する場合でも、画像取得部202のセンサーとは異なる位置に、これらの機器を取り付けることによって画像取得部202とは異なる情報を取得することができる。また、カメラや距離センサーでのフレームレート(単位時間当たりのフレーム数)や画角を変えたりすることによって、センサー情報取得部211が、画像取得部202では得られない情報を取得することもできる。さらに、センサーとして、慣性計測装置(IMU)やヨーレートGセンサーのように、複数のセンサーを組み合わせたセンサーを用いてもよい。 Here, the sensor specifically means a speedometer, an acceleration sensor, a gyro sensor, a steering angle sensor, a GPS terminal device, or the like. A speedometer acquires speed information or velocity information of a moving body. If it is an acceleration sensor, it acquires the acceleration information of the moving object. A gyro sensor acquires the orientation or posture of a moving body and their time differential values (angle information and angular velocity information). A GPS terminal device acquires location information of a mobile object. Also, a video camera, a network camera, a distance sensor, or the like may be used as the sensor. Even if the same devices as the video camera, network camera, distance sensor, etc. used in the image acquisition unit 202 are used, the image acquisition unit 202 can be controlled by attaching these devices to positions different from the sensor of the image acquisition unit 202. different information can be obtained. Also, by changing the frame rate (the number of frames per unit time) or the angle of view of the camera or distance sensor, the sensor information acquisition unit 211 can acquire information that cannot be obtained by the image acquisition unit 202. . Furthermore, as the sensor, a sensor combining a plurality of sensors such as an inertial measurement unit (IMU) or a yaw rate G sensor may be used.

センサーモデル算出部212は、センサー情報取得部211が取得したセンサー情報から、センサーモデルを算出する。言い換えれば、センサーモデル算出部212は、取得したセンサー情報に基づき、当該センサー種別に特有の計算手順で、移動体の位置および姿勢を算出する。 The sensor model calculator 212 calculates a sensor model from the sensor information acquired by the sensor information acquirer 211 . In other words, the sensor model calculation unit 212 calculates the position and orientation of the moving object based on the acquired sensor information, using a calculation procedure specific to the sensor type.

センサーモデル誤差算出部213は、センサーモデル算出部212が算出したセンサーモデルと、推定部201が推定した移動体の位置および姿勢から、センサーモデル誤差を算出する。言い換えれば、センサーモデル誤差算出部213は、推定部201が推定した移動体の位置と、前記センサーモデル算出部212が求めた移動体の位置と、の差であるセンサーモデル誤差を算出する。センサーモデル誤差を算出する方法の詳細については、後で説明する。 The sensor model error calculation unit 213 calculates a sensor model error from the sensor model calculated by the sensor model calculation unit 212 and the position and orientation of the mobile object estimated by the estimation unit 201 . In other words, the sensor model error calculation unit 213 calculates the sensor model error, which is the difference between the position of the mobile object estimated by the estimation unit 201 and the position of the mobile object obtained by the sensor model calculation unit 212 . Details of how to calculate the sensor model error will be described later.

図10は、情報処理装置2による処理の手順を示すフローチャートである。ここでは、このフローチャートに沿って、情報処理装置2による処理の手順を説明する。 FIG. 10 is a flowchart showing the procedure of processing by the information processing device 2. As shown in FIG. Here, the procedure of processing by the information processing device 2 will be described along this flowchart.

ステップS201では、画像取得部202が、画像を取得する。 In step S201, the image acquisition unit 202 acquires an image.

ステップS202では、ステップS201で取得した画像を基に、特徴点追跡部203が、画像内の特徴点を抽出する。そして、特徴点追跡部203は、抽出された特徴点と、異なる時刻に取得した他の画像から抽出された特徴点とのマッチングを行う。つまり、特徴点追跡部203は、時系列における特徴点の追跡を行う。 In step S202, the feature point tracking unit 203 extracts feature points in the image based on the image acquired in step S201. Then, the feature point tracking unit 203 performs matching between the extracted feature points and feature points extracted from other images acquired at different times. That is, the feature point tracking unit 203 tracks feature points in time series.

ステップS203では、センサー情報取得部211が、センサー情報を取得する。 In step S203, the sensor information acquisition unit 211 acquires sensor information.

ステップS204では、センサーモデル算出部212が、ステップS203でセンサー情報取得部211が取得したセンサー情報に基づき、センサーモデルを算出する。 In step S204, the sensor model calculation unit 212 calculates a sensor model based on the sensor information acquired by the sensor information acquisition unit 211 in step S203.

ステップS205では、推定部201は、画像における特徴点の位置に基づき、移動体の位置および姿勢を推定する。本ステップで推定される位置および姿勢は、それぞれ、位置および姿勢の初期値である。 In step S205, the estimation unit 201 estimates the position and orientation of the moving object based on the positions of the feature points in the image. The position and orientation estimated in this step are the initial values of the position and orientation, respectively.

ステップS206では、特徴点誤差算出部204は、特徴点誤差を算出する。この特徴点誤差は、ステップS202で得られた特徴点の追跡結果と、ステップS205またはステップS212のいずれかにおいて推定部201が推定した位置および姿勢(直近で推定された位置および姿勢)とから算出される。 In step S206, the feature point error calculator 204 calculates feature point errors. This feature point error is calculated from the feature point tracking result obtained in step S202 and the position and orientation estimated by the estimation unit 201 in either step S205 or step S212 (most recently estimated position and orientation). be done.

ステップS207では、センサーモデル誤差算出部213は、センサーモデル誤差を算出する。このセンサーモデル誤差は、ステップS204においてセンサーモデル算出部212が算出したセンサーモデルと、ステップS205またはステップS212のいずれかにおいて推定部201が推定した位置および姿勢(直近で推定された位置および姿勢)とから算出される。 In step S207, the sensor model error calculator 213 calculates a sensor model error. This sensor model error is the sensor model calculated by the sensor model calculation unit 212 in step S204, and the position and orientation estimated by the estimation unit 201 in either step S205 or step S212 (most recently estimated position and orientation). calculated from

ステップS208では、運動モデル算出部205が、運動モデルを算出する。この運動モデルは、ステップS205またはステップS212のいずれかにおいて推定部201が推定した位置および姿勢(直近で推定された位置および姿勢)を基に算出される。 In step S208, the exercise model calculator 205 calculates an exercise model. This motion model is calculated based on the position and orientation (most recently estimated position and orientation) estimated by the estimation unit 201 in either step S205 or step S212.

ステップS209では、運動モデル誤差算出部206が、運動モデル誤差を算出する。この運動モデル誤差は、ステップS205またはステップS212のいずれかにおいて推定部201が推定した位置および姿勢(直近で推定された位置および姿勢)と、S208で運動モデル算出部205が算出した運動モデルとから、算出される。 In step S209, the motion model error calculator 206 calculates a motion model error. This motion model error is obtained from the position and orientation (most recently estimated position and orientation) estimated by the estimation unit 201 in either step S205 or step S212 and the motion model calculated by the motion model calculation unit 205 in S208. , is calculated.

ステップS210では、情報処理装置2は、ステップS206で算出された特徴点誤差と、ステップS207で算出されたセンサーモデル誤差と、ステップS209で算出された運動モデル誤差とが、十分に小さい値であるかどうかを判定する。具体的には、情報処理装置2は、特徴点誤差とセンサーモデル誤差と運動モデル誤差とを総合的に評価するための評価関数値を用いる。この評価関数の一例は、特徴点誤差の絶対値と、センサーモデル誤差の絶対値と、運動モデル誤差の絶対値とを、単純に加算する関数である。なお、他の評価関数を用いてもよい。情報処理装置2は、予め定められた上記評価関数の閾値に基づいて、本ステップでの判定を行う。判定の結果、誤差が十分に小さい場合(ステップS210:YES)には、所望の誤差範囲内の位置および姿勢が推定されていると考えられるため、本フローチャート全体の処理を終了する。誤差が十分に小さくない場合(ステップS210:NO)には、ステップS211に進む。 In step S210, the information processing apparatus 2 determines that the feature point error calculated in step S206, the sensor model error calculated in step S207, and the motion model error calculated in step S209 are sufficiently small values. determine whether Specifically, the information processing device 2 uses evaluation function values for comprehensively evaluating feature point errors, sensor model errors, and motion model errors. An example of this evaluation function is a function that simply adds the absolute value of the feature point error, the absolute value of the sensor model error, and the absolute value of the motion model error. Note that other evaluation functions may be used. The information processing device 2 makes the determination in this step based on the predetermined threshold value of the evaluation function. As a result of the determination, if the error is sufficiently small (step S210: YES), it is considered that the position and orientation are estimated within the desired error range, so the entire processing of this flowchart ends. If the error is not sufficiently small (step S210: NO), the process proceeds to step S211.

ステップS211では、補正部207は、特徴点誤差とセンサーモデル誤差と運動モデル誤差とをより小さくように補正量を算出する。補正部207は、算出された補正量を、推定部201に渡す。 In step S211, the correction unit 207 calculates correction amounts so as to reduce the feature point error, the sensor model error, and the motion model error. The correction unit 207 passes the calculated correction amount to the estimation unit 201 .

ステップS212では、ステップS211で補正部207が算出した補正量を適用することによって、推定部201が、移動体の補正後の位置および姿勢を推定する。推定部201は、この補正後の位置および姿勢を、新たな推定結果とする。 In step S212, the estimation unit 201 estimates the corrected position and orientation of the moving object by applying the correction amount calculated by the correction unit 207 in step S211. Estimating section 201 uses the corrected position and orientation as a new estimation result.

以上の、繰り返しを含む一連の処理手順により、推定される位置および姿勢について、誤差が小さくなるよう調整することができる。 Through the above series of processing procedures including repetition, it is possible to adjust the estimated position and orientation so as to reduce the error.

なお、様々な値を算出する処理において論理的な矛盾(例えば、値の依存関係の矛盾等)が生じない範囲で、図10に示した各ステップの処理の順序を変えたり、一部のステップを互いに並行に実行するようにしたりしてもよい。一例として、特徴点誤差やセンサーモデル誤差を算出し終える前に、運動モデル誤差を算出するようにしてもよい。 It should be noted that the processing order of each step shown in FIG. may be executed in parallel with each other. As an example, the motion model error may be calculated before finishing calculating the feature point error and the sensor model error.

次に、センサーモデル、およびセンサーモデル誤差について説明する。センサーモデルとは、移動体の位置・姿勢の推定結果と直接的、または、間接的に比較できる値のことである。センサーモデルの値と、移動体の位置・姿勢の推定結果を使って求めた値との差がセンサーモデル誤差である。 Next, the sensor model and sensor model error will be described. A sensor model is a value that can be directly or indirectly compared with the estimation result of the position/orientation of a moving object. The sensor model error is the difference between the value of the sensor model and the value obtained using the estimation results of the position and orientation of the moving object.

例えば、センサーとしてスピードメーターを用いる場合、センサーモデル算出部212は、スピードメーターで取得した速度を時間で積分することによって移動体の移動距離を算出できる。センサーモデル誤差算出部213は、このセンサーモデルによって得られた移動距離と、推定部201が推定する位置および姿勢から算出される移動距離との差分として、センサーモデル誤差を算出できる。iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、時刻をT、スピードメーターから取得した速度をs、推定した移動体の位置をtとする。すると、センサーモデルおよびセンサーモデル誤差は、次の式(10)によって算出される。 For example, when a speedometer is used as a sensor, the sensor model calculation unit 212 can calculate the moving distance of the moving body by integrating the speed acquired by the speedometer over time. The sensor model error calculation unit 213 can calculate the sensor model error as the difference between the movement distance obtained by this sensor model and the movement distance calculated from the position and orientation estimated by the estimation unit 201 . In the i-th frame (i=1, 2, . . . , |F|, |F|-th is the latest frame), T i is the time, s i is the speed obtained from the speedometer, and t is the estimated position of the moving object. Let i . Then, the sensor model and the sensor model error are calculated by the following equation (10).

Figure 0007175930000012
Figure 0007175930000012

式(10)は、iフレーム目の時刻Tと、(i-1)フレーム目の時刻Ti-1と、iフレーム目の速度sとを入力として、センサーモデルである、 Equation (10) is a sensor model with input of i -th frame time T i , (i−1)th frame time T i−1 , and i-th frame speed si,

Figure 0007175930000013
Figure 0007175930000013

を出力する計算過程を表す。
また、式(10)は、iフレーム目の推定位置tと、(i-1)フレーム目の推定位置ti-1と、上記センサーモデルである、
represents the computational process that outputs
Further, Equation (10) is the estimated position t i of the i-th frame, the estimated position t i -1 of the (i-1)th frame, and the sensor model,

Figure 0007175930000014
Figure 0007175930000014

を入力として、センサーモデル誤差esiを出力する計算過程を表す。 is the input and the calculation process outputs the sensor model error e si .

例えば、センサーとしてIMUを用いる場合、IMUから取得する加速度および角速度から、移動体の位置および姿勢を算出できる。この位置および姿勢を、移動体の位置および姿勢の推定部201による推定結果と比較することによって、センサーモデル誤差を算出できる。iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における時刻をT、IMUから取得した加速度をa、角速度をオメガωとする。すると、センサーモデルの位置t(ハット)および姿勢R(ハット)と、センサーモデル誤差esiは次の式(11)により求められる。 For example, if an IMU is used as a sensor, the position and orientation of the moving object can be calculated from the acceleration and angular velocity obtained from the IMU. The sensor model error can be calculated by comparing this position and orientation with the estimation result of the position and orientation estimation unit 201 of the moving body. Let T i be the time in the ith frame ( i =1, 2, . Then, the position t i (hat) and orientation R i (hat) of the sensor model and the sensor model error e si are obtained by the following equation (11).

Figure 0007175930000015
Figure 0007175930000015

この式(11)は、(i-1)フレーム目の推定位置ti-1と、(i-1)フレーム目の速度vi-1と、(i-1)フレーム目の姿勢Ri-1と、iフレーム目の加速度aと、iフレーム目の時刻Tと、(i-1)フレーム目の時刻Ti-1とを入力として、iフレーム目のセンサーモデルの位置t(ハット)を出力とする計算過程を表す。また、この式(11)は、(i-1)フレーム目の姿勢Ri-1と、iフレーム目の角速度ωと、iフレーム目の時刻Tと、(i-1)フレーム目の時刻Ti-1とを入力として、iフレーム目のセンサーモデルの姿勢R(ハット)を出力とする計算過程を表す。また、この式(11)は、 センサーモデルの位置t(ハット)および姿勢R(ハット)を入力として、センサーモデル誤差esiを出力とする計算過程を表す。 This equation (11) is expressed by (i-1)th estimated position t i-1 , (i-1)th frame velocity v i-1 , (i-1)th frame posture R i- 1 , the acceleration a i of the i-th frame, the time T i of the i-th frame, and the time T i-1 of the (i−1)th frame, the position t i ( Hat) is the output. Further, this equation (11) is expressed by the (i-1)-th frame attitude R i-1 , the i-th frame angular velocity ω i , the i-th frame time T i , and the (i-1)-th frame It represents a calculation process in which the time T i−1 is input and the orientation R i (hat) of the i-th frame sensor model is output. Also, this equation (11) represents a calculation process in which the position t i (hat) and the orientation R i (hat) of the sensor model are input and the sensor model error e si is output.

ただし、式(11)において、Ωは、ωを回転行列で表したものである。 However, in Equation (11), Ω i represents ω i with a rotation matrix.

次に、センサーモデルを導入した場合の補正量について説明する。補正部207は、本実施形態における補正量を求める際に、第1の実施形態において求めた誤差に、さらにセンサーモデル誤差esiを加味する。本実施形態において、センサーモデル誤差esi考慮したトータルな誤差は、次の式(12)により算出される。 Next, the correction amount when the sensor model is introduced will be described. The correction unit 207 adds the sensor model error esi to the error obtained in the first embodiment when calculating the correction amount in the present embodiment. In this embodiment, the total error considering the sensor model error esi is calculated by the following equation (12).

Figure 0007175930000016
Figure 0007175930000016

式(12)は、特徴点誤差ejiと、運動モデル誤差eriと、センサーモデル誤差esiとを入力として、トータルな誤差Eを出力するための計算過程を表す。なお、式(12)において、λとλとは、特徴点誤差と、運動モデル誤差と、センサーモデル誤差との間のバランスを調整するためのハイパーパラメーターである。 Equation (12) represents a calculation process for outputting the total error E with the feature point error e ji , the motion model error e ri , and the sensor model error e si as inputs. In Equation (12), λ r and λ s are hyperparameters for adjusting the balance among feature point error, motion model error, and sensor model error.

以上、説明したように、本実施形態によると、センサー情報取得部211がセンサー情報を取得する。センサーモデル算出部212は、上記のセンサー情報に基づいて、所定のモデルによる計算を行い、移動体の位置および姿勢を算出する。センサーモデル誤差算出部213は、推定部201が推定した移動体の位置および姿勢と、センサーモデル算出部212が算出した移動体の位置および姿勢との差として、センサーモデル誤差を算出する。これにより、補正部207は、特徴点誤差と運動モデル誤差だけではなく、さらにセンサーモデル誤差にも基づいて補正量を求めることができる。これにより、推定部201が推定する位置等の推定精度がさらに向上する。
また、特徴点誤差算出部104や運動モデル誤差算出部206を持たず、即ち、特徴点誤差や運土モデル誤差を算出せず、センサーモデル誤差算出部213が算出したセンサーモデル誤差のみに基づいて、補正部207が補正量を求めるようにしてもよい。
As described above, according to the present embodiment, the sensor information acquisition unit 211 acquires sensor information. The sensor model calculation unit 212 calculates the position and orientation of the moving body by performing calculation using a predetermined model based on the above sensor information. The sensor model error calculation unit 213 calculates a sensor model error as a difference between the position and orientation of the mobile object estimated by the estimation unit 201 and the position and orientation of the mobile object calculated by the sensor model calculation unit 212 . Accordingly, the correction unit 207 can obtain the correction amount based not only on the feature point error and the motion model error, but also on the sensor model error. This further improves the accuracy of estimating the position and the like estimated by the estimating unit 201 .
In addition, it does not have the feature point error calculation unit 104 or the motion model error calculation unit 206, that is, does not calculate the feature point error or the soil movement model error, and based only on the sensor model error calculated by the sensor model error calculation unit 213 , the correction unit 207 may obtain the correction amount.

(第3の実施形態)
次に、第3実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
(Third embodiment)
Next, a third embodiment will be described. In addition, description may be abbreviate|omitted below about the matter already demonstrated by the previous embodiment. Here, the description will focus on matters specific to this embodiment.

図11は、本実施形態による情報処理装置3の概略機能構成を示すブロック図である。図示するように、情報処理装置3は、推定部301と、画像取得部302と、特徴点追跡部303と、特徴点誤差算出部304と、運動モデル算出部305と、運動モデル誤差算出部306と、補正部307と、速度情報取得部321とを含むよう構成される。 FIG. 11 is a block diagram showing a schematic functional configuration of the information processing device 3 according to this embodiment. As illustrated, the information processing device 3 includes an estimation unit 301, an image acquisition unit 302, a feature point tracking unit 303, a feature point error calculation unit 304, a motion model calculation unit 305, and a motion model error calculation unit 306. , a correction unit 307 , and a speed information acquisition unit 321 .

本実施形態の特徴は、情報処理装置3が、速度情報取得部321を有し、運動モデル算出部305が、取得された速度情報にも基づいて運動モデルを算出する点である。 A feature of this embodiment is that the information processing device 3 has a speed information acquisition unit 321, and the motion model calculation unit 305 calculates a motion model based on the acquired speed information as well.

推定部301と、画像取得部302と、特徴点追跡部303と、特徴点誤差算出部304と、運動モデル算出部305と、運動モデル誤差算出部306と、補正部307とは、それぞれ、第1の実施形態における推定部101と、画像取得部102と、特徴点追跡部103と、特徴点誤差算出部104と、運動モデル算出部105と、運動モデル誤差算出部106と、補正部107と、同様の、あるいは類似の機能を持つものである。本実施形態の特徴は、速度情報取得部321と、運動モデル算出部305とにある。情報処理装置3が有する各部の機能は、電子回路を用いて専用の機能として実現することもできるし、汎用のコンピューターとプログラムとを用いて実現することもできる。 The estimation unit 301, the image acquisition unit 302, the feature point tracking unit 303, the feature point error calculation unit 304, the motion model calculation unit 305, the motion model error calculation unit 306, and the correction unit 307 each The estimation unit 101, the image acquisition unit 102, the feature point tracking unit 103, the feature point error calculation unit 104, the motion model calculation unit 105, the motion model error calculation unit 106, and the correction unit 107 in Embodiment 1 , are similar or have similar functions. The feature of this embodiment resides in the speed information acquisition unit 321 and the motion model calculation unit 305 . The function of each part of the information processing apparatus 3 can be realized as a dedicated function using an electronic circuit, or can be realized using a general-purpose computer and program.

速度情報取得部321は、いわゆるスピードメーターから移動体の速度の情報を取得する。速度情報は、ベクトルであってもよいし、スカラー(ベクトルで表される速度の絶対値)であってもよい。移動体が自動車等である場合には、元々自動車が備えているスピードメーターから、速度情報を取得することもできる。速度情報取得部321は、取得した速度情報を、運動モデル算出部305に渡す。 The speed information acquisition unit 321 acquires speed information of the moving object from a so-called speedometer. The velocity information may be a vector or a scalar (absolute value of velocity represented by a vector). If the moving object is an automobile or the like, the speed information can also be obtained from the speedometer originally provided in the automobile. The speed information acquisition unit 321 passes the acquired speed information to the exercise model calculation unit 305 .

運動モデル算出部305は、速度情報取得部321から、速度情報を受け取る。運動モデル算出部305は、移動体の位置および姿勢を算出する際に、速度情報取得部321から受け取った速度情報に基づく計算を行う。例えば、運動モデル算出部305は、速度および経過時間に基づいて、その時間における移動体の移動量を算出することができる。この場合、運動モデル算出部305は、算出される移動量と整合するように、移動体の位置等を求めることができる。つまり、運動モデル算出部305は、取得された速度にも基づいて移動体の位置を算出する。つまり、運動モデル誤差算出部106は、速度情報取得部321によって取得された速度にも基づく、運動モデルに依る移動体の位置および姿勢を取得し、運動モデルの誤差を算出する。 The motion model calculation unit 305 receives speed information from the speed information acquisition unit 321 . The motion model calculation unit 305 performs calculation based on the speed information received from the speed information acquisition unit 321 when calculating the position and orientation of the moving object. For example, the motion model calculation unit 305 can calculate the amount of movement of the moving body at that time based on the speed and the elapsed time. In this case, the motion model calculation unit 305 can obtain the position of the moving object and the like so as to match the calculated movement amount. In other words, the motion model calculation unit 305 calculates the position of the mobile object based on the acquired velocity as well. In other words, the motion model error calculation unit 106 acquires the position and orientation of the mobile body according to the motion model, which is also based on the speed acquired by the speed information acquisition unit 321, and calculates the error of the motion model.

なお、第2の実施形態と、第3の実施形態とを組み合わせて実施してもよい。その場合、情報処理装置は、センサー情報取得部が、センサー情報(一般的なセンサーによって取得される情報)を取得する。そして、センサーモデル算出部が、センサー情報に基づく位置および姿勢を求める。また、その情報処理装置は、速度情報取得部が取得した速度情報に基づいて、運動モデル算出部が、移動体の位置および姿勢を算出する。 In addition, you may implement combining 2nd Embodiment and 3rd Embodiment. In that case, the information processing device acquires sensor information (information acquired by a general sensor) through the sensor information acquisition unit. Then, the sensor model calculation unit obtains the position and orientation based on the sensor information. In the information processing device, the motion model calculation unit calculates the position and orientation of the moving object based on the speed information acquired by the speed information acquisition unit.

(第1の変形例)
次に、変形例について説明する。第1の変形例は、上記の各実施形態に適用可能である。この変形例では、情報処理装置(1,2,3)は、運動モデル誤差が所定値よりも大きい場合に、処理の途中で一部処理を中断してもよい。言い換えれば、一部処理の実行をスキップしてもよい。運動モデル誤差算出部(106,206,306)が運動モデル誤差を算出した結果、運動モデル誤差が、想定される他の誤差(実施形態に依存して、特徴点誤差やセンサーモデル誤差)よりも極端に大きい場合、他の誤差は無視できる程度に小さい可能性が高い。このような場合に、上記他の誤差を無視できるとみなして、運動モデル誤差のみに基づいて、補正部(107,207,307)が補正量を計算するようにしてもよい。具体的には、本変形例では、運動モデル誤差の値(絶対値)が所定の閾値以上の場合は、特徴点誤差やセンサーモデル誤差を算出せずに、あるいは特徴点誤差やセンサーモデル誤差を途中で中断して、補正量を求める処理に移る。このとき、算出されなかった誤差を無視できるとみなすために、補正部(107,207,307)は、それらの誤差を0として補正量を求める。
(First modification)
Next, a modified example will be described. The first modification is applicable to each of the above embodiments. In this modified example, the information processing device (1, 2, 3) may interrupt part of the process in the middle of the process when the motion model error is greater than a predetermined value. In other words, execution of some processes may be skipped. As a result of calculating the motion model error by the motion model error calculation unit (106, 206, 306), the motion model error is larger than other possible errors (feature point error or sensor model error depending on the embodiment). If extremely large, other errors are likely to be small enough to be ignored. In such a case, the correction unit (107, 207, 307) may calculate the correction amount based only on the motion model error, assuming that the other errors are negligible. Specifically, in this modification, when the value (absolute value) of the motion model error is equal to or greater than a predetermined threshold value, the feature point error and the sensor model error are not calculated, or the feature point error and the sensor model error are calculated. The process is interrupted on the way and the process proceeds to the process of obtaining the correction amount. At this time, the correction unit (107, 207, 307) obtains the correction amount by setting these errors to 0 in order to consider the errors that have not been calculated to be negligible.

本変形例では、例えば、運動モデル誤差算出部(106,206,306)が、算出された運動モデル誤差の絶対値と、上記閾値とを比較する。運動モデル誤差の絶対値が当該閾値以上である場合には、運動モデル誤差算出部(106,206,306)は、他の各部に通知を送ることによって、特徴点誤差やセンサーモデル誤差の算出のための処理を抑止する。また、その場合には、運動モデル誤差算出部(106,206,306)は、補正部(107,207,307)に対して通知を送り、補正部(107,207,307)が運動モデル誤差以外の誤差を0として処理を実行するよう制御する。 In this modification, for example, the motion model error calculator (106, 206, 306) compares the calculated absolute value of the motion model error with the above threshold. When the absolute value of the motion model error is equal to or greater than the threshold, the motion model error calculation unit (106, 206, 306) sends a notification to the other units to notify the calculation of the feature point error and the sensor model error. Suppress the processing for Also, in that case, the motion model error calculation unit (106, 206, 306) sends a notification to the correction unit (107, 207, 307), and the correction unit (107, 207, 307) detects the motion model error Control is performed so that errors other than 0 are treated as 0.

本変形例を実施する場合には、特徴点誤差やセンサーモデル誤差を算出するための計算量を削減できる。これにより、計算資源の有効活用を図ったり、情報処理装置(1,2,3)の全体の処理の短時間化を図ったりすることが、可能となる。 When implementing this modified example, it is possible to reduce the amount of calculation for calculating feature point errors and sensor model errors. As a result, it is possible to effectively utilize computational resources and shorten the processing time of the entire information processing apparatus (1, 2, 3).

つまり、本変形例における運動モデル誤差算出部(106,206,306)は、求めた運動モデル誤差の絶対値が所定の閾値以上である場合に、特徴点誤差算出部(104,204,304)が特徴点誤差を求める処理を抑止するよう制御するとともに、補正部(107,207,307)が特徴点誤差をゼロであるとみなして補正量を求めるよう制御してもよい。 In other words, the motion model error calculation unit (106, 206, 306) in this modified example, when the absolute value of the obtained motion model error is equal to or greater than a predetermined threshold value, the feature point error calculation unit (104, 204, 304) may be controlled to suppress the process of obtaining the feature point error, and the correction unit (107, 207, 307) may be controlled to obtain the correction amount assuming the feature point error to be zero.

また、本変形例における、第2実施形態の運動モデル誤差算出部(206)は、求めた運動モデル誤差の絶対値が所定の閾値以上である場合に、特徴点誤差算出部(204)が特徴点誤差を求める処理を抑止するよう制御し、また、センサーモデル誤差算出部(213)がセンサーモデル誤差を求める処理を抑止するよう制御するとともに、補正部(207)が特徴点誤差およびセンサーモデル誤差をともにゼロであるとみなして補正量を求めるよう制御してもよい。 Further, in this modified example, the motion model error calculation unit (206) of the second embodiment is characterized by the feature point error calculation unit (204) when the absolute value of the obtained motion model error is equal to or greater than a predetermined threshold value. The sensor model error calculation unit (213) is controlled to suppress the process of obtaining the point error, and the correction unit (207) controls the feature point error and the sensor model error to suppress the process of obtaining the sensor model error. may be regarded as zero and the correction amount may be obtained.

(第2の変形例)
第2の変形例は、上記の各実施形態に適用可能である。また、第1の変形例に第2の変形例を組み合わせて実施してもよい。この変形例では、情報処理装置(1,2,3)は、状況に応じて動的にハイパーパラメーターを変更する。ここで、変更対象のハイパーパラメーターは、第1実施形態の式(7)におけるλや、第2実施形態の式(10)におけるλおよびλである。つまり、本変形例では、情報処理装置(1,2,3)は、総合的な誤差を算出する際の、特徴点誤差と、運動モデル誤差と、(第2実施形態の場合の)センサーモデル誤差との、バランスを動的に変更可能とする。
(Second modification)
The second modification is applicable to each of the above embodiments. Moreover, you may implement combining a 2nd modification with a 1st modification. In this modification, the information processing devices (1, 2, 3) dynamically change the hyperparameters according to the situation. Here, the hyperparameters to be changed are λ in equation (7) of the first embodiment and λ r and λ s in equation (10) of the second embodiment. That is, in the present modification, the information processing device (1, 2, 3) calculates the feature point error, the motion model error, and the sensor model (in the case of the second embodiment) when calculating the overall error. The balance with the error can be changed dynamically.

例えば、移動体が車両である場合、車両の運動は、運動モデルが規定する拘束条件によって拘束される。しかしながら、実際には、速度や天候等に応じて車両のタイヤの路面とのスリップが生じやすくなったり、強風の影響で車体が受ける空気抵抗が変化したりするという状況も生じ得る。これらの外乱要因を運動モデルが想定していない場合には、外乱の度合いに応じて、運動モデルから算出される位置および姿勢が、大きな誤差を含むものとなり得る。 For example, if the moving object is a vehicle, the motion of the vehicle is constrained by the constraint conditions defined by the motion model. However, in reality, a situation may arise in which the tires of the vehicle are more likely to slip on the road surface depending on the speed, weather, etc., or the air resistance to which the vehicle body receives changes due to strong winds. If the motion model does not assume these disturbance factors, the position and orientation calculated from the motion model may contain large errors depending on the degree of disturbance.

また、例えば、第2実施形態でセンサーモデルに基づく演算をする場合にも、外乱の影響で、センサーモデルで算出される位置および姿勢が、大きな誤差を含むものとなり得る。例えば、IMUをセンサーとして用いる場合、熱の影響によって、取得されるセンサー情報の誤差が大きくなる場合がある。このため、IMUに基づいて算出された位置および姿勢が、大きな誤差を含むものとなり得る。 Further, for example, even when performing calculations based on the sensor model in the second embodiment, the position and orientation calculated by the sensor model may include large errors due to the influence of disturbances. For example, when an IMU is used as a sensor, errors in acquired sensor information may increase due to the effects of heat. Therefore, the position and orientation calculated based on the IMU may contain large errors.

本変形例では、情報処理装置(1,2,3)は、上記の事情を考慮し、外乱の影響の度合いに応じて、運動モデル誤差やセンサーモデル誤差の重みを変更する。具体的には、式(7)におけるλの値や、式(10)におけるλおよびλの値を、外乱の影響度合いに応じて動的に変更する。これにより、外乱が、トータルな補正量Eの算出に与える影響を小さくすることができる。 In this modification, the information processing device (1, 2, 3) changes the weight of the motion model error and the sensor model error according to the degree of influence of the disturbance in consideration of the above circumstances. Specifically, the value of λ in equation (7) and the values of λ r and λ s in equation (10) are dynamically changed according to the degree of influence of the disturbance. As a result, the influence of the disturbance on the calculation of the total correction amount E can be reduced.

一例として、情報処理装置(1,2,3)がスピードメーターを備える場合に、式(7)において、λ=λ・exp(-b・s)とする。ここで、sは、スピードメーターから取得される移動体の速度である。また、bは、所定の正定数である。また、λは、速度が0の場合のハイパーパラメーターの値である。このようにλを可変にすることにより、移動体の速度が遅い場合には運動モデル誤差の重みが相対的に大きくなり、移動体の速度が速い場合には特徴点誤差の重みが相対的に大きくなる。これにより、移動体が高速で移動するときに比較的生じやすいタイヤのスリップが、トータルな補正量の算出に与える影響を小さくすることができる。 As an example, when the information processing device (1, 2, 3) is equipped with a speedometer, let λ=λ 0 ·exp(−b·s i ) in equation (7). where si is the speed of the moving object obtained from the speedometer. Also, b is a predetermined positive constant. Also, λ 0 is the value of the hyperparameter when the velocity is zero. By making λ variable in this way, the weight of the motion model error becomes relatively large when the speed of the moving object is slow, and the weight of the feature point error becomes relatively large when the speed of the moving object is fast. growing. As a result, it is possible to reduce the influence of tire slip, which is relatively likely to occur when the moving body moves at high speed, on the calculation of the total correction amount.

また、別の一例として、第2実施形態の情報処理装置2が、センサーとしてIMUを用いる場合に、次のようにできる。即ち、式(10)において、例えば、λ=λr0・exp(-b・s)、λ=λs0・exp(-b・c)としてよい。ここで、sは、上記同様に移動体の速度である。また、cは、温度センサー等から取得された温度(絶対温度または摂氏温度)である。また、bおよびbは、所定の正定数である。また、λr0は、速度が0の場合のハイパーパラメーターλの基準値である。また、λs0は、温度が基準値である場合の、ハイパーパラメーターλの基準値である。このように、λやλを動的に可変とすることにより、移動体の高速移動時のスリップに起因する運動モデルの誤差や、高温に起因するセンサーモデルの誤差等が、トータルな誤差Eに与える影響を適切に調整することが可能となる。 As another example, when the information processing apparatus 2 of the second embodiment uses an IMU as a sensor, the following can be done. That is, in equation (10), for example, λ rr0 ·exp(-b 1 ·s i ) and λ ss0 ·exp(-b 2 ·c i ) may be set. Here, s i is the velocity of the moving object as described above. Also, ci is the temperature (absolute temperature or Celsius temperature) obtained from a temperature sensor or the like. Also, b 1 and b 2 are predetermined positive constants. Also, λ r0 is the reference value of the hyperparameter λ r when the velocity is zero. Also, λ s0 is the reference value of the hyperparameter λ s when the temperature is the reference value. In this way, by dynamically varying λ r and λ s , errors in the motion model due to slippage during high-speed movement of the moving body, errors in the sensor model due to high temperature, etc., are reduced to total errors. It is possible to appropriately adjust the influence on E.

つまり、本変形例では、補正部(107,207,307)は、特徴点誤差と運動モデル誤差とに基づいて補正量を求める際に、特徴点誤差と運動モデル誤差との間の重みづけを動的に可変としながら補正量を求めてもよい。 That is, in this modification, the correction unit (107, 207, 307) weights the feature point error and the motion model error when obtaining the correction amount based on the feature point error and the motion model error. The correction amount may be obtained while being dynamically variable.

また、本変形例では、補正部(107,207,307)は、取得された移動体の速度の絶対値に基づき、速度の絶対値が大きいほど運動モデル誤差の重みが相対的に小さくなるように、特徴点誤差と運動モデル誤差との間の重みづけを動的に可変としながら補正量を求めてもよい。 In addition, in this modified example, the correction unit (107, 207, 307) is based on the acquired absolute value of the speed of the moving body so that the greater the absolute value of the speed, the smaller the weight of the motion model error. Alternatively, the correction amount may be obtained while dynamically varying the weighting between the feature point error and the motion model error.

また、本変形例では、補正部(207)は、特徴点誤差と運動モデル誤差とセンサーモデル誤差とに基づいて補正量を求める際に、特徴点誤差と運動モデル誤差とセンサーモデル誤差との三者間の重みづけを動的に可変としながら補正量を求めてもよい。 Further, in this modified example, the correction unit (207) determines the amount of correction based on the feature point error, the motion model error, and the sensor model error. The correction amount may be obtained while dynamically varying the weighting between the users.

また、本変形例では、補正部(207)は、取得された移動体の速度の絶対値に基づき速度の絶対値が大きいほど運動モデル誤差の重みが相対的に小さくなるように、且つ取得された温度の情報に基づき温度に応じてセンサーモデル誤差の重みが相対的に可変となるように、三者間の重みづけを動的に可変としながら補正量を求めてもよい。 In addition, in the present modification, the correction unit (207) is based on the acquired absolute value of the velocity of the moving object, and the weight of the motion model error is relatively decreased as the absolute value of the velocity increases. Based on the obtained temperature information, the correction amount may be obtained while dynamically varying the weighting among the three so that the weighting of the sensor model error is relatively variable according to the temperature.

(第3の変形例)
第3の変形例は、上記の各実施形態に適用可能である。また、第1の変形例や第2の変形例に、第3の変形例を組み合わせて実施してもよい。この変形例では、情報処理装置(1,2,3)は、異なる複数の場所に分散して実施されてもよい。このとき、画像を取得するための手段であるカメラや距離センサー等は、移動体に固定して設けられる。また、センサーを用いる場合に、各種センサーのうち、移動体に固定した状態でセンサーを作動させる必要がある場合には、そのセンサーは、移動体に固定して設けられる。情報処理装置(1,2,3)が有する他の機能は、移動体とは別の場所に設けられてもよい。例えば、各種の位置を算出したり、誤差を算出したりするための演算機能が、遠隔地の外部装置(例えば、コンピューターサーバー等)に設けられてもよい。また、この遠隔地の外部装置は、いわゆるクラウドサーバーとして実施されてもよい。このとき、移動体に固定して設けられる機能と、遠隔地の外部装置に設けられる機能との間では、適宜、通信回線を介した通信によって、データを交換できるようにする。
(Third modification)
A third modification is applicable to each of the above embodiments. Also, the third modification may be combined with the first modification and the second modification. In this modification, the information processing devices (1, 2, 3) may be distributed and implemented in a plurality of different locations. At this time, a camera, a distance sensor, and the like, which are means for acquiring an image, are fixed to the moving body. Further, when a sensor is used, among various sensors, if it is necessary to operate the sensor while being fixed to the moving body, the sensor is fixed to the moving body. Other functions possessed by the information processing devices (1, 2, 3) may be provided at a location separate from the mobile object. For example, arithmetic functions for calculating various positions and calculating errors may be provided in a remote external device (eg, computer server, etc.). This remote external device may also be implemented as a so-called cloud server. At this time, data can be exchanged appropriately by communication via a communication line between the function fixedly provided on the mobile body and the function provided on the remote external device.

以上説明した少なくともひとつの実施形態によれば、運動モデル算出部が、移動体の位置を算出する。したがって、推定部が推定した位置と、運動モデル算出部が算出した位置との誤差を求めることができる。この誤差を運動モデル誤差と言う。したがって、補正部107は、特徴点誤差だけに基づくのでなく、運動モデル誤差にも基づいて、補正量を求めることができる。これにより、前記移動体の位置等に関する推定精度が向上する。 According to at least one embodiment described above, the motion model calculator calculates the position of the moving body. Therefore, it is possible to obtain the error between the position estimated by the estimation unit and the position calculated by the motion model calculation unit. This error is called a motion model error. Therefore, the correction unit 107 can obtain the correction amount based not only on the feature point error, but also on the motion model error. This improves the accuracy of estimation of the position of the mobile object.

なお、上述した実施形態(変形例を含む)における情報処理装置の少なくとも一部の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 At least part of the functions of the information processing apparatus in the above-described embodiments (including modifications) may be realized by a computer. In that case, a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read into a computer system and executed. It should be noted that the "computer system" referred to here includes hardware such as an OS and peripheral devices. In addition, “computer-readable recording media” refers to portable media such as flexible discs, magneto-optical discs, ROMs, CD-ROMs, DVD-ROMs, USB memories, and storage devices such as hard disks built into computer systems. Say things. Furthermore, "computer-readable recording medium" refers to a program that dynamically retains programs for a short period of time, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. It may also include things that hold programs for a certain period of time, such as volatile memories inside computer systems that are servers and clients in that case. Further, the program may be for realizing part of the functions described above, or may be a program capable of realizing the functions described above in combination with a program already recorded in the computer system.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 While several embodiments of the invention have been described, these embodiments have been presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, as well as the scope of the invention described in the claims and equivalents thereof.

1,2…情報処理装置、101…推定部、102…画像取得部、103…特徴点追跡部、104…特徴点誤差算出部、105…運動モデル算出部、106…運動モデル誤差算出部、107…補正部、201…推定部、202…画像取得部、203…特徴点追跡部、204…特徴点誤差算出部、205…運動モデル算出部、206…運動モデル誤差算出部、207…補正部、211…センサー情報取得部、212…センサーモデル算出部、213…センサーモデル誤差算出部、301…推定部、302…画像取得部、303…特徴点追跡部、304…特徴点誤差算出部、305…運動モデル算出部、306…運動モデル誤差算出部、307…補正部、321…速度情報取得部 DESCRIPTION OF SYMBOLS 1, 2... Information processing apparatus 101... Estimation part 102... Image acquisition part 103... Feature point tracking part 104... Feature point error calculation part 105... Motion model calculation part 106... Motion model error calculation part 107 Correction unit 201 Estimation unit 202 Image acquisition unit 203 Feature point tracking unit 204 Feature point error calculation unit 205 Motion model calculation unit 206 Motion model error calculation unit 207 Correction unit 211... Sensor information acquisition unit 212... Sensor model calculation unit 213... Sensor model error calculation unit 301... Estimation unit 302... Image acquisition unit 303... Feature point tracking unit 304... Feature point error calculation unit 305... Motion model calculation unit 306 Motion model error calculation unit 307 Correction unit 321 Speed information acquisition unit

Claims (12)

移動体の位置および姿勢を推定する推定部と、
前記移動体に設けられ、画像を取得する画像取得部と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定部が推定した前記移動体の位置および姿勢を補正するための補正量を求める補正部と、
を備え、
前記移動体は車両であり、
前記移動体の拘束条件は、前記車両の車輪の底面が所定の面と接するという条件によって前記車両の運動を拘束するものであり、当該拘束条件によって拘束される前記車両は横あるいは上に移動することはできないものであり、
前記推定部は、前記補正部が求めた前記補正量に基づいて、推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする、
情報処理装置。
an estimating unit that estimates the position and orientation of a moving object;
an image acquisition unit provided in the moving body for acquiring an image;
A correction amount for correcting the position and orientation of the moving object estimated by the estimating unit is obtained based on the acquired feature points of the object in the image and a motion model that is a constraint condition of the moving object. a correction unit;
with
the moving body is a vehicle,
The constraint condition of the moving object is to constrain the motion of the vehicle by the condition that the bottom surface of the wheel of the vehicle is in contact with a predetermined surface, and the vehicle constrained by the constraint condition moves laterally or upwards. it is impossible to
The estimating unit corrects the estimated position and orientation of the moving body based on the correction amount obtained by the correcting unit to obtain a newly estimated position.
Information processing equipment.
取得された前記画像中の物体の特徴点の位置と、前記物体の特徴点の3次元上の位置との誤差である特徴点誤差を算出する特徴点誤差算出部と、
前記移動体の拘束条件である運動モデルに基づいて算出される前記移動体の位置および姿勢と、前記推定部が推定した前記移動体の位置および姿勢と、の差である運動モデル誤差を求める運動モデル誤差算出部と、
をさらに備え、
前記補正部は、前記特徴点誤差と、前記運動モデル誤差と、に基づいて前記補正量を求める、
請求項1に記載の情報処理装置。
a feature point error calculation unit that calculates a feature point error, which is an error between the position of the feature point of the object in the acquired image and the three-dimensional position of the feature point of the object;
Movement for obtaining a motion model error that is a difference between the position and orientation of the moving body calculated based on a motion model that is a constraint condition of the moving body and the position and orientation of the moving body that is estimated by the estimating unit. a model error calculator;
further comprising
the correction unit obtains the correction amount based on the feature point error and the motion model error;
The information processing device according to claim 1 .
センサーからのセンサー情報を取得するセンサー情報取得部と、
前記センサー情報に基づいて、前記移動体の位置を求めるセンサーモデル算出部と、
前記推定部が推定した前記移動体の位置と、前記センサーモデル算出部が求めた前記移動体の位置と、の差であるセンサーモデル誤差を算出するセンサーモデル誤差算出部と、
をさらに備え、
前記補正部は、さらに前記センサーモデル誤差にも基づいて、前記補正量を求める、
請求項2に記載の情報処理装置。
a sensor information acquisition unit that acquires sensor information from the sensor;
a sensor model calculation unit that calculates the position of the moving object based on the sensor information;
a sensor model error calculation unit that calculates a sensor model error that is a difference between the position of the mobile object estimated by the estimation unit and the position of the mobile object obtained by the sensor model calculation unit;
further comprising
The correction unit obtains the correction amount further based on the sensor model error,
The information processing apparatus according to claim 2.
前記移動体の速度を取得する速度情報取得部、
をさらに備え、
前記運動モデル誤差算出部は、取得された前記速度にも基づいて、前記運動モデルに基づいて算出される前記移動体の位置および姿勢を算出する、
請求項2または3に記載の情報処理装置。
a speed information acquisition unit that acquires the speed of the moving object;
further comprising
The motion model error calculation unit calculates the position and orientation of the moving body calculated based on the motion model, also based on the acquired velocity.
The information processing apparatus according to claim 2 or 3.
前記運動モデル誤差算出部は、求めた前記運動モデル誤差の絶対値が所定の閾値以上である場合に、前記特徴点誤差算出部が前記特徴点誤差を求める処理を抑止するよう制御するとともに、前記補正部が前記特徴点誤差をゼロであるとみなして前記補正量を求めるよう制御する、
請求項2から4までのいずれか一項に記載の情報処理装置。
When the absolute value of the calculated motion model error is equal to or greater than a predetermined threshold, the motion model error calculation unit controls the feature point error calculation unit to suppress the process of obtaining the feature point error, and controlling the correction unit to determine the correction amount by regarding the feature point error as zero;
The information processing apparatus according to any one of claims 2 to 4.
前記運動モデル誤差算出部は、求めた前記運動モデル誤差の絶対値が所定の閾値以上である場合に、前記特徴点誤差算出部が前記特徴点誤差を求める処理を抑止するよう制御し、また、前記センサーモデル誤差算出部が前記センサーモデル誤差を求める処理を抑止するよう制御するとともに、前記補正部が前記特徴点誤差および前記センサーモデル誤差をともにゼロであるとみなして前記補正量を求めるよう制御する、
請求項3に記載の情報処理装置。
The motion model error calculation unit controls the feature point error calculation unit to suppress the process of obtaining the feature point error when the absolute value of the calculated motion model error is equal to or greater than a predetermined threshold; The sensor model error calculation unit controls to suppress processing for obtaining the sensor model error, and the correction unit determines the correction amount by regarding both the feature point error and the sensor model error as zero. do,
The information processing apparatus according to claim 3.
前記補正部は、前記特徴点誤差と前記運動モデル誤差とに基づいて前記補正量を求める際に、前記特徴点誤差と前記運動モデル誤差との間の重みづけを動的に可変としながら前記補正量を求める、
請求項2から6までのいずれか一項に記載の情報処理装置。
When the correction amount is obtained based on the feature point error and the motion model error, the correction unit dynamically changes the weighting between the feature point error and the motion model error to perform the correction. ask for quantity
The information processing apparatus according to any one of claims 2 to 6.
前記補正部は、前記特徴点誤差と前記運動モデル誤差とに基づいて前記補正量を求める際に、取得された前記移動体の速度の絶対値に基づき、前記速度の絶対値が大きいほど前記運動モデル誤差の重みが相対的に小さくなるように、前記特徴点誤差と前記運動モデル誤差との間の重みづけを動的に可変としながら前記補正量を求める、
請求項4に記載の情報処理装置。
When the correction amount is calculated based on the feature point error and the motion model error, the correction unit determines, based on the acquired absolute value of the speed of the moving object, that the larger the absolute value of the speed, the greater the motion. obtaining the correction amount while dynamically varying the weighting between the feature point error and the motion model error so that the weight of the model error is relatively small;
The information processing apparatus according to claim 4.
前記補正部は、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差とに基づいて前記補正量を求める際に、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差との三者間の重みづけを動的に可変としながら前記補正量を求める、
請求項3に記載の情報処理装置。
The correction unit, when obtaining the correction amount based on the feature point error, the motion model error, and the sensor model error, calculates the error between the feature point error, the motion model error and the sensor model error. Obtaining the correction amount while dynamically varying the weighting of
The information processing apparatus according to claim 3.
移動体の位置および姿勢を推定する推定部と、
前記移動体に設けられ、画像を取得する画像取得部と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定部が推定した前記移動体の位置および姿勢を補正するための補正量を求める補正部と、
取得された前記画像中の物体の特徴点の位置と、前記物体の特徴点の3次元上の位置との誤差である特徴点誤差を算出する特徴点誤差算出部と、
前記移動体の拘束条件である運動モデルに基づいて算出される前記移動体の位置および姿勢と、前記推定部が推定した前記移動体の位置および姿勢と、の差である運動モデル誤差を求める運動モデル誤差算出部と、
センサーからのセンサー情報を取得するセンサー情報取得部と、
前記センサー情報に基づいて、前記移動体の位置を求めるセンサーモデル算出部と、
前記推定部が推定した前記移動体の位置と、前記センサーモデル算出部が求めた前記移動体の位置と、の差であるセンサーモデル誤差を算出するセンサーモデル誤差算出部と、
前記移動体の速度を取得する速度情報取得部と、
を備え、
前記移動体は車両であり、
前記移動体の拘束条件は、前記車両の車輪の底面が所定の面と接するという条件によって前記車両の運動を拘束するものであり、
前記推定部は、前記補正部が求めた前記補正量に基づいて、推定された前記移動体の位置および姿勢を補正して新たに推定した位置とし、
前記補正部は、前記特徴点誤差と、前記運動モデル誤差と、に基づいて前記補正量を求め、
前記補正部は、さらに前記センサーモデル誤差にも基づいて、前記補正量を求め、
前記運動モデル誤差算出部は、取得された前記速度にも基づいて、前記運動モデルに基づいて算出される前記移動体の位置および姿勢を算出し、
前記補正部は、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差とに基づいて前記補正量を求める際に、取得された前記移動体の速度の絶対値に基づき前記速度の絶対値が大きいほど前記運動モデル誤差の重みが相対的に小さくなるように、且つ取得された温度の情報に基づき前記温度に応じて前記センサーモデル誤差の重みが相対的に可変となるように、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差との三者間の重みづけを動的に可変としながら前記補正量を求める、
情報処理装置。
an estimating unit that estimates the position and orientation of a moving object;
an image acquisition unit provided in the moving body for acquiring an image;
A correction amount for correcting the position and orientation of the moving object estimated by the estimating unit is obtained based on the acquired feature points of the object in the image and a motion model that is a constraint condition of the moving object. a correction unit;
a feature point error calculation unit that calculates a feature point error, which is an error between the position of the feature point of the object in the acquired image and the three-dimensional position of the feature point of the object;
Movement for obtaining a motion model error that is a difference between the position and orientation of the moving body calculated based on a motion model that is a constraint condition of the moving body and the position and orientation of the moving body that the estimation unit estimates. a model error calculator;
a sensor information acquisition unit that acquires sensor information from the sensor;
a sensor model calculation unit that calculates the position of the moving object based on the sensor information;
a sensor model error calculation unit that calculates a sensor model error that is a difference between the position of the mobile object estimated by the estimation unit and the position of the mobile object obtained by the sensor model calculation unit;
a speed information acquisition unit that acquires the speed of the moving object;
with
the moving body is a vehicle,
the constraint condition of the moving object is to constrain the movement of the vehicle by a condition that the bottom surface of the wheel of the vehicle contacts a predetermined surface;
The estimating unit corrects the estimated position and orientation of the moving object based on the correction amount obtained by the correcting unit to obtain a newly estimated position;
the correction unit obtains the correction amount based on the feature point error and the motion model error;
The correction unit obtains the correction amount further based on the sensor model error,
The motion model error calculation unit calculates the position and orientation of the moving object calculated based on the motion model, also based on the acquired velocity,
When the correction amount is obtained based on the feature point error, the motion model error, and the sensor model error, the correction unit determines that the absolute value of the speed is based on the obtained absolute value of the speed of the moving object. The feature points are such that the weight of the motion model error becomes relatively smaller as the feature point increases, and the weight of the sensor model error becomes relatively variable according to the temperature based on the acquired temperature information. determining the correction amount while dynamically varying the weighting among the error, the motion model error, and the sensor model error;
Information processing equipment.
移動体の位置および姿勢を推定する推定過程と、
前記移動体に設けられ、画像を取得する画像取得過程と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定過程で推定した前記移動体の位置および姿勢を補正するための補正量を求める補正過程と、
を含み、
前記移動体は車両であり、
前記移動体の拘束条件は、前記車両の車輪の底面が所定の面と接するという条件によって前記車両の運動を拘束するものであり、当該拘束条件によって拘束される前記車両は横あるいは上に移動することはできないものであり、
前記補正過程で求めた前記補正量に基づいて、前記推定過程で推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする、
情報処理方法。
an estimation process for estimating the position and orientation of a moving object;
an image acquisition process provided in the moving body for acquiring an image;
A correction amount for correcting the position and orientation of the moving object estimated in the estimation process is obtained based on the acquired feature points of the object in the image and the motion model that is the constraint condition of the moving object. a correction process;
including
the moving body is a vehicle,
The constraint condition of the moving object is to constrain the motion of the vehicle by the condition that the bottom surface of the wheel of the vehicle is in contact with a predetermined surface, and the vehicle constrained by the constraint condition moves laterally or upwards. it is impossible to
Based on the correction amount obtained in the correction process, the position and orientation of the moving body estimated in the estimation process are corrected to obtain a newly estimated position.
Information processing methods.
移動体の位置および姿勢を推定する推定過程と、
前記移動体に設けられ、画像を取得する画像取得過程と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定過程で推定した前記移動体の位置および姿勢を補正するための補正量を求める補正過程と、
を含み、
前記移動体は車両であり、
前記移動体の拘束条件は、前記車両の車輪の底面が所定の面と接するという条件によって前記車両の運動を拘束するものであり、当該拘束条件によって拘束される前記車両は横あるいは上に移動することはできないものであり、
前記補正過程で求めた前記補正量に基づいて、前記推定過程で推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする、
情報処理方法をコンピューターに実行させるためのプログラム。
an estimation process for estimating the position and orientation of a moving object;
an image acquisition process provided in the moving body for acquiring an image;
A correction amount for correcting the position and orientation of the moving object estimated in the estimation process is obtained based on the acquired feature points of the object in the image and the motion model that is the constraint condition of the moving object. a correction process;
including
the moving body is a vehicle,
The constraint condition of the moving object is to constrain the motion of the vehicle by the condition that the bottom surface of the wheel of the vehicle is in contact with a predetermined surface, and the vehicle constrained by the constraint condition moves laterally or upwards. it is impossible to
Based on the correction amount obtained in the correction process, the position and orientation of the moving body estimated in the estimation process are corrected to obtain a newly estimated position.
A program that causes a computer to execute an information processing method.
JP2020006956A 2020-01-20 2020-01-20 Information processing device, information processing method, and program Active JP7175930B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020006956A JP7175930B2 (en) 2020-01-20 2020-01-20 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006956A JP7175930B2 (en) 2020-01-20 2020-01-20 Information processing device, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2021113760A JP2021113760A (en) 2021-08-05
JP7175930B2 true JP7175930B2 (en) 2022-11-21

Family

ID=77076913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006956A Active JP7175930B2 (en) 2020-01-20 2020-01-20 Information processing device, information processing method, and program

Country Status (1)

Country Link
JP (1) JP7175930B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7767114B2 (en) * 2021-11-04 2025-11-11 キヤノン株式会社 Information processing device, information processing system, information processing method, and program
CN118691647B (en) * 2024-08-22 2024-10-29 中国人民解放军国防科技大学 A contour-based method for tracking spatial targets' pose

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005016955A (en) 2003-06-23 2005-01-20 Alpine Electronics Inc Navigation system for vehicle and positioning method of the same
JP2007303886A (en) 2006-05-09 2007-11-22 Sony Corp POSITION ESTIMATION DEVICE, POSITION ESTIMATION METHOD, AND PROGRAM RECORDING MEDIUM
JP2012056364A (en) 2010-09-06 2012-03-22 Nissan Motor Co Ltd Tire grounding state estimating device
JP2017215193A (en) 2016-05-31 2017-12-07 株式会社東芝 Information processing device and method therefor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3581392B2 (en) * 1994-04-18 2004-10-27 株式会社ザナヴィ・インフォマティクス Integral sensing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005016955A (en) 2003-06-23 2005-01-20 Alpine Electronics Inc Navigation system for vehicle and positioning method of the same
JP2007303886A (en) 2006-05-09 2007-11-22 Sony Corp POSITION ESTIMATION DEVICE, POSITION ESTIMATION METHOD, AND PROGRAM RECORDING MEDIUM
JP2012056364A (en) 2010-09-06 2012-03-22 Nissan Motor Co Ltd Tire grounding state estimating device
JP2017215193A (en) 2016-05-31 2017-12-07 株式会社東芝 Information processing device and method therefor

Also Published As

Publication number Publication date
JP2021113760A (en) 2021-08-05

Similar Documents

Publication Publication Date Title
US20250131837A1 (en) Systems And Methods For Vehicle Guidance
CN114216454B (en) Unmanned aerial vehicle autonomous navigation positioning method based on heterogeneous image matching in GPS refusing environment
JP7616505B2 (en) Positioning method and device based on image and map data
US10339389B2 (en) Methods and systems for vision-based motion estimation
US10762643B2 (en) Method for evaluating image data of a vehicle camera
JP7173471B2 (en) 3D position estimation device and program
CN111279354B (en) Image processing method, device and computer readable storage medium
CN111510704B (en) Method for correcting camera dislocation and device using same
CN113847911B (en) Information processing device, information processing device control method, and storage medium
JP6229041B2 (en) Method for estimating the angular deviation of a moving element relative to a reference direction
CN111829532A (en) An aircraft relocation system and relocation method
CN112219225A (en) Positioning method, system and movable platform
JP6905390B2 (en) Own vehicle position estimation environment map generator, own vehicle position estimation device, own vehicle position estimation environment map generation program, and own vehicle position estimation program
JP7175930B2 (en) Information processing device, information processing method, and program
JP2024074254A (en) Apparatus and method for estimating camera pose
CN115993132A (en) Visual-inertial odometer initialization method, device and flying car
WO2025055725A1 (en) Visual positioning method and system for unmanned aerial vehicle
Michot et al. Bi-objective bundle adjustment with application to multi-sensor slam
JP7234840B2 (en) position estimator
CN109459046B (en) Positioning and navigation method of suspension type underwater autonomous vehicle
Lee et al. Measuring vehicle velocity in real time using modulated motion blur of camera image data
JP2023054608A (en) Real Scale Depth Calculation Device, Real Scale Depth Calculation Method, and Real Scale Depth Calculation Program
US12340524B2 (en) Digital video computing system for vehicle
Sabry et al. Ground vehicle monocular visual odometry
JP2025110207A (en) Location estimation method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20200214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220822

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: 20221011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221109

R150 Certificate of patent or registration of utility model

Ref document number: 7175930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150