JP2017207942A - Image processing apparatus, self position estimation method and program - Google Patents
Image processing apparatus, self position estimation method and program Download PDFInfo
- Publication number
- JP2017207942A JP2017207942A JP2016100158A JP2016100158A JP2017207942A JP 2017207942 A JP2017207942 A JP 2017207942A JP 2016100158 A JP2016100158 A JP 2016100158A JP 2016100158 A JP2016100158 A JP 2016100158A JP 2017207942 A JP2017207942 A JP 2017207942A
- Authority
- JP
- Japan
- Prior art keywords
- self
- mark
- image
- feature point
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims description 14
- 238000010586 diagram Methods 0.000 description 24
- 238000000605 extraction Methods 0.000 description 13
- 238000003702 image correction Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
本発明は、画像処理装置、自己位置推定方法、及び、プログラムに関する。 The present invention relates to an image processing device, a self-position estimation method, and a program.
自動車及びロボット等の移動体に自立運転させるための技術として、未知の環境下で自立的に地図構築及び自己位置の推定を行う技術(例えば、SLAM:Simultaneous Localization And Mapping)が知られている。 As a technique for allowing a mobile body such as an automobile and a robot to autonomously operate, a technique for autonomously building a map and estimating a self-position in an unknown environment (for example, SLAM: Simulaneous Localization And Mapping) is known.
上述の技術では、カメラで撮影された時間の異なる時系列の複数の画像等から複数の特徴点を抽出し、当該複数の特徴点を追跡したベクトルによって(例えば、オプティカルフロー)、自己位置を推定する。しかしながら、時系列で特徴点を追跡すると、追跡誤差が蓄積されて、自己位置の推定誤差が大きくなる。このような場合、RFID及びランドマークによって自己位置を推定する技術が知られている。 In the above-described technique, a plurality of feature points are extracted from a plurality of time-series images taken with a camera at different times, and the self-position is estimated by a vector obtained by tracking the plurality of feature points (for example, optical flow). To do. However, tracking feature points in time series accumulates tracking errors and increases self-position estimation errors. In such a case, a technique for estimating the self-position using an RFID and a landmark is known.
しかしながら、上述の技術では、カメラがランドマークに対して相対移動している場合、ランドマークを撮像した画像によって自己位置を推定すると、モーションブラー等の影響によって誤差が生じ、自己位置の推定精度が低いといった課題がある。 However, in the above-described technique, when the camera is moving relative to the landmark, if the self-position is estimated from an image obtained by capturing the landmark, an error occurs due to the effect of motion blur and the self-position estimation accuracy is reduced. There is a problem of low.
本発明は、上記に鑑みてなされたものであって、自己位置の推定精度を向上させることを目的とする。 The present invention has been made in view of the above, and an object thereof is to improve self-position estimation accuracy.
上述した課題を解決し、目的を達成するために、本発明は、画像処理装置は、撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡部と、前記画像内の予め設けられたマークを認識するマーク認識部と、前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定部と、を備える。 In order to solve the above-described problems and achieve the object, the present invention provides an image processing apparatus, a feature point tracking unit that tracks a feature point of the subject extracted from an image of the photographed subject, A mark recognizing unit for recognizing a predetermined mark, a first self-position is estimated based on the tracking result of the feature point, a second self-position is estimated based on the mark, and a predetermined condition is satisfied. And a self-position estimating unit that employs one of the first self-position and the second self-position as a self-position.
本発明は、自己位置の推定精度を向上できる。 The present invention can improve the self-position estimation accuracy.
以下の例示的な実施形態や変形例には、同様の構成要素が含まれている。よって、以下では、同様の構成要素には共通の符号が付されるとともに、重複する説明が部分的に省略される。実施形態や変形例に含まれる部分は、他の実施形態や変形例の対応する部分と置き換えて構成されることができる。また、実施形態や変形例に含まれる部分の構成や位置等は、特に言及しない限りは、他の実施形態や変形例と同様である。 Similar components are included in the following exemplary embodiments and modifications. Therefore, below, the same code | symbol is attached | subjected to the same component, and the overlapping description is partially abbreviate | omitted. Portions included in the embodiments and modifications can be configured by replacing corresponding portions in other embodiments and modifications. In addition, the configuration, position, and the like of the parts included in the embodiments and modifications are the same as those in the other embodiments and modifications unless otherwise specified.
<実施形態>
図1は、実施形態の画像処理装置16を有する画像処理システム10の全体構成図である。図1に示すように、画像処理システム10は、マークMKと、カメラ14と、画像処理装置16とを備える。
<Embodiment>
FIG. 1 is an overall configuration diagram of an
マークMKは、ランドマークとも呼ばれ、駐車場等の壁または柱等の建造物90に予め設けられた図形等である。マークMKは、カメラ14によって撮影可能な位置に設けられている。マークMKは、画像処理装置16によって認識が容易な標識、文字及び数字等であってもよい。
The mark MK is also called a landmark, and is a figure or the like provided in advance on a
カメラ14は、例えば、自動車等の移動体92に設けられている。移動体92は、飛行機、オートバイク、掃除機等の電気製品、農機具等であってもよい。カメラ14は、矢印で示す移動体92の内部の前方、例えば、バックミラー等に設けられている。カメラ14は、移動体92の前方の被写体を撮影して、画像(例えば、フレーム画像)を生成する。カメラ14は、移動体92の後方に設けられていてもよい。この場合、カメラ14は、移動体92の後方の被写体を撮影して画像を生成する。
The
画像処理装置16は、カメラ14とともに移動体92に設けられていてもよく、移動体92と異なる場所に設けられていてもよい。画像処理装置16は、カメラ14と情報を送受信可能に接続されている。画像処理装置16は、カメラ14から画像を受信する。画像処理装置16は、受信した画像から建造物90等の特徴点PTを抽出するとともに、マークMKを認識して、自己の位置である自己位置SPを推定する。特徴点PTは、例えば、画像内に含まれる建造物90等の被写体の角等のように際立って認識される点である。
The
図2は、画像処理装置16の機能を示すブロック図である。図2に示すように、画像処理装置16は、画像取得部20と、フレームメモリ22と、画像補正部24と、画像メモリ26と、特徴点抽出部28と、特徴点格納メモリ30と、特徴点追跡部32と、追跡結果格納メモリ34と、マーク認識部36と、マーク情報格納メモリ38と、マーク認識結果格納メモリ40と、自己位置推定部42とを備える。画像取得部20、フレームメモリ22、画像補正部24、画像メモリ26、特徴点抽出部28、特徴点格納メモリ30、特徴点追跡部32、追跡結果格納メモリ34、マーク認識部36、マーク情報格納メモリ38、マーク認識結果格納メモリ40、自己位置推定部42は、ソフトウェアで構成してもよく、ハードウェアで構成してもよく、一部をソフトウェアで構成して残りをハードウェアで構成してもよい。
FIG. 2 is a block diagram illustrating functions of the
画像取得部20は、カメラ14と接続されている。画像取得部20は、カメラ14によって撮影されたフレーム画像等の画像IGを取得する。画像取得部20は、画像IGをフレームメモリ22に格納する。画像取得部20は、フレームメモリ22に格納した画像IGに関する情報(例えば、格納した画像IGのライン数)等を画像補正部24へ出力する。
The
画像補正部24は、画像取得部20から取得した画像IGに関するライン数等の情報に基づいて、フレームメモリ22から画像IGを読み出す。尚、画像補正部24は、画像IGの全てではなく、一部をフレームメモリ22から読み出してもよい。例えば、画像補正部24は、予め定められたライン数の画像IGがフレームメモリ22に格納されると、当該画像IGを読み出してもよい。画像補正部24は、読み出した画像IGに歪み補正等の補正処理を実行する。画像補正部24は、補正した画像IGを画像メモリ26に格納する。
The
特徴点抽出部28は、画像メモリ26から補正された画像IGを読み出す。尚、特徴点抽出部28は、画像IGの全てではなく、画像IGの一部を画像メモリ26から読み出してもよい。例えば、特徴点抽出部28は、画像IGのうち、予め定められたライン数の画像IGの一部が画像メモリ26に格納されると、当該格納された一部の画像IGを読み出してもよい。特徴点抽出部28は、読み出した建造物90等の被写体の画像IGから一または複数の特徴点PTを抽出する。特徴点抽出部28は、例えば、既知のハリス(Harris)またはモラベック(Moravec)等のコーナー検出法によって画像IGから特徴点PTを抽出する(例えば、http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%8A%E3%83%BC%E6%A4%9C%E5%87%BA%E6%B3%95参照)。特徴点抽出部28は、抽出した特徴点PTを特徴点格納メモリ30に格納する。
The feature
特徴点追跡部32は、撮影された建造物90等の被写体の画像IGから特徴点抽出部28によって抽出された被写体の特徴点PTを追跡する。例えば、特徴点追跡部32は、時間的に1つ前の画像IGから抽出された特徴点PTを追跡結果格納メモリ34から読み出す。特徴点追跡部32は、1つ前の画像IGに含まれる予め定められた必要画素の範囲の画像IGを画像メモリ26から取得する。特徴点追跡部32は、特徴点PT及び1つ前の画像IGに基づいて、後述するテンプレートパッチTPを作成する。特徴点追跡部32は、現在の画像IGを画像メモリ26から読み出す。特徴点追跡部32は、テンプレートパッチTPと、現在の画像IGとに基づいて、ブロックマッチングにより特徴点PTを検索して追跡する。特徴点追跡部32は、特徴点PTを追跡できた場合、追跡できた旨の結果であるオプティカルフローFLを含む追跡結果を追跡結果格納メモリ34に格納して更新する。一方、特徴点追跡部32は、特徴点PTを追跡できなかった場合、特徴点格納メモリ30から読み出した特徴点PTを追跡結果格納メモリ34に格納する。
The feature
マーク認識部36は、画像IG内の建造物90等の被写体に予め設けられたマークMKを認識する。例えば、マーク認識部36は、特徴点格納メモリ30に特徴点PTが格納されると、マーク情報格納メモリ38からマークMKに予め設定されたパターン情報及び位置情報を読み出すとともに、特徴点格納メモリ30から特徴点PTを取得する。マーク認識部36は、特徴点PT及びパターン情報に基づいて、画像IG内のマークMKを認識する。マーク認識部36は、マークMKの認識結果及び位置情報をマーク認識結果格納メモリ40に格納する。尚、マーク認識部36はマークMKを認識する処理を、特徴点追跡部32が特徴点PTを追跡する処理と同時に実行してもよい。
The
自己位置推定部42は、追跡結果格納メモリ34から追跡結果を読み出す。自己位置推定部42は、追跡結果に基づいて第1自己位置を推定する。自己位置推定部42は、マーク認識結果格納メモリ40からマークMKの認識結果及び位置情報を読み出す。自己位置推定部42は、認識されたマークMKに基づいて第2自己位置を推定する。例えば、自己位置推定部42は、予め設定されたマークMKの位置情報に基づいて、第2自己位置を推定する。自己位置推定部42は、予め定められた条件に基づいて、推定した2つの第1自己位置及び第2自己位置のいずれか一方を自己位置SPとして採用する。
The self-
図3は、フレーム画像である画像IG0の一例を示す図である。図4は、(n−1)番目のフレーム画像である画像IG1の一部の一例を示す図である。図5は、n番目のフレーム画像である画像IG2の一部の一例を示す図である。図6は、(n−1)番目の画像IG1とn番目の画像IG2との間での特徴点PTの追跡を説明する図である。図3から図6は、移動体92が道路94上を直進している状態における画像IGの例である。
FIG. 3 is a diagram illustrating an example of an image IG0 that is a frame image. FIG. 4 is a diagram illustrating an example of a part of the image IG1 which is the (n−1) th frame image. FIG. 5 is a diagram illustrating an example of a part of the image IG2 which is the nth frame image. FIG. 6 is a diagram for explaining the tracking of the feature point PT between the (n−1) th image IG1 and the nth image IG2. 3 to 6 are examples of the image IG in a state where the moving
画像取得部20が図3に示すn番目の画像IG0をカメラ14から取得して、画像補正部24が補正した画像IG0を画像メモリ26に格納した場合について説明する。この場合、例えば、特徴点抽出部28は、図4に示す(n−1)番目の画像IG1から特徴点PT1、PT2を抽出して、特徴点格納メモリ30に格納する。特徴点PT1、PT2は、例えば、道路94の傍の建造物90A、90Bのコーナー(または、角)である。
The case where the
特徴点追跡部32は、(n−1)番目の特徴点PT1、PT2を追跡結果格納メモリ34から取得する。特徴点追跡部32は、(n−1)番目の画像IG0のうち、(n−1)番目の特徴点PT1、PT2の周辺の数ラインの範囲の図4に示す画像IG1を画像メモリ26から読み出す。特徴点追跡部32は、(n−1)番目の特徴点PT1、PT2を中心として、左右及び上下に数画素の範囲の矩形状のテンプレートパッチTP1、TP2を(n−1)番目の画像IG1から抽出する。テンプレートパッチTP1、TP2は、円形状であってもよい。
The feature
特徴点追跡部32は、図5に示すn番目の画像IG2を画像メモリ26から取得する。特徴点追跡部32は、類似度を用いたブロックマッチングによって、テンプレートパッチTP1、TP2に類似する領域をn番目の画像IG2から検索する。例えば、特徴点追跡部32は、ブロックマッチングとして、パターンマッチング(例えば、正規化相関)またはテンプレートマッチング(例えば、http://imagingsolution.blog107.fc2.com/blog-entry-186.html参照)等を実行する。特徴点追跡部32は、画像IG2のうち、特徴点PT1と同じ座標の位置PT1’を含む領域AR1の内部でブロックマッチングによる検索を実行してもよい。特徴点追跡部32は、領域AR1内において、左上端から右方向に検索して、領域AR1の右端に達した後は1ライン下の左端に移動して、再度右方向に検索する。特徴点追跡部32は、この順序で画像IG2の領域AR1内の検索を順次続ける(いわゆる、ラスタスキャン)。特徴点追跡部32は、(n−1)番目のテンプレートパッチTP1、TP2に類似する領域を、テンプレートパッチTP3、TP4としてn番目の画像IG2から抽出する。特徴点追跡部32は、テンプレートパッチTP3、TP4の中心をn番目の特徴点PT3、PT4とする。図6に示すように、特徴点追跡部32は、(n−1)番目における特徴点PT1、PT2からn番目の特徴点PT3、PT4へと延びるベクトルであるオプティカルフローFL1、FL2を追跡結果として、n番目の特徴点PT3、PT4とともに、追跡結果格納メモリ34に格納する。
The feature
図7は、マークMKの認識で扱う座標系とカメラ14の位置推定について説明する図である。自己位置推定部42は、三次元のマーク座標系(図7に示すXmYmZm空間)、二次元の画像座標系(図7に示すuv空間)、及び、三次元のカメラ座標系(図7に示すXcYcZc空間)に基づいて、マークMKを認識する。マークMKの位置は、マークMKごとに予めマーク情報格納メモリ38に登録されている。カメラ14の内部パラメータ(カメラ14の焦点距離、主点(画像中心)及びレンズ歪み係数等)は、既知であり、予め登録されているとする。自己位置推定部42は、マークMKの位置及びカメラ14の内部パラメータを逆変換することにより、マーク座標系上のカメラ14の位置を推定する(例えば、http://www.hitl.washington.edu/artoolkit/documentation/tutorialcamera.htm、及び、http://im-lab.net/artoolkit-overview/参照)。
FIG. 7 is a diagram for explaining the coordinate system handled in the recognition of the mark MK and the position estimation of the
図8は、ピンホールカメラモデルによる座標系とカメラ14の位置推定について説明する図である。図8に示すように、自己位置推定部42は、ピンホールカメラモデルに基づいて、カメラ14の位置及び姿勢を推定してもよい。ピンホールカメラモデルは、例えば、三次元空間と、二次元の画像平面との幾何学的な相対関係を表したモデルによって、三次元の世界座標系(図8に示すXwYwZw空間)、三次元のカメラ座標系(図8に示すXcYcZc空間)、及び、二次元の画像座標系(図8に示すXiYi空間)を定義する。自己位置推定部42は、当該モデルによって、複数の特徴点PTと、キャリブレーションにより算出したカメラ14の内部パラメータに基づいて、PnP問題を解くことにより、外部パラメータ(世界座標系からカメラ座標系への変換行列)を算出して、カメラ14の位置を推定する(例えば、“OpenCV3 プログラミングブック /藤本雄一郎 他/(株)マイナビ出版”の111頁〜参照)。
FIG. 8 is a diagram for explaining the coordinate system based on the pinhole camera model and the position estimation of the
図9は、マークMKによるカメラ14の位置推定における左右方向(または水平方向)の誤差を説明する図である。カメラ14の位置推定における誤差は、ローリングシャッター現象及びモーションブラー等に起因する。図9は、ほぼ上方から見た平面図である。カメラ14上に示すXc及びZcは、図7におけるカメラ座標系の座標軸を示す。座標軸Xcは移動体92の左右方向を示す。座標軸Zcは移動体92の前後方向を示す。図9においては、実際のマークMKは、実線で示すように、カメラ14及び移動体92の前方の位置PS0に存在する。マークMK上に示すXm及びZmは、図7に示すマーク座標系を示す。
FIG. 9 is a diagram for explaining the error in the left-right direction (or horizontal direction) in the position estimation of the
移動体92に取り付けられたカメラ14が、前方の位置PS0に存在するマークMKを撮影する。カメラ14は、ローリングシャッター現象またはモーションブラー等の影響で、マークMKを投影面PPaに示す像MKaのように左右方向に歪んだ形状(例えば、菱形)のマークとして撮影する場合がある。尚、投影面PPaは、撮影されたマークMKを投影した面である。
The
この場合、自己位置推定部42は、歪んだ像MKaを含む画像IGによって、マークMKを位置PS1に存在すると誤認識して、カメラ14を位置PS2に存在すると誤って推定する。自己位置推定部42は、既知のマークMKの位置PS0を基準として、誤認識したマークMKの位置PS1とカメラ14の位置PS2との位置関係から算出した一点鎖線で示すベクトルVC1を適用することにより、カメラ14が位置PS3に存在すると推定する。従って、自己位置推定部42は、実際の位置PS4から左右方向にずれた位置PS3にカメラ14が存在すると推定する。
In this case, the self-
自己位置推定部42がこれらの誤って推定したカメラ14の位置PS3の推定結果を削除するために、正しい推定結果と判定する判定範囲JR1を予め設定することが好ましい。判定範囲JR1は、予め定められた条件の一例である。自己位置推定部42は、判定範囲JR1内と推定したカメラ14の位置を第2自己位置として採用する。自己位置推定部42は、判定範囲JR1外と推定したカメラ14の位置を破棄する。判定範囲JR1は、例えば、カメラ座標系から見たカメラ14の位置をXmベクトル及びZmベクトルで表して設定される。
In order for the self-
図10は、マークMKによるカメラ14の位置推定における上下方向(または鉛直方向)の誤差を説明する図である。カメラ14の位置推定における誤差は、ローリングシャッター現象及びモーションブラー等に起因する。図10は、ほぼ右方向から見た平面図である。カメラ14上に示すYc及びZcは、図7におけるカメラ座標系の座標軸を示す。座標軸Ycは移動体92の上下方向を示す。座標軸Zcは移動体92の前後方向を示す。図10においては、実際のマークMKは、実線で示すように、カメラ14及び移動体92の前方の位置PS5に存在する。マークMK上に示すYm及びZmは、図7に示すマーク座標系の座標軸を示す。
FIG. 10 is a diagram for explaining an error in the vertical direction (or vertical direction) in the position estimation of the
移動体92に取り付けられたカメラ14が、前方の位置PS5に存在するマークMKを撮影する。カメラ14は、ローリングシャッター現象またはモーションブラー等の影響で、マークMKを投影面PPbに示す像MKbのように上下に歪んだ形状(例えば、台形)で撮影する場合がある。尚、投影面PPbは、撮影されたマークMKを投影した面である。
The
この場合、自己位置推定部42は、マークMKを位置PS6に存在すると誤認識して、カメラ14を位置PS7に存在すると誤って推定する。自己位置推定部42は、既知のマークMKの位置PS5を基準として、誤認識したマークMKの位置PS6とカメラ14の位置PS7との位置関係から算出したベクトルVC2を適用することにより、カメラ14が位置PS8に存在すると推定する。従って、自己位置推定部42は、実際の位置PS9から上下方向にずれた位置PS8にカメラ14が存在すると推定する。
In this case, the self-
自己位置推定部42がこれらの誤って推定したカメラ14の位置推定の結果を削除するために、正しい推定結果と判定する判定範囲JR2を予め設定することが好ましい。判定範囲JR2は、予め定められた条件の別の例である。自己位置推定部42は、判定範囲JR2内と推定したカメラ14の位置を第2自己位置として採用する。自己位置推定部42は、判定範囲JR2外と推定したカメラ14の位置を破棄する。判定範囲JR2は、例えば、カメラ座標系から見たカメラ14の位置をYmベクトル及びZmベクトルで表して設定される。
In order for the self-
図11は、画像処理装置16による自己位置推定処理のフローチャートである。
FIG. 11 is a flowchart of self-position estimation processing by the
図11に示すように、自己位置推定処理では、まず、画像処理装置16が初期化を実行する(S102)。例えば、画像処理装置16の自己位置推定部42が、判定範囲JR1、JR2を設定する。例えば、自己位置推定部42は、移動体92の走行する道路94の幅等を基準として、図9に示す判定範囲JR1のXc方向の範囲を設定する。自己位置推定部42は、移動体92に取り付けられたカメラ14の高さ等を基準として、図10に示す判定範囲JR2のYc方向の範囲を設定する。
As shown in FIG. 11, in the self-position estimation process, first, the
画像取得部20は、カメラ14からフレーム画像を画像IGとして取得して、フレームメモリ22に格納する(S104)。画像補正部24は、フレームメモリ22に格納された画像IGを補正して、画像メモリ26に格納する(S106)。
The
特徴点抽出部28は、画像メモリ26に格納された補正後の画像IGから特徴点PTを抽出して、特徴点格納メモリ30に格納する(S108)。特徴点追跡部32は、追跡結果に含まれる1つ前の特徴点PTからテンプレートパッチTPを生成して、画像メモリ26に格納された補正後の画像IGに基づいて、特徴点PTを追跡する(S110)。特徴点追跡部32は、特徴点PTのオプティカルフローFLを含む追跡結果を追跡結果格納メモリ34に格納する(S112)。
The feature
マーク認識部36は、マーク情報格納メモリ38から取得したマークMKのパターン情報及び位置情報に基づいて、特徴点格納メモリ30に格納された複数の特徴点PTを含む特徴点群からマークMKを認識して検出し、マークMKの認識結果とともに、マークMKの位置情報をマーク認識結果格納メモリ40に格納する(S114)。
The
自己位置推定部42は、追跡結果格納メモリ34に格納された特徴点PTのオプティカルフローFLによる追跡結果に基づいて、移動体92及びカメラ14の位置を推定して、当該位置を第1自己位置と推定する(S116)。自己位置推定部42は、認識したマークMKの位置情報及び認識結果に基づいて、移動体92及びカメラ14の位置を推定して、当該位置を第2自己位置と推定する(S118)。
The self-
自己位置推定部42は、予め設定された判定範囲JR1、JR2に基づいて、第1自己位置及び第2自己位置のいずれかを採用することにより、自己位置を補正する(S120)。例えば、自己位置推定部42は、特徴点PTを追跡したオプティカルフローFLによる第1自己位置を自己位置SPとして採用する。この状態で、自己位置推定部42は、マークMKの位置情報及び認識結果による第2自己位置が判定範囲JR1、JR2内であれば、第2自己位置を自己位置SPとして採用することにより、第1自己位置による自己位置SPをリセットして補正する。この後、自己位置推定部42は、第2自己位置を採用した自己位置SPを起点として、特徴点PTの追跡による第1自己位置を採用して自己位置SPの推定を継続する。尚、自己位置推定部42は、第2自己位置が判定範囲JR1、JR2内であることに加えて、第1自己位置の位置ずれの大きさ、及び、第1自己位置の推定回数等によって、第2自己位置を自己位置SPとして採用するか否かを判定してもよい。
The self-
この後、画像処理装置16は、フレーム画像である画像IGがまだある場合(S122:Yes)、ステップS104以降を繰り返す。画像処理装置16は、全ての画像IGに対して処理を実行した場合(S122:No)、自己位置推定処理を終了する。
Thereafter, when there is still an image IG that is a frame image (S122: Yes), the
上述したように、画像処理装置16では、自己位置推定部42が、マークMKに基づいて推定した第2自己位置が予め定められた条件を満たしている場合、第2自己位置を自己位置SPとして採用して、第1自己位置による自己位置SPを補正している。これにより、画像処理装置16は、自己位置SPの推定精度を向上させることができる。特に、画像処理装置16では、自己位置推定部42が、特徴点PTを追跡したオプティカルフローFLによって推定した第1自己位置を自己位置SPとして採用している状態で、マークMKに基づいて推定した第2自己位置が予め定められた条件を満たすと、第2自己位置によって自己位置SPをリセットして補正する。これにより、画像処理装置16は、第1自己位置による自己位置の位置ずれが大きくなっても、第2自己位置によって位置ずれをリセットしてなくすことにより、自己位置SPの推定精度を向上させることができる。また、画像処理装置16は、第2自己位置が明らかに異常の場合(例えば、移動体92が自動車等の場合に第2自己位置が空中または地中等と推定された場合)、第2自己位置を予め定められた条件によって排除できるので、自己位置SPの推定精度を向上できる。
As described above, in the
図12は、別の自己位置の推定を説明する図である。図12に示す例では、第1マークMK1が建造物90の1階に設けられ、第2マークMK2が建造物90の2階に設けられている。マーク情報格納メモリ38は、位置の基準となる基準位置P0に対するマークMK1、MK2の位置に関する位置情報を格納している。例えば、マーク情報格納メモリ38は、基準位置P0からマークMK1、MK2の中心までのそれぞれの高さHD1、HD2の情報を含む位置情報を格納している。画像処理装置16は、自動車等の飛行できない移動体92に設けられているとする。従って、画像処理装置16は、水平方向に移動しつつ、撮影された画像IGに基づいて、第2自己位置を推定する。
FIG. 12 is a diagram illustrating another self-position estimation. In the example shown in FIG. 12, the first mark MK1 is provided on the first floor of the
自己位置推定部42は、水平方向に移動しつつ撮影された画像IGから認識された第1マークMK1の高さHD1の情報に基づいて移動体92aの高さを含む第2自己位置を推定する。自己位置推定部42は、自己位置SPの高さが第1基準高さSH1を中心とした第1高さ範囲HA1内に収まる場合、移動体92aの自己位置SPが1階であることを示す情報を第2自己位置の推定結果に付加する。自己位置推定部42は、第2マークMK2の高さHD2の情報に基づいて移動体92bの高さを含む第2自己位置を推定する。自己位置推定部42は、自己位置SPの高さが第2基準高さSH2を中心とした第2高さ範囲HA2内に収まる場合、移動体92bの自己位置SPが2階であることを示す情報を第2自己位置の推定結果に付加する。これにより、自己位置推定部42は、GPS(Global Positioning System)及びオプティカルフローFL等では得られない高さ方向の情報を得ることができる。このように、自己位置推定部42は、当該自己の高さに基づいて、マークMKによる第2自己位置を推定する。
The self-
自己位置推定部42は、駐車場等の建造物90の水平方向を走行して移動する移動体92の自己位置SPを推定する場合、基準位置P0に対する基準高さSH1、SH2がマークMK1、MK2からの距離に関わらずほぼ一定のため、自己位置SPの高さのみを基準に第2自己位置を推定することができる。
When the self-
図13は、飛行可能な移動体92c、92dの自己位置の推定を説明するための上方から見た平面図である。図14は、飛行可能な移動体92c、92dの自己位置の推定を説明するための側方から見た図である。飛行可能な移動体92c、92dの一例は、UAV(Unmanned Aerial Vehicle/Unmanned Air Vehicle)である。マークMK3、MK4、MK5は、建造物90の壁90a、柱90b等に設けられている。
FIG. 13 is a plan view seen from above for explaining the estimation of the self-positions of the
図13及び図14に示すように、第1移動体92cの自己位置推定部42は、認識したマークMK1の高さ、マークMK1までの距離及びマークMK1の中心からのずれに基づいて、第2自己位置を推定する。自己位置推定部42は、推定した第2自己位置が予め定められた判定範囲JR3内であれば、当該第2自己位置によって、第1自己位置を採用している自己位置SPをリセットして補正する。尚、予め定められた判定範囲JR3は、X方向、Y方向及びZ方向の位置情報を含む直方体または立方体で規定される。自己位置推定部42は、推定した第2自己位置が判定範囲JR3外であれば、第2自己位置を採用することなく、壁90a及び柱90b等の画像から抽出した特徴点PTに基づいて推定した第1自己位置を自己位置SPとして採用する。
As shown in FIGS. 13 and 14, the self-
第2移動体92dの自己位置推定部42は、マークMK2の高さ、マークMK2までの距離及びマークMK2の中心からのずれに基づいて第2自己位置を推定する。自己位置推定部42は、推定した当該第2自己位置が予め定められた判定範囲JR4内の場合、第2移動体92dは旋回して、認識した別のマークMK3に基づいて、第2自己位置を推定してもよい。この場合、第2移動体92dの自己位置推定部42は、自己位置SPが判定範囲JR4内であれば、当該第2自己位置によって自己位置SPをリセットして補正してよい。これにより、画像処理装置16は、より自己位置SPの推定精度を向上できる。
The self-
図15は、本実施形態に係る画像処理装置16のハードウェア構成を模式的に示すブロック図である。図15に示すように、本実施形態に係る画像処理装置16は、CPU(Central Processing Unit)50と、RAM(Random Access Memory)52と、ROM(Read Only Memory)54と、HDD(Hard Disk Drive)56と、I/F58と、バス60とを備えるコンピュータである。CPU50、RAM52、ROM54、HDD56及びI/F58は、バス60を介して、接続されている。また、I/F58にはLCD(Liquid Crystal Display)等の表示部62及び操作部64が接続されている。
FIG. 15 is a block diagram schematically showing a hardware configuration of the
CPU50はプロセッサ等の演算手段である。CPU50は、画像処理装置16の制御全般を司る。RAM52は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU50が情報を処理する際の作業領域として用いられる。ROM54は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムを格納する。HDD56は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)、各種の制御プログラム、及び、アプリケーション・プログラム等を格納する。
The
I/F58は、バス60と各種のハードウェアやネットワーク等を接続し制御する。表示部62は、利用者が画像処理装置16の状態を確認するための視覚的利用者インタフェースである。操作部64は、キーボード、マウス、各種のハードボタン、タッチパネル等、ユーザが画像処理装置16に情報を入力するためのユーザインタフェースである。
The I /
本実施の形態の画像処理装置16が実行する自己位置推定プログラムは、上述した各部(画像取得部20、フレームメモリ22、画像補正部24、画像メモリ26、特徴点抽出部28、特徴点格納メモリ30、特徴点追跡部32、追跡結果格納メモリ34、マーク認識部36、マーク情報格納メモリ38、マーク認識結果格納メモリ40、自己位置推定部42)を含むモジュール構成となっている。実際のハードウェアとしてはCPU50が上記ROM54から自己位置推定プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされる。これにより、画像取得部20、フレームメモリ22、画像補正部24、画像メモリ26、特徴点抽出部28、特徴点格納メモリ30、特徴点追跡部32、追跡結果格納メモリ34、マーク認識部36、マーク情報格納メモリ38、マーク認識結果格納メモリ40、自己位置推定部42が主記憶装置上に生成されて、これらの機能がコンピュータに実現されるようになっている。
The self-position estimation program executed by the
例えば、本実施の形態の画像処理装置16で実行される自己位置推定プログラムは、ROM54等に予め組み込まれて提供される。本実施の形態の画像処理装置16で実行される自己位置推定プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
For example, the self-position estimation program executed by the
さらに、本実施の形態の画像処理装置16で実行される自己位置推定プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の画像処理装置16で実行される自己位置推定プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
Furthermore, the self-position estimation program executed by the
上述した各実施形態の構成の機能、接続関係、個数等は適宜変更してよい。上述した各実施形態は、適宜組み合わせてもよい。上述したフローチャートのステップの順序は適宜変更してよい。 The function, connection relationship, number, and the like of the configuration of each embodiment described above may be changed as appropriate. Each embodiment mentioned above may be combined suitably. You may change suitably the order of the step of the flowchart mentioned above.
例えば、画像取得部20は、カメラ14によって撮影された画像を取得したが、測距装置等によって撮影された測距画像等を取得してもよい。
For example, the
上述の実施形態では、自己位置推定部42が、特徴点PTのオプティカルフローFLによる第1自己位置を採用した自己位置SPを、第2自己位置によって補正する例をあげたが、実施形態はこれに限定されない。例えば、自己位置推定部42は、第2自己位置を自己位置SPとして採用しつつ、第2自己位置が判定範囲JR1、JR2外の場合に、第1自己位置を自己位置SPとして採用することにより、自己位置SPを補正してもよい。
In the above-described embodiment, the self-
上述の実施形態では、(n−1)番目の特徴点PTを追跡結果格納メモリ34に格納して、テンプレートパッチTPを生成する例を示したが、予め(n−1)番目の特徴点PTに基づいてテンプレートパッチTPを生成して、追跡結果格納メモリ34に格納してもよい。
In the above-described embodiment, the example in which the (n−1) th feature point PT is stored in the tracking
上述の実施形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。実施形態および実施形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 The above-described embodiments have been presented by way of example and are not intended to limit the scope of the present invention. The novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. The embodiments and modifications of the embodiments are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
16…画像処理装置
32…特徴点追跡部
36…マーク認識部
42…自己位置推定部
92…移動体
FL…オプティカルフロー
HD1…高さ
HD2…高さ
IG…画像
MK…マーク
PT…特徴点
SP…自己位置
16 ...
Claims (9)
前記画像内の予め設けられたマークを認識するマーク認識部と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定部と、
を備える画像処理装置。 A feature point tracking unit that tracks feature points of the subject extracted from the image of the photographed subject;
A mark recognition unit for recognizing a mark provided in advance in the image;
A first self-position is estimated based on the tracking result of the feature points, a second self-position is estimated based on the mark, and the first self-position and the second self-position are determined based on a predetermined condition. A self-position estimation unit that employs one of
An image processing apparatus comprising:
請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the self-position estimation unit estimates the second self-position based on position information of the mark in which pattern information is set in advance.
請求項1または2に記載の画像処理装置。 3. The image according to claim 1, wherein the self-position estimation unit recognizes the mark from the image captured while moving in the horizontal direction, and estimates the second self-position based on a height of the self. Processing equipment.
請求項1から3のいずれか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 3, wherein the self-position estimating unit estimates the height of the second self-position based on mark information including height information of the mark.
請求項1から4のいずれか1項に記載の画像処理装置。 The said self-position estimation part estimates the said 2nd self-position based on the height information of the said mark, the distance to the said mark, and the shift | offset | difference from the center of the said mark. An image processing apparatus according to 1.
請求項1から5のいずれか1項に記載の画像処理装置。 The said self-position estimation part correct | amends the said 2nd self-position based on another mark, when the said 2nd self-position estimated from one mark is in the predetermined range. The image processing apparatus according to item 1.
請求項1から6のいずれか1項に記載の画像処理装置。 The self-position estimation unit adopts the second self-position when the second self-position satisfies the predetermined condition in a state where the first self-position is adopted as the self-position. The image processing apparatus according to claim 1, wherein the position is corrected by being adopted as a position.
前記画像内の予め設けられたマークを認識するマーク認識段階と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定段階と、
を備える自己位置推定方法。 A feature point tracking step for tracking feature points of the subject extracted from the image of the photographed subject;
A mark recognition stage for recognizing a pre-set mark in the image;
A first self-position is estimated based on the tracking result of the feature points, a second self-position is estimated based on the mark, and the first self-position and the second self-position are determined based on a predetermined condition. A self-position estimation stage that employs either one of
A self-position estimation method comprising:
前記画像内の予め設けられたマークを認識するマーク認識機能と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定機能と、
をコンピュータに実現させるプログラム。 A feature point tracking function for tracking feature points of the subject extracted from the image of the photographed subject;
A mark recognition function for recognizing a mark provided in advance in the image;
A first self-position is estimated based on the tracking result of the feature points, a second self-position is estimated based on the mark, and the first self-position and the second self-position are determined based on a predetermined condition. A self-position estimation function that adopts either one as self-position,
A program that makes a computer realize.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016100158A JP2017207942A (en) | 2016-05-19 | 2016-05-19 | Image processing apparatus, self position estimation method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016100158A JP2017207942A (en) | 2016-05-19 | 2016-05-19 | Image processing apparatus, self position estimation method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017207942A true JP2017207942A (en) | 2017-11-24 |
Family
ID=60417123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016100158A Pending JP2017207942A (en) | 2016-05-19 | 2016-05-19 | Image processing apparatus, self position estimation method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017207942A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019130931A1 (en) * | 2017-12-26 | 2019-07-04 | パナソニックIpマネジメント株式会社 | Position measurement device and vehicle |
JP2019117585A (en) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | Mobile body |
JP2019117584A (en) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | Mobile body |
DE102019131565A1 (en) | 2018-12-13 | 2020-06-18 | Denso Ten Limited | IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD |
WO2021002001A1 (en) * | 2019-07-04 | 2021-01-07 | 三菱電機株式会社 | Moving body positioning device and moving body positioning system |
JPWO2019187816A1 (en) * | 2018-03-30 | 2021-04-01 | 日本電産シンポ株式会社 | Mobiles and mobile systems |
JP2023520278A (en) * | 2021-02-25 | 2023-05-17 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | Positioning method, device, electronic device, storage medium, program and product |
WO2024195040A1 (en) * | 2023-03-22 | 2024-09-26 | 本田技研工業株式会社 | Information processing device, information processing method, and program |
-
2016
- 2016-05-19 JP JP2016100158A patent/JP2017207942A/en active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019130931A1 (en) * | 2017-12-26 | 2019-07-04 | パナソニックIpマネジメント株式会社 | Position measurement device and vehicle |
JP7021942B2 (en) | 2017-12-27 | 2022-02-17 | 株式会社ダイヘン | Mobile |
JP2019117585A (en) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | Mobile body |
JP2019117584A (en) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | Mobile body |
JP7021943B2 (en) | 2017-12-27 | 2022-02-17 | 株式会社ダイヘン | Mobile |
JPWO2019187816A1 (en) * | 2018-03-30 | 2021-04-01 | 日本電産シンポ株式会社 | Mobiles and mobile systems |
DE102019131565A1 (en) | 2018-12-13 | 2020-06-18 | Denso Ten Limited | IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD |
JP7006847B2 (en) | 2019-07-04 | 2022-01-24 | 三菱電機株式会社 | Mobile positioning device and mobile positioning system |
JPWO2021002001A1 (en) * | 2019-07-04 | 2021-10-28 | 三菱電機株式会社 | Mobile positioning device and mobile positioning system |
WO2021002001A1 (en) * | 2019-07-04 | 2021-01-07 | 三菱電機株式会社 | Moving body positioning device and moving body positioning system |
CN114127506A (en) * | 2019-07-04 | 2022-03-01 | 三菱电机株式会社 | Mobile positioning device and mobile positioning system |
JP2023520278A (en) * | 2021-02-25 | 2023-05-17 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | Positioning method, device, electronic device, storage medium, program and product |
JP7387002B2 (en) | 2021-02-25 | 2023-11-27 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | Positioning methods, devices, electronic devices, storage media, programs and products |
WO2024195040A1 (en) * | 2023-03-22 | 2024-09-26 | 本田技研工業株式会社 | Information processing device, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017207942A (en) | Image processing apparatus, self position estimation method and program | |
CN110411441B (en) | System and method for multi-modal mapping and localization | |
US8588471B2 (en) | Method and device of mapping and localization method using the same | |
US10917593B2 (en) | Camera calibration device that estimates internal parameter of camera | |
JP5870273B2 (en) | Object detection apparatus, object detection method, and program | |
KR101776621B1 (en) | Apparatus for recognizing location mobile robot using edge based refinement and method thereof | |
KR101633620B1 (en) | Feature registration apparatus for image based localization and method the same | |
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 | |
JP5803367B2 (en) | Self-position estimation apparatus, self-position estimation method and program | |
JP2006252473A (en) | Obstacle detector, calibration device, calibration method and calibration program | |
JP7147753B2 (en) | Information processing device, information processing method, and program | |
KR20110097140A (en) | Apparatus for estimating location of moving robot and method thereof | |
JP5819257B2 (en) | Moving object position estimation method and moving object | |
WO2015125300A1 (en) | Local location computation device and local location computation method | |
JP2007303886A (en) | Apparatus and method for position estimation and program storage medium | |
Basso et al. | Unsupervised intrinsic and extrinsic calibration of a camera-depth sensor couple | |
JP5710752B2 (en) | Detection apparatus, method and program | |
KR102103944B1 (en) | Distance and position estimation method of autonomous vehicle using mono camera | |
JP6479296B2 (en) | Position / orientation estimation apparatus and position / orientation estimation method | |
JP4132068B2 (en) | Image processing apparatus, three-dimensional measuring apparatus, and program for image processing apparatus | |
JP2017058274A (en) | Measurement device, method, and program | |
JP2016148956A (en) | Positioning device, positioning method and positioning computer program | |
JP7144491B2 (en) | FORKLIFT, POSITION ESTIMATION METHOD, AND PROGRAM | |
US20100262290A1 (en) | Data matching apparatus, data matching method and mobile robot | |
JP6886136B2 (en) | Alignment device, alignment method and computer program for alignment |