(58)【調査した分野】(Int.Cl.,DB名)
撮像手段によって撮像された画像から抽出されたウィンドウ画像を上下に分割し、分割されたウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、分割されたウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出する特徴量抽出手段と、
前記第1画像特徴量及び前記第2画像特徴量を用いて予め求められた、乗員ありの横向き二輪車を識別するための識別モデルと、前記特徴量抽出手段によって抽出された前記第1画像特徴量及び前記第2画像特徴量とに基づいて、前記ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別する識別手段と、
を含む画像識別装置。
前記特徴量抽出手段は、前記ウィンドウ画像について、各画素における勾配方向及び勾配強度を算出し、前記ウィンドウ画像の上部に対して設定した領域を走査して得られる各第1ブロックについて、該第1ブロックの各画素における勾配方向及び勾配強度に基づいて、異なる勾配方向の各々に対して勾配強度を投票した値を要素とする勾配方向ヒストグラムを算出し、各第1ブロックの勾配方向ヒストグラムを用いて、前記第1画像特徴量を抽出する請求項1記載の画像識別装置。
前記特徴量抽出手段は、前記ウィンドウ画像について、各画素における勾配方向及び勾配強度を算出し、前記ウィンドウ画像の下部に対して設定した、左右に二分する中心線を軸に左右対称に位置する2つの領域を走査して得られる各第2ブロックについて、該第2ブロックの各画素における勾配方向及び勾配強度に基づいて、異なる勾配方向の各々に対して勾配強度を投票した値を要素とする勾配方向ヒストグラムを算出し、各第2ブロックの勾配方向ヒストグラムを用いて、前記第2画像特徴量を抽出する請求項1又は2記載の画像識別装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、識別対象物が、横向き二輪車である場合、上側と下側で左右対称性の有無が異なるため、従来技術で用いられる画像特徴量では、横向き二輪車を精度よく検出することができない、という問題がある。
【0006】
本発明は、上記の問題点を解決するためになされたもので、横向き二輪車を表わす画像を精度よく識別することができる画像識別装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために本発明に係る画像識別装置は、撮像手段によって撮像された画像から抽出されたウィンドウ画像を上下に分割し、分割されたウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、分割されたウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出する特徴量抽出手段と、前記第1画像特徴量及び前記第2画像特徴量を用いて予め求められた、乗員ありの横向き二輪車を識別するための識別モデルと、前記特徴量抽出手段によって抽出された前記第1画像特徴量及び前記第2画像特徴量とに基づいて、前記ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別する識別手段とを含んで構成されている。
【0008】
本発明に係るプログラムは、コンピュータを、撮像手段によって撮像された画像から抽出されたウィンドウ画像を上下に分割し、分割されたウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、分割されたウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出する特徴量抽出手段、及び前記第1画像特徴量及び前記第2画像特徴量を用いて予め求められた、乗員ありの横向き二輪車を識別するための識別モデルと、前記特徴量抽出手段によって抽出された前記第1画像特徴量及び前記第2画像特徴量とに基づいて、前記ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別する識別手段として機能させるためのプログラムである。
【0009】
本発明によれば、特徴量抽出手段によって、撮像手段によって撮像された画像から抽出されたウィンドウ画像を上下に分割し、分割されたウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、分割されたウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出する。
【0010】
そして、識別手段によって、前記第1画像特徴量及び前記第2画像特徴量を用いて予め求められた、乗員ありの横向き二輪車を識別するための識別モデルと、前記特徴量抽出手段によって抽出された前記第1画像特徴量及び前記第2画像特徴量とに基づいて、前記ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別する。
【0011】
このように、ウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、ウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出して、ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別することにより、横向き二輪車を表わす画像を精度よく識別することができる。
【0012】
本発明に係る前記特徴量抽出手段は、前記ウィンドウ画像について、各画素における勾配方向及び勾配強度を算出し、前記ウィンドウ画像の上部に対して設定した領域を走査して得られる各第1ブロックについて、該第1ブロックの各画素における勾配方向及び勾配強度に基づいて、異なる勾配方向の各々に対して勾配強度を投票した値を要素とする勾配方向ヒストグラムを算出し、各第1ブロックの勾配方向ヒストグラムを用いて、前記第1画像特徴量を抽出するようにすることができる。これによって、左右対称性に応じて変化しない画像特徴量を抽出することができる。
【0013】
本発明に係る特徴量抽出手段は、前記ウィンドウ画像について、各画素における勾配方向及び勾配強度を算出し、前記ウィンドウ画像の下部に対して設定した、左右に二分する中心線を軸に左右対称に位置する2つの領域を走査して得られる各第2ブロックについて、該第2ブロックの各画素における勾配方向及び勾配強度に基づいて、異なる勾配方向の各々に対して勾配強度を投票した値を要素とする勾配方向ヒストグラムを算出し、各第2ブロックの勾配方向ヒストグラムを用いて、前記第2画像特徴量を抽出するようにすることができる。これによって、左右対称性に応じて変化する画像特徴量を抽出することができる。
【発明の効果】
【0014】
以上説明したように、本発明の画像識別装置及びプログラムによれば、ウィンドウ画像の上部について、左右対称性に応じて変化しない第1画像特徴量を抽出すると共に、ウィンドウ画像の下部について、左右対称性に応じて変化する第2画像特徴量を抽出して、ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別することにより、横向き二輪車を表わす画像を精度よく識別することができる、という効果が得られる。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、撮像画像が、識別対象物としての乗員ありの横向き二輪車を撮像した画像であるか否かを識別する対象物識別装置に本発明を適用した場合を例に説明する。
【0017】
図1に示すように、第1の実施の形態に係る対象物識別装置10は、車両(図示省略)に取り付けられ、かつ、車両の前方を撮像して画像を生成する撮像装置12と、撮像装置12から得られる撮像画像が乗員ありの横向き二輪車を撮像した画像であるか否かを識別するコンピュータ14と、コンピュータ14の識別結果を表示する表示装置16とを備えている。
【0018】
撮像装置12は、車両の前方を撮像し、画像の画像信号を生成する撮像部(図示省略)と、撮像部で生成された画像信号をA/D変換するA/D変換部(図示省略)と、A/D変換された画像信号を一時的に格納するための画像メモリ(図示省略)とを備えている。
【0019】
コンピュータ14は、CPUと、RAMと、後述する識別処理ルーチンを実行するためのプログラムを記憶したROMとを備え、機能的には次に示すように構成されている。コンピュータ14は、撮像装置12から撮像された画像を取得する画像取得部20と、画像取得部20により取得した撮像画像から、様々な大きさの切り出しウィンドウを用いて走査することにより、複数のウィンドウ画像を抽出すると共に、ウィンドウ画像を上下に分割するウィンドウ画像抽出部22と、抽出した各ウィンドウ画像を、複数のセルに分割すると共に、各セルについて、勾配ヒストグラムを算出するセル特徴量計算部24と、各ウィンドウ画像について、分割された上部の領域に、連続した所定個のセルからなるブロックを走査することにより、複数のブロックを設定する上部ブロック設定部26と、各ウィンドウ画像について、分割された上部の領域に設定された各ブロックの勾配ヒストグラムを算出し、全ブロックについての勾配ヒストグラムに基づいて、画像特徴ベクトルを算出する上部特徴ベクトル算出部28と、各ウィンドウ画像について、分割された下部の領域に、左右対称に位置する所定個のセルからなるブロックを走査することにより、複数のブロックを設定する下部ブロック設定部30と、各ウィンドウ画像について、分割された下部の領域に設定された各ブロックの勾配ヒストグラムを算出し、全ブロックについての勾配ヒストグラムに基づいて、画像特徴ベクトルを算出する下部特徴ベクトル算出部32と、乗員ありの横向き二輪車を撮像した学習用画像を用いて予め学習された識別モデルを記憶した学習モデル記憶部34と、算出された各ウィンドウ画像の上部及び下部の画像特徴ベクトルと、識別モデルとに基づいて、SVM識別器により、識別対象のウィンドウ画像が乗員ありの横向き二輪車を撮像した画像であるか否かを識別する識別部36とを備えている。なお、ウィンドウ画像抽出部22、セル特徴量計算部24、上部ブロック設定部26、上部特徴ベクトル算出部28、下部ブロック設定部30、及び下部特徴ベクトル算出部32は、特徴量抽出手段の一例である。
【0020】
ウィンドウ画像抽出部22は、
図2に示すような乗員ありの横向き二輪車に相当する矩形枠(正方形か、それに類する長方形)を、1ステップにつき、予め定められた移動量(探索ステップと呼称)だけ移動させながら画像を切り取る。ここでは、切り取った画像をウィンドウ画像といい、ウィンドウ画像のサイズ(すなわち探索ウィンドウのサイズ)をウィンドウサイズと呼称する。ウィンドウサイズは様々なサイズの二輪車を検出するために複数種設定されており、ウィンドウ画像抽出部22は、設定されている全てのウィンドウサイズの探索ウィンドウを用いてウィンドウ画像を抽出する。
【0021】
また、ウィンドウ画像抽出部22は、抽出したウィンドウ画像の各々を、所定の比率(上:下=1:1〜3:2程度)で上下に分割する。
【0022】
セル特徴量計算部24は、ウィンドウ画像抽出部22により得られたウィンドウ画像を、複数のセルに均等に分割する。また、セル特徴量計算部24は、分割されたセルの各々について、
図3に示すように、各画素の勾配強度及び勾配方向を算出する。
【0023】
勾配強度mは、上記(1)式に従って算出される。
【0025】
ただし、m(x,y)は画像座標(x,y)での勾配強度を表わし、I(x,y)は、画像座標(x,y)の輝度値を表わす。
【0026】
勾配方向θは、以下の(2)式に従って算出される。
【0028】
ただし、θ(x,y)は、画素座標(x,y)での勾配の方向を表わす。
【0029】
セル特徴量計算部24は、セル内の各画素の勾配強度及び勾配方向に基づいて、
図4に示すように、当該セルに対する各勾配方向のヒストグラム(以下、勾配ヒストグラムと称する。)を算出する。具体的に、勾配方向は0〜360度の範囲をN度ずつに分割する。例えば、0〜360度の範囲で45度ずつに分割して、8方向のヒストグラムを算出する。なお、ヒストグラムの投票時には、各画素の持つ勾配方向に対応したヒストグラム方向に、当該画素が持つ勾配強度で投票することによって、勾配ヒストグラムを算出する。
【0030】
上部ブロック設定部26は、ウィンドウ画像の上部の領域に対して、連続する所定個のセルを足し合わせたブロックを、
図5(A)〜(F)に示すように走査して、複数のブロックを設定する。ここで、各ブロックは、隣接するブロックとオーバーラップするように走査される。なお、当該ブロックが、第1ブロックの一例である。
【0031】
上部特徴ベクトル算出部28は、ウィンドウ画像の上部の領域について設定された各ブロックについて、当該ブロック内の各セルについて算出された勾配ヒストグラムを加算して、当該ブロックの勾配ヒストグラムを算出する。上部特徴ベクトル算出部28は、ウィンドウ画像の上部の領域について設定された各ブロックの勾配ヒストグラムを一次元のベクトルに並べることにより、画像特徴ベクトルを求める。なお、当該画像特徴ベクトルが、左右対称性に応じて変化しない第1画像特徴量の一例である。
【0032】
下部ブロック設定部30は、ウィンドウ画像の下部の領域について、ウィンドウ画像を左右に二分する中心線を軸として左右対称に位置する所定個のセルを足し合わせたブロックを、
図6(A)〜(F)に示すように走査して、複数のブロックを設定する。ここで、各ブロックは、上下に隣接するブロックとオーバーラップするように走査される。なお、当該ブロックが、第2ブロックの一例である。
【0033】
下部特徴ベクトル算出部32は、ウィンドウ画像の下部の領域について設定された各ブロックについて、当該ブロック内の各セルについて算出された勾配ヒストグラムを加算して、当該ブロックの勾配ヒストグラムを算出する。下部特徴ベクトル算出部32は、ウィンドウ画像の下部の領域について設定された各ブロックの勾配ヒストグラムを一次元のベクトルに並べることにより、画像特徴ベクトルを求める。なお、当該画像特徴ベクトルが、左右対称性に応じて変化する第1画像特徴量の一例である。
【0034】
学習モデル記憶部34には、予め学習により生成され、かつ、識別部36で識別処理を行う際に参照される識別モデルが記憶されている。なお、ここでは、学習モデル記憶部34をコンピュータ14に設ける場合について説明するが、他の外部装置の記憶手段に識別モデルを記憶しておき、ネットワークや通信手段を介して他の外部装置に接続して、他の外部装置の記憶手段に記憶された識別モデルを読み込むような構成としてもよい。
【0035】
識別モデルの学習処理では、乗員ありの横向き二輪車が撮像された対象物の学習用画像、及び乗員ありの横向き二輪車以外が撮像された非対象物の学習用画像を所定枚数予め用意し、対象物の学習用画像と、非対象物の学習用画像とを用いて、各学習用画像の上部領域及び下部領域の各々の画像特徴ベクトルと教師ラベルとに従って学習を行い、識別モデルを生成する。
【0036】
識別部36が、各ウィンドウ画像について、算出された上部領域及び下部領域の各々の画像特徴ベクトルと識別モデルとに基づいて、識別器によってスコアを算出する。学習には、Boostingや、SVMなどの識別器が利用できる。
【0037】
また、識別部36は、各ウィンドウ画像について、算出されたスコアの閾値判定を行い、算出されたスコアが、閾値未満であれば、ウィンドウ画像が、乗員ありの横向き二輪車を示す画像でないと識別し、閾値以上であれば、乗員ありの横向き二輪車を示す画像であると識別する。
【0038】
また、識別部36は、識別結果を撮像画像に重畳して表示するよう、表示装置16を制御する。
【0039】
次に、本実施の形態に係る対象物識別装置10の作用について説明する。まず、乗員ありの横向き二輪車を撮像することにより得られた複数の二輪車領域の画像と、乗員ありの横向き二輪車以外を撮像することにより得られた非二輪車領域の画像とに基づいて、学習処理を行い、得られたSVMモデルを、学習モデル記憶部34に記憶する。
【0040】
そして、対象物識別装置10を搭載した車両の走行中に、撮像装置12によって車両の前方の所定領域が撮像されると、コンピュータ14において、
図7に示す識別処理ルーチンが実行される。
【0041】
ステップ100で、撮像装置12で撮像された撮像画像を取得し、次に、ステップ102で、撮像画像に対して探索ウィンドウを撮像画像に設定し、設定した探索ウィンドウを用いて、撮像画像からウィンドウ画像を抽出する。
【0042】
次に、ステップ104で、上記ステップ102で抽出されたウィンドウ画像を上下に分割し、ステップ106で、上記ステップ102で抽出されたウィンドウ画像を、所定個のセルに分割する。
【0043】
そして、ステップ108において、上記ステップ106で分割された各セルについて、画像特徴量として、勾配ヒストグラムを計算する。次のステップ110では、上記ステップ104で分割されたウィンドウ画像の上部の領域に、連続する所定個のセルからなるブロックを設定する。ステップ112では、上記ステップ110で設定されたブロック内の各セルの勾配ヒストグラムを加算することにより、当該ブロックの勾配ヒストグラムに統合する。
【0044】
そして、ステップ114において、ウィンドウ画像の上部の領域の全体についてブロックを走査したか否かを判定し、上部の領域の全体を走査していない場合は、ステップ110へ戻り、ブロックの位置を予め定められた走査ステップだけ移動させてブロックを設定し、ステップ112の処理を繰り返す。一方、ウィンドウ画像の上部の領域の全体についてブロックを走査したと判定された場合には、ステップ116へ進む。
【0045】
ステップ116では、上記ステップ104で分割されたウィンドウ画像の下部の領域に、左右対称に位置する所定個のセルからなるブロックを設定する。ステップ118では、上記ステップ116で設定されたブロック内の各セルの勾配ヒストグラムを加算することにより、当該ブロックの勾配ヒストグラムに統合する。
【0046】
そして、ステップ120において、ウィンドウ画像の下部の領域の全体についてブロックを走査したか否かを判定し、下部の領域の全体を走査していない場合は、ステップ116へ戻り、ブロックの位置を予め定められた走査ステップだけ移動させてブロックを設定し、ステップ118の処理を繰り返す。一方、ウィンドウ画像の下部の領域の全体についてブロックを走査したと判定された場合には、ステップ122へ進む。
【0047】
ステップ122では、上記ステップ112で得られた上部の領域の各ブロックの勾配ヒストグラムに基づいて、画像特徴ベクトルを生成すると共に、上記ステップ118で得られた下部の領域の各ブロックの勾配ヒストグラムに基づいて、画像特徴ベクトルを生成する。
【0048】
そして、ステップ124において、識別モデルと、上記ステップ122で生成された上部の領域及び下部の領域の各々に対する画像特徴ベクトルとに基づいて、スコアを算出し、スコアに基づいて、ウィンドウ画像が、乗員ありの横向き二輪車を示す二輪車画像であるか否かを識別する。
【0049】
ステップ126では、上記ステップ100で取得された撮像画像の全体について探索ウィンドウをスキャンして探索が終了したか否かを判断する。終了していない場合は、ステップ102へ戻り、探索ウィンドウの位置を予め定められた探索ステップだけ移動させた位置からウィンドウ画像を抽出し、ステップ102〜ステップ124の処理を繰り返す。また、現サイズの探索ウィンドウでの画像全体の探索が終了した場合には、同様にステップ102へ戻り、探索ウィンドウのサイズを変更して、ステップ102〜ステップ124の処理を繰り返す。撮像画像全体について、全てのサイズの探索ウィンドウでの探索が終了した場合には、ステップ128へ移行する。
【0050】
ステップ128では、識別結果の出力として、上記ステップ124で二輪車画像であると識別された領域に基づいて、撮像画像に対して、乗員ありの横向き二輪車がウィンドウで囲まれて表示されるように表示装置16を制御して、処理を終了する。
【0051】
以上説明したように、本実施の形態に係る対象物識別装置によれば、ウィンドウ画像の上部について、各ブロックの勾配ヒストグラムに基づく画像特徴ベクトルを算出すると共に、ウィンドウ画像の下部について、左右対称に位置するセルからなる各ブロックの勾配ヒストグラムに基づく画像特徴ベクトルを算出して、ウィンドウ画像が、乗員ありの横向き二輪車を表わす画像であるか否かを識別することにより、横向き二輪車を表わす画像を精度よく識別することができる。
【0052】
乗員ありの横向き二輪車を表わす画像では、上部に人が存在し、下部に二輪車が存在する。二輪車の存在する下部は、二つの車輪が存在し、その左右対称性が強い。一方、人が存在する上部は、前傾姿勢をしていたり、手や足が進行方向に出ていたりして、左右対称性がない。そのため、横向きの二輪車を示す画像を上下で分割して、下部分のみ左右対称性を考慮した特徴量を採用することで、横向きの二輪車を精度よく識別できるようになる。一方、例えば、横向き二輪車の車輪部分だけを左右対称性を用いて識別しようとすると、横向きの大型トラックの車輪を誤って検出するなど、二輪車の車輪を正しく識別できない場合が発生する。また、例えば、左右対称性を考慮しない特徴量を用いた場合には、乗員ありの横向き二輪車の下半分が左右対称性であるという特徴を利用しないため、左右対称性を利用する場合よりも識別性能は低くなる。
【0053】
また、ウィンドウ画像の下部の領域について、左右対称に位置する複数のセルからなるブロックを走査して得られる各ブロックに対して、勾配ヒストグラムを計算して、画像特徴ベクトルを生成することで、二輪車の下部分のような、左右対称性を持つ画像部分に対して、より検出性能の高い画像特徴ベクトル(画像特徴量)を得ることができる。
【0054】
なお、上記の実施の形態では、ウィンドウ画像の下部の領域について、各ブロックが、上下に隣接するブロックとオーバーラップするように設定される場合を例に説明したが、これに限定されるものではなく、更に左右に隣接するブロックともオーバーラップするように各ブロックが設定されてもよい。この場合には、ウィンドウ画像の下部の領域について、ウィンドウ画像を左右に二分する中心線を軸として左右対称に位置する所定個のセルを足し合わせたブロックを、
図8(A)〜(F)に示すように走査して、複数のブロックを設定すればよい。
【0055】
また、乗員ありの横向き二輪車を示す画像の上部に関して、左右両端は背景のみが写りこんでいることが多いため、その部分を無視して、画像特徴ベクトルを生成してもよい。例えば、ウィンドウ画像の上部の左右両端部には、ブロックを設定しないようにすればよい。これによって、識別性能をさらに高めることができる。
【0056】
また、画像特徴量として、勾配ヒストグラムを用いる場合を例に説明したが、これに限定されるものではなく、上部の領域について、左右対称性に応じて変化しない画像特徴量であれば、他の画像特徴量を用いてもよい。また、下部の領域について、左右対称性に応じて変化する画像特徴量であれば、他の画像特徴量を用いてもよい。
【0057】
また、撮像装置から撮像画像を取得し、識別対象の画像とした場合を例に説明したが、これに限定されるものではなく、ハードディスク装置に記憶されている撮像画像を読み込み、読み込んだ撮像画像を、識別対象の画像としてもよい。
【0058】
なお、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムをCDROM等の記憶媒体に格納して提供することも可能である。