(57)【要約】  本開示の画像認識装置は、複数のメモリ部と、複数の画素データを有するデータマップの各画素データを、複数のメモリ部に対して選択的に書き込む書込部と、複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の画素データセットに基づいて、データマップに対応する入力画像が識別対象体を含むか否かを判定する演算部とを備える。
2016021342.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ部と、
複数の画素データを有するデータマップの各画素データを、前記複数のメモリ部に対して選択的に書き込む書込部と、
前記複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の前記画素データセットに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する演算部と
を備えた画像認識装置。
【請求項２】
前記所定数の画素データは、前記データマップにおける複数の矩形領域のそれぞれの４つの角に対応する座標における画素データである
請求項１に記載の画像認識装置。
【請求項３】
前記書込部は、前記データマップにおける各座標と、前記複数のメモリ部のうちのその座標における画素データを書き込むべきメモリ部との対応づけを示す書込パターンに基づいて、各画素データを前記複数のメモリ部に対して選択的に書き込む
請求項２に記載の画像認識装置。
【請求項４】
前記書込部は、前記書込パターンを複数有し、そのうちの１つに基づいて、各画素データを前記複数のメモリ部に対して選択的に書き込む
請求項３に記載の画像認識装置。
【請求項５】
前記書込パターンでは、前記演算部が前記所定数の画素データを読み出す読出アクセスが同じメモリ部に集中しないように、各座標とその座標における画素データを書き込むべきメモリ部とが対応づけられている
請求項３に記載の画像認識装置。
【請求項６】
前記書込パターンでは、前記複数のメモリ部に対する前記読出アクセスの回数が互いに等しくなるように、各座標とその座標における画素データを書き込むべきメモリ部とが対応づけられている
請求項５に記載の画像認識装置。
【請求項７】
前記書込パターンでは、前記データマップにおける、第１の方向、第２の方向、またはその双方に隣り合う２つの座標は、互いに異なるメモリ部に対応づけられている
請求項３に記載の画像認識装置。
【請求項８】
前記入力画像は複数の輝度データを含み、
前記入力画像において、第１の座標を順次選択し、前記第１の座標および前記入力画像の４つの角のうちの１つに対応する第２の座標を対角座標とする画像範囲内の輝度データの値の和に基づいて、前記データマップの前記第１の座標における画素データを生成するデータマップ生成部をさらに備えた
請求項２に記載の画像認識装置。
【請求項９】
前記演算部は、
各画素データセットに基づいてスコアをそれぞれ求めるスコア生成部と、
複数の前記スコアに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する判定部と
を有する
請求項８に記載の画像認識装置。
【請求項１０】
前記複数の矩形領域は、１または複数の第１の矩形領域および１または複数の第２の矩形領域を含み、
前記スコア生成部は、前記所定数の画素データに基づいて、前記１または複数の第１の矩形領域における前記輝度データの値の和を示す第１の合計値、および前記１または複数の第２の矩形領域における前記輝度データの値の和を示す第２の合計値を求め、前記第１の合計値と前記第２の合計値との差分を第１のしきい値と比較し、その比較結果に基づいて前記スコアを求める
請求項９に記載の画像認識装置。
【請求項１１】
前記スコア生成部は、前記比較結果に対して重み付けを行うことにより、前記スコアを求める
請求項１０に記載の画像認識装置。
【請求項１２】
前記判定部は、複数の前記スコアを加算し、その加算結果を第２のしきい値と比較することにより、前記入力画像が前記識別対象体を含むか否かを判断する
請求項９に記載の画像認識装置。
【請求項１３】
各メモリ部は、互いに同じ画素データを記憶する複数の個別メモリ部を有し、
前記演算部は、前記複数の個別メモリ部から、前記所定数の画素データのうちの互いに異なる画素データをそれぞれ読み出す
請求項１に記載の画像認識装置。
【請求項１４】
フレーム画像から、前記フレーム画像の一部分を順次選択して前記入力画像とする入力画像生成部をさらに備えた
請求項１に記載の画像認識装置。
【請求項１５】
前記識別対象体は顔である
請求項１に記載の画像認識装置。
【請求項１６】
学習用画像に基づいて、複数の画素データを含むデータマップを生成し、
前記データマップにおける各座標と、複数のメモリ部のうちの、その座標における画素データの書き込みを行うメモリ部との対応づけを示す書込パターンを準備し、
所定数の画素データを前記複数のメモリ部から読み出す際に読出アクセスが同じメモリ部に集中しないように、前記データマップにおける前記所定数の画素データの座標をそれぞれ設定し、
前記データマップから前記所定数の画素データをそれぞれ取得し、その取得した画素データに基づいて、前記学習用画像が識別対象体を含むか否かを判定し、
その判定結果に基づいて、前記所定数の画素データの座標を画像認識処理に用いるか否かを決定する
画像認識装置の学習方法。
【請求項１７】
画像認識装置と、
前記画像認識装置における処理結果に基づいて所定の処理を行う処理部と
を備え、
前記画像認識装置は、
複数のメモリ部と、
複数の画素データを有するデータマップの各画素データを、前記複数のメモリ部に対して選択的に書き込む書込部と、
前記複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の前記画素データセットに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する演算部と
を有する
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、所定の画像を認識する画像認識装置、そのような画像認識装置の学習方法、および、そのような画像認識装置を備えた電子機器に関する。
【背景技術】
【０００２】
近年、多くの電子機器にカメラなどの撮影装置が搭載されている。そのような電子機器には、撮影画像内に認識対象体（例えば人間の顔など）が含まれているか否かを判定する画像認識機能を備えたものもある。【０００３】
このような画像認識を行う方法について、様々な技術が開発されている。例えば、非特許文献１には、複数の弱識別器（Weak Learner）を用いて画像認識を行う方法が開示されている。この弱識別器は、精度の低い簡易な識別器であり、入力画像における複数の矩形領域のそれぞれでの輝度値の合計値を求め、これらの合計値に基づいて特徴量を求めるものである。この画像認識方法では、このような弱識別器を多数用いることにより、画像認識精度の向上を図るようになっている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Paul Viola, Michael Jones, "Robust real-time object detection", Technical Report CRL 2001/01, Compaq Cambridge Research Laboratory, 2001.
【発明の概要】
【０００５】
ところで、一般に、電子機器では、短い時間で処理を行うことが望まれており、画像認識装置でも、処理速度の向上が期待されている。
【０００６】
したがって、処理速度を高めることができる画像認識装置、画像認識装置の学習方法、および電子機器を提供することが望ましい。
【０００７】
本開示の一実施の形態における画像認識装置は、複数のメモリ部と、書込部と、演算部とを備えている。書込部は、複数の画素データを有するデータマップの各画素データを、複数のメモリ部に対して選択的に書き込むものである。演算部は、複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の画素データセットに基づいて、データマップに対応する入力画像が識別対象体を含むか否かを判定するものである。
【０００８】
本開示の一実施の形態における画像認識装置の学習方法は、学習用画像に基づいて、複数の画素データを含むデータマップを生成し、データマップにおける各座標と、複数のメモリ部のうちの、その座標における画素データの書き込みを行うメモリ部との対応づけを示す書込パターンを準備し、所定数の画素データを複数のメモリ部から読み出す際に読出アクセスが同じメモリ部に集中しないように、データマップにおける所定数の画素データの座標をそれぞれ設定し、データマップから所定数の画素データをそれぞれ取得し、その取得した画素データに基づいて、学習用画像が識別対象体を含むか否かを判定し、その判定結果に基づいて、所定数の画素データの座標を画像認識処理に用いるか否かを決定するものである。
【０００９】
本開示の一実施の形態における電子機器は、上記画像認識装置を備えたものであり、例えば、デジタルカメラ、テレビジョン装置、スマートフォン、ゲーム機などが該当する。
【００１０】
本開示の一実施の形態における画像認識装置および電子機器では、複数のメモリ部から、複数の画素データセットが読み出され、その複数の画素データセットに基づいて、入力画像が識別対象体を含むか否かが判定される。その際、複数のメモリ部には、データマップにおける各画素データが選択的に書き込まれる。
【００１１】
本開示の一実施の形態における画像認識装置の学習方法では、データマップから所定数の画素データが取得され、その取得した画素データに基づいて、学習用画像が識別対象体を含むが否かが判定され、その判定結果に基づいて、所定数の画素データの座標を画像認識処理に用いるか否かが決定される。その際、データマップにおける所定数の画素データの座標は、所定数の画素データを複数のメモリ部から読み出す際の読出アクセスが同じメモリ部に集中しないように設定される。
【００１２】
本開示の一実施の形態における画像認識装置および電子機器によれば、データマップの各画素データを、複数のメモリ部に対して選択的に書き込むようにしたので、処理速度を高めることができる。
【００１３】
本開示の一実施の形態における画像認識装置の学習方法によれば、読出アクセスが同じメモリ部に集中しないように、データマップにおける所定数の画素データの座標をそれぞれ設定したので、処理速度を高めることができる。
【００１４】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれの効果があってもよい。
【図面の簡単な説明】
【００１５】
【図１】本開示の一実施の形態に係る画像認識装置の一構成例を表すブロック図である。
【図２】図１に示した検出窓設定部の一動作例を表す説明図である。
【図３Ａ】図１に示した積分画像生成部の一動作例を表す説明図である。
【図３Ｂ】図１に示した積分画像生成部の一動作例を表す他の説明図である。
【図４】図１に示した書込部の一動作例を表す説明図である。
【図５】図１に示した特徴量計算部の一動作例を表す説明図である。
【図６】図１に示した特徴量計算部の一動作例を表す他の説明図である。
【図７Ａ】矩形領域の配置例を表す説明図である。
【図７Ｂ】矩形領域の配置例を表す他の説明図である。
【図７Ｃ】矩形領域の配置例を表す他の説明図である。
【図７Ｄ】矩形領域の配置例を表す他の説明図である。
【図７Ｅ】矩形領域の配置例を表す他の説明図である。
【図８】図１に示した弱識別器および重み付け部の一動作例を表す説明図である。
【図９】図１に示した画像認識装置の一動作例を表すフローチャートである。
【図１０】図１に示した画像認識装置の学習工程を表すフローチャートである。
【図１１】比較例に係る画像認識装置の一構成例を表すブロック図である。
【図１２】他の比較例に係る画像認識装置の一構成例を表すブロック図である。
【図１３】変形例に係る書込部の一動作例を表す説明図である。
【図１４】他の変形例に係る書込部の一動作例を表す説明図である。
【図１５】他の変形例に係る書込部の一動作例を表す説明図である。
【図１６】他の変形例に係る画像認識装置の一構成例を表すブロック図である。
【図１７】他の変形例に係る画像認識装置の一構成例を表すブロック図である。
【図１８】図１７に示した書込部の一動作例を表す説明図である。
【図１９Ａ】実施の形態に係る画像認識装置を適用したデジタルカメラの外観構成を表す斜視図である。
【図１９Ｂ】実施の形態に係る画像認識装置を適用したデジタルカメラの外観構成を表す他の斜視図である。
【発明を実施するための形態】
【００１６】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
１．実施の形態
２．適用例
【００１７】
＜１．実施の形態＞
［構成例］
図１は、実施の形態に係る画像認識装置の一構成例を表すものである。画像認識装置１は、この例では、人間の顔を認識するものである。なお、本開示の実施の形態に係る画像認識装置の学習方法は、本実施の形態により具現化されるので、併せて説明する。
【００１８】
画像認識装置１は、検出窓設定部１１と、積分画像生成部１２と、書込部１３と、バッファメモリ１４Ａ，１４Ｂと、弱識別器２０と、重み付け部１５と、データベース１７と、判定部３０とを備えている。
【００１９】
検出窓設定部１１は、フレーム画像Ｆに基づいて、画像認識処理の処理対象となる画像Ｐ１を生成するものである。フレーム画像Ｆおよび画像Ｐ１は、複数の輝度データＰが配列されたものである。
【００２０】
図２は、検出窓設定部１１の一動作例を表すものである。検出窓設定部１１は、フレーム画像Ｆ内において、所定の大きさの検出窓ＷＩＮを少しずつずらしながら順次設定し、その検出窓ＷＩＮにおける画像を画像Ｐ１として順次出力する。これにより、画像認識装置１では、検出窓設定部１１より後ろのブロックが、画像Ｐ１内に識別対象体（この例では人間の顔）が含まれているか否かを順次判定するようになっている。
【００２１】
積分画像生成部１２は、画像Ｐ１に基づいて積分画像Ｐ２を生成するものである。積分画像Ｐ２は、複数の積分データＩが配列されたものである。積分画像生成部１２は、メモリ１２Ａを有している。メモリ１２Ａは、生成した積分画像Ｐ２を記憶するものであり、例えば、ＤＲＡＭ（Dynamic Random Access Memory）を用いて構成されるものである。
【００２２】
図３Ａ，３Ｂは、積分画像生成部１２の一動作例を表すものであり、図３Ａは、画像Ｐ１の左上部を示し、図３Ｂは積分画像Ｐ２の左上部を示す。積分画像生成部１２は、以下の式を用いて、画像Ｐ１における輝度データＰの値を積分することにより、積分画像Ｐ２における積分データＩを生成する。
【数１】
2016021342.tif 000003
すなわち、積分画像生成部１２は、例えば、画像Ｐ１における、ｘ座標がｘ0以下（ｘ≦ｘ0）であり、ｙ座標がｙ0以下（ｙ≦ｙ0）であるような矩形領域ＲＩにおける輝度データＰを加算することにより、積分画像Ｐ２の座標（ｘ0，ｙ0）における積分データＩ（ｘ0，ｙ0）を求める。積分画像生成部１２は、このような計算により、積分画像Ｐ２の全ての座標における積分データＩを求める。このようにして、積分画像生成部１２は、画像Ｐ１に基づいて積分画像Ｐ２を生成するようになっている。
【００２３】
書込部１３は、バッファメモリ１４Ａ，１４Ｂに対して積分画像Ｐ２の各積分データＩを書き込むものである。その際、書込部１３は、以下に示す所定の書込パターンで、各積分データＩを２つのバッファメモリ１４Ａ，１４Ｂに選択的に書き込むようになっている。
【００２４】
図４は、書込部１３の一動作例を表すものである。書込部１３は、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩ（図４の白色部）をバッファメモリ１４Ａに書き込み、ｘ座標が偶数である積分データＩ（図４の斜線部）をバッファメモリ１４Ｂに書き込む。このように、書込部１３は、書き込もうとする積分データＩの座標に基づいて、図４のような書込パターンで、積分データＩを２つのバッファメモリ１４Ａ，１４Ｂに選択的に書き込むようになっている。
【００２５】
バッファメモリ１４Ａ，１４Ｂは、積分画像Ｐ２の積分データＩを記憶するものである。バッファメモリ１４Ａ，１４Ｂは、例えば、ＳＲＡＭ（Static Random Access Memory）を用いて構成されるものである。バッファメモリ１４Ａは、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩを記憶し、バッファメモリ１４Ｂは、積分画像Ｐ２の積分データＩのうち、ｘ座標が偶数である積分データＩを記憶する。すなわち、バッファメモリ１４Ａ，１４Ｂのそれぞれのメモリ容量は、積分画像Ｐ２における積分データＩの数の半分に対応するものである。そして、バッファメモリ１４Ａは、データベース１７から供給される読出アドレスＡＤＡに基づいて、その読出アドレスＡＤＡに対応した座標の積分データＩを出力し、同様に、バッファメモリ１４Ｂは、データベース１７から供給される読出アドレスＡＤＢに基づいて、その読出アドレスＡＤＢに対応した座標の積分データＩを出力するようになっている。
【００２６】
弱識別器２０は、識別対象体（この例では人間の顔）の特徴を識別するものである。弱識別器２０は、特徴量計算部２１と、比較部２２とを有している。
【００２７】
特徴量計算部２１は、バッファメモリ１４Ａ，１４Ｂから供給された積分データＩと、計算パラメータＰＡＲに基づいて、特徴量ＦＶを求めるものである。計算パラメータＰＡＲは、後述するように、積分データＩを用いて特徴量ＦＶを求める際の計算方法を指示するものである。
【００２８】
図５は、特徴量計算部２１の一動作例を模式的に表すものである。なお、特徴量計算部２１は、積分画像Ｐ２の積分データＩを用いて特徴量ＦＶを求めるものであるが、この図５では、説明の便宜上、画像Ｐ１を用いて説明する。この例では、特徴量計算部２１は、画像Ｐ１のうちの矩形領域Ｒ２における輝度データＰの合計値Ｓ２から、矩形領域Ｒ１における輝度データＰの合計値Ｓ１を引き算することにより、特徴量ＦＶを求める。特徴量計算部２１は、以下に説明するように、積分画像Ｐ２における６つの積分データＩを用いて、この計算を行う。
【００２９】
図６は、特徴量ＦＶの計算動作の一例を表すものである。ここで、矩形領域Ｒ１は、ｘ座標がｘ0以上ｘ1以下であり、ｙ座標がｙ0以上ｙ1以下の矩形領域である。また、矩形領域Ｒ２は、ｘ座標がｘ0以上ｘ1以下であり、ｙ座標が（ｙ1＋１）以上ｙ2以下の矩形領域である。また、ｘ座標の値（ｘ0−１）は奇数であり、値ｘ1は偶数である。
【００３０】
この例では、まず、バッファメモリ１４Ａは、読出アドレスＡＤＡに基づいて、積分データＩ（ｘ0−１，ｙ0−１），Ｉ（ｘ0−１，ｙ1），Ｉ（ｘ0−１，ｙ2）を出力し、バッファメモリ１４Ｂは、読出アドレスＡＤＢに基づいて、積分データＩ（ｘ1，ｙ0−１），Ｉ（ｘ1，ｙ1），Ｉ（ｘ1，ｙ2）を出力する。そして、特徴量計算部２１は、これらの積分データＩに基づいて、特徴量ＦＶを算出する。ここで、矩形領域Ｒ１における輝度データＰの合計値Ｓ１は、４つの積分データＩ（ｘ0−１，ｙ0−１），Ｉ（ｘ0−１，ｙ1），Ｉ（ｘ1，ｙ0−１），Ｉ（ｘ1，ｙ1）を用いて、以下の式で表現することができる。
【数２】
2016021342.tif 000004
同様に、矩形領域Ｒ２における輝度データＰの合計値Ｓ２は、４つの積分データＩ（ｘ0−１，ｙ1），Ｉ（ｘ0−１，ｙ2），Ｉ（ｘ1，ｙ1），Ｉ（ｘ1，ｙ2）を用いて、以下の式で表現することができる。
【数３】
2016021342.tif 000005
よって、特徴量ＦＶは、以下の式で表現することができる。
【数４】
2016021342.tif 000006
【００３１】
特徴量計算部２１は、この式（４）を用いて、６つの積分データＩ（ｘ0−１，ｙ0−１），Ｉ（ｘ0−１，ｙ1），Ｉ（ｘ0−１，ｙ2），Ｉ（ｘ1，ｙ0−１），Ｉ（ｘ1，ｙ1），Ｉ（ｘ1，ｙ2）に基づいて、特徴量ＦＶを算出する。その際、特徴量計算部２１は、データベース１７から供給される計算パラメータＰＡＲに基づいて式（４）を取得し、この式（４）に６つの積分データＩを代入することにより、特徴量ＦＶを算出するようになっている。
【００３２】
このように、画像認識装置１では、あらかじめ積分画像Ｐ２を生成し、その積分画像Ｐ２の積分データＩを用いて、特徴量ＦＶを求めることにより、バッファメモリ１４Ａ，１４Ｂからのデータの読出回数を少なくすることができる。すなわち、例えば、画像Ｐ１自体をバッファメモリに記憶する場合には、矩形領域Ｒ１，Ｒ２内の全ての座標における輝度データＰを読み出して特徴量ＦＶを求める必要があるため、データの読出回数が多くなってしまう。一方、画像認識装置１では、積分画像Ｐ２をバッファメモリ１４Ａ，１４Ｂに記憶するようにしたので、データの読出回数を少なくすることができるようになっている。
【００３３】
また、画像認識装置１では、この例では、特徴量ＦＶの計算において用いる６つの積分データＩのうち、３つの積分データＩのｘ座標を奇数にするとともに、残り３つの積分データＩのｘ座標を偶数にした。これにより、バッファメモリ１４Ａ，１４Ｂからそれぞれ３つずつ積分データＩを読み出すことができる。このように、画像認識装置１では、バッファメモリ１４Ａ，１４Ｂのうちの一方に読出アクセスが集中するおそれを低減できるため、積分データＩの読み出しに必要な時間を短くすることができるようになっている。
【００３４】
なお、この例では、矩形領域Ｒ１，Ｒ２をそれぞれ横長にするとともに、縦方向に並設したが、これに限定されるものではない。この例（図７Ａ）の他、例えば、図７Ｂに示すように、矩形領域Ｒ１，Ｒ２をそれぞれ縦長にするとともに、横方向に並設してもよい。また、図７Ｃ，７Ｄに示すように、３つの矩形領域Ｒ１，Ｒ２１，Ｒ２２を設けてもよい。図７Ｃの例では、３つの矩形領域Ｒ２１，Ｒ１，Ｒ２２をそれぞれ横長にするとともに、縦方向にこの順で並設している。図７Ｄの例では、３つの矩形領域Ｒ２１，Ｒ１，Ｒ２２をそれぞれ縦長にするとともに、横方向にこの順で並設している。この図７Ｃ，７Ｄの例では、特徴量計算部２１は、例えば、画像Ｐ１のうちの矩形領域Ｒ２１，Ｒ２２における輝度データＰの合計値から、矩形領域Ｒ１における輝度データＰの合計値を引き算することにより、特徴量ＦＶを求める。また、図７Ｅに示すように、矩形領域Ｒ１の周囲を矩形領域Ｒ２が取り囲むようにしてもよい。なお、これらに限定されるものではなく、複数の矩形領域を様々な配置で用いることができる。
【００３５】
比較部２２は、特徴量ＦＶと、データベース１７から供給されたしきい値ＦＶthとを比較するものである。そして、比較部２２は、特徴量ＦＶがしきい値ＦＶthよりも大きい場合には“１”を出力し、特徴量ＦＶがしきい値ＦＶth以下である場合には“０”を出力するようになっている。
【００３６】
重み付け部１５は、比較部２２における比較結果に対して重み付けを行い、スコアＳＣを生成するものである。具体的には、重み付け部１５は、比較結果（“１”または“０”）と、データベース１７から供給された係数Ｋとを乗算し、スコアＳＣを求めるようになっている。
【００３７】
データベース１７は、読出アドレスＡＤＡ，ＡＤＢ、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶するものである。これらのパラメータセットＰＳは、後述するように、画像認識の学習工程において求められ、データベース１７に記憶されるようになっている。
【００３８】
バッファメモリ１４Ａ，１４Ｂ、弱識別器２０、および重み付け部１５は、複数のパラメータセットＰＳのそれぞれに対して処理を行う。具体的には、例えば、データベース１７は、複数のパラメータセットＰＳのうちの１つを選択し、選択されたパラメータセットＰＳに含まれる読出アドレスＡＤＡ，ＡＤＢをバッファメモリ１４Ａ，１４Ｂにそれぞれ供給し、計算パラメータＰＡＲおよびしきい値ＦＶthを弱識別器２０に供給し、係数Ｋを重み付け部１５に供給する。そして、選択されたパラメータセットＰＳに基づいて、バッファメモリ１４Ａ，１４Ｂ、弱識別器２０、および重み付け部１５が処理を行う。次に、データベース１７は、次のパラメータセットＰＳを選択し、バッファメモリ１４Ａ，１４Ｂ、弱識別器２０、および重み付け部１５が、このパラメータセットＰＳに基づいて処理を行うようになっている。
【００３９】
図８は、弱識別器２０および重み付け部１５の動作を模式的に表すものである。この例では、データベース１７は、Ｎ個のパラメータセットＰＳ（１）〜ＰＳ（Ｎ）を記憶している。弱識別器２０および重み付け部１５は、使用するパラメータセットＰＳ（１）〜ＰＳ（Ｎ）に応じて、弱識別部２０（１）〜２０（Ｎ）および重み付け部１５（１）〜１５（Ｎ）としてそれぞれ機能する。弱識別部２０（１）および重み付け部１５（１）は、パラメータセットＰＳ（１）に基づいてスコアＳＣ（１）を求める。弱識別部２０（２）および重み付け部１５（２）は、パラメータセットＰＳ（２）に基づいてスコアＳＣ（２）を求める。弱識別部２０（３）〜２０（Ｎ）および重み付け部１５（３）〜１５（Ｎ）についても同様である。そして、重み付け部１５は、このＮ個のスコアＳＣ（１）〜ＳＣ（Ｎ）を判定部３０に供給するようになっている。
【００４０】
このように、弱識別部２０（１）〜２０（Ｎ）は、互いに異なるパラメータセットＰＳに基づいて動作する。すなわち、例えば、識別部２０（１）〜２０（Ｎ）は、図７Ａ〜７Ｅに示したような複数の矩形領域を、積分画像Ｐ２内における互いに異なる位置に設定する。具体的には、例えば、弱識別部２０（１）は、積分画像Ｐ２の左上に、図７Ａに示したような矩形領域Ｒ１，Ｒ２を設定して特徴量ＦＶを取得し、例えば識別部２０（２）は、積分画像Ｐ２の中央に、図７Ｄに示したような矩形領域Ｒ１，Ｒ２１，Ｒ２２を設定して特徴量ＦＶを取得するようになっている。画像認識装置１では、このように、複数のパラメータセットＰＳを用いることにより、識別対象体を精度よく認識できるようになっている。
【００４１】
すなわち、パラメータセットＰＳのそれぞれは、識別対象体（この例では人間の顔）の特徴を反映している。例えば、画像Ｐ１に人間の顔が映っている場合において、目および眉毛の部分は、その周辺に比べて輝度データの値が低い。また、例えば、髪の毛の部分は額の部分よりも輝度データが低い。弱識別器２０は、複数のパラメータセットＰＳに基づいて、このような人間の顔の特徴を１つ１つ確認していく。すなわち、例えば、パラメータセットＰＳに含まれる読出アドレスＡＤＡ，ＡＤＢは、目や額などのパーツの位置に対応しており、弱識別器２０は、この読出アドレスＡＤＡ，ＡＤＢにおける積分データＩに基づいて、人間の顔の特徴を確認するようになっている。
【００４２】
判定部３０は、複数のスコアＳＣに基づいて、画像Ｐ１に識別対象体が含まれているか否かの判定を行うものである。判定部３０は、図８に示すように、加算部３１と、比較部３２とを有している。加算部３１は、重み付け部１５から供給された複数（この例ではＮ個）のスコアＳＣを加算するものである。比較部３２は、加算部３１の加算結果を所定のしきい値と比較するものである。比較部３２は、加算部３１の加算結果がこのしきい値よりも大きい場合には、画像Ｐ１に識別対象体があると判定し、加算部３１の加算結果がしきい値以下である場合には、画像Ｐ１に識別対象体がないと判定する。そして、比較部３２は、この判定結果を判定結果ＲＥＳとして出力するようになっている。
【００４３】
ここで、バッファメモリ１４Ａ，１４Ｂは、本開示における「複数のメモリ部」の一具体例に対応する。弱識別器２０、重み付け部１５、データベース１７、および判定部３０は、本開示における「演算部」の一具体例に対応する。積分画像生成部１２は、本開示における「データマップ生成部」の一具体例に対応する。検出窓設定部１１は、本開示における「入力画像生成部」の一具体例に対応する。積分データＩは、本開示における「画素データ」の一具体例に対応する。画像Ｐ１は、本開示における「入力画像」の一具体例に対応する。積分画像Ｐ２は、本開示における「データマップ」の一具体例に対応する。
【００４４】
［動作および作用］
続いて、本実施の形態の画像認識装置１の動作および作用について説明する。
【００４５】
（全体動作概要）
まず、図１などを参照して、画像認識装置１の全体動作概要を説明する。検出窓設定部１１は、フレーム画像Ｆに基づいて、画像認識処理の処理対象となる画像Ｐ１を生成する。積分画像生成部１２は、画像Ｐ１に基づいて積分画像Ｐ２を生成する。書込部１３は、積分画像Ｐ２における各積分データＩを、２つのバッファメモリ１４Ａ，１４Ｂに選択的に書き込む。バッファメモリ１４Ａは、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩを記憶するとともに、データベース１７から供給される読出アドレスＡＤＡに基づいて、その読出アドレスＡＤＡに対応した座標の積分データＩを出力する。バッファメモリ１４Ｂは、積分画像Ｐ２の積分データＩのうち、ｘ座標が偶数である積分データＩを記憶するとともに、データベース１７から供給される読出アドレスＡＤＢに基づいて、その読出アドレスＡＤＢに対応した座標の積分データＩを出力する。特徴量計算部２１は、バッファメモリ１４Ａ，１４Ｂから供給された積分データＩと、計算パラメータＰＡＲに基づいて、特徴量ＦＶを求める。比較部２２は、特徴量ＦＶとしきい値ＦＶthとを比較する。重み付け部１５は、係数Ｋを用いて、比較部２２における比較結果に対して重み付けを行い、スコアＳＣを生成する。データベース１７は、読出アドレスＡＤＡ，ＡＤＢ、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶する。判定部３０は、複数のスコアＳＣに基づいて、画像Ｐ１に識別対象体が含まれているか否かの判定を行う。
【００４６】
（詳細動作）
画像認識装置１では、検出窓設定部１１は、フレーム画像Ｆ内において、所定の大きさの検出窓ＷＩＮを順次設定し、画像Ｐ１を順次生成する。そして、検出窓設定部１１より後ろのブロックが、各画像Ｐ１内に識別対象体（この例では人間の顔）が含まれているか否かを判定する。以下に、画像Ｐ１に対する画像認識動作について詳細に説明する。
【００４７】
図９は、画像Ｐ１に対する画像認識動作を表すものである。画像認識装置１では、画像Ｐ１に基づいて積分画像Ｐ２を生成し、この積分画像Ｐ２に基づいて特徴量ＦＶを複数回求めることにより、画像Ｐ１に識別対象体が含まれているか否かの判定を行う。以下に、この動作について詳細に説明する。
【００４８】
まず、積分画像生成部１２は、画像Ｐ１に基づいて積分画像Ｐ２を生成する（ステップＳ１）。具体的には、積分画像生成部１２は、例えば式（１）を用いて積分データＩを求めることにより、積分画像Ｐ２を生成する。
【００４９】
次に、書込部１３は、積分画像Ｐ２の各積分データＩを、２つのバッファメモリ１４Ａ，１４Ｂに選択的に書き込む（ステップＳ２）。具体的には、書込部１３は、この例では、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩをバッファメモリ１４Ａに書き込み、ｘ座標が偶数である積分データＩをバッファメモリ１４Ｂに書き込む。
【００５０】
次に、データベース１７は、複数のパラメータセットＰＳのうちの１つを選択する（ステップＳ３）。そして、データベース１７は、選択されたパラメータセットＰＳに含まれる読出アドレスＡＤＡ，ＡＤＢをバッファメモリ１４Ａ，１４Ｂにそれぞれ供給し、計算パラメータＰＡＲを特徴量計算部２１に供給し、しきい値ＦＶthを比較部２２に供給し、係数Ｋを重み付け部１５に供給する。
【００５１】
次に、バッファメモリ１４Ａ，１４Ｂが積分データＩを出力する（ステップＳ４）。具体的には、バッファメモリ１４Ａは、データベース１７から供給される読出アドレスＡＤＡに基づいて、その読出アドレスＡＤＡに対応した座標の積分データＩを出力し、同様に、バッファメモリ１４Ｂは、データベース１７から供給される読出アドレスＡＤＢに基づいて、その読出アドレスＡＤＢに対応した座標の積分データＩを出力する。具体的には、例えば、図６の例では、バッファメモリ１４Ａは、読出アドレスＡＤＡに基づいて、積分データＩ（ｘ0−１，ｙ0−１），Ｉ（ｘ0−１，ｙ1），Ｉ（ｘ0−１，ｙ2）を出力し、バッファメモリ１４Ｂは、読出アドレスＡＤＢに基づいて、積分データＩ（ｘ1，ｙ0−１），Ｉ（ｘ1，ｙ1），Ｉ（ｘ1，ｙ2）を出力する。
【００５２】
次に、弱識別器２０は、特徴量ＦＶを計算し、その特徴量ＦＶをしきい値ＦＶthと比較する（ステップＳ５）。具体的には、特徴量計算部２１は、バッファメモリ１４Ａ，１４Ｂから供給された複数の積分データＩ、および計算パラメータＰＡＲに基づいて、特徴量ＦＶを求める。そして、比較部２２は、特徴量ＦＶがしきい値ＦＶthよりも大きい場合には“１”を出力し、特徴量ＦＶがしきい値ＦＶth以下である場合には“０”を出力する。
【００５３】
次に、重み付け部１５は、比較部２２における比較結果に対して重み付けを行い、スコアＳＣを生成する（ステップＳ６）。具体的には、重み付け部１５は、比較部２２の比較結果（“１”または“０”）と、データベース１７から供給された係数Ｋとを乗算し、スコアＳＣを求める。
【００５４】
次に、データベース１７は、全てのパラメータセットＰＳを選択したか否かを確認する（ステップＳ７）。全てのパラメータセットＰＳを選択していない場合（ステップＳ７において“Ｎ”）には、データベース１７は、まだ選択していないパラメータセットＰＳのうちの１つを選択する（ステップＳ８）。そして、データベース１７は、選択されたパラメータセットＰＳに含まれる読出アドレスＡＤＡ，ＡＤＢをバッファメモリ１４Ａ，１４Ｂにそれぞれ供給し、計算パラメータＰＡＲを特徴量計算部２１に供給し、しきい値ＦＶthを比較部２２に供給し、係数Ｋを重み付け部１５に供給する。そして、フローはステップＳ４に戻る。このようにして、全てのパラメータセットＰＳを選択するまで、ステップＳ４〜Ｓ８を繰り返す。これにより、判定部３０は、複数のパラメータセットＰＳに対応する複数のスコアＳＣを取得する。
【００５５】
ステップＳ７において、全てのパラメータセットＰＳを選択した場合（ステップＳ７において“Ｙ”）には、判定部３０は、複数のスコアＳＣに基づいて、画像Ｐ１に識別対象体が含まれているか否かの判定を行う（ステップＳ９）。具体的には、加算部３１は、重み付け部１５から供給された複数のスコアＳＣを加算し、比較部３２は、加算部３１の加算結果を所定のしきい値と比較する。比較部３２は、加算部３１の加算結果がこのしきい値よりも大きい場合には、画像Ｐ１に識別対象体があると判定し、加算部３１の加算結果がしきい値以下である場合には、画像Ｐ１に識別対象体がないと判定する。そして、比較部３２は、この判定結果を判定結果ＲＥＳとして出力する。
【００５６】
このように、画像認識装置１では、積分画像Ｐ２の各積分データＩを、２つのバッファメモリ１４Ａ，１４Ｂに選択的に書き込むようにしたので、処理速度を高めることができる。すなわち、画像認識装置１では、この例では、まず、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩをバッファメモリ１４Ａに書き込み、ｘ座標が偶数である積分データＩをバッファメモリ１４Ｂに書き込むようにした。そして、例えば図６の例では、特徴量ＦＶの計算において用いる６つの積分データＩのうち、３つの積分データＩのｘ座標を奇数にするとともに、残り３つの積分データＩのｘ座標を偶数にした。これにより、バッファメモリ１４Ａ，１４Ｂからそれぞれ３つずつ積分データＩを読み出すことができる。このように、画像認識装置１では、バッファメモリ１４Ａ，１４Ｂのうちの一方に読出アクセスが集中するおそれを低減することができるため、積分データＩの読み出しに必要な時間を短くすることができる。その結果、画像認識装置１では、処理速度を高めることができる。
【００５７】
（画像認識の学習方法）
画像認識装置１で使用する複数のパラメータセットＰＳは、画像認識の学習工程を経て準備され、データベース１７に記憶される。以下に、画像認識装置１における画像認識の学習方法について説明する。
【００５８】
図１０は、画像認識の学習方法の一例を表すものである。なお、学習方法は、この方法に限定されるものではなく、様々な方法を使用可能である。
【００５９】
まず、Ｍ枚の学習用画像Ｑを用意する（ステップＳ１１）。ここで、Ｍ枚の学習用画像Ｑは、識別対象体を含む複数の学習用画像Ｑと、識別対象体を含まない複数の学習用画像Ｑとの両方を含んでいる。
【００６０】
次に、各学習用画像Ｑに、識別対象体を含むか否かを示すラベルＬを付与する（ステップＳ１２）。具体的には、識別対象体を含む複数の学習用画像Ｑに“含む”のラベルＬをそれぞれ付与し、識別対象体を含まない複数の学習用画像Ｑに“含まない”のラベルＬをそれぞれ付与する。
【００６１】
次に、各学習用画像Ｑに、“１／Ｍ”の重みＷを付与する（ステップＳ１３）。なお、この重みＷは、この学習を進める度に更新される。すなわち、“１／Ｍ”は重みＷの初期値である。
【００６２】
次に、複数のパラメータセットＰＳＰを準備する（ステップＳ１４）。複数のパラメータセットＰＳＰは、画像認識動作において使用するパラメータセットＰＳを選択するための母集団である。すなわち、この画像認識の学習工程では、以下に示すように、この複数のパラメータセットＰＳＰの中から、使用するパラメータセットＰＳを順次選択していくようになっている。各パラメータセットＰＳＰは、読出アドレスＡＤＡ，ＡＤＢ、計算パラメータＰＡＲ、およびしきい値ＦＶthを含むものである。複数のパラメータセットＰＳＰでは、読出アドレスＡＤＡ，ＡＤＢ、計算パラメータＰＡＲ、およびしきい値ＦＶthが、パラメータセットＰＳ間で互いに異なるように設定されている。すなわち、各パラメータセットＰＳＰに基づいて動作する弱識別器２０は、図７Ａ〜７Ｅに示したような複数の矩形領域を、積分画像Ｐ２内における互いに異なる位置に設定する。このとき、読出アドレスＡＤＡ，ＡＤＢは、読出アクセスがバッファメモリ１４Ａ，１４Ｂの一方に集中しないように設定される。
【００６３】
次に、各パラメータセットＰＳＰに基づいて弱識別器２０を動作させ、Ｍ枚の学習用画像Ｑが識別対象体を含むか否かを判定させ、パラメータセットＰＳＰごとに、エラー率ＥＲＲを求める（ステップＳ１５）。ここで、エラー率ＥＲＲは、弱識別器２０の判定結果（“含む”または“含まない”）がラベルＬ（“含む”または“含まない”）と一致しなかった学習用画像Ｑにおける重みＷの和である。言い換えれば、エラー率ＥＲＲは、弱識別器２０が正しく判定できなかった学習用画像Ｑの重みＷの和である。
【００６４】
次に、複数のパラメータセットＰＳＰのうち、エラー率ＥＲＲが最も低いパラメータセットＰＳＰ１を選択し、そのパラメータセットＰＳＰ１の信頼度ＲＰを求める（ステップＳ１６）。この信頼度ＲＰは、値が大きいほど信頼できることを意味するものである。
【００６５】
次に、学習用画像Ｑの重みＷを修正する（ステップＳ１７）。具体的には、エラー率ＥＲＲが最も低いパラメータセットＰＳＰ１に基づいて動作した弱識別器２０の判定結果が、ラベルＬと一致しなかった学習用画像の重みＷを大きくし、ラベルＬと一致した学習用画像の重みＷを小さくする。
【００６６】
次に、複数のパラメータセットＰＳＰから、エラー率ＥＲＲが最も低いパラメータセットＰＳＰ１を取り除き、このパラメータセットＰＳＰ１および信頼度ＲＰに基づいて、画像認識動作で使用するパラメータセットＰＳを生成する（ステップＳ１８）。具体的には、ステップＳ１６で求めた信頼度ＲＰを係数Ｋとし、これに、パラメータセットＰＳＰ１の読出アドレスＡＤＡ，ＡＤＢ、計算パラメータＰＡＲ、およびしきい値ＦＶthを組み合わせて、パラメータセットＰＳを生成する。
【００６７】
次に、生成したパラメータセットＰＳにより十分な画像認識精度を得ることができるか否かを確認する（ステップＳ１９）。画像認識精度が不十分である場合（ステップＳ１９において“Ｎ”）には、ステップＳ１５に戻る。そして、画像認識精度が十分になるまで、ステップＳ１５〜Ｓ１９を繰り返す。これにより、画像認識動作で使用する複数のパラメータセットＰＳが順次生成される。
【００６８】
ステップＳ１９において、画像認識精度が十分である場合（ステップＳ１９において“Ｙ”）には、画像認識の学習を終了する。
【００６９】
このように、画像認識装置１では、複数のパラメータセットＰＳＰを準備する際、読出アクセスがバッファメモリ１４Ａ，１４Ｂの一方に集中しないように、読出アドレスＡＤＡ，ＡＤＢを設定したので、処理速度を高めることができる。すなわち、画像認識装置１では、例えば図６の例では、特徴量ＦＶの計算において用いる６つの積分データＩのうち、３つの積分データＩのｘ座標を奇数にするとともに、残り３つの積分データＩのｘ座標を偶数にするように、読出アドレスＡＤＡ，ＡＤＢを設定した。これにより、バッファメモリ１４Ａ，１４Ｂからそれぞれ３つずつ積分データＩを読み出すことができ、処理速度を高めることができる。
【００７０】
次に、いくつかの比較例と対比して、本実施の形態の作用を説明する。
【００７１】
（比較例１）
図１１は、比較例１に係る画像認識装置１Ｒの一構成例を表すものである。画像認識装置１Ｒは、書込部１３Ｒと、バッファメモリ１４Ｒと、データベース１７Ｒとを備えている。書込部１３Ｒは、バッファメモリ１４Ｒに対して積分画像Ｐ２の各積分データＩを書き込むものである。バッファメモリ１４Ｒは、積分画像Ｐ２の積分データＩを記憶するものである。バッファメモリ１４Ｒのメモリ容量は、積分画像Ｐ２における積分データＩの数に対応するものである。すなわち、バッファメモリ１４Ｒのメモリ容量は、本実施の形態に係るバッファメモリ１４Ａのメモリ容量と、バッファメモリ１４Ｂのメモリ容量の合計値と同等である。そして、バッファメモリ１４Ｒは、データベース１７Ｒから供給される読出アドレスＡＤＲに基づいて、その読出アドレスＡＤＲに対応した座標の積分データＩを出力するようになっている。データベース１７Ｒは、読出アドレスＡＤＲ、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶するものである。
【００７２】
比較例１に係る画像認識装置１Ｒでは、書込部１３Ｒは、バッファメモリ１４Ｒに対して、積分画像Ｐ２の積分データＩを書き込む。すなわち、バッファメモリ１４Ｒは、積分画像Ｐ２の全ての積分データＩを記憶する。よって、バッファメモリ１４Ｒは、読出アドレスＡＤＲに基づいて複数の積分データＩを出力する際、積分データＩを順次出力する。すなわち、例えば、図６の例では、６つの積分データＩを読み出すために６サイクル必要になる。その結果、画像認識装置１Ｒでは、読出アクセスに時間がかかってしまうおそれがある。特に、画像認識装置１Ｒでは、１枚の画像Ｐ１に対して画像認識動作を行う際、画像認識装置１と同様に、複数のパラメータセットＰＳのそれぞれに基づいて読出アクセスを行うため、読出アクセス回数は多い。よって、画像認識動作に必要な時間が長くなってしまうおそれがある。
【００７３】
一方、本実施の形態に係る画像認識装置１では、２つのバッファメモリ１４Ａ，１４Ｂを設け、書込部１３が、バッファメモリ１４Ａ，１４Ｂに対して選択的に積分データＩを書き込むようにした。よって、バッファメモリ１４Ａは、読出アドレスＡＤＡに基づいて積分データＩを出力し、バッファメモリ１４Ｂは読出アドレスＡＤＢに基づいて積分データＩを出力することができる。よって、例えば、図６の例では、６つの積分データＩを読み出すために３サイクルで済む。これにより、画像認識装置１では、バッファメモリ１４Ａ，１４Ｂの両方に読出アクセスすることができるため、処理速度を高めることができる。
【００７４】
（比較例２）
図１２は、比較例２に係る画像認識装置１Ｓの一構成例を表すものである。画像認識装置１Ｓは、書込部１３Ｓと、６つのバッファメモリ１４Ｓと、データベース１７Ｓとを備えている。書込部１３Ｓは、６つのバッファメモリ１４Ｓに対して積分画像Ｐ２の各積分データＩを書き込むものである。各バッファメモリ１４Ｓは、積分画像Ｐ２の積分データＩを記憶するものである。すなわち、各バッファメモリ１４Ｓは、互いに同じデータを記憶するようになっている。各バッファメモリ１４Ｓのメモリ容量は、積分画像Ｐ２のデータ量に相当するものである。そして、６つのバッファメモリ１４Ｓは、データベース１７Ｓから供給される６つの読出アドレスＡＤＳに基づいて、その読出アドレスＡＤＳに対応した座標の積分データＩをそれぞれ出力するようになっている。データベース１７Ｓは、６つの読出アドレスＡＤＳ、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶するものである。
【００７５】
比較例２に係る画像認識装置１Ｓでは、書込部１３Ｓは、６つのバッファメモリ１４Ｓに対して、積分画像Ｐ２の積分データＩを書き込む。そして、６つのバッファメモリ１４Ｓは、６つの読出アドレスＡＤＳに基づいて、積分データＩをそれぞれ出力する。すなわち、例えば、図６の例では、１サイクルで６つの積分データＩを読み出すことができる。このような並列処理により、画像認識装置１Ｓでは、読出アクセスにかかる時間を短くすることができる。しかしながら、この例では、６つのバッファメモリ１４Ｓが必要になるため、バッファメモリ１４Ｓの実装面積が大きくなってしまい、コストが高くなるおそれがある。
【００７６】
一方、本実施の形態に係る画像認識装置１では、この例では、バッファメモリ１４Ａは、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩを記憶し、バッファメモリ１４Ｂは、積分画像Ｐ２の積分データＩのうち、ｘ座標が偶数である積分データＩを記憶するようにした。すなわち、バッファメモリ１４Ａ，１４Ｂは、それぞれ異なるデータを記憶する。これにより、画像認識装置１では、バッファメモリ１４Ａ，１４Ｂのメモリ容量を抑えつつ、読出アクセスにかかる時間を短くすることができる。
【００７７】
［効果］
以上のように本実施の形態では、各積分データを、２つのバッファメモリに選択的に書き込むようにしたので、処理速度を高めることができる。
【００７８】
本実施の形態では、読出アクセスが一方のバッファメモリに集中しないように、読出アドレスを設定したので、処理速度を高めることができる。
【００７９】
［変形例１］
上記実施の形態では、図４に示したように、バッファメモリ１４Ａに書き込む積分データＩの座標（白色部）と、バッファメモリ１４Ｂに書き込む積分データＩの座標（斜線部）とを、一列ずつ交互に配置した書込パターンを用いたが、これに限定されるものではない。例えば、図１３に示すように、バッファメモリ１４Ａに書き込む積分データＩの座標（白色部）と、バッファメモリ１４Ｂに書き込む積分データＩの座標（斜線部）とを、一行ずつ交互に配置した書込パターンを用いてもよい。また、例えば、図１４に示すように、バッファメモリ１４Ａに書き込む積分データＩの座標（白色部）と、バッファメモリ１４Ｂに書き込む積分データＩの座標（斜線部）とを、市松模様状に配置した書込パターンを用いてもよい。また、例えば、図１５に示すように、積分画像Ｐ２において、バッファメモリ１４Ａに書き込む積分データＩの座標（白色部）と、バッファメモリ１４Ｂに書き込む積分データＩの座標（斜線部）とを、２列ずつ交互に配置した書込パターンを用いてもよい。
【００８０】
また、書込部１３は、一つの書込パターンで、各積分データＩを２つのバッファメモリ１４Ａ，１４Ｂに書き込むようにしたが、これに限定されるものではない。例えば、図４、図１３〜１５に示したような複数な書込パターンを準備し、使用する書込パターンを選択できるようにしてもよい。これにより、例えば識別対象体に応じて、適切な書込パターンを用いることができる。
【００８１】
［変形例２］
上記実施の形態では、２つのバッファメモリ１４Ａ，１４Ｂを設けたが、これに限定されるものではない。以下に、本変形例について、いくつかの例を用いて詳細に説明する。
【００８２】
図１６は、本変形例に係る画像認識装置２の一構成例を表すものである。画像認識装置２は、書込部４３と、３つのバッファメモリ４４Ａと、３つのバッファメモリ４４Ｂと、データベース４７とを備えている。
【００８３】
書込部４３は、３つのバッファメモリ４４Ａおよび３つのバッファメモリ４４Ｂに対して、積分画像Ｐ２の各積分データＩを選択的に書き込むものである。具体的には、書込部４３は、上記実施の形態に係る書込部１３と同様に、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩを３つのバッファメモリ４４Ａに書き込み、ｘ座標が偶数である積分データＩを３つのバッファメモリ４４Ｂに書き込むようになっている。
【００８４】
各バッファメモリ４４Ａは、積分画像Ｐ２の積分データＩのうち、ｘ座標が奇数である積分データＩを記憶するものであり、各バッファメモリ４４Ｂは、積分画像Ｐ２の積分データＩのうち、ｘ座標が偶数である積分データＩを記憶するものである。すなわち、各バッファメモリ４４Ａは互いに同じデータを記憶し、各バッファメモリ４４Ｂは互いに同じデータを記憶するようになっている。各バッファメモリ４４Ａ，４４Ｂのメモリ容量は、積分画像Ｐ２における積分データＩの数の半分に対応するものである。３つのバッファメモリ４４Ａは、データベース４７から供給される３つの読出アドレスＡＤＡ２に基づいて、その読出アドレスＡＤＡ２に対応した座標の積分データＩをそれぞれ出力し、３つのバッファメモリ４４Ｂは、データベース４７から供給される３つの読出アドレスＡＤＢ２に基づいて、その読出アドレスＡＤＢ２に対応した座標の積分データＩをそれぞれ出力するようになっている。
【００８５】
データベース４７は、３つの読出アドレスＡＤＡ２、３つの読出アドレスＡＤＢ２、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶するものである。
【００８６】
この構成により、画像認識装置２では、書込部４３は、３つのバッファメモリ４４Ａおよび３つのバッファメモリ４４Ｂに対して、積分画像Ｐ２の各積分データＩを選択的に書き込む。そして、３つのバッファメモリ４４Ａは、３つの読出アドレスＡＤＡ２に基づいて積分データＩをそれぞれ出力し、３つのバッファメモリ４４Ｂは、３つの読出アドレスＡＤＢ２に基づいて積分データＩをそれぞれ出力する。これにより、例えば図６の例では、１サイクルで、６つの積分データＩを読み出すことができる。このように、画像認識装置２では、並列処理を行うことにより、バッファメモリ４４Ａ，４４Ｂのメモリ容量を抑えつつ、読出アクセスにかかる時間を短くすることができる。
【００８７】
図１７は、本変形例に係る他の画像認識装置３の一構成例を表すものである。画像認識装置３は、書込部５３と、２つのバッファメモリ５４Ａと、２つのバッファメモリ５４Ｂと、２つのバッファメモリ５４Ｃと、２つのバッファメモリ５４Ｄと、データベース５７とを備えている。
【００８８】
書込部５３は、２つのバッファメモリ５４Ａ、２つのバッファメモリ５４Ｂ、２つのバッファメモリ５４Ｃ、および２つのバッファメモリ５４Ｄに対して、積分画像Ｐ２の各積分データＩを選択的に書き込むものである。
【００８９】
図１８は、書込部５３の一動作例を表すものである。書込部５３の書込パターンは、２行２列の４つの座標に対応する単位パターンＵＰが繰り返されたものである。書込部５３は、この単位パターンＵＰにおいて、例えば左上の座標における積分データＩを２つのバッファメモリ５４Ａに対して書き込み、右上の座標における積分データＩを２つのバッファメモリ５４Ｂに対して書き込み、左下の座標における積分データＩを２つのバッファメモリ５４Ｃに対して書き込み、右下の座標における積分データＩを２つのバッファメモリ５４Ｄに対して書き込む。このように、書込部５３は、図１８のような書込パターンで、積分画像Ｐ２の積分データＩを、２つのバッファメモリ５４Ａ、２つのバッファメモリ５４Ｂ、２つのバッファメモリ５４Ｃ、および２つのバッファメモリ５４Ｄに対して書き込むようになっている。
【００９０】
各バッファメモリ５４Ａは、単位パターンＵＰの左上の座標における積分データＩを記憶するものであり、各バッファメモリ５４Ｂは、単位パターンＵＰの右上の座標における積分データＩを記憶するものであり、各バッファメモリ５４Ｃは、単位パターンＵＰの左下の座標における積分データＩを記憶するものであり、各バッファメモリ５４Ｄは、単位パターンＵＰの右下の座標における積分データＩを記憶するものである。すなわち、各バッファメモリ５４Ａは互いに同じデータを記憶し、各バッファメモリ５４Ｂは互いに同じデータを記憶し、各バッファメモリ５４Ｃは互いに同じデータを記憶し、各バッファメモリ５４Ｄは互いに同じデータを記憶するようになっている。各バッファメモリ５４Ａ，５４Ｂ，５４Ｃ，５４Ｄのメモリ容量は、積分画像Ｐ２における積分データＩの数の１／４に対応するものである。２つのバッファメモリ５４Ａは、データベース５７から供給される２つの読出アドレスＡＤＡ３に基づいて、その読出アドレスＡＤＡ３に対応した座標の積分データＩをそれぞれ出力する。同様に、２つのバッファメモリ５４Ｂは、２つの読出アドレスＡＤＢ３に基づいて積分データＩをそれぞれ出力し、２つのバッファメモリ５４Ｃは、２つの読出アドレスＡＤＣ３に基づいて積分データＩをそれぞれ出力し、２つのバッファメモリ５４Ｄは、２つの読出アドレスＡＤＤ３に基づいて積分データＩをそれぞれ出力するようになっている。
【００９１】
データベース５７は、２つの読出アドレスＡＤＡ３、２つの読出アドレスＡＤＢ３、２つの読出アドレスＡＤＣ３、２つの読出アドレスＡＤＤ３、計算パラメータＰＡＲ、しきい値ＦＶth、および係数ＫからなるパラメータセットＰＳを複数セット記憶するものである。
【００９２】
この構成により、画像認識装置３では、１サイクルで最大８つの積分データＩを読み出すことができる。このように、画像認識装置３では、並列処理を行うことにより、バッファメモリ５４Ａ，５４Ｂ，５４Ｃ，５４Ｄのメモリ容量を抑えつつ、読出アクセスにかかる時間を短くすることができる。
【００９３】
＜２．適用例＞
次に、上記実施の形態および変形例で説明した画像認識装置の適用例について説明する。
【００９４】
図１９Ａ，１９Ｂは、上記実施の形態等の画像認識装置が適用されるデジタルカメラの外観を表すものであり、図１９Ａは、そのデジタルカメラをその前方（被写体側）から眺めた外観を示し、図１９Ｂは、そのデジタルカメラをその後方（像側）から眺めた外観を示す。このデジタルカメラは、例えば、フラッシュ用の発光部４１０、表示部４２０、メニュースイッチ４３０、およびシャッターボタン４４０を有している。このデジタルカメラは、人間の顔を認識する画像認識装置を備えている。
【００９５】
上記実施の形態等の画像認識装置は、このようなデジタルカメラの他、テレビジョン装置、スマートフォン、ゲーム機などの様々な分野の電子機器に適用することが可能である。言い換えると、上記実施の形態等の画像認識装置は、画像を処理するあらゆる分野の電子機器に適用することが可能であり、これらの電子機器における処理速度の向上に貢献がある。
【００９６】
以上、実施の形態および変形例、ならびに電子機器への適用例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
【００９７】
例えば、上記の実施の形態などでは、画像認識装置の識別対象体を人間の顔としたが、これに限定されるものではなく、人間、動物、物体などの様々なものを識別対象体とすることができる。
【００９８】
また、例えば、上記の実施の形態などでは、バッファメモリ１４Ａ，１４Ｂは積分画像Ｐ２を記憶したが、これに限定されるものではなく、これに代えて、例えば、画像Ｐ１自体を記憶してもよい。この場合には、特徴量計算部は、例えば、画像Ｐ１における複数の矩形領域内の全ての座標における輝度データＰを読み出し、これらに基づいて特徴量ＦＶを求めるように構成することができる。
【００９９】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０１００】
なお、本技術は以下のような構成とすることができる。
【０１０１】
（１）複数のメモリ部と、
複数の画素データを有するデータマップの各画素データを、前記複数のメモリ部に対して選択的に書き込む書込部と、
前記複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の前記画素データセットに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する演算部と
を備えた画像認識装置。
【０１０２】
（２）前記所定数の画素データは、前記データマップにおける複数の矩形領域のそれぞれの４つの角に対応する座標における画素データである
前記（１）に記載の画像認識装置。
【０１０３】
（３）前記書込部は、前記データマップにおける各座標と、前記複数のメモリ部のうちのその座標における画素データを書き込むべきメモリ部との対応づけを示す書込パターンに基づいて、各画素データを前記複数のメモリ部に対して選択的に書き込む
前記（２）に記載の画像認識装置。
【０１０４】
（４）前記書込部は、前記書込パターンを複数有し、そのうちの１つに基づいて、各画素データを前記複数のメモリ部に対して選択的に書き込む
前記（３）に記載の画像認識装置。
【０１０５】
（５）前記書込パターンでは、前記演算部が前記所定数の画素データを読み出す読出アクセスが同じメモリ部に集中しないように、各座標とその座標における画素データを書き込むべきメモリ部とが対応づけられている
前記（３）または（４）に記載の画像認識装置。
【０１０６】
（６）前記書込パターンでは、前記複数のメモリ部に対する前記読出アクセスの回数が互いに等しくなるように、各座標とその座標における画素データを書き込むべきメモリ部とが対応づけられている
前記（５）に記載の画像認識装置。
【０１０７】
（７）前記書込パターンでは、前記データマップにおける、第１の方向、第２の方向、またはその双方に隣り合う２つの座標は、互いに異なるメモリ部に対応づけられている
前記（３）から（６）のいずれかに記載の画像認識装置。
【０１０８】
（８）前記入力画像は複数の輝度データを含み、
前記入力画像において、第１の座標を順次選択し、前記第１の座標および前記入力画像の４つの角のうちの１つに対応する第２の座標を対角座標とする画像範囲内の輝度データの値の和に基づいて、前記データマップの前記第１の座標における画素データを生成するデータマップ生成部をさらに備えた
前記（２）から（７）のいずれかに記載の画像認識装置。
【０１０９】
（９）前記演算部は、
各画素データセットに基づいてスコアをそれぞれ求めるスコア生成部と、
複数の前記スコアに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する判定部と
を有する
前記（８）に記載の画像認識装置。
【０１１０】
（１０）前記複数の矩形領域は、１または複数の第１の矩形領域および１または複数の第２の矩形領域を含み、
前記スコア生成部は、前記所定数の画素データに基づいて、前記１または複数の第１の矩形領域における前記輝度データの値の和を示す第１の合計値、および前記１または複数の第２の矩形領域における前記輝度データの値の和を示す第２の合計値を求め、前記第１の合計値と前記第２の合計値との差分を第１のしきい値と比較し、その比較結果に基づいて前記スコアを求める
前記（９）に記載の画像認識装置。
【０１１１】
（１１）前記スコア生成部は、前記比較結果に対して重み付けを行うことにより、前記スコアを求める
前記（１０）に記載の画像認識装置。
【０１１２】
（１２）前記判定部は、複数の前記スコアを加算し、その加算結果を第２のしきい値と比較することにより、前記入力画像が前記識別対象体を含むか否かを判断する
前記（９）または（１０）に記載の画像認識装置。
【０１１３】
（１３）各メモリ部は、互いに同じ画素データを記憶する複数の個別メモリ部を有し、
前記演算部は、前記複数の個別メモリ部から、前記所定数の画素データのうちの互いに異なる画素データをそれぞれ読み出す
前記（１）から（１２）のいずれかに記載の画像認識装置。
【０１１４】
（１４）フレーム画像から、前記フレーム画像の一部分を順次選択して前記入力画像とする入力画像生成部をさらに備えた
前記（１）から（１３）のいずれかに記載の画像認識装置。
【０１１５】
（１５）前記識別対象体は顔である
前記（１）から（１４）のいずれかに記載の画像認識装置。
【０１１６】
（１６）学習用画像に基づいて、複数の画素データを含むデータマップを生成し、
前記データマップにおける各座標と、複数のメモリ部のうちの、その座標における画素データの書き込みを行うメモリ部との対応づけを示す書込パターンを準備し、
所定数の画素データを前記複数のメモリ部から読み出す際に読出アクセスが同じメモリ部に集中しないように、前記データマップにおける前記所定数の画素データの座標をそれぞれ設定し、
前記データマップから前記所定数の画素データをそれぞれ取得し、その取得した画素データに基づいて、前記学習用画像が識別対象体を含むか否かを判定し、
その判定結果に基づいて、前記所定数の画素データの座標を画像認識処理に用いるか否かを決定する
画像認識装置の学習方法。
【０１１７】
（１７）画像認識装置と、
前記画像認識装置における処理結果に基づいて所定の処理を行う処理部と
を備え、
前記画像認識装置は、
複数のメモリ部と、
複数の画素データを有するデータマップの各画素データを、前記複数のメモリ部に対して選択的に書き込む書込部と、
前記複数のメモリ部から、所定数の画素データを含む画素データセットを複数読み出し、複数の前記画素データセットに基づいて、前記データマップに対応する入力画像が識別対象体を含むか否かを判定する演算部と
を有する
電子機器。
【０１１８】
本出願は、日本国特許庁において２０１４年８月６日に出願された日本特許出願番号２０１４−１６０２１５号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
【０１１９】
当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。
【図１】
2016021342.tif 000007
【図２】
2016021342.tif 000008
【図３Ａ】
2016021342.tif 000009
【図３Ｂ】
2016021342.tif 000010
【図４】
2016021342.tif 000011
【図５】
2016021342.tif 000012
【図６】
2016021342.tif 000013
【図７Ａ】
2016021342.tif 000014
【図７Ｂ】
2016021342.tif 000015
【図７Ｃ】
2016021342.tif 000016
【図７Ｄ】
2016021342.tif 000017
【図７Ｅ】
2016021342.tif 000018
【図８】
2016021342.tif 000019
【図９】
2016021342.tif 000020
【図１０】
2016021342.tif 000021
【図１１】
2016021342.tif 000022
【図１２】
2016021342.tif 000023
【図１３】
2016021342.tif 000024
【図１４】
2016021342.tif 000025
【図１５】
2016021342.tif 000026
【図１６】
2016021342.tif 000027
【図１７】
2016021342.tif 000028
【図１８】
2016021342.tif 000029
【図１９Ａ】
2016021342.tif 000030
【図１９Ｂ】
2016021342.tif 000031
【国際調査報告】
2016021342.tif 000032
2016021342.tif 000033
2016021342.tif 000034
2016021342.tif 000035