(57)【要約】【課題】移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定する。【解決手段】移動体に設置された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出する抽出部と、第１エッジ画像及び／又は第２エッジ画像から、抽出部により抽出されたエッジを除去する除去部と、除去部により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行う照合部と、照合部により照合されたエッジ画像間のズレ量を用いて移動体の移動量を推定する推定部と、を備える。【選択図】図３
2014081874.tif 000002
【特許請求の範囲】
【請求項１】
移動体に設置された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、前記第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出する抽出部と、
前記第１エッジ画像及び／又は前記第２エッジ画像から、前記抽出部により抽出されたエッジを除去する除去部と、
前記除去部により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行う照合部と、
前記照合部により照合されたエッジ画像間のズレ量を用いて前記移動体の移動量を推定する推定部と、
を備える画像処理装置。
【請求項２】
前記第１エッジ画像のエッジのうち、前記抽出部により抽出されたエッジを含む第１エッジ群と、該第１エッジ群以外のエッジを含む第２エッジ群とで、異なる重み係数を含む重み画像を生成する重み画像生成部をさらに備え、
前記照合部は、
前記重み画像を用いて前記第１エッジ画像及び前記第２エッジ画像の一致度を求め、該一致度を用いて前記照合処理を行う請求項１記載の画像処理装置。
【請求項３】
前記第１エッジ画像及び前記第２エッジ画像の照合処理で対応が取れたエッジを含む第３エッジ画像を生成する対応エッジ画像生成部をさらに備え、
前記重み画像生成部は、
前記第２エッジ群のエッジ位置に対する第２重み係数と、前記第３エッジ画像のエッジのうち、前記第２エッジ群のエッジ以外のエッジ位置に対する第３重み係数と、前記第１エッジ群のエッジのうち、前記第２エッジ群及び前記第３エッジ画像のエッジ以外のエッジ位置に対する第１重み係数との関係を、前記第２重み係数＞前記第３重み係数＞前記第１重み係数に設定する請求項２記載の画像処理装置。
【請求項４】
複数の撮像部から撮像された各画像を用いて、上方から前記移動体を含む下面側を投影した画像を示す投影画像を生成する投影画像生成部をさらに備え、
前記抽出部は、
前記第１時刻の投影画像から抽出された第１エッジ画像と、前記第２時刻の投影画像から抽出された第２エッジ画像とを用いる請求項１乃至３いずれか一項に記載の画像処理装置。
【請求項５】
移動体に設置された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、前記第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出し、
前記第１エッジ画像及び／又は前記第２エッジ画像から、前記抽出されたエッジを除去する除去処理を行い、
前記除去処理により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行い、
前記照合処理により照合されたエッジ画像間のズレ量を用いて前記移動体の移動量を推定する
処理をコンピュータが実行する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像された画像を処理する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、例えば車両のような移動体にカメラを取り付け、路面を含む周囲画像を撮像して、路面上の模様の移動量から移動体である車両の移動量を計測する方法がある（例えば非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】滝本周平，伊藤崇晶，"車載カメラを用いた単眼測距検証システムの開発"，２００６年７月  ＳＥＩテクニカルレビュー・第１６９号、ｐ８２−８７
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、カメラで撮影した路面画像を、上方から見たトップビューに変換し、２時刻間でのトップビューの路面模様の移動量を用いて車両の移動量を求めている。トップビューは、路面に投影した画像であり、路面投影像とも称す。
【０００５】
図１は、従来技術の問題点を説明する図である。図１に示す例を用いると、まず、時刻１のトップビューの画像と、時刻２のトップビューの画像との照合処理が行われる。次に、パターンが最も一致するときの画像のズレ量から、移動体の移動量が推定される。
【０００６】
このとき、照明光（例えば太陽光）によって移動体の影が路面に映る場合を考える。理想的には、図１（ａ）に示すように、移動体の影に影響されずに、路面の模様のみで移動量が推定されるとよい。
【０００７】
しかし、従来技術の方法を用いると、実際には、移動体の影が時刻１と時刻２との時間差が小さい場合、図１（ｂ）に示すように、移動体の影部分で照合がとれてしまい、誤ったズレ量が推定されてしまう。
【０００８】
誤推定が起こる理由としては、移動体の影の形状はほとんど変わらず、移動体に対する影の相対的な位置もほとんど変化しないことから、移動体の影の形状が、路面の模様よりも一致性が高くなるからである。
【０００９】
よって、従来技術の方法では、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の影の影響により移動量を適切に推定することができなかった。
【００１０】
そこで、開示の技術では、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定することを目的とする。
【課題を解決するための手段】
【００１１】
開示の一態様における画像処理装置は、移動体に設置された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、前記第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出する抽出部と、前記第１エッジ画像及び／又は前記第２エッジ画像から、前記抽出部により抽出されたエッジを除去する除去部と、前記除去部により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行う照合部と、前記照合部により照合されたエッジ画像間のズレ量を用いて前記移動体の移動量を推定する推定部と、を備える。
【発明の効果】
【００１２】
開示の技術によれば、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定することができる。
【図面の簡単な説明】
【００１３】
【図１】従来技術の問題点を説明する図。
【図２】実施例１における画像処理システムの構成の一例を示すブロック図。
【図３】実施例１における画像処理装置の機能の一例を示すブロック図。
【図４】投影画像の一例を示す図。
【図５】微分処理の結果の一例を示す図。
【図６】実施例１における移動量推定を説明する図。
【図７】実施例１における画像処理の一例を示すフローチャート。
【図８】実施例１における影エッジ画像の生成処理の一例を示すフローチャート。
【図９】実施例１における非影エッジ画像の生成処理の一例を示すフローチャート。
【図１０】実施例２における画像処理装置の機能の一例を示すブロック図。
【図１１】実施例２における重み画像の生成を説明する図。
【図１２】実施例２における画像処理の一例を示すフローチャート。
【図１３】実施例２における重み画像生成処理の一例を示すフローチャート。
【図１４】実施例２における照合処理の一例を示すフローチャート。
【図１５】実施例３における画像処理装置の機能の一例を示すブロック図。
【図１６】実施例３における移動量推定を説明する図。
【図１７】実施例３における重み画像の生成を説明する図。
【図１８】実施例３における画像処理の一例を示すフローチャート。
【図１９】実施例３における対応エッジ画像の生成処理の一例を示すフローチャート。
【図２０】実施例３における重み画像生成処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面に基づいて各実施例を説明する。
【００１５】
［実施例１］
まず、実施例１における画像処理システム１の構成について説明する。画像処理システム１は、例えば、移動体としての車両に設置されたカメラと、車両に搭載された処理装置とを有する車載システムである。
【００１６】
＜構成＞
図２は、実施例１における画像処理システム１の構成の一例を示すブロック図である。図２に示す画像処理システム１は、画像処理装置１０と、撮像部２０とを有する。撮像部２０は、撮像部Ａ２０−１、撮像部Ｂ２０−２、撮像部Ｃ２０−３、撮像部Ｄ２０−４を有する。以下、各撮像部を区別しない場合は、各撮像部を総称して撮像部２０とも称する。撮像部Ａ２０−１は、例えばフロントカメラ、撮像部Ｂ２０−２は、例えばリアカメラ、撮像部Ｃ２０−３は、例えばライトカメラ、撮像部Ｄ２０−４は、例えばレフトカメラである。
【００１７】
撮像部２０は、移動体より下の下面（例えば路面）を含む周辺を撮像し、撮像画像を画像処理装置１０に出力する。なお、撮像部２０の数は、４つに限られず、少なくとも１つ以上あればよい。
【００１８】
画像処理装置１０は、撮像部２０から取得した撮像画像を用いて、移動体の移動量を推定する。このとき、画像処理装置１０は、撮像画像中に存在する移動体の影部分を推定し、影部分の影響を取り除くことで、移動量を適切に推定する。
【００１９】
また、画像処理装置１０は、制御部１１と、主記憶部１２と、補助記憶部１３と、通信部１４と、ドライブ装置１５と、撮像部Ｉ／Ｆ１６とを有する。これらの各部は、データ通信可能なように相互にデータバスを介して接続されている。
【００２０】
制御部１１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵ（Central Processing Unit）である。また、制御部１１は、主記憶部１２や補助記憶部１３に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２１】
主記憶部１２は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などである。主記憶部１２は、制御部１１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２２】
補助記憶部１３は、例えばＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部１３は、例えば撮像部２０から取得した画像を記憶する。
【００２３】
通信部１４は、有線又は無線で周辺機器とデータ通信を行う。通信部１４は、例えばネットワークを介して、画像を取得し、補助記憶部１３に記憶する。
【００２４】
ドライブ装置１５は、記録媒体３０、例えばフレキシブルディスクやＣＤ（Compact Disc）から、後述する画像処理プログラムを読み出し、記憶装置にインストールしてもよい。
【００２５】
また、記録媒体３０に、画像処理プログラムを格納し、この記録媒体３０に格納されたプログラムは、ドライブ装置１５を介して画像処理装置１０にインストールされる。インストールされた画像処理プログラムは、画像処理装置１０により実行可能となる。
【００２６】
撮像部Ｉ／Ｆ１６は、撮像部２０とのインタフェースであり、撮像部２０に対し、制御信号を送信したり、撮像部２０により撮像された画像を取得したりする。
【００２７】
なお、図示していないが、画像処理システム１は、撮像画像や処理された画像を表示する表示部を設けてもよい。
【００２８】
＜機能＞
図３は、実施例１における画像処理装置１０ａの機能の一例を示すブロック図である。以下、実施例１における画像処理装置１０の機能を説明する際は、画像処理装置１０ａと表記する。図３に示す画像処理装置１０ａは、入力部１０１と、投影画像生成部１０２と、第１画像ＤＢ（データベース）１０３と、抽出部１０４と、除去部１０５と、照合部１０６と、推定部１０７とを有する。
【００２９】
なお、入力部１０１は、例えば撮像部Ｉ／Ｆ１６により実現されうる。投影画像生成部１０２と、抽出部１０４と、除去部１０５と、照合部１０６と、推定部１０７とは、例えば画像処理プログラムを実行する制御部１１、及びワークメモリとしての主記憶部１２により実現されうる。第１画像ＤＢ１０３は、例えば主記憶部１２や補助記憶部１３により実現されうる。
【００３０】
入力部１０１は、移動体に設置し、路面を含む周辺を撮像する撮像部２０から撮像画像を入力する。また、入力部１０１は、アナログ画像ならばデジタル変換し、デジタル画像ならばデジタル画像を入力する。
【００３１】
また、入力部１０１は、カラー画像の場合はモノクロ画像に変換して、所定メモリ内に格納し、投影画像生成部１０２に出力する。なお、入力部１０１は、少なくとも１台（例えば撮像部Ａ２０−１）の撮像部２０から撮像画像を入力し、複数の撮像部２０が設置される場合は、各撮像部２０からの撮像画像を入力し、それぞれ所定のメモリ内に画像を格納する。
【００３２】
投影画像生成部１０２は、撮像部２０から撮像された各画像を用いて、上方から前記移動体を含む下面側を投影した画像を示す投影画像を生成する。例えば、投影画像生成部１０２は、路面を上方から見た場合に相当する投影画像（例えば濃淡画像）を生成する。投影画像生成部１０２は、生成した投影画像をエッジ画像生成部１２１に出力する。
【００３３】
ここで、投影画像の生成処理について説明する。
【００３４】
（路面投影像作成処理）
投影画像生成部１０２は、移動体に定めた移動体座標系Ｍ−ＸＹＺを設定する。ここでは、路面上に原点を取り、進行方向をＹ軸、横方向をＸ軸、路面から上方向をＺ軸とする。
【００３５】
このとき、路面座標系は、Ｏ−ＸＹとなる。移動体座標系で表したｍ番目の撮像部の取り付け位置は、Ｒｍ（回転行列）、Ｔｍ（並進ベクトル）で表される。投影画像の１画素の大きさに対する実路面でのサイズは、ＭＸ，ＭＹで表される。
【００３６】
また、投影画像の大きさは、ｗｘ、ｗｙで表され、投影画像の中心位置は、（ｃｘ、ｃｙ）で表される。ただし、ｈｘ＝ｗｘ／２、ｈｙ＝ｗｙ／２となる。このとき、投影画像の位置（ｘ、ｙ）に対する画素値ｖは、以下の式で与えられる。
ｖ＝ｐｍ（ｐｘ、ｐｙ）  ・・・式（１）
ｐｘ＝ｆｘ×ｒ×ｃｏｓ（φ）＋ｃｘ  ・・・式（２）
ｐｙ＝ｆｙ×ｒ×ｓｉｎ（φ）＋ｃｙ  ・・・式（３）
ｒ＝ｔａｎ（θ）  ・・・式（４）
θ＝ａｒｃｔａｎ（ｓｑｒｔ（ＱＸ＾２＋ＱＹ＾２）／ＱＺ）  ・・・式（５）
φ＝ａｒｃｔａｎ（ＱＸ／ＱＹ）  ・・・式（６）
ＱＶ＝（ＱＸ，ＱＹ，ＱＺ）＾Ｔ  ・・・式（７）
ＱＶ＝Ｒｍ＊（Ｕ−Ｔｍ）  ・・・式（８）
Ｕ＝（ＵＸ，ＵＹ，０）  ・・・式（９）
ＵＸ＝ＭＸ×（ｘ−ｈｘ）  ・・・式（１０）
ＵＹ＝ＭＹ×（ｙ−ｈｙ）  ・・・式（１１）
ただし、（ｆｘ、ｆｙ）は、撮像部２０の横方向と縦方向の焦点距離を表し、（ｃｘ、ｃｙ）は、画像中心画素位置を表し、ｐｍ（ｐｘ、ｐｙ）は、ｍ番目の撮像画像の位置（ｐｘ、ｐｙ）における画素値を表すものとする。
【００３７】
以上の式を用いることで、投影画像生成部１０２は、路面を映した投影画像を生成できる。図４は、投影画像の一例を示す図である。図４に示す投影画像は、上方から移動体５を含む路面側を映した画像に相当する。図４に示す例では、路面の模様ａ１１が投影画像に含まれる。この路面の模様ａ１１を用いて移動体５の移動量が推定される。
【００３８】
エッジ画像生成部１２１は、移動体に設置された少なくとも１つ以上の撮像部２０により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像とを生成する。第２時刻は、例えば第１時刻より後とする。
【００３９】
例えば、エッジ画像生成部１２１は、投影画像を取得し、投影画像についてのエッジ抽出を行い、エッジ画像を生成する。エッジ画像生成部１２１は、次の時刻での処理のために、エッジ画像を第１画像ＤＢ１０３に保存すると共に、抽出部１０４に出力する。
【００４０】
具体的には、エッジ画像生成部１２１は、投影画像に対して、例えばＳｏｂｅｌのような一般的な微分オペレータを作用させて、映像を生成する（Ｓｏｂｅｌオペレータについては、Ｏ'ＲＥＩＬＬＹ 詳解ＯｐｅｎＣＶなどを参照）。
【００４１】
エッジ画像生成部１２１は、微分処理の後に、予め定めた閾値と比較し、エッジ強度が閾値以上のエッジのみを残すノイズ除去処理を施す。これら微分処理によって、画像輝度が大きく変化する境界のエッジ画像が得られる。
【００４２】
図５は、微分処理の結果の一例を示す図である。図５に示す例では、投影画像ｉｍ１１に対し、微分処理を行い、閾値比較を行うことで、エッジ画像ｉｍ１２が生成される。
【００４３】
図３に戻り、第１画像ＤＢ１０３は、例えば、現時刻（例えば第２時刻）と１時刻前の時刻（例えば第１時刻）のエッジ画像を保存する。第１画像ＤＢ１０３は、現時刻のエッジ画像（例えば第２エッジ画像）が入力されると、１時刻前の一つ前の時刻のエッジ画像を破棄して、現時刻のエッジ画像と１時刻前の時刻のエッジ画像（第１エッジ画像）とを保存する。なお、以下では、１時刻前のエッジ画像をＥ１とし、現時刻のエッジ画像をＥ２とも表記する。
【００４４】
抽出部１０４は、第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）とを重ね合わせ、位置が重なるエッジを抽出する。例えば、抽出部１０４は、第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）とを第１ＤＢ１０３から入力し、第１エッジ画像と第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出し、影部分とみなす。抽出部１０４は、影部分とみなしたエッジを含む影エッジ画像（Ｅｓ）を生成する。抽出部１０４は、生成した影エッジ画像を除去部１０５に出力する。
【００４５】
除去部１０５は、第１エッジ画像及び／又は第２エッジ画像から、抽出部１０４により抽出されたエッジを除去する。例えば、除去部１０５は、第１エッジ画像から影エッジ画像を除去し、非影エッジ画像を生成する。除去部１０５は、生成した非影エッジ画像（Ｅｎｓ）を、照合部１０６に出力する。
【００４６】
照合部１０６は、除去部１０５により両方又はいずれか一方で影部分のエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行う。照合部１０６は、例えば、非影エッジ画像（Ｅｎｓ）と、第２エッジ画像（Ｅ２）とを摂動照合し、エッジパターンが最も一致する摂動量を算出する。この摂動量が、画像間のズレ量を表す。
【００４７】
具体的には、照合部１０６は、非影エッジ画像と第２エッジ画像を対象に、縦方向と、横方向にそれぞれ予め決められた量だけ画像を１画素ずつずらしていきながら、２つの画像間の一致度を算出する。縦方向と、横方向にそれぞれ予め決められた量だけ画像を１画素ずつずらす処理を、摂動とも称す。照合部１０６は、この一致度が最も高い摂動量をズレ量とする。
【００４８】
推定部１０７は、照合部１０６により照合されたエッジ画像間のズレ量を用いて移動体の移動量を推定する。例えば、推定部１０７は、最良の照合位置を与える最良摂動量（ｄｘｍ、ｄｙｍ）が定まると、投影画像での１画素が占める路面上での大きさを横ＷＸ，縦ＷＹとすると、移動量（ＭＸ，ＭＹ）を、次の式を用いて求める。
ＭＸ＝ｄｘｍ×ＷＸ  ・・・式（１２）
ＭＹ＝ｄｙｍ×ＷＹ  ・・・式（１３）
以上の構成、機能を有することで、移動体に設置された撮像部から撮像された画像を用いて移動量を推定する際、撮像画像に映りこんだ移動体の影の影響を除去して適切に移動量を推定することができる。
【００４９】
（具体例）
次に、実施例１における移動量推定の流れについて具体例を用いて説明する。図６は、実施例１における移動量推定を説明する図である。
【００５０】
ここで、前述したように、移動体の影は、短時間ではその形状はほぼ変化せず、また、その影の位置もほぼ変化しないことに着目する。よって、画像処理装置１０ａは、少なくとも２時刻のそれぞれの投影画像のエッジ画像を相対的な移動量を０にして重ね合わせ、エッジ位置が重なる箇所を移動体の影と推定する。
【００５１】
まず、投影画像生成部１０２は、時刻１の投影画像ｉｍ２１から、エッジ画像ｉｍ２２を生成する。また、投影画像生成部１０２は、同様にして、時刻２（時刻１＜時刻２）の投影画像ｉｍ３１から、エッジ画像ｉｍ３２を生成する。
【００５２】
次に、抽出部１０４は、エッジ画像ｉｍ２２とエッジ画像ｉｍ３２とを相対的な移動量を０にして重ね合わせ、エッジ位置が重なるエッジを抽出する。抽出されたエッジが移動体による影とみなされる。抽出部１０４は、抽出されたエッジを含む影エッジ画像ｉｍ４１を生成する。
【００５３】
次に、除去部１０５は、この例では、時刻１のエッジ画像ｉｍ２２から影エッジ画像ｉｍ４１を除去したエッジ画像ｉｍ４２を生成する。
【００５４】
次に、照合部１０６は、時刻２のエッジ画像ｉｍ３２とエッジ画像ｉｍ４２とを比較し、エッジパターンが最も一致する画像間のズレ量を求める。推定部１０７は、求められたズレ量を用いて移動体の移動量を推定する。
【００５５】
なお、エッジ画像ｉｍ４２の領域ａｒ２１と領域ａｒ２２とのエッジは、移動体の影であると誤認されてしまうが、その他のエッジパターンが残っているので、それほど問題とはならない。
【００５６】
＜動作＞
次に、実施例１における画像処理システム１の動作について説明する。図７は、実施例１における画像処理の一例を示すフローチャートである。図７に示す処理は、２枚目以降の画像を取得した場合の移動量推定処理である。１枚目の画像に対しては、ステップＳ１０３までの処理が行われる。
【００５７】
ステップＳ１０１で、入力部１０１は、各撮像部２０から撮像された画像を取得する。ステップＳ１０２で、投影画像生成部１０２は、例えば、各撮像部２０から撮像された画像を取得し、これらを変換しつつ合成することで路面を投影した画像に相当する投影画像を生成する。
【００５８】
ステップＳ１０３で、エッジ画像生成部１２１は、投影画像からエッジを抽出し、エッジ画像を生成する。
【００５９】
ステップＳ１０４で、抽出部１０４は、エッジ画像生成部１２１から取得した時刻２のエッジ画像と、第１画像ＤＢ１０３から取得した時刻１のエッジ画像とを重ね合わせ、エッジ位置が同じエッジを含む影エッジ画像を生成する。
【００６０】
ステップＳ１０５で、除去部１０５は、例えば時刻１のエッジ画像から影エッジ画像に含まれるエッジを除去する。影エッジ画像に含まれるエッジ部分は、移動体の影と推定されたエッジである。
【００６１】
ステップＳ１０６で、照合部１０６は、影が除去された時刻１のエッジ画像と、時刻２のエッジ画像とを用いて照合処理を行う。照合処理を行うことで、画像間のズレ量が求められる。
【００６２】
ステップＳ１０７で、推定部１０７は、照合部１０６から取得したズレ量を用いて移動体の移動量を推定する。
【００６３】
（影エッジ画像の生成処理）
図８は、実施例１における影エッジ画像の生成処理の一例を示すフローチャートである。図８に示す処理で用いるパラメータは、以下の通りである。
Ｅ１（ｘ，ｙ）：前時刻での路面投影エッジ画像（ｘ、ｙは画像内の画素位置を表す）
Ｅ２（ｘ，ｙ）：現時刻での路面投影エッジ画像（ｘ、ｙは画像内の画素位置を表す）
Ｅｓ（ｘ，ｙ）：前時刻の座標系における影エッジの有無を表すフラグ画像（ｘ，ｙは画像内の画素位置を、Ｅｓ（ｘ，ｙ）が１は、影エッジであることを表す）
ｔｈ１：エッジの存在を判定するための閾値で、一例としてｔｈ１＝１
図８に示すステップＳ２０１で、抽出部１０４は、Ｅｓを０に初期化する。ステップＳ２０２で、抽出部１０４は、変数ｉを０に設定する。変数ｉは、画像の縦方向の位置を示すパラメータである。
【００６４】
ステップＳ２０３で、抽出部１０４は、ｉがｗｙ以上であるか否かを判定する。ｗｙは、画像の縦方向の長さを表す。ｉ≧ｗｙであれば（ステップＳ２０３−ＹＥＳ）処理を終了し、ｉ＜ｗｙであれば（ステップＳ２０３−ＮＯ）ステップＳ２０４に進む。
【００６５】
ステップＳ２０４で、抽出部１０４は、変数ｊを０に設定する。変数ｊは、画像の横方向の位置を示すパラメータである。
【００６６】
ステップＳ２０５で、抽出部１０４は、ｊがｗｘ以上であるか否かを判定する。ｗｘは、画像の横方向の長さを表す。ｊ≧ｗｘであれば（ステップＳ２０５−ＹＥＳ）ステップＳ２０８に進み、ｊ＜ｗｘであれば（ステップＳ２０５−ＮＯ）ステップＳ２０６に進む。
【００６７】
ステップＳ２０６で、抽出部１０４は、次の条件（１）を満たすか否かを判定する。
Ｅ１（ｊ，ｉ）≧ｔｈ１かつ
Ｅ２（ｊ，ｉ）≧ｔｈ１      ・・・条件（１）
条件（１）が満たされれば（ステップＳ２０６−ＹＥＳ）ステップＳ２０７に進み、条件（１）が満たされなければ（ステップＳ２０６−ＮＯ）ステップＳ２０８に進む。
【００６８】
ステップＳ２０７で、抽出部１０４は、Ｅｓ（ｊ，ｉ）に１を代入する。ステップＳ２０８で、抽出部１０４は、ｊを１つインクリメントする。ステップＳ２０８の後、ステップＳ２０５に戻る。
【００６９】
ステップＳ２０９で、抽出部１０４は、ｉを１つインクリメントする。ステップＳ２０９の後、ステップＳ２０３に戻る。
【００７０】
以上の処理を行うことで、影とみなされるエッジを含む影エッジ画像（例えば図６の影エッジ画像ｉｍ４１）を生成することができる。
【００７１】
（非影エッジ画像の生成処理）
図９は、実施例１における非影エッジ画像の生成処理の一例を示すフローチャートである。図９に示す処理で用いる新たなパラメータは、以下の通りである。
Ｅｎｓ（ｘ，ｙ）：前時刻の座標系における非影エッジの有無を表すフラグ画像（ｘ，ｙは画像内の画素位置を、Ｅｎｓ（ｘ，ｙ）が１は、非影エッジであることを表す）
図９に示すステップＳ３０１で、除去部１０５は、Ｅｎｓを０に初期化する。ステップＳ３０２で、除去部１０５は、変数ｉを０に設定する。変数ｉは、画像の縦方向の位置を示すパラメータである。
【００７２】
ステップＳ３０３で、除去部１０５は、ｉがｗｙ以上であるか否かを判定する。ｗｙは、画像の縦方向の長さを表す。ｉ≧ｗｙであれば（ステップＳ３０３−ＹＥＳ）処理を終了し、ｉ＜ｗｙであれば（ステップＳ３０３−ＮＯ）ステップＳ３０４に進む。
【００７３】
ステップＳ３０４で、除去部１０５は、変数ｊを０に設定する。変数ｊは、画像の横方向の位置を示すパラメータである。
【００７４】
ステップＳ３０５で、除去部１０５は、ｊがｗｘ以上であるか否かを判定する。ｗｘは、画像の横方向の長さを表す。ｊ≧ｗｘであれば（ステップＳ３０５−ＹＥＳ）ステップＳ２０８に進み、ｊ＜ｗｘであれば（ステップＳ３０５−ＮＯ）ステップＳ３０６に進む。
【００７５】
ステップＳ３０６で、除去部１０５は、次の条件（２）を満たすか否かを判定する。
Ｅ１（ｊ，ｉ）≧ｔｈ１かつ
Ｅｓ（ｊ，ｉ）＝＝０      ・・・条件（２）
条件（２）が満たされれば（ステップＳ３０６−ＹＥＳ）ステップＳ３０７に進み、条件（２）が満たされなければ（ステップＳ３０６−ＮＯ）ステップＳ３０８に進む。
【００７６】
ステップＳ３０７で、除去部１０５は、Ｅｎｓ（ｊ，ｉ）に１を代入する。ステップＳ３０８で、除去部１０５は、ｊを１つインクリメントする。ステップＳ３０８の後、ステップＳ３０５に戻る。
【００７７】
ステップＳ３０９で、除去部１０５は、ｉを１つインクリメントする。ステップＳ３０９の後、ステップＳ３０３に戻る。
【００７８】
以上の処理を行うことで、影とみなされるエッジを含む影エッジ画像（例えば図６の非影エッジ画像ｉｍ４２）を生成することができる。なお、影エッジ画像と、非影エッジ画像との生成処理は、図８と図９とで分けて説明したが、１つの処理にまとめても良い。
【００７９】
以上、実施例１によれば、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定することができる。
【００８０】
［実施例２］
次に、実施例２における画像処理システムについて説明する。実施例２では、影部分と非影部分との重み係数を含む重み画像を生成することで、各部の影響を可変にすることができる。
【００８１】
＜構成＞
実施例２における画像処理システムの構成は、図２に示した実施例１における構成と同様であるため、同じ符号を用いる。
【００８２】
＜機能＞
図１０は、実施例２における画像処理装置１０ｂの機能の一例を示すブロック図である。以下、実施例２における画像処理装置１０の機能を説明する際は、画像処理装置１０ｂと表記する。図１０に示す画像処理装置１０ｂは、入力部１０１と、投影画像生成部１０２と、第１画像ＤＢ１０３と、抽出部１０４と、除去部１０５と、重み画像生成部２０１と、照合部２０２と、推定部１０７とを有する。以下、実施例１と異なる機能について主に説明する。
【００８３】
重み画像生成部２０１は、例えば画像処理プログラムを実行する制御部１１、及びワークメモリとしての主記憶部１２により実現されうる。
【００８４】
重み画像生成部２０１は、時刻１のエッジ画像（Ｅ１）のエッジのうち、抽出部１０４により抽出されたエッジを含む第１エッジ群と、第１エッジ群以外のエッジを含む第２エッジ群とで、異なる重み係数を含む重み画像を生成する。例えば、重み画像生成部２０１は、除去部１０５から影エッジ画像Ｅｓと、非影エッジ画像Ｅｎｓとを入力として、照合処理で使用するエッジの重み画像Ｗ（ｘ，ｙ）を生成する。
【００８５】
具体的には、重み画像生成部２０１は、非影エッジ画像で１の値を有する位置に、重み係数ｗ２を与え、影エッジ画像で１の値を有する位置に、重み係数ｗ１を与える。これにより、重み係数を含む重み画像が生成される。
【００８６】
照合部２０２は、重み画像Ｗを用いて時刻１の第１エッジ画像（Ｅ１）及び時刻２の第２エッジ画像（Ｅ２）の一致度を求め、この一致度を用いて照合処理を行う。例えば、照合部２０２は、第１画像ＤＢ１０３から第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）とを取得し、重み画像生成部２０１から取得した重み画像Ｗを用いてエッジ画像同士を摂動照合し、エッジパターンが最も一致する摂動量を算出する。推定部１０７は、実施例１と同様にして、この摂動量に基づいて移動体の移動量を推定する。
【００８７】
以上の構成、機能を有することで、実施例２における画像処理装置１０ｂは、影部分と非影部分との重み係数を含む重み画像を生成することで、各部の影響を可変にすることができる。
【００８８】
（重み画像）
次に、実施例２における重み画像Ｗについて説明する。図１１は、実施例２における重み画像の生成を説明する図である。図１１に示す例では、影エッジ画像（Ｅｓ）で１の値を有する位置に重み係数ｗ１が与えられ、非影エッジ画像（Ｅｎｓ）で１の値を有する位置に重み係数ｗ２が与えられると、重み画像Ｗが生成される。なお、ｗ２とｗ１との関係は、ｗ２＞ｗ１とする。これにより、影部分の影響を非影部分よりも小さくすることができる。
【００８９】
＜動作＞
次に、実施例２における画像処理システムの動作について説明する。図１２は、実施例２における画像処理の一例を示すフローチャートである。図１２に示す処理は、２枚目以降の画像を取得した場合の移動量推定処理である。１枚目の画像に対しては、ステップＳ４０３までの処理が行われる。
【００９０】
ステップＳ４０１〜Ｓ４０５の処理は、図７に示すステップＳ１０１〜Ｓ１０４の処理と同様である。
【００９１】
ステップＳ４０６で、重み画像生成部２０１は、影エッジ画像（Ｅｓ）と非影エッジ画像（Ｅｎｓ）とを用いて、影部分と、非影部分とで異なる重み係数を含む重み画像を生成する。
【００９２】
ステップＳ４０７で、照合部２０２は、第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）と、重み画像Ｗとを用いて照合処理を行う。照合処理を行うことで、画像間のズレ量が求められる。
【００９３】
ステップＳ４０８で、推定部１０７は、照合部２０２から取得したズレ量を用いて移動体の移動量を推定する。
【００９４】
（重み画像生成処理）
図１３は、実施例２における重み画像生成処理の一例を示すフローチャートである。図１３に示す処理で用いる新たなパラメータは、以下の通りである。
Ｗ（ｘ，ｙ）：重み係数を含む重み画像（ｘ，ｙは画像内の画素位置を表す）
図１３に示すステップＳ５０１で、重み画像生成部２０１は、重み画像Ｗ（ｘ，ｙ）を０に初期化する。ステップＳ５０２で、重み画像生成部２０１は、ｉを０に設定する。
【００９５】
ステップＳ５０３で、重み画像生成部２０１は、ｉがｗｙ以上であるか否かを判定する。ｉ≧ｗｙであれば（ステップＳ５０３−ＹＥＳ）処理を終了し、ｉ＜ｗｙであれば（ステップＳ５０３−ＮＯ）ステップＳ５０４に進む。ステップＳ５０４で、重み画像生成部２０１は、ｊを０に設定する。
【００９６】
ステップＳ５０５で、重み画像生成部２０１は、ｊがｗｘ以上であるか否かを判定する。ｊ≧ｗｘであれば（ステップＳ５０５−ＹＥＳ）ステップＳ５１１に進み、ｊ＜ｗｘであれば（ステップＳ５０５−ＮＯ）ステップＳ５０６に進む。
【００９７】
ステップＳ５０６で、重み画像生成部２０１は、非影エッジ画像内のＥｎｓ（ｊ，ｉ）が１であるか否かを判定する。Ｅｎｓ（ｊ，ｉ）が１であれば（ステップＳ５０６−ＹＥＳ）ステップＳ５０７に進み、Ｅｎｓ（ｊ，ｉ）が１でなければ（ステップＳ５０６−ＮＯ）ステップＳ５０８に進む。
【００９８】
ステップＳ５０７で、重み画像生成部２０１は、Ｗ（ｊ，ｉ）に重み係数ｗ２を設定する。
【００９９】
ステップＳ５０８で、重み画像生成部２０１は、影エッジ画像内のＥｓ（ｊ，ｉ）が１であるか否かを判定する。Ｅｓ（ｊ，ｉ）が１であれば（ステップＳ５０８−ＹＥＳ）ステップＳ５０９に進み、Ｅｓ（ｊ，ｉ）が１でなければ（ステップＳ５０８−ＮＯ）ステップＳ５１０に進む。
【０１００】
ステップＳ５０９で、重み画像生成部２０１は、Ｗ（ｊ，ｉ）に重み係数ｗ１を設定する。
【０１０１】
ステップＳ５１０で、重み画像生成部２０１は、ｊを１つインクリメントする。ステップＳ５１０の後、ステップＳ５０５に戻る。
【０１０２】
ステップＳ５１１で、重み画像生成部２０１は、ｉを１つインクリメントする。ステップＳ５１１の後、ステップＳ５０３に戻る。
【０１０３】
以上の処理により、影部分と、非影部分とで、異なる重み係数を含む重み画像を生成することができる。
【０１０４】
（照合処理）
図１４は、実施例２における照合処理の一例を示すフローチャートである。図１４に示す処理で用いる新たなパラメータは、以下の通りである。
ＳＣ：スコア値
ＳＣｍａｘ：最大スコア値
（ｗｘ、ｗｙ）：エッジ画像の横幅、縦幅
（ＤＸ，ＤＹ）：横方向摂動量と縦方向摂動量で共に予め定めた定数（例：１０，１０）
Ｓ：エッジスコア加算値
Ｄ：重み加算値
（ｄｘ、ｄｙ）：摂動値
（ｉ，ｊ）：エッジ画像（Ｅ１）の画像内位置
（ｉｉ，ｊｊ）：エッジ画像（Ｅ２）の画像内位置
（ｄｘｍ、ｄｙｍ）：最良スコア値を与える最良摂動量
Ｍ：大きな定数（例えば１０００）
図１４に示すステップＳ６０１で、照合部２０２は、ＳＣｍａｘを−１に、ｄｘｍとｄｙｍとを０に設定する。ステップＳ６０２で、照合部２０２は、ｄｙを−ＤＹに設定する。
【０１０５】
ステップＳ６０３で、照合部２０２は、ｄｙ＞ＤＹであるか否かを判定する。ｄｙ＞ＤＹであれば（ステップＳ６０３−ＹＥＳ）処理を終了し、ｄｙ＞ＤＹでなければ（ステップＳ６０３−ＮＯ）ステップＳ６０４に進む。ステップＳ６０４で、照合部２０２は、ｄｘを−ＤＹに設定する。
【０１０６】
ステップＳ６０５で、照合部２０２は、ｄｘ＞ＤＸであるか否かを判定する。ｄｘ＞ＤＸであれば（ステップＳ６０５−ＹＥＳ）ステップＳ６０６に進み、ｄｘ＞ＤＸでなければ（ステップＳ６０５−ＮＯ）ステップＳ６０７に進む。ステップＳ６０６で、照合部２０２は、ｄｙを１つインクリメントする。
【０１０７】
ステップＳ６０７で、照合部２０２は、Ｓを０に、Ｄを０に設定する。ステップＳ６０８で、ｉを０に設定する。
【０１０８】
ステップＳ６０９で、照合部２０２は、ｉ≧ｗｙであるか否かを判定する。ｉ≧ｗｙであれば（ステップＳ６０９−ＹＥＳ）ステップＳ６１８に進み、ｉ≧ｗｙでなければ（ステップＳ６０９−ＮＯ）ステップＳ６１０に進む。ステップＳ６１０で、照合部２０２は、ｊを０に設定する。
【０１０９】
ステップＳ６１１で、照合部２０２は、ｊ≧ｗｘであるか否かを判定する。ｊ≧ｗｘであれば（ステップＳ６１１−ＹＥＳ）ステップＳ６１２に進み、ｊ≧ｗｘでなければ（ステップＳ６１１−ＮＯ）ステップＳ６１３に進む。ステップＳ６１２で、照合部２０２は、ｉを１つインクリメントする。
【０１１０】
ステップＳ６１３で、照合部２０２は、次の算出を行う。
ｉｉ＝ｉ＋ｄｙ  ・・・式（１４）
ｊｊ＝ｊ＋ｄｘ  ・・・式（１５）
ステップＳ６１４で、照合部２０２は、次の条件（３）を満たすか否かを判定する。
（ｉｉ＜０  ｏｒ  ｉｉ≧ｗｙ）ｏｒ
（ｊｊ＜０  ｏｒ  ｊｊ≧ｗｘ）      ・・・条件（３）
この条件（３）は、エッジ画像同士が重複しているかを判定する条件である。条件（３）が満たされれば（ステップＳ６１４−ＹＥＳ）ステップＳ６１７に進み、条件（３）が満たされなければ（ステップＳ６１４−ＮＯ）ステップＳ６１５に進む。
【０１１１】
ステップＳ６１５で、照合部２０２は、次の設定を行う。
ｖ１＝Ｅ１（ｊ，ｉ）
ｖ２＝Ｅ２（ｊｊ，ｉｉ）
ｗｗ＝Ｗ（ｊ，ｉ）
ステップＳ６１６で、照合部は、次の算出を行う。
Ｓ＝Ｓ＋ｗｗ×（Ｍ−｜ｖ１−ｖ２｜）  ・・・式（１６）
Ｄ＝Ｄ＋ｗｗ  ・・・式（１７）
ステップＳ６１７で、照合部２０２は、ｊを１つインクリメントする。ステップＳ６１７の処理の後は、ステップＳ６１１に戻る。
【０１１２】
ステップＳ６１８で、照合部２０２は、Ｄ＞０であるか否かを判定する。Ｄ＞０であれば（ステップＳ６１８−ＹＥＳ）ステップＳ６１９に進み、Ｄ＞０でなければ（ステップＳ６１８−ＮＯ）ステップＳ６２０に進む。
【０１１３】
ステップＳ６１９で、照合部２０２は、次の算出を行う。
ＳＣ＝Ｓ／Ｄ  ・・・式（１８）
ステップＳ６２０で、照合部２０２は、ＳＣにｓ１を代入する。ｓ１は、予め設定された小さな値である。ｓ１は、例えば負の値である。
【０１１４】
ステップＳ６２１で、ＳＣ＞ＳＣｍａｘであるか否かを判定する。ＳＣ＞ＳＣｍａｘであれば（ステップＳ６２１−ＹＥＳ）ステップＳ６２２に進み、ＳＣ＞ＳＣｍａｘでなければ（ステップＳ６２１−ＮＯ）ステップＳ６２３に進む。
【０１１５】
ステップＳ６２２で、照合部２０２は、次の設定を行う。
ＳＣｍａｘ＝ＳＣ
ｄｘｍ＝ｄｘ
ｄｙｍ＝ｄｙ
ステップＳ６２３で、照合部２０２は、ｄｘを１つインクリメントする。ステップＳ６２３の処理の後は、ステップＳ６０５に戻る。
【０１１６】
この処理により、照合部２０２は、スコア値が最も高くなる摂動量を求めることができる。
【０１１７】
以上の処理では、照合部２０２は、時刻１のエッジ画像（Ｅ１）を基準に、時刻２のエッジ画像（Ｅ２）を横方向−ＤＸからＤＸまで、縦方向に−ＤＹからＤＹまで摂動させながら、それぞれの摂動位置で両エッジ画像を比較する。また、照合部２０２は、次の式（１９）で表すエッジスコア加算値（Ｓ）を算出しつつ、最もスコア値（ＳＣ）が大きくなる摂動位置を算出する。
【０１１８】
【数１】
2014081874.tif 000003
【０１１９】
重み係数は、例えばｗ１＝０とすれば、実施例１と同様の効果が得られ、例えばｗ１＝１、ｗ２＝３とすれば、影エッジの影響も少し残しつつ、スコア値を算出することができる。
【０１２０】
以上、実施例２によれば、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定することができる。また、実施例２によれば、影部分と非影部分との重み係数を含む重み画像を生成することで、各部の影響を可変にすることができる。
【０１２１】
［実施例３］
次に、実施例３における画像処理システムについて説明する。実施例３では、移動体の影部分として削除したエッジのうち、移動体の影以外と推定されるエッジを補完することで、移動量の推定精度を向上させることができる。
【０１２２】
＜構成＞
実施例３における画像処理システムの構成は、図２に示した実施例１における構成と同様であるため、同じ符号を用いる。
【０１２３】
＜機能＞
図１５は、実施例３における画像処理装置１０ｃの機能の一例を示すブロック図である。以下、実施例３における画像処理装置１０の機能を説明する際は、画像処理装置１０ｃと表記する。
【０１２４】
図１５に示す画像処理装置１０ｃは、入力部１０１と、投影画像生成部１０２と、第１画像ＤＢ１０３と、抽出部１０４と、除去部１０５と、重み画像生成部３０３と、照合部３０４と、推定部１０７と、対応エッジ画像生成部３０１と、第２画像ＤＢ３０２とを有する。以下、実施例１、２と異なる機能について主に説明する。
【０１２５】
対応エッジ画像生成部３０１と重み画像生成部３０３とは、例えば画像処理プログラムを実行する制御部１１、及びワークメモリとしての主記憶部１２により実現されうる。また、第２画像ＤＢ３０１は、例えば主記憶部１２や補助記憶部１３により実現されうる。
【０１２６】
対応エッジ画像生成部３０１は、第１エッジ画像（Ｅ１）及び第２エッジ画像（Ｅ２）の照合処理で対応が取れたエッジを含む第３エッジ画像（対応エッジ画像）を生成する。例えば、対応エッジ画像生成部３０１は、照合処理によって時刻１と時刻２とのエッジ画像のズレ量が求まった際に、最良のズレ量を与える位置関係での時刻１と時刻２とのエッジ画像の共通するエッジを抽出する。対応エッジ画像生成部３０１は、抽出したエッジを含む第３エッジ画像Ｅｍ（ｘ，ｙ）を生成する。
【０１２７】
第２画像ＤＢ３０２は、対応エッジ画像生成部３０１で生成された第２エッジ画像Ｅｍを保存する。
【０１２８】
重み画像生成部３０３は、重み係数を次の関係式が成り立つように設定する。
ｗ２＞ｗ３＞ｗ１
ｗ１：影エッジ画像（第１エッジ群）のエッジのうち、第２エッジ群及び第３エッジ画像のエッジ以外のエッジに位置する重み係数
ｗ２：非影エッジ画像（第２エッジ群）のエッジに位置する重み係数と
ｗ３：第３エッジ画像のエッジのうち、非影エッジ画像のエッジ以外のエッジに位置する重み係数
実施例３における重み画像の生成は、第３エッジ画像を用いて、影エッジ画像で除去されたエッジを補完することに相当する。補完と言える理由は、第３エッジ画像は、エッジパターンで照合が取れたエッジであり、例えば路面上のパターンである可能性が高く、移動体の影部分ではないと推定されるからである。
【０１２９】
例えば、重み画像生成部３０３は、除去部１０５から影エッジ画像Ｅｓと、非影エッジ画像Ｅｎｓとを入力し、第２画像ＤＢ３０２から第３エッジ画像を入力し、照合処理で使用するエッジの重み画像Ｗ（ｘ，ｙ）を生成する。
【０１３０】
照合部３０４は、重み画像Ｗを用いて時刻１の第１エッジ画像（Ｅ１）及び時刻２の第２エッジ画像（Ｅ２）の一致度を求め、この一致度を用いて照合処理を行う。例えば、照合部３０４は、第１画像ＤＢ１０３から第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）とを取得し、重み画像生成部３０３から取得した重み画像Ｗを用いてエッジ画像同士を摂動照合し、エッジパターンが最も一致する摂動量を算出する。推定部１０７は、実施例１と同様にして、この摂動量に基づいて移動体の移動量を推定する。
【０１３１】
以上の構成、機能を有することで、実施例３における画像処理装置１０ｃは、照合処理で一致したエッジを用いて非影エッジ画像を補完することで、照合精度を向上させ、結局は移動量の推定精度を向上させることができる。
【０１３２】
（具体例）
次に、実施例３における移動量推定の流れについて具体例を用いて説明する。図１６は、実施例３における移動量推定を説明する図である。
【０１３３】
まず、画像処理装置１０ｃは、時刻１と時刻２とのエッジ画像に対して、照合処理を行い、移動量の推定を行う。このとき、照合処理で一致したエッジ部分を含む第３エッジ画像ｉｍ９１が生成される。
【０１３４】
次に、投影画像生成部１０２は、時刻２の投影画像から、エッジ画像ｉｍ６１を生成する。また、投影画像生成部１０２は、同様にして、時刻３（時刻２＜時刻３）の投影画像から、エッジ画像ｉｍ７１を生成する。
【０１３５】
次に、抽出部１０４は、エッジ画像ｉｍ６１とエッジ画像ｉｍ７１とを相対的な移動量を０にして重ね合わせ、エッジ位置が重なるエッジを抽出する。抽出されたエッジが移動体による影とみなされる。抽出部１０４は、抽出されたエッジを含む影エッジ画像ｉｍ８１を生成する。
【０１３６】
次に、除去部１０５は、この例では、時刻２のエッジ画像ｉｍ６１から影エッジ画像ｉｍ８１を除去したエッジ画像ｉｍ８２を生成する。
【０１３７】
次に、重み画像生成部３０３は、エッジ画像ｉｍ８２に第３エッジ画像ｉｍ９１を付加し、補完後のエッジ画像ｉｍ８３を生成する。
【０１３８】
次に、照合部３０３は、時刻３のエッジ画像ｉｍ７１と補完されたエッジ画像ｉｍ８３とを比較し、エッジパターンが最も一致する画像間のズレ量を求める。推定部１０７は、求められたズレ量を用いて移動体の移動量を推定する。
【０１３９】
次に、対応エッジ画像生成部３０１は、照合処理で対応が取れたエッジ部分のエッジ画像ｉｍ９２を生成する。
【０１４０】
これにより、移動体の影と推定されるエッジのみを除去することができるようになり、移動量の推定精度を向上させることができる。
【０１４１】
（重み画像）
次に、実施例３における重み画像Ｗについて説明する。図１７は、実施例３における重み画像の生成を説明する図である。図１７に示す例では、影エッジ画像（Ｅｓ）で１の値を有する位置に重み係数ｗ１が与えられ、非影エッジ画像（Ｅｎｓ）で１の値を有する位置に重み係数ｗ２が与えられ、対応エッジ画像（Ｅｍｓ）で１の値を有する位置に重み係数ｗ３が与えられると、重み画像Ｗが生成される。なお、ｗ３とｗ２とｗ１との関係は、ｗ２＞ｗ３＞ｗ１とする。なお、ｗ２とｗ３は、同じでもよい。これにより、移動体の影部分の影響を非影部分よりも小さくすることができる。
【０１４２】
＜動作＞
次に、実施例３における画像処理システムの動作について説明する。図１８は、実施例３における画像処理の一例を示すフローチャートである。図１８に示す処理は、２枚目以降の画像を取得した場合の移動量推定処理である。１枚目の画像に対しては、ステップＳ７０３までの処理が行われる。
【０１４３】
ステップＳ７０１〜Ｓ７０５の処理は、図７に示すステップＳ１０１〜Ｓ１０４の処理と同様である。
【０１４４】
ステップＳ７０６で、重み画像生成部３０３は、影エッジ画像（Ｅｓ）と非影エッジ画像（Ｅｎｓ）と、第３エッジ画像（Ｅｍ）を用いて、影部分と、非影部分と、対応エッジ部分で異なる重み係数を含む重み画像を生成する。
【０１４５】
ステップＳ７０７で、照合部３０４は、第１エッジ画像（Ｅ１）と、第２エッジ画像（Ｅ２）と、重み画像Ｗとを用いて照合処理を行う。照合処理を行うことで、画像間のズレ量が求められる。
【０１４６】
ステップＳ７０８で、推定部１０７は、照合部３０４から取得したズレ量を用いて移動体の移動量を推定する。
【０１４７】
ステップＳ７０９で、対応エッジ画像生成部３０１は、照合処理で対応がとれたエッジ部分を含む第３エッジ画像を生成する。なお、対応エッジ画像生成部３０１は、影の影響を除去する前のエッジ画像同士で対応がとれたエッジを用いてもよいし、影の影響を除去したエッジ画像同士で対応がとれたエッジを用いてもよい。
【０１４８】
（対応エッジ画像生成処理）
図１９は、実施例３における対応エッジ画像の生成処理の一例を示すフローチャートである。図１９に示す処理で用いる新たなパラメータは、以下の通りである。
（ｓｘ、ｓｙ）：照合処理によって求まった前時刻と現時刻とのエッジ画像が最も対応するための画像のずれ量
Ｅｍ（ｘ，ｙ）：前時刻の座標系における対応エッジの有無を表すフラグ画像（ｘ、ｙは画像内の画素位置を、Ｅｍ（ｘ，ｙ）が１は、対応エッジであることを表す）
図１９に示すステップＳ８０１で、対応エッジ画像生成部３０１は、Ｅｍを０に初期化する。ステップＳ８０２で、対応エッジ画像生成部３０１は、変数ｉを０に設定する。変数ｉは、画像の縦方向の位置を示すパラメータである。
【０１４９】
ステップＳ８０３で、対応エッジ画像生成部３０１は、ｉがｗｙ以上であるか否かを判定する。ｗｙは、画像の縦方向の長さを表す。ｉ≧ｗｙであれば（ステップＳ８０３−ＹＥＳ）処理を終了し、ｉ＜ｗｙであれば（ステップＳ８０３−ＮＯ）ステップＳ８０４に進む。
【０１５０】
ステップＳ８０４で、対応エッジ画像生成部３０１は、変数ｊを０に設定する。変数ｊは、画像の横方向の位置を示すパラメータである。
【０１５１】
ステップＳ８０５で、対応エッジ画像生成部３０１は、ｊがｗｘ以上であるか否かを判定する。ｗｘは、画像の横方向の長さを表す。ｊ≧ｗｘであれば（ステップＳ８０５−ＹＥＳ）ステップＳ８０８に進み、ｊ＜ｗｘであれば（ステップＳ８０５−ＮＯ）ステップＳ８０６に進む。
【０１５２】
ステップＳ８０６で、対応エッジ画像生成部３０１は、次の条件（４）を満たすか否かを判定する。
Ｅ１（ｊ，ｉ）≧ｔｈ１  かつ
Ｅ２（ｊ＋ｓｘ，ｉ＋ｓｙ）≧ｔｈ１      ・・・条件（４）
条件（４）が満たされれば（ステップＳ８０６−ＹＥＳ）ステップＳ８０７に進み、条件（４）が満たされなければ（ステップＳ８０６−ＮＯ）ステップＳ８０８に進む。
【０１５３】
なお、ステップＳ８０６で、対応エッジ画像生成部３０１は、移動体の影の影響を除去して対応エッジを求めたい場合は、次の条件（５）を用いるとよい。
Ｅｎｓ（ｊ，ｉ）＝＝１  かつ
Ｅ２（ｊ＋ｓｘ，ｉ＋ｓｙ）≧ｔｈ１      ・・・条件（５）
ステップＳ８０７で、対応エッジ画像生成部３０１は、Ｅｍ（ｊ，ｉ）に１を代入する。ステップＳ８０８で、対応エッジ画像生成部３０１は、ｊを１つインクリメントする。ステップＳ８０８の後、ステップＳ８０５に戻る。
【０１５４】
ステップＳ８０９で、対応エッジ画像生成部３０１は、ｉを１つインクリメントする。ステップＳ８０９の後、ステップＳ８０３に戻る。
【０１５５】
以上の処理を行うことで、照合処理で対応が取れたエッジ（対応エッジ）を含む対応エッジ画像（例えば図１６に示す第３エッジ画像ｉｍ９１、ｉｍ９２）を生成することができる。
【０１５６】
（重み画像生成処理）
図２０は、実施例３における重み画像生成処理の一例を示すフローチャートである。図２０に示すステップＳ９０１〜Ｓ９０７の処理は、図１３に示すステップＳ５０１〜Ｓ５０７の処理と同様である。
【０１５７】
ステップＳ９０８で、重み画像生成部３０３は、対応エッジ画像内のＥｍ（ｊ，ｉ）が１であるか否かを判定する。Ｅｍ（ｊ，ｉ）が１であれば（ステップＳ９０８−ＹＥＳ）ステップＳ９０９に進み、Ｅｍ（ｊ，ｉ）が１でなければ（ステップＳ９０８−ＮＯ）ステップＳ９１０に進む。
【０１５８】
ステップＳ９０９で、重み画像生成部３０３は、Ｗ（ｊ，ｉ）に重み係数ｗ３を設定する。
【０１５９】
ステップＳ９１０〜Ｓ９１３の処理は、図１３に示すステップＳ５０８〜Ｓ５１１の処理と同様である。なお、実施例３における照合処理は、実施例２における照合処理と同様である。
【０１６０】
以上の処理により、影部分と、非影部分と、対応エッジ部分とで異なる重み係数を含む重み画像を生成することができる。なお、ｗ１＝０と設定することは、対応エッジを補完した非影エッジ画像を用いて照合処理を行うことに相当する。また、特別な場合として、非影エッジのみを用いる場合、重み画像生成部３０３は、ｗ１＝ｗ３＝０とし、ｗ２を０以外に設定することも可能である。
【０１６１】
以上、実施例３によれば、移動体に設置された撮像部により撮像された画像を用いて移動体の移動量を推定する際、移動体の移動量を適切に推定することができる。また、実施例３によれば、移動体の影部分として削除したエッジのうち、移動体の影以外と推定されるエッジを補完することで、移動量の推定精度を向上させることができる。
【０１６２】
以上の各実施例で求められた移動体の移動量は、次の技術に適用できる。
・ 自車の挙動を解析し、運転支援や運転危険分析への活用
・ 移動量と映像特徴点追跡とを用いる移動ステレオにより周囲物位置の計測
なお、前述した各実施例で説明した移動量推定処理を含む画像処理を実現するためのプログラムを記録媒体に記録することで、各実施例で説明した処理をコンピュータに実施させることができる。
【０１６３】
例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータなどに読み取らせて、前述した処理を実現させることも可能である。
【０１６４】
なお、記録媒体は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、記録媒体は、搬送波などの一過性のものを含まない。
【０１６５】
以上、画像処理装置及びプログラムについて詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した各実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０１６６】
なお、以上の各実施例に関し、さらに以下の付記を開示する。
（付記１）
移動体に搭載された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、前記第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出する抽出部と、
前記第１エッジ画像及び／又は前記第２画像のエッジ画像から、前記抽出部により抽出されたエッジを除去する除去部と、
前記除去部により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行う照合部と、
前記照合部により照合されたエッジ画像間のズレ量を用いて前記移動体の移動量を推定する推定部と、
を備える画像処理装置。
（付記２）
前記第１エッジ画像のエッジのうち、前記抽出部により抽出されたエッジを含む第１エッジ群と、該第１エッジ群以外のエッジを含む第２エッジ群とで、異なる重み係数を含む重み画像を生成する重み画像生成部をさらに備え、
前記照合部は、
前記重み画像を用いて前記第１エッジ画像及び前記第２エッジ画像の一致度を求め、該一致度を用いて前記照合処理を行う付記１記載の画像処理装置。
（付記３）
前記第１エッジ画像及び前記第２エッジ画像の照合処理で対応が取れたエッジを含む第３エッジ画像を生成する対応エッジ画像生成部をさらに備え、
前記重み画像生成部は、
前記第２エッジ群のエッジ位置に対する第２重み係数と、前記第３エッジ画像のエッジのうち、前記第２エッジ群のエッジ以外のエッジ位置に対する第３重み係数と、前記第１エッジ群のエッジのうち、前記第２エッジ群及び前記第３エッジ画像のエッジ以外のエッジ位置に対する第１重み係数との関係を、前記第２重み係数＞前記第３重み係数＞前記第１重み係数に設定する付記２記載の画像処理装置。
（付記４）
複数の撮像部から撮像された各画像を用いて、上方から前記移動体を含む下面側を投影した画像を示す投影画像を生成する投影画像生成部をさらに備え、
前記抽出部は、
前記第１時刻の投影画像から抽出された第１エッジ画像と、前記第２時刻の投影画像から抽出された第２エッジ画像とを用いる付記１乃至３いずれか一項に記載の画像処理装置。
（付記５）
前記重み画像生成部は、
前記第１エッジ画像における前記第２エッジ群のエッジに対し、前記第３エッジ画像に含まれるエッジを補完する付記３記載の画像処理装置。
（付記６）
移動体に搭載された１つ以上の撮像部により撮像された画像を用いて、第１時刻の画像から抽出された第１エッジ画像と、前記第１時刻より後の第２時刻の画像から抽出された第２エッジ画像とを重ね合わせ、位置が重なるエッジを抽出し、
前記第１エッジ画像及び／又は前記第２画像のエッジ画像から、前記抽出されたエッジを除去する除去処理を行い、
前記除去処理により両方又はいずれか一方でエッジが除去された第１エッジ画像及び第２エッジ画像に対して照合処理を行い、
前記照合処理により照合されたエッジ画像間のズレ量を用いて前記移動体の移動量を推定する
処理をコンピュータが実行する画像処理方法。
【符号の説明】
【０１６７】
１  画像処理システム
１０  画像処理装置
２０  撮像部
１０１  入力部
１０２  投影画像生成部
１０３  第１画像ＤＢ
１０４  抽出部
１０５  除去部
１０６、２０２、３０４  照合部
１０７  推定部
２０１、３０３  重み画像生成部
３０１  対応エッジ画像生成部
３０２  第２画像ＤＢ
【図１】
2014081874.tif 000004
【図２】
2014081874.tif 000005
【図３】
2014081874.tif 000006
【図４】
2014081874.tif 000007
【図５】
2014081874.tif 000008
【図６】
2014081874.tif 000009
【図７】
2014081874.tif 000010
【図８】
2014081874.tif 000011
【図９】
2014081874.tif 000012
【図１０】
2014081874.tif 000013
【図１１】
2014081874.tif 000014
【図１２】
2014081874.tif 000015
【図１３】
2014081874.tif 000016
【図１４】
2014081874.tif 000017
【図１５】
2014081874.tif 000018
【図１６】
2014081874.tif 000019
【図１７】
2014081874.tif 000020
【図１８】
2014081874.tif 000021
【図１９】
2014081874.tif 000022
【図２０】
2014081874.tif 000023