(58)【調査した分野】(Int.Cl.,DB名)
前記画像ピラミッド生成部は、第1レイヤ画像と、前記第1所定縮小率よりも小さい第2所定縮小率だけ前記第1レイヤ画像を縮小させた第2レイヤ画像とを含む、前記画像ピラミッドを生成する、請求項1に記載の画像処理装置。
【発明を実施するための形態】
【0008】
(実施形態)
以下、図面を参照して実施形態を説明する。
【0009】
(構成)
図1は、実施形態に関わる、画像処理装置1の構成の一例を示すブロック図である。
図2は、実施形態に関わる、画像処理装置1の検出処理を説明するための説明図である。
図2の文字「A」は、説明のため、模式的に示したオブジェクトの一例である。
図3は、実施形態に関わる、画像処理装置1の検出処理を説明するための説明図である。
図4は、実施形態に関わる、画像処理装置1のグルーピング処理を説明するための説明図である。
【0010】
画像処理装置1は、メモリ11、画像ピラミッド生成部21、特徴量算出部31、及び、プロセッサ41を有する。
【0011】
メモリ11は、SRAM又はDRAM等の記憶素子によって構成される。メモリ11は、画像ピラミッド生成部21、特徴量算出部31及びプロセッサ41と接続される。
【0012】
メモリ11は、入力画像I、画像ピラミッドIp、第1辞書W1及び第2辞書W2等の各種データを記憶する。また、メモリ11は、照合部42のプログラムP1及び判定部43のプログラムP2も記憶する。
【0013】
メモリ11は、例えばカメラ又は記憶媒体等の外部装置から入力画像Iが入力される。メモリ11は、画像ピラミッド生成部21によって入力画像Iを読み出し可能である。
【0014】
メモリ11は、画像ピラミッド生成部21から画像ピラミッドIpが入力される。メモリ11は、特徴量算出部31によって画像ピラミッドIpを読み出し可能である。
【0015】
第1辞書W1及び第2辞書W2は、互いに異なるサイズのオブジェクトの検出に用いる。
【0016】
第1オブジェクトは、所定サイズを有する検出対象のオブジェクトである。第2オブジェクトは、第1オブジェクトを第1所定縮小率だけ縮小した、検出対象のオブジェクトである。以下、第1オブジェクト及び第2オブジェクトの両方又はいずれか一方を示すとき、オブジェクトという。
【0017】
第1辞書W1は、第1オブジェクトを検出するための第1重みWz1を有する。第2辞書W2は、第2オブジェクトを検出するための第2重み量Wz2を有する。以下、第1重み量Wz1及び第2重み量Wz2の両方又はいずれか一方を示すとき、重み量Wzという。
【0018】
第1重み量Wz1及び第2重み量Wz2は、互いに構造が同じである。例えば、第1重み量Wz1の構成要素数がn個であれば、第2重み量Wz2の構成要素数もn個である。
【0019】
重み量Wzは、所定の学習処理によって予め生成される。
図2に示すように、第1辞書W1は、オブジェクト領域A1を有する第1教師画像J1によって学習が行われる。第2辞書W2は、オブジェクト領域A1から第1所定縮小率だけ縮小されたオブジェクト領域A2を有する第2教師画像J2によって学習が行われる。オブジェクト領域A1には第1オブジェクトを配置可能である。オブジェクト領域A2には第2オブジェクトを配置可能である。
図2の例では、第1所定縮小率は、0.6である。
【0020】
所定の学習処理では、オブジェクトが配置された第1教師画像J1及び第2教師画像J2に基づいて算出された特徴量F(z)との演算結果が相対的に大きくなり、一方、オブジェクトが配置されていない第1教師画像J1及び第2教師画像J2に基づいて算出された特徴量F(z)との演算結果が相対的に小さくなるように、重み量Wzを生成する。
【0021】
すなわち、メモリ11は、第1オブジェクトを検出するための第1辞書W1と、第1オブジェクトを第1所定縮小率だけ縮小した第2オブジェクトを検出するための第2辞書W2とを記憶する。第1辞書W1は、第1オブジェクトを有する第1教師画像J1に基づいて、所定の学習処理によって生成され、第2辞書W2は、第2オブジェクトを有する第2教師画像J2に基づいて、所定の学習処理によって生成される。第1辞書W1は、第1オブジェクトを検出するための第1重み量Wz1を有し、第2辞書W2は、第2オブジェクトを検出するための第2重み量Wz2を有する。
【0022】
図3に示すように、画像ピラミッド生成部21は、画像ピラミッドIpを生成する回路である。より具体的には、画像ピラミッド生成部21は、メモリ11から読み込んだ入力画像Iに基づいて、レイヤ画像Lを有する画像ピラミッドIpを生成し、メモリ11に出力する。レイヤ画像L間の縮小率は、第2所定縮小率に設定される。
【0023】
図3は、入力画像Iから第1レイヤ画像L1と、第1レイヤ画像L1を第2所定縮小率だけ縮小させた第2レイヤ画像L2を含む、画像ピラミッドIpを生成した例である。
図3の例では、第2所定縮小率は、0.36であり、第2レイヤ画像L2が第1レイヤ画像L1から0.36倍に縮小される。以下、第1レイヤ画像L1及び第2レイヤ画像L2の全て又は一部を示すとき、レイヤ画像Lという。
【0024】
第1所定縮小率及び第2所定縮小率は、オブジェクトの検出の精度が高くなるように、経験的又は実験的に設定される。第1所定縮小率は、第2所定縮小率よりも大きい値に設定される。
図3の例では、第2所定縮小率は、第1所定縮小率の2乗に設定されるがこれに限定されない。
【0025】
すなわち、画像ピラミッド生成部21は、入力画像Iに基づいて、互いにサイズが異なる複数のレイヤ画像Lを有する画像ピラミッドIpを生成する。画像ピラミッド生成部21は、第1レイヤ画像L1と、第1所定縮小率よりも小さい第2所定縮小率だけ第1レイヤ画像L1を縮小させた第2レイヤ画像L2とを含む、画像ピラミッドIpを生成する。
【0026】
特徴量算出部31は、特徴量F(z)を算出する回路である。特徴量算出部31は、メモリ11から読み込んだ画像ピラミッドIpから特徴量F(z)を算出してプロセッサ41に出力する。
【0027】
より具体的には、特徴量算出部31は、検出枠Dによって画像ピラミッドIpに含まれるレイヤ画像Lの各々を走査する。例えば、特徴量算出部31は、レイヤ画像L内において、検出枠Dを移動させてx方向へ走査を行い、x方向の走査が終了すると、y方向に1つ移動してx方向へ走査を行う。xy方向の走査が終了すると、特徴量算出部31は、次のレイヤに配置されたレイヤ画像Lの走査を行う。
【0028】
特徴量算出部31は、レイヤ画像Lから検出枠D内の画像を取得し、特徴量F(z)を算出する。特徴量F(z)は、例えば、検出枠D内の画素の各々に基づいて、勾配を算出し、勾配を階級としてヒストグラム化することによって算出する。例えば、特徴量算出部31は、検出枠D内の画素の各々が、8つの輝度勾配方向a1〜a8のいずれであるかを算出し、輝度勾配方向a1〜a8の度数に基づいて、特徴量F(z)、(但し、z=a1〜a8)を算出する。
【0029】
なお、特徴量F(z)は、これに限定されず、検出枠D内の分割領域の勾配強度に基づいて算出してもよいし、検出枠D内の画素の色相に基づいて算出してもよいし、検出枠D内の検出枠D内の画素をそのまま特徴量F(z)にしてもよいし、また、他の方法によって算出してもよい。所定の学習処理では、特徴量算出部31における特徴量F(z)の算出方法に基づいて、重み量Wzの学習が行われる。
【0030】
プロセッサ41は、MPU等の処理装置によって構成される。プロセッサ41は、画像処理装置1内の各部と接続され、画像処理装置1内の各部の制御を行う。プロセッサ41は、メモリ11からプログラムP1、P2を読み込み、プログラムP1を実行することによって照合部42の機能を実現し、プログラムP2を実行することによって判定部43の機能を実現する。プロセッサ41は、外部装置と接続され、判定部43の判定結果Zを外部装置に出力する。
【0031】
照合部42は、第1辞書W1及び第2辞書W2の各々と、レイヤ画像L内を移動する検出枠D内の検出枠内画像との照合を行う。より具体的には、照合部42は、第1重み量Wz1と特徴量F(z)に基づく所定の演算を行い、第1尤度を算出する。また、照合部42は、第2重み量Wz2と特徴量F(z)に基づく所定の演算を行い、第2尤度を算出する。照合部42は、第1尤度及び第2尤度と、第1尤度及び第2尤度に対応付けられたレイヤ画像Lのレイヤ方向の位置であるレイヤ方向位置及び検出枠Dの枠座標とを含む照合結果Yを判定部43に出力する。
【0032】
所定の演算は、例えば、数式(1)に示すように、重み量Wz(z)と特徴量F(z)の内積演算である。数式(1)において、Scが第1尤度又は第2尤度のいずれか一方である。
Sc=ΣWz(z)・F(z)、(但し、z=1からn)
=Wz(1)×F(1)+Wz(2)×F(2)・・・Wz(n)×F(n)・・・(1)
【0033】
すなわち、照合部42は、第1重み量Wz1及び第2重み量Wz2の各々と、検出枠内画像から算出した特徴量F(z)との演算によって照合を行う。
【0034】
判定部43は、判定処理を行い、照合部42から入力された照合結果Yに基づいて、オブジェクトの検出数、検出位置、検出サイズ、検出スコアを含む判定結果Zを出力する。
【0035】
判定部43は、第1尤度又は第2尤度の少なくとも一方が所定尤度閾値以上である検出候補を抽出する。所定尤度閾値は、第1尤度及び第2尤度に基づいて、オブジェクトが検出できるように、経験的又は実験的に設定される。検出候補が複数抽出されると、判定部43は、互いの検出候補に対応付けられたレイヤ方向位置及び枠座標に基づいて、グルーピング処理を行い、同一オブジェクトと判定された検出候補をグルーピングし、検出候補グループを生成する。
【0036】
図4に示すように、グルーピング処理では、判定部43は、検出候補と全部又は一部の領域が重なり合う重複検出候補を、他の検出候補の中から抽出する。続いて、判定部43は、重なり合った部位における重なり面積Sm1と、検出候補及び重複検出候補によって区画された検出候補面積Sm2とを算出する。続いて、Sm1/Sm2の算出値が所定面積閾値以上であるとき、判定部43は、検出候補と重複検出候補を同一オブジェクトであると判定する。
図4の例では、判定部43は、検出候補D1について、検出候補D1の他の検出候補D2〜D4の中から、重複検出候補D2、D3を抽出する。続いて、判定部43は、
図4のハッチングによって示される重なり面積Sm1と、実線によって囲まれた検出候補面積Sm2を算出し、Sm1/Sm2の算出値が所定面積閾値以上であるとき、検出候補D1と重複検出候補D2を同一オブジェクトであると判定する。重複検出候補D3は、Sm1/Sm2の算出値が所定面積閾値未満であり、同一オブジェクトではないと判定された例である。
【0037】
判定部43は、検出候補グループの数と、グルーピングされていない検出候補の数とを合計し、検出数を決定する。
【0038】
判定部43は、検出位置を決定する。検出候補グループの検出位置は、検出候補グループに含まれる複数の検出候補に対応付けられた枠座標の中心位置に応じて決定される。グルーピングされていない検出候補の検出位置は、検出候補に対応付けられた枠座標の中心位置に応じて決定される。
【0039】
判定部43は、レイヤ方向位置、第1尤度、第2尤度に基づいて、検出候補グループ及びグルーピングされていない検出候補の検出サイズを決定する。より具体的には、判定部43は、レイヤ方向位置におけるレイヤ画像Lの入力画像Iに対する縮小率を算出する。続いて、判定部43は、オブジェクト領域A1、A2のサイズと縮小率に基づいて、検出サイズを決定する。例えば、判定部43は、オブジェクト領域A1、A2のサイズが16画素×16画素であり、縮小率が0.5であるとき、オブジェクト領域A1、A2のサイズに縮小率の逆数を乗算し、検出サイズを32×32画素に応じて決定する。オブジェクト領域A1、A2のサイズは、第1尤度が第2尤度以上であるとき、オブジェクト領域A1のサイズが用いられ、一方、第1尤度が第2尤度未満であるとき、オブジェクト領域A2のサイズが用いられる。すなわち、判定部43は、第1尤度が第2尤度以上であるとき、第1オブジェクトのサイズに応じて検出サイズを決定し、第1尤度が第2尤度未満であるとき、第2オブジェクトのサイズに応じて検出サイズを決定する。
【0040】
判定部43は、第1尤度と第2尤度のいずれか高い方を検出スコアに決定する。
【0041】
なお、上述の処理は、判定部43における判定処理の一例であって、判定処理を限定するものではない。判定部43は、上述の判定処理以外の処理によってオブジェクトの検出数、検出位置、検出サイズ、検出スコアを決定してもよい。
【0042】
(作用)
次に、実施形態に係る画像処理装置1の作用について説明をする。
【0043】
図5は、実施形態に関わる、画像処理装置1の検出処理の流れの一例を説明するためのフローチャートである。
【0044】
画像処理装置1は、入力画像Iを入力する(S1)。メモリ11は、入力された入力画像Iを記憶する。画像ピラミッド生成部21は、メモリ11に記憶された入力画像Iを読み込み、画像ピラミッドIpを生成する(S2)。画像ピラミッド生成部21は、画像ピラミッドIpをメモリ11に出力する。メモリ11は、画像ピラミッドIpを記憶する(S3)。
【0045】
特徴量算出部31は、走査対象のレイヤ画像Lを決定する(S4)。S4〜S12は、繰り返して処理が行われ、特徴量算出部31は、繰り返し回数に応じ、走査対象のレイヤ画像Lを決定する。
【0046】
特徴量算出部31は、検出枠Dの位置を決定する(S5)。S5〜S11は、繰り返して処理が行われ、特徴量算出部31は、繰り返し回数に応じ、レイヤ画像Lを走査する検出枠Dの位置を決定する。
【0047】
特徴量算出部31は、特徴量F(z)を算出する(S6)。特徴量算出部31は、検出枠D内の画像に基づいて、特徴量F(z)を算出し、プロセッサ41に出力する。
【0048】
プロセッサ41は、照合部42の処理を実行する。照合部42は、第1辞書W1に基づいて、第1尤度を算出する(S7)。照合部42は、第1尤度、レイヤ方向位置、及び、枠座標を含む照合結果Yをメモリ11に出力して記憶させる(S8)。照合部42は、第2辞書W2に基づいて、第2尤度を算出する(S9)。照合部42は、第2尤度、レイヤ方向位置、及び、枠座標を含む照合結果Yをメモリ11に出力して記憶させる(S10)。S7及びS8と、S9及びS10とは、並列的に処理されるが、直列的に処理されても構わない。
【0049】
全ての位置の検出枠Dの処理が終了していないとき、処理はS5に戻る(S11:NO)。一方、全ての位置の検出枠Dの処理が終了しているとき、処理はS12に進む(S11:YES)。
【0050】
全てのレイヤ画像Lの処理が終了していないとき、処理は、S4に戻る(S12:NO)。一方、全てのレイヤ画像Lの処理が終了しているとき、処理は、S13に進む(S12:YES)。
【0051】
判定部43は、メモリ11から照合結果Yを読み込み、判定処理を行う(S13)。判定部43は、判定処理によってオブジェクトの検出数、検出位置、検出サイズ、検出スコアを決定する。判定部43は、判定結果Zを外部装置に出力する(S14)。
【0052】
S1〜S14の処理が画像処理装置1の検出処理を構成する。
【0053】
これにより、画像処理装置1では、第1辞書W1及び第2辞書W2を用い、1つのレイヤ画像Lから互いに異なるサイズの第1オブジェクト及び第2オブジェクトの検出を行う。
図3の例では、例えば第1レイヤ画像L1aを有しなくても、第1レイヤ画像L1において、第2オブジェクトを検出することができる。したがって、画像処理装置1では、検出精度を落とすことなく、生成時の処理コストの高い第1レイヤ画像L1a、L2aを削減可能であり、処理コストが軽減される。
【0054】
また、画像処理装置1では、第1辞書W1及び第2辞書W2において、検出枠Dに対するオブジェクトのサイズが互いに異なるように設定され、あたかも他のレイヤ画像Lも含めて探索を行うように、現レイヤ画像Lの探索を行うことができる。
【0055】
つまり、画像処理装置1は、検出枠Dから抽出した検出枠内画像、又は、検出枠内画像から取得された特徴量F(z)に対してオブジェクトのサイズが互いに異なる2種類の尤度計算を行い、1つのレイヤ画像Lに対する1回の探索により、あたかも2つのレイヤ画像Lに対する探索を行ったかのような効果を得ることができる。すなわち、画像処理装置1では、1回の探索における検出枠Dの各位置において、複数の辞書を用いた複数回の尤度計算を行う。
【0056】
レイヤ画像Lは、データ量が大きく、レイヤ画像Lを1個余計に処理すると、外部メモリとのアクセス頻度が増え、画像縮小処理の処理負荷の増大、メモリ必要量の増大を招く。探索1回に対しても、例えば、1辺が1000画素程度の画像に対してくまなく探索するためには、検出枠Dを数千箇所の位置に置いて、検出枠内画像を抽出し、特徴量F(z)を計算しなければならないので、処理コストが増大する。それに対して、特徴量F(z)と第1辞書W1及び第2辞書W2を用いた尤度計算は、ほぼ特徴量F(z)の次元の内積演算で済むため、尤度計算を1個余計に行うときの処理コストの増加はそれ程大きくない。
【0057】
実施形態によれば、画像処理装置1は、検出精度を落とすことなく、より処理コストを軽減でき、入力画像Iからオブジェクトの検出をすることができる。
【0058】
なお、実施形態では、画像処理装置1は、第1辞書W1及び第2辞書W2を有するがこれに限定されず、第3辞書を有してもよいし、それ以上の数の辞書を有してもよい。
【0059】
なお、実施形態では、各部の機能は、回路の構成及びプロセッサ41が実行するプログラムP1、P2によって実現されるが、回路の構成をプロセッサ41が実行するプログラムによって実現してよいし、プログラムP1、P2によって実現される機能を回路によって構成してもよい。
【0060】
本発明の実施形態を説明したが、これらの実施形態は、例として示したものであり、本発明の範囲を限定することは意図していない。これら新規の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。