(57)【特許請求の範囲】
【請求項１】
人工衛星や航空機が上空から撮影した画像から物体の位置を検出する物体検出装置において、
前記画像の入力水平エッジと入力垂直エッジを計算するエッジ抽出手段と、
前記物体に関するテンプレートから水平エッジテンプレートと垂直エッジテンプレートを抽出するエッジテンプレート計算手段と、
前記入力画像の各画素に、前記テンプレートの中心を所定の角度でずらせつつ置いて、前記各画素毎の投票値を、前記入力水平エッジと前記入力垂直エッジとに基づくベクトル及び前記水平エッジテンプレートと前記垂直エッジテンプレートとに基づくベクトルの内積を用いて計算し、前記各投票値を集計して、前記各画素における、かつ、前記テンプレートの所定角度毎の評価値を演算して、その評価値の中から最大の評価値の集合である最大評価値画像を作成する内積演算手段と、
前記作成された最大の評価値画像の画素の中から局所的最大値をとる座標を前記物体の位置として出力する位置検出手段と、
を有し、
前記エッジテンプレート計算手段は、
前記物体の地上高さ、撮影時刻、撮影場所から計算した前記物体の影テンプレートを作成する影テンプレート作成手段を有し、
また、エッジテンプレート計算手段で用いる前記物体に関するテンプレートが、前記物体の物体テンプレートと、前記作成した影テンプレートとを重ね合わせた合成テンプレートである
ことを特徴とする物体検出装置。
【請求項２】
前記内積演算手段の演算をＳＩＭＤプロセッサによって行う
ことを特徴とする請求項１記載の物体検出装置。
【請求項３】
人工衛星や航空機が上空から撮影した画像から物体の位置を検出する物体検出方法において、
前記画像の入力水平エッジと入力垂直エッジを計算するエッジ抽出ステップと、
前記物体に関するテンプレートから水平エッジテンプレートと垂直エッジテンプレートを抽出するエッジテンプレート計算ステップと、
前記入力画像の各画素に、前記テンプレートの中心を所定の角度でずらせつつ置いて、前記各画素毎の投票値を、前記入力水平エッジと前記入力垂直エッジとに基づくベクトル及び前記水平エッジテンプレートと前記垂直エッジテンプレートとに基づくベクトルの内積を用いて計算し、前記各投票値を集計して、前記各画素における、かつ、前記テンプレートの所定角度毎の評価値を演算して、その評価値の中から最大の評価値の集合である最大評価値画像を作成する内積演算ステップと、
前記作成された最大の評価値画像の画素の中から局所的最大値をとる座標を前記物体の位置として出力する位置検出ステップと、
を有し、
前記エッジテンプレート計算ステップは、
前記物体の地上高さ、撮影時刻、撮影場所から計算した前記物体の影テンプレートを作成する影テンプレート作成ステップを有し、
また、エッジテンプレート計算ステップで用いる前記物体に関するテンプレートが、前記物体の物体テンプレートと、前記作成した影テンプレートとを重ね合わせた合成テンプレートである
ことを特徴とする物体検出方法。
【請求項４】
人工衛星や航空機が上空から撮影した画像から物体の位置を検出する物体検出方法をコンピュータによって実現するプログラムにおいて、
前記画像の入力水平エッジと入力垂直エッジを計算するエッジ抽出機能と、
前記物体に関するテンプレートから水平エッジテンプレートと垂直エッジテンプレートを抽出するエッジテンプレート計算機能と、
前記入力画像の各画素に、前記テンプレートの中心を所定の角度でずらせつつ置いて、前記各画素毎の投票値を、前記入力水平エッジと前記入力垂直エッジとに基づくベクトル及び前記水平エッジテンプレートと前記垂直エッジテンプレートとに基づくベクトルの内積を用いて計算し、前記各投票値を集計して、前記各画素における、かつ、前記テンプレートの所定角度毎の評価値を演算して、その評価値の中から最大の評価値の集合である最大評価値画像を作成する内積演算機能と、
前記作成された最大の評価値画像の画素の中から局所的最大値をとる座標を前記物体の位置として出力する位置検出機能と、
を実現し、
前記エッジテンプレート計算機能は、
前記物体の地上高さ、撮影時刻、撮影場所から計算した前記物体の影テンプレートを作成する影テンプレート作成機能を有し、
また、エッジテンプレート計算機能で用いる前記物体に関するテンプレートが、前記物体の物体テンプレートと、前記作成した影テンプレートとを重ね合わせた合成テンプレートである
ことを特徴とする物体検出方法のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、人工衛星や航空機が上空から撮影した画像から、車両や航空機など既知形状の物体の位置や種別を識別する物体検出装置及び方法に関するものである。
【０００２】
【従来の技術】
車両や航空機など既知の形状を持つ物体の検出は、３次元モデルなど物体の形状情報を利用してなされる。これに関して、画像から検出したエッジセグメントなど画像特徴と、３次元モデルなど形状情報を照合することにより物体を検出する方法が提案されている。
【０００３】
しかし、人工衛星から撮影した衛星画像では、画像中に写った物体の大きさが小さく、エッジセグメントなど形状情報と照合するに足りるほど十分な情報を持った画像特徴を画像から抽出することは困難である。
【０００４】
また、エッジの方向情報を利用して投票によって物体の位置を検出する一般化ハフ変換と呼ばれる方法が提案されている。この方法は、予め物体形状の輪郭線上の座標について、その座標から物体中心までの距離と輪郭線方向と物体中心方向の相対角を記録しておき、物体を検出する際には入力した画像から抽出したエッジの方向から物体中心の可能性がある座標を求め、その座標の画素に投票値を加算する。
【０００５】
この方法では、最も多くの投票値を得た画素が物体位置と判定され、エッジセグメントなどを抽出しなくても物体を検出することができるが、画像から抽出した全てのエッジについて、方向と座標から複数の物体中心候補を計算して、投票を行うので、大きな計算量が必要となる。
【０００６】
ところで、屋外にある物体を上空から撮影した画像では、画像中に物体の影が写りこむ。物体表面の明度と路面の明度が類似している場合、物体の輪郭エッジが弱く、路面に投影された影が物体を検出するために重要な情報となる。一般化ハフ変換で物体の輪郭だけでなく影の輪郭も併用する場合、物体が回転しても太陽光の方向は一定であるので、物体の向きによって物体と影を合わせた輪郭形状は変化する。一般化ハフ変換においても、物体の向きによって投票先の座標が異なるので、２次元の座標に物体の向きを加えた３次元座標に投票を行う必要があるので計算量が増加する。
【０００７】
【発明が解決しようとする課題】
以上述べたように、従来方法では、衛星画像では写った物体の大きさが小さいために、エッジセグメントなどの画像特徴と３次元形状情報を照合することは困難である。
【０００８】
また、一般化ハフ変換方法では、投票値を計算するまでの計算量が多いという問題点がある。
【０００９】
さらに、物体の影を検出に利用する場合は、一般化ハフ変換では計算量がより増加するという問題点がある。
【００１０】
そこで、本発明は、人工衛星や航空機が上空から撮影した画像から影を含む物体を検出する一般化ハフ変換を高速に実行することができる物体検出装置及びその方法を提供する。
【００１１】
【課題を解決するための手段】
本発明は、人工衛星や航空機が上空から撮影した画像から物体の位置を検出する物体検出装置において、前記画像の入力水平エッジと入力垂直エッジを計算するエッジ抽出手段と、前記物体に関するテンプレートから水平エッジテンプレートと垂直エッジテンプレートを抽出するエッジテンプレート計算手段と、前記入力画像の各画素に、前記テンプレートの中心を所定の角度でずらせつつ置いて、前記各画素毎の投票値を、前記入力水平エッジと前記入力垂直エッジとに基づくベクトル及び前記水平エッジテンプレートと前記垂直エッジテンプレートとに基づくベクトルの内積を用いて計算し、前記各投票値を集計して、前記各画素における、かつ、前記テンプレートの所定角度毎の評価値を演算して、その評価値の中から最大の評価値の集合である最大評価値画像を作成する内積演算手段と、前記作成された最大の評価値画像の画素の中から局所的最大値をとる座標を前記物体の位置として出力する位置検出手段と、を有し、前記エッジテンプレート計算手段は、前記物体の地上高さ、撮影時刻、撮影場所から計算した前記物体の影テンプレートを作成する影テンプレート作成手段を有し、また、エッジテンプレート計算手段で用いる前記物体に関するテンプレートが、前記物体の物体テンプレートと、前記作成した影テンプレートとを重ね合わせた合成テンプレートであることを特徴とする物体検出装置である。
【００１６】
本発明は、一般化ハフ変換において、投票先の座標を先に固定し、投票値をエッジ方向ベクトルの内積を用いて演算する。物体の方向を離散的に変更しながら演算するので投票空間は２次元に収まり、内積演算はプロセッサの持つＳＩＭＤ命令に適した演算であるから実行時間が短くなる。
【００１７】
【実施例】
以下、本発明の一実施例の物体検出装置を図面に基づいて説明する。
【００１８】
図１は、人工衛星や航空機が上空から撮影した画像から、航空機である検出対象物体の位置や種別を識別する物体検出装置のブロック図であり、図２は、その処理の流れを示すフローチャートである。
【００１９】
図１に示すように、物体検出装置は、影テンプレート作成部１、エッジテンプレート作成部２、画像エッジ作成部３、内積演算部４、位置検出部５とより構成され、これら各部の機能は、ＳＩＭＤプロセッサを有するコンピュータに記憶されたプログラムによって実現される。ここで、ＳＩＭＤとは、Single Instruction／Multiple Dataの略であり、１つの命令で、複数のデータを同時に処理すること、もしくはそのための命令のことであり、例えば、米国のインテル社ののプロセッサのＭＭＸ（商標）、ＳＳＥ（商標）におけるマルチメディア対応命令セットがこのＳＩＭＤ命令に該当する。
【００２０】
以下、図２に基づいて物体検出装置の処理を説明する。
【００２１】
（ステップ１）
影テンプレート作成部１では、図３に示す検出対象物体を上から見た物体テンプレートを入力し、検出対象物体の影テンプレートを作成する。
【００２２】
その作成方法を説明する。
【００２３】
まず、検出対象物体の撮影地点の緯度、経度、標高など位置情報と撮影時刻に関する情報から、撮影時の太陽の３次元方向を計算する。
【００２４】
次に、図４に示すように、物体中心の高さに、物体テンプレートがあると仮定し、物体中心の地面からの高さと、前記計算した太陽の３次元方向から、物体テンプレートの中心を通る太陽光が地面に投影された先の座標を計算する。
【００２５】
この投影先座標が物体テンプレートの影の中心座標であり、物体テンプレートを投影先座標に平行移動したものが影テンプレートとなる。
【００２６】
（ステップ２）
エッジテンプレート作成部２では、図５に示すように、影テンプレートの上から物体テンプレートを重ね書きした合成テンプレートを作成する。
【００２７】
次に、この合成テンプレートにエッジ抽出フィルタを適用して、水平エッジテンプレート、垂直エッジテンプレートを作成する。
【００２８】
エッジ抽出フィルタには、例えば、図６のソーベルフィルタを用いて、水平方向エッジ、垂直方向エッジのそれぞれを計算して水平エッジテンプレート、垂直エッジテンプレートを作成する。なお、図６の左側が水平方向のソーベルフィルタであり、図６の右側が垂直方向のソーベルフィルタであるので、これらを用いてそれぞれのエッジ強度を計算する。
【００２９】
次に、座標（ｘ，ｙ）の水平エッジ強度をｈ（ｘ，ｙ）、垂直エッジ強度をｖ（ｘ，ｙ）としたとき、それぞれのエッジ強度を以下の式１で正規化したｈ’（ｘ，ｙ），ｖ’（ｘ，ｙ）で置き換える。
【００３０】
【数１】
0003863014.tif 000002
（ステップ３）
画像エッジ作成部３は、人工衛星や航空機が上空から撮影した入力画像に、図６のエッジ抽出フィルタを適用して、入力水平エッジ画像、入力垂直エッジ画像を作成する。
【００３１】
その際、エッジ強度（ｈ（ｘ，ｙ）２  ＋ｖ（ｘ，ｙ）２  ）１／２  が閾値以下の画素ではエッジ画像の画素値を０とし、それ以外の画素では式１を用いてエッジ強度を正規化する。
【００３２】
（ステップ４）
内積演算部４では、入力水平エッジ画像、入力垂直エッジ画像に、水平エッジテンプレート、垂直エッジテンプレートを用いて、一般化ハフ変換に類似した演算を行う。
【００３３】
一般化ハフ変換では、画像からエッジを抽出し、エッジの座標と方向から物体中心である可能性のある座標を算出する。その座標の画素値に一定の投票値を加算することによって投票を行う。この処理を繰り返し、最終的に投票値を集計した評価値が最も高い画素が物体中心のある座標と判定されることになる。
【００３４】
本実施例では、物体の中心座標を固定して、その座標に物体中心があると仮定した場合の評価値を、ＳＩＭＤプロセッサによる高速化に適した畳み込み演算によって演算する。
【００３５】
以下、詳しく説明する。
【００３６】
水平エッジテンプレートをＴｈ  、垂直エッジテンプレートをＴｖ  とする。入力水平エッジ画像をＥｈ  、入力垂直エッジ画像をＥｖ  とする。合成テンプレートの水平方向の長さ（幅）を２ｎ＋１、垂直方向の長さ（高さ）を２ｍ＋１とする。すなわち、合成テンプレートの画素数が、｛（２ｎ＋１）×（２ｍ＋１）｝個である。
【００３７】
テンプレートのエッジ方向は、水平エッジテンプレートの画素値を水平成分、垂直エッジテンプレートの画素値を垂直成分としたベクトルで表すことができ、画像のエッジ方向ベクトルも同様に水平エッジと垂直エッジから求められる（図７参照）。ここでは、両方のエッジ方向が一致して相対角が小さければ高くなる投票値を計算で求める。
【００３８】
そして、入力画像における任意の画素の座標のＳ（ｘ，ｙ）における評価値Ｖを計算する。
【００３９】
まず、入力画像のＳ（ｘ，ｙ）に物体テンプレートの中心を所定の角度θで置く。
【００４０】
次に、Ｓ（ｘ，ｙ）以外の点であるＱｉｊ（ｘ＋ｉ，ｙ＋ｊ）における投票値ｈ（ｘ＋ｉ，ｙ＋ｊ）を、下記の式２のベクトルの内積を用いて計算する。この場合に、ｉは−ｎからｎまでの範囲で、かつ、ｊは−ｍからｍまでの範囲で、各画素毎に投票値をそれぞれ計算する。
【００４１】
Ｑｉｊ（ｘ＋ｉ，ｙ＋ｊ）における投票値の求め方は、エッジテンプレートのエッジ方向ベクトル（Ｔｈ  （ｎ＋ｉ，ｍ＋ｊ），Ｔｖ  （ｎ＋ｉ，ｍ＋ｊ））と、入力エッジ画像のエッジ方向ベクトル（Ｅｈ  （ｘ＋ｉ，ｙ＋ｊ），Ｅｖ  （ｘ＋ｉ，ｙ＋ｊ））を比較し、式２を用いて投票値ｈ（ｘ＋ｉ，ｙ＋ｊ）を計算する。式２の値である投票値ｈは、図８に示すように入力画像と合成テンプレートのエッジ方向が一致すれば１になり、直交すれば−１になる。
【００４２】
【数２】
0003863014.tif 000003
Ｓ（ｘ，ｙ）の評価値Ｖ（ｘ，ｙ）は、投票値ｈ（ｘ＋ｉ，ｙ＋ｊ）の集計によって、以下の式３で求められる。
【００４３】
【数３】
0003863014.tif 000004
このような処理をＳ点以外の全ての点で繰り返す。すなわち、入力画像中の全ての画素で、物体テンプレートの中心を所定の角度θで置いたときの評価値Ｖ（ｘ，ｙ）を計算する。このときに、式２、式３の演算は各画素で独立した演算で並列に処理可能であるので、ＳＩＭＤ演算機能を持つプロセッサを用いれば、高速に演算することができる。
【００４４】
（ステップ５）
上記では、物体テンプレートの中心を所定の角度θで置いたときの評価値Ｖ（ｘ，ｙ）を計算したので、物体テンプレートを一定角度ずつθより回転させながらステップ１，２，４で説明した影テンプレート作成部１、エッジテンプレート作成部２、内積演算部４の処理を繰り返して、全ての画素における評価値Ｖ（ｘ，ｙ）を計算する。このような各画素における評価値Ｖ（ｘ，ｙ）の集合の画像が評価値画像となる。
【００４５】
（ステップ６）
物体テンプレートを一定角度ずつ回転させる処理を繰り返す回数をｄとし、ｉ番目の繰り返しで得られた評価値画像をＶｉ  とし、評価値画像における座標（ｘ，ｙ）の画素値をＶｉ  （ｘ，ｙ）としたとき、繰り返しでの各評価値画像Ｖｉ  の中から最大の評価値を有する画素をＶｍａｘ  （ｘ，ｙ）とする。そして、このＶｍａｘ  （ｘ，ｙ）の画素の集合から最大の評価値画像Ｖｍａｘ  を作成する。
【００４６】
【数４】
0003863014.tif 000005
（ステップ７）
位置検出部５では、上記処理によって得られた評価値画像Ｖｍａｘの中から、検出対象物体の位置を検出する。画像中には数が不明の複数の検出対象物体が写っている場合があり、物体中心のある座標で最も評価値が高い評価値が高いと考えられるので、周辺の画素と比較した局所ピークを検出することによって物体の位置を検出する。
【００４７】
図９は、Ｖｍａｘの座標と評価値の関係をプロットしたグラフであるが、正しい物体の位置を表す最も高いピークの周辺に複数のピークが存在する。周辺のピークは物体の中心から少しずれた位置や方向のテンプレートを照合することで発生するので、テンプレート大きさの範囲で局所的ピークとなる座標を検出することによって周辺のピークを除いて最も高いピークを検出する。評価値画像Ｖｍａｘ  の局所的ピークは、以下の式５で、Ｐ（ｘ，ｙ）＝１となる座標である
【数５】
0003863014.tif 000006
局所的ピークの座標での評価値Ｖｍａｘ  （ｘ，ｙ）が予め定めた閾値以上であれば、その座標を検出した物体の位置として出力する。
【００４８】
【発明の効果】
以上、説明したように、本発明による物体検出装置及び方法では、物体の向きを逐次的に変更しながら影の位置を計算し、一般化ハフ変換での投票演算をＳＩＭＤ命令に適した内積演算に置き換えて処理するので、物体の位置を短い処理時間で検出することができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す物体検出装置のブロック図である。
【図２】物体検出装置のフローチャートである。
【図３】物体テンプレートの図である。
【図４】影テンプレートの作成の説明図である。
【図５】合成テンプレートの図である。
【図６】ソーベルフィルタの図である。
【図７】エッジ方向と相対角の関係を示す図である。
【図８】相対角と投票値の関係を示すグラフである。
【図９】Ｖｍａｘの座標と評価値の関係をプロットしたグラフである。
【符号の説明】
１    影テンプレート作成部
２    エッジテンプレート作成部
３    画像エッジ作成部
４    内積演算部
５    位置検出部
【図１】
0003863014.tif 000007
【図２】
0003863014.tif 000008
【図３】
0003863014.tif 000009
【図４】
0003863014.tif 000010
【図５】
0003863014.tif 000011
【図６】
0003863014.tif 000012
【図７】
0003863014.tif 000013
【図８】
0003863014.tif 000014
【図９】
0003863014.tif 000015