JP7290599B2 - Point cloud processing system, method and program - Google Patents
Point cloud processing system, method and program Download PDFInfo
- Publication number
- JP7290599B2 JP7290599B2 JP2020074106A JP2020074106A JP7290599B2 JP 7290599 B2 JP7290599 B2 JP 7290599B2 JP 2020074106 A JP2020074106 A JP 2020074106A JP 2020074106 A JP2020074106 A JP 2020074106A JP 7290599 B2 JP7290599 B2 JP 7290599B2
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- image
- images
- estimated
- reference image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Description
本発明は、効果的にスケールドリフトに対処することのできる点群処理装置、方法及びプログラムに関する。 The present invention relates to a point cloud processing apparatus, method and program capable of effectively coping with scale drift.
SLAM(Simultaneous Localization and Mapping, 自己位置推定とマップ作成の同時実行)やSfM(Structure from Motion)を用いて3次元点群構築等を行うことができ、関連技術として種々の従来手法が存在する。 SLAM (Simultaneous Localization and Mapping, simultaneous execution of self-position estimation and map creation) and SfM (Structure from Motion) can be used to construct 3D point clouds, etc., and there are various conventional methods as related technologies.
非特許文献1では、全天周画像を用いたSLAMが開示され、広い画角の画像を使うほどSLAMの結果が安定するとされる。非特許文献2では、複数のカメラの情報を連携させて点群地図を生成している。非特許文献3では、全天周画像においてランドマーク部分を複数に分割して中心射影に変換し、比較している。 Non-Patent Document 1 discloses SLAM using an omnidirectional image, and it is said that the more an image with a wider angle of view is used, the more stable the result of SLAM is. In Non-Patent Document 2, a point cloud map is generated by linking information from a plurality of cameras. In Non-Patent Document 3, a landmark portion is divided into a plurality of parts in an omnidirectional image, converted into central projections, and compared.
特許文献1(「カメラ姿勢推定装置・プログラム」)では、画像の位置推定に信頼度を設け、誤差が最小になるようにカメラのポーズを推定する。 In Patent Literature 1 (“Camera Posture Estimation Apparatus/Program”), a degree of reliability is set for position estimation of an image, and the pose of the camera is estimated so that the error is minimized.
SLAMやSfMによる点群構築においては、スケールドリフトが発生して精度が低下することが課題であるが、以上のような従来技術においてはこのスケールドリフトに効果的に対処することができなかった。スケールドリフトとは、SLAMやSfMを行う際に徐々にスケールが小さくなったり、大きくなってしまう現象であり、計算上の誤差が累積して起こりやすく、不可避な現象である。スケールドリフトは画像の視野が狭く、特徴点が不十分な場合に、計算に用いられる領域が偏ることによって起こりやすい。 In point cloud construction by SLAM and SfM, the problem is that scale drift occurs and accuracy decreases, but the above conventional techniques could not effectively deal with this scale drift. Scale drift is a phenomenon in which the scale gradually becomes smaller or larger when performing SLAM or SfM, and is an unavoidable phenomenon that tends to occur due to accumulation of computational errors. Scale drift is likely to occur when the field of view of the image is narrow and the feature points are insufficient, and the area used for calculation is biased.
非特許文献1では、広い画角の画像を使うことでSLAMの結果を安定させるが、満遍なく特徴量が分布していることが前提であり、この前提が成立せず、偏りが大きい場合にはスケールドリフトを起こしてしまう。また広い画角を直接使うと、画像特徴量のゆがみが大きく、他の画像とのマッチング性能が低下してしまう。加え、広い画角の場合、通常の写真と類似するのは一部だけになるため、類似画像の検索性能も低下する。 In Non-Patent Document 1, the results of SLAM are stabilized by using an image with a wide angle of view. It causes scale drift. Also, if a wide angle of view is used directly, the distortion of the image feature amount becomes large, and the matching performance with other images deteriorates. In addition, in the case of a wide angle of view, similar images are only partially similar to normal photographs, so similar image search performance is also reduced.
非特許文献2のように、複数のカメラの情報を連携させて点群地図を生成する方法もあるが、カメラを増設して画像量を増やすことにより、処理量が増えてしまう。ここで、複数のカメラを固定して測定しても、それぞれの位置がバラバラに出てしまい、地図の生成が安定しない。またカメラの位置は、完全に固定することは不可能であり、経時でずれるためキャリブレーションが難しい。 Although there is a method of linking information from a plurality of cameras to generate a point cloud map, as in Non-Patent Document 2, increasing the number of cameras and increasing the amount of images increases the amount of processing. Here, even if a plurality of cameras are fixed and measured, the positions of the cameras are scattered, and the generation of the map is not stable. Moreover, it is impossible to completely fix the position of the camera, and calibration is difficult because it shifts over time.
非特許文献3では全天周画像から比較用に特定の場所を切り出しているが、あくまでクエリ画像の場所を絞り込むために使用されており、点群構築における位置計算を対象としたものではないため、非特許文献3でもスケールドリフトには対処できない。 In Non-Patent Document 3, a specific location is cut out from the omnidirectional image for comparison, but it is used only to narrow down the location of the query image, and is not intended for position calculation in point cloud construction. , and Non-Patent Document 3 also cannot deal with scale drift.
特許文献1の手法においても、1枚の画像で特徴量の分布が偏る場合にはスケールドリフトが発生し、位置の推定精度が下がってしまう。 Even in the method of Patent Document 1, scale drift occurs when the distribution of the feature quantity is biased in one image, and the position estimation accuracy decreases.
上記従来技術の課題に鑑み、本発明は、効果的にスケールドリフトに対処することのできる点群処理装置、方法及びプログラムを提供することを目的とする。 SUMMARY OF THE INVENTION In view of the above problems of the prior art, it is an object of the present invention to provide a point cloud processing apparatus, method, and program capable of effectively coping with scale drift.
上記目的を達成するため、本発明は点群処理システムであって、環境中を移動して位置及び回転を変化させながら撮影された各フレーム画像を、複数の視野範囲に分割した分割画像を得る分割部と、各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定部と、を備えることを特徴とする。また、当該点群処理システムに対応する方法及びプログラムであることを特徴とする。 In order to achieve the above object, the present invention is a point cloud processing system that obtains divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges. A dividing unit extracts feature points from each frame image, performs matching of the feature points between different frame images, and extracts the position and rotation of each of the split images obtained by dividing the frame images whose positions and rotations have not been estimated. estimating the position and rotation of each of the divided images using the matching result between the estimated frame image and imposing a condition that each of the divided images share a position and a part. Also, the present invention is characterized by being a method and a program corresponding to the point cloud processing system.
本発明によれば、画像を複数の視野範囲に分割した分割画像を用いて、各分割画像が位置を共有する条件のもとで分割画像の各々の位置及び回転を推定することにより、単一の画像全体で位置及び回転を推定する場合と比べて効果的にスケールドリフトの影響を抑制することが可能となる。 According to the present invention, by using divided images obtained by dividing an image into a plurality of visual field ranges and estimating the position and rotation of each divided image under the condition that each divided image shares a position, a single It is possible to effectively suppress the influence of scale drift compared to the case of estimating the position and rotation of the entire image.
図1は、一実施形態に係る点群処理システムの構成図であり、点群処理システム10はインターネット等のネットワークNWを介して相互に通信可能とされる端末1及びサーバ2を備える。端末1は、スマートフォン等のモバイルデバイス又は車載装置等として構成することができる移動体であり、点群処理システム10において処理する対象となる点群を、映像として撮影する等によって端末1の周辺環境から取得するものである。一実施形態では点群処理システム10には端末1のみが含まれサーバ2が含まれない構成により、端末1が単独で点群に関する処理を行うようにしてもよい。一実施形態では点群処理システム10は端末1及びサーバ2を含み、端末1及びサーバ2で処理を分担しながら点群に関する処理を担うようにしてもよい。 FIG. 1 is a configuration diagram of a point cloud processing system according to one embodiment. A point cloud processing system 10 includes a terminal 1 and a server 2 that can communicate with each other via a network NW such as the Internet. The terminal 1 is a mobile device that can be configured as a mobile device such as a smartphone or an in-vehicle device. It is obtained from In one embodiment, the point cloud processing system 10 includes only the terminal 1 and does not include the server 2, so that the terminal 1 alone may process the point cloud. In one embodiment, the point cloud processing system 10 includes a terminal 1 and a server 2, and the terminal 1 and the server 2 may share the processing and perform processing related to the point cloud.
図2は、一実施形態に係る点群処理システム10の機能ブロック図である。点群処理システム10は、映像取得部11、分割部12及び推定部13を備え、推定部13はさらにマッチング部31、位置回転推定部32、外れ値除外部33及び最適推定部34を備える。点群処理システム10は、端末1の周辺環境の点群を処理するものであり、当該周辺環境を撮影した映像を取得するのが映像取得部11であるため、端末1には少なくとも映像取得部11がカメラ(位置姿勢の推定対象となるカメラ)として設置されることで備わっていればよい。分割部12及び推定部13の全部又は一部は、端末1又はサーバ2のいずれかに備わっていればよい。
FIG. 2 is a functional block diagram of the point cloud processing system 10 according to one embodiment. The point cloud processing system 10 includes an image acquisition unit 11, a division unit 12, and an estimation unit 13. The estimation unit 13 further includes a
図3は、一実施形態に係る点群処理システム10の動作のフローチャートである。図3のフローチャートの動作は、リアルタイムの各時刻t(t=1,2,3,…)において端末1の周辺環境を撮影したフレーム画像F(t)を取得し、この画像F(t)を1つ以上の過去時刻の画像F(t-k)(k≧1)と照合する(位置姿勢が推定済の過去時刻の画像と未推定の現時刻の画像から抽出される点群同士を照合する)ことにより、現時刻tにおける端末1の位置姿勢(後述する位置Pi=Pi(t)及び回転Qi=Qi(t))を推定結果として出力するものである。
FIG. 3 is a flowchart of the operation of the point cloud processing system 10 according to one embodiment. The operation of the flowchart in FIG . Compare with one or more past time images F(tk) (k≧1) (match point clouds extracted from the past time image whose position and orientation have been estimated and the current time image whose position and orientation have not been estimated) As a result, the position and orientation of the terminal 1 at the current time t (position P i =P i (t) and rotation Q i =Q i (t) to be described later) are output as estimation results.
以下、図3の各ステップを説明しながら、図2の各機能ブロックの処理内容に関して説明する。 Hereinafter, the processing contents of each functional block in FIG. 2 will be described while describing each step in FIG.
ステップS1では、端末1に設置されたカメラとして構成される映像取得部11が撮影を行うことにより、端末1が存在する環境(端末1の周辺にあるフィールド等)を現時刻tにおいて撮影したフレーム画像F(t)を取得して分割部12へと出力してから、ステップS2へと進む。 In step S1, the image acquisition unit 11 configured as a camera installed in the terminal 1 captures a frame of the environment in which the terminal 1 exists (fields around the terminal 1, etc.) at the current time t. After acquiring the image F(t) and outputting it to the dividing unit 12, the process proceeds to step S2.
映像取得部11のカメラは魚眼レンズ等を備えることにより、広角の撮影を行うことが可能なものとして構成されることが好ましい。当該撮影されるフレーム画像F(t)は例えば、全天球画像(全球のエリアを撮影した画像)又は全天周画像(半球のエリアを撮影した画像)であってよい。 It is preferable that the camera of the image acquisition unit 11 is configured to be capable of wide-angle shooting by including a fisheye lens or the like. The captured frame image F(t) may be, for example, an omnidirectional image (an image obtained by photographing a global area) or an omnidirectional image (an image obtained by photographing a hemispherical area).
ステップS2では分割部12が、ステップS1で得たフレーム画像F(t)を複数の視野範囲に分割することにより、1つの基準画像I0及び1つ以上の関連画像Ii(1≦i≦N-1, N≧2)を得て、且つ、各関連画像Iiに対応する回転初期値Ri(1≦i≦N-1)を求め、これら得られた基準画像I0並びに関連画像Ii及び対応する回転初期値Riを推定部13へと出力してから、ステップS3へと進む。 In step S2, the dividing unit 12 divides the frame image F(t) obtained in step S1 into a plurality of visual field ranges to obtain one reference image I0 and one or more related images Ii (1≤i≤ N-1, N≧2) are obtained, and an initial rotation value R i (1≦i≦N-1) corresponding to each related image I i is obtained, and the obtained reference image I 0 and the related image After outputting I i and the corresponding initial rotation value R i to the estimator 13, proceed to step S3.
フレーム画像F(t)は、透視射影、円周魚眼、正距円筒図法などの射影画像で、広範囲をカバーするために、1枚以上の画像(魚眼画像等)によって表現したものとして構成されている。分割部12では、魚眼画像等として構成されるフレーム画像F(t)における視野範囲を所定の複数の視野範囲(部分的に重複があってもよい)に分割し、所定の射影方式を適用することにより、透視投影モデル(ピンホールカメラ)により当該視野範囲を通常の画像(魚眼画像等のように歪んでいない通常の画像)として表現したものとして、基準画像I0及び関連画像Iiを生成する。 The frame image F(t) is a projected image such as perspective projection, circular fisheye, equirectangular projection, etc. In order to cover a wide range, it is composed of one or more images (fisheye image, etc.). It is The dividing unit 12 divides the visual field range in the frame image F(t) configured as a fisheye image or the like into a plurality of predetermined visual field ranges (which may partially overlap), and applies a predetermined projection method. By doing so, the reference image I 0 and the related image I i to generate
図4及び図5はそれぞれ、フレーム画像が全天球画像及び全天周画像として構成される場合に、分割部12で適用する視野範囲の分割の例を示す図である。図4及び図5において共に、紙面奥行方向が3次元空間における垂直下方向、紙面手前方向が垂直上方向を想定している。図4は、前方側の魚眼レンズFLが捉える水平前方範囲180°を、相互に重複を許容した3つの視野範囲f1,f2,f3に分割し、後方側の魚眼レンズBLが捉える水平後方範囲180°を、相互に重複を許容した3つの視野範囲f4,f5,f6に分割することにより、全天球を表す2枚(前方側及び後方側の2枚)の円周魚眼画像を、重複を許容した6つの視野範囲f1~f6に分割する例を示している。図5は、水平上方側の半球エリア(例えば地面上方の半球エリア)を撮影するように構成された全天周を表す円周魚眼画像において、水平方向の360°の視野範囲を、重複を許容してf11,f12,f13,f14,f15,f16の6つの視野範囲に分割する例を示している。なお、図4では2つの魚眼レンズFL,BLは水平前方及び後方に面しているのに対し、図5では1つの魚眼レンズが垂直上方に面している。 4 and 5 are diagrams showing examples of division of the visual field range applied by the division unit 12 when the frame image is configured as an omnidirectional image and an omnidirectional image, respectively. In both FIGS. 4 and 5, it is assumed that the depth direction on the paper surface is the vertical downward direction in the three-dimensional space, and the frontward direction on the paper surface is the vertical upward direction. Figure 4 divides the 180° horizontal front range captured by the fisheye lens FL on the front side into three viewing ranges f1, f2, and f3 that allow mutual overlap, and divides the 180° horizontal rear range captured by the fisheye lens BL on the rear side. , By dividing into three fields of view f4, f5, and f6 that allow mutual overlap, two circular fisheye images (front side and back side) representing the omnisphere can be overlapped. 6 shows an example of dividing into six visual field ranges f1 to f6. FIG. 5 illustrates a 360° horizontal field of view in a full-dome circular fisheye image configured to capture a horizontal hemispherical area (e.g., a hemispherical area above the ground). It shows an example of dividing into six viewing ranges f11, f12, f13, f14, f15, and f16. In FIG. 4, the two fish-eye lenses FL and BL face horizontally forward and backward, whereas in FIG. 5 one fish-eye lens faces vertically upward.
なお、ステップS2において分割部12がフレーム画像F(t)を複数の視野範囲に分割する仕方は、時刻tによらない所定の分割方式を予め設定しておけばよい。 It should be noted that in step S2, the division unit 12 may divide the frame image F(t) into a plurality of visual field ranges by setting in advance a predetermined division method that does not depend on the time t.
図6は、分割部12が分割した視野範囲において、適切な画角(例えば対角90度程度)の透視投影モデル(ピンホールカメラ)により歪みのない(または歪みが少ないと判定できる)通常の画像として基準画像I0及び関連画像Iiを生成することと、対応する回転初期値Riを取得する処理を説明するための図である。 FIG. 6 shows a normal perspective projection model (pinhole camera) with an appropriate angle of view (for example, about 90 degrees diagonally) with no distortion (or with little distortion) in the visual field range divided by the dividing unit 12. FIG. 10 is a diagram for explaining the process of generating a reference image I 0 and a related image I i as images and acquiring the corresponding initial rotation value R i ;
図6では例EX1に、基準画像I0及び関連画像Iiに対応する視野範囲S0及びSiが、カメラ視点Cを中心とする球面SP上に示されている。視野範囲S0及びSiにはそれぞれ、球面SP上における当該範囲の位置を示す回転R0及びRi(それぞれ回転行列として与えることができる)を定めることができるので、これらを回転初期値とすればよい。特に、基準画像I0の視野範囲S0の回転R0を基準として、(つまり、回転R0は無回転であるものとして、)相対的な回転として、1つ以上の関連画像Iiの視野範囲Siに対応する回転Riを初期値として設定すればよい。例EX1においては、回転方向を表す矢印として、回転Riが回転R0を基準として定まることが模式的に示されている。(従って、分割部12がフレーム画像F(t)を複数の視野範囲に分割する所定の分割方式に応じた固定値として、回転初期値Riも定まることとなる。) In FIG. 6, the example EX1 shows the viewing ranges S0 and S i corresponding to the reference image I0 and the related image Ii on the spherical surface SP centered on the camera viewpoint C. FIG. Since the visual field ranges S 0 and S i can be defined with rotations R 0 and R i (which can be given as rotation matrices, respectively) indicating the positions of the ranges on the spherical surface SP, these are the initial rotation values. do it. In particular, the field of view of one or more associated images I i as a relative rotation with respect to the rotation R 0 of the field range S 0 of the reference image I 0 (that is, assuming that the rotation R 0 is no rotation) A rotation R i corresponding to the range Si may be set as an initial value. In example EX1, the arrow representing the direction of rotation schematically shows that the rotation R i is determined based on the rotation R 0 . (Therefore, the rotation initial value R i is also determined as a fixed value according to a predetermined division method in which the division unit 12 divides the frame image F(t) into a plurality of visual field ranges.)
図6の例EX1,EX2に模式的に示される通り、透視投影モデル(ピンホールカメラ)により歪みのない(又は少ないと判定できる)適切な画角(例えば対角90度程度)の通常の画像として基準画像I0及び関連画像Iiを生成するには、次のようにすればよい。例EX1に示される魚眼画像F1を球面SPに射影する(なお、F1を射影したのがF2である)ことにより、球面SP上における視野範囲S0及びSiに存在するものとして、球面画像S0及びSi(説明の便宜上、視野範囲と球面画像とに同一の符号を用いる)を得ることができる。そして、例EX2に示されるように、カメラ視点Cを中心とする中心射影の平面I0及びIiに球面画像S0及びSiを射影することにより、通常の画像としての基準画像I0及び関連画像Ii(説明の便宜上、射影のための画像平面と射影された結果得られる画像とに同一の符号を用いる)を得ることができる。 As shown schematically in examples EX1 and EX2 in FIG. 6, a normal image with an appropriate angle of view (for example, about 90 degrees diagonal) with no (or little) distortion due to a perspective projection model (pinhole camera) To generate the reference image I 0 and the associated image I i as By projecting the fisheye image F1 shown in example EX1 onto the spherical surface SP ( F2 is the projection of F1 ) , the spherical image S 0 and S i (using the same reference numerals for field of view and spherical image for convenience of explanation) can be obtained. Then, as shown in example EX2, by projecting the spherical images S 0 and S i onto planes I 0 and I i of central projection centering on the camera viewpoint C, the reference images I 0 and S i as normal images are obtained. An associated image I i (for convenience of explanation, the same reference numerals are used for the image plane for projection and the resulting projected image) can be obtained.
なお、射影方式には円周魚眼など様々なものが存在し、図6の例EX1に示される方式とは異なるものとして、例EX3に180度の円周魚眼の例も示す。分割部12ではフレーム画像F(t)に適用されている個別の射影方式に応じた手法により、基準画像I0及び関連画像Iiを生成し、且つ、回転初期値Riを取得することができる。なお、すでにステップS6でRiが最適化計算されている場合は、その値を回転初期値Riとして利用するようにしてよい。(例えば、初期時刻t=1では、ステップS6の最適化計算は一度も行われていないため、射影方式に応じた所定の回転初期値Ri(t=1)を利用し、それよりも後の時刻t≧2では、例えば直前時刻t-1でのステップS6で最適化計算されている値Ri (t-1)を、当該時刻tでの回転初期値として利用してよい。) There are various projection methods such as a circular fisheye, and an example EX3 shows an example of a 180-degree circular fisheye as a method different from the method shown in the example EX1 of FIG. The dividing unit 12 can generate the reference image I0 and the related image Ii and acquire the initial rotation value Ri by a technique corresponding to the individual projection method applied to the frame image F(t). can. If Ri has already been optimized and calculated in step S6, that value may be used as the initial rotation value Ri . (For example, at the initial time t=1, the optimization calculation in step S6 has not been performed even once, so a predetermined rotation initial value R i (t=1) corresponding to the projection method is used. At time t≧2, for example, the value R i (t-1) optimized in step S6 at time t-1 immediately before may be used as the initial rotation value at time t.)
図3の各ステップの説明に戻り、ステップS3では、位置姿勢が未推定である現時刻tの画像(フレーム画像F(t)よりステップS2で得られた基準画像I0及び関連画像Ii)と、位置姿勢が推定済である過去時刻t-k(k≧1)の画像(フレーム画像F(t-k)より過去時刻t-kに関してステップS2で得られた基準画像I0及び関連画像Ii)との間でマッチング部31が特徴点マッチングを行ってから、ステップS4へと進む。
Returning to the description of each step in FIG. 3, in step S3, an image at current time t whose position and orientation have not been estimated (the reference image I 0 and the related image I i obtained in step S2 from the frame image F(t)) and an image at past time tk (k≧1) whose position and orientation have been estimated (reference image I 0 and related image I i obtained in step S2 for past time tk from frame image F(tk)) After the
上記の通り、マッチング部31による特徴点マッチングは、歪みのない(又は少ない)基準画像I0及び関連画像Iiに関して、現時刻tと過去時刻t-kとの間において実施され、現時刻tの画像に対する1つ以上の過去画像におけるマッチング結果が保存される。当該マッチング結果は、後述するステップS4における位置回転推定部32の処理と、ステップS5における外れ値除外部33の処理と、ステップS6における最適推定部34の処理と、において参照して利用される。
As described above, the feature point matching by the matching
マッチング部31では、基準画像I0及び関連画像Iiから特徴点及び特徴量(SIFT特徴など)を抽出したうえで、特徴点及び特徴量によるマッチングを行えばよい。例えば、現時刻tの各特徴点に対してある1つの過去時刻t-kの全ての特徴点との間でマッチングするものを、特徴量の類似度が最大となるものとしてマッチング結果を得るようにしてよい。この最大類似度が閾値判定で小さいと判定された場合には、マッチング結果を該当なしとしてもよい。
The matching
ステップS4では、位置回転推定部32が、現時刻tの基準画像I0及び関連画像Iiについて、その位置Pi及び回転Qi(0≦i≦N-1、i=0の場合は基準画像I0の位置及び回転、i≧1の場合は関連画像Iiの位置及び回転)を推定してから、ステップS5へと進む。(なお、当該推定する回転Qiは、別の変数表記を割り当てていることからも明確なように、ステップS2で各関連画像Iiについて求めた回転初期値Riとは別のものである。)
In step S4, the position/
位置回転推定部32では、ステップS3で求まっているマッチング結果(すなわち、現時刻tの画像が構成する点群と過去時刻t-kの画像が構成する点群とのマッチング結果)を利用して、エピポーラ幾何やバンドル調整といった任意の既存手法を用いることにより、一般的なSfM等においてなされているのと同様にして、各画像の位置Pi及び回転Qiを推定することができる。(以下に説明するように、過去時刻t-kの画像に関しては、基準画像I0及び関連画像Iiについて、その位置姿勢(位置及び回転)が過去時刻t-kのステップS6において推定済み(ステップS5で除外されなかった画像に関して推定済み)である。従って、ステップS4では位置及び回転が推定済の過去時刻の画像との間で照合を行うことにより、現時刻tの各画像の位置Pi及び回転Qiを推定することができる。)
The position/
ステップS5では、外れ値除外部33が、ステップS3で求まっているマッチング結果と、ステップS4で求まっている現時刻tの基準画像I0及び関連画像Iiについての位置Pi及び回転Qiと、を用いて、現時刻tの基準画像I0及び関連画像Iiのうち、外れ値に相当する画像を判定し、当該判定される画像を、次のステップS6での最適推定部34による処理対象から除外して、ステップS6へと進む。(なお、ステップS5において除外判定がなされなかった場合は、除外する画像は発生しない。)
In step S5, the
外れ値除外部33では以下の(1)又は(2)に該当する画像を除外すべきものとして判定し、除外する。
The
(1) 各画像Ii(0≦i≦N-1、i=0の場合は基準画像I0、i≧1の場合は関連画像Ii)について、当該N枚全体での平均位置Pavgを計算する。平均位置Pavgは、例えば相加平均ΣPi/Nや各位置Pi=(xi,yi,zi)の中央値などとして計算すればよい。当該平均位置Pavgからの乖離が大きいものを差分の絶対値|Pi-Pavg|に対する閾値判定により判定し、乖離が大きいと判定された画像を除外対象とする。 (1) For each image I i (0≦i≦N−1, reference image I 0 if i=0, related image I i if i≧1), the average position P avg of the entire N images to calculate The average position P avg may be calculated as, for example, the arithmetic mean ΣP i /N or the median value of each position P i =(x i, y i, z i ). An image with a large divergence from the average position P avg is determined by threshold determination with respect to the absolute value of the difference |P i −P avg |, and an image determined to have a large deviation is excluded.
(2) ステップS3で求まっているマッチング結果において、当該画像におけるマッチングした特徴点の個数が閾値判定で少ないと判定される画像を、除外対象とする。 (2) In the matching result obtained in step S3, an image that is determined to have a small number of matched feature points by threshold determination is excluded.
以下、説明のため、ステップS5により除外されなかった残りの画像を表すインデクス集合をU(U⊂{0,1,2,…,N-1})とし、除外されずに残った画像をIj(j∈U)と表記する。ステップS5による除外により、次のステップS6で得られる最終的な位置及び回転の推定精度を向上させることができる。 Hereinafter, for the sake of explanation, let the index set representing the remaining images not excluded in step S5 be U (U ⊂ {0, 1, 2, ..., N-1}), and the remaining images not excluded be I It is written as j (j∈U). The exclusion in step S5 can improve the accuracy of the final position and rotation estimates obtained in the next step S6.
ステップS6では、最適推定部34が、ステップS5で除外されずに残った各画像Ij(j∈U)について、以下の手順1~4により、最適化されたものとしてその位置及び回転を推定し、点群処理システム10からの出力とし、ステップS1へと戻る。当該戻ったステップS1では次の現時刻t+1について同様の処理が継続して実行される。
In step S6, the
(手順1) 各画像Ij(j∈U)の回転Qj(ステップS4で求まっている)に対し、回転初期値Rj(ステップS2で求まっている)の回転逆行列invRj(=Rj -1)を乗じた(invRj)・Qj (j∈U)の集合U内での平均値(相加平均)を計算する。この平均値をQavgとする。なお、基準画像I0(j=0)に関して、R0が無回転であることから、(invR0)・Q0 =Q0である。 ( Procedure 1) Rotation inverse matrix invR j ( = R Calculate the average (arithmetic mean) within the set U of ( invR j )·Q j (j∈U) multiplied by j −1 ). Let this average value be Q avg . Note that (invR 0 )·Q 0 =Q 0 because R 0 is non-rotated with respect to the reference image I 0 (j=0).
(手順2) 平均位置Pavg(ステップS5により除外されなかった残りの画像に基づく位置の平均)及び平均回転Qavg(手順1で求まっている)を、基準画像I0の位置及び回転であるものとして設定(以降のバンドル調整のための初期値として設定)する。(なお、基準画像I0がステップS5で外れ値として除外されている場合であっても、当該ステップS6の最適化計算は行われ、この設定を行う。この設定は、基準画像I0自身のみに対する設定ではなく、基準画像I0以外の画像についても設定の前提となるためである。) (Step 2) Let the average position P avg (the average of the positions based on the remaining images not excluded by step S5) and the average rotation Q avg (obtained in step 1) be the position and rotation of the reference image I 0 (set as the initial value for subsequent bundle adjustments). (Note that even if the reference image I 0 is excluded as an outlier in step S5, the optimization calculation in step S6 is performed and this setting is performed. This setting applies only to the reference image I 0 itself. This is because it is the premise of the setting for images other than the reference image I0 , not for the setting for
(手順3) 変数をPavg,Qavg,Rj(j∈U, j≧1)としたバンドル調整による、非線形最小化問題を解く。当該解くにはCeresなどの一般的な手法やライブラリ等を利用してよい。この際、関連画像の位置をPj=Pavg、回転Qj=Rj・Qavgとして計算する。この時の変数は、Pavg、Rj、Qavg(j∈U, j≧1)であり、バンドル調整によって基準画像I0との相対回転Rj(j≧1)も調整が行われる。なおR0は無回転固定であり最適化計算対象外となる。
(Procedure 3) Solve a nonlinear minimization problem by bundle adjustment with variables P avg , Q avg , and R j (j∈U, j≧1). A general method such as Ceres, a library, or the like may be used to solve the problem. At this time, the position of the related image is calculated as P j =P avg and the rotation Q j =R j ·Q avg . The variables at this time are P avg , R j , Q avg (jεU, j≧1), and the bundle adjustment also adjusts the relative rotation R j (j≧1 ) with respect to the reference image I 0 . Note that R 0 is fixed without rotation and is excluded from the optimization calculation.
(手順4) 上記手順3で解いた結果として、最適化されたPavg,Qavg,Rj(j∈U, j≧1)が算出されるので、関連画像の位置Pj=Pavg、回転Qj=Rj・Qavg(0≦k≦N-1)として最終的な推定結果を得る。ここで、前述の通り、R0は無回転固定であり最適化計算対象外であるため、回転Q0=Qavgとなる。 (Procedure 4 ) As a result of solving in the above procedure 3, optimized P avg , Q avg , R j (j∈U, j≧1) are calculated. The final estimation result is obtained with the rotation Q j =R j ·Q avg (0≦k≦N−1). Here, as described above, since R 0 is fixed at no rotation and is not subject to optimization calculation, rotation Q 0 =Q avg .
以上のように、ステップS6では最適推定部34が現時刻tでの各画像Ij(j∈U)に対して、各画像Ij(j∈U)においてステップS3でマッチングした特徴点の3次元世界座標の位置と、各画像Ij(j∈U)のカメラ位置及び向き(画像の位置及び回転)とを未知パラメータとして、既存手法であるバンドル調整により、特徴点の3次元世界座標を各画像平面座標に再投影した際の誤差を最小化するように、これら未知パラメータを推定する。この際、本実施形態のバンドル調整においては、各画像Ij(j∈U)のカメラ位置及び向きに関して、自由に変動させるのではなく、手順3で説明したような制約のもとで変動させて再投影誤差を最小化するものを算出することにより、手順4のように最終的な推定結果を得ることができる。また、本実施形態のバンドル調整においては、手順1,2において、手順3の変数の初期値を設定することで、安定的に計算を行うことができる。
As described above, in step S6, the
なお、ステップS6での最適推定部34によるバンドル調整は、現時刻tのみでの各画像Ij=Ij(t)(j∈U=U(t))に対してではなく、1つ以上の過去時刻t-k(k≧1)における各画像Ij=Ij(t-k)(j∈U=U(t-k))も追加したうえで、行うようにしてもよい。(この場合、1つ以上の過去時刻t-k(k≧1)における各画像Ij(j∈U)についても同様の制約(手順3)を課して最適化することにより、1つ以上の過去時刻t-k(k≧1)における各画像Ij(j∈U)のカメラの位置及び向きも再度、最適化して更新された値が得られることとなる。)
Note that the bundle adjustment by the
なお、ステップS6ではさらに、定期的に(例えば所定フレーム間隔ごとに)位置及び回転が決まった全画像(現時刻tまでの全画像)を対象として、バンドル調整を行うことで、既に推定されている位置及び回転をさらに最適化するようにしてもよい。 In step S6, bundle adjustment is performed on all images (all images up to the current time t) whose positions and rotations are determined periodically (for example, at predetermined frame intervals). The position and rotation may be further optimized.
以上の図3のフローにより、スケールドリフトを効果的に抑制して、最適推定部34により位置及び回転を推定することができる。特に、最適推定部34においては広角画像を複数の視野範囲に分割したものとしての基準画像I0及び関連画像Iiを利用する(特に、その位置(最終的にPavgとして推定される位置)が基準画像I0及び関連画像Iiにおいて共有され(同一位置を有し)、且つ、回転のみが相互に異なっているという条件を課して利用する)ことで、画像の広い範囲に渡って偏りなく特徴点を利用することにより、スケールドリフトを効果的に抑制することが可能である。図3では例としてリアルタイムの測位を行う場合に関して説明したが、この測位結果に基づき地図作成を行う場合にも本実施形態は適用可能である。(地図生成の場合、画像の位置を推定した後に、周囲の点群を地図として保存する動作を追加すればよい。)また、測位はリアルタイムではなくオフラインで行うようにしてもよい。(図3のフローを映像の各時刻t通りの順番ではなく、任意の順番に変更して実施してもよい。)
With the above-described flow of FIG. 3, scale drift can be effectively suppressed, and the position and rotation can be estimated by the
図7は本実施形態の効果を対比例と共に模式的に示す図である。例EX11は対比例として、本来同じ位置となるべきものが、それぞれの画角でまとまり、別の位置として誤推定されてしまっている。例EX12は本実施形態の適用例であり、一つの場所から扇状に画像位置が計算されていることが分かる。また計算時間短縮の効果も得られる。なお、図6において、扇状の形状は、錐体として、推定した位置及び回転を表す(錐体の底面の四角形の開き具合が画角に相当する)ものである。例EX11及び例EX12では共通の6つの軌跡が存在するが、例EX11においては位置が異なる軌跡を描いている3本と、バラバラとなって線に見えない1本と、さらに位置が分からなかった2本と、の6本が存在し、例EX12においては、この6本分がきれいに扇状に重なり1本に見えている。(例EX12で2本分が見えるのは、1本の軌跡が1周していることによるものである。)例EX12では、安定した位置計算によってスケールドリフトの影響が低減されているのに対し、例EX11では、スケールドリフトの影響により、等間隔となるはずの位置計算が、等間隔ではなく徐々に狭まったり広がったりする挙動となっている。 FIG. 7 is a diagram schematically showing the effect of this embodiment together with the comparison. As a contrast, in example EX11, objects that should be at the same position are grouped together at different angles of view, and are erroneously estimated as different positions. Example EX12 is an application example of the present embodiment, and it can be seen that image positions are calculated in a fan shape from one location. Moreover, the effect of shortening the calculation time can be obtained. In FIG. 6, the fan-like shape represents the estimated position and rotation of the cone (the degree of opening of the quadrangle on the bottom of the cone corresponds to the angle of view). There are 6 common trajectories in example EX11 and example EX12, but in example EX11 there are 3 trajectories with different positions, 1 that is scattered and cannot be seen as a line, and the position was unknown There are 2 lines and 6 lines, and in example EX12, these 6 lines are neatly overlapped in a fan shape and can be seen as one line. (The reason why two tracks are visible in the example EX12 is because one trajectory makes one round.) In the example EX12, the influence of scale drift is reduced by stable position calculation. , In example EX11, due to the influence of scale drift, the position calculations, which should be at regular intervals, gradually narrow and widen instead of at regular intervals.
図8は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。点群処理システム10における端末1及びサーバ2はそれぞれ、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70で点群処理システム10を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、映像取得部11を構成するカメラ78と、これらの間でデータを授受するためのバスBSと、を備える。
FIG. 8 is a diagram showing an example of hardware configuration in a general computer device 70. As shown in FIG. Each of the terminal 1 and the server 2 in the point cloud processing system 10 can be implemented as one or more computer devices 70 having such a configuration. When the point cloud processing system 10 is realized by two or more computer devices 70, information necessary for processing may be transmitted and received via a network. The computer device 70 includes a CPU (central processing unit) 71 that executes predetermined instructions, and a GPU (graphics processing unit) as a dedicated processor that executes part or all of the execution instructions of the
点群処理システム10における端末1及びサーバ2の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。点群処理システム10による推定結果等はディスプレイ76で表示して出力してよい。
Each functional unit of the terminal 1 and the server 2 in the point cloud processing system 10 can be realized by the
10…点群処理システム、1…端末、2…サーバ
11…映像取得部、12…分割部、13…推定部、31…マッチング部、32…位置回転推定部、33…外れ値除外部、34…最適推定部
10…Point cloud processing system, 1…Terminal, 2…Server
11... video acquisition unit, 12... division unit, 13... estimation unit, 31... matching unit, 32... position/rotation estimation unit, 33... outlier exclusion unit, 34... optimum estimation unit
Claims (11)
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定部と、を備え、
前記複数の視野範囲は、基準画像及び当該基準画像から所定回転して設定される1つ以上の関連画像に対応するものとして設定されており、
前記分割部では基準画像及び関連画像として分割画像を得ており、
前記推定部では、基準画像及び関連画像が共有する位置と、基準画像を基準とした関連画像の回転と、を前記マッチングされた結果を用いて最適化したものとして、基準画像及び関連画像の位置及び回転を推定し、
前記推定部では、少なくとも、基準画像及び関連画像の特徴点のうち前記マッチングがなされたものの3次元世界座標と基準画像及び関連画像の位置及び回転とを、バンドル調整によって最適化することにより、基準画像及び関連画像の位置及び回転を推定し、
前記推定部では、前記バンドル調整によって前記最適化する際に、
基準画像の位置の初期値として、前記位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果により推定される基準画像及び関連画像の位置の平均(P avg )を採用し、
基準画像の回転の初期値として、前記位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果により推定される基準画像の回転(Q 0 )と、当該推定される関連画像の回転(Q j )を基準画像における回転に変換したもの((invR j )・Q j )と、の平均(Q avg )を採用することを特徴とする点群処理システム。 a dividing unit that obtains divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. an estimating unit that estimates the position and rotation of each of the split images under the condition that
The plurality of visual field ranges are set to correspond to a reference image and one or more related images set by rotating the reference image by a predetermined amount,
The dividing unit obtains divided images as a reference image and a related image,
The estimating unit optimizes the position shared by the reference image and the related image and the rotation of the related image with respect to the reference image using the matching result, and calculates the position of the reference image and the related image. and estimate the rotation,
The estimating unit optimizes at least the three-dimensional world coordinates of the matched feature points of the reference image and the related images, and the positions and rotations of the reference image and the related images, by bundle adjustment. estimating the position and rotation of the image and related images;
In the estimation unit, when optimizing by the bundle adjustment,
adopting the average (P avg ) of the position of the reference image and the related image estimated by the matching result between the frame image whose position and rotation have been estimated as the initial value of the position of the reference image;
As an initial value of the rotation of the reference image, the rotation (Q 0 ) of the reference image estimated by the matching result between the frame image whose position and rotation have been estimated, and the estimated related image A point cloud processing system characterized by adopting a rotation (Q j ) converted to a rotation in a reference image ((invR j )·Q j ) and an average (Q avg ) of the rotation (Q j ).
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定部と、を備え、
前記複数の視野範囲は、基準画像及び当該基準画像から所定回転して設定される1つ以上の関連画像に対応するものとして設定されており、
前記分割部では基準画像及び関連画像として分割画像を得ており、
前記推定部では、基準画像及び関連画像が共有する位置と、基準画像を基準とした関連画像の回転と、を前記マッチングされた結果を用いて最適化したものとして、基準画像及び関連画像の位置及び回転を推定し、
前記推定部では、少なくとも、基準画像及び関連画像の特徴点のうち前記マッチングがなされたものの3次元世界座標と基準画像及び関連画像の位置及び回転とを、バンドル調整によって最適化することにより、基準画像及び関連画像の位置及び回転を推定し、
前記推定部では、前記バンドル調整によって前記最適化する際に、
基準画像及び関連画像における共通位置(P avg )と、基準画像の回転(Q avg )と、前記基準画像の回転(Q avg )に対する相対的回転(R j )であって関連画像の回転(Q j =R j ・Q avg )を指定する相対的回転(R j )と、を変数とすることを特徴とする点群処理システム。 a dividing unit that obtains divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. an estimating unit that estimates the position and rotation of each of the split images under the condition that
The plurality of visual field ranges are set to correspond to a reference image and one or more related images set by rotating the reference image by a predetermined amount,
The dividing unit obtains divided images as a reference image and a related image,
The estimating unit optimizes the position shared by the reference image and the related image and the rotation of the related image with respect to the reference image using the matching result, and calculates the position of the reference image and the related image. and estimate the rotation,
The estimating unit optimizes at least the three-dimensional world coordinates of the matched feature points of the reference image and the related images, and the positions and rotations of the reference image and the related images, by bundle adjustment. estimating the position and rotation of the image and related images;
In the estimation unit, when optimizing by the bundle adjustment,
A common position (P avg ) in a reference image and a related image, a rotation (Q avg ) of the reference image, and a relative rotation (R j ) with respect to the rotation (Q avg ) of the reference image and the rotation of the related image (Q A point cloud processing system, characterized in that a relative rotation (R j ) specifying j =R j ·Q avg ) and a relative rotation (R j ) are variables .
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定部と、を備え、
前記推定部では、位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、位置を初期値として推定し、分割画像のうち、当該初期値として推定された位置が外れ値に該当すると判定されるものを、位置及び回転の推定対象から除外することを特徴とする点群処理システム。 a dividing unit that obtains divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. an estimating unit that estimates the position and rotation of each of the split images under the condition that
The estimating unit calculates the position of each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated with the frame image whose position and rotation have been estimated. A point cloud processing system characterized by estimating as an initial value, and excluding those divided images for which the position estimated as the initial value corresponds to an outlier from targets for position and rotation estimation.
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定部と、を備え、
前記推定部では、位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、分割画像のうち、当該マッチングした特徴点の個数が少ないと判定されるものを、位置及び回転の推定対象から除外することを特徴とする点群処理システム。 a dividing unit that obtains divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. an estimating unit that estimates the position and rotation of each of the split images under the condition that
In the estimating unit, for each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, and the frame image whose position and rotation have been estimated, the divided image is obtained by using the matching result. 1. A point group processing system characterized by excluding those determined to have a small number of matched feature points from targets for position and rotation estimation.
前記分割部は、当該魚眼画像として構成されるフレーム画像にカメラ視点からの中心射影方式を適用することにより、複数の視野範囲に分割した分割画像を透視投影モデルの画像として生成することを特徴とする請求項1ないし5のいずれかに記載の点群処理システム。 Each frame image is configured as a fisheye image,
The dividing unit is characterized in that, by applying a central projection method from a camera viewpoint to a frame image configured as the fisheye image, divided images divided into a plurality of visual field ranges are generated as perspective projection model images. The point cloud processing system according to any one of claims 1 to 5 .
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定段階と、を備え、
前記複数の視野範囲は、基準画像及び当該基準画像から所定回転して設定される1つ以上の関連画像に対応するものとして設定されており、
前記分割段階では基準画像及び関連画像として分割画像を得ており、
前記推定段階では、基準画像及び関連画像が共有する位置と、基準画像を基準とした関連画像の回転と、を前記マッチングされた結果を用いて最適化したものとして、基準画像及び関連画像の位置及び回転を推定し、
前記推定段階では、少なくとも、基準画像及び関連画像の特徴点のうち前記マッチングがなされたものの3次元世界座標と基準画像及び関連画像の位置及び回転とを、バンドル調整によって最適化することにより、基準画像及び関連画像の位置及び回転を推定し、
前記推定段階では、前記バンドル調整によって前記最適化する際に、
基準画像の位置の初期値として、前記位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果により推定される基準画像及び関連画像の位置の平均(P avg )を採用し、
基準画像の回転の初期値として、前記位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果により推定される基準画像の回転(Q 0 )と、当該推定される関連画像の回転(Q j )を基準画像における回転に変換したもの((invR j )・Q j )と、の平均(Q avg )を採用することを特徴とするコンピュータによって実行される点群処理方法。 A dividing step of obtaining divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. estimating the position and rotation of each of the sub-images subject to the condition that they share
The plurality of visual field ranges are set to correspond to a reference image and one or more related images set by rotating the reference image by a predetermined amount,
obtaining divided images as a reference image and a related image in the dividing step;
In the estimating step, the positions of the reference image and the related images are obtained by optimizing the position shared by the reference image and the related images and the rotation of the related images with respect to the reference image using the matching result. and estimate the rotation,
In the estimating step, at least the three-dimensional world coordinates of the matched feature points of the reference image and the related images, and the positions and rotations of the reference image and the related images are optimized by bundle adjustment to obtain the reference estimating the position and rotation of the image and related images;
In the estimating step, when optimizing by the bundle adjustment,
adopting the average (P avg ) of the position of the reference image and the related image estimated by the matching result between the frame image whose position and rotation have been estimated as the initial value of the position of the reference image;
As an initial value of the rotation of the reference image, the rotation (Q 0 ) of the reference image estimated by the matching result between the frame image whose position and rotation have been estimated, and the estimated related image A computer-implemented point cloud processing method characterized in that it employs a transformation of rotations (Q j ) to rotations in a reference image ((invR j )·Q j ) and an average (Q avg ) of the rotations (Q j ).
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定段階と、を備え、
前記複数の視野範囲は、基準画像及び当該基準画像から所定回転して設定される1つ以上の関連画像に対応するものとして設定されており、
前記分割段階では基準画像及び関連画像として分割画像を得ており、
前記推定段階では、基準画像及び関連画像が共有する位置と、基準画像を基準とした関連画像の回転と、を前記マッチングされた結果を用いて最適化したものとして、基準画像及び関連画像の位置及び回転を推定し、
前記推定段階では、少なくとも、基準画像及び関連画像の特徴点のうち前記マッチングがなされたものの3次元世界座標と基準画像及び関連画像の位置及び回転とを、バンドル調整によって最適化することにより、基準画像及び関連画像の位置及び回転を推定し、
前記推定段階では、前記バンドル調整によって前記最適化する際に、
基準画像及び関連画像における共通位置(P avg )と、基準画像の回転(Q avg )と、前記基準画像の回転(Q avg )に対する相対的回転(R j )であって関連画像の回転(Q j =R j ・Q avg )を指定する相対的回転(R j )と、を変数とすることを特徴とするコンピュータによって実行される点群処理方法。 A dividing step of obtaining divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. estimating the position and rotation of each of the sub-images subject to the condition that they share
The plurality of visual field ranges are set to correspond to a reference image and one or more related images set by rotating the reference image by a predetermined amount,
obtaining divided images as a reference image and a related image in the dividing step;
In the estimating step, the positions of the reference image and the related images are obtained by optimizing the position shared by the reference image and the related images and the rotation of the related images with respect to the reference image using the matching result. and estimate the rotation,
In the estimating step, at least the three-dimensional world coordinates of the matched feature points of the reference image and the related images, and the positions and rotations of the reference image and the related images are optimized by bundle adjustment to obtain the reference estimating the position and rotation of the image and related images;
In the estimating step, when optimizing by the bundle adjustment,
A common position (P avg ) in a reference image and a related image, a rotation (Q avg ) of the reference image, and a relative rotation (R j ) with respect to the rotation (Q avg ) of the reference image and the rotation of the related image (Q a relative rotation (R j ) specifying j =R j ·Q avg ), and a computer-implemented point cloud processing method as a variable.
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定段階と、を備え、
前記推定段階では、位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、位置を初期値として推定し、分割画像のうち、当該初期値として推定された位置が外れ値に該当すると判定されるものを、位置及び回転の推定対象から除外することを特徴とするコンピュータによって実行される点群処理方法。 A dividing step of obtaining divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. estimating the position and rotation of each of the sub-images subject to the condition that they share
In the estimating step, for each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, the position and the position of the frame image whose position and rotation have been estimated are used to determine the position. estimating as an initial value, and excluding those divided images for which the position estimated as the initial value corresponds to an outlier from the position and rotation estimation target Point cloud processing method.
各フレーム画像より特徴点を抽出して、異なるフレーム画像間において特徴点のマッチングを行い、
位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、当該分割画像の各々が位置を共有するという条件を課して、当該分割画像の各々の位置及び回転を推定する推定段階と、を備え、
前記推定段階では、位置及び回転が未推定のフレーム画像が前記分割された分割画像の各々について、位置及び回転が推定済のフレーム画像との間での前記マッチングされた結果を用いて、分割画像のうち、当該マッチングした特徴点の個数が少ないと判定されるものを、位置及び回転の推定対象から除外することを特徴とするコンピュータによって実行される点群処理方法。 A dividing step of obtaining divided images obtained by dividing each frame image captured while moving in the environment and changing the position and rotation into a plurality of visual field ranges;
extracting feature points from each frame image, performing feature point matching between different frame images,
For each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, using the result of matching between the frame image whose position and rotation have been estimated, each of the divided images is divided. estimating the position and rotation of each of the sub-images subject to the condition that they share
In the estimating step, for each of the divided images obtained by dividing the frame image whose position and rotation have not been estimated, and the frame image whose position and rotation have been estimated, the divided image is obtained by using the result of matching. 1. A point group processing method executed by a computer, characterized in that, out of these, those determined to have a small number of matching feature points are excluded from targets for position and rotation estimation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020074106A JP7290599B2 (en) | 2020-04-17 | 2020-04-17 | Point cloud processing system, method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020074106A JP7290599B2 (en) | 2020-04-17 | 2020-04-17 | Point cloud processing system, method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021170299A JP2021170299A (en) | 2021-10-28 |
| JP7290599B2 true JP7290599B2 (en) | 2023-06-13 |
Family
ID=78119566
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020074106A Active JP7290599B2 (en) | 2020-04-17 | 2020-04-17 | Point cloud processing system, method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7290599B2 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019242418A1 (en) | 2018-06-19 | 2019-12-26 | 腾讯科技(深圳)有限公司 | Camera localization method and apparatus, and terminal and storage medium |
-
2020
- 2020-04-17 JP JP2020074106A patent/JP7290599B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019242418A1 (en) | 2018-06-19 | 2019-12-26 | 腾讯科技(深圳)有限公司 | Camera localization method and apparatus, and terminal and storage medium |
Non-Patent Citations (5)
| Title |
|---|
| Gerardo Carrera et al.,"SLAM-Based Automatic Extrinsic Calibration of a Multi-Camera Rig",2011 IEEE International Conference on Robotics and Automation,米国,IEEE,2011年05月09日,pp.2652-2659 |
| Michael Kaess et al.,"Visual SLAM with a Multi-Camera Rig",GVU Center Technical Reports,米国,Georgia Institute of Technology,2006年03月20日,pp.1-10,https://smartech.gatech.edu/handle/1853/8726?show=full |
| 加藤 裕也、外2名,"画像変換による全天球カメラ映像のLSD-SLAMへの適用と点群合成",映像情報メディア学会技術報告,日本,(一社)映像情報メディア学会,2019年06月06日,Vol.43, No.16,pp.77-78 |
| 堀 磨伊也、外2名,"複数の任意経路で撮影された全方位画像群からのステレオ画像生成",FIT2007 第6回情報科学技術フォーラム 一般講演論文集 第3分冊,日本,社団法人情報処理学会、社団法人電子情報通信学会 ,2007年08月22日,pp.171-174 |
| 竹内 音、外4名,"全方位バレットタイム映像の生成提示システム",情報処理学会研究報告,日本,情報処理学会,2018年01月11日,Vol.2018-CVIM-210, No.40,pp.1-8 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021170299A (en) | 2021-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11210804B2 (en) | Methods, devices and computer program products for global bundle adjustment of 3D images | |
| US11461912B2 (en) | Gaussian mixture models for temporal depth fusion | |
| JP5963353B2 (en) | Optical data processing apparatus, optical data processing system, optical data processing method, and optical data processing program | |
| US8406509B2 (en) | Three-dimensional surface generation method | |
| US10438412B2 (en) | Techniques to facilitate accurate real and virtual object positioning in displayed scenes | |
| KR20190042187A (en) | Method and apparatus of estimating depth value | |
| US11315313B2 (en) | Methods, devices and computer program products for generating 3D models | |
| Tang et al. | Camera self-calibration from tracking of moving persons | |
| JP2015176600A (en) | System generating three-dimensional model, method and program | |
| Taketomi et al. | Camera pose estimation under dynamic intrinsic parameter change for augmented reality | |
| Das et al. | Entropy based keyframe selection for multi-camera visual slam | |
| EP4205077B1 (en) | Sampling based self-supervised depth and pose estimation | |
| Taketomi et al. | Real-time and accurate extrinsic camera parameter estimation using feature landmark database for augmented reality | |
| Hou et al. | Octree-based approach for real-time 3d indoor mapping using rgb-d video data | |
| US8847954B1 (en) | Methods and systems to compute 3D surfaces | |
| JP2009186287A (en) | Plane parameter estimation device, plane parameter estimation method, and plane parameter estimation program | |
| JP7290599B2 (en) | Point cloud processing system, method and program | |
| Buck et al. | Capturing uncertainty in monocular depth estimation: Towards fuzzy voxel maps | |
| CN116597001B (en) | Indoor ceiling boundary position detection method, device, robot and storage medium | |
| CN114119891B (en) | A robot monocular semi-dense map 3D reconstruction method and reconstruction system | |
| WO2023088127A1 (en) | Indoor navigation method, server, apparatus and terminal | |
| Xu et al. | Optical flow-based video completion in spherical image sequences | |
| Wang et al. | Occlusion handling in augmented reality using background-foreground segmentation and projective geometry | |
| Mkhitaryan et al. | RGB-D sensor data correction and enhancement by introduction of an additional RGB view | |
| JP2023106163A (en) | Self-position estimation method, self-position estimation program and self-position estimation device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220607 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230411 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230419 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230518 |
|
| 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: 20230531 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230601 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7290599 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |