JP2016173795A - 画像処理装置、画像処理方法およびプログラム - Google Patents
画像処理装置、画像処理方法およびプログラム Download PDFInfo
- Publication number
- JP2016173795A JP2016173795A JP2015054476A JP2015054476A JP2016173795A JP 2016173795 A JP2016173795 A JP 2016173795A JP 2015054476 A JP2015054476 A JP 2015054476A JP 2015054476 A JP2015054476 A JP 2015054476A JP 2016173795 A JP2016173795 A JP 2016173795A
- Authority
- JP
- Japan
- Prior art keywords
- point
- tracking
- frame
- 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
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】オクルージョンが発生している部分で追跡を可能とすることができる画像処理装置、画像処理方法およびプログラムを提供する。
【解決手段】撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出手段と、特徴点が写っている第1フレームの次のフレームである第2フレームで、その特徴点と一致する追跡点を探索する探索手段と、第1フレームの特徴点が、第2フレームで追跡点としてどの位置にあるかを予測する予測手段と、探索手段により探索された追跡点の位置と、予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、オクルージョンがないと判定された場合、探索された追跡点を、新たな特徴点として決定し、オクルージョンがあると判定された場合、予測された追跡点を、新たな特徴点として決定する決定手段と、を備える。
【選択図】図3
【解決手段】撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出手段と、特徴点が写っている第1フレームの次のフレームである第2フレームで、その特徴点と一致する追跡点を探索する探索手段と、第1フレームの特徴点が、第2フレームで追跡点としてどの位置にあるかを予測する予測手段と、探索手段により探索された追跡点の位置と、予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、オクルージョンがないと判定された場合、探索された追跡点を、新たな特徴点として決定し、オクルージョンがあると判定された場合、予測された追跡点を、新たな特徴点として決定する決定手段と、を備える。
【選択図】図3
Description
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
近年、自動車またはロボット等を自律運転させるために必要となる地図を作成する手法として、未知の環境下で自律的に地図構築および自己位置の推定を行う技術(SLAM:Simultaneous Localization And Mapping)が知られている。SLAMでは、カメラ画像またはレーザーレーダー等のセンサ情報から特徴点を抽出し、時系列で特徴点を追跡して、その結果を基に姿勢推定および三次元再構成を行うことで地図構築および自己位置の推定を行う。
しかし、例えばカメラ画像を利用した場合、カメラの前を動く物体が通り過ぎた場合に特徴点が消失してしまう等のオクルージョンが発生し、特徴点の追跡に失敗することがある。このような、特徴点の追跡の失敗に対応するために、オクルージョンが発生した場合に、パラメータを変更することによって、特徴点の追跡範囲を小さくし、再度、特徴点を追跡することにより、特徴点の追跡の失敗を低減する技術が提案されている(特許文献1参照)。
しかしながら、特許文献1に記載された技術は、特徴点の追跡の失敗を低減するために、オクルージョンが発生している部分であって特徴点が追跡できない複数の過去の画像を使う必要性があり、かつ、再度追跡を行う必要性があり、オクルージョンが発生した部分において直接追跡することができないという問題点がある。
本発明は、上記に鑑みてなされたものであって、オクルージョンが発生している部分で追跡を可能とする画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出手段と、前記特徴点が写っている第1フレームの次のフレームである第2フレームで、該特徴点と一致する追跡点を探索する探索手段と、前記第1フレームの前記特徴点が、前記第2フレームで追跡点としてどの位置にあるかを予測する予測手段と、前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、を備えたことを特徴とする。
本発明によれば、オクルージョンが発生している部分で追跡を可能とすることができる。
(画像処理装置のハードウェア構成)
図1は、実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。図1を参照しながら、画像処理装置1のハードウェア構成について説明する。
図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のワークエリアとして使用される。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を参照しながら、画像処理装置1の設置例について説明する。
図2のうち、図2(a)は、画像処理装置1を搭載した車両50の側面概観図であり、図2(b)は、車両50の正面図である。図2に示すように、画像処理装置1は、例えば、自動車等である車両50の居室空間のフロントガラス内側のバックミラー近傍に設置され、かつ、車両50の進行方向の光景を撮像することができるように設置される。
なお、画像処理装置1は、車両の一例としての自動車だけでなく、車両の他の例として、自動二輪車、原動機付自転車、自転車、車椅子、または農業用の耕運機等に搭載するものとしてもよい。
(画像処理装置のブロック構成)
図3は、実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。図3を参照しながら、画像処理装置1のブロック構成について説明する。
図3は、実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。図3を参照しながら、画像処理装置1のブロック構成について説明する。
図3に示すように、画像処理装置1は、画像取得部101と、画像補正部102と、特徴点抽出部103(抽出手段)と、追跡点探索部104(探索手段)と、追跡点予測部105(予測手段)と、判定部106(判定手段)と、決定部107(決定手段)と、グルーピング部108(分類手段)と、第1記憶部111と、第2記憶部112と、第3記憶部113(記憶手段の一例)と、を有する。
画像取得部101は、被写体を撮像してアナログの画像信号を生成し、ノイズの除去等を行った後、デジタル形式の画像データ(以下、「フレーム」と称する場合がある)に変換して取得する機能部である。また、画像取得部101は、取得したフレームを、第1記憶部111に記憶させる。画像取得部101は、図1に示す撮像装置10および信号変換装置20によって実現される。
画像補正部102は、第1記憶部111から読み出したフレームに対して、フィルタ処理等による補正により歪み等を除去する機能部である。画像補正部102は、補正したフレームを、第2記憶部112に記憶させる。画像補正部102は、図1に示すFPGA31によって実現される。
特徴点抽出部103は、第2記憶部112から読み出したフレームに対して、写っている物体の角等のように際立って認識される画像上の点(特徴点)を抽出する機能部である。特徴点抽出部103は、抽出した特徴点の座標情報を追跡点探索部104および追跡点予測部105に送る。特徴点抽出部103による特徴点の抽出動作は、画像処理装置1による追跡画像処理が実行されている間、原則として常時、実行される。これは、画像処理装置1が搭載された移動体である車両50等では、撮像装置10により撮像される画像には、常時、新規に特徴点が現れるためである。特徴点抽出部103による特徴点の抽出方法としては、例えば、ハリス(Harris)またはモラベック(Moravec)等のコーナー検出アルゴリズム等が適用できる。特徴点抽出部103は、図1に示すFPGA31によって実現される。
追跡点探索部104は、特徴点抽出部103により特定のフレーム(以下、「n枚目のフレーム」と称する場合がある)(第1フレーム)で抽出された特徴点の座標を中心とした所定範囲の画像であるテンプレート(テンプレート画像)と一致する画像を、次のフレーム(以下、「(n+1)枚目のフレーム」と称する場合がある)(第2フレーム)における所定のサーチ範囲で探索するブロックマッチング動作を実行する機能部である。この場合、追跡点探索部104は、フレームを第2記憶部112から読み出し、テンプレートを第3記憶部113から読み出す。そして、追跡点探索部104は、(n+1)枚目のフレームで、探索したテンプレートと一致する探索領域の画像の中心点を追跡点とし、この探索した追跡点の座標情報を探索結果情報として判定部106に送る。追跡点探索部104は、図1に示すFPGA31によって実現される。
なお、テンプレートは、例えば、N画素×N画素の矩形画像、縦横異なる画素数の矩形画像、または、矩形ではなく円形等のテンプレートであってもよい。また、上述の「一致する」とは、完全に一致する場合のみならず、例えば、ブロックマッチング動作により算出される類似度に対する閾値判定の結果、一致するものとみなせる程度に類似している場合を含む概念であるものとする。
追跡点予測部105は、既に確定している追跡結果から、n枚目のフレームでの特徴点が、(n+1)枚目のフレームでどの位置に移動しているかを予測する機能部である。追跡点予測部105は、(n+1)枚目のフレームにおいて予測した追跡点(予測点)の座標情報を予測結果情報として判定部106に送る。追跡点予測部105は、図1に示すFPGA31によって実現される。
判定部106は、追跡している特徴点がオクルージョンにより消失したか否かを判定する機能部である。具体的には、判定部106は、追跡点探索部104から受け取った探索結果情報、および追跡点予測部105から受け取った予測結果情報に基づき、探索した追跡点の座標と、予測した追跡点(予測点)の座標との差(距離)が所定値より大きいか否かを判定する。判定部106は、差(距離)が所定値より大きい場合、オクルージョンが発生したものと判定し、所定値以下である場合、オクルージョンがないものと判定する。判定部106は、判定した結果情報を、決定部107へ送る。判定部106は、図1に示すFPGA31によって実現される。
決定部107は、判定部106による判定結果に基づいて、特徴点の追跡結果としての追跡点(新たな特徴点)を決定する機能部である。具体的には、決定部107は、判定部106によりオクルージョンがないと判定された場合、追跡点探索部104により探索された追跡点を、追跡結果としての追跡点として決定し、オクルージョンが発生したと判定された場合、追跡点予測部105により予測された追跡点を、追跡結果としての追跡点として決定する。決定部107は、決定した追跡点の座標情報を追跡結果情報として、第3記憶部113に記憶させる。また、決定部107は、判定部106によりオクルージョンがないと判定された場合、追跡点探索部104により探索された追跡点を中心とする所定範囲の画像によって、その追跡点に対応するテンプレートを更新、すなわち、第3記憶部113に記憶する。さらに、決定部107は、決定した追跡点に基づいて求めたオプティカルフローの情報を、第3記憶部113に記憶させる。決定部107は、図1に示すFPGA31によって実現される。なお、オプティカルフローの導出方法については、後述する。
グルーピング部108は、決定部107により求められた各オプティカルフローの向きおよび長さに基づいて、各オプティカルフローに対応する追跡点をグループ分け(分類)する機能部である。グルーピング部108は、グループ分けした結果情報であるグループ情報を第3記憶部113に記憶させる。グルーピング部108は、図1に示すFPGA31によって実現される。
第1記憶部111は、画像取得部101により取得されたフレームを一時的に記憶する機能部である。第1記憶部111は、例えば、図1に示すフレームメモリ24によって実現される。
第2記憶部112は、画像補正部102により補正されたフレームを一時的に記憶する機能部である。第2記憶部112は、例えば、図1に示すRAM34によって実現される。
第3記憶部113は、決定部107の追跡結果情報、および、グルーピング部108のグループ情報等を記憶する機能部である。第3記憶部113は、例えば、図1に示すRAM34または補助記憶装置によって実現される。
なお、図3に示した各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
また、上述の画像補正部102、特徴点抽出部103、追跡点探索部104、追跡点予測部105、判定部106、決定部107およびグルーピング部108は、FPGA31等のハードウェア回路で構成されることに限定されるものではなく、少なくとも一部の機能部が図1に示すCPU32で実行されるプログラムによって実現されるものとしてもよい。
(特徴点の追跡動作の概要)
図4は、オクルージョンがない場合の特徴点の追跡動作を説明する図である。図5は、オクルージョンが発生した場合の特徴点の追跡動作を説明する図である。図4および5を参照しながら、特徴点の追跡動作の概要について説明する。
図4は、オクルージョンがない場合の特徴点の追跡動作を説明する図である。図5は、オクルージョンが発生した場合の特徴点の追跡動作を説明する図である。図4および5を参照しながら、特徴点の追跡動作の概要について説明する。
まず、図4を参照しながら、オクルージョンがない場合の特徴点の追跡動作の概要について説明する。図4(a)に示すフレーム200は、画像処理装置1により撮像されたフレーム(n枚目のフレーム)の一例である。ここで、画像処理装置1を搭載した車両50は、直進しているものとする。図4(b)に示すフレーム201は、n枚目のフレームであるフレーム200の一部であり、フレーム202は、フレーム200の次のフレーム((n+1)枚目のフレーム)の一部である。このフレーム200〜202には、被写体である物体901、902がそれぞれ写っている。図4(c)に示す説明図203は、フレーム201で示す特徴点の追跡結果を説明する図である。
図4(b)に示すフレーム201では、特徴点抽出部103によって、特徴点301および特徴点302がそれぞれ抽出されているものとする。また、特徴点301、302をそれぞれ中心とするテンプレート701、702が、第3記憶部113に記憶されているものとする。
追跡点探索部104は、第3記憶部113からテンプレート701、702をそれぞれ読み出し、(n+1)枚目のフレームであるフレーム202において、テンプレート701、702にそれぞれ一致する画像を、ブロックマッチング動作により探索する。探索方向としては、(n+1)枚目のフレームの左上から右下へ向かうラスタースキャンによって探索すればよい。なお、探索範囲については、(n+1)枚目のフレーム全体を探索することに限られず、例えば、(n+1)枚目のフレームにおける、n枚目のフレームの特徴点の位置に対応する点を中心とした所定のサーチ範囲で探索するものとしてもよい。また、(n+1)枚目のフレームを複数の領域に分割して、対応する領域内のみを探索するものとしてもよい。
追跡点探索部104は、探索の結果、図4(b)に示すように、フレーム202において、テンプレート701に一致する画像として探索領域801の画像を探索し、テンプレート702に一致する画像として探索領域802の画像を探索したものとする。この場合、追跡点探索部104は、探索領域801の中心点を追跡点305とし、探索領域802の中心点を追跡点306とする。そして、決定部107によって、追跡点探索部104により探索された追跡点305、306が、追跡結果としての追跡点として決定されたものとする。
そして、図4(c)の説明図203に示すように、決定部107は、(n+1)枚目のフレームにおいて、n枚目のフレームの特徴点301の位置に対応する点である対応点401から追跡点305に向かうベクトルを、追跡点305に対応するオプティカルフロー601として求める。同様に、決定部107は、(n+1)枚目のフレームにおいて、n枚目のフレームの特徴点302の位置に対応する点である対応点402から追跡点306に向かうベクトルを、追跡点306に対応するオプティカルフロー602として求める。そして、決定部107は、求めたオプティカルフロー601、602の情報を、第3記憶部113に記憶させる。一般に、オプティカルフローの長さは、画像処理装置1に近い追跡点ほど長く、遠い追跡点ほど短くなるという特徴がある。
また、決定部107は、テンプレート701、702を、それぞれ探索領域801、802の画像で更新し、第3記憶部113に記憶させる。
次に、図5を参照しながら、オクルージョンが発生した場合の特徴点の追跡動作の概要について説明する。図5(a)に示すフレーム210は、画像処理装置1により撮像されたフレーム(n枚目のフレーム)の一例である。ここで、画像処理装置1を搭載した車両50は、直進しているものとする。図5(b)に示すフレーム211は、n枚目のフレームであるフレーム210の一部であり、フレーム212は、フレーム210の次のフレーム((n+1)枚目のフレーム)の一部である。このフレーム210〜212には、車両50のワイパー910がそれぞれ写っている。図5(c)に示す説明図213は、オクルージョンが発生した場合の追跡点の予測動作を説明する図である。図5(c)に示す説明図214は、フレーム211で示す特徴点の追跡結果を説明する図である。
図5(b)に示すフレーム211では、特徴点抽出部103によって、特徴点311〜313がそれぞれ抽出されているものとする。また、特徴点311〜313をそれぞれ中心とするテンプレート711〜713が、第3記憶部113に記憶されているものとする。
追跡点探索部104は、第3記憶部113からテンプレート711〜713をそれぞれ読み出し、(n+1)枚目のフレームであるフレーム212において、テンプレート711〜713にそれぞれ一致する画像を、ブロックマッチング動作により探索する。
追跡点探索部104は、探索の結果、図5(b)に示すように、フレーム212において、テンプレート711に一致する画像として探索領域811の画像を探索し、テンプレート712に一致する画像として探索領域812の画像を探索し、テンプレート713に一致する画像として探索領域813の画像を探索したものとする。この場合、追跡点探索部104は、探索領域811の中心点を追跡点315とし、探索領域812の中心点を追跡点316とし、探索領域813の中心点を追跡点317とする。ここで、図5(b)のフレーム212で示されるように、特徴点312については、ワイパー910によるオクルージョンが発生し、探索された追跡点である追跡点316は正しいものではない。また、決定部107によって、追跡点探索部104により探索された追跡点315、317が、追跡結果としての追跡点として決定されたものとする。
次に、図5(c)に示す説明図213により、オクルージョンが発生した場合の追跡点の予測動作について説明する。ここでは、オクルージョンが発生した特徴点312についての追跡点の予測動作を例に説明する。追跡点予測部105は、既に確定している追跡結果(具体的には確定しているオプティカルフロー)から、n枚目のフレームであるフレーム211の特徴点312が、(n+1)枚目のフレームであるフレーム212でどの位置に移動しているかを予測する。説明図213に示すように、決定部107によって追跡点315が追跡結果としての追跡点として決定されているので、(n+1)枚目のフレームにおいて、n枚目のフレームの特徴点311の位置に対応する対応点411から追跡点315に向かうベクトルは、追跡点315に対応する、確定したオプティカルフロー611である。ここで、例えば、追跡点予測部105は、特徴点312の近傍に存在する特徴点311についての確定したオプティカルフロー611を利用し、(n+1)枚目のフレームにおいて、n枚目のフレームの特徴点312の位置に対応する対応点412から、オプティカルフロー611と同じベクトルであるベクトル652によって指し示される点を、特徴点312についての予測した追跡点である予測点512とする。
決定部107は、判定部106により特徴点312についてオクルージョンが発生していると判定された場合、追跡点予測部105により予測された追跡点である予測点512が、特徴点312に対する追跡結果としての追跡点(説明図214の追跡点316a)として決定する。
そして、図5(c)の説明図214に示すように、決定部107は、(n+1)枚目のフレームにおいて、対応点412から追跡点316aに向かうベクトルを、追跡点316aに対応するオプティカルフロー612として求める。同様に、決定部107は、(n+1)枚目のフレームにおいて、n枚目のフレームの特徴点313の位置に対応する点である対応点413から追跡点317に向かうベクトルを、追跡点317に対応するオプティカルフロー613として求める。そして、決定部107は、求めたオプティカルフロー611〜613の情報を、第3記憶部113に記憶させる。
また、決定部107は、テンプレート711、713のみを、それぞれ探索領域811、813の画像で更新し、第3記憶部113に記憶させ、テンプレート712については、追跡点316aに対応するテンプレートとして保持する。
なお、図5(c)では、オクルージョンが発生した特徴点312についての追跡点の予測動作について説明したが、後述するように、追跡点の予測動作は、特徴点抽出部103により抽出されたすべての特徴点に対して行われる。
(グルーピング動作)
図6は、グルーピング動作を説明する図である。図6を参照しながら、グルーピング部108のグルーピング動作の詳細について説明する。
図6は、グルーピング動作を説明する図である。図6を参照しながら、グルーピング部108のグルーピング動作の詳細について説明する。
図4および5で上述したように、特徴点の追跡動作の結果、決定部107によって、追跡点が決定され、その追跡点に対応するオプティカルフローが求められる。このオプティカルフローの長さは、画像処理装置1に近い追跡点ほど長く、遠い追跡点ほど短くなり、オプティカルフローの位置によって向きも異なる。また、撮像されたフレームに動物体(対向車線を走る車または歩いている人等)が存在する場合、静止物体とは異なるベクトルとなる場合が多い。そのため、オクルージョンが発生した際に追跡点を予測するためには、上述したように、例えば、追跡点を予測したい特徴点の近傍にある特徴点に対応する、確定したオプティカルフローを利用するというのみでは、上述したように遠近によるオプティカルフローの長さの相違、または、動物体についてのオプティカルフローの向きの違い等が影響し、誤った追跡点の予測をしてしまう可能性がある。
この誤った追跡点の予測を回避するため、画像処理装置1は、オプティカルフローの長さおよび向きに基づいて、追跡点のグループ分けを行い、同じグループ内のオプティカルフローを用いて追跡点を予測する。以下、オプティカルフローの長さおよび向きに基づいて追跡点のグループ分けを行うグルーピング動作について説明する。ここで、説明を簡略にするため、図6に示すフレームには、静止物体のみが写っているものとする。
図6(a)に示すフレーム220は、画像処理装置1により撮像されたフレーム(n枚目のフレーム)の一例である。ここで、画像処理装置1を搭載した車両50は、直進しているものとする。図6(b)に示すフレーム221は、フレーム220の次のフレーム((n+1)枚目のフレーム)である。
図6(a)に示すフレーム220では、特徴点抽出部103によって、特徴点321〜324がそれぞれ抽出されているものとする。そして、図6(b)に示すフレーム221では、決定部107によって、特徴点321〜324それぞれの追跡結果としての追跡点として、追跡点325〜328が決定されているものとする。また、決定部107によって、追跡点325〜328にそれぞれ対応するオプティカルフロー621〜624が求められているものとする。ここで、オプティカルフロー621〜624は、フレーム221において、n枚目のフレームであるフレーム220の特徴点321〜324のそれぞれの位置に対応する対応点421〜424から、追跡点325〜328にそれぞれ向かうベクトルとして求められる。
グルーピング部108は、オプティカルフロー621およびオプティカルフロー622が、長さおよび向きがほぼ等しいため、それぞれに対応する追跡点325および追跡点326を同じグループ(グループ1001)にグループ分けする。また、グルーピング部108は、オプティカルフロー623が、オプティカルフロー621、622と比較して、向きは近似しているものの、長さが異なるため、オプティカルフロー623に対応する追跡点327を、グループ1001とは異なるグループ1002にグループ分けする。また、グルーピング部108は、オプティカルフロー624が、オプティカルフロー621、622と比較して、向きが異なり、オプティカルフロー623と比較して、長さが異なるため、オプティカルフロー624に対応する追跡点328を、グループ1001、1002とは異なるグループ1003にグループ分けする。そして、グルーピング部108は、グループ分けの結果、どの追跡点がどのグループに属するかというグループ情報を第3記憶部113に記憶させる。なお、オプティカルフローが等しいか否かを決める方法としては、例えば、オプティカルフロー同士の長さの差、および向き(角度)の差に対する閾値判定を行うものとすればよい。
以上のように、オプティカルフローの長さおよび向きに基づいて、追跡点のグループ分けを行い、同じグループ内のオプティカルフローを用いて追跡点を予測することによって、予測の精度を向上させることができる。
(追跡点の予測動作の詳細)
図7は、追跡点の予測動作を説明する図である。図7を参照しながら、追跡点予測部105による追跡点の予測動作の詳細について説明する。
図7は、追跡点の予測動作を説明する図である。図7を参照しながら、追跡点予測部105による追跡点の予測動作の詳細について説明する。
図7に示す物体930、931は、共に同じ物体を示しており、物体930は、n枚目のフレームに写っている物体であり、物体931は、(n+1)枚目のフレームに写っている物体であるものとする。また、画像処理装置1を搭載した車両50は、図7に示す矢印1100の方向に直進しているものとする。また、n枚目のフレームの物体930における特徴点のうちの一部に対する追跡結果としての追跡点は、決定部107によって決定されているものとする。具体的には、決定部107は、物体930における特徴点のうちの一部に対して、(n+1)枚目のフレームにおいて、追跡点331〜333が追跡結果としての追跡点として決定しているものとする。そして、決定部107は、(n+1)枚目のフレームにおいて、n枚目のフレームの各特徴点の位置に対応する点である対応点431〜433から、それぞれ追跡点331〜333に向かうベクトルを、追跡点331〜333にそれぞれ対応するオプティカルフロー631〜633として求めているものとする。すなわち、オプティカルフロー631〜633は、それぞれ、確定したオプティカルフローである。
また、n枚目のフレームの物体930における特徴点のうち一点については、ワイパー910によるオクルージョンが発生しているものとする。また、(n+1)枚目のフレームにおいて、このn枚目のフレームの物体930における特徴点のうち一点の位置に対応する点を、対応点434とする。また、対応点431〜434に対応するn枚目のフレームにおける特徴点(追跡点)は、グルーピング部108によって同じグループにグループ分けされているものとする。
このとき、追跡点予測部105は、既に確定しているオプティカルフロー631〜633を利用して、n枚目のフレームにおける対応点434に対応する特徴点が、(n+1)枚目のフレームにおいてどの位置に移動しているかを予測する。すなわち、追跡点予測部105は、対応点434に対応する特徴点の、(n+1)枚目のフレームにおける追跡点を予測するために、この特徴点と同じグループに属する特徴点(対応点431〜433に対応するn枚目のフレームにおける特徴点)に対する追跡結果としての追跡点331〜333にそれぞれ対応するオプティカルフロー631〜633を利用する。具体的には、まず、追跡点予測部105は、例えば、以下の(式1)によって、ベクトル664を求める。
v=(v1+v2+v3)/3 ・・・(式1)
(式1)におけるベクトルv1は、オプティカルフロー631であり、ベクトルv2は、オプティカルフロー632であり、ベクトルv3は、オプティカルフロー633である。また、(式1)におけるベクトルvが、ベクトル664である。そして、追跡点予測部105は、(n+1)枚目のフレームにおいて、対応点434から、(式1)で求めたベクトル664によって指し示される点を、対応点434に対応する特徴点についての予測した追跡点である予測点534とする。以上の動作によって、追跡点予測部105は、各特徴点についての予測される追跡点(予測点)を求める。
なお、図7では、オクルージョンが発生した特徴点についての追跡点予測動作について説明したが、後述するように、追跡点の予測動作は、特徴点抽出部103により抽出されたすべての特徴点に対して行われる。
(特徴点の追跡動作の流れ)
図8は、実施の形態に係る画像処理装置の追跡画像処理の動作の一例を示すフローチャートである。図9は、テーブルの構成の一例を示す図である。図8および9を参照しながら、画像処理装置1の追跡画像処理のうち、特徴点の追跡動作の流れを総括的に説明する。なお、予め、n枚目のフレームにおいて特徴点が抽出されているものとする。
図8は、実施の形態に係る画像処理装置の追跡画像処理の動作の一例を示すフローチャートである。図9は、テーブルの構成の一例を示す図である。図8および9を参照しながら、画像処理装置1の追跡画像処理のうち、特徴点の追跡動作の流れを総括的に説明する。なお、予め、n枚目のフレームにおいて特徴点が抽出されているものとする。
<ステップS11>
追跡点探索部104は、第3記憶部113から、n枚目のフレームのそれぞれの特徴点に対応するテンプレートを読み出す。なお、n枚目のフレームの特徴点は、(n−1)枚目のフレームの特徴点について、n枚目のフレームでの追跡結果としての追跡点と換言してもよい。そして、ステップS12へ移行する。
追跡点探索部104は、第3記憶部113から、n枚目のフレームのそれぞれの特徴点に対応するテンプレートを読み出す。なお、n枚目のフレームの特徴点は、(n−1)枚目のフレームの特徴点について、n枚目のフレームでの追跡結果としての追跡点と換言してもよい。そして、ステップS12へ移行する。
<ステップS12>
追跡点探索部104は、(n+1)枚目のフレームにおいて、各特徴点に対応するテンプレートにそれぞれ一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+1)枚目のフレームにおいて、各テンプレートに一致する画像の中心点を、探索した追跡点とする。そして、追跡点探索部104は、探索した各追跡点の座標情報を探索結果情報として判定部106に送る。そして、ステップS14の処理が終了するのを確認して、ステップS15へ移行する。
追跡点探索部104は、(n+1)枚目のフレームにおいて、各特徴点に対応するテンプレートにそれぞれ一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+1)枚目のフレームにおいて、各テンプレートに一致する画像の中心点を、探索した追跡点とする。そして、追跡点探索部104は、探索した各追跡点の座標情報を探索結果情報として判定部106に送る。そして、ステップS14の処理が終了するのを確認して、ステップS15へ移行する。
<ステップS13>
ステップS11、12における追跡点探索部104のブロックマッチング動作に並行して、追跡点予測部105は、特定の特徴点について予測される追跡点を求めるために、第3記憶部113から、特定の特徴点と同じグループの特徴点に対応する(n+1)枚目のフレームでの確定したオプティカルフローの情報(追跡結果情報の一部)を読み出す。追跡点予測部105は、特定の特徴点と、同じグループの特徴点を見つけるために、例えば、図9(a)に示す第3記憶部113に記憶された追跡結果テーブル2000を参照する。
ステップS11、12における追跡点探索部104のブロックマッチング動作に並行して、追跡点予測部105は、特定の特徴点について予測される追跡点を求めるために、第3記憶部113から、特定の特徴点と同じグループの特徴点に対応する(n+1)枚目のフレームでの確定したオプティカルフローの情報(追跡結果情報の一部)を読み出す。追跡点予測部105は、特定の特徴点と、同じグループの特徴点を見つけるために、例えば、図9(a)に示す第3記憶部113に記憶された追跡結果テーブル2000を参照する。
ここで、追跡結果テーブル2000は、図9(a)に示すように、追跡IDと、X座標と、Y座標と、グループIDと、テンプレートと、追跡回数と、を関連付けるテーブルである。追跡IDは、決定部107により決定された追跡点(追跡結果としての追跡点)を一意に識別する情報である。X座標およびY座標は、決定部107により決定された追跡点のフレームでの位置を示す座標情報である。グループIDは、グルーピング部108により追跡点についてグループ分けされたグループを一意に識別する情報である。テンプレートは、追跡点探索部104によるブロックマッチング動作に使用される、追跡IDで識別される特徴点または追跡点の周辺画素で構成された画像の画素値である。追跡回数は、追跡IDで識別される追跡点が何度追跡されたかを示す回数である。なお、図9(a)では、追跡IDと、X座標と、Y座標と、グループIDと、テンプレートと、追跡回数と、を関連付ける情報として、テーブル形式の追跡結果テーブル2000を示したが、これに限定されるものではなく、これらの情報を関連付ける情報であれば、どのような形式であってもよい。また、追跡結果テーブル2000は、さらに、追跡IDに関連付けて、確定したオプティカルフローの情報を含むものとしてもよい。
そして、ステップS14へ移行する。
<ステップS14>
追跡点予測部105は、第3記憶部113から読み出した、特定の特徴点と同じグループの特徴点に対応する(n+1)枚目のフレームでの確定したオプティカルフローに基づいて、特定の特徴点について予測した追跡点である予測点を求める。追跡点予測部105は、(n+1)枚目のフレームにおいて予測した追跡点(予測点)の座標情報を予測結果情報として判定部106に送る。そして、ステップS12の処理が終了するのを確認して、ステップS15へ移行する。
追跡点予測部105は、第3記憶部113から読み出した、特定の特徴点と同じグループの特徴点に対応する(n+1)枚目のフレームでの確定したオプティカルフローに基づいて、特定の特徴点について予測した追跡点である予測点を求める。追跡点予測部105は、(n+1)枚目のフレームにおいて予測した追跡点(予測点)の座標情報を予測結果情報として判定部106に送る。そして、ステップS12の処理が終了するのを確認して、ステップS15へ移行する。
<ステップS15>
判定部106は、追跡点探索部104から受け取った探索結果情報、および追跡点予測部105から受け取った予測結果情報に基づき、探索した追跡点の座標と、予測した追跡点(予測点)の座標との差(距離)が所定値より大きいか否かを判定する。差(距離)が所定値以下である場合(ステップS15:Yes)、判定部106によりオクルージョンがないものと判定され、ステップS16へ移行し、所定値より大きい場合(ステップS15:No)、判定部106によりオクルージョンが発生したものと判定され、ステップS19へ移行する。
判定部106は、追跡点探索部104から受け取った探索結果情報、および追跡点予測部105から受け取った予測結果情報に基づき、探索した追跡点の座標と、予測した追跡点(予測点)の座標との差(距離)が所定値より大きいか否かを判定する。差(距離)が所定値以下である場合(ステップS15:Yes)、判定部106によりオクルージョンがないものと判定され、ステップS16へ移行し、所定値より大きい場合(ステップS15:No)、判定部106によりオクルージョンが発生したものと判定され、ステップS19へ移行する。
<ステップS16>
決定部107は、判定部106によりオクルージョンがないと判定された場合、追跡点探索部104により探索された追跡点を、追跡結果としての追跡点として決定する。そして、決定部107は、(n+1)枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第3記憶部113に記憶させる。そして、ステップS17へ移行する。
決定部107は、判定部106によりオクルージョンがないと判定された場合、追跡点探索部104により探索された追跡点を、追跡結果としての追跡点として決定する。そして、決定部107は、(n+1)枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第3記憶部113に記憶させる。そして、ステップS17へ移行する。
<ステップS17>
決定部107は、追跡点探索部104により追跡点の探索に用いたテンプレートを、(n+1)枚目のフレームにおいてテンプレートに一致する画像で更新し、第3記憶部113に記憶させる。具体的には、決定部107は、第3記憶部113に記憶された追跡結果テーブル2000において、決定した追跡点を識別する追跡IDに関連付けられたテンプレートを、(n+1)枚目のフレームにおいてテンプレートに一致する画像の画素値で更新する。そして、ステップS18へ移行する。
決定部107は、追跡点探索部104により追跡点の探索に用いたテンプレートを、(n+1)枚目のフレームにおいてテンプレートに一致する画像で更新し、第3記憶部113に記憶させる。具体的には、決定部107は、第3記憶部113に記憶された追跡結果テーブル2000において、決定した追跡点を識別する追跡IDに関連付けられたテンプレートを、(n+1)枚目のフレームにおいてテンプレートに一致する画像の画素値で更新する。そして、ステップS18へ移行する。
<ステップS18>
グルーピング部108は、決定部107により決定された各追跡点に対応するオプティカルフローの長さおよび向きに基づいて、それぞれの追跡点をグループ分けする。そして、グルーピング部108は、グループ分けの結果、どの追跡点がどのグループに属するかというグループ情報を第3記憶部113に記憶させる。具体的には、グルーピング部108は、第3記憶部113に記憶された追跡結果テーブル2000において、決定部107により決定された追跡点に関連付けられたグループIDを、グループ分けの結果に応じたグループIDに更新する。そして、ステップS20へ移行する。
グルーピング部108は、決定部107により決定された各追跡点に対応するオプティカルフローの長さおよび向きに基づいて、それぞれの追跡点をグループ分けする。そして、グルーピング部108は、グループ分けの結果、どの追跡点がどのグループに属するかというグループ情報を第3記憶部113に記憶させる。具体的には、グルーピング部108は、第3記憶部113に記憶された追跡結果テーブル2000において、決定部107により決定された追跡点に関連付けられたグループIDを、グループ分けの結果に応じたグループIDに更新する。そして、ステップS20へ移行する。
<ステップS19>
決定部107は、判定部106によりオクルージョンが発生したと判定された場合、追跡点予測部105により予測された追跡点(予測点)を、追跡結果としての追跡点として決定する。そして、決定部107は、(n+1)枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第3記憶部113に記憶させる。そして、ステップS18へ移行する。
決定部107は、判定部106によりオクルージョンが発生したと判定された場合、追跡点予測部105により予測された追跡点(予測点)を、追跡結果としての追跡点として決定する。そして、決定部107は、(n+1)枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第3記憶部113に記憶させる。そして、ステップS18へ移行する。
<ステップS20>
決定部107は、決定した追跡点の座標情報を追跡結果情報として、第3記憶部113に記憶させる。具体的には、決定部107は、第3記憶部113に記憶された追跡結果テーブル2000において、決定した追跡点に関連付けられたX座標およびY座標を更新する。さらに、決定部107は、追跡結果テーブル2000において、決定した追跡点に関連付けられた追跡回数を1だけ増加させる。また、決定部107は、グルーピング部108によりグループ分けされたことにより、同じグループに属する各追跡点に対応するオプティカルフローの平均を、図9(b)に示す、第3記憶部113に記憶されたグループテーブル2100に記憶させる。
決定部107は、決定した追跡点の座標情報を追跡結果情報として、第3記憶部113に記憶させる。具体的には、決定部107は、第3記憶部113に記憶された追跡結果テーブル2000において、決定した追跡点に関連付けられたX座標およびY座標を更新する。さらに、決定部107は、追跡結果テーブル2000において、決定した追跡点に関連付けられた追跡回数を1だけ増加させる。また、決定部107は、グルーピング部108によりグループ分けされたことにより、同じグループに属する各追跡点に対応するオプティカルフローの平均を、図9(b)に示す、第3記憶部113に記憶されたグループテーブル2100に記憶させる。
ここで、グループテーブル2100は、図9(b)に示すように、グループIDと、X値と、Y値と、向きと、を関連付けるテーブルである。グループIDは、上述の通りである。X値およびY値は、グループIDにより識別されるグループに属する各追跡点に対応するオプティカルフローの平均のベクトルのX方向およびY方向の絶対値である。向きは、オプティカルフローの平均のベクトルの向きを識別する情報である。例えば、向きが「00」の場合、右上を示し、「01」の場合、左上を示すというように識別する。なお、図9(b)では、グループIDと、X値と、Y値と、向きと、を関連付ける情報として、テーブル形式のグループテーブル2100を示したが、これに限定されるものではなく、これらの情報を関連付ける情報であれば、どのような形式であってもよい。
以上のステップS11〜S20で示される特徴点の追跡動作が繰り返されることによって、継続的に、特徴点(追跡点)の追跡が行われる。
(特徴点の追跡動作におけるテンプレートの更新)
図10は、車両が直進している場合の特徴点の追跡動作におけるテンプレートについて説明する図である。図11は、車両が左折する場合の特徴点の追跡動作におけるテンプレートについて説明する図である。
図10は、車両が直進している場合の特徴点の追跡動作におけるテンプレートについて説明する図である。図11は、車両が左折する場合の特徴点の追跡動作におけるテンプレートについて説明する図である。
まず、図10を参照しながら、画像処理装置1を搭載した車両50が直進している場合の特徴点の追跡動作におけるテンプレートの更新について説明する。図10に示す物体940〜942は、共に同じ物体を示しており、物体940は、n枚目のフレームに写っている物体であり、物体941は、(n+1)枚目のフレームに写っている物体であり、物体942は、(n+2)枚目のフレームに写っている物体であるものとする。また、画像処理装置1を搭載した車両50は、図10に示す矢印1101の方向に直進しているものとする。まず、n枚目のフレームにおける特徴点抽出部103により抽出された特徴点を中心とするテンプレート740、745が、第3記憶部113に記憶されているものとする。
追跡点探索部104は、第3記憶部113からテンプレート740を読み出し、(n+1)枚目のフレームにおいて、テンプレート740と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+1)枚目のフレームにおいて、テンプレート740と一致する画像として探索領域841の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域841の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート740を、探索領域841の画像で更新し、テンプレート741として第3記憶部113に記憶させる。
同様に、追跡点探索部104は、第3記憶部113からテンプレート741を読み出し、(n+2)枚目のフレームにおいて、テンプレート741と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+2)枚目のフレームにおいて、テンプレート741と一致する画像として探索領域842の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域842の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート741を、探索領域842の画像で更新し、テンプレート742として第3記憶部113に記憶させる。
また、追跡点探索部104は、第3記憶部113からテンプレート745を読み出し、(n+1)枚目のフレームにおいて、テンプレート745と一致する画像を、ブロックマッチング動作により探索する。ここで、テンプレート745に対応する特徴点に対してオクルージョン発生部分946でオクルージョンが発生したため、決定部107は、追跡点予測部105により予測された追跡点である予測点546を、追跡結果としての追跡点として決定する。この場合、決定部107は、第3記憶部113に記憶されたテンプレート745の更新は行わず、保持する。
そして、追跡点探索部104は、第3記憶部113から保持されているテンプレート745を読み出し、(n+2)枚目のフレームにおいて、テンプレート745と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+2)枚目のフレームにおいて、テンプレート745と一致する画像として探索領域847の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域847の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート745を、探索領域847の画像で更新し、テンプレート747として第3記憶部113に記憶させる。
なお、上述では、(n+1)枚目のフレームにおいてオクルージョンが発生した例を示したが、複数のフレームにわたって同一の特徴点(追跡点)に対して連続してオクルージョンが発生した場合、決定部107は、強制的に第3記憶部113に記憶されたテンプレートを更新するものとしてもよい。この場合、強制的にテンプレートを更新するか否かは、オクルージョンの連続発生回数が所定回数以上となったか否かで判定するものとすればよい。また、強制的に更新するテンプレートの例としては、オクルージョンが発生した場合において追跡点探索部104により探索された探索領域の画像、または、追跡点予測部105により予測された追跡点を中心とする画像等が挙げられる。
次に、図11を参照しながら、画像処理装置1を搭載した車両50が左折した場合を例にして、特徴点の追跡動作におけるテンプレートの更新について説明する。図11に示す物体950〜952は、共に同じ物体を示しており、物体950は、n枚目のフレームに写っている物体であり、物体951は、(n+1)枚目のフレームに写っている物体であり、物体952は、(n+2)枚目のフレームに写っている物体であるものとする。また、画像処理装置1を搭載した車両50は、図11に示す矢印1102の方向に左折するものとする。まず、n枚目のフレームにおける特徴点抽出部103により抽出された特徴点を中心とするテンプレート750、755が、第3記憶部113に記憶されているものとする。
追跡点探索部104は、第3記憶部113からテンプレート750を読み出し、(n+1)枚目のフレームにおいて、テンプレート750と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+1)枚目のフレームにおいて、テンプレート750と一致する画像として探索領域851の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域851の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート750を、探索領域851の画像で更新し、テンプレート751として第3記憶部113に記憶させる。
同様に、追跡点探索部104は、第3記憶部113からテンプレート751を読み出し、(n+2)枚目のフレームにおいて、テンプレート751と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+2)枚目のフレームにおいて、テンプレート751と一致する画像として探索領域852の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域852の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート751を、探索領域852の画像で更新し、テンプレート752として第3記憶部113に記憶させる。
また、追跡点探索部104は、第3記憶部113からテンプレート755を読み出し、(n+1)枚目のフレームにおいて、テンプレート755と一致する画像を、ブロックマッチング動作により探索する。ここで、テンプレート755に対応する特徴点に対してオクルージョン発生部分956でオクルージョンが発生したため、決定部107は、追跡点予測部105により予測された追跡点である予測点556を、追跡結果としての追跡点として決定する。この場合、決定部107は、第3記憶部113に記憶されたテンプレート755の更新は行わず、保持する。
そして、追跡点探索部104は、第3記憶部113から保持されているテンプレート755を読み出し、(n+2)枚目のフレームにおいて、テンプレート755と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部104は、探索の結果、(n+2)枚目のフレームにおいて、テンプレート755と一致する画像として探索領域857の画像を探索したものとする。そして、決定部107は、追跡点探索部104により探索された探索領域857の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部107は、テンプレート755を、探索領域857の画像で更新し、テンプレート757として第3記憶部113に記憶させる。
なお、上述では、(n+1)枚目のフレームにおいてオクルージョンが発生した例を示したが、複数のフレームにわたって同一の特徴点(追跡点)に対して連続してオクルージョンが発生した場合、決定部107は、強制的に第3記憶部113に記憶されたテンプレートを更新するものとしてもよい。この場合、強制的にテンプレートを更新するか否かは、オクルージョンの連続発生回数が所定回数以上となったか否かで判定するものとすればよい。また、強制的に更新するテンプレートの例としては、オクルージョンが発生した場合において追跡点探索部104により探索された探索領域の画像、または、追跡点予測部105により予測された追跡点を中心とする画像等が挙げられる。また、強制的に更新するか否かを、オクルージョンの連続発生回数に基づいて閾値判定する場合、車両50が右左折する場合の閾値は、車両50が直進している場合の閾値よりも小さくするものとしてもよい。これによって、テンプレートを強制的に更新する頻度について、車両50が直進する場合よりも、車両50が右左折する場合の頻度を多くすることができ、オクルージョンが連続した場合の、特徴点の追跡動作についてのロバスト性を向上させることができる。
また、上述のように車両50が右左折する場合は、フレームに写っている物体の動きが激しくなる傾向があるため、特徴点にオクルージョンが発生していなくても、追跡点探索部104により特徴点を探索できない場合がある。例えば、車両50が右左折していることにより、(n+1)枚目のフレームにおいて、追跡点探索部104によりテンプレート755と一致する画像が探索できなかった場合、決定部107によって、追跡結果としての追跡点として決定された予測点556を中心とする画像によって、テンプレート755が強制的に更新されるものとしてもよい。
以上のように、判定部106は、追跡点探索部104から受け取った探索結果情報、および追跡点予測部105から受け取った予測結果情報に基づき、オクルージョンが発生したか否かを判定するものとしている。そして、決定部107は、判定部106によりオクルージョンがないと判定された場合、追跡点探索部104により探索された追跡点を、追跡結果としての追跡点として決定し、オクルージョンが発生したと判定された場合、追跡点予測部105により予測された追跡点(予測点)を、追跡結果としての追跡点として決定するものとしている。これによって、オクルージョンが発生した場合においても、オクルージョンが発生した部分で追跡点を予測して、追跡を継続することができる。
なお、上述の実施形態では、画像処理装置1が単眼のカメラ装置であるものとして説明したが、これに限定されるものではなく、画像処理装置1は、例えば、2つのカメラを備えるステレオカメラであってもよい。この場合、2つのカメラのうち一方のカメラで撮像したフレームについて、上述の追跡画像処理を実行するものとすればよい。
なお、上述の画像補正部102、特徴点抽出部103、追跡点探索部104、追跡点予測部105、判定部106、決定部107、およびグルーピング部108のうち少なくともいずれかがプログラムで実現される場合、画像処理装置1で実行されるそのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−RまたはDVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供される。
また、上述の実施の形態に係る画像処理装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態に係る画像処理装置1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
また、上述の実施の形態に係る画像処理装置1で実行されるプログラムは、上述した画像補正部102、特徴点抽出部103、追跡点探索部104、追跡点予測部105、判定部106、決定部107、およびグルーピング部108のうち少なくともいずれかを含むモジュール構成となっていてもよく、実際のハードウェアとしてはCPU32が上述の記憶媒体からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
1 画像処理装置
2 本体部
10 撮像装置
11 撮像レンズ
12 絞り
13 画像センサ
20 信号変換装置
21 CDS
22 AGC
23 ADC
24 フレームメモリ
30 追跡処理装置
31 FPGA
32 CPU
33 ROM
34 RAM
35 I/F
39 バスライン
50 車両
101 画像取得部
102 画像補正部
103 特徴点抽出部
104 追跡点探索部
105 追跡点予測部
106 判定部
107 決定部
108 グルーピング部
111 第1記憶部
112 第2記憶部
113 第3記憶部
200〜202 フレーム
203 説明図
210〜212 フレーム
213、214 説明図
220、221 フレーム
301、302 特徴点
305、306 追跡点
311〜313 特徴点
315、316、316a、317 追跡点
321〜324 特徴点
325〜328 追跡点
331〜333 追跡点
401、402 対応点
411〜413 対応点
421〜424 対応点
431〜434 対応点
512 予測点
534 予測点
546 予測点
556 予測点
601、602 オプティカルフロー
611〜613 オプティカルフロー
621〜624 オプティカルフロー
631〜633 オプティカルフロー
652 ベクトル
664 ベクトル
701、702 テンプレート
711〜713 テンプレート
740〜742 テンプレート
745、747 テンプレート
750〜752 テンプレート
755、757 テンプレート
801、802 探索領域
811〜813 探索領域
841、842、847 探索領域
851、852、857 探索領域
901、902 物体
910 ワイパー
930、931 物体
940〜942 物体
946 オクルージョン発生部分
950〜952 物体
956 オクルージョン発生部分
1001〜1003 グループ
1100〜1102 矢印
2000 追跡結果テーブル
2100 グループテーブル
2 本体部
10 撮像装置
11 撮像レンズ
12 絞り
13 画像センサ
20 信号変換装置
21 CDS
22 AGC
23 ADC
24 フレームメモリ
30 追跡処理装置
31 FPGA
32 CPU
33 ROM
34 RAM
35 I/F
39 バスライン
50 車両
101 画像取得部
102 画像補正部
103 特徴点抽出部
104 追跡点探索部
105 追跡点予測部
106 判定部
107 決定部
108 グルーピング部
111 第1記憶部
112 第2記憶部
113 第3記憶部
200〜202 フレーム
203 説明図
210〜212 フレーム
213、214 説明図
220、221 フレーム
301、302 特徴点
305、306 追跡点
311〜313 特徴点
315、316、316a、317 追跡点
321〜324 特徴点
325〜328 追跡点
331〜333 追跡点
401、402 対応点
411〜413 対応点
421〜424 対応点
431〜434 対応点
512 予測点
534 予測点
546 予測点
556 予測点
601、602 オプティカルフロー
611〜613 オプティカルフロー
621〜624 オプティカルフロー
631〜633 オプティカルフロー
652 ベクトル
664 ベクトル
701、702 テンプレート
711〜713 テンプレート
740〜742 テンプレート
745、747 テンプレート
750〜752 テンプレート
755、757 テンプレート
801、802 探索領域
811〜813 探索領域
841、842、847 探索領域
851、852、857 探索領域
901、902 物体
910 ワイパー
930、931 物体
940〜942 物体
946 オクルージョン発生部分
950〜952 物体
956 オクルージョン発生部分
1001〜1003 グループ
1100〜1102 矢印
2000 追跡結果テーブル
2100 グループテーブル
Claims (10)
- 撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出手段と、
前記特徴点が写っている第1フレームの次のフレームである第2フレームで、該特徴点と一致する追跡点を探索する探索手段と、
前記第1フレームの前記特徴点が、前記第2フレームで追跡点としてどの位置にあるかを予測する予測手段と、
前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、
を備えた画像処理装置。 - 前記探索手段は、前記第2フレームで、追跡対象の前記特徴点に対応するテンプレート画像と一致する画像を探索することによって追跡点を探索する請求項1に記載の画像処理装置。
- テンプレート画像を記憶する記憶手段を、さらに備え、
前記決定手段は、前記探索された追跡点を、新たな特徴点として決定した場合、該探索された追跡点を中心とする所定範囲の画像で、前記記憶手段に記憶された該探索された追跡点を探索するのに用いたテンプレート画像を更新し、
前記探索手段は、追跡対象の前記特徴点に対応するテンプレート画像を前記記憶手段から読み出して、該特徴点の探索に利用する請求項2に記載の画像処理装置。 - 前記探索手段は、追跡対象の前記特徴点に対応するテンプレート画像と一致する画像を、前記第2フレームの所定範囲で探索する請求項2または3に記載の画像処理装置。
- 前記予測手段は、前記決定手段により決定された前記新たな特徴点に対応するオプティカルフローを用いて、前記第2フレームで、追跡対象の前記特徴点についての追跡点を予測する請求項1〜4のいずれか一項に記載の画像処理装置。
- 前記決定手段により決定された前記新たな特徴点に対応する前記オプティカルフローの長さおよび向きに基づいて、該新たな特徴点をグループに分類する分類手段を、さらに備え、
前記予測手段は、前記新たな特徴点が決定されてない追跡対象の前記特徴点と同じグループに分類された、前記決定手段により決定された前記新たな特徴点に対応する前記オプティカルフローを用いて、前記新たな特徴点が決定されてない追跡対象の前記特徴点についての追跡点を予測する請求項5に記載の画像処理装置。 - 前記決定手段は、前記判定手段により、同一の前記特徴点について、連続でオクルージョンがあると判定された回数が所定回数以上となった場合、前記予測手段により該特徴点について最後に予測された追跡点を中心とする所定範囲の画像で、前記記憶手段に記憶された該特徴点に対応するテンプレート画像を更新する請求項2〜4のいずれか一項に記載の画像処理装置。
- 画像処理装置を搭載した車両が直進していない場合の前記所定回数は、前記車両が直進している場合の前記所定回数よりも小さい請求項7に記載の画像処理装置。
- 撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出ステップと、
前記特徴点が写っている第1フレームの次のフレームである第2フレームで、該特徴点と一致する追跡点を探索する探索ステップと、
前記第1フレームの前記特徴点が、前記第2フレームで追跡点としてどの位置にあるかを予測する予測ステップと、
前記探索ステップで探索された追跡点の位置と、前記予測ステップで予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
オクルージョンがないと判定した場合、前記探索された追跡点を、新たな特徴点として決定し、オクルージョンがあると判定した場合、前記予測された追跡点を、新たな特徴点として決定する決定ステップと、
を有する画像処理方法。 - 撮像手段により撮像された映像の第1フレームにおいて、被写体の特徴点を抽出する抽出手段と、
前記特徴点が写っている第1フレームの次のフレームである第2フレームで、該特徴点と一致する追跡点を探索する探索手段と、
前記第1フレームの前記特徴点が、前記第2フレームで追跡点としてどの位置にあるかを予測する予測手段と、
前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、
をコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054476A JP2016173795A (ja) | 2015-03-18 | 2015-03-18 | 画像処理装置、画像処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054476A JP2016173795A (ja) | 2015-03-18 | 2015-03-18 | 画像処理装置、画像処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016173795A true JP2016173795A (ja) | 2016-09-29 |
Family
ID=57008230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015054476A Pending JP2016173795A (ja) | 2015-03-18 | 2015-03-18 | 画像処理装置、画像処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016173795A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783611A (zh) * | 2020-06-28 | 2020-10-16 | 北京百度网讯科技有限公司 | 无人车的定位方法、装置、无人车及存储介质 |
CN112991386A (zh) * | 2021-02-20 | 2021-06-18 | 浙江欣奕华智能科技有限公司 | 光流跟踪装置 |
CN113660443A (zh) * | 2020-05-12 | 2021-11-16 | 武汉Tcl集团工业研究院有限公司 | 一种视频插帧方法、终端以及存储介质 |
WO2021230157A1 (ja) * | 2020-05-15 | 2021-11-18 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
KR20220046524A (ko) * | 2021-06-03 | 2022-04-14 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 영상 데이터 보정 방법, 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램 및 자율 주행 차량 |
-
2015
- 2015-03-18 JP JP2015054476A patent/JP2016173795A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660443A (zh) * | 2020-05-12 | 2021-11-16 | 武汉Tcl集团工业研究院有限公司 | 一种视频插帧方法、终端以及存储介质 |
WO2021230157A1 (ja) * | 2020-05-15 | 2021-11-18 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
CN111783611A (zh) * | 2020-06-28 | 2020-10-16 | 北京百度网讯科技有限公司 | 无人车的定位方法、装置、无人车及存储介质 |
CN111783611B (zh) * | 2020-06-28 | 2023-12-29 | 阿波罗智能技术(北京)有限公司 | 无人车的定位方法、装置、无人车及存储介质 |
CN112991386A (zh) * | 2021-02-20 | 2021-06-18 | 浙江欣奕华智能科技有限公司 | 光流跟踪装置 |
KR20220046524A (ko) * | 2021-06-03 | 2022-04-14 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 영상 데이터 보정 방법, 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램 및 자율 주행 차량 |
KR102579124B1 (ko) * | 2021-06-03 | 2023-09-14 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 영상 데이터 보정 방법, 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램 및 자율 주행 차량 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102132248B1 (ko) | 촬상 장치를 제어하는 제어 장치, 제어 방법, 및 컴퓨터 판독가능 기억 매체 | |
JP6395506B2 (ja) | 画像処理装置および方法、プログラム、並びに撮像装置 | |
US10776946B2 (en) | Image processing device, object recognizing device, device control system, moving object, image processing method, and computer-readable medium | |
CN110248097B (zh) | 追焦方法、装置、终端设备、计算机可读存储介质 | |
US10104359B2 (en) | Disparity value deriving device, movable apparatus, robot, disparity value producing method, and computer program | |
JP6561512B2 (ja) | 視差値導出装置、移動体、ロボット、視差値導出方法、視差値生産方法及びプログラム | |
JP2016173795A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2016152027A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6660751B2 (ja) | 撮像装置 | |
US10863090B2 (en) | Control apparatus, image capturing apparatus, control method, and computer-readable storage medium | |
JP6589313B2 (ja) | 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム | |
JP2017219427A (ja) | 物体距離検出装置 | |
JP2015138319A (ja) | 物体検出装置、物体検出方法、および物体検出プログラム | |
JP2017151535A (ja) | 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム | |
JP6065629B2 (ja) | 物体検知装置 | |
JP6617150B2 (ja) | 物体検出方法及び物体検出装置 | |
JP2008026999A (ja) | 障害物検出システム、及び障害物検出方法 | |
JP7278846B2 (ja) | 物体位置検出装置、走行制御システム、および走行制御方法 | |
JP2018151999A (ja) | 物体距離検出装置 | |
JP2020201583A (ja) | 半導体装置、移動体装置および移動体装置の制御方法 | |
WO2017090097A1 (ja) | 車両用外界認識装置 | |
JP2008243111A (ja) | 画像処理装置および画像処理方法 | |
WO2017010314A1 (ja) | 撮像装置および撮像方法、並びにプログラム | |
KR101599434B1 (ko) | 자동 초점 조절을 이용한 영상촬상장치의 공간감지장치 및 공간감지방법 | |
JP2017041141A (ja) | 画像処理装置、画像処理方法及びプログラム |