(57)【要約】【課題】  照明等の変動要因があっても安定した画像認識を実現する。【解決手段】  局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上であれば、当該局所領域の中央の画素に対して「１」を割り当てる。また、この値が閾値−Ｔｈ以下であれば、当該局所領域の中央の画素に対して「０」を割り当てる。また、この値が閾値−Ｔｈ超、閾値Ｔｈ未満であれば、当該局所領域の中央の画素に対して「０」及び「１」を割り当てる。そして、割り当てた符号の組み合わせのそれぞれをＬＢＰコード（投票値）としてヒストグラムを作成する。【選択図】  図１
2015041226.tif 000002
【特許請求の範囲】
【請求項１】
物体を含む画像を取得する画像取得手段と、
前記画像取得手段により取得された前記画像に対してヒストグラム生成領域を設定する領域設定手段と、
前記ヒストグラム生成領域における２つの画素の画素値のペアに対応する少なくとも１つのコードを生成し、生成した前記コードから符号化コードを生成する符号化コード生成手段と、
前記符号化コード生成手段により生成された前記符号化コードを投票値としてヒストグラムを生成するヒストグラム生成手段と、
前記ヒストグラム生成手段により生成された前記ヒストグラムに基づいて前記物体の属性を認識する属性認識手段と、
前記符号化コード生成手段は、前記２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする画像認識装置。
【請求項２】
前記ヒストグラム生成領域の面積が所定の値よりも小さいか否かを判定する面積判定手段をさらに有し、
前記符号化コード生成手段は、前記面積判定手段により、前記ヒストグラム生成領域の面積が所定の値よりも小さいと判定された場合であって、前記２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記２つの画素の画素値の領域が、エッジ強度が弱い不安定な領域であるか否かを判定する安定領域判定手段をさらに有し、
前記符号化コード生成手段は、前記安定領域判定手段により、前記２つの画素の画素値の領域が、エッジ強度が弱い不安定な領域であると判定された場合であって、当該２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする請求項１又は２に記載の画像認識装置。
【請求項４】
前記符号化コード生成手段は、前記２つの画素の画素値のペアに対応するコードを１つずつ組み合わせたものを前記符号化コードとして生成することを特徴とする請求項１〜３の何れか１項に記載の画像認識装置。
【請求項５】
前記符号化コード生成手段は、前記ヒストグラム生成領域における基準となる画素とその他の画素を前記２つの画素として、当該２つの画素の画素値のペアに対応するコードを生成することを、前記ヒストグラム生成領域における前記その他の画素の全てについて行った結果から、前記２つの画素の画素値のペアに対応するコードを生成することを特徴とする請求項１〜４の何れか１項に記載の画像認識装置。
【請求項６】
前記符号化コード生成手段により生成される前記符号化コードは、ＬＢＰ（Local Binary Pattern）コードであることを特徴とする請求項１〜５の何れか１項に記載の画像認識装置。
【請求項７】
前記物体は、顔であることを特徴とする請求項１〜６の何れか１項に記載の画像認識装置。
【請求項８】
物体を含む画像を取得する画像取得工程と、
前記画像取得工程により取得された前記画像に対してヒストグラム生成領域を設定する領域設定工程と、
前記ヒストグラム生成領域における２つの画素の画素値のペアに対応する少なくとも１つのコードを生成し、生成した前記コードから符号化コードを生成する符号化コード生成工程と、
前記符号化コード生成工程により生成された前記符号化コードを投票値としてヒストグラムを生成するヒストグラム生成工程と、
前記ヒストグラム生成工程により生成された前記ヒストグラムに基づいて前記物体の属性を認識する属性認識工程と、
前記符号化コード生成工程は、前記２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする画像認識方法。
【請求項９】
前記ヒストグラム生成領域の面積が所定の値よりも小さいか否かを判定する面積判定工程をさらに有し、
前記符号化コード生成工程は、前記面積判定工程により、前記ヒストグラム生成領域の面積が所定の値よりも小さいと判定された場合であって、前記２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする請求項８に記載の画像認識方法。
【請求項１０】
前記２つの画素の画素値の領域が、エッジ強度が弱い不安定な領域であるか否かを判定する安定領域判定工程をさらに有し、
前記符号化コード生成工程は、前記安定領域判定工程により、前記２つの画素の画素値の領域が、エッジ強度が弱い不安定な領域であると判定された場合であって、当該２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする請求項８又は９に記載の画像認識方法。
【請求項１１】
前記符号化コード生成工程は、前記２つの画素の画素値のペアに対応するコードを１つずつ組み合わせたものを前記符号化コードとして生成することを特徴とする請求項８〜１０の何れか１項に記載の画像認識方法。
【請求項１２】
前記符号化コード生成工程は、前記ヒストグラム生成領域における基準となる画素とその他の画素を前記２つの画素として、当該２つの画素の画素値のペアに対応するコードを生成することを、前記ヒストグラム生成領域における前記その他の画素の全てについて行った結果から、前記２つの画素の画素値のペアに対応するコードを生成することを特徴とする請求項８〜１１の何れか１項に記載の画像認識方法。
【請求項１３】
前記符号化コード生成工程により生成される前記符号化コードは、ＬＢＰ（Local Binary Pattern）コードであることを特徴とする請求項８〜１２の何れか１項に記載の画像認識方法。
【請求項１４】
前記物体は、顔であることを特徴とする請求項８〜１３の何れか１項に記載の画像認識方法。
【請求項１５】
請求項８〜１４の何れか１項に記載の画像認識方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識装置、画像認識方法、及びコンピュータプログラムに関し、特に、画像認識を行うために用いて好適なものである。
【背景技術】
【０００２】
画像認識技術は、オートシャッター、画像検索等の多くのアプリケーションに有用であり、近年、画像認識に関する様々な特徴量が提案されている。
例えば、特許文献１には、照明の変動に対してロバストな特徴量を生成するために、或る局所領域内で、中央の画素値と周囲の画素値との大小関係に基づいて２値化処理を行う技術が開示されている。図１６は、特許文献１に記載の技術における２値化処理の手法の一例を説明する図である。図１６に示すように、特許文献１に記載の技術では、３×３の画素の領域の中央の画素の画素値Ｉｃと、その周辺の画素の画素値Ｉｎ（ｎ＝１〜８）と、の夫々の大小関係を比較する。そして、(中央の画素値Ｉｃ−周辺の画素値Ｉｎ）が所定の閾値Ｔｈ以上であるならば「１」、それ以外は「０」とする２値化処理を実施し、２値化した画素値を連結することでバイナリーコードを生成する。
【０００３】
一方、局所領域で特徴量をヒストグラム化するヒストグラム特徴は、位置ずれの変化にロバストな特徴であるため、注目されている。
例えば、非特許文献１には、特許文献１に示されているようなバイナリーコードから、横軸をバイナリーコード、縦軸を頻度としたヒストグラムを生成し、生成したヒストグラムを利用して表情の認識をする技術が提案されている。このようなヒストグラムを、Local Binary Pattern（ＬＢＰ）ヒストグラムと称する。
また、このようなバイナリーコード以外にも、非特許文献２のようにしてヒストグラムを生成して人体を認識する技術が提案されている。かかる技術では、まず、或る注目画素の上下左右の位置にある画素の画素値を使用して、輝度勾配と輝度方向とを求める。そして、横軸を輝度勾配の方向、縦軸を輝度勾配の強度和としたヒストグラムを生成し、生成したヒストグラムを利用して人体を検出する。更に非特許文献２では、輝度勾配の強度をヒストグラムビンに投票する際、１つのビンに対して投票せずに、輝度勾配の方向に基づいて２つのビンに対して重み付けをし、それに基づいて、輝度勾配の強度を分配して各ビンに投票することも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１８８５０４号公報
【非特許文献】
【０００５】
【非特許文献１】C. Shan, T. Gritti, "Learning discriminative lbp-histogram bins for facial expression recognition", Proc. British Machine Vision Conference, 2008
【非特許文献２】N. Dalal, B. Triggs, "Histograms of Oriented Gradients for Human Detection", Computer Vision and Pattern Recognition (CVPR), 2005
【非特許文献３】P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", in Proc. Of CVPR, vol.1, pp.511-518, December, 2001
【発明の概要】
【発明が解決しようとする課題】
【０００６】
変動等に左右されない安定的な画像認識技術を実現するためには、変動等に左右されないヒストグラム特徴を生成することが重要である。
しかしながら、特許文献１に記載の技術のように、中央の画素の輝度値とその周辺の画素の輝度値との大小関係に基づいてコード変換し、ヒストグラムを生成する方法では、照明等の変動要因の影響で輝度値が変化する。このため、照明等の変動要因の有無で、図１７のように異なるコード（投票値）が生成される可能性がある。図１７（ａ）、（ｂ）は、特許文献１に記載の技術によりバイナリー変換を行った結果の第１、第２の例を示す図である。図１７に示す例では、閾値Ｔｈを「０（ゼロ）」とする。そうすると、図１７（ａ）では、中央の画素の輝度値（＝１２５）から、その上の画素の輝度値（１２４）を引いた値（＝１）は閾値Ｔｈ以上となるので、２値化処理の結果は「１」となる。一方、図１７（ｂ）に示す例では、中央の画素の輝度値（＝１２５）から、その上の画素の輝度値（１２６）を引いた値（＝−１）は閾値Ｔｈ以上とならないので、２値化処理の結果は「０」となる。このように輝度値が僅かにしか異ならないのにもかかわらず、２値化処理の結果が異なることになる。
【０００７】
また、ヒストグラムを生成する領域が小さい場合には、ヒストグラムを生成する領域が大きい場合と比較すると、ヒストグラムビンへの投票数が少なくなるため、１つの投票値に対する重みが大きくなる。このような問題を抱えているため、例えば、個人を特定する個人認証に、このヒストグラム特徴を適用した場合には、同一人物の同一範囲から形状の異なるヒストグラムが生成され、別の人物と判定される可能性がある。つまり、画像の認識成功率の低下に繋がる。
以上述べた問題は、個人を特定する個人認証の他に、顔の表情を認識する表情認識、更には顔以外の特定の物体を検出する物体検出でも同様である。
本発明は、このような課題に鑑みてなされたものであり、照明等の変動要因があっても安定した画像認識を実現することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像認識装置は、物体を含む画像を取得する画像取得手段と、前記画像取得手段により取得された前記画像に対してヒストグラム生成領域を設定する領域設定手段と、前記ヒストグラム生成領域における２つの画素の画素値のペアに対応する少なくとも１つのコードを生成し、生成した前記コードから符号化コードを生成する符号化コード生成手段と、前記符号化コード生成手段により生成された前記符号化コードを投票値としてヒストグラムを生成するヒストグラム生成手段と、前記ヒストグラム生成手段により生成された前記ヒストグラムに基づいて前記物体の属性を認識する属性認識手段と、前記符号化コード生成手段は、前記２つの画素の画素値の一方から他方を引いた値が、第１の閾値から第２の閾値までの間にある場合に、当該２つの画素の画素値のペアに対応するコードとして複数のコードを生成することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、照明等の変動要因があっても安定した画像認識を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】画像認識装置の構成の一例を示す図である。
【図２】画像認識装置の全体処理の一例を説明するフローチャートである。
【図３】正規化画像に対して設定されるヒストグラム生成領域を示す図である。
【図４】ステップＳ２０６の詳細を説明するフローチャートである。
【図５】符号化コードを生成する方法を説明する図である。
【図６】異なるヒストグラムビンに投票値が投票される様子を示す図である。
【図７】局所領域から複数のＬＢＰコードを生成する方法を説明する図である。
【図８】ステップＳ４０２の詳細の第１の例を説明するフローチャートである。
【図９】ＬＢＰコードがヒストグラムビンに投票される様子を示す図である。
【図１０】不安定な場合と安定な場合のヒストグラム生成領域を示す図である。
【図１１】図１０のヒストグラム生成領域におけるヒストグラムを示す図である。
【図１２】ステップＳ４０２の詳細の第２の例を説明するフローチャートである。
【図１３】画像認識装置の全体構成の他の例を示す図である。
【図１４】画像認識装置の全体処理の他の例を説明するフローチャートである。
【図１５】ステップＳ４０２の詳細の第３の例を説明するフローチャートである。
【図１６】特許文献１における２値化処理の手法を説明する図である。
【図１７】特許文献１の技術によりバイナリー変換を行った結果を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態について説明する。
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。
本実施形態では、発明が解決しようとする課題で説明したLocal Binary Pattern（ＬＢＰ）ヒストグラムを生成する際に生じる問題を解決するために、画像を構成する２つの画素値の大小関係に基づいて、投票数を適応的に変化させる。以下に、本実施形態の詳細を述べる。
【００１２】
図１は、画像認識装置の全体構成の一例を示す図である。
画像認識装置１０００は、画像取得部１００、物体位置検出部２００、画像正規化部３００、領域設定部４００、適応的符号化コード生成部５００、ヒストグラム特徴生成部６００、及び属性認識部７００を備えて構成される。図２は、画像認識装置１０００の全体処理の一例を説明するフローチャートである。以下では、図２を参照しながら、画像認識装置１０００の全体処理の一例を説明する。
ステップＳ２０１において、画像取得部１００は、レンズ等の集光素子、光を電気信号に変換するＣＭＯＳセンサやＣＣＤ等の撮像素子、アナログ信号をデジタル信号に変換するＡＤ変換器、を通過することによって得られたデジタル画像データを取得する。また、画像取得部１００は、このステップＳ２０１において、間引き処理等を行うことによって、例えば、ＶＧＡ（６４０×４８０［pixel］）やＱＶＧＡ(３２０×２４０［pixel］)に変換した顔画像を取得することも可能である。このように、本実施形態では、画像認識装置１０００が撮像装置である場合を一例として示す。
【００１３】
次に、ステップＳ２０２において、物体位置検出部２００は、ステップＳ２０１で取得したデジタル画像データから、物体領域の重心の位置を検出する。本実施形態では、顔領域の中心の位置を検出する。顔検出処理としては、例えば、非特許文献３に記載されているような手法があり、本実施形態では、この手法を使用する。顔検出処理では、目や口等の顔のパーツを検出することでデジタル画像データ中に顔が存在するか否かを判定する手法がよく用いられている。そのため、ステップＳ２０２では、顔の中心座標(x，y)と共に、左右の眼の中心座標(x, y)や口の中心座標(x, y)を取得することが可能である。
【００１４】
次に、ステップＳ２０３において、物体位置検出部２００は、ステップ２０２で物体領域（顔領域）が検出されたか否かを判定する。この判定の結果、物体領域（顔領域）が検出された場合にはステップＳ２０４へ進む。一方、物体領域（顔領域）が検出されなかった場合にはステップＳ２０１に戻り、次のデジタル画像データを取得する。
ステップＳ２０４に進むと、画像正規化部３００は、ステップＳ２０２で得られた、顔の中心座標(x，y)と、左右の眼の中心座標(x，y)と、口の中心座標(x，y)とを使用して画像の切り出しと正規化処理とを行う。尚、本実施形態では、正規化処理には、アフィン変換を使用する。この正規化処理によって、例えば、左右の眼の中心座標間の距離が５０［pixcel］となり、且つ、左右の眼の中心座標を結ぶ直線が水平方向になる（つまり、顔が正立するようになる）。以下の説明では、画像正規化部３００により正規化処理が行われたデジタル画像データを必要に応じて正規化画像と称する。
【００１５】
次に、ステップＳ２０５では、領域設定部４００は、ステップＳ２０４で生成された正規化画像に対して、ヒストグラム生成領域を設定する。図３は、正規化画像に対して設定されるヒストグラム生成領域１１００、１１０１、１１０２の一例を示す図である。尚、図３では、ヒストグラム生成領域１１００、１１０１、１１０２を３つとしているが、ヒストグラム生成領域の数は、３つに限定されず、認識する属性に応じて、１つ又は複数のヒストグラム生成領域を設定していればよい。
【００１６】
次に、ステップＳ２０６において、適応的符号化コード生成部５００は、ヒストグラムの作成に必要な符号化コードを生成する。つまり、適応的符号化コード生成部５００は、ヒストグラムビンへの投票値を生成する。図４は、ステップＳ２０６における適応的符号化コード生成処理の詳細を説明するフローチャートである。
図４のステップＳ４０１において、適応的符号化コード生成部５００は、ステップＳ２０５で設定されたヒストグラム生成領域のそれぞれに対して、より細かな複数の局所領域を設定する。図５は、ヒストグラム生成領域に対して設定された局所領域を設定して符号化コードを生成する方法の一例を説明する図である。図５に示す例では、正規化画像（輝度画像）に対して設定されたヒストグラム生成領域に対して３×３の局所領域を設定する場合を例に挙げて示す。
【００１７】
ヒストグラムの生成時での投票値には、輝度等、様々なものが考えられるが、本実施形態では、非特許文献１に記載のLocal Binary Pattern（ＬＢＰ）を使用する。よって、ステップＳ４０２において、適応的符号化コード生成部５００は、コード変換としてバイナリー変換を行い、ステップＳ４０３において、適応的符号化コード生成部５００は、符号化コードとしてＬＢＰコードを取得する。このように以下では、コード変換がバイナリー変換であり、符号化コードがＬＢＰコードであるものとして説明する。
次に、ステップＳ４０４において、適応的符号化コード生成部５００は、ステップＳ４０２で設定された全てのヒストグラム生成領域に対してＬＢＰコードを取得したか否かを判定する。この判定の結果、ＬＢＰコードを取得していないヒストグラム生成領域がある場合には、ステップＳ４０１に戻る。
【００１８】
ここで、ステップＳ４０２におけるバイナリー変換、ステップＳ４０３におけるＬＢＰコードの取得の２つのステップの詳細について説明する。
１つのＬＢＰコードを取得するのに、例えば、図５のように３×３の局所領域を用いる。局所領域の中央の画素の輝度値１１０５と、その画素の周辺の画素の輝度値との大小（すなわち、局所領域の基準となる画素とその他の画素との大小）を比較することで、当該周辺の画素の輝度値を「０」又は「１」にバイナリー変換（符号化）する。その後、当該周辺の画素のうち、所定の１画素１１０６を起点として、当該周辺の画素の符号化後の値を順次連結することで、バイナリーコードを得る。例えば、図５の３×３の局所領域からは８ビットのバイナリーコード（00011110）を得ることができ、８ビットのバイナリーコード（00011110）がヒストグラムの生成時の１投票値となる。
尚、本実施形態では、３×３の局所領域から８ビットのバイナリーコードを生成する場合を例に挙げて説明した。しかしながら、５×５等の局所領域を設定しても良い。また、コード変換は２値に限定されるわけではなく、３値等、多値に変換しても良い。
【００１９】
発明が解決しようとする課題の欄で説明したように、中央の画素の画素値と、その周辺の画素の画素値との差が大きい場合には、照明や顔の向き等の変動が混入した場合でも中央の画素の画像値とその周辺の画素の画素値との大小関係が保持される。このため、このような変動があった場合でも、変動がない場合と同一のバイナリーコードが得られる。しかし、中央の画素の画像値と、その周辺の画素の画素値との差が小さい場合には、このような変動により、中央の画素の画素値と、その周辺の画素の画素値との大小関係が逆転するケースが生じ、変動の有無で異なるバイナリーコードが生成される可能性がある。
【００２０】
図６は、照明や顔の向き等の変動がある場合とない場合とで異なるヒストグラムビンに投票値（バイナリコード）が投票される様子の一例を示す図である。具体的に図６（ａ）は、照明や顔の向き等の変動がない場合に生成されたバイナリーコードがヒストグラムビンに投票される様子を示す。また、図６（ｂ）は、照明や顔の向き等の変動がある場合に生成されたバイナリーコードがヒストグラムビンに投票される様子を示す。
図６に示すように、中央の画素の画像値と、その周辺の画素の画素値との差が小さい場合に、変動の有無で異なるバイナリーコードが生成されると、それらのバイナリーコードは別々のヒストグラムビンに投票されてしまう。このため、形状の異なるヒストグラムが生成される。その結果、画像認識率の低下に繋がる可能性がある。
【００２１】
そこで、本実施形態では、３×３の局所領域から１つのＬＢＰコードを生成するのはなく、必要に応じて複数のＬＢＰコードを生成する。図７は、３×３の局所領域から複数のＬＢＰコードを生成する方法の一例を説明する図である。
図８は、ステップＳ４０２におけるバイナリー変換の方法の詳細の第１の例を説明するフローチャートである。
まず、ステップＳ８０１において、適応的符号化コード生成部５００は、局所領域の中央の画素の画素値Ｉｃと、その周囲の画素の画素値Ｉｎとのペアを１つ選択する。
【００２２】
次に、ステップＳ８０２において、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、所定の閾値Ｔｈ以上であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上である場合には、ステップＳ８０３に進む。ステップＳ８０３に進むと、適応的符号化コード生成部５００は、ステップＳ８０１で選択した画素値のペアに対応するコードとして「１」を割り当てる。そして、図８のフローチャートによる処理を終了する。
【００２３】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上でない場合には、ステップＳ８０４に進む。ステップＳ８０４に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下である場合には、ステップＳ８０５に進む。ステップＳ８０５に進むと、適応的符号化コード生成部５００は、ステップＳ８０１で選択した画素値のペアに対応するコードとして「０」を割り当てる。そして、図８のフローチャートによる処理を終了する。
【００２４】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下でない場合には、ステップＳ８０６に進む。ステップＳ８０６に進むと、適応的符号化コード生成部５００は、ステップＳ８０１で選択した画素値のペアに対応するコードとして「０」と「１」の両方を割り当てる。そして、図８のフローチャートによる処理を終了する。
尚、「０」を割り当てる第１の閾値−Ｔｈと、「１」を割り当てる第２の閾値Ｔｈの絶対値｜Ｔｈ｜を同じにする必要はなく、閾値Ｔｈ１と、閾値−Ｔｈ２といったように別の値を設定するようにしても良い。また、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値を用いたが、局所領域の中央の画素の画素値Ｉｃから、局所領域の中央の画素の周囲の画素の画素値Ｉｎを引いた値を用いてもよい。すなわち、局所領域の中央の画素の周囲の画素の画素値Ｉｎと、局所領域の中央の画素の画素値Ｉｃの一方から他方を引いた値を用いればよい。
【００２５】
以上のようにしてバイナリー変換が行われた後は、割り当てられた値の組み合わせによりＬＢＰコードが生成される。例えば、図７に示す例では、000、001、010、011の４つのＬＢＰコードが生成され、図９に示すように、それら４つのＬＢＰコードが４つのヒストグラムビンに個別に投票される。図９は、図７で得られたＬＢＰコードがヒストグラムビンに投票される様子を示す図である。
このように、中央の画素の画素値Ｉｃと、その周囲の画素の画素値Ｉｎとの差が大きい領域については、投票数が少なくなる一方で、中央の画素の画素値Ｉｃと、その周囲の画素の画素値Ｉｎとの差が小さい領域については、投票数が多くなるようにしている。
【００２６】
その結果、ステップＳ２０７において、例えば、図１０の影領域１１０７のようにエッジ強度が弱い不安定なヒストグラム生成領域に対しては、図１１（ａ）のように平滑化されたようなヒストグラムが生成される。一方で、顔表面の影領域１１０７以外の領域１１０８のようにエッジ強度が強い安定したヒストグラム生成領域に対しては、図１１（ｂ）のようにシャープなヒストグラムが生成される。図１０は、不安定なヒストグラム生成領域と安定したヒストグラム生成領域とを含む正規化画像の一例を示す図である。また、図１１は、図１０のヒストグラム生成領域におけるヒストグラムを示す図である。具体的に図１１（ａ）は、不安定なヒストグラム生成領域におけるヒストグラムを示し、図１１（ｂ）は、安定したヒストグラム生成領域におけるヒストグラムを示す。
【００２７】
以上のように、中央画素値Ｉｃと周囲画素値Ｉｎとの差の大きさに基づいて適応的に投票値を生成することで、ステップＳ２０７では、照明の変動等の影響を受け易い領域（画素値が変動し易い領域）に対して、平滑化されたようなヒストグラムが生成される。一方で、照明変動等の影響を受けにくい領域（画素値が変動しづらい領域）に対しては、シャープなヒストグラムを生成される。
【００２８】
図１及び図２の説明に戻り、ステップＳ２０７において、ヒストグラム特徴生成部６００は、ステップ２０６で生成された投票値を使用してヒストグラムを生成する。
次に、ステップＳ２０８において、ヒストグラム特徴生成部６００は、対象となる全てのヒストグラム生成領域に対してヒストグラムを生成したか否かを判定する。この判定の結果、対象となる全てのヒストグラム生成領域に対してヒストグラムを生成していない場合には、ステップＳ２０４に戻る。一方、対象となる全てのヒストグラム生成領域に対してヒストグラムを生成した場合には、ステップＳ２０９に進む。
【００２９】
次に、ステップＳ２０９において、属性認識部７００は、ステップＳ２０７で生成されたヒストグラムを使用して属性の認識を行う。本実施形態では、属性を顔の表情とする。例えば、ステップＳ２０５で設定された複数のヒストグラム生成領域から生成されるヒストグラムを連結することで特徴ベクトルを生成する。そして、非特許文献２でも使用されているSupport Vector Machine（ＳＶＭ）を用いて、生成した特徴ベクトルに基づき、顔の表情が何であるかを認識する。尚、ＳＶＭは、特定の１つの表情と、その他の表情とを区別するように予め学習されているものを利用する。
尚、本実施形態では、顔の表情を認識する場合を例に挙げて示しているが、年齢、性別、人種、更には個人を認識するようにしても良く、物体の属性を認識していれば、認識する対象は、どのようなものであってもよい。
【００３０】
次に、ステップＳ２１０において、属性認識部７００は、ステップＳ２０２で検出された全ての物体領域（顔領域）に対して、その属性（表情）を認識したか否かを判定する。この判定の結果、全ての物体領域（顔領域）に対して、その属性（表情）を認識していない場合には、ステップＳ２０４に戻る。一方、全ての物体領域（顔領域）に対して、その属性（表情）を認識した場合には、図２のフローチャートによる処理を終了する。
【００３１】
以上説明したように、ＬＢＰコードを用いたヒストグラム特徴では、照明や顔の向き等の変動の影響により、当該変動の有無で形状の異なるヒストグラムが生成され、その結果、画像認識の精度の低下に繋がるという問題があった。これに対し、本実施形態では、ヒストグラム生成領域を分割した分割領域の中央の画素の画像値とその周辺の画素の画素値との差の大きさに基づいて、ヒストグラムへの投票値の数を適応的に増加させる。具体的に本実施形態では、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上であれば、当該局所領域の中央の画素に対して「１」を割り当てる。また、この値が閾値−Ｔｈ以下であれば、当該局所領域の中央の画素に対して「０」を割り当てる。また、この値が閾値−Ｔｈ超、閾値Ｔｈ未満であれば（閾値−Ｔｈから閾値Ｔｈまでの間にあれば）、当該局所領域の中央の画素に対して「０」及び「１」を割り当てる。そして、割り当てた符号の組み合わせのそれぞれをＬＢＰコード（投票値）としてヒストグラムを生成する。したがって、変動等に影響されにくいロバストなヒストグラム特徴を生成することができる。これにより、変動等に影響されにくいロバストな画像認識処理が可能となる。
【００３２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、ヒストグラム生成領域の大きさに関わらず、ヒストグラムへの投票値の数を適応的に変化させるようにした。これに対し、本実施形態では、Local Binary Pattern（ＬＢＰ）ヒストグラムを生成する際に生じる問題を解決するために、ヒストグラム生成領域の面積が小さい場合に、ヒストグラムへの投票値の数を適応的に変化させる。このように本実施形態と第１の実施形態とは、適応的符号化コード生成処理（図２のステップＳ２０６の処理）の詳細が主として異なる。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００３３】
図４と図１２を参照しながら、本実施形態における適応的符号化コード生成処理の一例を説明する。図１２は、ステップＳ４０２におけるバイナリー変換の方法の詳細の第２の例を説明するフローチャートである。
ステップＳ４０１では、第１の実施形態と同様に、適応的符号化コード生成部５００は、ステップＳ２０５で設定されたヒストグラム生成領域に対して、より細かな局所領域を設定する。
次に、ステップＳ４０２において、適応的符号化コード生成部５００は、コード変換としてバイナリー変換を行う。図１２を参照しながら、ステップＳ４０２の詳細について説明する。
【００３４】
まず、ステップＳ１２０１において、適応的符号化コード生成部５００は、局所領域の中央の画素の画素値Ｉｃと、その周囲の画素の画素値Ｉｎとのペアを１つ選択する。
次に、ステップＳ１２０２において、適応的符号化コード生成部５００は、ステップＳ２０５で設定されたヒストグラム生成領域の面積が所定値以上であるか否かを判定する。この判定の結果、ヒストグラム生成領域の面積が所定値以上である場合には、ステップＳ１２０３に進む。
ステップＳ１２０３に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、所定の閾値Ｔｈ以上であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上である場合には、ステップＳ１２０４に進む。ステップＳ１２０４に進むと、適応的符号化コード生成部５００は、ステップＳ１２０１で選択した画素値のペアに対応するコードとして「１」を割り当てる。そして、図１２のフローチャートによる処理を終了する。
【００３５】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上でない場合には、ステップＳ１２０５に進む。ステップＳ１２０５に進むと、適応的符号化コード生成部５００は、ステップＳ１２０１で選択した画素値のペアに対応するコードとして「０」を割り当てる。そして、図１２のフローチャートによる処理を終了する。
【００３６】
ステップＳ１２０２において、ステップＳ２０５で設定されたヒストグラム生成領域の面積が所定値以上でないと判定された場合には、ステップＳ１２０６に進む。ステップＳ１２０６に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、所定の閾値Ｔｈ以上であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上である場合には、ステップＳ１２０７に進む。ステップＳ１２０７に進むと、適応的符号化コード生成部５００は、ステップＳ１２０１で選択した画素値のペアに対応するコードとして「１」を割り当てる。そして、図１２のフローチャートによる処理を終了する。
【００３７】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上でない場合には、ステップＳ１２０８に進む。ステップＳ１２０８に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下である場合には、ステップＳ１２０９に進む。ステップＳ１２０９に進むと、適応的符号化コード生成部５００は、ステップＳ１２０１で選択した画素値のペアに対応するコードとして「０」を割り当てる。そして、図１２のフローチャートによる処理を終了する。
【００３８】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下でない場合には、ステップＳ１２１０に進む。ステップＳ１２１０に進むと、適応的符号化コード生成部５００は、ステップＳ１２０１で選択した画素値のペアに対応するコードとして「０」と「１」の両方を割り当てる。そして、図１２のフローチャートによる処理を終了する。例えば、ヒストグラム生成領域の面積が大きい場合には、局所領域の中央の画素の画素値Ｉｃと局所領域の中央の画素の周囲の画素の画素値Ｉｎとの差に関わらず、局所領域から１つの投票値だけが生成される。一方、ヒストグラム生成領域の面積が小さい場合には、第１の実施形態と同様にして、複数の投票値が生成されるようになる。
【００３９】
以上説明したように本実施形態では、ヒストグラム生成領域の面積判定の結果に基づいて、ヒストグラムへの投票値の数を適応的に増加させる。具体的には、ヒストグラム生成領域の面積が所定値未満である場合には、第１の実施形態と同様に複数の投票値が生成され得るようにして、ヒストグラムへの投票値を増加させることで、１投票値あたりの重みを分散させる。したがって、変動等により影響されにくいロバストなヒストグラム特徴を生成することができる。これにより、変動等により影響されにくいロバストな画像認識処理が可能となる。
【００４０】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。本実施形態では、Local Binary Pattern（ＬＢＰ）ヒストグラムを生成する際に生じる問題を解決するために、顔領域を複数の領域に分割し、分割した領域毎に、図１０の影領域１１０７のような領域が存在するかどうかを判定する。そして、その判定結果に基づいて、ヒストグラムへの投票値の数を適応的に変化させる。このように本実施形態は、第１の実施形態に対し、不安定な領域であるか否かを判定する構成を付加し、これに応じて、適応的符号化コード生成処理（図２のステップＳ２０６の処理）の詳細を変更したものである。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４１】
図１３は、本実施形態の画像認識装置３０００の全体構成の一例を示す図である。本実施形態の画像認識装置３０００は、図１に示した第１の実施形態の画像認識装置１０００に対し、安定領域判定部８００が付加されたものである。また、図１４は、本実施形態の画像認識装置３０００の全体処理の一例を説明するフローチャートである、図１４のフローチャートは、図２に示したフローチャートに対し、ステップＳ２０５、Ｓ２０６の間に、ステップＳ１４０１が付加されたものである。そして、ステップＳ２０６の処理が、ステップＳ１４０１の処理の結果に応じた処理になる。したがって、ここでは、これら以外の詳細な説明を省略する。
【００４２】
ステップＳ１４０１において、安定領域判定部８００は、ステップＳ２０５で設定されたヒストグラム生成領域内に、図１０の影領域１１０７のようにエッジ強度が弱い不安定な領域が存在するか否かを判定する。この判定の方法には、例えば、次のような方法がある。まず、図１０のような影領域１１０７が存在する画像と、そうでない画像とを大量に用意する。そして、図３のヒストグラム生成領域１１０２を構成する画素値を１つの要素とする特徴ベクトルを生成し、第１の実施形態で使用したＳＶＭにより学習させることで、影のない安定領域か否かを判定する識別器を構築する。
【００４３】
次に、ステップＳ２０６において、適応的符号化コード生成部５００は、ステップＳ１４０１の判定の結果に応じて、ヒストグラムの生成に必要な符号化コードを生成する。
ステップＳ２０６における適応的符号化コード生成処理は、第１の実施形態と同様に、図４に示したフローチャートにより実現される。ただし、図４のステップＳ４０２におけるバイナリー変換の方法の詳細の一部が第１の実施形態と異なる。
図１５は、ステップＳ４０２におけるバイナリー変換の方法の詳細の第３の例を説明するフローチャートである。
【００４４】
ステップＳ１５０１において、適応的符号化コード生成部５００は、局所領域の中央の画素の画素値Ｉｃと、その周囲の画素の画素値Ｉｎとのペアを１つ選択する。
次に、ステップＳ１５０２において、適応的符号化コード生成部５００は、ステップＳ１４０１での判定の結果を参照し、ステップＳ１５０１で選択した画素の領域が、影のない安定している領域であるか否かを判定する。
この判定の結果、ステップＳ１５０１で選択した画素の領域が、影のない安定している領域でない場合には、ステップＳ１５０３に進む。
ステップＳ１５０３に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、所定の閾値Ｔｈ以上であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上である場合には、ステップＳ１５０４に進む。ステップＳ１５０４に進むと、適応的符号化コード生成部５００は、ステップＳ１５０１で選択した画素値のペアに対応するコードとして「１」を割り当てる。そして、図１５のフローチャートによる処理を終了する。
【００４５】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上でない場合には、ステップＳ１５０５に進む。ステップＳ１５０５に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下である場合には、ステップＳ１５０６に進む。ステップＳ１５０６に進むと、適応的符号化コード生成部５００は、ステップＳ１５０１で選択した画素値のペアに対応するコードとして「０」を割り当てる。そして、図１５のフローチャートによる処理を終了する。
【００４６】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値−Ｔｈ以下でない場合には、ステップＳ１５０７に進む。ステップＳ１５０７に進むと、適応的符号化コード生成部５００は、ステップＳ１５０１で選択した画素値のペアに対応するコードとして「０」と「１」の両方を割り当てる。そして、図１５のフローチャートによる処理を終了する。
【００４７】
ステップＳ１５０２において、ステップＳ１５０１で選択した画素の領域が、影のない安定している領域であると判定された場合には、ステップＳ１５０８に進む。ステップＳ１５０８に進むと、適応的符号化コード生成部５００は、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、所定の閾値Ｔｈ以上であるか否かを判定する。この判定の結果、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上である場合には、ステップＳ１５０９に進む。ステップＳ１５０９に進むと、適応的符号化コード生成部５００は、ステップＳ１５０１で選択した画素値のペアに対応するコードとして「１」を割り当てる。そして、図１５のフローチャートによる処理を終了する。
【００４８】
一方、局所領域の中央の画素の周囲の画素の画素値Ｉｎから、局所領域の中央の画素の画素値Ｉｃを引いた値が、閾値Ｔｈ以上でない場合には、ステップＳ１５１０に進む。ステップＳ１５１０に進むと、適応的符号化コード生成部５００は、ステップＳ１５０１で選択した画素値のペアに対応するコードとして「０」を割り当てる。そして、図１５のフローチャートによる処理を終了する。
【００４９】
以上説明したように本実施形態では、ヒストグラム生成領域に対して、影領域等の不安定な領域が存在するか否かを判定する処理を追加し、その判定の結果に基づいて、ヒストグラムへの投票値の数を適応的に変化させる。具体的には、不安定な領域では、第１の実施形態と同様に複数の投票値が生成され得るようにして、ヒストグラムへの投票値を増加させることで、１投票値あたりの重みを分散させる。したがって、変動等により影響されにくいロバストなヒストグラム特徴を生成することができる。これにより、変動等により影響されにくいロバストな画像認識処理が可能となる。
尚、第２の実施形態と第３の実施形態とを組み合わせることができる。例えば、図１２のステップＳ１２０２でＹＥＳと判定された後に、図１５のステップＳ１５０２〜Ｓ１５１０の処理を行うことができる。また、例えば、図１５のステップＳ１５０２でＹＥＳと判定された後に、図１２のステップＳ１２０２〜Ｓ１２１０の処理を行うことができる。
【００５０】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５１】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００５２】
４００  領域設定部、５００  適応的符号化コード生成部、６００  ヒストグラム特徴生成部
【図１】
2015041226.tif 000003
【図２】
2015041226.tif 000004
【図３】
2015041226.tif 000005
【図４】
2015041226.tif 000006
【図５】
2015041226.tif 000007
【図６】
2015041226.tif 000008
【図７】
2015041226.tif 000009
【図８】
2015041226.tif 000010
【図９】
2015041226.tif 000011
【図１０】
2015041226.tif 000012
【図１１】
2015041226.tif 000013
【図１２】
2015041226.tif 000014
【図１３】
2015041226.tif 000015
【図１４】
2015041226.tif 000016
【図１５】
2015041226.tif 000017
【図１６】
2015041226.tif 000018
【図１７】
2015041226.tif 000019