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

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

Info

Publication number
JP2021113760A
JP2021113760A JP2020006956A JP2020006956A JP2021113760A JP 2021113760 A JP2021113760 A JP 2021113760A JP 2020006956 A JP2020006956 A JP 2020006956A JP 2020006956 A JP2020006956 A JP 2020006956A JP 2021113760 A JP2021113760 A JP 2021113760A
Authority
JP
Japan
Prior art keywords
error
moving body
feature point
motion model
unit
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.)
Granted
Application number
JP2020006956A
Other languages
Japanese (ja)
Other versions
JP7175930B2 (en
Inventor
英貴 大平
Hideki Ohira
英貴 大平
聖和 高木
Seiwa Takagi
聖和 高木
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

Abstract

To provide an information processing device, an information processing method and a program capable of improving position estimation accuracy in estimating the position of a movable body on the basis of an acquired image.SOLUTION: According to an embodiment, an information processing device includes an estimation unit, an image acquisition unit, and a correction unit. The estimation unit estimates the position and the posture of a movable body. The image acquisition unit is provided in the movable body to acquire an image. The correction unit acquires a correction amount for correcting the position and the posture of the movable body estimated by the estimation unit on the basis of a feature point of an object in the acquired image and a motion model being a constraint of the movable body. Further, the estimation unit corrects the estimated position and posture of the movable body to be a newly estimated position on the basis of the correction amount acquired by the correction unit.SELECTED DRAWING: Figure 1

Description

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

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

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

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

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

特開2017−215193号公報Japanese Unexamined Patent Publication No. 2017-215193

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

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

第1の実施形態の情報処理装置の概略機能構成を示すブロック図。The block diagram which shows the schematic functional structure of the information processing apparatus of 1st Embodiment. 第1の実施形態の情報処理装置による処理の手順を示すフローチャート。The flowchart which shows the procedure of the processing by the information processing apparatus of 1st Embodiment. 第1の実施形態の特徴点追跡部による、複数の画像間での特徴点の対応付け(特徴点の追跡)の処理の結果の概要を示す概略図。The schematic diagram which shows the outline of the result of the process of associating feature points (tracking of feature points) between a plurality of images by the feature point tracking unit of 1st Embodiment. 第1の実施形態の推定部が移動体の|F|フレーム目の位置(初期値)を推定するための計算過程を示す概略図。The schematic diagram which shows the calculation process for the estimation part of 1st Embodiment for estimating | F | frame position (initial value) of a moving body. 第1の実施形態において、取得された画像における特徴点誤差の例を示す概略図。The schematic diagram which shows the example of the feature point error in the acquired image in 1st Embodiment. 第1の実施形態において、運動モデルによって拘束された運動をする車両(移動体)の移動の概要を示す概略図。In the first embodiment, the schematic diagram which shows the outline of the movement of the vehicle (moving body) which makes the movement restrained by the movement model. 第1の実施形態において、図6とは別の運動モデルに基づく運動をする車両(移動体)の移動の概要を示す概略図。In the first embodiment, the schematic diagram which shows the outline of the movement of the vehicle (moving body) which moves based on the movement model different from FIG. 第1の実施形態における、運動モデル誤差を説明するための移動体の運動の例を示す概略図。The schematic diagram which shows the example of the motion of the moving body for demonstrating the motion model error in 1st Embodiment. 第2の実施形態の情報処理装置の概略機能構成を示すブロック図。The block diagram which shows the schematic functional structure of the information processing apparatus of 2nd Embodiment. 第2の実施形態の情報処理装置による処理の手順を示すフローチャート。The flowchart which shows the procedure of the process by the information processing apparatus of 2nd Embodiment. 第3の実施形態の情報処理装置の概略機能構成を示すブロック図。The block diagram which shows the schematic functional structure of the information processing apparatus of 3rd Embodiment.

以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。 Hereinafter, the information processing apparatus, the information processing method, and the program of the embodiment 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 the information processing apparatus 1 according to the present embodiment. As shown in the figure, the information processing device 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 the correction unit 107. Each of these functional parts is realized by using, for example, an electronic circuit. Further, each functional unit may be provided with a storage means such as a semiconductor memory or a magnetic hard disk device, if necessary. Further, all or a part of the functions of the information processing apparatus 1 may be realized by a computer and software.

情報処理装置1は、例えば、移動体に設けられる。ここで、移動体とは、例えば、自動車(電気自動車を含む)、自動二輪車、鉄道車両、航空機、ドローン等である。なお、情報処理装置1が有する機能のうち、画像取得部102が持つカメラと、その他の必要な機能のみが移動体に設けられるようにしてもよい。この場合、情報処理装置1のうち、移動体に取り付けられる部分と、その他の部分とは、通信装置等を用いて適宜、相互に通信する。 The information processing device 1 is provided on a mobile body, for example. 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. Of the functions of the information processing device 1, only the camera of the image acquisition unit 102 and other necessary functions may be provided on the moving body. In this case, the part of the information processing device 1 that is attached to the mobile body and the other parts 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 body based on the correction amount calculated by the correction unit 107. That is, the estimation unit 101 receives feedback of the correction amount obtained by the correction unit 107, corrects the estimated position and posture of the moving body based on the correction amount, and sets the estimated position as a new estimated position.

移動体の位置とは、3次元空間における移動体の位置である。移動体の位置は、例えば、3次元座標により表され得る。ただし、移動体の移動に関して拘束条件がある場合には、必ずしも3次元の座標により位置が表される必要はなく、適宜、情報を削減してよい。例えば、典型例として、移動体が、所定の平面上のみを移動するという条件に束縛される場合には、移動体の位置は、当該平面状の2次元の座標のみによって表され得る。ただし、上記の拘束条件は、移動体の平面上への拘束のみに限られるものではない。拘束条件は、3次元空間内における何らかの拘束に関する条件であってもよい。また、上記移動体が大きさを持つ場合には、移動体に含まれる所定の箇所あるいは所定の点の位置を、上記の「移動体の位置」とみなしてよい。また、移動体の姿勢とは、少なくとも、移動体の向きである。移動体が可動部を有する場合(一例としては、クレーン車の、クレーンに含まれるジョイント部が可動部である)、姿勢は、その可動部の状態を含んでもよい。ここで、移動体の向きは、例えば3次元の角度によって表され得る。ただし、移動体の向きに関する拘束条件がある場合に、姿勢を表す情報は、必ずしも、独立な3次元の座標値を持たなくてもよい。一例として、移動体が四輪自動車等の車両であって、当該車両のタイヤの底面が所定の平面と接するように拘束される場合には、また当該車両に可動部がないものとみなせる場合には、当該車両の姿勢は、当該平面上の回転角という1次元の数値によって表され得る。 The position of the moving body is the position of the moving body in the three-dimensional space. The position of the moving body can be represented by, for example, three-dimensional coordinates. However, when there is a constraint condition regarding the movement of the moving body, the position does not necessarily have to be represented by the three-dimensional coordinates, and the information may be reduced as appropriate. For example, as a typical example, when the moving body is bound by the condition that it moves only on a predetermined plane, the position of the moving body can be represented only by the two-dimensional coordinates of the plane. However, the above-mentioned constraint conditions are not limited to the constraint on the plane of the moving body. The constraint condition may be a condition related to some constraint in the three-dimensional space. Further, when the moving body has a size, the position of a predetermined place or a predetermined point included in the moving body may be regarded as the above-mentioned "position of the moving body". The posture of the moving body is at least the orientation of the moving body. When the moving body has a movable part (for example, the joint part included in the crane of the crane vehicle is the movable part), 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, when there is a constraint condition regarding the orientation of the moving body, the information representing the posture does not necessarily have to have independent three-dimensional coordinate values. As an example, when the moving body is a vehicle such as a four-wheeled vehicle and the bottom surface of the tire of the vehicle is restrained so as to be in contact with a predetermined plane, or when the vehicle can be regarded as having no moving part. Can be represented by a one-dimensional numerical value of the angle of rotation 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 images and grayscale images can be acquired from a camera (video camera, etc.) connected to a computer. The distance image can be obtained from the distance sensor. The image acquired online by the image acquisition unit 102 in real time 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における位置および姿勢の推定の基となる。ここで、移動体におけるカメラや距離センサーの、取り付け位置や、画像を取得する際のカメラ等の向きや、画角等は、固定されるようにする。 When the moving body is a rigid body, a camera or a distance sensor directly attached 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 device 1. Here, the mounting position of the camera or the distance sensor in the moving body, the orientation of the camera or the like when acquiring an image, the angle of view, etc. are fixed.

特徴点追跡部103は、画像取得部102が取得した画像から、所定の特徴点を抽出する。所定の特徴点とは、例えば、画像取得部102が取得した画像中の物体の特徴点である。また、特徴点追跡部103は、時系列の複数の画像における同一の特徴点を追跡する。言い換えれば、特徴点追跡部103は、異なる時刻に撮影した複数の画像間で、それぞれ抽出した特徴点同士を対応付ける。つまり、特徴点追跡部103は、異なる時刻に取得された複数の前記画像間で前記特徴点を追跡する。 The feature point tracking unit 103 extracts a predetermined feature point from the image acquired by the image acquisition unit 102. The predetermined feature point is, for example, a feature point of an object in the image acquired by the image acquisition unit 102. In addition, the feature point tracking unit 103 tracks the same feature points in a plurality of time-series images. In other words, the feature point tracking unit 103 associates the extracted feature points with each other among a plurality of images taken 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 feature on an image. By having such features, feature points can be more easily extracted. In the case of an optical image, for example, the intersection of a plurality of (eg, two) line segment elements is suitable as a feature point. In the case of a distance image, for example, a maximum or minimum point of a distance or an intersection of a plurality of line components can be used as a feature point as in the case of an 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 performed using existing technology. Specifically, technologies such as SIFT (Scale-Invariant Feature Transform), ORB (Oriented FAST and Rotated BRIEF), and LIFT (Learned Invariant Feature Points) can be used. SIFT is also described in Reference 1 [D.G. Lowe. Distinctive image features from scale invariant keypoints. IJCV, 2004.]. The 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 the image may be regarded as a feature point, and the parameters of the affine transformation when the brightness difference when the certain image is affine-transformed and projected onto another image may be minimized may be used as the tracking result. In addition, each pixel of the image may be tracked by 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 point by the feature point tracking unit 103 and the position and posture of the moving body estimated by the estimation unit 101. In other words, the feature point error calculation unit 104 is 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 body. 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 body obtained based on the tracking result of the feature points and the position of the moving body estimated by the estimation unit 101. That is, the feature point error calculation unit 104 calculates the feature point error, which is the error between the position of the feature point of the object in the acquired image and the position on the three dimensions of the feature point of the object.

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

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

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

図2は、情報処理装置1による処理の手順を示すフローチャートである。ここでは、このフローチャートに沿って、情報処理装置による処理の手順を説明する。 FIG. 2 is a flowchart showing a processing procedure by the information processing apparatus 1. Here, the procedure of processing by the information processing apparatus will be described with reference to 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 the 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 the feature points extracted from other images acquired at different times. As a result, the feature point tracking unit 103 associates the feature points with each other. That is, the feature point tracking unit 103 tracks the feature points in the time series.

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

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

ステップS105では、運動モデル算出部105が、運動モデルを算出する。この運動モデルは、ステップS103またはステップS109のいずれかにおいて推定部101が推定した位置および姿勢(直近で推定された位置および姿勢)を基に算出される。 In step S105, the exercise model calculation unit 105 calculates the exercise model. This motion model is calculated based on the position and posture (most recently estimated position and posture) 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 calculation unit 106 calculates the motion model error. This motion model error is derived from the position and posture (most recently estimated position and posture) 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. , Calculated.

ステップS107では、情報処理装置1は、ステップS104で算出された特徴点誤差と、ステップS106で算出された運動モデル誤差とが、十分に小さい値であるかどうかを判定する。具体的には、情報処理装置1は、特徴点誤差と運動モデル誤差とを総合的に評価するための評価関数値を用いる。この評価関数の一例は、特徴点誤差の絶対値と運動モデル誤差の絶対値とを単純に加算する関数である。なお、他の評価関数を用いてもよい。情報処理装置1は、予め定められた上記評価関数の閾値に基づいて、本ステップでの判定を行う。判定の結果、誤差が十分に小さい場合(ステップS107:YES)には、所望の誤差範囲内の位置および姿勢が推定されているため、本フローチャート全体の処理を終了する。誤差が十分に小さくない場合(ステップS107:NO)には、ステップS108に進む。 In step S107, the information processing apparatus 1 determines whether or not 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 an evaluation function value for comprehensively evaluating the feature point error and the motion model error. 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. In addition, other evaluation functions may be used. The information processing device 1 makes a determination in this step based on a predetermined threshold value of the evaluation function. If the error is sufficiently small as a result of the determination (step S107: YES), the position and orientation within the desired error range are estimated, and the entire process of this flowchart is terminated. 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 the correction amount so that the feature point error and the motion model error are smaller. 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 posture of the moving body by applying the correction amount calculated by the correction unit 107 in step S108. The estimation unit 101 uses the corrected position and posture as a new estimation result.

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

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

図2で説明した各処理のさらに詳細な事項について、次に説明する。 Further detailed matters 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 outline of the result of processing of associating (that is, tracking) feature points between a plurality of images by the feature point tracking unit 103. 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 taken at each time using a camera provided in front of the moving body in the traveling direction. The black circle points shown in each image are the feature points extracted by the feature point tracking unit 103. In addition, the straight line connecting these black circle points indicates the correspondence (pairing) of the feature points between the images.

次に、位置および姿勢の初期値の推定方法について説明する。推定部101が、移動体の初期の位置および姿勢を推定する方法は、例えば、次の通りである。具体的には、推定部101は、過去のフレームの位置および姿勢と、速度とから、等速度運動を仮定して、現在の初期の位置および姿勢を推定してよい。 Next, a method of estimating the initial values of the position and the posture will be described. The method in which the estimation unit 101 estimates the initial position and posture of the moving body is as follows, for example. Specifically, the estimation unit 101 may estimate the current initial position and posture from the position and posture of the past frame 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を出力するための計算過程を表す。 i-th frame (i = 1,2, ..., | F |, | F | th frame latest frame) in the position of the moving body t i, the attitude of the mobile R i, the time the T i, the speed When s i, the initial position and orientation assumed a uniform motion will as shown in equation (1). The equation (1) is, t i-1, t i -2, T i, the T i-1, T i- 2, s i as an input, representing a calculation process for outputting the position t i. Further, the equation (1) represents a calculation process for outputting the posture R i by inputting R i-1 , R i-2 , T i , T i -1 , and T i-2.

Figure 2021113760
Figure 2021113760

なお、式(1)において、r(R)は、回転行列Rを回転角表現したものである。同様に、r−1(θ)は、回転角θを回転行列表現したものである。 In the equation (1), r (R) is a rotation angle representation of the rotation matrix R. Similarly, r -1 (θ) is a 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 by using Nister's 5-point algorithm or an algorithm for solving the PnP (Perspective-n-Point) problem. For more information on Nister's five-point algorithm, see Reference 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.] Is also described. For the algorithm for solving the PnP problem, see 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 uses the position of the jth feature point extracted from the image of the i-frame (i = 1, 2, ..., | F |, | F | frame is the latest frame) x ji (j = 1). , 2, ..., M i) and, extracted from the image of the k th frame (k ≠ i), using the positional relationship between the position x jk of a feature point is a tracking result of x ji, the position of the moving body t This is a method for calculating i and posture R i. The algorithm for solving the PnP problem is the position x ji (j =) of the jth feature point extracted from the image in the i-frame (i = 1, 2, ..., | F |, | F | frame is the latest frame). 1,2, ..., and M i), and a three-dimensional position X j of x ji, a method for calculating the position t i and 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 calculate the scale of the position. Therefore, it is also necessary to obtain the scale by using the three-dimensional position of the feature point separately obtained by using a distance image or the like, the speed of a moving body acquired from a speedometer (speedometer) or the like. As an example, a method of estimating the position and posture using Nister's 5-point algorithm and the speed of a moving object obtained from a speedometer or the like will be described. i-th frame (i = 1,2, ..., | F |, | F | th frame latest frame) in the position of the moving body t i, the attitude of the mobile R i, the time the T i, the speed Let si . Using the association result (tracking result) between the feature point of the k-th frame and the feature point of the | F | frame, the position / orientation of the moving body in the k-frame estimated by Nister's 5-point algorithm is used as the origin. Let n k | F | be the relative position of the moving body at the | F | frame. However, since the scale is unknown, the relative position is as shown in the following equation.

Figure 2021113760
Figure 2021113760

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

Figure 2021113760
Figure 2021113760

この式(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を出力するための計算過程を表す。なお、角度φについては、後述する。 In this equation (2), the posture 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 frame and the (| F | -1) frame are expressed. , | a -1, | | F | th frame and (| F | -1) th frame time T | F | and T | F as inputs and, | | F | speed th frame s | F F | It represents the calculation process for outputting the position t | F | -1 of the frame eye. The angle φ will be described later.

図4は、上記の方法によって推定部101が移動体の|F|フレーム目の位置(初期値)を推定するための計算過程を示す概略図である。図示するように、等速度運動を仮定して、kフレーム目の移動体の状態と、(|F|−1)フレーム目の移動体の状態とから、|F|フレーム目の移動体の位置が推定され得る。 FIG. 4 is a schematic view showing a calculation process for the estimation unit 101 to estimate the position (initial value) of the | F | frame of the moving body by the above method. As shown in the figure, assuming constant velocity motion, the position of the moving body in the | F | frame is determined from the state of the moving body in the kth frame and the state of the moving body in the (| F | -1) frame. 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|フレーム目における移動体の位置とが成す角度である。 4, the position of the moving body in the k-th frame is t k, the posture is R k. The position of the moving body in the | F | -1st frame is t | F | -1 . The position of the moving body at the | F | frame is t | F | . The moving distance calculated from the vehicle speed and the time is | t | F | −t | F | -1 |, as expressed by the above equation (2). As shown in FIG. 4, the angle φ also appearing in the equation (2) is centered on the position of the moving body in the kth frame, the position of the moving body in the | F | -1st frame, and the | F | frame. It is the angle formed by the position of the moving body.

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

なお、特徴点の3次元位置(3次元空間内の位置)は、既存技術を用いて求めることができる。例えば、前述のNisterの5点アルゴリズムを用いて、特徴点の3次元位置を求めることができる。また、距離画像推定の結果などを用いて、特徴点の3次元位置を求めることもできる。情報処理装置1の画像取得部102等が距離センサーを備えている場合には、距離画像を用いて特徴点の3次元位置を求めることができる。 The three-dimensional position (position in the three-dimensional space) of the feature point can be obtained by using the existing technology. For example, the three-dimensional position of the feature point can be obtained by using the above-mentioned Nister 5-point algorithm. It is also possible to obtain the three-dimensional position of the feature point by using the result of distance image estimation or the like. When the image acquisition unit 102 or the like of the information processing device 1 is provided 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 above-mentioned distance image estimation technique is described in, for example, Reference 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.] 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 view showing an example of feature point error in the acquired image. The figure includes images from the i-th frame to the N-th frame. Here, focusing on the image of the kth frame (k = i, i + 1, ..., N), it is as follows. The image of the k-th frame is an image acquired on the premise of the position and orientation of the moving body at the time of the frame. Here, the position x jk (hat) corresponding to the j-th feature point on the image of the k-th frame is the position where the three-dimensional position of the j-th feature point is projected onto the image. 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 image of the k-th frame is the position of the j-th feature point extracted on the image. The difference between these positions x jk (hat) and the position x jk is the feature point error. In this figure, the arcuate line connecting the position x ji , the position x ji + 1 , ... , the position x jk , ... , And the position x jN sequentially indicates the tracking of the feature points between the images.

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

Figure 2021113760
Figure 2021113760

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

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

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

運動モデルに基づいて移動体の位置および姿勢を推定する方法について説明する。なお、移動体が車両である場合を説明する。 A method of estimating the position and posture of a moving body based on a motion model will be described. The 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 view showing an outline of the movement of a vehicle (moving body) that moves while being restrained by a constraint condition. The vehicle position shown in the figure is calculated based on the kinematics of the vehicle. In the figure, in the three-dimensional space of xyz, the vehicle travels on the ground which is the xy plane. In other words, the bottom surface of the wheels of the vehicle is constrained on the xy plane. Further, 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 that makes a turning motion based on the center positions of the two rear wheels (referred to as the center of the rear wheels) may be defined. In this case, i-th frame (i = 1,2, ..., | F |, | F | th frame latest frame) in the position of the moving body t i, the attitude of the mobile R i, the time the T i , the speed s i, the rear wheel center of the turning radius (turning radius) and [rho, the following equation (4) holds.

Figure 2021113760
Figure 2021113760

なお、図6に示すρは、上記車両の後輪中心の旋回運動の回転半径である。また、θは、旋回運動において|F|−1フレーム目から|F|フレーム目までの間に、車両が旋回する角度である。また、車速と時間とから算出される、|F|−1フレーム目から|F|フレーム目までの間の車両の移動距離が、|t|F|−t|F|−1|である。 Note that ρ shown in FIG. 6 is the turning radius of the turning motion of the center of the rear wheel of the vehicle. Further, θ is an angle at which the vehicle turns between the | F | -1st frame and the | F | frame in the turning motion. Further, the moving distance of the vehicle between the | F | -1st frame and the | F | frame, which is 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|を出力する計算過程を表すものである。 In the formula (4), the estimated position t | F | -1 of the (| F | -1) frame, the posture R | F | -1 of the (| F | -1) frame, and | F | Attitudes R | F | and l, (| F | -1) frame eye time T | F | -1 , | F | frame eye time T | F | , | F | frame eye speed It represents a calculation process in which s | F | is input and the estimated position t | F | of the | F | frame is output.

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

例えば、iフレーム目(i=1,2,…,|F|、|F|フレーム目が最新フレーム)における、操舵角をδとすると、操舵角から算出した運動モデルの回転行列Rは、次の式(5)の様に表すこともできる。この式(5)は、操舵角δと、車体の重心と前輪中心との距離と、車体の重心と後輪中心との距離とを入力として、回転行列Rを出力する計算過程を表す。 For example, if the steering angle in the i-frame (i = 1, 2, ..., | F |, | F | frame is the latest frame) is δ i , the rotation matrix R i of the motion model calculated from the steering angle is , Can also be expressed as the following equation (5). This equation (5) represents a calculation process for outputting the rotation matrix R i by inputting 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 2021113760
Figure 2021113760

ただし、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 centers of the front and rear wheels is as follows.

Figure 2021113760
Figure 2021113760

図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 outline of the movement of a vehicle (moving body) that moves based on the definition of a movement model different from that of FIG. In the figure, in the three-dimensional space of xyz, the vehicle travels on the ground which is the xy plane. In other words, the bottom surface of the wheels of the vehicle is constrained on the xy plane. Further, 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. Incidentally, theta is, | F | a -1, | | F | orientation R of the vehicle in the th frame F | -1 posture of the vehicle in the th frame R | F | is the angle -1 and forms. When this motion model is used, the following equation (6) holds.

Figure 2021113760
Figure 2021113760

|t|F|−t|F|−1|は、車速と時間とから算出される、|F|−1フレーム目から|F|フレーム目までの間の、車両の移動距離である。 | T | F | −t | F | -1 | is the moving distance of the vehicle between the | F | -1st frame and the | F | 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|を出力するための計算過程を表すものである。 In the formula (6), the estimated position t | F | -1 of the (| F | -1) frame, the posture R | F | -1 of the (| F | -1) frame, and | F | Attitudes R | F | and l, (| F | -1) frame eye time T | F | -1 , | F | frame eye time T | F | , | F | frame eye speed It represents a calculation process for outputting the estimated position t | F | of the | F | frame with s | F | as an input.

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

Figure 2021113760
Figure 2021113760

上の式(7)は、推定された移動体のtと、運動モデルによって得られた移動体の位置t(ハット)とを入力として、運動モデル誤差eriを出力するための計算過程を表す。 The above equation (7), and t i of the estimated mobile as input the position t i of the moving body obtained by the motion model (hat), the calculation process for outputting a motion model error e ri 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 attitude to R i of the moving body obtained by estimating the position of the obtained moving object by the motion model as R i (hat), motion model error e ri is expressed by the following equation (8).

Figure 2021113760
Figure 2021113760

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

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

Figure 2021113760
Figure 2021113760

式(9)は、特徴点誤差ejiおよび運動モデル誤差eriを入力として、総合的なEを出力するための計算過程を表す。なお、式(9)における、λは、特徴点誤差と運動モデル誤差とのバランスを調整するためのハイパーパラメーターである。 Equation (9) represents a calculation process for outputting a comprehensive E with the feature point error e ji and the motion model error eri as inputs. In addition, λ in the 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 posture of the moving body, the correction amount is an amount for reducing the value of E described above. For example, using the Gauss-Newton method, the Levenberg-Marquardt method, the conjugate gradient method, the genetic algorithm (GA), or the like, the correction unit 107 obtains the value of the correction amount for reducing E. That is, by minimizing E, from the first frame | can be obtained for all the frames up to frame, and the feature point error smaller position t i and orientation R i of motion model errors | F. However, i = 1, 2, ..., | F |, and the | F | frame is the latest frame.

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

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

(第2の実施形態)
次に、第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
(Second Embodiment)
Next, the second embodiment will be described. The matters already described in the previous embodiment may be omitted below. Here, the matters peculiar to the present embodiment will be mainly described.

図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 apparatus 2 according to the present embodiment. As shown in the figure, the information processing device 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. The correction unit 207, the sensor information acquisition unit 211, the sensor model calculation unit 212, and the sensor model error calculation unit 213 are included.

本実施形態の特徴は、情報処理装置2が、センサー情報取得部211を有し、取得されたセンサー情報にも基づいて補正量を算出する点である。 A feature of this 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.

推定部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 the first. 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 according to the first embodiment. , Have similar or similar functions. The configuration peculiar to the present 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 by using an electronic circuit, or by using a general-purpose computer and a program. Can also be realized. The functions of each part constituting the information processing device 2 are as follows.

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

特徴点追跡部203は、画像取得部202が取得した画像から、所定の特徴点を抽出する。また、特徴点追跡部203は、時系列の複数の画像における同一の特徴点を追跡する。つまり、特徴点追跡部203は、第1の実施形態の特徴点追跡部103と同様の機能を有する。 The feature point tracking unit 203 extracts a predetermined feature point from the image acquired by the image acquisition unit 202. In addition, 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 point by the feature point tracking unit 203 and the position and orientation of the moving body estimated by the estimation unit 201. That is, the feature point error calculation unit 204 has the same function as the feature point error calculation unit 104 of the first embodiment.

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

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

補正部207は、特徴点誤差算出部204が算出した特徴点誤差と、運動モデル誤差算出部206が算出した運動モデル誤差と、さらに、センサーモデル誤差算出部213が算出するセンサーモデル誤差とから、移動体の位置および姿勢の補正量を算出する。第1の実施形態における補正部107と異なる点は、補正部207が、上記センサーモデル誤差にも基づいて補正量を算出する点である。補正部207は、算出された補正量の情報を、推定部201にフィードバックする。なお、誤差を小さくするための補正量を求める方法については、後で説明する。 The correction unit 207 is 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. Calculate the correction amount of the position and posture of the moving body. The difference from the correction unit 107 in the first embodiment is that the correction unit 207 calculates the correction amount based on the sensor model error. The correction unit 207 feeds back the calculated correction amount information to the estimation unit 201. The 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 is specifically a speedometer, an acceleration sensor, a gyro sensor, a steering angle sensor, a GPS terminal device, or the like. The speedometer acquires speed information or speed information of a moving body. If it is an acceleration sensor, it acquires acceleration information of a moving body. If it is a gyro sensor, it acquires the orientation or posture of the moving body and their time derivative values (angle information and angular velocity information). The GPS terminal device acquires the position information of the moving body. Further, as the sensor, a video camera, a network camera, a distance sensor, or the like may be used. Even when the same equipment as the video camera, network camera, distance sensor, etc. used in the image acquisition unit 202 is used, the image acquisition unit 202 can be installed at a position different from the sensor of the image acquisition unit 202. It is possible to obtain information different from that of. Further, by changing the frame rate (the number of frames per unit time) or the angle of view of the camera or the distance sensor, the sensor information acquisition unit 211 can acquire information that cannot be obtained by the image acquisition unit 202. .. Further, as the sensor, a sensor in which a plurality of sensors are combined, such as an inertial measurement unit (IMU) or a yaw rate G sensor, may be used.

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

センサーモデル誤差算出部213は、センサーモデル算出部212が算出したセンサーモデルと、推定部201が推定した移動体の位置および姿勢から、センサーモデル誤差を算出する。言い換えれば、センサーモデル誤差算出部213は、推定部201が推定した移動体の位置と、前記センサーモデル算出部212が求めた移動体の位置と、の差であるセンサーモデル誤差を算出する。センサーモデル誤差を算出する方法の詳細については、後で説明する。 The sensor model error calculation unit 213 calculates the sensor model error from the sensor model calculated by the sensor model calculation unit 212 and the position and orientation of the moving body 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 moving body estimated by the estimation unit 201 and the position of the moving body obtained by the sensor model calculation unit 212. Details of the method for calculating the sensor model error will be described later.

図10は、情報処理装置2による処理の手順を示すフローチャートである。ここでは、このフローチャートに沿って、情報処理装置2による処理の手順を説明する。 FIG. 10 is a flowchart showing a processing procedure by the information processing apparatus 2. Here, the procedure of processing by the information processing apparatus 2 will be described with reference to 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 the feature points in the image based on the image acquired in step S201. Then, the feature point tracking unit 203 matches the extracted feature points with the feature points extracted from other images acquired at different times. That is, the feature point tracking unit 203 tracks the feature points in the time series.

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

ステップS204では、センサーモデル算出部212が、ステップS203でセンサー情報取得部211が取得したセンサー情報に基づき、センサーモデルを算出する。 In step S204, the sensor model calculation unit 212 calculates the 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 body based on the positions of the feature points in the image. The positions and postures estimated in this step are the initial values of the positions and postures, respectively.

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

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

ステップS208では、運動モデル算出部205が、運動モデルを算出する。この運動モデルは、ステップS205またはステップS212のいずれかにおいて推定部201が推定した位置および姿勢(直近で推定された位置および姿勢)を基に算出される。 In step S208, the exercise model calculation unit 205 calculates the exercise model. This motion model is calculated based on the position and posture (most recently estimated position and posture) 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 calculation unit 206 calculates the motion model error. This motion model error is derived from the position and posture (most recently estimated position and posture) 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. , Calculated.

ステップS210では、情報処理装置2は、ステップS206で算出された特徴点誤差と、ステップS207で算出されたセンサーモデル誤差と、ステップS209で算出された運動モデル誤差とが、十分に小さい値であるかどうかを判定する。具体的には、情報処理装置2は、特徴点誤差とセンサーモデル誤差と運動モデル誤差とを総合的に評価するための評価関数値を用いる。この評価関数の一例は、特徴点誤差の絶対値と、センサーモデル誤差の絶対値と、運動モデル誤差の絶対値とを、単純に加算する関数である。なお、他の評価関数を用いてもよい。情報処理装置2は、予め定められた上記評価関数の閾値に基づいて、本ステップでの判定を行う。判定の結果、誤差が十分に小さい場合(ステップS210:YES)には、所望の誤差範囲内の位置および姿勢が推定されていると考えられるため、本フローチャート全体の処理を終了する。誤差が十分に小さくない場合(ステップS210:NO)には、ステップS211に進む。 In step S210, the information processing apparatus 2 has sufficiently small values of 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. Determine if. Specifically, the information processing device 2 uses an evaluation function value for comprehensively evaluating the feature point error, the sensor model error, and the motion model error. 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. In addition, other evaluation functions may be used. The information processing device 2 makes a determination in this step based on a predetermined threshold value of the evaluation function. As a result of the determination, when the error is sufficiently small (step S210: YES), it is considered that the position and the posture within the desired error range are estimated, so that the processing of the entire flowchart is terminated. 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 the correction amount so that the feature point error, the sensor model error, and the motion model error become smaller. 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 posture of the moving body by applying the correction amount calculated by the correction unit 207 in step S211. The estimation unit 201 uses the corrected position and posture as a new estimation result.

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

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

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

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

Figure 2021113760
Figure 2021113760

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

Figure 2021113760
Figure 2021113760

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

Figure 2021113760
Figure 2021113760

を入力として、センサーモデル誤差esiを出力する計算過程を表す。 Is used as an input to represent the calculation process for outputting the sensor model error e si.

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

Figure 2021113760
Figure 2021113760

この式(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を出力とする計算過程を表す。 In this equation (11), the estimated position ti -1 of the (i-1) th frame, the speed vi -1 of the (i-1) th frame, and the posture R i- of the (i-1) th frame are shown. 1, and the acceleration a i of i-th frame, and the time T i of the i-th frame, (i-1) as inputs and time T i-1 th frame, the position of the sensor model i th frame t i ( Represents the calculation process with hat) as the output. In addition, the equation (11), (i-1) and the attitude R i-1 th frame, and the i-th frame of the angular velocity ω i, and time T i of the i-th frame, (i-1) th frame of It represents a calculation process in which the time Ti-1 is input and the attitude Ri (hat) of the sensor model in the i-frame is output. Further, the equation (11) as input the position of the sensor model t i (hat) and postures R i (hat), representing a calculation process of an output of the sensor model error e si.

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

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

Figure 2021113760
Figure 2021113760

式(12)は、特徴点誤差ejiと、運動モデル誤差eriと、センサーモデル誤差esiとを入力として、トータルな誤差Eを出力するための計算過程を表す。なお、式(12)において、λとλとは、特徴点誤差と、運動モデル誤差と、センサーモデル誤差との間のバランスを調整するためのハイパーパラメーターである。 Equation (12) represents a calculation process for outputting the total error E by inputting the feature point error e ji , the motion model error eri, and the sensor model error e si. In equation (12), λ r and λ s are hyperparameters for adjusting the balance between the feature point error, the motion model error, and the 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 the sensor information. Based on the above sensor information, the sensor model calculation unit 212 performs calculations using a predetermined model to calculate the position and posture of the moving body. The sensor model error calculation unit 213 calculates the sensor model error as the difference between the position and posture of the moving body estimated by the estimation unit 201 and the position and posture of the moving body calculated by the sensor model calculation unit 212. As a result, 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. As a result, the estimation accuracy of the position and the like estimated by the estimation unit 201 is further improved.
Further, it does not have the feature point error calculation unit 104 or the motion model error calculation unit 206, that is, it does not calculate the feature point error or the soil transportation model error, and is 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, the third embodiment will be described. The matters already explained up to the previous embodiment may be omitted below. Here, the matters peculiar to the present embodiment will be mainly described.

図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 apparatus 3 according to the present embodiment. As shown in the figure, 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. The correction unit 307 and the speed information acquisition unit 321 are included.

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

推定部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 are the first, 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 according to the first embodiment. , Have similar or similar functions. The features of this embodiment are the speed information acquisition unit 321 and the motion model calculation unit 305. The functions of each part of the information processing apparatus 3 can be realized as a dedicated function by using an electronic circuit, or can be realized by using a general-purpose computer and a program.

速度情報取得部321は、いわゆるスピードメーターから移動体の速度の情報を取得する。速度情報は、ベクトルであってもよいし、スカラー(ベクトルで表される速度の絶対値)であってもよい。移動体が自動車等である場合には、元々自動車が備えているスピードメーターから、速度情報を取得することもできる。速度情報取得部321は、取得した速度情報を、運動モデル算出部305に渡す。 The speed information acquisition unit 321 acquires information on the speed of the moving body from a so-called speedometer. The velocity information may be a vector or a scalar (absolute value of velocity represented by a vector). When the moving body is a car or the like, speed information can be obtained from the speedometer originally provided in the car. The speed information acquisition unit 321 passes the acquired speed information to the motion 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 a calculation based on the speed information received from the speed information acquisition unit 321 when calculating the position and posture of the moving body. 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 body and the like so as to match the calculated movement amount. That is, the motion model calculation unit 305 calculates the position of the moving body based on the acquired velocity. That is, the motion model error calculation unit 106 acquires the position and posture of the moving body according to the motion model based on the speed acquired by the velocity information acquisition unit 321 and calculates the error of the motion model.

なお、第2の実施形態と、第3の実施形態とを組み合わせて実施してもよい。その場合、情報処理装置は、センサー情報取得部が、センサー情報(一般的なセンサーによって取得される情報)を取得する。そして、センサーモデル算出部が、センサー情報に基づく位置および姿勢を求める。また、その情報処理装置は、速度情報取得部が取得した速度情報に基づいて、運動モデル算出部が、移動体の位置および姿勢を算出する。 The second embodiment and the third embodiment may be combined and implemented. In that case, in the information processing device, the sensor information acquisition unit acquires sensor information (information acquired by a general sensor). Then, the sensor model calculation unit obtains the position and posture based on the sensor information. Further, in the information processing device, the motion model calculation unit calculates the position and posture of the moving body 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 modification, the information processing apparatus (1, 2, 3) may interrupt some processing in the middle of the processing when the motion model error is larger than a predetermined value. In other words, the execution of some processing may be skipped. As a result of the motion model error calculation unit (106, 206, 306) calculating the motion model error, the motion model error is larger than other assumed errors (feature point error and sensor model error depending on the embodiment). If it is extremely large, other errors are likely to be negligible. 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 error can be ignored. Specifically, in this modification, when the value (absolute value) of the motion model error is equal to or more than a predetermined threshold value, the feature point error or the sensor model error is not calculated, or the feature point error or the sensor model error is calculated. It interrupts in the middle and moves to the process of obtaining the correction amount. At this time, in order to consider that the uncalculated errors can be ignored, the correction unit (107, 207, 307) obtains the correction amount with those errors as 0.

本変形例では、例えば、運動モデル誤差算出部(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 calculation unit (106, 206, 306) compares the calculated absolute value of the motion model error with the above threshold value. When the absolute value of the motion model error is equal to or greater than the threshold value, the motion model error calculation unit (106, 206, 306) calculates the feature point error and the sensor model error by sending a notification to each other unit. Suppress the processing for. 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) sends a notification to the motion model error. Control is performed so that the processing is executed with an error other than 0 as 0.

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

つまり、本変形例における運動モデル誤差算出部(106,206,306)は、求めた運動モデル誤差の絶対値が所定の閾値以上である場合に、特徴点誤差算出部(104,204,304)が特徴点誤差を求める処理を抑止するよう制御するとともに、補正部(107,207,307)が特徴点誤差をゼロであるとみなして補正量を求めるよう制御してもよい。 That is, the motion model error calculation unit (106, 206, 306) in this modification is the feature point error calculation unit (104, 204, 304) when the absolute value of the obtained motion model error is equal to or greater than a predetermined threshold value. May be controlled so as 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 by regarding the feature point error as zero.

また、本変形例における、第2実施形態の運動モデル誤差算出部(206)は、求めた運動モデル誤差の絶対値が所定の閾値以上である場合に、特徴点誤差算出部(204)が特徴点誤差を求める処理を抑止するよう制御し、また、センサーモデル誤差算出部(213)がセンサーモデル誤差を求める処理を抑止するよう制御するとともに、補正部(207)が特徴点誤差およびセンサーモデル誤差をともにゼロであるとみなして補正量を求めるよう制御してもよい。 Further, in the present modification, 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 more than a predetermined threshold value. The sensor model error calculation unit (213) controls to suppress the process of obtaining the point error, and the correction unit (207) controls the feature point error and the sensor model error. May be controlled so that the correction amount is obtained by regarding both of them as zero.

(第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. Further, the first modification may be combined with the second modification. In this modification, the information processing device (1, 2, 3) dynamically changes the hyperparameters according to the situation. Here, the hyperparameters to be changed are λ in the formula (7) of the first embodiment and λ r and λ s in the formula (10) of the second embodiment. That is, in this modification, the information processing apparatus (1, 2, 3) has a feature point error, a motion model error, and a sensor model (in the case of the second embodiment) when calculating the total error. The balance with the error can be changed dynamically.

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

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

本変形例では、情報処理装置(1,2,3)は、上記の事情を考慮し、外乱の影響の度合いに応じて、運動モデル誤差やセンサーモデル誤差の重みを変更する。具体的には、式(7)におけるλの値や、式(10)におけるλおよびλの値を、外乱の影響度合いに応じて動的に変更する。これにより、外乱が、トータルな補正量Eの算出に与える影響を小さくすることができる。 In this modification, the information processing apparatus (1, 2, 3) changes the weights 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 the equation (7) and the values of λ r and λ s in the 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, the information processing apparatus (1, 2, 3) in the case of providing the speedometer, in equation (7), and λ = λ 0 · exp (-b · s i). Here, s i is the velocity of the moving body obtained from the speedometer. Further, b is a predetermined positive constant. Further, λ 0 is a hyperparameter value when the velocity is 0. By making λ variable in this way, the weight of the motion model error becomes relatively large when the speed of the moving body is slow, and the weight of the feature point error becomes relatively large when the speed of the moving body is high. 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に与える影響を適切に調整することが可能となる。 Further, as another example, when the information processing device 2 of the second embodiment uses the IMU as a sensor, the following can be performed. That is, in equation (10), for example, λ r = λ r0 · exp (-b 1 · s i), may be a λ s = λ s0 · exp ( -b 2 · c i). Here, s i is the speed of the likewise mobile. Further, c i is the obtained from the temperature sensor such as temperature (absolute temperature or Celsius temperature). Further, b 1 and b 2 are predetermined positive constants. Further, λ r0 is a reference value of the hyperparameter λ r when the velocity is 0. Further, λ s0 is a reference value of the hyperparameter λ s when the temperature is a reference value. By making λ r and λ s dynamically variable in this way, the error of the motion model due to slip during high-speed movement of the moving body, the error of the sensor model due to high temperature, etc. become the total error. The effect on E can be adjusted appropriately.

つまり、本変形例では、補正部(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 making it dynamically variable.

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

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

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

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

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

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

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although some embodiments of the present invention have been described, these embodiments are presented as examples 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 changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, as well as in the scope of the invention described in the claims and the equivalent scope 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…速度情報取得部 1, 2, ... Information processing device, 101 ... Estimating unit, 102 ... Image acquisition unit, 103 ... Feature point tracking unit, 104 ... Feature point error calculation unit, 105 ... Motion model calculation unit, 106 ... Motion model error calculation unit, 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 estimation unit that estimates the position and orientation of the moving body,
An image acquisition unit provided on the moving body and acquiring an image,
A correction amount for correcting the position and posture of the moving body estimated by the estimation unit based on the acquired feature points of the object in the image and the motion model which is a restraining condition of the moving body is obtained. Correction part and
With
The estimation unit is a newly estimated position by correcting the estimated position and posture of the moving body based on the correction amount obtained by the correction unit.
Information processing device.
取得された前記画像中の物体の特徴点の位置と、前記物体の特徴点の3次元上の位置との誤差である特徴点誤差を算出する特徴点誤差算出部と、
前記移動体の拘束条件である運動モデルに基づいて算出される前記移動体の位置および姿勢と、前記推定部が推定した前記移動体の位置および姿勢と、の差である運動モデル誤差を求める運動モデル誤差算出部と、
をさらに備え、
前記補正部は、前記特徴点誤差と、前記運動モデル誤差と、に基づいて前記補正量を求める、
請求項1に記載の情報処理装置。
A feature point error calculation unit that calculates a feature point error that is an error between the acquired position of the feature point of the object in the image and the three-dimensional position of the feature point of the object.
Motion to obtain the motion model error, which is the difference between the position and posture of the moving body calculated based on the motion model which is the restraint condition of the moving body and the position and posture of the moving body estimated by the estimation unit. Model error calculation unit and
With more
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.
センサーからのセンサー情報を取得するセンサー情報取得部と、
前記センサー情報に基づいて、前記移動体の位置を求めるセンサーモデル算出部と、
前記推定部が推定した前記移動体の位置と、前記センサーモデル算出部が求めた前記移動体の位置と、の差であるセンサーモデル誤差を算出するセンサーモデル誤差算出部と、
をさらに備え、
前記補正部は、さらに前記センサーモデル誤差にも基づいて、前記補正量を求める、
請求項1に記載の情報処理装置。
The sensor information acquisition unit that acquires sensor information from the sensor, and
A sensor model calculation unit that obtains the position of the moving body based on the sensor information,
A sensor model error calculation unit that calculates a sensor model error that is the difference between the position of the moving body estimated by the estimation unit and the position of the moving body obtained by the sensor model calculation unit.
With more
The correction unit further obtains the correction amount based on the sensor model error.
The information processing device according to claim 1.
前記移動体の速度を取得する速度情報取得部、
をさらに備え、
前記運動モデル誤差算出部は、取得された前記速度にも基づいて、前記運動モデルに基づいて算出される前記移動体の位置および姿勢を算出する、
請求項2または3に記載の情報処理装置。
Speed information acquisition unit that acquires the speed of the moving body,
With more
The motion model error calculation unit calculates the position and posture of the moving body calculated based on the motion model based on the acquired velocity.
The information processing device according to claim 2 or 3.
前記運動モデル誤差算出部は、求めた前記運動モデル誤差の絶対値が所定の閾値以上である場合に、前記特徴点誤差算出部が前記特徴点誤差を求める処理を抑止するよう制御するとともに、前記補正部が前記特徴点誤差をゼロであるとみなして前記補正量を求めるよう制御する、
請求項2から4までのいずれか一項に記載の情報処理装置。
When the absolute value of the obtained motion model error is equal to or greater than a predetermined threshold value, the motion model error calculation unit controls the feature point error calculation unit to suppress the process of obtaining the feature point error, and at the same time, the motion model error calculation unit suppresses the process of obtaining the feature point error. The correction unit controls to obtain the correction amount by regarding the feature point error as zero.
The information processing device 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 obtained absolute value of the motion model error is equal to or greater than a predetermined threshold value. The sensor model error calculation unit controls to suppress the process of obtaining the sensor model error, and the correction unit controls to obtain the correction amount by regarding both the feature point error and the sensor model error as zero. do,
The information processing device 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 makes the correction dynamically variable between the feature point error and the motion model error. Ask for quantity,
The information processing device according to any one of claims 2 to 6.
前記補正部は、取得された前記移動体の速度の絶対値に基づき、前記速度の絶対値が大きいほど前記運動モデル誤差の重みが相対的に小さくなるように、前記特徴点誤差と前記運動モデル誤差との間の重みづけを動的に可変としながら前記補正量を求める、
請求項7に記載の情報処理装置。
Based on the acquired absolute value of the velocity of the moving body, the correction unit performs the feature point error and the motion model so that the larger the absolute value of the velocity, the smaller the weight of the motion model error becomes. The correction amount is obtained while dynamically changing the weighting with the error.
The information processing device according to claim 7.
前記補正部は、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差とに基づいて前記補正量を求める際に、前記特徴点誤差と前記運動モデル誤差と前記センサーモデル誤差との三者間の重みづけを動的に可変としながら前記補正量を求める、
請求項3に記載の情報処理装置。
When the correction amount is obtained based on the feature point error, the motion model error, and the sensor model error, the correction unit is between the feature point error, the motion model error, and the sensor model error. The correction amount is obtained while dynamically changing the weighting of.
The information processing device according to claim 3.
前記補正部は、取得された前記移動体の速度の絶対値に基づき前記速度の絶対値が大きいほど前記運動モデル誤差の重みが相対的に小さくなるように、且つ取得された温度の情報に基づき前記温度に応じて前記センサーモデル誤差の重みが相対的に可変となるように、前記三者間の重みづけを動的に可変としながら前記補正量を求める、
請求項9に記載の情報処理装置。
The correction unit is based on the acquired absolute value of the velocity of the moving body so that the larger the absolute value of the velocity is, the smaller the weight of the motion model error is, and based on the acquired temperature information. The correction amount is obtained while dynamically changing the weighting among the three parties so that the weight of the sensor model error is relatively variable according to the temperature.
The information processing device according to claim 9.
移動体の位置および姿勢を推定する推定過程と、
前記移動体に設けられ、画像を取得する画像取得過程と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定過程で推定した前記移動体の位置および姿勢を補正するための補正量を求める補正過程と、
を含み、
前記補正過程で求めた前記補正量に基づいて、前記推定過程で推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする、
情報処理方法。
The estimation process for estimating the position and orientation of the moving object, and
An image acquisition process provided on the moving body to acquire an image, and
A correction amount for correcting the position and posture of the moving body estimated in the estimation process is obtained based on the acquired feature points of the object in the image and the motion model which is a restraining condition of the moving body. The correction process and
Including
Based on the correction amount obtained in the correction process, the position and posture of the moving body estimated in the estimation process are corrected to obtain a newly estimated position.
Information processing method.
移動体の位置および姿勢を推定する推定過程と、
前記移動体に設けられ、画像を取得する画像取得過程と、
取得された前記画像中の物体の特徴点と、前記移動体の拘束条件である運動モデルと、に基づいて前記推定過程で推定した前記移動体の位置および姿勢を補正するための補正量を求める補正過程と、
を含み、
前記補正過程で求めた前記補正量に基づいて、前記推定過程で推定された前記移動体の位置および姿勢を補正して新たに推定した位置とする、
情報処理方法をコンピューターに実行させるためのプログラム。
The estimation process for estimating the position and orientation of the moving object, and
An image acquisition process provided on the moving body to acquire an image, and
A correction amount for correcting the position and posture of the moving body estimated in the estimation process is obtained based on the acquired feature points of the object in the image and the motion model which is a restraining condition of the moving body. The correction process and
Including
Based on the correction amount obtained in the correction process, the position and posture of the moving body estimated in the estimation process are corrected to obtain a newly estimated position.
A program that allows 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 true JP2021113760A (en) 2021-08-05
JP7175930B2 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)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07286855A (en) * 1994-04-18 1995-10-31 Zanabui Informatics:Kk Integrating type sensing device
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 Apparatus and method for position estimation and program storage 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07286855A (en) * 1994-04-18 1995-10-31 Zanabui Informatics:Kk Integrating type sensing device
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 Apparatus and method for position estimation and program storage 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
JP7175930B2 (en) 2022-11-21

Similar Documents

Publication Publication Date Title
JP7326720B2 (en) Mobile position estimation system and mobile position estimation method
US11393350B2 (en) Systems and methods for vehicle guidance using depth map generation
JP6760114B2 (en) Information processing equipment, data management equipment, data management systems, methods, and programs
US9070289B2 (en) System and method for detecting, tracking and estimating the speed of vehicles from a mobile platform
WO2016035324A1 (en) Method for estimating motion, mobile agent and non-transitory computer-readable medium encoded with a computer program code for causing a processor to execute a method for estimating motion
TW202018330A (en) Vehicle positioning system using lidar
CN112419374B (en) Unmanned aerial vehicle positioning method based on image registration
CN107735797B (en) Method for determining a movement between a first coordinate system and a second coordinate system
JP5990453B2 (en) Autonomous mobile robot
CN114216454B (en) Unmanned aerial vehicle autonomous navigation positioning method based on heterogeneous image matching in GPS refusing environment
CN111738032B (en) Vehicle driving information determination method and device and vehicle-mounted terminal
CN111829532B (en) Aircraft repositioning system and method
Michot et al. Bi-objective bundle adjustment with application to multi-sensor slam
Bao et al. Vision-based horizon extraction for micro air vehicle flight control
CN111510704B (en) Method for correcting camera dislocation and device using same
JP7173471B2 (en) 3D position estimation device and program
WO2023059497A1 (en) Camera calibration for lane detection and distance estimation using single-view geometry and deep learning
JP7259454B2 (en) Mobile position estimation system and mobile position estimation method
CN108592916B (en) Multi-navigation map positioning and navigation method of suspended autonomous underwater vehicle
Lee et al. Measuring vehicle velocity in real time using modulated motion blur of camera image data
JP7234840B2 (en) position estimator
CN114830185A (en) Position determination by means of a neural network
CN109459046B (en) Positioning and navigation method of suspension type underwater autonomous vehicle
JP7175930B2 (en) Information processing device, information processing method, and program
Sabry et al. Ground vehicle monocular visual odometry

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