JP2017041141A - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2017041141A
JP2017041141A JP2015163078A JP2015163078A JP2017041141A JP 2017041141 A JP2017041141 A JP 2017041141A JP 2015163078 A JP2015163078 A JP 2015163078A JP 2015163078 A JP2015163078 A JP 2015163078A JP 2017041141 A JP2017041141 A JP 2017041141A
Authority
JP
Japan
Prior art keywords
point
similarity
frame
image processing
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
Application number
JP2015163078A
Other languages
English (en)
Inventor
康子 橋本
yasuko Hashimoto
康子 橋本
多聞 貞末
Tamon Sadasue
多聞 貞末
和寛 ▲高▼澤
和寛 ▲高▼澤
Kazuhiro Takazawa
賢 青木
Masaru Aoki
賢 青木
康宏 梶原
Yasuhiro Kajiwara
康宏 梶原
和史 松下
Kazufumi Matsushita
和史 松下
靖子 白鷹
Yasuko Shirataka
靖子 白鷹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015163078A priority Critical patent/JP2017041141A/ja
Publication of JP2017041141A publication Critical patent/JP2017041141A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】自己位置推定の精度を維持しつつ、対応点の選択処理を高速に行う画像処理装置を提供すること。
【解決手段】本発明の画像処理装置は、撮像装置により連続的に撮像される画像のうち任意のフレームである第1フレームから、特徴点を抽出する抽出部と、前記第1フレームの次のフレームである第2フレームから、前記特徴点に対応する対応点を検索する検索部と、前記特徴点と前記対応点との第1類似度、及び前記特徴点と前記対応点の近傍に存在する近傍点との第2類似度を算出する算出部と、前記第1類似度が前記第2類似度より高い場合、前記対応点を選択することで、前記特徴点を追跡する選択部と、を有する。
【選択図】図3

Description

本発明は、画像処理装置、画像処理方法及びプログラムに関する。
自動車、ロボット、またはUAV(Unmanned aerial vehicle)等を、未知の環境下で自律運転させながら、画像認識を行う方法として、カメラ画像等の撮像画像から特徴点を抽出し、該特徴点を時系列で追跡することで、自己位置推定、地図構築を行うVisualSLAM(Simultaneous Localization And Mapping)技術が知られている。
高精度な自己位置推定を行うためには、連続的に撮像される画像において、あるフレームから抽出した特徴点を、次のフレームにおける対応点として、正確に追跡できることが好ましい。例えば、特許文献1に記載の画像処理装置では、ステレオ画像を用いて、対応点の三次元座標を算出し、三次元座標の誤差範囲に基づいて、三次元計測への適否を判定し、適切な対応点を選択することで、撮影装置の位置や姿勢等の計測精度を高めている。
しかしながら、従来の画像処理装置では、対応点を選択する際、三次元座標の算出、誤差範囲の算出、対応点適否判定、等の各種処理に時間を要し、処理速度が遅くなるという問題があった。
本発明は、上記に鑑みてなされたものであって、自己位置推定の精度を維持しつつ、対応点の選択処理を高速に行う画像処理装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、撮像装置により連続的に撮像される画像のうち任意のフレームである第1フレームから、特徴点を抽出する抽出部と、前記第1フレームの次のフレームである第2フレームから、前記特徴点に対応する対応点を検索する検索部と、前記特徴点と前記対応点との第1類似度、及び前記特徴点と前記対応点の近傍に存在する近傍点との第2類似度を算出する算出部と、前記第1類似度が前記第2類似度より高い場合、前記対応点を選択することで、前記特徴点を追跡する選択部と、を有する。
本発明によれば、自己位置推定の精度を維持しつつ、対応点の選択処理を高速に行う画像処理装置を提供することができる。
図1は、本実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。 図2は、本実施の形態に係る画像処理装置が搭載される車両の一例を示す図である。 図3は、本実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。 図4は、本実施の形態に係る記憶部の一例を示す図である。 図5は、本実施の形態に係る特徴点の追跡動作を説明する図である。 図6は、本実施の形態に係る特徴点の追跡動作及びサブピクセル推定について説明する図である。 図7は、本実施の形態に係る特徴点の追跡動作及びサブピクセル推定について説明する図である。 図8は、本実施の形態に係る画像処理装置の追跡処理の一例を示すフローチャートである。
(画像処理装置のハードウェア構成)
図1は、実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。図1を参照しながら、画像処理装置1のハードウェア構成について説明する。
図1に示すように、画像処理装置1は、本体部2と、撮像装置10と、信号変換装置20と、追跡処理装置30と、を備えた単眼のカメラ装置である。
本体部2は、画像処理装置1の筐体を構成するものであり、撮像装置10を固定して支持し、信号変換装置20及び追跡処理装置30を内蔵する。
撮像装置10は、前方の被写体を撮像してアナログの画像信号を生成する装置である。撮像装置10は、撮像レンズ11と、絞り12と、画像センサ13と、を備えている。
撮像レンズ11は、入射した光を屈折させて物体の像を結像させるための光学素子である。絞り12は、撮像レンズ11を透過した光の一部を遮ることによって、画像センサ13に到達する光の量を調整する部材である。画像センサ13は、撮像レンズ11および絞り12を通過した光を電気的なアナログの画像信号に変換する固体撮像素子である。画像センサ13は、例えば、CCD(Charge Coupled Devices)またはCMOS(Complementary Metal Oxide Semiconductor)によって実現される。
信号変換装置20は、撮像装置10により生成されたアナログの画像信号を、デジタル形式の画像データに変換する装置である。信号変換装置20は、CDS(Correlated Double Sampling)21と、AGC(Auto Gain Control)22と、ADC(Analog Digital Converter)23と、フレームメモリ24と、を備えている。
CDS21は、画像センサ13により生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、および縦方向の平滑フィルタ等によりノイズを除去する。AGC22は、CDS21によってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ADC23は、AGC22によって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ24は、ADC23によって変換された画像データを記憶する。
追跡処理装置30は、信号変換装置20によって変換された画像データに対して、後述する特徴点を追跡する画像処理(以下、「追跡画像処理」と称する場合がある)を実行する装置である。追跡処理装置30は、FPGA(Field Programmable Gate Array)31と、CPU(Central Processing Unit)32と、ROM(Read Only Memory)33と、RAM(Random Access Memory)34と、I/F(Interface)35と、バスライン39と、を備えている。
FPGA31は、追跡画像処理等を行う集積回路である。CPU32は、画像処理装置1の各機能を制御する。ROM33は、CPU32が画像処理装置1の各機能を制御するために実行する画像処理用プログラムを記憶している。RAM34は、CPU32やFPGA31のワークエリアとして使用される。I/F35は、外部機器等と通信するためのインターフェースであり、例えば、CAN(Controller Area Network)等のインターフェースである。バスライン39は、図1に示すように、FPGA31、CPU32、ROM33、RAM34、およびI/F35を互いに電気的に接続するアドレスバスおよびデータバス等である。
なお、追跡処理装置30において、バスライン39に接続される構成要素は、上述の装置に限定されるものではなく、追跡画像処理において生成される情報を継続的に保存しておく必要がある場合には、不揮発性記憶装置である補助記憶装置等がバスライン39に接続されているものとしてもよい。補助記憶装置は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
また、上述の画像処理用プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、CD−ROM(Compact Disc Read Only Memory)またはSDメモリカード(Secure Digital memory card)等である。
(画像処理装置の設置例)
図2は、実施の形態に係る画像処理装置を車両に搭載した例を示す図である。図2を参照しながら、画像処理装置1の設置例について説明する。
図2のうち、図2(a)は、画像処理装置1を搭載した車両50の側面概観図であり、図2(b)は、車両50の正面図である。
画像処理装置1の設置場所は、特に限定されるものではなく、例えば、画像処理装置1は、図2に示すように、自動車等である車両50の居室空間のフロントガラス内側のバックミラー近傍に設置されても良い。また、例えば、画像処理装置1は、フロントガラスの歪み等を避けるため、車両50の外側に設置されても良い。
画像処理装置1の撮像方向は、特に限定されるものではなく、例えば、前進方向、後進方向、左右方向、上下方向であっても良い。車両50の移動に伴って変化する光景を、適切に撮像できる方向であれば良い。
なお、画像処理装置1は、車両の一例としての自動車だけでなく、車両の他の例として、自動二輪車、原動機付自転車、自転車、車椅子、または農業用の耕運機等に搭載するものとしてもよい。
(画像処理装置のブロック構成)
図3は、実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。図3を参照しながら、画像処理装置1のブロック構成について説明する。
図3に示すように、画像処理装置1は、画像取得部301と、画像補正部302と、抽出部303と、検索部304と、算出部305と、近傍点検索部306と、判定部307と、選択部308と、第1記憶部311と、第2記憶部312と、第3記憶部313と、第4記憶部314と、を含む。
画像取得部301は、被写体を撮影し、アナログの画像信号を生成し、ノイズの除去等を行った後、デジタル形式の画像データ(以下、「フレーム」と称する場合がある)に変換し、画像補正部302へと出力する。また、画像取得部301は、取得したフレームを、第1記憶部311に記憶させる。画像取得部301は、図1に示す撮像装置10及び信号変換装置20によって実現される。
ここで、第1記憶部311は、画像取得部301により取得されたフレームを、一時的に記憶する。第1記憶部311は、例えば、図1に示すフレームメモリ24によって実現される。
画像補正部302は、第1記憶部311から読み出したフレームに対して、幾何学変換等による補正により歪み等を除去し、抽出部303及び検索部304へと出力する。また、画像補正部302は、補正したフレームを、第2記憶部312に記憶させる。画像補正部102は、図1に示すFPGA31によって実現される。以下、撮像装置10により連続的に撮像される画像のうち第1フレームを、「n枚目のフレーム」と称し、第1フレームの次のフレームである第2フレームを、「(n+1)枚目のフレーム」と称する。
ここで、第2記憶部312は、画像補正部302により補正されたフレーム、例えば、n枚目のフレーム、(n+1)枚目のフレーム、等を、一時的に記憶する。第2記憶部312は、例えば、図1に示すRAM34によって実現される。
抽出部303は、画像補正部302により補正されたフレーム(例えば、n枚目のフレーム)から、フレームに写る物体の角のように、際立って認識される画像上の点(特徴点)を抽出し、選択部308へと出力する。特徴点の抽出方法としては、例えば、ハリス(Harris)またはモラベック(Moravec)等のコーナー検出アルゴリズム等が適用できる。抽出部303は、図1に示すFPGA31によって実現される。
ここで、第4記憶部314は、抽出部303により抽出された新規特徴点、追跡に成功した対応点、対応点情報、新規特徴点情報、追跡結果情報、等を、一時的に記憶する。第4記憶部314は、例えば、図1に示すRAM34または補助記憶装置によって実現される。対応点情報とは、追跡に成功した対応点を特定するための情報であり、例えば、点を一意に決定するID、xy座標、追跡回数、等を含む情報が該当する。また、新規特徴点情報とは、新規特徴点を特定するための情報であり、例えば、点を一意に決定するID、xy座標、等を含む情報が該当する。また、追跡結果情報とは、対応点の追跡結果に関する情報であり、例えば、点を一意に決定するID、xy座標、追跡回数、追跡成功又は追跡失敗を示すフラグ、等を含む情報が該当する。
抽出部303による特徴点抽出動作は、画像処理装置1による追跡画像処理が実行されている間、原則として常時、実行される。これは、画像処理装置1が搭載される移動体である車両50等において、撮像装置10により連続的に撮像される画像には、常時、新規特徴点が現れるためである。
検索部304は、画像補正部302により補正されたフレーム(例えば、(n+1)枚目のフレーム)から、特定の特徴点に対応する対応点を検索し、算出部305、近傍点検索部306、第3記憶部313へと出力する。検索部304は、図1に示すFPGA31によって実現される。
具体的には、検索部304は、第4記憶部314から特定の特徴点を読み出し、第2記憶部312に記憶されるn枚目のフレームから、特定の特徴点を中心とする複数の周辺画素(例えば、3画素×3画素)を読み出し、テンプレートを作製する。テンプレートとは、小さな画像領域の一部であり、複数の画素により構成される。テンプレートとしては、例えば、N画素×N画素の矩形画像、縦横異なる画素数の矩形画像、または、円形画像、等が挙げられる。
更に、検索部304は、(n+1)枚目のフレームにおける所定の検索領域から、テンプレートと一致する画像を、ブロックマッチングにより検索する。この際、検索部304は、n枚目のフレームにおけるテンプレートと、(n+1)枚目のフレームにおける所定の検索領域に含まれる画像(例えば、3画素×3画素の矩形画像)との類似度(どれだけ似ているか、という度合い)を算出する。そして、検索部304は、所定の検索領域に含まれる最も類似度の高い領域に対して、サブピクセル推定を行う。
ここで、ブロックマッチングとは、テンプレートと一致する画像が、所定の検索領域の中に存在するか否かを、該領域に対してテンプレートを走査(例えば、ラスタースキャン)させることで、順次検索する方法である。
また、サブピクセル推定とは、類似度がピークとなるように、画素位置を補間推定し、整数精度の画素位置を小数精度の画素位置に補正する方法である。推定方法としては、例えば、等角直線(1次)当てはめ、2次曲面当てはめ、等の方法が挙げられる。サブピクセル推定の具体的な方法については後述する。
なお、上述の「一致する」とは、完全に一致する場合のみならず、例えば、ブロックマッチングにより算出される類似度に対する閾値判定の結果、一致するものとみなせる程度に類似している場合を含む概念であるものとする。
算出部305は、(n+1)枚目のフレームにおけるサブピクセル推定後の対応点と、n枚目のフレームにおける特定の特徴点との類似度(以下、「第1類似度」という)を算出し、第3記憶部313へと出力する。また、算出部305は、(n+1)枚目のフレームにおける追跡済みの対応点(後述する近傍点)と、n枚目のフレームにおける特定の特徴点との類似度(以下、「第2類似度」という)を算出し、第3記憶部313へと出力する。第1類似度及び第2類似度は、小数精度の画素位置及び画素値に基づいて、算出される。特徴点の画素位置及び画素値は、例えば、バイリニア補間法等の画像補間法を用いて特定することができる。算出部305は、図1に示すFPGA31によって実現される。ここで、近傍点とは、追跡済みの対応点のうち、サブピクセル推定後の対応点の近傍に存在する点である。
近傍点検索部306は、第3記憶部313から、追跡済みの対応点を読み出し、(n+1)枚目のフレームにおける対応点(サブピクセル推定後の対応点)の近傍に存在する近傍点を検索し、判定部307へと出力する。近傍点検索部306は、図1に示すFPGA31によって実現される。また、近傍点検索部306は、所定範囲(例えば、サブピクセル推定後の対応点から、任意の数ライン上部の範囲)に存在する追跡済みの対応点の中から、近傍点を検索しても良い。近傍点を検索する範囲を、所定範囲に限定することで、近傍点検索処理の処理速度を速くすることができる。
ここで、第3記憶部313は、近傍点検索部306により検索される追跡済みの対応点、第1類似度、第2類似度、対応点情報等を、一時的に記憶する。第3記憶部313は、例えば、図1に示すRAM34によって実現される。対応点情報とは、追跡済みの対応点を特定するための情報であり、例えば、点を一意に決定するID、xy座標、追跡回数、等を含む情報が該当する。
第3記憶部313としては、例えば、ラインバッファを用いることができ、ラインバッファは、所定範囲(例えば、サブピクセル推定後の対応点から、任意の数ライン上部の範囲)に存在する追跡済みの対応点のみを記憶しても良い。これによりメモリの増大を防ぐことができる。
判定部307は、近傍点検索部306により近傍点が検索された場合、第1類似度と第2類似度とを比較し、どちらの類似度が高いかを判定する。第1類似度が第2類似度より高い場合、判定部307は、追跡成功という判定結果を、選択部308へと出力する。第1類似度が第2類似度より低い場合、判定部307は、追跡失敗という判定結果を、選択部308へと出力する。判定部307は、図1に示すFPGA31によって実現される。
選択部308は、第1類似度が第2類似度より高い場合(追跡成功の場合)、検索部304により検索された対応点を選択し、第1類似度が第2類似度より低い場合(追跡失敗の場合)、検索部304により検索された対応点を選択しない。そして、選択部308は、追跡成功とされた類似度の高い対応点を、第4記憶部314に記憶させ、追跡失敗とされた類似度の低い対応点を消去する(第4記憶部314に記憶させない)。つまり、選択部308は、第1類似度が第2類似度より高い場合のみ、検索部304により検索された対応点を、追跡先の対応点として選択する。また、選択部308は、抽出部303により抽出された新規特徴点を、第4記憶部314に記憶させる。選択部308は、図1に示すFPGA31によって実現される。
ここで、図4を参照しながら、特徴点及び追跡先の対応点を第4記憶部314に記憶させる方法について説明する。
図4に示すように、選択部308は、一旦、メモリ5010、5020に、新規特徴点情報、追跡結果情報、等を記憶させ、該メモリを用いて、第4記憶部314に、新規特徴点、追跡に成功した対応点、等を記憶させる。
図4に示すメモリ5010は、抽出部303から出力されるフレーム(例えば、n枚目のフレーム)における新規特徴点情報を記憶するメモリである。また、図4に示すメモリ5020は、判定部307から出力されるフレーム(例えば、n枚目のフレーム)における追跡結果情報を記憶するメモリである。図4に示す第4記憶部314は、メモリ5010に記憶される新規特徴点情報、及びメモリ5020に記憶される追跡結果情報をマージして記憶するメモリである。
図4に示すメモリ5010におけるC0000、C0001、・・・等は、新規特徴点情報(例えば、点を一意に決定するID、xy座標、等を含む情報)を示している。また、図4に示すメモリ5020におけるF0000、F0001、・・・等は、追跡結果情報(例えば、点を一意に決定するID、xy座標、追跡回数、追跡成功又は追跡失敗を示すフラグ、等を含む情報)を示している。
例えば、F0001、F0002、F0005が、追跡に失敗した対応点を表す情報である場合、選択部308は、追跡に成功した対応点を表す情報(F0001、F0002、F0005を除く情報)を、第4記憶部314に記憶させ、空いたメモリ領域に、新規特徴点情報を記憶させる。更に、選択部308は、新規特徴点情報として、追跡に失敗した対応点を表す情報(F0001、F0002、F0005)の近傍に存在する特徴点情報(C0001、C0002、C0005)を選択し、第4記憶部314に記憶させる。
なお、メモリ5010及びメモリ5020は、複数の領域に分割されていても良い。例えば、選択部308は、画像上の任意の数ラインを、バンド領域として各メモリ領域に割当て、各々のバンド領域で得られる新規特徴点情報及び追跡結果情報を、割当てられたメモリ領域に記憶させても良い。これにより、特徴点の抽出及び追跡のために、新たにフレームバッファを用意することなく、ラインバッファのみで処理を行うことができる。
上述の画像処理装置1によれば、算出部305が、サブピクセル推定後の対応点を用いて、第1類似度及び第2類似度を算出し、選択部308が、第1類似度と第2類似度との比較結果に基づいて、対応点を選択する。従って、煩雑な処理を必要とせずに、特徴点の追跡精度を維持しつつ、対応点の選択処理を高速に行うことができる。
なお、図3に示した各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
また、上述の画像補正部302、抽出部303、検索部304、算出部305、近傍点検索部306、判定部307、選択部308は、FPGA31等のハードウェア回路で構成されることに限定されるものではなく、少なくとも一部の機能部が図1に示すCPU32で実行されるプログラムによって実現されるものとしてもよい。
(特徴点の追跡動作の詳細)
図5は、特徴点の追跡動作を説明する図である。図5を参照しながら、特徴点の追跡動作の詳細について説明する。
図5(a)に示すフレーム2000は、画像処理装置1により撮像されたフレーム(例えば、n枚目のフレーム)の一例である。図5(b)に示すフレーム2010は、フレーム2000の一部であり、図5(c)に示すフレーム2020は、フレーム2000の次のフレーム(例えば、(n+1)枚目のフレーム)の一部である。図5(d)に示す説明図2030は、特徴点の追跡結果を説明する図である。なお、画像処理装置1が搭載される車両50は、直進しているものとする。
図5(a)に示すフレーム2000、図5(b)に示すフレーム2010、図5(c)に示すフレーム2020には、被写体である物体2100、物体2200がそれぞれ写っている。
抽出部303は、図5(b)に示すように、フレーム2010から、特徴点2101及び特徴点2201を抽出する。
検索部304は、図5(b)に示すように、特徴点2101を中心として、特徴点2101の周辺数画素を含むテンプレート2110を作製し、特徴点2201を中心として、特徴点2201の周辺数画素を含むテンプレート2210を作製する。
検索部304は、図5(c)に示すように、フレーム2020における所定の検索領域2130から、テンプレート2110と一致する画像を、ブロックマッチングにより検索する。検索部304は、所定の検索領域2130に対して、左上から右下まで、テンプレート2110を移動させ、テンプレート2110と、所定の検索領域2130に含まれる画像との類似度を、順次算出し、最も類似度の高い領域を検索する。なお、所定の検索領域2130は、特に限定されるものではなく、例えば、(n+1)枚目のフレーム全体であっても良いし、(n+1)枚目のフレームを複数の領域に分割した分割領域であっても良い。
検索部304は、図5(c)に示すように、テンプレート2110と一致する画像として、領域2120を検索し、テンプレート2210と一致する画像として、領域2220を探索する。この場合、領域2120の中心点が、対応点2102となり、領域2220の中心点が、対応点2202となる。更に、検索部304は、特徴点2101及び特徴点2201の追跡精度を高めるため、サブピクセル推定を行って、対応点2102及び対応点2202の位置を補正し、特徴点2101の追跡先を、サブピクセル推定後の対応点2102sとし、特徴点2201の追跡先を、サブピクセル推定後の対応点2202sとする。
算出部305は、特徴点2101、2201とサブピクセル推定後の対応点2102s、2202sとの類似度(第1類似度)を算出する。また、算出部305は、特徴点2101、2201と対応点2102s、2202sの近傍に存在する近傍点との類似度(第2類似度)を算出する。
判定部307は、第1類似度と第2類似度とを比較し、第1類似度が第2類似度より高い場合、追跡成功と判定し、第1類似度が第2類似度より低い場合、追跡失敗と判定する。
選択部308は、図5(d)に示すように、特徴点2101の追跡先及び特徴点2201の追跡先が、追跡成功(第1類似度が第2類似度より高い)と判定された場合、対応点2102s及び対応点2202sを選択する。この場合、特徴点2101から対応点2102sへと向かうベクトルが、図5(d)に示すオプティカルフロー2103となり、特徴点2201から対応点2202sへと向かうベクトルが、図5(d)に示すオプティカルフロー2203となる。このように、画像処理装置1は、近傍点より類似度の高いサブピクセル推定後の対応点を選択し、特徴点の追跡精度を高めることで、オプティカルフローに基づく自己位置推定の精度を維持することができる。
なお、図5では、特徴点2101から対応点2102sへの追跡動作、及び、特徴点2201から対応点2202sへの追跡動作を、一例として説明したが、追跡動作は、抽出部303により抽出される全ての特徴点に対して行われる。
(特徴点の追跡動作とサブピクセル推定の詳細)
図6は、特徴点の追跡動作及びサブピクセル推定の具体的な方法について、説明する図である。図6を参照しながら、特徴点の追跡動作及びサブピクセル推定の詳細について説明する。
図6(a)に示すフレーム3010は、画像処理装置1により撮像されたフレーム(例えば、n枚目のフレーム)の一例である。図6(b)に示すフレーム3020は、画像処理装置1により撮像されたフレーム(例えば、(n+1)枚目のフレーム)の一例である。図6(c)に示すフレーム3030は、ブロックマッチングによる検索方法を説明する図である。図6(d)に示すフレーム3040は、所定の検索領域に含まれる最も類似度の高い領域を示す図である。図6(e)に示すグラフ3050は、類似度と画素との関係を示すグラフである。図6(e)において、横軸は画素の位置を示し、縦軸は類似度を示している。縦軸の値が大きくなる程、類似度が小さくなることを示している。なお、図6(c)及び図6(d)の点線は、画素境界を示している。
抽出部303は、図6(a)に示すように、フレーム3010から、特徴点3101及び特徴点3201を抽出する。
検索部304は、図6(a)に示すように、特徴点3101を中心として、特徴点3101の周辺数画素を含むテンプレート3110を作製し、特徴点3201を中心として、特徴点3201の周辺数画素を含むテンプレート3210を作製する。
検索部304は、図6(b)に示すように、フレーム3010において、テンプレート3110と一致する画像を検索するための、所定の検索領域3130を決定し、テンプレート3210と一致する画像を検索するための、所定の検索領域3230を決定する。検索領域3130は、特徴点3101の画素位置を中心として、任意に決定される所定の領域であり、検索領域3230は、特徴点3201の画素位置を中心として、任意に決定される所定の領域である。
検索部304は、図6(c)に示すように、検索領域3130から、テンプレート3110と一致する画像を、類似度を用いたブロックマッチングにより検索する。まず、検索部304は、検索領域3130に対して、テンプレート3110を、左上から右方向へと移動させ、右端まで到達したところで、左下に移動させて、再び右方向へと動かし、右下に到達するまで移動させる。この際、検索部304は、テンプレート3110と、検索領域3130に含まれる画像との類似度を、順次算出する。そして、検索部304は、検索領域3130に含まれる最も類似度の高い領域(図6(c)に示す領域3120)を検索し、領域3120の中心を、対応点3102とする。
検索部304は、図6(d)に示すように、領域3120に対して、サブピクセル推定を行う。領域3120は、p(0,0)、及びp(0,0)を中心とする周辺8画素、即ち、p(−1,−1)、p(0,−1)、p(1,−1)、p(−1,0)、p(1,0)、p(−1,1)、p(0,1)、p(1,1)を含む。サブピクセル推定前の対応点は、対応点3102であり、サブピクセル推定後の対応点は、対応点3103である。
検索部304は、まず、整数精度の画素単位で類似度計算を行うが、この場合、ブロックマッチングにより検索される対応点3102の画素位置が、特徴点3101の画素位置と正確に対応しない。従って、検索部304は、類似度がピークとなるように、整数精度の画素位置(対応点3102の画素位置)を、小数精度の画素位置(対応点3103の画素位置)に補正し、対応点3103の画素位置と、特徴点3101の画素位置とを、より正確に対応させる。
図6(e)は、対応点3102を中心とする画素、及び対応点3102の周辺8画素を抜き出して、各画素に対応する類似度を計算し、計算結果を、サブピクセル推定のための二次曲線に当てはめた例である。図6(e)に示すように、点A1(対応点3103の画素位置に対応する)における類似度は、ピークを有しており、点B1(対応点3102の画素位置に対応する)における類似度は、点A1における類似度より低いことがわかる。また、対応点3103の画素位置から離れる程、類似度が低くなることがわかる。つまり、検索部304がサブピクセル推定を行うことで、サブピクセル推定を行わない場合よりも、特徴点3101の追跡精度を、高めることができることがわかる。
(特徴点の追跡結果が近接する場合)
図7は、特徴点の追跡結果が近接する場合の、特徴点の追跡動作及びサブピクセル推定について説明する図である。図7を参照しながら、特徴点の追跡動作及びサブピクセル推定の概要について説明する。
図7(a)に示すフレーム3010は、画像処理装置1により撮像されたフレーム(例えば、n枚目のフレーム)の一例である。図7(b)に示すフレーム3020は、画像処理装置1により撮像されたフレーム(例えば、(n+1)枚目のフレーム)の一例である。図7(c)に示すグラフ3060は、類似度と画素との関係を示すグラフである。図7(c)において、横軸、縦軸は、図6(e)と同様である。
抽出部303は、図7(a)に示すように、フレーム3010から、特徴点3101及び特徴点3201を抽出する。
検索部304は、図7(a)に示すように、特徴点3101を中心として、特徴点3101の周辺数画素を含むテンプレート3110を作製し、特徴点3201を中心として、特徴点3201の周辺数画素を含むテンプレート3210を作製する。
検索部304は、図7(b)に示すように、検索領域3130から、特徴点3101の追跡先として、サブピクセル推定後の対応点3103を検索し、検索領域3230から、特徴点3201の追跡先として、サブピクセル推定後の対応点3203を検索する。
ここで、図7(a)と図7(b)とを比較すると、特徴点3101と特徴点3201との距離が、対応点3103と対応点3203との距離より長く、特徴点の追跡結果が近接していることがわかる。従って、カメラが前進している場合または上下左右方向に動いている場合、特徴点3101の追跡結果または特徴点3201の追跡結果のいずれかが誤対応であり、カメラが後進している場合、対応点3103及び対応点3203が消失点へ向かうため、今後、特徴点の追跡が難しくなると考えられる。
このように、特徴点の追跡結果が近接する場合であっても、検索部304は、類似度の高い対応点を選択して、特徴点の追跡を続行する必要がある。
図7(c)は、対応点3103の周辺画素における類似度の計算結果、及び対応点3203の周辺画素における類似度の計算結果を、サブピクセル推定のための二次曲線に当てはめた例である。
図7(c)に示すように、点B2(図7(b)に示す対応点3103の画素位置に対応する)における類似度は、ピークを有しており、点A2(図7(b)に示す対応点3102の画素位置に対応する)における類似度は、点B2における類似度より低いことがわかる。また、点D2(図7(b)に示す対応点3203の画素位置に対応する)における類似度は、ピークを有しており、点C2(図7(b)に示す対応点3202の画素位置に対応する)における類似度は、点D2における類似度より低いことがわかる。
サブピクセル推定前においては、対応点3202の類似度(点C2における類似度)の方が、対応点3102の類似度(点A2における類似度)より高いが、サブピクセル推定後においては、対応点3103の類似度(点B2における類似度)の方が、対応点3203の類似度(点D2における類似度)より高くなる。即ち、サブピクセル推定前においては、特徴点3201の追跡精度の方が、特徴点3101の追跡精度より高いが、サブピクセル推定後においては、特徴点3101の追跡精度の方が、特徴点3201の追跡精度より高くなる。
算出部305は、このような、より追跡精度の高い特徴点3101と、サブピクセル推定後の対応点3103との類似度を算出する。
近傍点検索部306は、サブピクセル推定後の対応点3103の近傍に存在する近傍点を検索し、判定部307は、特徴点3101と対応点3103との類似度(第1類似度)が、特徴点3101と該近傍点との類似度(第2類似度)より高いか否かを判定する。
選択部308は、第1類似度が第2類似度より高い場合、特徴点3101の追跡先として、対応点3103を選択する。
画像処理装置1によれば、検索部304が、サブピクセル推定を行い、選択部308が、類似度の高いサブピクセル推定後の対応点を選択する。従って、特徴点の追跡結果が近接する場合であっても、検索部304は、類似度の高い対応点を選択して、特徴点の追跡を続行することができる。
(特徴点の追跡動作の流れ)
図8は、実施の形態に係る画像処理装置の追跡画像処理の動作の一例を示すフローチャートである。図8を参照しながら、画像処理装置1の追跡画像処理のうち、特徴点の追跡動作の流れを総括的に説明する。なお、予め、n枚目のフレームにおいて特徴点が抽出されているものとする。
<ステップS401>
検索部304は、画像補正部302より、(n+1)枚目のフレームを取得する。
<ステップS402>
検索部304は、ステップS401における画像取得動作と並行して、特定の特徴点に対応する対応点を、(n+1)枚目のフレームから検索するために、第4記憶部314から、特定の特徴点に対応する対応点情報(例えば、点を一意に決定するID、xy座標、追跡回数、等を含む情報)を読み出す。
<ステップS403>
検索部304は、対応点情報に含まれるxy座標を用いて、n枚目のフレームが記憶される第2記憶部312から、特定の特徴点のxy座標、及び特定の特徴点を中心とする複数の周辺画素を読み出し、テンプレートを作製する。
<ステップS404>
検索部304は、テンプレートを用いて、(n+1)枚目のフレームにおける所定の検索領域から、追跡先を検索する。
<ステップS405>
検索部304は、テンプレートと、所定の検索領域に含まれる画像との類似度を順次算出し、(n+1)枚目のフレームにおける所定の検索領域から、テンプレートと一致する画像を、ブロックマッチングにより検索する。
<ステップS406>
検索部304は、(n+1)枚目のフレームにおいて、追跡先が存在するか否かの判定を行う。追跡先が存在する場合(Yes)、検索部304は、ステップS407の処理を行う。追跡先が存在しない場合(No)、検索部304は、ステップS416の処理を行う。
<ステップS407>
検索部304は、所定の検索領域に含まれる最も類似度の高い領域に対して、サブピクセル推定を行い、追跡先の対応点の画素位置(整数精度の画素位置)を、類似度がピークとなる画素位置(小数精度の画素位置)に補正する。
<ステップS408>
算出部305は、n枚目のフレームにおける特徴点と、(n+1)枚目のフレームにおけるサブピクセル推定後の対応点との類似度(第1類似度)を算出する(類似度再計算)。算出部305が、類似度再計算を行う際、サブピクセル推定後の対応点を用いることで、類似度計算の回数を有限回数に抑え、ハード化を容易にすることができる。
<ステップS409>
検索部304は、第3記憶部313に、第1類似度、第2類似度、近傍点検索部306により検索される追跡済みの対応点、等を記憶させる。
<ステップS410>
近傍点検索部306は、第3記憶部313から、追跡済みの対応点を読み出す。
<ステップS411>
近傍点検索部306は、追跡済みの対応点の中から、(n+1)枚目のフレームにおけるサブピクセル推定後の対応点の近傍に存在する近傍点を検索する。
<ステップS412>
近傍点検索部306は、追跡済みの対応点の中に、近傍点が存在するか否かを判定する。近傍点が存在する場合(Yes)、近傍点検索部306は、ステップS413の処理を行う。近傍点が存在しない場合(No)、近傍点検索部306は、ステップS415の処理を行う。近傍点が存在するか否かの判定には、例えば、ベクトル(オプティカルフロー)の大きさ等を用いた閾値判定を行うものとすればよい。
<ステップS413>
判定部307は、類似度判定を行い、特徴点と対応点との類似度(第1類似度)と、特徴点と近傍点との類似度(第2類似度)とを比較し、どちらの類似度が高いかを判定する。
<ステップS414>
判定部307は、追跡処理が成功したか否かを判定する。追跡処理が成功した場合(Yes)、即ち、第1類似度が第2類似度より高い場合、判定部307は、ステップS415の処理を行う。追跡処理が失敗した場合(No)、即ち、第1類似度が第2類似度より低い場合、判定部307は、ステップS416の処理を行う。
<ステップS415>
選択部308は、追跡成功とされた類似度の高い対応点を選択し、第4記憶部314に、追跡に成功した対応点を記憶させる。
<ステップS416>
選択部308は、追跡失敗とされた類似度の低い対応点を消去し、後段の自己位置推定処理部に、追跡失敗の通知を行う(追跡失敗処理)。
以上のステップS401〜S416で示される特徴点の追跡動作が繰り返されることによって、継続的に、特徴点の追跡が行われる。
以上のように、画像処理装置1によれば、特徴点の追跡先として、近傍点より類似度の高い対応点を選択する。これにより、自己位置推定の精度を維持しつつ、対応点の選択処理を高速に行うことができる。また、画像処理装置1によれば、近傍点より類似度の低い対応点を消去する。これにより、不要な対応点を、記憶部に記憶させる必要が無いため、メモリを削減することもできる。
なお、上述の実施の形態では、画像処理装置1が単眼のカメラ装置であるものとして説明した。単眼のカメラ装置の場合、カメラ画像同士の同期が必要ないため、画像処理装置1の構成を、簡易にすることができる。しかしながら、単眼のカメラ装置に限定されるものではなく、画像処理装置1は、例えば、2つのカメラを備えるステレオカメラであってもよい。この場合、2つのカメラのうち一方のカメラで撮像したフレームについて、上述の追跡画像処理を実行するものとすればよい。
なお、上述の画像補正部302、抽出部303、検索部304、算出部305、近傍点検索部306、判定部307、選択部308のうち少なくともいずれかがプログラムで実現される場合、画像処理装置1で実行されるそのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−RまたはDVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供される。
また、上述の実施の形態に係る画像処理装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態に係る画像処理装置1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
また、上述の実施の形態に係る画像処理装置1で実行されるプログラムは、上述した画像補正部302、抽出部303、検索部304、算出部305、近傍点検索部306、判定部307、選択部308のうち少なくともいずれかを含むモジュール構成となっていてもよく、実際のハードウェアとしてはCPU32が上述の記憶媒体からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
1 画像処理装置
10 撮像装置
303 抽出部
304 検索部
305 算出部
306 近傍点検索部
308 選択部
313 記憶部
特許第5362189号公報

Claims (8)

  1. 撮像装置により連続的に撮像される画像のうち任意のフレームである第1フレームから、特徴点を抽出する抽出部と、
    前記第1フレームの次のフレームである第2フレームから、前記特徴点に対応する対応点を検索する検索部と、
    前記特徴点と前記対応点との第1類似度、及び前記特徴点と前記対応点の近傍に存在する近傍点との第2類似度を算出する算出部と、
    前記第1類似度が前記第2類似度より高い場合、前記対応点を選択することで、前記特徴点を追跡する選択部と、を有する、
    画像処理装置。
  2. 所定範囲に存在する追跡済みの対応点の中から、前記近傍点を検索する近傍点検索部と、をさらに有する、
    請求項1に記載の画像処理装置。
  3. 前記近傍点検索部により検索される追跡済みの対応点を記憶する記憶部と、を有し、
    前記近傍点検索部は、前記記憶部に記憶された前記追跡済みの対応点の中から、前記近傍点を検索する、
    請求項2に記載の画像処理装置。
  4. 前記記憶部は、所定範囲に存在する追跡済みの対応点を記憶するラインバッファである、
    請求項3に記載の画像処理装置。
  5. 前記撮像装置は、移動体に固定される単眼カメラである、
    請求項1乃至4のいずれか一項に記載の画像処理装置。
  6. 前記検索部は、ブロックマッチングにより、前記特徴点に対応する対応点を検索し、サブピクセル推定により、該対応点を補正する、
    請求項1乃至5のいずれか一項に記載の画像処理装置。
  7. 撮像装置により連続的に撮像される画像のうち任意のフレームである第1フレームから、特徴点を抽出するステップと、
    前記第1フレームの次のフレームである第2フレームから、前記特徴点に対応する対応点を検索するステップと、
    前記特徴点と前記対応点との第1類似度、及び前記特徴点と前記対応点の近傍に存在する近傍点との第2類似度を算出するステップと、
    前記第1類似度が前記第2類似度より高い場合、前記対応点を選択することで、前記特徴点を追跡するステップと、を有する、
    画像処理方法。
  8. 撮像装置により連続的に撮像される画像のうち任意のフレームである第1フレームから、特徴点を抽出するステップと、
    前記第1フレームの次のフレームである第2フレームから、前記特徴点に対応する対応点を検索するステップと、
    前記特徴点と前記対応点との第1類似度、及び前記特徴点と前記対応点の近傍に存在する近傍点との第2類似度を算出するステップと、
    前記第1類似度が前記第2類似度より高い場合、前記対応点を選択することで、前記特徴点を追跡するステップと、
    をコンピュータに実行させるためのプログラム。
JP2015163078A 2015-08-20 2015-08-20 画像処理装置、画像処理方法及びプログラム Pending JP2017041141A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015163078A JP2017041141A (ja) 2015-08-20 2015-08-20 画像処理装置、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015163078A JP2017041141A (ja) 2015-08-20 2015-08-20 画像処理装置、画像処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2017041141A true JP2017041141A (ja) 2017-02-23

Family

ID=58203482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015163078A Pending JP2017041141A (ja) 2015-08-20 2015-08-20 画像処理装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2017041141A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175112A (ja) * 2018-03-28 2019-10-10 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175112A (ja) * 2018-03-28 2019-10-10 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム
JP7117872B2 (ja) 2018-03-28 2022-08-15 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム

Similar Documents

Publication Publication Date Title
KR102143456B1 (ko) 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스
JP6561512B2 (ja) 視差値導出装置、移動体、ロボット、視差値導出方法、視差値生産方法及びプログラム
JP6395506B2 (ja) 画像処理装置および方法、プログラム、並びに撮像装置
US10104359B2 (en) Disparity value deriving device, movable apparatus, robot, disparity value producing method, and computer program
WO2017138245A1 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6577703B2 (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
US20170017839A1 (en) Object detection apparatus, object detection method, and mobile robot
JP2017139600A (ja) カメラキャリブレーション装置
JP2016152027A (ja) 画像処理装置、画像処理方法およびプログラム
JP6589313B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
US11509813B2 (en) Image processing device
JP6547841B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP2016173795A (ja) 画像処理装置、画像処理方法およびプログラム
JP2018503195A (ja) 物体検出方法及び物体検出装置
US20210335010A1 (en) Calibration method and calibration apparatus
JP6561511B2 (ja) 視差値導出装置、移動体、ロボット、視差値生産導出方法、視差値の生産方法及びプログラム
JP2014211323A (ja) 画像処理装置、雨滴検出装置およびプログラム
JP7311407B2 (ja) 姿勢推定装置、および、姿勢推定方法
JP2017041141A (ja) 画像処理装置、画像処理方法及びプログラム
JP2015185998A (ja) 画像処理方法および撮像装置
JP2018088217A (ja) 情報処理装置、撮像装置、機器制御システム、情報処理方法およびプログラム
JP6739367B2 (ja) カメラ装置
WO2015182771A1 (ja) 撮像装置、画像処理装置、画像処理方法およびコンピュータプログラム
JP6241083B2 (ja) 撮像装置及び視差検出方法
JP6747176B2 (ja) 画像処理装置、撮影装置、プログラム、機器制御システム及び機器