JP2017207942A - 画像処理装置、自己位置推定方法、及び、プログラム - Google Patents
画像処理装置、自己位置推定方法、及び、プログラム 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
【課題】自己位置の推定精度が低い。【解決手段】画像処理装置は、撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡部と、前記画像内の予め設けられたマークを認識するマーク認識部と、前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定部と、を備える。【選択図】図2
Description
本発明は、画像処理装置、自己位置推定方法、及び、プログラムに関する。
自動車及びロボット等の移動体に自立運転させるための技術として、未知の環境下で自立的に地図構築及び自己位置の推定を行う技術(例えば、SLAM:Simultaneous Localization And Mapping)が知られている。
上述の技術では、カメラで撮影された時間の異なる時系列の複数の画像等から複数の特徴点を抽出し、当該複数の特徴点を追跡したベクトルによって(例えば、オプティカルフロー)、自己位置を推定する。しかしながら、時系列で特徴点を追跡すると、追跡誤差が蓄積されて、自己位置の推定誤差が大きくなる。このような場合、RFID及びランドマークによって自己位置を推定する技術が知られている。
しかしながら、上述の技術では、カメラがランドマークに対して相対移動している場合、ランドマークを撮像した画像によって自己位置を推定すると、モーションブラー等の影響によって誤差が生じ、自己位置の推定精度が低いといった課題がある。
本発明は、上記に鑑みてなされたものであって、自己位置の推定精度を向上させることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、画像処理装置は、撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡部と、前記画像内の予め設けられたマークを認識するマーク認識部と、前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定部と、を備える。
本発明は、自己位置の推定精度を向上できる。
以下の例示的な実施形態や変形例には、同様の構成要素が含まれている。よって、以下では、同様の構成要素には共通の符号が付されるとともに、重複する説明が部分的に省略される。実施形態や変形例に含まれる部分は、他の実施形態や変形例の対応する部分と置き換えて構成されることができる。また、実施形態や変形例に含まれる部分の構成や位置等は、特に言及しない限りは、他の実施形態や変形例と同様である。
<実施形態>
図1は、実施形態の画像処理装置16を有する画像処理システム10の全体構成図である。図1に示すように、画像処理システム10は、マークMKと、カメラ14と、画像処理装置16とを備える。
図1は、実施形態の画像処理装置16を有する画像処理システム10の全体構成図である。図1に示すように、画像処理システム10は、マークMKと、カメラ14と、画像処理装置16とを備える。
マークMKは、ランドマークとも呼ばれ、駐車場等の壁または柱等の建造物90に予め設けられた図形等である。マークMKは、カメラ14によって撮影可能な位置に設けられている。マークMKは、画像処理装置16によって認識が容易な標識、文字及び数字等であってもよい。
カメラ14は、例えば、自動車等の移動体92に設けられている。移動体92は、飛行機、オートバイク、掃除機等の電気製品、農機具等であってもよい。カメラ14は、矢印で示す移動体92の内部の前方、例えば、バックミラー等に設けられている。カメラ14は、移動体92の前方の被写体を撮影して、画像(例えば、フレーム画像)を生成する。カメラ14は、移動体92の後方に設けられていてもよい。この場合、カメラ14は、移動体92の後方の被写体を撮影して画像を生成する。
画像処理装置16は、カメラ14とともに移動体92に設けられていてもよく、移動体92と異なる場所に設けられていてもよい。画像処理装置16は、カメラ14と情報を送受信可能に接続されている。画像処理装置16は、カメラ14から画像を受信する。画像処理装置16は、受信した画像から建造物90等の特徴点PTを抽出するとともに、マークMKを認識して、自己の位置である自己位置SPを推定する。特徴点PTは、例えば、画像内に含まれる建造物90等の被写体の角等のように際立って認識される点である。
図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は、ソフトウェアで構成してもよく、ハードウェアで構成してもよく、一部をソフトウェアで構成して残りをハードウェアで構成してもよい。
画像取得部20は、カメラ14と接続されている。画像取得部20は、カメラ14によって撮影されたフレーム画像等の画像IGを取得する。画像取得部20は、画像IGをフレームメモリ22に格納する。画像取得部20は、フレームメモリ22に格納した画像IGに関する情報(例えば、格納した画像IGのライン数)等を画像補正部24へ出力する。
画像補正部24は、画像取得部20から取得した画像IGに関するライン数等の情報に基づいて、フレームメモリ22から画像IGを読み出す。尚、画像補正部24は、画像IGの全てではなく、一部をフレームメモリ22から読み出してもよい。例えば、画像補正部24は、予め定められたライン数の画像IGがフレームメモリ22に格納されると、当該画像IGを読み出してもよい。画像補正部24は、読み出した画像IGに歪み補正等の補正処理を実行する。画像補正部24は、補正した画像IGを画像メモリ26に格納する。
特徴点抽出部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に格納する。
特徴点追跡部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に格納する。
マーク認識部36は、画像IG内の建造物90等の被写体に予め設けられたマークMKを認識する。例えば、マーク認識部36は、特徴点格納メモリ30に特徴点PTが格納されると、マーク情報格納メモリ38からマークMKに予め設定されたパターン情報及び位置情報を読み出すとともに、特徴点格納メモリ30から特徴点PTを取得する。マーク認識部36は、特徴点PT及びパターン情報に基づいて、画像IG内のマークMKを認識する。マーク認識部36は、マークMKの認識結果及び位置情報をマーク認識結果格納メモリ40に格納する。尚、マーク認識部36はマークMKを認識する処理を、特徴点追跡部32が特徴点PTを追跡する処理と同時に実行してもよい。
自己位置推定部42は、追跡結果格納メモリ34から追跡結果を読み出す。自己位置推定部42は、追跡結果に基づいて第1自己位置を推定する。自己位置推定部42は、マーク認識結果格納メモリ40からマークMKの認識結果及び位置情報を読み出す。自己位置推定部42は、認識されたマークMKに基づいて第2自己位置を推定する。例えば、自己位置推定部42は、予め設定されたマークMKの位置情報に基づいて、第2自己位置を推定する。自己位置推定部42は、予め定められた条件に基づいて、推定した2つの第1自己位置及び第2自己位置のいずれか一方を自己位置SPとして採用する。
図3は、フレーム画像である画像IG0の一例を示す図である。図4は、(n−1)番目のフレーム画像である画像IG1の一部の一例を示す図である。図5は、n番目のフレーム画像である画像IG2の一部の一例を示す図である。図6は、(n−1)番目の画像IG1とn番目の画像IG2との間での特徴点PTの追跡を説明する図である。図3から図6は、移動体92が道路94上を直進している状態における画像IGの例である。
画像取得部20が図3に示すn番目の画像IG0をカメラ14から取得して、画像補正部24が補正した画像IG0を画像メモリ26に格納した場合について説明する。この場合、例えば、特徴点抽出部28は、図4に示す(n−1)番目の画像IG1から特徴点PT1、PT2を抽出して、特徴点格納メモリ30に格納する。特徴点PT1、PT2は、例えば、道路94の傍の建造物90A、90Bのコーナー(または、角)である。
特徴点追跡部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は、円形状であってもよい。
特徴点追跡部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に格納する。
図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/参照)。
図8は、ピンホールカメラモデルによる座標系とカメラ14の位置推定について説明する図である。図8に示すように、自己位置推定部42は、ピンホールカメラモデルに基づいて、カメラ14の位置及び姿勢を推定してもよい。ピンホールカメラモデルは、例えば、三次元空間と、二次元の画像平面との幾何学的な相対関係を表したモデルによって、三次元の世界座標系(図8に示すXwYwZw空間)、三次元のカメラ座標系(図8に示すXcYcZc空間)、及び、二次元の画像座標系(図8に示すXiYi空間)を定義する。自己位置推定部42は、当該モデルによって、複数の特徴点PTと、キャリブレーションにより算出したカメラ14の内部パラメータに基づいて、PnP問題を解くことにより、外部パラメータ(世界座標系からカメラ座標系への変換行列)を算出して、カメラ14の位置を推定する(例えば、“OpenCV3 プログラミングブック /藤本雄一郎 他/(株)マイナビ出版”の111頁〜参照)。
図9は、マークMKによるカメラ14の位置推定における左右方向(または水平方向)の誤差を説明する図である。カメラ14の位置推定における誤差は、ローリングシャッター現象及びモーションブラー等に起因する。図9は、ほぼ上方から見た平面図である。カメラ14上に示すXc及びZcは、図7におけるカメラ座標系の座標軸を示す。座標軸Xcは移動体92の左右方向を示す。座標軸Zcは移動体92の前後方向を示す。図9においては、実際のマークMKは、実線で示すように、カメラ14及び移動体92の前方の位置PS0に存在する。マークMK上に示すXm及びZmは、図7に示すマーク座標系を示す。
移動体92に取り付けられたカメラ14が、前方の位置PS0に存在するマークMKを撮影する。カメラ14は、ローリングシャッター現象またはモーションブラー等の影響で、マークMKを投影面PPaに示す像MKaのように左右方向に歪んだ形状(例えば、菱形)のマークとして撮影する場合がある。尚、投影面PPaは、撮影されたマークMKを投影した面である。
この場合、自己位置推定部42は、歪んだ像MKaを含む画像IGによって、マークMKを位置PS1に存在すると誤認識して、カメラ14を位置PS2に存在すると誤って推定する。自己位置推定部42は、既知のマークMKの位置PS0を基準として、誤認識したマークMKの位置PS1とカメラ14の位置PS2との位置関係から算出した一点鎖線で示すベクトルVC1を適用することにより、カメラ14が位置PS3に存在すると推定する。従って、自己位置推定部42は、実際の位置PS4から左右方向にずれた位置PS3にカメラ14が存在すると推定する。
自己位置推定部42がこれらの誤って推定したカメラ14の位置PS3の推定結果を削除するために、正しい推定結果と判定する判定範囲JR1を予め設定することが好ましい。判定範囲JR1は、予め定められた条件の一例である。自己位置推定部42は、判定範囲JR1内と推定したカメラ14の位置を第2自己位置として採用する。自己位置推定部42は、判定範囲JR1外と推定したカメラ14の位置を破棄する。判定範囲JR1は、例えば、カメラ座標系から見たカメラ14の位置をXmベクトル及びZmベクトルで表して設定される。
図10は、マークMKによるカメラ14の位置推定における上下方向(または鉛直方向)の誤差を説明する図である。カメラ14の位置推定における誤差は、ローリングシャッター現象及びモーションブラー等に起因する。図10は、ほぼ右方向から見た平面図である。カメラ14上に示すYc及びZcは、図7におけるカメラ座標系の座標軸を示す。座標軸Ycは移動体92の上下方向を示す。座標軸Zcは移動体92の前後方向を示す。図10においては、実際のマークMKは、実線で示すように、カメラ14及び移動体92の前方の位置PS5に存在する。マークMK上に示すYm及びZmは、図7に示すマーク座標系の座標軸を示す。
移動体92に取り付けられたカメラ14が、前方の位置PS5に存在するマークMKを撮影する。カメラ14は、ローリングシャッター現象またはモーションブラー等の影響で、マークMKを投影面PPbに示す像MKbのように上下に歪んだ形状(例えば、台形)で撮影する場合がある。尚、投影面PPbは、撮影されたマークMKを投影した面である。
この場合、自己位置推定部42は、マークMKを位置PS6に存在すると誤認識して、カメラ14を位置PS7に存在すると誤って推定する。自己位置推定部42は、既知のマークMKの位置PS5を基準として、誤認識したマークMKの位置PS6とカメラ14の位置PS7との位置関係から算出したベクトルVC2を適用することにより、カメラ14が位置PS8に存在すると推定する。従って、自己位置推定部42は、実際の位置PS9から上下方向にずれた位置PS8にカメラ14が存在すると推定する。
自己位置推定部42がこれらの誤って推定したカメラ14の位置推定の結果を削除するために、正しい推定結果と判定する判定範囲JR2を予め設定することが好ましい。判定範囲JR2は、予め定められた条件の別の例である。自己位置推定部42は、判定範囲JR2内と推定したカメラ14の位置を第2自己位置として採用する。自己位置推定部42は、判定範囲JR2外と推定したカメラ14の位置を破棄する。判定範囲JR2は、例えば、カメラ座標系から見たカメラ14の位置をYmベクトル及びZmベクトルで表して設定される。
図11は、画像処理装置16による自己位置推定処理のフローチャートである。
図11に示すように、自己位置推定処理では、まず、画像処理装置16が初期化を実行する(S102)。例えば、画像処理装置16の自己位置推定部42が、判定範囲JR1、JR2を設定する。例えば、自己位置推定部42は、移動体92の走行する道路94の幅等を基準として、図9に示す判定範囲JR1のXc方向の範囲を設定する。自己位置推定部42は、移動体92に取り付けられたカメラ14の高さ等を基準として、図10に示す判定範囲JR2のYc方向の範囲を設定する。
画像取得部20は、カメラ14からフレーム画像を画像IGとして取得して、フレームメモリ22に格納する(S104)。画像補正部24は、フレームメモリ22に格納された画像IGを補正して、画像メモリ26に格納する(S106)。
特徴点抽出部28は、画像メモリ26に格納された補正後の画像IGから特徴点PTを抽出して、特徴点格納メモリ30に格納する(S108)。特徴点追跡部32は、追跡結果に含まれる1つ前の特徴点PTからテンプレートパッチTPを生成して、画像メモリ26に格納された補正後の画像IGに基づいて、特徴点PTを追跡する(S110)。特徴点追跡部32は、特徴点PTのオプティカルフローFLを含む追跡結果を追跡結果格納メモリ34に格納する(S112)。
マーク認識部36は、マーク情報格納メモリ38から取得したマークMKのパターン情報及び位置情報に基づいて、特徴点格納メモリ30に格納された複数の特徴点PTを含む特徴点群からマークMKを認識して検出し、マークMKの認識結果とともに、マークMKの位置情報をマーク認識結果格納メモリ40に格納する(S114)。
自己位置推定部42は、追跡結果格納メモリ34に格納された特徴点PTのオプティカルフローFLによる追跡結果に基づいて、移動体92及びカメラ14の位置を推定して、当該位置を第1自己位置と推定する(S116)。自己位置推定部42は、認識したマークMKの位置情報及び認識結果に基づいて、移動体92及びカメラ14の位置を推定して、当該位置を第2自己位置と推定する(S118)。
自己位置推定部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として採用するか否かを判定してもよい。
この後、画像処理装置16は、フレーム画像である画像IGがまだある場合(S122:Yes)、ステップS104以降を繰り返す。画像処理装置16は、全ての画像IGに対して処理を実行した場合(S122:No)、自己位置推定処理を終了する。
上述したように、画像処理装置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の推定精度を向上できる。
図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自己位置を推定する。
自己位置推定部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自己位置を推定する。
自己位置推定部42は、駐車場等の建造物90の水平方向を走行して移動する移動体92の自己位置SPを推定する場合、基準位置P0に対する基準高さSH1、SH2がマークMK1、MK2からの距離に関わらずほぼ一定のため、自己位置SPの高さのみを基準に第2自己位置を推定することができる。
図13は、飛行可能な移動体92c、92dの自己位置の推定を説明するための上方から見た平面図である。図14は、飛行可能な移動体92c、92dの自己位置の推定を説明するための側方から見た図である。飛行可能な移動体92c、92dの一例は、UAV(Unmanned Aerial Vehicle/Unmanned Air Vehicle)である。マークMK3、MK4、MK5は、建造物90の壁90a、柱90b等に設けられている。
図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として採用する。
第2移動体92dの自己位置推定部42は、マークMK2の高さ、マークMK2までの距離及びマークMK2の中心からのずれに基づいて第2自己位置を推定する。自己位置推定部42は、推定した当該第2自己位置が予め定められた判定範囲JR4内の場合、第2移動体92dは旋回して、認識した別のマークMK3に基づいて、第2自己位置を推定してもよい。この場合、第2移動体92dの自己位置推定部42は、自己位置SPが判定範囲JR4内であれば、当該第2自己位置によって自己位置SPをリセットして補正してよい。これにより、画像処理装置16は、より自己位置SPの推定精度を向上できる。
図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が接続されている。
CPU50はプロセッサ等の演算手段である。CPU50は、画像処理装置16の制御全般を司る。RAM52は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU50が情報を処理する際の作業領域として用いられる。ROM54は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムを格納する。HDD56は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)、各種の制御プログラム、及び、アプリケーション・プログラム等を格納する。
I/F58は、バス60と各種のハードウェアやネットワーク等を接続し制御する。表示部62は、利用者が画像処理装置16の状態を確認するための視覚的利用者インタフェースである。操作部64は、キーボード、マウス、各種のハードボタン、タッチパネル等、ユーザが画像処理装置16に情報を入力するためのユーザインタフェースである。
本実施の形態の画像処理装置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が主記憶装置上に生成されて、これらの機能がコンピュータに実現されるようになっている。
例えば、本実施の形態の画像処理装置16で実行される自己位置推定プログラムは、ROM54等に予め組み込まれて提供される。本実施の形態の画像処理装置16で実行される自己位置推定プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施の形態の画像処理装置16で実行される自己位置推定プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の画像処理装置16で実行される自己位置推定プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
上述した各実施形態の構成の機能、接続関係、個数等は適宜変更してよい。上述した各実施形態は、適宜組み合わせてもよい。上述したフローチャートのステップの順序は適宜変更してよい。
例えば、画像取得部20は、カメラ14によって撮影された画像を取得したが、測距装置等によって撮影された測距画像等を取得してもよい。
上述の実施形態では、自己位置推定部42が、特徴点PTのオプティカルフローFLによる第1自己位置を採用した自己位置SPを、第2自己位置によって補正する例をあげたが、実施形態はこれに限定されない。例えば、自己位置推定部42は、第2自己位置を自己位置SPとして採用しつつ、第2自己位置が判定範囲JR1、JR2外の場合に、第1自己位置を自己位置SPとして採用することにより、自己位置SPを補正してもよい。
上述の実施形態では、(n−1)番目の特徴点PTを追跡結果格納メモリ34に格納して、テンプレートパッチTPを生成する例を示したが、予め(n−1)番目の特徴点PTに基づいてテンプレートパッチTPを生成して、追跡結果格納メモリ34に格納してもよい。
上述の実施形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。実施形態および実施形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
16…画像処理装置
32…特徴点追跡部
36…マーク認識部
42…自己位置推定部
92…移動体
FL…オプティカルフロー
HD1…高さ
HD2…高さ
IG…画像
MK…マーク
PT…特徴点
SP…自己位置
32…特徴点追跡部
36…マーク認識部
42…自己位置推定部
92…移動体
FL…オプティカルフロー
HD1…高さ
HD2…高さ
IG…画像
MK…マーク
PT…特徴点
SP…自己位置
Claims (9)
- 撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡部と、
前記画像内の予め設けられたマークを認識するマーク認識部と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定部と、
を備える画像処理装置。 - 前記自己位置推定部は、予めパターン情報が設定された前記マークの位置情報に基づいて、前記第2自己位置を推定する
請求項1に記載の画像処理装置。 - 前記自己位置推定部は、水平方向に移動しつつ撮影された前記画像から前記マークを認識して、自己の高さに基づいて前記第2自己位置を推定する
請求項1または2に記載の画像処理装置。 - 前記自己位置推定部は、前記マークの高さ情報を含むマーク情報に基づいて、前記第2自己位置の高さを推定する
請求項1から3のいずれか1項に記載の画像処理装置。 - 前記自己位置推定部は、前記マークの高さ情報及び前記マークまでの距離と、前記マークの中心からのずれに基づいて、前記第2自己位置を推定する
請求項1から4のいずれか1項に記載の画像処理装置。 - 前記自己位置推定部は、一のマークから推定した前記第2自己位置が予め定められた範囲内の場合、他のマークに基づいて前記第2自己位置を補正する
請求項1から5のいずれか1項に記載の画像処理装置。 - 前記自己位置推定部は、前記第1自己位置を前記自己位置として採用している状態で、前記第2自己位置が前記予め定められた条件を満たしている場合、前記第2自己位置を前記自己位置として採用して補正する
請求項1から6のいずれか1項に記載の画像処理装置。 - 撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡段階と、
前記画像内の予め設けられたマークを認識するマーク認識段階と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定段階と、
を備える自己位置推定方法。 - 撮影された被写体の画像から抽出された前記被写体の特徴点を追跡する特徴点追跡機能と、
前記画像内の予め設けられたマークを認識するマーク認識機能と、
前記特徴点の追跡結果に基づいて第1自己位置を推定し、前記マークに基づいて第2自己位置を推定し、予め定められた条件に基づいて、前記第1自己位置及び前記第2自己位置のいずれか一方を自己位置として採用する自己位置推定機能と、
をコンピュータに実現させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016100158A JP2017207942A (ja) | 2016-05-19 | 2016-05-19 | 画像処理装置、自己位置推定方法、及び、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016100158A JP2017207942A (ja) | 2016-05-19 | 2016-05-19 | 画像処理装置、自己位置推定方法、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017207942A true JP2017207942A (ja) | 2017-11-24 |
Family
ID=60417123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016100158A Pending JP2017207942A (ja) | 2016-05-19 | 2016-05-19 | 画像処理装置、自己位置推定方法、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017207942A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019130931A1 (ja) * | 2017-12-26 | 2019-07-04 | パナソニックIpマネジメント株式会社 | 測位装置及び車両 |
JP2019117584A (ja) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | 移動体 |
JP2019117585A (ja) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | 移動体 |
DE102019131565A1 (de) | 2018-12-13 | 2020-06-18 | Denso Ten Limited | Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren |
WO2021002001A1 (ja) * | 2019-07-04 | 2021-01-07 | 三菱電機株式会社 | 移動体測位装置および移動体測位システム |
JPWO2019187816A1 (ja) * | 2018-03-30 | 2021-04-01 | 日本電産シンポ株式会社 | 移動体および移動体システム |
JP2023520278A (ja) * | 2021-02-25 | 2023-05-17 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | 測位方法、装置、電子機器、記憶媒体、プログラム及び製品 |
-
2016
- 2016-05-19 JP JP2016100158A patent/JP2017207942A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019130931A1 (ja) * | 2017-12-26 | 2019-07-04 | パナソニックIpマネジメント株式会社 | 測位装置及び車両 |
JP7021942B2 (ja) | 2017-12-27 | 2022-02-17 | 株式会社ダイヘン | 移動体 |
JP2019117584A (ja) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | 移動体 |
JP2019117585A (ja) * | 2017-12-27 | 2019-07-18 | 株式会社ダイヘン | 移動体 |
JP7021943B2 (ja) | 2017-12-27 | 2022-02-17 | 株式会社ダイヘン | 移動体 |
JPWO2019187816A1 (ja) * | 2018-03-30 | 2021-04-01 | 日本電産シンポ株式会社 | 移動体および移動体システム |
DE102019131565A1 (de) | 2018-12-13 | 2020-06-18 | Denso Ten Limited | Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren |
JP7006847B2 (ja) | 2019-07-04 | 2022-01-24 | 三菱電機株式会社 | 移動体測位装置および移動体測位システム |
JPWO2021002001A1 (ja) * | 2019-07-04 | 2021-10-28 | 三菱電機株式会社 | 移動体測位装置および移動体測位システム |
WO2021002001A1 (ja) * | 2019-07-04 | 2021-01-07 | 三菱電機株式会社 | 移動体測位装置および移動体測位システム |
CN114127506A (zh) * | 2019-07-04 | 2022-03-01 | 三菱电机株式会社 | 移动体测位装置和移动体测位*** |
JP2023520278A (ja) * | 2021-02-25 | 2023-05-17 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | 測位方法、装置、電子機器、記憶媒体、プログラム及び製品 |
JP7387002B2 (ja) | 2021-02-25 | 2023-11-27 | シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド | 測位方法、装置、電子機器、記憶媒体、プログラム及び製品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017207942A (ja) | 画像処理装置、自己位置推定方法、及び、プログラム | |
US8588471B2 (en) | Method and device of mapping and localization method using the same | |
US10917593B2 (en) | Camera calibration device that estimates internal parameter of camera | |
WO2018142900A1 (ja) | 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム | |
JP5870273B2 (ja) | 物体検出装置、物体検出方法及びプログラム | |
KR101633620B1 (ko) | 영상 기반의 위치 인식을 위한 특징점 등록 장치 및 그 방법 | |
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 (ja) | 自己位置推定装置、自己位置推定方法およびプログラム | |
JP2006252473A (ja) | 障害物検出装置、キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム | |
KR20110097140A (ko) | 이동 로봇의 위치 추정 장치 및 방법 | |
JP5819257B2 (ja) | 移動***置推定方法及び移動体 | |
Basso et al. | Unsupervised intrinsic and extrinsic calibration of a camera-depth sensor couple | |
JP6187671B2 (ja) | 自己位置算出装置及び自己位置算出方法 | |
JP5710752B2 (ja) | 検出装置、方法及びプログラム | |
JP7147753B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR102103944B1 (ko) | 모노카메라를 이용한 자율주행 차량의 거리 및 위치 추정 방법 | |
JP6479296B2 (ja) | 位置姿勢推定装置および位置姿勢推定方法 | |
JP4132068B2 (ja) | 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム | |
KR102490521B1 (ko) | 라이다 좌표계와 카메라 좌표계의 벡터 정합을 통한 자동 캘리브레이션 방법 | |
JP2017058274A (ja) | 計測装置、方法及びプログラム | |
JPWO2012133371A1 (ja) | 撮像位置および撮像方向推定装置、撮像装置、撮像位置および撮像方向推定方法ならびにプログラム | |
JP2016148956A (ja) | 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム | |
US20100262290A1 (en) | Data matching apparatus, data matching method and mobile robot | |
JP2021033605A (ja) | 画像処理装置、および、画像処理方法 | |
JPWO2017090097A1 (ja) | 車両用外界認識装置 |