(57)【要約】【課題】画像の複数の特徴を抽出し、それらを組み合わせてオブジェクト検出を行う手法を高速に並列処理すること。【解決手段】画像の互いに異なる特徴毎に設けられ、一の注目領域から特徴を抽出する処理を互いに並列に行う複数の特徴量算出部と、組み合わせ毎に設けられ、複数の特徴量算出部から出力された特徴から、組み合わせを構成する特徴を取得する処理を互いに並列に行う複数の組み合わせ部と、複数の組み合わせ部毎に対応して設けられ、該組み合わせ部毎に取得された特徴により、オブジェクトの識別を互いに並列に行う複数の識別部と、を有するオブジェクト検出装置。【選択図】図２
2010204947.tif 000002
【特許請求の範囲】
【請求項１】
画像の互いに異なる特徴毎に設けられ、一の注目領域から特徴を抽出する処理を互いに並列に行う複数の特徴量算出部と、
前記注目領域が有する前記特徴の組み合わせ毎に設けられ、複数の前記特徴量算出部から出力された特徴から、前記組み合わせを構成する特徴を取得する処理を互いに並列に行う複数の組み合わせ部と、
複数の前記組み合わせ部毎に対応して設けられ、該組み合わせ部毎に取得された特徴により、オブジェクトの識別を互いに並列に行う複数の識別部と、
を有することを特徴とするオブジェクト検出装置。
【請求項２】
前記特徴量算出部のそれぞれは、抽出する前記特徴の種類が同一の前記特徴量算出部毎に、前記特徴を抽出する処理を互いに排他的に行うことを特徴とする請求項１記載のオブジェクト検出装置。
【請求項３】
複数の前記特徴量算出部が出力する特徴の情報を格納する特徴量記憶部を有し、
前記組み合わせ部は、前記特徴量記憶部から、前記特徴を取得することを特徴とする請求項１又は２記載のオブジェクト検出装置。
【請求項４】
入力される画像に対し、複数の注目領域を設定する注目領域設定部と、
前記注目領域毎に設けられ、前記注目領域におけるオブジェクトの有無を検出する、複数の識別器と、
を有し、
前記識別器は、
画像の互いに異なる特徴毎に設けられ、前記注目領域から前記特徴を抽出する処理を互いに並列に行う複数の特徴量算出部と、
前記特徴の組み合わせ毎に設けられ、複数の前記特徴量算出部から出力された前記特徴から、前記組み合わせを構成する特徴を取得する処理を互いに並列に行う複数の組み合わせ部と、
複数の前記組み合わせ部毎に対応して設けられ、該組み合わせ部毎に取得された前記特徴により、前記オブジェクトの識別を互いに並列に行う複数の識別部と、
を有することを特徴とするオブジェクト検出装置。
【請求項５】
前記識別器がオブジェクトを検出する際に用いる画像の特徴に係る情報を、前記識別器が有する複数の前記特徴量算出部の処理順に対応する順で保持する、記憶部を有することを特徴とする請求項４記載のオブジェクト検出装置。
【請求項６】
一の注目領域から、画像の互いに異なる特徴を抽出する処理を、互いに並列に行う複数の特徴量算出ステップと、
複数の前記特徴量算出ステップから出力された前記特徴から、前記注目領域が有する前記特徴の組み合わせを構成する前記特徴を取得する処理を前記組み合わせ毎に互いに並列に行う複数の組み合わせステップと、
前記組み合わせステップにおいて取得された前記特徴の組み合わせ毎に、オブジェクトの識別を互いに並列に行う複数の識別ステップと、
を有することを特徴とするオブジェクト検出方法。
【請求項７】
前記特徴量算出ステップのそれぞれは、抽出する前記特徴の種類毎に、互いに排他的に実行されることを特徴とする請求項６記載のオブジェクト検出方法。
【請求項８】
入力される画像に対し、複数の前記注目領域を設定する注目領域設定ステップと、
前記注目領域設定ステップにおいて設定された前記注目領域毎に、請求項６又は７に記載のオブジェクト検出方法により、前記注目領域における前記所定のオブジェクトの有無を検出する、複数の識別ステップと、
を有することを特徴とするオブジェクト検出方法。
【請求項９】
一の注目領域から、画像の互いに異なる特徴を抽出する処理を、互いに並列に行う複数の特徴量算出ステップと、
複数の前記特徴量算出ステップから出力された前記特徴から、注目領域が有する前記特徴の組み合わせを構成する前記特徴を取得する処理を前記組み合わせ毎に互いに並列に行う複数の組み合わせステップと、
前記組み合わせステップにおいて取得された前記特徴の組み合わせ毎に、オブジェクトの識別を互いに並列に行う複数の識別ステップと、
を有することを特徴とするオブジェクト検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像から人物の顔などのオブジェクトを検出するための装置、方法、プログラムなどの技術に関する。
【背景技術】
【０００２】
画像から人物の顔などのオブジェクトを検出するための手法が開示されている（非特許文献１）。この手法では、画像内の注目領域にオブジェクトが写っているかどうかを識別するために、その注目領域内に複数の画素領域の組を設定する。そして、各画素領域の組の明度の差分値（Ｈａｒｒ−Ｌｉｋｅ特徴）を計算し、その値と事前に学習によって定められたしきい値とを比較することにより、注目領域にオブジェクトが写っているかどうかを識別する。１回のしきい値処理だけではオブジェクトの検出精度は低いものの、画素領域の配置を変えてしきい値処理を複数回繰り返すことで高い検出精度が得られることが知られている。
【０００３】
また、複数の特徴同士の相関（共起性）を評価するために、複数の明度差分値（Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴）のしきい値処理を組み合わせることによって、より高精度にオブジェクトを検出する手法が開示されている（特許文献１）。人物の顔は基本的に左右対称であり、目や眉毛などの特徴は左右２箇所に配置されている。そこで、このオブジェクト検出装置では、単一の明度差分値のしきい値処理を組み合わせるのではなく、左右２箇所に複数の特徴が同時に含まれるという人物の顔に固有の知識を活用している。
【０００４】
一方、近年では多くの映像機器にＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が搭載されるようになってきている。元々、ＧＰＵはゲームなどで３次元ＣＧ（コンピュータグラフィックス）を高速に表示することに特化した専用ハードウェアだったが、近年ではＣＧ以外の処理であっても高速に実行できる汎用的な並列プロセッサへと進化している。非特許文献２では、非特許文献１のオブジェクト検出の手法をＧＰＵで高速に処理させるための並列化技法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６８８２５号公報
【非特許文献】
【０００６】
【非特許文献１】”Ｒａｐｉｄ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  Ｂｏｏｓｔｅｄ  Ｃａｓｃａｄｅ  ｏｆ  Ｓｉｍｐｌｅ  Ｆｅａｔｕｒｅｓ”，  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ），  ２００１．
【非特許文献２】”Ｂｏｏｓｔｅｄ  Ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  Ｖｉｓｕａｌ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ”，  Ａｓｉａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＡＣＣＶ），  ２００６．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示のＪｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴を用いたオブジェクト検出方法は、種類の異なる複数の明度差分値のしきい値処理が含まれるため、１つの特徴を算出する処理を並列化して高速化することが困難である。
【０００８】
本発明は、上記の点に鑑みて、画像の複数の特徴を抽出し、オブジェクト検出を行う手法を高速に並列処理することを目的としている。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の一態様によるオブジェクト検出装置は、画像が有する一の注目領域における所定のオブジェクトの有無を、該注目領域が有する画像の特徴の組み合わせにより検出するオブジェクト検出装置であって、画像の互いに異なる特徴毎に設けられ、一の前記注目領域から前記特徴を抽出する処理を互いに並列に行う複数の特徴量算出部と、前記組み合わせ毎に設けられ、複数の前記特徴量算出部から出力された特徴から、前記組み合わせを構成する特徴を取得する処理を互いに並列に行う複数の組み合わせ部と、複数の前記組み合わせ部毎に対応して設けられ、該組み合わせ部毎に取得された特徴により、前記所定のオブジェクトの識別を互いに並列に行う複数の識別部と、を有することを特徴とする。
【００１０】
また、本発明の一態様によるオブジェクト検出装置は、画像における所定のオブジェクトの有無を、前記画像の特徴の組み合わせにより検出するオブジェクト検出装置であって、入力される画像に対し、複数の注目領域を設定する注目領域設定部と、前記注目領域毎に設けられ、前記注目領域における前記所定のオブジェクトの有無を検出する、複数の識別器と、を有し、前記識別器は、画像の互いに異なる特徴毎に設けられ、前記注目領域から前記特徴を抽出する処理を互いに並列に行う複数の特徴量算出部と、前記組み合わせ毎に設けられ、複数の前記特徴量算出部から出力された特徴から、前記組み合わせを構成する特徴を取得する処理を互いに並列に行う複数の組み合わせ部と、複数の前記組み合わせ部毎に対応して設けられ、該組み合わせ部毎に取得された特徴により、前記所定のオブジェクトの識別を互いに並列に行う複数の識別部と、を有することを特徴とする。
【００１１】
また、本発明の一態様によるオブジェクト検出方法は、画像が有する一の注目領域における所定のオブジェクトの有無を、該注目領域が有する画像の特徴の組み合わせにより検出するオブジェクト検出方法であって、一の前記注目領域から、画像の互いに異なる特徴を抽出する処理を、互いに並列に行う複数の特徴量算出ステップと、複数の前記特徴量算出ステップから出力された特徴から、前記組み合わせを構成する特徴を取得する処理を前記組み合わせ毎に互いに並列に行う複数の組み合わせステップと、前記組み合わせステップにおいて取得された特徴の組み合わせ毎に、前記所定のオブジェクトの識別を互いに並列に行う複数の識別ステップと、を有することを特徴とする。
【００１２】
また、本発明の一態様によるオブジェクト検出プログラムは、画像が有する一の注目領域における所定のオブジェクトの有無を、該注目領域が有する画像の特徴の組み合わせにより検出するオブジェクト検出方法をコンピュータに実行させるためのプログラムであって、一の前記注目領域から、画像の互いに異なる特徴を抽出する処理を、互いに並列に行う複数の特徴量算出ステップと、複数の前記特徴量算出ステップから出力された特徴から、前記組み合わせを構成する特徴を取得する処理を前記組み合わせ毎に互いに並列に行う複数の組み合わせステップと、前記組み合わせステップにおいて取得された特徴の組み合わせ毎に、前記所定のオブジェクトの識別を互いに並列に行う複数の識別ステップと、を有することを特徴とするオブジェクト検出方法をコンピュータに実行させる。
【発明の効果】
【００１３】
本発明によれば、画像の複数の特徴を抽出し、オブジェクト検出を行う手法を高速に並列処理するオブジェクト検出装置、オブジェクト検出方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施形態のオブジェクト検出装置の概略構成を表すブロック図。
【図２】図２は、識別器１０５の詳細を説明する図。
【図３】図３は、画素領域の組の例を示す図。
【図４】図４は、画素領域の形状をすべて矩形に限定した場合の例を示す図。
【図５】図５は、顔画像の上に複数の特徴を配置した例を示す図。
【図６】図６は、グループ毎に同じ種類の特徴を算出する際に用いるデータの構造を示す図。
【図７】図７は、オブジェクト検出処理の全体の処理を説明するフロー図。
【図８】図８は、識別器１０５の詳細な処理を説明するフロー図。
【図９】図９は、本実施の形態に係るオブジェクト検出装置を実現するハードウェアの構成の例を示す図。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面に基づき説明する。以下の実施の形態では、画像の複数の特徴を抽出してオブジェクト検出する例として、Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴を用いる例を説明するが、本実施の形態は、Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴を用いる例に限らない。画像の複数の特徴を、同一の種類毎に抽出し、異なる種類の組み合わせを含む、それらの組み合わせにより、オブジェクト検出する手法に適用することができる。
【００１６】
〔第１の実施の形態〕
図１は、本実施の形態に係るオブジェクト検出装置の概略構成を表すブロック図である。図１では、オブジェクト検出装置の各ブロック間のデータの流れを矢印で示している。本実施の形態に係るオブジェクト検出装置は、入力部１０１、第１前処理部１０２、注目領域設定部１０３、第２前処理部１０４、識別器１０５、学習情報記憶部１０６、後処理部１０７、及び、出力部１０８を有する。
【００１７】
入力部１０１は、オブジェクト検出の処理対象となる画像が入力される。画像は、ハードディスク装置（ＨＤＤ）、ＤＲＡＭ、ＥＥＰＲＯＭなどの記憶装置に記憶されているとよい。画像は、また、カメラなどの撮像機器によって入力されてもよい。画像は、何らかの方式で符号化（圧縮）されたデータが、デコーダにより復号されて入力されてもよい。
【００１８】
第１前処理部１０２は、画像全体に対して平滑化や明度補正などの前処理を施して、画像に含まれているノイズや照明変動の影響などを取り除く。前処理として、画素の明度の対数をとるとよい。オブジェクト検出処理では、明度そのものの差分値ではなく、明度の対数の差分値を用いることにより、事前の学習で用いたサンプル画像とは異なるダイナミックレンジをもつ画像であっても精度よくオブジェクトを検出することができる。
【００１９】
第１前処理部１０２は、ヒストグラム平坦化や、明度の平均と分散を一定に揃える前処理を施してもよい。第１前処理部１０２は、入力される画像に対し、何も処理せずにそのまま画像を後段に出力してもよい。
【００２０】
注目領域設定部１０３は、オブジェクト検出の対象となる注目領域を設定する。注目領域は所定の大きさの矩形領域であり、走査ウィンドウとも呼ばれる。注目領域は画像の原点から所定のステップ幅で縦横に移動させた位置に複数設定される。
【００２１】
本実施の形態に係るオブジェクト検出装置は、画像に写っているオブジェクトと注目領域とがほぼ同等の大きさの場合に、その注目領域にオブジェクトが写っていると識別する。また、オブジェクトとは異なる位置に設定された注目領域、及び、オブジェクトと大きさが合わない注目領域は、オブジェクトは写っていないと識別する。
【００２２】
そこで、注目領域設定部１０３は、様々な大きさの注目領域を設定する。これにより、画像に写っている様々な大きさのオブジェクトを検出することができる。
【００２３】
複数の注目領域間の並列処理を行わないオブジェクト検出装置では、注目領域、すなわち、走査ウィンドウを所定のステップ幅で移動させながら、逐次的にオブジェクト検出の処理を実行する。また、注目領域の大きさを順次変えて、同様の処理を繰り返す。
【００２４】
本実施の形態に係るオブジェクト検出装置は、位置や大きさの異なる様々な注目領域に対するオブジェクト検出の処理を、逐次的に実行するのではなく、ＧＰＵなどの並列プロセッサを用いて並列に実行する。そのため、後述する第２前処理部１０４と識別部１０５とは、処理する注目領域と同じ数だけ存在する。
【００２５】
第２前処理部１０４は、注目領域設定部１０３によって設定された各注目領域内の部分画像に対して前処理を施す。第２前処理部１０４は、第２前処理部１０４Ａないし第２前処理部１０４Ｃを有する。これらの第２前処理部は、処理する注目領域の数だけ設けられる。第１前処理部１０２が画像全体に前処理を施すのに対して、第２前処理部１０４は、注目領域内の部分画像ごとに前処理を施す。なお第２前処理部１０４は、何も処理せずに部分画像を後段に出力してもよい。
【００２６】
識別器１０５は、各注目領域内の部分画像に対して、オブジェクトが写っているかどうかを識別する処理を行う。オブジェクトが写っている場合には、識別器１０５は、その注目領域の位置を検出位置とする。識別器１０５の詳細については後に図２を参照して説明する。
【００２７】
学習情報記憶部１０６は、識別器１０５がオブジェクトを検出する際に参照する各種データを記憶する記憶装置である。学習情報記憶部１０６は、例えば、ＨＤＤ、ＤＲＡＭ、又は、フラッシュメモリ等である。学習情報記憶部１０６が記憶するデータは、画像の特徴を表す情報であり、例えば、明度差分値を計算する際の画素領域の位置や形状の情報、それらの組み合わせの情報、及び、しきい値などが含まれる。これらのデータはサンプル画像を用いた学習によって事前に作成される。
【００２８】
後処理部１０７は、複数の注目領域に対する識別処理において得られた複数の検出位置を１つに併合し、１つのオブジェクトに対して１つの検出位置が得る。注目領域設定部１０３が設定した、様々な位置、様々な大きさの注目領域に対し、識別器１０５が識別を行うことにより、注目領域の大きさやステップ幅によっては、１つのオブジェクトに対して複数個の検出位置が得られる。後処理部１０７は、これらの識別結果を統合する。
【００２９】
出力部１０８は、オブジェクト検出の結果に関する情報を出力する。出力部１０８は、例えば、その情報を、ＨＤＤ、ＤＲＡＭ、ＥＥＰＲＯＭなどの記憶装置に記憶する。出力部１０８は、また、その情報を、図示しない別の装置、システム、又は、プログラムなどに出力してもよい。
【００３０】
図２は、識別器１０５の詳細を説明する図である。図２では、識別器１０５が有する一の識別器である、識別器１０５Ａを例に説明するが、他の識別器も同様である。識別器１０５Ａは、特徴量算出部２０１ａないし２０１ｉ、量子化部２０２ａないし２０２ｉ、特徴量記憶部２０３、アドレス変換テーブル記憶部２１０、組み合わせ部２０４ａないし２０４ｅ、識別部２０５ａないし２０５ｅ、及び、統合部２０６を有する。
【００３１】
特徴量算出部２０１ａないし２０１ｉと量子化部２０２ａないし２０２ｉとは、複数のグループに分けられる。グループ２０７には、特徴量算出部２０１ａないし２０１ｃと量子化部２０２ａないし２０２ｃとが属する。グループ２０８には、特徴量算出部２０１ｄないし２０１ｆと量子化部２０２ｄないし２０２ｆとが属する。グループ２０９には、特徴量算出部２０１ｇないし２０１ｉと量子化部２０２ｇないし２０２ｉとが属する。
【００３２】
先ず、一の特徴量算出部２０１である特徴量算出部２０１ａについて説明する。特徴量算出部２０１ａは、第２前処理部１０４Ａから出力された部分画像内に複数の画素領域の組を設定し、各画素領域の組に属する画素の重み付き和を計算する。
【００３３】
図３は、画素領域の組の例を示す図である。組３０１は３個の画素領域を有しており、組３０２は２個の画素領域を有している。各画素領域の位置や形状、画素領域の総数などは、サンプル画像を用いた学習によって事前に作成され、学習情報記憶部１０６に記憶される。
【００３４】
特徴量算出部２０１ａは、例えば、図３に示す組３０１ないし組３０４のうちの、一の組に対する特徴量を算出する。特徴量算出部２０１ａが、画素領域の組に対して算出する特徴量は、画素値の重み付き和Ｄである。式（１）は、画素値の重み付き和Ｄを計算する式である。
【数１】
2010204947.tif 000003
【００３５】
式（１）において、ｎは画素領域の数、ｗｉは各画素領域の重み、Ｉｉは各画素領域内の画素値の総和である。例えば、図３に示すように画素領域を白と黒の２つの組に分けたとすると、重み付き和Ｄは次式（２）によって計算できる。
【数２】
2010204947.tif 000004
【００３６】
式（２）において、Ｗｗ及びＷＢはそれぞれ白及び黒の画素領域の重みであり、Ｉｗ及びＩＢはそれぞれ白及び黒の画素領域に属する画素値の総和である。特に、白及び黒の画素領域の面積（画素数）をそれぞれＡｗ及びＡＢとし、重みＷｗ及びＷＢを式（３）により定義する。
【数３】
2010204947.tif 000005
【００３７】
式（２）における重み付き和Ｄは画素領域の平均明度の差分値となる。重み付き和Ｄの値は、画素領域の配置や大きさ、形状によって様々な値をとり、その画像の特徴を表現する特徴量となる。本実施の形態では、重み付き和Ｄを「特徴量」と呼び、画素領域の組を「特徴」あるいは「特徴領域」と呼ぶ。
【００３８】
なお、本実施の形態では、式（２）及び式（３）によって定義される平均明度の差分値を特徴量として用いる例について説明するが、平均明度の差分値の代わりに、平均明度の絶対値あるいは平均明度の対数の差分値を特徴量として用いるのでも構わない。また、画素領域の大きさは、１つの画素でもよいが、画素領域が小さいとノイズの影響を受けやすくなるので、複数の画素から平均明度を求めるとよい。
【００３９】
図４は、画素領域の形状をすべて矩形に限定した場合の例を示す図である。特徴４０１は上下に隣接する２個の矩形領域４０１Ａと４０１Ｂを有している。特徴４０２は、左右に隣接する２個の矩形領域を有している。
【００４０】
特徴４０１及び特徴４０２は、最も基本的な矩形領域の組であり、これらから得られる特徴量は明度勾配、すなわち、エッジの向きと強さを表現している。矩形の面積が大きいほど空間周波数が低いエッジ特徴を抽出できる。また、明度の差分の絶対値を特徴量として用いると、明度勾配の向きを表現できなくなるが、エッジの有無を求めることができる。これは、背景の明度が不定なオブジェクトの輪郭部分に対して有効な特徴量である。
【００４１】
特徴４０３は、水平方向に並んだ３個の矩形領域４０３Ａないし４０３Ｃ、特徴４０４は、垂直方向に並んだ３個の矩形領域４０４Ａないし４０４Ｃを有している。
【００４２】
特徴４０５は、斜め方向に２つの矩形領域４０５Ａ及び４０５Ｂを有する。矩形領域４０５Ａと４０５Ｂは斜めに配置されているので、特徴４０５は斜め方向の明度勾配を求めることができる。特徴４０６は、４個の矩形領域が縦２列横２列に配置される。特徴４０７は、一の矩形領域４０７Ａの中に別の矩形領域４０７Ｂを含む。特徴４０７は、孤立点を検出する際に有効な特徴量である。
【００４３】
特徴４０１ないし特徴４０７に例示したように、画素領域の形状を矩形に限定すると、Ｉｎｔｅｇｒａｌ  Ｉｍａｇｅを利用して画素値の総和を求める計算量を削減することができる。
【００４４】
また、画素領域の各組を隣接させて配置することにより、局所領域における明度の増減傾向を評価することが可能になる。例えば、日中の屋外で撮影された画像からオブジェクトを検出する場合、照明の影響でオブジェクト表面に大きな明度変化が生じることが多い。しかし、局所領域における明度の増減傾向に着目すれば、そのような絶対的な明度変化の影響を受けにくくなる。
【００４５】
本実施の形態に係るオブジェクト検出の処理は、隣接する矩形領域の組を特徴として用いるため、計算量が小さく、照明条件の変動に対して頑健である。
【００４６】
図５は、検出対象のオブジェクトが人間の顔の場合に、顔画像の上に複数の特徴を配置した例を示す図である。画像５０１は検出対象となる顔の画像であり、正面から撮影された例である。正面から撮影された顔画像はほぼ左右対称である。
【００４７】
画像５０２は、２つの特徴を両目付近に配置した例である。画像５０２が有する各矩形領域から得られる明度勾配の向きや強度には相関がある。Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴は、特徴同士の相関を利用することによってオブジェクト検出の精度を向上させる。単一の特徴だけではオブジェクトかどうかの識別が難しい場合であっても、検出対象に応じて適切に特徴を組み合わせることでより正確に識別することが可能になる。
【００４８】
画像５０３ないし５０５も、同様に、矩形領域から得られる特徴間の相関を利用して、オブジェクト検出の精度をあげるための、組を説明する例である。
【００４９】
画像５０３は、３個の矩形領域の特徴を両目にまたがるように配置し、さらに、２個の矩形領域の特徴を唇付近に配置した例である。これらの２つの特徴を配置することにより、人間の顔の眉間の部分は目の部分よりも明るく、唇はその周辺より暗い、という、顔に固有の２種類の特徴を兼ね備えているかどうかを評価することが可能になる。
【００５０】
画像５０４及び画像５０５は、３つの特徴を配置した例である。このように、特徴の数や種類を適切に選択することで、検出対象に固有の特徴の組み合わせを表現することができる。
【００５１】
並列処理を行わないオブジェクト検出装置では、例えば、１つの識別器に複数の特徴量算出部が含まれており、各特徴量算出部に対して１つの特徴が割り当てられる。例えば、画像５０２及び５０３のように２つの特徴が配置された場合、１つの識別器に含まれる２つの特徴量算出部に対してそれぞれ処理が割り当てられる。同様に、５０４及び５０５のように３つの特徴が配置された場合、１つの識別器に含まれる３つの特徴量算出部に対してそれぞれ処理が割り当てられる。
【００５２】
並列処理を行わないオブジェクト検出装置は、さらに、この識別器を複数備えることにより、異なる特徴の組み合わせに対する識別結果を統合して、より高精度な識別結果を得る。例えば、ある識別器に画像５０２に対する特徴量を算出させるとともに、別の識別器に画像５０３に対する特徴量を並列に算出させ、得られた２つの識別結果を統合して最終的に顔のオブジェクトであるかどうかを判定する。
【００５３】
しかしながら、このような識別器の構成は、ＧＰＵなどの並列プロセッサを用いて実行するのに適していない。ＧＰＵの並列処理の方式はＳＰＭＤ（Ｓｉｎｇｌｅ  Ｐｒｏｇｒａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）と呼ばれ、非常に多くのデータに対して並列に処理を適用することができるが、その処理を行うプログラムはすべて同一である必要がある。すなわち、ＧＰＵでは、ある時刻に実行されるプログラムはただ１つであり、複数のプログラムを並列に実行することはできない。上述したように、異なる特徴の組み合わせが割り当てられた複数の識別器を並列に動作させるためには、それぞれの識別器において異なるプログラムを動かして特徴量を算出する必要がある。もちろん、プログラム内で条件分岐することである程度処理手順を切り替えることはできるが、よく知られているように、ＧＰＵなどの並列プロセッサでは、実行するプログラムに条件分岐が含まれると処理性能が大幅に損なわれてしまう。
【００５４】
本実施の形態におけるオブジェクト検出装置では、検出対象に応じて組み合わされた複数の特徴を、組み合わされたまま扱うのではなく、いったん分解して、同じ種類の特徴ごとにグループ分けし、グループごとにＧＰＵによる並列処理を適用する。同じグループに属する特徴、すなわち同じ種類の特徴は、矩形領域の数や並び方が同じであるため、１つのプログラムによって条件分岐せずに並列処理することができる。したがって、本実施形態におけるオブジェクト検出装置では、ＧＰＵを用いて効率良く特徴量を算出することが可能になる。
【００５５】
本実施の形態におけるオブジェクト検出の手順を、図５の顔画像の例を用いて説明する。画像５０２の右目及び左目付近と、画像５０４の鼻付近と、画像５０５の左目及び鼻付近とには、同じ種類の特徴が配置されている。これらの特徴は、２組の矩形領域を水平方向に並べたものであり、図４の特徴４０２である。配置される位置や矩形領域の大きさ、白黒の並び順に違いがあるものの、矩形領域の数や並び方が同じであるため、１つのプログラムによって条件分岐せずに処理することが可能である。したがって、これらの特徴を同じグループにまとめれば、ＧＰＵが効率良く処理することができる。なお、矩形領域の数や並び方を、特徴の種類という。
【００５６】
また、画像５０３と５０４との両目付近には、３組の矩形領域を両目にまたがるように水平方向に並べた特徴４０３が配置されている。そこで、画像５０３の特徴４０３を算出する処理と、画像５０４の特徴４０３を算出する処理とは、同じグループにまとめられて、一のＧＰＵによって並列に処理される。
【００５７】
また、画像５０３と５０４との口付近には、２組の矩形領域を垂直方向に並べた特徴４０１が配置されている。そこで、画像５０３の特徴４０１を算出する処理と、画像５０４の特徴４０１を算出する処理とは、同じグループにまとめられて、一のＧＰＵによって並列に処理される。
【００５８】
本実施の形態におけるオブジェクト検出装置では、識別器１０５の内部の構成を、ＧＰＵなどの並列プロセッサを用いて効率良く実行できるようにする。図２に示したように、識別器１０５の内部では、複数の特徴量算出部２０１と、複数の量子化部２０２とが、グループ２０７、２０８、及び、２０９の複数のグループにまとめられている。同じグループに属する特徴量算出部２０１及び量子化部２０２では、同じ種類の特徴に対する処理が並列に実行される。例えば、グループ２０７では特徴４０１に対する処理が並列に実行され、グループ２０８では特徴４０２に対する処理が並列に実行され、グループ２０９では特徴４０３に対する処理が並列に実行される。
【００５９】
同じ種類の特徴をグループにまとめる処理は事前に行われ、その結果は学習情報記憶部１０６に記憶される。図６は、グループ毎に同じ種類の特徴を算出する際に用いるデータの構造を示す図である。このデータは、識別器１０５がオブジェクトを検出する際に参照する各種データである。
【００６０】
図６（ａ）は学習情報記憶部１０６に記憶されているデータの配置の例を示している。図６（ｂ）は、図６（ａ）の一部をより詳細に表したものである。図６（ｃ）は、図６（ｂ）の一部をより詳細に表したものである。
【００６１】
図６（ａ）では、同じグループに属する特徴量算出部２０１によって参照される各種データが、メモリ上に連続して記憶されている。図６（ｂ）では、一のグループに属する特徴量算出部２０１が参照する各種データが、同じ種類のデータ毎にまとめられてメモリ上に連続して記憶される。図６（ｂ）におけるデータＡ、データＢ、データＣは、それぞれ、特徴の配置される位置、矩形領域の大きさ、白黒の並び順等、特徴量に関する各種データである。
【００６２】
図６（ｃ）では、同じ種類の各種データが、特徴量算出部２０１ａ、２０１ｂ、２０１ｃのそれぞれによって参照される順にメモリ上に連続して記憶されている。
【００６３】
グループ２０７に属する各特徴量算出部２０１ａ、２０１ｂ、２０１ｃを並列に動作させて特徴量を算出する場合、まず、特徴量算出部２０１ａ、２０１ｂ、２０１ｃによってデータＡが並列に読み出される。このとき、学習情報記憶部１０６における一続きの連続するアドレスがアクセスされる。次に、特徴量算出部２０１ａ、２０１ｂ、２０１ｃによってデータＢが並列に読み出され、その後、同じようにデータＣが並列に読み出される。いずれの読み出しにおいても、学習情報記憶部１０６における一続きの連続するアドレスがアクセスされる。すべてのデータを読み出し終えたら、特徴量算出部２０１ａ、２０１ｂ、２０１ｃにおいて特徴量を算出する処理が並列に実行される。それが終わったら、次にグループ２０８に属する特徴量が同様の手順で計算される。
【００６４】
ＧＰＵ等の並列プロセッサでは、一続きの連続するメモリアドレスを並列にアクセスすることにより、より効率よく、すなわち、高速にデータを読み書きすることができる。学習情報記憶部１０６は、図６に示したように、特徴量を並列に算出する際にアクセスする各種データのアドレスが、一続きに連続して読み書きされる配置になっている。これにより、ＧＰＵなどの並列プロセッサによって効率よくデータを読み出すことが可能である。
【００６５】
図２に戻り、各識別器１０５は、学習情報記憶部１０６からグループ分けに関する情報を読み出し、その情報に基づいて、特徴量算出部２０１に対して処理する特徴を割り当てる。なお、ここで分解された複数の特徴は、後述する組み合わせ部２０４において元通りに組み合わされる。
【００６６】
量子化部２０２ａないし２０２ｉのそれぞれは、接続している特徴量算出部２０１により計算された特徴量、すなわち、画素値の重み付き和を複数の段階に量子化する。量子化部２０２が特徴量を何段階に量子化するかの情報と、量子化のためのしきい値は、サンプル画像を用いた学習によって予め作成され、学習情報記憶部１０６に記憶される。例えば、２段階に量子化した場合、量子化部２０２から出力される値は０か１のどちらかの値になる。量子化された特徴量を量子化特徴量と呼ぶ。
【００６７】
特徴量記憶部２０３は、複数の量子化部２０２から出力された量子化特徴量を記憶する記憶装置である。特徴量記憶部２０３は、例えば、ＨＤＤ、ＤＲＡＭ、又は、ＥＥＰＲＯＭ等である。
【００６８】
アドレス変換テーブル記憶部２１０は、各組み合わせ部２０４において組み合わされる各量子化特徴量が、特徴量記憶部２０３のどのメモリアドレスに記憶されているかを表すテーブルデータを記憶する記憶装置である。アドレス変換テーブル記憶部２１０は、例えば、ＨＤＤ、ＤＲＡＭ、又は、ＥＥＰＲＯＭ等である。
【００６９】
組み合わせ部２０４は、Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴にしたがい特徴が組み合わされた組を生成する。組み合わせ部２０４は、まず、アドレス変換テーブル記憶部２１０に記憶されているアドレス変換テーブルを参照して、組み合わせる複数の量子化特徴量が記憶されている特徴量記憶部２０３のメモリアドレスを得る。組み合わせ部２０４は、さらに、得られたメモリアドレスに記憶されている複数の量子化特徴量を読み出し、後段の識別部２０５へ出力する。
【００７０】
各識別部２０５は、組み合わせ部２０４毎に出力する複数の量子化特徴量の値に基づいて注目領域内の部分画像にオブジェクトが写っているかどうかを識別する。より詳細には、まず、入力されたすべての量子化特徴量を同時に観測する確率を、確率テーブルを参照することによって求める。なお、同時に観測する確率を、同時確率という。確率テーブルは、識別部２０５毎に設けられる図示しない記憶部に格納されてもよく、また、図示しない一以上の記憶部に、複数の識別部２０５が参照する確率テーブルが格納されてもよい。
【００７１】
確率テーブルには、検出対象のオブジェクトに関するテーブルと、非オブジェクトに関するテーブルとの２種類がある。なお、非オブジェクトとは、「オブジェクトではない」ことを表す。確率テーブルは、サンプル画像を用いた学習によって事前に作成され、学習情報記憶部１０６に記憶される。識別部２０５は、これら２つのテーブルを参照して２つの確率値を求める。これら２つの確率値は尤度ともいう。
【００７２】
次に、識別部２０５は、次式（４）を用いて得られた２つの尤度を比較することにより、オブジェクトかどうかを識別する。
【数４】
2010204947.tif 000006
【００７３】
式（４）において、ｈｔ（ｘ）は識別関数であり、画像ｘに対する識別結果を得る関数である。Ｐ（ｖ１、…、ｖｆ、…、ｖＦ｜Ｏｂｊｅｃｔ）、Ｐ（ｖ１、…、ｖｆ、…、ｖＦ｜ｎｏｎ−Ｏｂｊｅｃｔ）は、それぞれ、確率テーブルから参照されたオブジェクトの尤度、及び、非オブジェクトの尤度である。ｖｆは量子化特徴量の値である。λはオブジェクトかどうかを識別するためのしきい値であり、サンプル画像を用いた学習によって事前に作成され、学習情報記憶部１０６に記憶される。
【００７４】
識別部２０５は、（注目領域内の部分画像がオブジェクトであることを示すラベル＋１）、及び、（注目領域内の部分画像が非オブジェクトであることを示すラベル−１）の２種類の離散値を出力する。識別部２０５は、また、尤度比やその対数の比、すなわち対数尤度比を出力してもよい。対数尤度比の値は、注目領域内の部分画像がオブジェクトであれば正の値になり、非オブジェクトであれば負の値となる。
【００７５】
識別部２０５が参照する確率テーブルのサイズは、特徴の数と各特徴量の量子化段階の数によって決まる。例えば、３つの特徴を用いる識別部２０５において、各特徴から得られる特徴量を２段階に量子化する場合、量子化特徴量の組み合わせの総数は２×２×２＝８通りとなる。そこで、合計Ｆ組の特徴に対して、ｆ番目の特徴から得られる特徴量をそれぞれＬｆ段階に量子化したとすると、量子化特徴量の組み合わせの総数ＬＡは次式（５）で計算される。
【数５】
2010204947.tif 000007
【００７６】
本実施の形態では、２種類の確率テーブルに確率値を格納しておき、それらから読み出した２つの確率値を比較する。しかし、１種類のテーブルに比較結果を格納しておき、このテーブルを参照するように構成しても構わない。この場合にテーブルに格納しておく値としては、＋１か−１等のラベルや上記尤度比の値、又は、上記対数尤度比の値等がよい。これにより、計算コストを削減することができる。
【００７７】
統合部２０６は、識別部２０５のそれぞれから出力される複数の識別結果を統合して最終的な識別結果を求める。識別部２０５の数をＴとすると、次式（６）により、Ｔ個の識別結果ｈｔ（ｘ）の重み付き多数決として、最終的な識別結果Ｈ（ｘ）を求める。
【数６】
2010204947.tif 000008
【００７８】
式（６）において、αｔは各識別部２０５の重みであり、サンプル画像を用いた学習によって事前に作成され、学習情報記憶部１０６に記憶される。統合部２０６は、得られた識別結果Ｈ（ｘ）と予め定められたしきい値を比較することにより、最終的に部分画像がオブジェクトであるかどうかを判定する。通常はしきい値として０を用い、統合部２０６はＨ（ｘ）の値が正であるか、あるいは負であるかによって判定を行う。
【００７９】
図７は、オブジェクト検出処理の全体の処理を説明するフロー図である。図７のステップＳ６０１では、入力部１０１から画像が入力される。ステップＳ６０１に続いてステップＳ６０２に進み、第１前処理部１０２が、ステップＳ６０１で入力された画像に対し前処理を行う。この処理は、画像全体に対して行われる。
【００８０】
ステップＳ６０２に続いてステップＳ６０３に進み、注目領域設定部１０３が、複数の注目領域１０３ａないし１０３ｃを設定する。なお、ここで設定される注目領域の数は、識別器の数と同数であるとよい。ステップＳ６０３に続いてステップＳ６０４ａないしステップＳ６０４ｃに進む。
【００８１】
ステップＳ６０４ａでは、第２前処理部１０４Ａが、注目領域１０３ａ内の部分画像に前処理を施す。ステップＳ６０４ａに続いてステップＳ６０５ａに進み、識別器１０５Ａが、注目領域１０３ａ内の部分画像からオブジェクトを検出する処理を行う。
【００８２】
ステップＳ６０４ｂとステップＳ６０５ｂ、及び、ステップＳ６０４ｃとステップＳ６０５ｃにおける処理は、第２前処理部１０４と識別器１０５とが異なる他は、同一であるので、ここでは説明を省略する。
【００８３】
ステップＳ６０５ａないしステップＳ６０５ｃに続いてステップＳ６０６に進み、後処理部１０７が、複数のステップＳ６０４とステップＳ６０５との検出結果を１つに併合する。ステップＳ６０６に続いてステップＳ６０７に進み、出力部１０８が、ステップＳ６０６のオブジェクト検出の結果を出力する。
【００８４】
図８は、識別器１０５の詳細な処理を説明するフロー図である。図８のステップＳ１００では、グループ２０７における特徴を算出する処理が行われる。ステップＳ１００は、ステップＳ１０１、ステップＳ１０２、ステップＳ１１１、ステップＳ１１２、ステップＳ１２１、及び、ステップＳ１２２を含む。
【００８５】
ステップＳ１０１では、特徴量算出部２０１ａが、設定された部分画像における特徴量を算出する。ステップＳ１０１に続いてステップＳ１０２に進み、量子化部２０２ａが、ステップＳ１０１で取得された特徴量を量子化して量子化特徴量を算出する。算出された量子化特徴量は、特徴量記憶部２０３に格納される。
【００８６】
ステップＳ１００における他のステップの処理は、グループ２０７が有する特徴量算出部と量子化部との組み合わせにより実現され、その処理は、ステップＳ１０１及びステップＳ１０２と同一であるので、ここでは説明を省略する。なお、ステップＳ１００において算出される特徴の種類は、同一である。
【００８７】
ステップＳ１００に続いてステップＳ２００に進み、グループ２０８における特徴を算出する処理が行われる。ステップＳ２００の処理は、算出される特徴の種類が、ステップＳ１００と異なる他は、ステップＳ１００と同一であるので、説明を省略する。
【００８８】
ステップＳ２００に続いてステップＳ３００に進み、グループ２０９における特徴を算出する処理が行われる。ステップＳ３００の処理は、算出される特徴の種類が、ステップＳ１００及びステップＳ２００と異なる他は、ステップＳ１００又はステップＳ２００と同一であるので、ここでは説明を省略する。
【００８９】
ステップＳ３００に続いてステップＳ４００に進み、組み合わせ部２０４ａないし組み合わせ部２０４ｅが、Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴毎に含まれる量子化特徴量の組み合わせを生成し、識別部２０５ａないし識別部２０５ｅが、組み合わされた量子化特徴量によるオブジェクトの識別を行う。
【００９０】
ステップＳ４００は、ステップＳ４０１、ステップＳ４０２、ステップＳ４１１、ステップＳ４１２、ステップＳ４２１、ステップＳ４２２、ステップＳ４３１、ステップＳ４３２、ステップＳ４４１、及び、ステップＳ４４２を含む。
【００９１】
ステップＳ４０１では、組み合わせ部２０４ａが、一のＪｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴を構成する１以上の量子化特徴量を、アドレス変換テーブルに基づいて、特徴量記憶部２０３から読み出して取得し、識別部２０５ａに対して出力する。
【００９２】
ステップＳ４０１に続いてステップＳ４０２に進み、識別部２０５ａが、ステップＳ４０１で読み出された量子化特徴量によるオブジェクトの識別を行う。ステップＳ４００における他のステップの処理は、処理を実行する組み合わせ部及び識別部が互いに異なる他は、ステップＳ４０１及びステップＳ４０２と同一であるので、ここでは説明を省略する。
【００９３】
ステップＳ４００に続いてステップＳ５００に進み、統合部２０６が、ステップＳ４００に含まれる各ステップの処理による検出結果を統合する。
【００９４】
図９は、本実施の形態に係るオブジェクト検出装置を実現するハードウェアの構成の例を示す図である。図９の構成は、ＣＰＵ５１、ＲＡＭ５２、ＶＲＡＭ５３、ＧＰＵ１０、及び、ＨＤＤ９０を有する。
【００９５】
ＣＰＵ５１は、ＲＡＭ５２等に格納されるプログラムを読み出して実行する。これにより、ＣＰＵ５１は、第１前処理部１０２、及び、注目領域設定部１０３の機能を実現する。ＲＡＭ５２は、ＣＰＵ５１がプログラムを実行する際のワークメモリ、及び、プログラム等を格納するメモリである。
【００９６】
ＶＲＡＭ５３は、本実施の形態に係るオブジェクト検出方法が実行される画像を格納するメモリである。ＧＰＵ１０は、本実施の形態に係るオブジェクト検出方法における、複数の前処理、及び、複数の識別処理を、並列に実行する。ＨＤＤ９０は、画像又はプログラム等が格納される。
【００９７】
本実施の形態に係るオブジェクト検出装置によれば、Ｊｏｉｎｔ  Ｈａｒｒ−Ｌｉｋｅ特徴を用いて画像から人物の顔などのオブジェクトを検出するための手法を、ＧＰＵを用いて効率良く実行することが可能になる。
【００９８】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００９９】
１０１ 入力部
１０２ 前処理部
１０３ 注目領域設定部
１０４、１０４Ａ、１０４Ｂ、１０４Ｃ      前処理部
１０５、１０５Ａ、１０５Ｂ、１０５Ｃ      識別器
１０６ 学習情報記憶部
１０７ 後処理部
１０８ 出力部
２０１、２０１ａないし２０１ｉ     特徴量算出部
２０２、２０２ａないし２０２ｉ     量子化部
２０３ 特徴量記憶部
２０４、２０４ａないし２０４ｅ     組み合わせ部
２０５、２０５ａないし２０４ｅ     識別部
２０６ 統合部
２１０ アドレス変換テーブル記憶部
【図１】
2010204947.tif 000009
【図２】
2010204947.tif 000010
【図３】
2010204947.tif 000011
【図４】
2010204947.tif 000012
【図５】
2010204947.tif 000013
【図６】
2010204947.tif 000014
【図７】
2010204947.tif 000015
【図８】
2010204947.tif 000016
【図９】
2010204947.tif 000017