(57)【要約】【課題】識別精度を向上させる。【解決手段】画像認識装置２００は、画像から特徴量を取得する画像処理装置２１と、取得した特徴量を用いて、画像に所定の識別対象が存在するか否かを判定して、これを識別する識別装置２０１を備えている。識別装置２０１は、予め識別対象を学習したＢＮＮを備えており、画像処理装置２１が取得した特徴量をＢＮＮで２値計算することにより識別処理を行う。その際に、識別装置２０１は、画像処理装置２１が出力する高次元特徴量のうち識別に有効な部分を選択して識別処理に用いる次元を減らしたり、画像処理装置２１が出力する低次元特徴量を複製して次元を増やしたりする。特徴量の次元を選択・複製することにより、要求される識別精度を担保しつつ、識別に用いる特徴量の次元を適度に調節できるため、識別装置２０１を小規模で低消費電力のハードウェア回路に実装することができる。【選択図】図１
2019061496.tif 000002
【特許請求の範囲】
【請求項１】
識別対象データを取得する識別対象データ取得手段と、
多値化した重み付けを用いて識別対象を学習した識別手段と、
前記識別対象データ取得手段が取得した識別対象データを複製する複製手段と、
前記複製手段が複製した識別対象データを前記識別手段に入力する入力手段と、
前記識別手段が、前記入力手段が入力した識別対象データを用いて識別した識別結果を出力する出力手段と、
を具備したことを特徴とする情報処理装置。
【請求項２】
前記識別手段は、２値化された重み付けにより前記識別対象の学習が行われている、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記識別手段は、バイナリニューラルネットワークである、
ことを特徴とする請求項１、又は請求項２に記載の情報処理装置。
【請求項４】
識別対象を記録した記録データから当該識別対象の特徴量を取得する特徴量取得手段を具備し、
前記識別対象データ取得手段は、前記特徴量取得手段が取得した特徴量を識別対象データとして取得することを特徴とする請求項１、請求項２、又は請求項３に記載の情報処理装置。
【請求項５】
前記記録データは、画像データであり、前記特徴量取得手段は、前記画像データにおける輝度勾配の共起の分布を前記特徴量として取得することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記バイナリニューラルネットワークは、前記複製手段が複製した識別対象データを多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする請求項３に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、例えば、学習した対象を識別するものに関する。
【背景技術】
【０００２】
近年、カメラで撮影した画像から、特定の対象を認識し、これを識別する技術が急速に進展しており、例えば、自動車の運転支援や医療の診断支援など、多方面で利用されつつある。
これら、画像認識技術では、何らかの手法により画像データから特徴量を抽出し、これを識別対象（例えば、人物）の特徴量と比較することにより、当該画像データに識別対象が存在するか否かを判断している。
このような画像認識を行うものに非特許文献１、及び非特許文献２の技術がある。
【０００３】
これらの技術は、画像からＨＯＧ特徴量と呼ばれる特徴量を抽出し、これを予め識別対象が写った画像から学習したＨＯＧ特徴量と比較することにより識別対象を検出するものである。
この他に画像から特徴量を抽出する技術には、ＨＯＧ特徴量より頑健性を有するＣｏＨＯＧ特徴量や、更に頑健性を有するＭＲＣｏＨＯＧ特徴量などがある。
【０００４】
ところで、画像認識に低次元の特徴量を用いる場合に識別精度が低下するため、これを以下に高めるかが課題となっていた。
低次元の特徴量は小さい回路で抽出できるため、これによる識別精度が向上できれば、容易に半導体チップに実装することができる。
この画像認識技術が半導体チップに実装できれば、車両や航空機などの移動体に搭載したり、あるいは携帯端末やウェアラブル端末に搭載したりなど、あらゆる場面での利用が見込まれる。
【０００５】
一方、ニューラルネットワークに対象を学習させ、これによる学習結果（ニューラルネットワーク）を用いて、入力されたデータで対象を認識し、これを識別する技術が急速に進展している。
しかし、ニューラルネットワークは、教師信号を使用したバックプロパゲーションなどにより学習が行われるが、この学習処理は膨大な計算処理が必要であり、入力データ数（特徴量の次元数）が多くなると、莫大な量の計算が必要になるという問題がある。
また、ニューラルネットワークをハードウェアに実装する場合にも、入力データ数の増加は、回路の複雑化・大規模化が問題となる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｔｏｍｏｋｉ  Ｗａｔａｎａｂｅ，  Ｓａｔｏｓｈｉ  Ｉｔｏ  ｅｔｃ．；”Ｃｏ−ｏｃｃｕｒｒｅｎｃｅ  Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ  ｆｏｒ  Ｈｕｍａｎ  Ｄｅｔｅｃｔｉｏｎ”，  ＩＰＳＪ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  Ｖｏｌ．２  ｐｐ．３９−４７，  ２０１０
【非特許文献２】Ｎａｖｎｅｅｔ  Ｄａｌａｌ，  Ｂｉｌｌ  Ｔｒｉｇｇｓ．：”Ｈｉｓｔｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ  ｆｏｒ  Ｈｕｍａｎ  Ｄｅｔｅｃｔｉｏｎ”，  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ＆  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｖｏｌ．１  ｐｐ．８８６−８９３，  ２００５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、識別精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明は、前記目的を達成するために、請求項１に記載の発明では、識別対象データを取得する識別対象データ取得手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記識別対象データ取得手段が取得した識別対象データを複製する複製手段と、前記複製手段が複製した識別対象データを前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した識別対象データを用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置を提供する。
（２）請求項２に記載の発明では、前記識別手段は、２値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする請求項１に記載の情報処理装置を提供する。
（３）請求項３に記載の発明では、前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする請求項１、又は請求項２に記載の情報処理装置を提供する。
（４）請求項４に記載の発明では、識別対象を記録した記録データから当該識別対象の特徴量を取得する特徴量取得手段を具備し、前記識別対象データ取得手段は、前記特徴量取得手段が取得した特徴量を識別対象データとして取得することを特徴とする請求項１、請求項２、又は請求項３に記載の情報処理装置を提供する。
（５）請求項５に記載の発明では、前記記録データは、画像データであり、前記特徴量取得手段は、前記画像データにおける輝度勾配の共起の分布を前記特徴量として取得することを特徴とする請求項４に記載の情報処理装置を提供する。
（６）請求項６に記載の発明では、前記バイナリニューラルネットワークは、前記複製手段が複製した識別対象データを多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする請求項３に記載の情報処理装置を提供する。
【発明の効果】
【０００９】
本発明は、識別対象データを複製することにより、識別精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】画像認識装置を実装したコンピュータの構成の一例を示した図である。
【図２】ＢＮＮの仕組みを説明するための図である。
【図３】領域の部分を示した図である。
【図４】領域の部分を示した図である。
【図５】識別装置を説明するための図である。
【図６】実験結果を示した図である。
【図７】実験結果を示した図である。
【図８】実験結果を示した図である。
【図９】回路規模を比較した表である。
【図１０】メモリの容量を比較した表である。
【図１１】画像認識装置の動作を説明するためのフローチャートである。
【図１２】識別装置を説明するための図である。
【図１３】特徴量の複製による識別精度の向上について考察した図である。
【図１４】実験結果を示した図である。
【図１５】画像認識装置の動作を説明するためのフローチャートである。
【図１６】識別装置を説明するための図である。
【図１７】画像認識装置の動作を説明するためのフローチャートである。
【図１８】ＨＯＧ特徴量の概念を説明するための図である。
【図１９】ＣｏＨＯＧ特徴量の概念を説明するための図である。
【図２０】ＭＲＣｏＨＯＧ特徴量の概念を説明するための図である。
【図２１】計算方法を説明するための図である。
【図２２】画像処理装置の回路構成を示した図である。
【図２３】解像度変換処理を説明するための図である。
【図２４】勾配方向算出部などの動作を説明するための図である。
【図２５】垂直方向のデータ延ばし処理を説明するための図である。
【図２６】水平方向のデータ延ばし処理を説明するための図である。
【図２７】共起行列を計算する仕組みを説明するための図である。
【図２８】画像処理手順を説明するためのフローチャートである。
【図２９】半導体装置の構成例を示した図である。
【発明を実施するための形態】
【００１１】
（１）実施形態の概要
画像認識装置２００（図１）は、カメラ８４で撮像した画像から特徴量を取得する画像処理装置２１と、取得した特徴量を用いて、画像に所定の識別対象が存在するか否かを判定して、これを識別する識別装置２０１を備えている。
画像処理装置２１は、画像から特徴量として、ＨＯＧ特徴量、ＣｏＨＯＧ特徴量、ＭＲＣｏＨＯＧ特徴量、Ｈａａｒ−ｌｉｋｅ特徴量等の各種特徴量を取得する。
識別装置２０１は、予め識別対象を学習したＢＮＮ（バイナリニューラルネットワーク）を備えており、画像処理装置２１が取得した特徴量をＢＮＮで２値計算することにより識別処理を行う。ＢＮＮによる識別対象の学習は、画像処理装置２１が画像から取得した特徴量を入力データとし、当該画像から認識されるべき結果を教師信号として、ネットワークの重み付けを最適化したものである。
カメラ８４で撮像した画像は、当該画像から画像処理装置２１で高次元特徴量が取得され、学習済みのＢＮＮに入力されることで、当該画像に対する認識結果が出力される。
第１実施形態では、この学習済みのＢＮＮに対して、画像処理装置２１が出力する高次元特徴量の全てを入力対象とするのではなく、高次元特徴量のうち識別に有効な部分を選択することで、識別処理に用いる次元（入力対象データ数）を減らしている。また、第２実施形態では、画像処理装置２１が出力する低次元特徴量を複製して次元（入力対象データ数）を増やしている。第３実施形態では、第１実施形態と第２実施形態を組み合わせたもので、画像処理装置２１が出力する高次元の特徴量のうち識別に有利名部分を選択すると共に、選択した特徴量を複製することで増やしている。
浮動小数点を用いた乗算などを要する一般のニューラルネットワークに比べて、ＢＮＮは、２値による加算で計算を行うことができ、また、特徴量の次元を選択・複製することにより、要求される識別精度を担保しつつ、識別に用いる特徴量の次元を適度に調節できるため、識別装置２０１を小規模で低消費電力のハードウェア回路に実装することができる。
【００１２】
（２）実施形態の詳細
図１は、本実施形態に係る画像認識装置２００を実装したコンピュータ８０の構成の一例を示した図である。
コンピュータ８０は、例えば、車両に搭載されて、自動運転やナビゲーションなどの運転支援に用いられる。
なお、以下ではコンピュータ８０が画像認識処理を行う場合について説明するが、この技術は、音声認識や医療診断など、人工知能が行う識別処理に広く適用することができる。
【００１３】
コンピュータ８０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８３、カメラ８４、画像認識装置２００、記憶装置８５、入力装置８７、出力装置８８などから構成されている。
【００１４】
ＣＰＵ８１は、記憶装置８５に記憶されたアプリケーションプログラムに従って所望の処理を行うほか、コンピュータ８０の各部の制御などを行う。
ＲＯＭ８２は、ＣＰＵ８１がコンピュータ８０を動作させるための基本的なプログラムやパラメータなどを記憶した読み取り専用のメモリである。
ＲＡＭ８３は、ＣＰＵ８１がアプリケーション機能を発揮するためのワーキングメモリを提供する読み書きが可能なメモリである。
画像認識装置２００が行った画像認識の識別結果は、ＲＡＭ８３に記憶され、アプリケーションプログラムに従って利用される。
【００１５】
カメラ８４は、動画撮影カメラであって、被写体を動画撮影して動画フレームからなる画像データを時系列に従って画像認識装置２００に出力する。当該画像データは、識別対象を記録した記録データとして機能している。
【００１６】
画像認識装置２００は、画像データから画像認識対象である人物（ここでは、特定の人物ではなく一般の歩行者などを意味する）を識別し、その識別結果を出力するハードウェア装置で構成された情報処理装置であり、画像データから特徴量を抽出して取得する画像処理装置２１と、当該抽出した特徴量から識別対象を認識して識別する識別装置２０１を備えている。画像処理装置２１は、特徴記述部として機能している。
【００１７】
このように、一般的に、画像認識システムは、特徴量を取得するモジュールと、特徴量を識別するモジュールの２つがワンセットになって構成されている。
画像処理装置２１は、半導体装置７１によって半導体チップ化（ＩＣチップ化）されており、当該ＩＣチップは、ビデオキャプチャボード８６に実装されている。画像処理装置２１の回路構成の詳細については後述する（図２２等を参照）。
【００１８】
ところで、画像認識技術には、画像から特徴量として輝度勾配分布を抽出し、これを予め学習した画像の輝度勾配分布と比較することにより対象を認識するものがある。
輝度勾配分布による特徴量としては、ＨＯＧ特徴量（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）が有名であり、盛んに研究されている。
【００１９】
ＨＯＧ特徴量を発展させた特徴量にＣｏＨＯＧ特徴量（Ｃｏ−ｏｃｃｕｒｒｅｎｃｅ  ＨＯＧ）があり、ＨＯＧ特徴量よりも頑健性（ロバスト性）を有している。
そして、近年、ＣｏＨＯＧ特徴量よりも更に頑健性を有するＭＲＣｏＨＯＧ特徴量（Ｍｕｌｔｉ  Ｒｅｓｏｌｕｔｉｏｎ  ＣｏＨＯＧ）が提案されている。
ＭＲＣｏＨＯＧ特徴量は、極めて高い頑健性を有していることが実験により明らかになってきている。
更に、別の特徴としてＨａａｒ−ｌｉｋｅ特徴量というのも存在する。
画像処理装置２１には、これらの特徴量を適用することができる。一例として、本明細書の後半部分でＭＲＣｏＨＯＧ特徴量を用いた画像処理装置２１のハードウェア的な構成例について説明する。
【００２０】
識別装置２０１は、予め識別対象を学習したＢＮＮ（Ｂｉｎａｒｉｚｅｄ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ、日本ではバイナリニューラルネットワークとも呼ばれる）であり、画像処理装置２１が出力した特徴量の入力を受けて、画像データに識別対象が存在するか否かを識別する。
【００２１】
識別装置２０１もＩＣチップ化されている。図示しないが、識別装置２０１も半導体装置７１と共にビデオキャプチャボード８６に実装し、画像認識装置２００を一体のビデオキャプチャボード８６で実現することもできる。
また、画像処理装置２１と識別装置２０１を半導体装置７１に一体形成し、これをビデオキャプチャボード８６に実装することもできる。
【００２２】
記憶装置８５は、例えば、ハードディスクや半導体メモリなどの記憶媒体を用いた記憶装置であり、ＣＰＵ８１に画像認識による識別結果を用いた応用処理を行わせるためのアプリケーションプログラムなどを記憶している。
また、記憶装置８５は、アプリケーションプログラムの動作設定などを記憶するデータ記憶部も備えている。
この動作設定は、例えば、画像認識装置２００が人物を検出した場合に、ドライバにアラームを発するか否かといった内容がユーザによってなされたものである。
【００２３】
入力装置８７は、コンピュータ８０に各種の情報を入力する装置であり、ユーザがコンピュータ８０を操作するための操作ボタンなどの入力デバイスで構成されている。
出力装置８８は、コンピュータ８０が各種の情報を出力する装置であり、例えば、操作画面を表示したり、カメラ８４が撮影した動画上で画像認識装置２００が検知した人物を矩形で囲って表示したりする液晶ディスプレイなどの出力デバイスで構成されている。
【００２４】
次に、識別装置２０１について説明する。
識別装置２０１は、ＢＮＮ、即ち、２値化したニューラルネットワークによって特徴量を識別する。後述するように、識別装置２０１は、多値化した重み付けを用いて識別対象を学習した識別手段として機能する識別部２３１（図５、図１２、図１６）を備えている。
識別装置２０１で、ＢＮＮを用いたのは、一般の浮動小数点を用いたニューラルネットワークでは、乗算などを行うためハードウェア回路が大面積となってしまい、半導体装置への実装が困難なためである。
後述するように、ＢＮＮは、重みを１と−１の２値とし、加算器とカウンタなどを用いて構成できるため、回路面積が、例えば、浮動小数点を用いた場合の１００分の１程度になり、ハードウェアへの実装が容易であると共に消費電力も小さくなる。更に、後述するように小規模な回路構成にもかかわらず、実用に十分耐えうる識別性能を発揮する。
【００２５】
図２は、識別装置２０１が用いるＢＮＮの仕組みを説明するための図である。
ＢＮＮ２１０は、入力ユニット２１１−ｉ（ｉ＝１、２、３）からなる入力層と、隠れユニットを構成する中間ユニット２１３−ｊ（ｊ＝１、２）からなる中間層（隠れ層）と、出力ユニット２１５−ｋ（ｋ＝１、２、３）からなる出力層を有している。
なお、入力層、中間層、出力層を構成するユニットの数は、一例であって、任意の数とすることができる。
【００２６】
これらユニットは、ニューラルネットワークのノードを構成する計算ユニット（パーセプトロン）であって、各相間で各ユニットを全結合することによりニューラルネットワークを形成している。
以下では、入力ユニット２１１−ｉを特に区別しない場合は、単に入力ユニット２１１と記すことにし、中間ユニット２１３と出力ユニット２１５についても同様とする。
【００２７】
入力ユニット２１１−ｉから中間ユニット２１３−ｊへの出力に対しては、｛−１、１｝の２値の何れかの値をとる計算の重みＷｊｉが設定されている。
また、中間ユニット２１３−ｊから出力ユニット２１５−ｋへの出力に対しても、｛−１、１｝の２値の何れかの値をとる計算の重みＷｋｊが設定されている。
【００２８】
なお、図ではｉ、ｊ、ｋを下付の添え字で表しているが、明細書中では文字化けを防止するため通常の大きさで記す。他の要素についても同様とする。
また、図では、変数ｘ、ｙ、ｚ、ｗを小文字で記しているが、明細書中では、変数と添え字の視認性をよくするために、これらをＸ、Ｙ、Ｚ、Ｗの大文字で記す。
【００２９】
入力ユニット２１１−ｉへの入力Ｘｉは、画像処理装置２１が出力した特徴量の成分である。
中間ユニット２１３の活性化関数は｛−１、１｝に２値化されており、中間ユニット２１３−ｊの出力Ｙｊは、｛−１、１｝の２値の何れかをとる。
出力ユニット２１５−ｋは、中間ユニット２１３の出力を合計し、その符号を｛−１、１｝の２値で出力する。
出力ユニット２１５−ｋの出力Ｚｋは、ｋ番目の識別対象に対応している。例えば、出力ユニット２１５−１は、人物に対応しており、人物を識別した場合は、Ｚ１＝１を出力し、人物を検出しなかった場合は、Ｚ１＝−１を出力する。他の出力ユニット２１５も同様である。以下に、これらの演算について説明する。
【００３０】
図３は、図２の部分２２０（入力層と中間層の一部）を示した図である。
入力ユニット２１１−ｉは、入力されたＸｉにＷｊｉに基づく演算ｆ（Ｘｉ、Ｗｊｉ）を行って中間ユニット２１３−ｊに出力する。この演算は、Ｘｉの符号をＷｊｉの符号に揃えるものであって、Ｗｊｉが１ならｆ（Ｘｉ、Ｗｊｉ）＝Ｘｉとなり、Ｗｊｉが−１ならｆ（Ｘｉ、Ｗｊｉ）＝−Ｘｉとなる。
図の例では、入力ユニット２１１−２、２１１−３が、それぞれｆ（Ｘ２、Ｗ２２）とｆ（Ｘ３、Ｗ２３）を計算して中間ユニット２１３−２に出力している。
【００３１】
これに対して中間ユニット２１３−ｊは、各入力ユニット２１１−ｉが中間ユニット２１３−ｊに対して出力した値を式２２５に従って加算し、合計値が０以上ならＹｊ＝１を出力し、それ以外ならＹｊ＝−１を出力することによりその符号を出力する。このように、中間ユニット２１３は、入力ユニット２１１に対して加算器として機能する。
図の例では、中間ユニット２１３−２は、入力ユニット２１１−２、２１１−３の出力値を加算している。
【００３２】
図４は、図２の部分２２１を示した図である。
中間ユニット２１３−ｊは、式２２６中のＸｎｏｒ（Ｙｊ、Ｗｋｊ）従ってＹｊとＷｋｊの否定排他的論理和をとり、その結果を出力ユニット２１５−ｋに出力する。
具体的には、（Ｙｊ、Ｗｋｊ）が（１、１）及び（−１、−１）の場合には、中間ユニット２１３−ｊは、出力ユニット２１５−ｋに１を出力し、その他の場合には−１を出力する。
【００３３】
一方、出力ユニット２１５−ｋは、カウンタを用いて構成されており、各中間ユニット２１３−ｊから送られてきた２値の値を式２２６に従って加算し、０以上だったらＺｋ＝１を出力し、それ以外ならＺｋ＝−１を出力することによりその符号を出力する。出力層には、活性化関数を適用しない。
図の例では、出力ユニット２１５−２は、中間ユニット２１３−１、２１３−２の出力値を式２２６で計算している。
【００３４】
以上、図２〜４を用いてＢＮＮ２１０について説明したが、これら重みＷｊｉ、Ｗｋｊは、学習により設定されたものである。
例えば、入力層から入力した特徴量が人物の場合は、出力ユニット２１５−１が１で他の出力ユニット２１５が−１となり、背景の場合は、出力ユニット２１５−２が１で他の出力ユニット２１５が−１となり、他の対象物（例えば猫）の場合は、出力ユニット２１５−３が１で他の出力ユニット２１５が−１となるように設定されている。
【００３５】
先に述べたように、一般の浮動小数点を用いたニューラルネットワークの場合、重みなどが実数となるため、浮動小数点の乗算の計算が必要であるが、ＢＮＮ２１０は、加算器とカウンタを用いた加算（減算も加算の一種である）回路で構成することができる。
このため、ＢＮＮ２１０は、浮動小数点を用いた乗算を行う必要がなく、加算で済むため、回路構成が単純で回路面積を小さくすることができる。
このように、バイナリニューラルネットワーク（ＢＮＮ２１０）は、特徴量を２値化して加算する加算器と、当該加算器の出力を計数するカウンタを用いて構成されている。
【００３６】
以上に説明したＢＮＮ２１０は、中間層が１層であるが、更に多層とすることもできる。この場合、中間層は、全て中間ユニット２１３と同様の２値の活性化関数による計算を行う。
また、中間層のユニット数を入力層や出力層よりも少なく設定しているが、多く設定することもできる。中間層が少ない場合は、入力された特徴量をより絞り込むことができ、多い場合は、特徴量の次元が増えて識別対象が分離しやすくなる。中間層のユニット数は、このような性質を持っており、試行錯誤などにより適正な数が求められる。
また、ＢＮＮ２１０は、２値で計算したが、３値以上の離散値で計算するように構成することも可能である。
【００３７】
（第１実施形態）
図５は、本実施形態に係る識別装置２０１を説明するための図である。
識別装置２０１は、選択部２３０と識別部２３１を備えている。
画像処理装置２１は、動画フレームの画像データから高次元の特徴量を抽出し、これを選択部２３０に出力する。
このように、画像処理装置２１は、識別対象データ（画像データ）の特徴量を取得する特徴量取得手段として機能している。
【００３８】
ここでは、一例として、特徴量をＭＲＣｏＨＯＧ特徴量とする。ＭＲ−ＣｏＨＯＧ特徴量は、３２５９２次元を有する高次元のベクトルデータ（所定の順序で成分を並べたもの、具体的には後述するようにヒストグラム）であって、３２５９２個の成分から構成されている。
なお、特徴量を高次元としたのは、高次元の場合に特に画像認識装置２００が有効であるためであって、高次元でない特徴量を用いることも可能である。
【００３９】
選択部２３０は、画像処理装置２１から入力された選択前特徴量２３３から、予め指定された所定の部分からなる成分を選択し、選択した選択後特徴量２３４を識別部２３１に入力する。
このように、選択部２３０は、抽出により取得した特徴量から識別に使用する予め指定された部分を選択する選択手段として機能している。
高次元の特徴量を選択して間引くことにより、識別に用いる特徴量の成分を少なくすることができる。これによって、識別装置２０１の回路が小型化され、回路面積を低減することができる。また、これに伴って消費電力も小さくなる。
【００４０】
特徴量の選択する部分は、ランダムに指定してもよいが、本実施形態では、識別性能を高めるべく、識別精度（正しく対象を検出できる検出精度）の向上に有効な部分を選択用に指定している。
そして、本実施形態では、識別精度の向上に資する特徴量の部分をＲｅａｌ  ＡｄａＢｏｏｓｔ（以下、ＲＡｄＢという）と呼ばれる識別器のアルゴリズムを用いて決定した。
【００４１】
ＲＡｄＢは、識別器用に広く用いられているアルゴリズムであるが、本実施形態では、識別用ではなく、特徴量を選択するのに用いている。
ＲＡｄＢは、選択する特徴量の成分の個数を指定すると、その個数分の成分を自動的に指定して出力する。このように本願発明者は、ＲＡｄＢの新たな使用方法を開拓した。
【００４２】
ここで、選択手段は、ＲＡｄＢなどの識別アルゴリズムにより予め指定された部分を特徴量から選択している。
そして、選択手段は、識別アルゴリズムにより予め指定された、識別手段による識別精度が高くなる部分を特徴量から選択している。
【００４３】
なお、選択する部分の指定手段は、これに限定するものではなく、各特徴記述の特性から決定してもよい。
また、選択前特徴量２３３の入力端子列を入力層と見なし、選択後特徴量２３４の出力端子列と、入力ユニット２１１からなる入力層を２層からなる中間層と見なすことも可能であるため、学習の一環として、選択する成分を変化させながら識別精度が高くなる部分を探索してもよい。
【００４４】
このように、選択する成分を指定する段階では、選択部２３０にＲＡｄＢを利用するが、一度指定された後は、これを固定して使用するため、選択前特徴量２３３の端子と、選択後特徴量２３４の端子を結線し、選択前特徴量２３３の他の端子は結線しないで終端しておくことで、選択機能を実現することができる。
【００４５】
また、以上の例では、識別に際して効果の大きい成分を指定するという視点から選択する部分を決定したが、更に、画像処理装置２１の回路を簡素化するという視点から選択する成分を決定することもできる。
即ち、特徴量のある成分の集合が、画像処理装置２１のある回路に依存しており、その成分の集合を選択しなくても識別性能に与える影響が小さく、かつ、その回路を省略しても画像処理装置２１が他の特徴量を計算できる場合、その集合に属する成分を、これを計算する回路ごと画像処理装置２１から省略することができる。
【００４６】
例えば、ＭＲ−ＣｏＨＯＧ特徴量では、低解像度画像、中解像度画像、高解像度画像の間で輝度勾配の共起のヒストグラムを特徴量とするが、低解像度画像と高解像度画像の間の共起を取れば所望の識別精度が得られる場合、中解像度画像は、必要なく、中解像度画像を生成したり、生成した中解像度画像の輝度勾配を計算したり、中解像度画像と低解像度画像、及び高解像度画像との間の輝度勾配の共起を計測する回路構成を画像処理装置２１から省くことが可能となる。
【００４７】
そこで、識別精度に寄与する成分を選択するという視点と、画像処理装置２１の回路構成を簡略化するという視点の双方から所望の識別精度が得られる特徴量の部分を追い込んでいき、これによって選択する成分を設定することも可能である。
この場合、特徴量取得手段は、特徴量抽出手段が識別対象データである画像データから抽出した輝度勾配の共起の分布に基づく特徴量を取得し、選択手段は、識別アルゴリズムにより予め指定された、特徴量抽出手段による抽出処理又は抽出回路構成を簡略化する部分を特徴量から選択している。
【００４８】
識別部２３１は、ＢＮＮ２１０を用いており、選択前特徴量２３３の端子列から選択された選択後特徴量２３４を用いて識別処理を行う。
このように、識別部２３１は、選択した部分を識別手段に入力する入力手段を備えており、２値化された重み付けにより識別対象（この例では、人物と背景）の学習が既に行われているバイナリニューラルネットワークで構成されている。
【００４９】
識別部２３１は、識別処理により、対象を人物と識別した場合は、出力ユニット２１５−１を１に設定すると共に出力ユニット２１５−２を−１に設定して識別結果を出力し、対象を背景（人物が写っていない＝背景）と識別した場合には、出力ユニット２１５−１を−１に設定すると共に出力ユニット２１５−２を１に設定して識別結果を出力する。
このように、識別部２３１は、入力した部分を識別手段が用いて識別した識別結果を出力する出力手段を備えている。
【００５０】
このような画像認識装置２００を構成した後、本願発明者は、どの程度まで特徴量の成分数を選択によって絞り込むことができ、また、識別部２３１の回路構成を簡略化することが可能であるか、各種の実験を行った。
次に、これらの実験について説明する。何れの実験もＭＲ−ＣｏＨＯＧ特徴量を用いて行った。
【００５１】
図６は、特徴量の選択を行わずに入力次元数を３２５９２次元のままで（即ち、入力ユニット２１１は、３２５９２個ある）、中間層の中間ユニット２１３のユニット数を削減した場合の識別精度の変化を示した実験結果である。
比較のために、識別装置２０１をＲＡｄＢで構成した場合の識別精度も記してある。
図に示したように、ＲＡｄＢの場合の識別精度は、９７．５９％であった。
一方、中間層のユニット数を、１０２４、２５６、６４、１６、４、２、１と順次減らしていった場合の識別精度は、それぞれ、９８．３２％、９８．２９％、９８．４１％、９８．３１％、９８．２６％、９８．１２％、９８．２９％であった。
実験結果から分かるように、中間ユニット２１３の数が１個でも識別精度が９８％以上有り、十分実用に耐えることができる。
【００５２】
図７は、特徴量を選択することにより入力次元を５００次元に減らした状態で（即ち、入力ユニット２１１は、５００個ある）、中間ユニット２１３のユニット数を削減した場合の識別精度の変化を示した実験結果である。
図に示したように、ＲＡｄＢの場合の識別精度は、９７．５９％であった。
一方、中間層のユニット数を、１０２４、２５６、６４、１６、４、２、１と順次減らしていった場合の識別精度は、それぞれ、９８．３７％、９８．３７％、９７．９７％、９７．７４％、９７．３９％、９７．３９％、９７．０５％であった。
実験結果から分かるように、中間ユニット２１３の数が１個でも識別精度が９７％以上有り、十分実用に耐えることができる。
【００５３】
図８は、中間ユニット２１３を１個にし、選択する特徴量の入力次元を５００から順次削減していった場合（即ち、入力ユニット２１１を５００から削減していった場合）の識別精度の変化を示した実験結果である。
図に示したように、入力次元を、５００、２００、１００、６４、３２、１６、８、４と減らしていった場合の識別精度は、それぞれ、９７．１３％、９５．７９％、９４．５２％、９３．３０％、９１．７９％、９０．０３％、８８．５７％、８３．９６％であった。
【００５４】
実験結果から分かるように、入力次元が４次元で中間ユニット２１３が１個でも識別精度が８３％以上有り、用途によっては実用に耐えることができる。また、入力次元が１６次元以上では、識別精度が９０％以上有り、十分に実用に耐えることができる。
以上、図６〜図８を用いて実験結果について説明したが、学習は、入力次元やユニット数を変化させるごとに行った。
【００５５】
図９は、識別装置をＲＡｄＢで構成した場合と識別装置２０１で構成した場合との回路規模を比較した表である。識別装置２０１に関しては、中間ユニット２１３が１個の場合を示している。
Ｒｅｓｉｓｔｅｒは小容量のメモリであって、ＲＡｄＢの場合は、１３７個のＲｅｓｉｓｔｅｒを必要とするのに対し、識別装置２０１の場合は１６個で足りる。
【００５６】
ＬＵＴｓは、ルックアップテーブルであって、複雑な計算処理を単純な配列の参照処理で置き換えるものである。
ＲＡｄＢの場合は、１２２６個のＬＵＴｓを要するのに対し、識別装置２０１の場合は、８個で足りる。
【００５７】
ＤＳＰは、デジタル信号プロセッサであって、ＲＡｄＢの場合は、２０個のＤＳＰを必要とするのに対し、識別装置２０１の場合は、必要ない。
Ｂｌｏｃｋ  ＲＡＭは、大容量のメモリであって、ＲＡｄＢの場合は、２個のＢｌｏｃｋ  ＲＡＭが必要であるのに対し、識別装置２０１の場合は、必要ない。
以上のように、従来から識別器として使用されているＲＡｄＢに比べて識別装置２０１は、小規模の回路で構成することができ、半導体装置化、即ち、ＩＣチップ化に適している。
【００５８】
図１０は、識別装置をＲＡｄＢで構成した場合と、中間ユニットを１個とする識別装置２０１で構成した場合に必要なメモリの容量を比較した表である。
表に示したように、ＲＡｄＢは、１０２４キロビットを要するのに対し、識別装置２０１は、０．５キロビット（選択する特徴量を５００次元とした場合）で済む。
【００５９】
図１１は、本実施形態の画像認識装置２００の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置２１と識別装置２０１のハードウェア回路が行うものである。
まず、画像処理装置２１が、カメラ８４が出力した動画フレームの入力を受け付ける（ステップ１０５）。
次に、画像処理装置２１が、回路に従って動画フレームを処理し、動画フレームの選択前特徴量２３３を抽出して識別装置２０１に出力する（ステップ１１０）。
【００６０】
一方、識別装置２０１は、画像処理装置２１から入力を受け付けた選択前特徴量２３３を選択部２３０で選択し（ステップ１１５）、選択後特徴量２３４を識別部２３１に入力する（ステップ１２０）。
次に、識別装置２０１は、選択後特徴量２３４をＢＮＮ２１０で計算することにより識別処理を行い、計算の結果得られた識別結果を出力する（ステップ１２５）。
【００６１】
次に、画像認識装置２００は、処理を終了するか否かを判断し、処理を終了する場合は（ステップ１３０；Ｙ）、画像認識処理を終了し、処理を終了しない場合は（ステップ１３０；Ｎ）、ステップ１０５に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
【００６２】
以上に述べた第１実施形態によれば、次のような効果を得ることができる。
（１）画像認識装置２００は、ＢＮＮ２１０を用いて識別を行う際に、高次元の特徴量から識別に重要な特徴を選択し、これをＢＮＮ２１０の入力層へ入力することができる。
非特許文献１の従来技術では、高次元特徴量を全て用いて計算を行っているため、処理コストが大きくなってしまうが、このように入力する特徴量の選択を行うことで、計算コスト・ハードウェアリソースを削減できる。
（２）識別部２３１にＢＮＮ２１０を用い、中間層（中間層への入力と中間層からの出力）に対する重みと活性化関数を２値化することにより処理コストの低減を図ることができる。また、ＢＮＮ２１０はハードウェアに実装する際、加算器及びカウンタで計算できるため、小コストで実装することができる。
（３）識別に重要な特徴量の選択をＲＡｄＢを用いて指定することができる。これによって識別精度に有効に作用する特徴量の部分を選択するため、次元数と中間ユニット２１３の大幅な削減が可能となる。
（４）特徴量を選択して入力した場合でも高い識別性能を保つことができ、回路規模においてもＲＡｄＢより軽量に実装することができる。
（５）本実施形態では、識別装置２０１をハードウェアで実現したが、ソフトウェアで実現する場合も構築が容易となる。
【００６３】
（第２実施形態）
画像処理装置２１によっては、低次元の特徴量を用いる場合がある。
例えば、非特許文献２の技術では、低次元な特徴量（例えば約５００次元）から識別を行うため、人物の検出精度に限界がある。
より高精度な検出を行う場合、高次元の特徴量を計算する必要があるが、そのまま全ての特徴量を計算すると計算コストが増大してしまう。
【００６４】
また、必要な識別精度を確保するために、ＢＮＮを更に多値化する研究も行われている。
しかし、特徴量を高次元化したり、ニューラルネットワークを多値化すると、回路が複雑化し、回路面積が増大してしまう。
これに対して、本願発明者は、ニューラルネットワークは２値化のままで、低次元の特徴量を複製することにより識別精度を高めることに成功した。
以下、当該複製による画像認識処理について説明する。
【００６５】
図１２は、本実施形態に係る識別装置２０１を説明するための図である。
画像認識装置２００は、画像処理装置２１と識別装置２０１から構成されており、識別装置２０１は、複製部２４０と識別部２３１を備えている。
画像処理装置２１は、動画フレームから抽出した特徴量を複製部２４０に出力する。
一例として、画像処理装置２１は、動画フレームから、１００次元程度の低次元のＨＯＧ特徴量（即ち、成分が１００個程度存在する）を抽出して複製部２４０に出力するものとする。
ここで、画像処理装置２１は、識別対象を記録した記録データ（動画フレームの画像データ）から当該識別対象の特徴量を取得する特徴量取得手段として機能しており、識別装置２０１は、当該特徴量を識別対象データとして取得する識別対象データ取得手段を備えている。
そして、特徴量取得手段は、当該画像データにおける例えばＨＯＧ特徴量による輝度勾配の共起の分布を特徴量として取得している。
【００６６】
複製部２４０は、画像処理装置２１から入力された複製前特徴量２４３を所定の数だけ複製して複製後特徴量２４４を生成し（図の例では２倍に複製している）、これを識別部２３１に入力する。
このように、複製部２４０は、識別対象データを複製する複製手段を備えている。
【００６７】
複製は、例えば、複製前特徴量２４３の出力端子を複数の複製後特徴量２４４の入力端子に並列に結線することにより行われる。
また、複製前特徴量２４３の出力先を複数の複製後特徴量２４４の端子にリダイレクトすることにより、複製前特徴量２４３を順次出力することによって各成分を複数回識別部２３１に入力してもよく、この場合も複製に含まれるものとする。
【００６８】
識別部２３１は、ＢＮＮ２１０を用いており、複製前特徴量２４３から選択された複製後特徴量２４４を用いて識別処理を行う。
このように、識別部２３１は、複製した識別対象データを識別手段に入力する入力手段を備えており、２値化された重み付けにより識別対象（この例では、次に述べるように人物と背景）の学習が既に行われているバイナリニューラルネットワークで構成されている。
そして、このバイナリニューラルネットワークを構成するＢＮＮ２１０は、複製した識別対象データを多値化して加算する加算器と、加算器の出力を計数するカウンタを用いて構成されている。
【００６９】
識別部２３１は、識別処理により、対象を人物と識別した場合は、出力ユニット２１５−１を１に設定すると共に出力ユニット２１５−２を−１に設定する識別結果が出力され、対象を背景（人物の写っていない＝背景）と識別した場合には、出力ユニット２１５−１を−１に設定すると共に出力ユニット２１５−２を１に設定して識別結果を出力する。
このように、識別部２３１は、入力した識別対象データを用いて識別した識別結果を出力する出力手段を備えている。
【００７０】
図１３は、特徴量の複製による識別精度の向上について考察した図である。
後の実験結果が示すように、特徴量を複製することにより次元を増やして識別部２３１に入力すると識別精度が向上する。
これは、複製しない場合は、図１３の左図に示したように、中間層での計算を重みと活性化関数を２値化するため、特徴量の１つの成分からネットワーク内部で表現できる値が｛−Ｘ、Ｘ｝に限られてしまうのに対し、２倍に複製した場合は、右図に示したように、表現できる値が｛−２Ｘ、０、２Ｘ｝というように増えるためである。３倍以上に複製すると、更に、表現できる値が増える。
【００７１】
図１４は、複製による識別精度の変化を示した実験結果である。
オリジナルの画像データから取得した特徴量が１００次元で複製を行わない場合、これを２倍に複製（１回複製）して２００次元にした場合、更に、３倍に複製（２回複製）して３００次元にした場合、４倍（３回複製）に複製して４００次元にした場合、５倍に複製（４回複製）して５００次元にした場合、及び、特徴量が５００次元で複製を行わない場合の識別精度は、それぞれ、９４．５２％、９５．５６％、９５．８１％、９６．１８％、９６．０９％、９７．１３％であった。
このように、複製の数を増やすごとに識別精度が向上し、９４．５％〜９６％程度の識別精度を確保できるため、十分に実用に耐えることができる。
この実験により、高次元の特徴量を用いたり、ニューラルネットワークを３値以上に多値化したりしなくても、低次元の特徴量を複製するという簡単な処理により、識別精度が向上することが分かった。
【００７２】
図１５は、本実施形態の画像認識装置２００の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置２１と識別装置２０１のハードウェア回路が行うものである。
まず、画像処理装置２１が、カメラ８４が出力した動画フレームの入力を受け付ける（ステップ１０５）。
次に、画像処理装置２１が、回路に従って動画フレームを処理し、動画フレームの特徴量（複製前特徴量２４３）を抽出して識別装置２０１に出力する（ステップ１１０）。
【００７３】
一方、識別装置２０１は、画像処理装置２１から入力を受け付けた複製前特徴量２４３を複製し（ステップ１５０）、生成した複製後特徴量２４４を識別部２３１に入力する（ステップ１２０）。
次に、識別装置２０１は、入力された複製後特徴量２４４に対して識別部２３１で計算し、計算の結果得られた識別結果を出力する（ステップ１２５）。
【００７４】
次に、画像認識装置２００は、処理を終了するか否かを判断し、処理を終了する場合は（ステップ１３０；Ｙ）、画像認識処理を終了し、処理を終了しない場合は（ステップ１３０；Ｎ）、ステップ１０５に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
【００７５】
なお、本実施形態では、動画フレームの画像データから特徴量を抽出したが、画像認識装置２００に画像処理装置２１を備えず、動画フレームの画像データを直接識別装置２０１に入力することも可能である。
この場合、識別データ取得手段が取得する識別対象データは、動画フレームの画像データ（記録データに相当）となる。
また、特徴量の第１成分は、２個に複製し、第２成分は４個に複製し、といったように、成分ごとに複製する個数を変化させてもよい。
【００７６】
以上に述べた第２実施形態によれば、次のような効果を得ることができる。
（１）ＢＮＮ２１０を用いて識別を行う際、特徴量の複製を行い、これをＢＮＮ２１０の入力層へ入力する。入力する特徴量の複製を行うことでネットワーク内部で表現できる値を増やし、識別部２３１の識別性能の向上を図ることができる。
（２）識別部２３１にＢＮＮ２１０を用い、中間層での計算を重みと活性化関数を２値化することにより処理コストの低減を図ることができる。また、ＢＮＮ２１０はハードウェアに実装する際、加算器及びカウンタで計算できるため、小コストで実装することができる。
（３）低次元な特徴量を入力する場合においても、新規に別の特徴量を抽出することなく複製を行うため、画像処理装置２１における計算コストを削減することができる。
（４）ＢＮＮ２１０は、ハードウェアに実装する際、加算器およびカウンタで構成できるため、特徴量の複製により入力を増やしたとしても低コストで実装することができる。
（５）本実施形態では、識別装置２０１をハードウェアで実現したが、ソフトウェアで実現する場合も構築が容易となる。
【００７７】
（第３実施形態）
図１６は、本実施形態に係る識別装置２０１を説明するための図である。
本実施形態の識別装置２０１は、第１実施形態と第２実施形態を組み合わせたものである。
識別装置２０１は、選択部２３０、複製部２４０、及び識別部２３１を備えており、これらの構成は、上の実施形態で説明したものと同様である。
【００７８】
画像処理装置２１は、特徴量を選択部２３０に出力し、選択部２３０は、識別に用いる成分を選択して複製部２４０に入力する。
これに応じて、複製部２４０は、選択部２３０から入力された特徴量を複製して識別部２３１に入力する。
そして、識別部２３１は、複製された特徴量を計算して画像認識対象を識別する。
なお、複製後特徴量２４４を設けずに、識別装置２０１内に配線を設け、識別装置２０１の入力手段が複製を行ってもよい。
【００７９】
このように、本実施形態の画像認識装置２００は、特徴量から識別に使用する予め指定された部分を選択する選択手段と、当該選択手段が選択した部分を複製する複製手段と、選択手段が選択した部分と複製手段が複製した部分を識別手段に入力する入力手段を備えている。
【００８０】
図１７は、本実施形態の画像認識装置２００の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置２１と識別装置２０１のハードウェア回路が行うものである。
まず、画像処理装置２１が、カメラ８４が出力した動画フレームの入力を受け付ける（ステップ１０５）。
次に、画像処理装置２１が、回路に従って動画フレームを処理し、動画フレームの特徴量（選択前特徴量２３３）を抽出して識別装置２０１に出力する（ステップ１１０）。
【００８１】
一方、識別装置２０１は、画像処理装置２１から入力を受け付けた選択前特徴量２３３を選択部２３０で選択し（ステップ１１５）、選択後特徴量２３４を複製部２４０に入力する。
複製部２４０は、選択部２３０から入力された選択後特徴量２３４を複製前特徴量２４３として受け付け、これを複製して（ステップ１５０）、複製後特徴量２４４を識別部２３１に入力する（ステップ１２０）。
次に、識別装置２０１は、複製された特徴量を識別部２３１のＢＮＮ２１０で計算することにより識別処理を行い、計算の結果得られた識別結果を出力する（ステップ１２５）。
【００８２】
次に、画像認識装置２００は、処理を終了するか否かを判断し、処理を終了する場合は（ステップ１３０；Ｙ）、画像認識処理を終了し、処理を終了しない場合は（ステップ１３０；Ｎ）、ステップ１０５に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
以上のように、選択の後に複製を行ったが、複製部２４０と選択部２３０の順番を入れ替えて、特徴量の複製後に選択を行ってもよい。
【００８３】
以上に述べた、第１実施形態〜第３実施形態については、次のように構成することができる。
（第１１構成）
識別対象データの特徴量を取得する特徴量取得手段と、前記特徴量取得手段が取得した特徴量から、識別に使用する予め指定された部分の特徴量を選択する選択手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記選択手段が選択した部分の特徴量を前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した部分の特徴量を用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置。
（第１２構成）
前記識別手段は、２値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする第１１構成に記載の情報処理装置。
（第１３構成）
前記選択手段は、ＲＡｄＢなどの識別アルゴリズムにより予め指定された部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第１１構成又は第１２構成に記載の情報処理装置。
（第１４構成）
前記選択手段は、前記識別アルゴリズムにより予め指定された、前記識別手段による識別精度が高くなる部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第１３構成に記載の情報処理装置。
（第１５構成）
前記特徴量取得手段は、特徴量抽出手段が識別対象データである画像データから抽出した輝度勾配の共起の分布に基づく特徴量を取得し、前記選択手段は、前記識別アルゴリズムにより予め指定された、前記特徴量抽出手段による抽出処理又は抽出回路構成を簡略化する部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第１３構成に記載の情報処理装置。
（第１６構成）
前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする第１１構成から第１５構成までのうちの何れか１構成に記載の情報処理装置。
（第１７構成）
前記バイナリニューラルネットワークは、前記部分の特徴量を２値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする第１６構成に記載の情報処理装置。
（第１８構成）
前記選択手段が選択した部分の特徴量を複製する複製手段を具備し、前記入力手段は、前記選択手段が選択した部分の特徴量と前記複製手段が複製した部分の特徴量を前記識別手段に入力する、ことを特徴とする第１１構成から第１６構成までのうちの何れか１の構成に記載の情報処理装置。
【００８４】
（第２１構成）
識別対象データを取得する識別対象データ取得手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記識別対象データ取得手段が取得した識別対象データを複製する複製手段と、前記複製手段が複製した識別対象データを前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した識別対象データを用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置。
（第２２構成）
２値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする第２１構成に記載の情報処理装置。
（第２３構成）
前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする第２１構成、又は第２２構成に記載の情報処理装置。
（第２４構成）
識別対象を記録した記録データから当該識別対象の特徴量を取得する特徴量取得手段を具備し、前記識別対象データ取得手段は、前記特徴量取得手段が取得した特徴量を識別対象データとして取得することを特徴とする第２１構成、第２２構成、又は第２３構成に記載の情報処理装置。
（第２５構成）
前記記録データは、画像データであり、前記特徴量取得手段は、前記画像データにおける輝度勾配の共起の分布を前記特徴量として取得することを特徴とする第２４構成に記載の情報処理装置。
（第２６構成）
前記バイナリニューラルネットワークは、前記複製手段が複製した識別対象データを多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする第２３構成に記載の情報処理装置。
【００８５】
（画像処理装置２１の構成）
以上、識別装置２０１について３つの実施形態について説明したが、以下では、画像認識装置２００を構成するもう一つの要素である画像処理装置２１について説明する。
（１）識別装置２０１の概要
画像処理装置２１（図２２）は、高解像度画像から輝度勾配方向を抽出する３ラインバッファ２５ａ〜バッファ２８ａから構成された高解像度画像用の処理ライン、中解像度画像から輝度勾配方向を抽出する中解像度部２４ｂ〜バッファ２８ｂから構成された中解像度画像用の処理ライン、及び低解像度画像から輝度勾配方向を抽出する低解像度部２４ｃ〜バッファ２８ｃから構成された低解像度画像用の処理ラインを並列に配設しており、これら３つの解像度の画像から並行して同時に輝度勾配方向を画素ごとに抽出する。
【００８６】
共起行列作成部３０ａ、３０ｂ、３０ｃは、これら３つの解像度の画像から抽出した輝度勾配方向を用いて共起行列を作成し、ヒストグラム作成部３１がこれを用いてヒストグラムをＭＲＣｏＨＯＧ特徴量として出力する。
３つの解像度の画像を同時に処理するため、高速に処理でき、カメラから出力される動画をリアルタイムで処理することができる。
【００８７】
（２）識別装置２０１の詳細
まず、ＨＯＧ特徴量、ＣｏＨＯＧ特徴量、及びＭＲＣｏＨＯＧ特徴量について簡単に説明する。
図１８は、ＨＯＧ特徴量の概念を説明するための図である。
ＨＯＧ特徴量は、次の手順により画像から抽出される。
図１８（ａ）左図に示した画像１０１は、対象を観測する観測窓などによる注目画像領域とする。
まず、画像１０１を矩形のセル１０２ａ、１０２ｂ、・・・に分割する。
次に、図１８（ａ）右図に示したように、セル１０２ごとに各画素（ピクセル）の輝度勾配方向（低輝度から高輝度に向かう方向）を例えば８方向に量子化する。
【００８８】
次に、図１８（ｂ）に示したように、量子化した輝度勾配の方向を階級とし、出現回数を度数とするヒストグラムを生成することにより、セル１０２に含まれる輝度勾配のヒストグラム１０６をセル１０２ごとに作成する。
そして、セル１０２をいくつか集めたブロック単位でヒストグラム１０６の合計度数が１となるように正規化する。
【００８９】
図１８（ａ）左図の例では、セル１０２ａ、１０２ｂ、１０２ｃ、１０２ｄから１ブロックが形成されている。
このようにして正規化したヒストグラム１０６ａ、１０６ｂ、・・・を図１８（ｃ）のように一列に並べたヒストグラムが画像１０１のＨＯＧ特徴量１０７である。
【００９０】
図１９は、ＣｏＨＯＧ特徴量を説明するための図である。
ＣｏＨＯＧ特徴量は、局所領域における２画素間の勾配ペアに着目した特徴量であり、次の手順により画像から抽出される。
図１９（ａ）に示したように、画像１０１を矩形のセル１０２ａ、１０２ｂ、・・・に分割する。なお、セルは、ブロックとも呼ばれる。
【００９１】
ＣｏＨＯＧ特徴量では、セル１０２ａ、１０２ｂ、・・・に注目画素１１０を設定し、注目画素１１０の輝度勾配方向と、注目画素１１０から距離１〜４にある画素の輝度勾配方向との組合せにより共起行列（注目画素１１０に関するヒストグラム）を作成する。なお、注目画素１１０との組合せに係る画素はオフセットと呼ばれる。
【００９２】
例えば、注目画素１１０からの距離は、数式で表されるが、当該数式を適用すると、図１９（ａ）に示したように、距離１の画素として、注目画素１１０に隣接する画素１ａ〜１ｄが得られる。
なお、注目画素１１０の上と左の画素が組合せに含まれないのは、一番上の画素行の左端から右方向に向けて順に注目画素１１０を設定して処理していくため、既に処理が終了しているからである。
【００９３】
次に、注目画素１１０と画素１ａの輝度勾配方向を観察する。輝度勾配方向は、例えば８方向に量子化されており、図では方向を矢線で示してある。
注目画素１１０の輝度勾配方向は、右方向で画素１ａの輝度勾配方向は、右上方向である。
そこで、図１９（ｂ）の共起行列１１３で、（行番号、列番号）＝（右方向、右上方向）の要素に一票を投じる。
図１９（ｂ）の例では、注目画素１１０と画素１ａの輝度勾配方向の組みとして、行番号として右方向の矢印が記載された行と、列番号として右上方向の矢印が記載された列の要素に１が加算された結果、当該要素の値が１０になっている。
【００９４】
なお、本来は、共起行列１１３を立体的なヒストグラムで描き、票数を高さ方向の棒グラフで表すべきであるが、図を簡略化するため票数を数値で表している。
以下、同様に注目画素１１０と画素１ｂ、１ｃ、１ｄとの組合せによる投票（計数）を行う。
【００９５】
図１９（ｃ）に示したように、注目画素１１０を中心に、距離２の画素は画素１ａ〜１ｄの外周にある画素２ａ〜２ｆ、距離３の画素は更にその外周の画素３ａ〜３ｈ、距離４の画素は更にその外周の画素４ａ〜４ｌと規定されている。
これらについても同様に注目画素１１０と組合せて共起行列１１３に投票する。
【００９６】
以上の投票処理をセル１０２を構成する全画素について行い、画素ごとの共起行列が得られる。
更に、これを全てのセル１０２で行い、全ての共起行列の成分を図１９（ｄ）に示したように一列に並べたヒストグラムが画像１０１のＣｏＨＯＧ特徴量１１７である。
【００９７】
図２０は、ＭＲＣｏＨＯＧ特徴量を説明するための図である。
ＭＲＣｏＨＯＧ特徴量は、同じ画像の異なる解像度間で共起をみることでオフセット数を大幅に削減する。
まず、図２０（ａ）に示したように、元画像から解像度（画像サイズ）の異なる画像を生成することにより高解像度画像１２０（元画像）、中解像度画像１２１、低解像度画像１２２を得る。画像中の升目は、画素を表している。図示しないが、これら各解像度画像にもセル（ブロックとも呼ばれる）が設定されている。
そして、高解像度画像１２０、中解像度画像１２１、及び低解像度画像１２２のそれぞれの画素について量子化した輝度勾配方向を計算する。
【００９８】
ＭＲＣｏＨＯＧ特徴量の抽出には、中解像度画像１２１、低解像度画像１２２を用いるが、分かり易くするために、図２０（ｂ）に示したように、中解像度画像１２１と低解像度画像１２２を中解像度画像１２１ａと低解像度画像１２２ａに引き延ばし、高解像度画像１２０と同じサイズにする。
【００９９】
次に、図２０（ｃ）に示したように、ＣｏＨＯＧ特徴量と同様に、高解像度画像１２０の注目画素１２５における輝度勾配方向と、その周囲の高解像度画像１２０の画素１ａ〜１ｄの輝度勾配方向との共起（輝度勾配方向の組合せ）を取って、図示しない共起行列に投票する。
【０１００】
次に、高解像度画像１２０の注目画素１２５と、画素１ａ〜１ｄの外周にある中解像度画像１２１ａの画素２ａ〜２ｄとの共起に従って共起行列に投票し、更に、注目画素１２５と、画素２ａ〜２ｄの外周にある低解像度画像１２２ａの画素３ａ〜３ｄとの共起に従って共起行列に投票する。
【０１０１】
このようにして、高解像度画像１２０の注目画素１２５に対して、高解像度画像１２０内での組合せ、中解像度画像１２１ａとの組合せ、低解像度画像１２２ａとの組合せで共起を取った共起行列が得られる。
この処理を、高解像度画像１２０のセル内の各画素に対して行い、更に、全てのセルについて行う。
これにより、高解像度画像１２０の画素ごとの共起行列が得られる。
【０１０２】
同様にして、更に、中解像度画像１２１ａに注目画素を設定した場合の各解像度画像との共起行列、低解像度画像１２２ａに注目画素を設定した場合の各解像度画像との共起行列を計算し、全ての共起行列の成分を図２０（ｄ）に示したように一列に並べたヒストグラムが高解像度画像１２０のＭＲＣｏＨＯＧ特徴量１２７である。
【０１０３】
なお、この例では、高解像度画像１２０に注目画素を設定した場合の共起行列、中解像度画像１２１ａに注目画素を設定した場合の共起行列、低解像度画像１２２ａに注目画素を設定した場合の共起行列を連結したヒストグラムをＭＲＣｏＨＯＧ特徴量としたが、何れか１つ、例えば、高解像度画像１２０に注目画素を設定した場合の共起行列によるヒストグラムをＭＲＣｏＨＯＧ特徴量とすることも可能である。
また、何れか２つを組合せてもよいし、更に、解像度を増やして４種類以上の解像度画像で共起をとってもよい。
【０１０４】
ＭＲＣｏＨＯＧ特徴量によって、ＣｏＨＯＧより大幅に特徴量を減らすことができる一方、頑健性がＣｏＨＯＧよりもよいことが発明者等による実験から明らかになっている。
これは、解像度を低下させることによりノイズが低減することと、注目画素から離れた部分との共起を見るためではないかと推測されている。
【０１０５】
次に、数学的な計算式のハードウェアへの適用形態について説明する。
ＭＲＣｏＨＯＧ特徴量を算出するためには、平方根、除算、逆正接を計算する必要がある。
ところが、コンピュータは、加算によって平方根などの各種計算をするため、これらの演算は、負荷が大きい。
そのため、計算速度を高速化したり、ＩＣチップ化できるように回路規模を適正なものにするためには、ハードウェアに適した計算方法を考案する必要がある。
【０１０６】
図２１は、本実施形態で用いる計算方法を説明するための図である。
図２１（ａ）の式（１）のｍ（ｘ、ｙ）は、座標（ｘ、ｙ）にある画素の輝度勾配の勾配強度の計算式を示している。
なお、文字化け防止のために、下付の小文字は、全角文字で表す。
【０１０７】
ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）は、それぞれ、ｘ方向（水平方向・横方向）とｙ方向（垂直方向・縦方向）の輝度の勾配強度である。
ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）は、数学的には、輝度をｘ方向、ｙ方向に偏微分して求めるが、本実施形態では、ｆｘ（ｘ、ｙ）を着目画素の水平方向（左右横方向）両隣に隣接する画素の輝度の差分で表し、ｆｙ（ｘ、ｙ）を着目画素の垂直方向（上下縦方向）両隣に隣接する画素の輝度の差分で表す。
【０１０８】
式（１）に示したように、勾配強度は、平方根を含んでいるが、ユーグリッド距離をマンハッタン距離に置き換えることにより、式（１）を式（２）の加算式で近似する。
この置き換えは、図２１（ａ）の右図に示したように、地点ＴＵ間のユーグリッド距離である（ｔ自乗＋ｕ自乗）の平方根を、マンハッタン距離であるｔ＋ｕで近似するものである。名称のマンハッタンは、米国都市のマンハッタンの街路が碁盤の目状であることに由来する。
【０１０９】
勾配強度は、輝度勾配に係る輝度の高低差が大きいほど大きくなる量であり、ゼロオフセットに用いられる。
勾配強度が所定の閾値に達しないものに関しては、例えば、共起を取らないなどの所定の処理を行うが、画像の識別精度に与える影響が小さいため、本実施形態では、当該処理については説明を省略する。
実験の結果、ユーグリッド距離をマンハッタン距離で置き換えても画像認識能力には、殆ど影響しないことが確認された。
【０１１０】
図２１（ｂ）の式（３）は、一般に使用される輝度勾配方向θの計算式を示している。
式（３）は、ｆｘ（ｘ、ｙ）によるｆｙ（ｘ、ｙ）の除算と、逆正接（ａｒｃｔａｎｇｅｎｔ）の計算が含まれているため、計算に必要な処理負荷が大きくなる。
そこで、本実施形態では、ＭＲＣｏＨＯＧ特徴量の計算で必要なのは、式（３）による正確な値ではなく、量子化された輝度勾配方向であることに着目し、式（３）を用いずに、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の組と輝度勾配方向を対応させた対応テーブルを用意し、これによってｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の組を量子化された輝度勾配方向に写像する。
【０１１１】
図２１（ｃ）は、角度θの範囲と量子化した輝度勾配方向θとの関係を表したものである。
本実施形態では、一例として、輝度勾配方向を８方向に量子化するものとする。
ここでは、図２１（ｃ）に示すように、輝度勾配方向θが０°≦θ＜４５°のものは０°に量子化し、４５°≦θ＜９０°のものは４５°に量子化し、他の角度も同様に、９０°、１３５°、１８０°、２２５°、２７０°、３１５°に量子化するものとする。
【０１１２】
この手法では、まず、分類１１に従って、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の正負の組合せをａ〜ｄに分類する。
分類ａはｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）が共に正の場合、分類ｂはｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）が共に負の場合、分類ｃはｆｘ（ｘ、ｙ）か正でｆｙ（ｘ、ｙ）が負の場合、分類ｄは、ｆｘ（ｘ、ｙ）が負でｆｙ（ｘ、ｙ）が正の場合である。
【０１１３】
次に、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の大小関係を比較し、分類１２に従って、量子化された輝度勾配方向に対応させる。
分類がａで、ｙがｘ以下の場合は、０°に対応させ、ｙがｘより大きい場合は、４５°に対応させる。
分類がｂで、−ｙがｘ以下の場合は、９０°に対応させ、−ｙがｘより大きい場合は、１３５°に対応させる。
【０１１４】
分類がｃで、ｙがｘ以上の場合は、１８０°に対応させ、ｙがｘより小さい場合は、２２５°に対応させる。
分類がｄで、−ｙがｘ以上の場合は、２７０°に対応させ、−ｙがｘより小さい場合は、３１５°に対応させる。
このように、本実施形態では、分類１１、１２によって構成される対応テーブルを参照することにより、逆正接や除算を使用せずに、高速に量子化された輝度勾配方向を得ることができる。
【０１１５】
このように、本実施形態の画像処理装置は、注目画素の隣接画素の輝度を用いて注目画素の水平方向の輝度勾配強度ｆｘ（ｘ、ｙ）、及び垂直方向の輝度勾配強度ｆｙ（ｘ、ｙ）を取得し、当該取得した水平方向の輝度勾配強度と垂直方向の輝度勾配強度を、水平方向の輝度勾配強度と垂直方向の輝度勾配強度の正負及び大小と、量子化した勾配方向と、を対応させた対応テーブルで参照して量子化した勾配方向を出力している。
【０１１６】
図２２は、本実施形態の画像処理装置の回路構成を示した図である。
画像処理装置２１は、半導体装置として、例えば、半導体チップの上に形成されている。
画像処理装置２１は、３ラインバッファ２５ａ〜バッファ２８ａから構成された高解像度画像処理ラインと、中解像度部２４ｂ〜バッファ２８ｂから構成された中解像度画像処理ラインと、低解像度部２４ｃ〜バッファ２８ｃから構成された低解像度画像処理ラインを備えている。
これらのパイプラインは、並列に配設されており、高中低解像度の画像を同時に並行処理するため、高速に処理することができる。
【０１１７】
ここで、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインの組合せから成る回路は、順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力手段として機能している。
【０１１８】
そして、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインは、それぞれ、複数の解像度ごとに並列して設けられ、後述の画像入力部２３から順次出力される輝度から当該解像度の画素における輝度の勾配方向を出力する複数の解像度別勾配方向出力手段として機能している。
画像処理装置２１は、クロックに同期して、これらの解像度別勾配方向出力手段を同時に動作させることにより、解像度別の勾配方向を並行して順次出力することができる。
【０１１９】
以下、画像処理装置２１を構成する各回路について説明する。
ＭＲＣｏＨＯＧ特徴量を計算するには、画像を構成する各画素の輝度データが有ればよい。
そのため、本実施形態では、ＹＵＹＶ形式で形成された画像から、画素のＹ（輝度）を抽出してこれを輝度データとして画像処理装置２１に入力する。
以下では、画像のｉ行目ｊ列の画素の輝度データや後述の勾配方向データを（ｉ−ｊ）などと対応する画素の行番号と列番号で表すことにする。
【０１２０】
画像入力部２３は、動画カメラから送信されてくるフレームの画像の輝度データを画素順（当該画素が画像で配置されている順序）に基づいて順次出力する回路であり、画像を構成する画素の輝度を当該画素の順番に基づいて順次出力する輝度出力手段として機能する。
なお、本実施形態では、予めＹＵＹＶ形式の画像から輝度データＹを抽出し、これを画像として画像入力部２３に入力するが、画像入力部２３、あるいは、勾配方向算出部２６ａ、２６ｂ、２６ｃで画素データから輝度成分を抽出するように構成してもよい。
【０１２１】
画像４０は、図２４（ａ）に示したように、１行目の輝度データ（０−０）、（０−１）、（０−２）、・・・、（０−ｎ）、２行目の輝度データ（１−０）、（１−１）、（１−２）、・・・、・・・、（１−ｎ）、ｍ行目の輝度データ（ｍ−０）、（ｍ−１）、（ｍ−２）、・・・、（ｍ−ｎ）から構成されている。
【０１２２】
画像入力部２３は、動画カメラから送られてくる画像４０から輝度データを上の行から右方向に順に読み出し、輝度データ（０−０）、（０−１）、（０−２）、・・・、（０−ｎ）、（１−０）、（１−１）、・・・の順に出力する。
【０１２３】
図２２に戻り、画像入力部２３の出力線は、３ラインバッファ２５ａ、中解像度部２４ｂ、低解像度部２４ｃに配線されており、画像入力部２３が出力した輝度データは、３ラインバッファ２５ａ、中解像度部２４ｂ、低解像度部２４ｃのそれぞれに同時に出力される。
なお、図２２では、高解像度の輝度データの配線を太線の矢線で表し、中解像度の輝度データの配線を細線の矢線で表し、低解像度の輝度データの配線を点線で示している。
【０１２４】
中解像度部２４ｂと低解像度部２４ｃは、それぞれ、画像４０の解像度（サイズ）を１／２と１／４に変換する解像度変換回路である。
これらの解像度変換回路により、画像４０から解像度が１／２、１／４の画像が生成される。
なお、画像４０は、解像度を変換せずにそのまま高解像度画像としても使用される。
【０１２５】
解像度を変換する（リサイズする）方法には、最近隣接補間、バイリニア補間、バイキュビック補間などがある。
最近隣接補間は、リサイズ前の画素を抜き出してそのまま使う方法であり、バイリニア補間は、対象画素を中心とする２×２の領域を加重平均する方法であり、バイキュビック補間は、対象画素を中心とする４×４の領域を３次関数によって補完する方法である。
画像処理装置２１では、計算が単純で、更に、検出精度が高まる（後述）最近隣接補間を採用した。
【０１２６】
図２３は、中解像度部２４ｂ、低解像度部２４ｃによる解像度変換処理を説明するための図である。
中解像度部２４ｂは、図２３（ａ）の画像４０ｂに示したように、画像入力部２３が送信してくる画像４０の輝度データのうち、斜線で示した１つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが１つおきとなった解像度１／２の画像データを生成する。
【０１２７】
低解像度部２４ｃは、画像４０ｃに示したように、画像入力部２３が送信してくる画像４０の輝度データのうち、斜線で示した３つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが３つおきとなった解像度１／４の画像データを生成する。
【０１２８】
このような輝度データの間引きを行うことによって、中解像度部２４ｂは、解像度が１／２となった中解像度画像を生成・出力し、低解像度部２４ｃは、解像度が１／４となった低解像度画像を生成・出力する。
最近隣接補間を採用したため、不要なデータを読み飛ばし、必要なデータを拾うという計算負荷の小さい簡単な処理によって解像度を変更することができる。
【０１２９】
このように画像処理装置２１は、輝度出力手段（画像入力部２３）から順次出力される輝度を当該解像度に基づく頻度によって選択することにより、当該解像度の輝度を順次出力する。
【０１３０】
より詳細には、高解像度画像処理ライン（３ラインバッファ２５ａ〜バッファ２８ａ）は、高解像度に基づく頻度（全部選択するので頻度は全部）によって画素（の輝度）を選択して出力し、中解像度画像処理ライン（中解像度部２４ｂ〜バッファ２８ｂ）では、中解像度部２４ｂが中解像度に基づく頻度（１つおき）によって画素（の輝度）を選択して出力し、低解像度画像処理ライン（低解像度部２４ｃ〜バッファ２８ｃ）では、低解像度部２４ｃが低解像度に基づく頻度（３つおき）によって画素（の輝度）を選択して出力している。
これらの処理ラインは、これらの輝度データを用いて各解像度における勾配方向を出力する。
【０１３１】
図２３（ｂ）は、最近隣接補間を使用した場合の識別率と、バイリニア補間を用いた場合の識別率の実験結果を示したＲＯＣ（Ｒｅｃｅｉｖｅｒ  Ｏｐｅｒａｔｉｎｇ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃ）曲線図である。
縦軸と横軸は、それぞれ再現率と誤検出率となっており、曲線の下側の面積が大きいほど識別率がよいことを示している。
【０１３２】
図に示したように、最近隣接補完を用いた場合の識別率は、バイリニア補完を用いた場合の識別率よりも圧倒的によい性能を示している。これは、バイリニア補間と比べてエッジがはっきりとしているため、精度が向上したと考えられる。
このように最近隣接補間は、処理が簡単なのでハードウェア実装に向いているのに加えて、識別率も大いに向上する。
【０１３３】
図２２に戻り、３ラインバッファ２５ａは、高解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ａに出力する回路である。
勾配方向算出部２６ａは、３行分の輝度データを用いて高解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【０１３４】
３ラインバッファ２５ｂは、中解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ｂに出力する回路である。
勾配方向算出部２６ｂは、３行分の輝度データを用いて中解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【０１３５】
３ラインバッファ２５ｃは、低解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ｃに出力する回路である。
勾配方向算出部２６ｃは、３行分の輝度データを用いて低解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【０１３６】
図２４は、３ラインバッファ２５ａと勾配方向算出部２６ａの詳細な動作を説明するための図である。
図２４（ａ）を用いて先に説明したように、画像入力部２３からは、高解像度画像の画像４０の輝度データが（０−０）、（０−１）、・・・と出力される。
【０１３７】
３ラインバッファ２５ａは、図２４（ｂ）に示したように、これら輝度データを行別に３行分蓄えて、これら３行分を並列して勾配方向算出部２６ａに出力する。
図２４（ｂ）の例では、画像４０の２行目の輝度データ（１−０）、（１−１）、（１−２）、・・・と、３行目の輝度データ（２−０）、（２−１）、（２−２）、・・・と、４行目の輝度データ（２−０）、（２−１）、（２−２）、・・・を画素の列を揃えながら並行して勾配方向算出部２６ａに出力している場合を表している。
【０１３８】
勾配方向算出部２６ａは、並列して出力される３行分の輝度データの入力を受け付けて、量子化された輝度勾配方向を出力する。
図に示したように、勾配方向算出部２６ａは、３行３列の記憶素子の配列を備えており、３ラインバッファ２５ａの出力に同期して３行３列分の輝度データを取り込んで、これら輝度データによる輝度を読み取る。
【０１３９】
図に示したように、勾配方向算出部２６は、３行３列の輝度データのうち、中央の輝度データを注目画素に設定する。図の例では、太線の矩形で囲った輝度データ（２−１）が注目画素の輝度データとなる。
【０１４０】
そして、勾配方向算出部２６ａは、注目画素と水平方向に隣接する輝度データ（２−２）、（２−０）の輝度の差分から水平方向の輝度勾配強度ｆｘ（ｘ、ｙ）を算出し、注目画素と垂直方向に隣接する輝度データ（１−１）、（３−１）の輝度の差分から垂直方向の輝度勾配強度ｆｙ（ｘ、ｙ）を算出する。
【０１４１】
勾配方向算出部２６ａは、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）を求めると、これを図２１の式（２）に代入してｍ（ｘ、ｙ）を求め、ｍ（ｘ、ｙ）が閾値に達していない場合は、所定の処理を行う。
ｍ（ｘ、ｙ）が閾値に達している場合は、ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）を対応テーブルで参照して、当該画素の量子化した輝度勾配方向を表す勾配方向データ（２−１）を出力する。
このように、勾配方向データは、輝度データと同様に画素に対応して生成される。
【０１４２】
次のクロックでは、輝度データの列が１つ移動し、勾配方向算出部２６ａ２に示したように、次の輝度データ（２−２）が注目画素となって、勾配方向データ（２−２）が出力される。
このように、勾配方向算出部２６ａは、クロックごとに勾配方向データを順次出力する。
また、勾配方向算出部２６ａは、最後の列に達すると、行が１つ分進み、次の行の輝度データを注目画素とする勾配方向データを出力する。
【０１４３】
同様に、３ラインバッファ２５ｂと勾配方向算出部２６ｂは、中解像度画像の勾配方向データを出力し、３ラインバッファ２５ｃと勾配方向算出部２６ｃは、低解像度画像の勾配方向データを出力する。
【０１４４】
このように、勾配方向算出部２６ａに配設された３行３列の記憶素子の配列には、注目画素の位置と、これに隣接する隣接画素の位置が対応づけられており、この位置の対応を用いて、クロックに従って順次送られてくる輝度データにおいて、注目画素の輝度データと隣接画素の輝度データを順次特定していく。
これら注目画素の位置や隣接画素の位置を通過する順序は、画像入力部２３が輝度データを出力した順序によって定まる。
【０１４５】
これは、バケツリレー式に順次送られてくる輝度データの経路上に、注目画素用の窓と隣接画素用の窓を設け、これらの窓で観察することにより、注目画素の輝度データと隣接画素の輝度データを特定しているのと論理的に同じである。
【０１４６】
画像処理装置２１では、エッジの処理や回路構成が簡単となるため、輝度データを３行分バッファリングして、これを３行３列の配列に順次送り出す構成としたが、これは一例であって、画像入力部２３が出力した順序に基づいて注目画素と隣接画素の輝度データを特定する各種の変形が可能である。
【０１４７】
同様に、勾配方向算出部２６ｂ、２６ｃは、それぞれ、中解像度部２４ｂ、低解像度部２４ｃが画像４０をダウンサンプリングして輝度データを出力した順序に基づいて注目画素と隣接画素の輝度データを特定している。
【０１４８】
このように、解像度別勾配方向出力手段は、当該解像度の輝度の出力順序に基づいて注目画素の水平方向、及び垂直方向に隣接する隣接画素の輝度を特定し、当該特定した隣接画素の輝度を用いて注目画素の勾配方向を出力する。
そして、解像度別勾配方向出力手段は、隣接画素の位置が対応づけられた配列に、当該解像度の輝度の出力順序に基づいて輝度を配置することにより、隣接画素の輝度を特定している。
【０１４９】
また、当該配列は、注目画素の属する画素行と、当該画素行と垂直方向に隣接する２つの画素行の３つの画素行に対応する３つの配列から構成されており、解像度別勾配方向出力手段は、３つの画素行の輝度を、それぞれ対応する３つの配列に配置し、当該輝度が配置された位置によって隣接画素の輝度を特定している。
【０１５０】
図２２に戻り、縦方向２倍部２７ｂと縦方向４倍部２７ｃは、それぞれ、中解像度画像と低解像度画像について、垂直方向の勾配方向データを垂直方向に２倍、４倍に延ばす回路である。
この処理は、後に共起行列作成部３０ａなどで共起を読み取る際のタイミングを合わせるためのものである。
【０１５１】
図２５は、垂直方向のデータ延ばし処理を説明するための図である。
データ５１は、データ延ばし前の勾配方向データの構成を示している。各升目が各勾配方向データを表しており、これらが対応する画素の順に並べられている。
データ５１の各行を複製して、複製元の行と隣接させて配置すると、垂直方向に２倍に伸ばしたデータ５２と、４倍に伸ばしたデータ５３が得られる。
【０１５２】
この手法により、縦方向２倍部２７ｂは、勾配方向算出部２６ｂから出力された中解像度画像の勾配方向データを行ごとに複製して縦方向（垂直方向）に２倍に延ばす。
また、縦方向４倍部２７ｃは、勾配方向算出部２６ｃから出力された低解像度画像の勾配方向データを行ごとに複製して縦方向に４倍に延ばす。
【０１５３】
図２２に戻り、バッファ２８ａ、２８ｂ、２８ｃは、それぞれ、勾配方向算出部２６ａ、縦方向２倍部２７ｂ、縦方向４倍部２７ｃから出力される高解像度画像の勾配方向データ、中解像度画像の勾配方向データ、低解像度画像の勾配方向データを一時的に記憶しておくバッファである。
【０１５４】
タイミングコントローラ２９は、高解像度画像、中解像度画像、低解像度画像の勾配方向データを共起行列作成部３０ａ、３０ｂ、３０ｃに送出するタイミングを制御する制御回路である。
タイミングコントローラ２９は、これら各解像度画像の勾配方向データがバッファ２８ａ、２８ｂ、２８ｃに揃うまで待機し、これらが揃ったら出力する。
これにより、解像度変更によってずれてしまった各解像度画像ごとの出力タイミングを揃えることができる。
【０１５５】
高解像度画像の勾配方向データは図の太線、中解像度画像の勾配方向データは図の細線、低解像度画像の勾配方向データは図の点線、といったように、各解像度画像の勾配方向データは、それぞれ異なる配線から出力される。
これらの配線は、それぞれ、共起行列作成部３０ａ、３０ｂ、３０ｃと接続しており、これによって、解像度画像別の勾配方向データが共起行列作成部３０ａ、３０ｂ、３０ｃに送信される。
【０１５６】
更に、タイミングコントローラ２９は、共起行列作成部３０ａ、３０ｂ、３０ｃが共起を取るタイミングを合わせるために、中解像度画像と低解像度画像の勾配方向データを、それぞれ水平（横）方向に２倍、４倍に延ばす。
【０１５７】
図２６は、水平方向のデータ延ばし処理を説明するための図である。
データ列５５、５６、５７は、それぞれ、タイミングコントローラ２９が、高解像度画像、中解像度画像、低解像度画像の勾配方向データを出力するタイミングを表している。
【０１５８】
例えば、タイミングコントローラ２９は、データ列５５に示されるように、高解像度画像の勾配方向データに対して、１番目のデータから順次３０番目のデータまで１回ずつ出力する。
これに対して、中解像度画像の勾配方向データに対しては、データ列５６に示されるように、１番目のデータを１回、２番目のデータから１５番目のデータをそれぞれ２回ずつ、１６番目のデータを１回、高解像度の出力タイミングに合わせて出力する。
また、低像度画像の勾配方向データに対しては、データ列５７に示されるように、１番目のデータを３回、２番目のデータから７番目のデータを４回ずつ、８番目のデータを３回、高解像度の出力タイミングに合わせて出力する。
なお、データ列５５とデータ５６の最初と最後における出力回数がそれぞれ２回ずつ、４回ずつでないのは、データ列５５による幅と同じ幅に調整するためである。
これにより、中解像度画像、低解像度画像の勾配方向データが水平方向に、それぞれ２倍、４倍に伸ばされる。
【０１５９】
図２２に戻り、共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれ、タイミングコントローラ２９から出力された勾配方向データを用いて共起による投票を行って共起行列を作成する回路である。
共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素を注目画素とする共起行列を作成する。
ヒストグラム作成部３１は、共起行列作成部３０ａ、３０ｂ、３０ｃから出力される共起行列からＭＲＣｏＨＯＧ特徴量を作成する回路である。
【０１６０】
なお、画像処理装置２１をＩＣチップ化する場合には、ヒストグラム作成部３１を画像処理装置２１に含めずに外部の回路とし、ＩＣチップとヒストグラム作成部３１を接続するように構成してもよい。
これにより、共起行列作成部３０ａ、３０ｂ、３０ｃから出力される共起行列を選択するなど、より柔軟な運用が可能となり、汎用性が向上する。
【０１６１】
図２７は、共起行列作成部３０ａが共起行列を計算する仕組みを説明するための図である。
共起行列作成部３０ａは、タイミングコントローラ２９から送信されてくる勾配データを解像度別に２行に渡って記憶する、高解像度画像用の２ラインバッファ６１ａ、中解像度画像用の２ラインバッファ６１ｂ、低解像度画像用の２ラインバッファ６１ｃを備えている。
【０１６２】
２ラインバッファ６１ａ、６１ｂ、６１ｃの右側には、それぞれ、各２ラインバッファ６１ａ、６１ｂ、６１ｃに記憶された勾配方向データの配置を示している。
勾配方向データの位置を示す符号は、図２０（ｃ）の位置の符号に対応させてある（勾配方向は対応していない）。また、注目画素に対応する勾配方向データを太線の矩形で囲み、投票のためにこれと組合せる相手の画素の勾配方向データを○で囲んである。
【０１６３】
図に示したように、２ラインバッファ６１ａ、６１ｂ、６１ｃには、それぞれ、高解像度画像、中解像度画像、低解像度画像の勾配方向データが２行３列分配置される。
なお、画像入力部２３が輝度データを出力した順に配置するため、２ラインバッファ６１ａ、６１ｂ、６１ｃでの配置は、図２０（ｃ）と左右が逆になっている。
【０１６４】
共起行列記憶部６２は、共起による投票を受け付けて共起行列の度数（票数）をインクリメントしていくことにより、注目画素１２５に対する共起行列を作成する回路である。
まず、共起行列作成部３０ａは、注目画素１２５の勾配方向データと画素１ａ〜１ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票する。
【０１６５】
更に、共起行列作成部３０ａは、注目画素１２５の勾配方向データと、画素２ａ〜２ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票し、注目画素１２５の勾配方向データと、画素３ａ〜３ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票する。
【０１６６】
共起行列作成部３０ａは、当該注目画素１２５の投票が完了すると、ヒストグラム作成部３１に出力して、共起行列を投票数０にリセットし、２ラインバッファ６１ａ、６１ｂ、６１ｃに記憶している勾配方向データの列を１つ進める。
これにより、共起行列作成部３０ａは、画素１ａに対応する勾配方向データを注目画素１２５の位置に配置し、これを用いた投票を共起行列記憶部６２に対して行う。
【０１６７】
共起行列作成部３０ａは、以上の動作を繰り返すことにより、高解像度画像の各画素に対する共起行列を共起行列記憶部６２で完成させてヒストグラム作成部３１に出力する。
出力された共起行列によるヒストグラムは、ヒストグラム作成部３１にて連結され、高解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量となる。
【０１６８】
図２２に戻り、共起行列作成部３０ｂ、３０ｃも共起行列作成部３０ａと同様にして、それぞれ、中解像度画像の画素を注目画素とした場合の共起行列と、低解像度画像の画素を注目画素とした場合の共起行列を出力する。
【０１６９】
これにより、中解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量と、低解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量が得られ、ヒストグラム作成部３１は、高中低画像のこれら３つのＭＲＣｏＨＯＧ特徴量を連結して、ＭＲＣｏＨＯＧ特徴量を完成させる。
【０１７０】
画像処理装置２１は、以上のように構成されており、各回路は、クロックに同期して同時に動作し、流れ作業にて順次処理を行う。
このようにして動画カメラから出力される画像をリアルタイムで処理することができる。
【０１７１】
このように、共起行列作成部３０ａ、３０ｂ、３０ｃは、順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起に基づく共起行列を作成する共起行列作成手段と、当該作成した共起行列を当該画像の画像特徴量として出力する共起行列出力手段として機能している。
【０１７２】
また、共起行列作成部３０ａ、３０ｂ、３０ｃは、勾配方向データが出力され順にこれらを２ラインバッファ６１ａ、６１ｂ、６１ｃに配置することにより、共起をとる組合せを特定するため、勾配方向出力手段から順次出力される勾配方向の解像度別出力順序に基づいて、注目画素の勾配方向と、当該注目画素と組合せる画素の勾配方向を順次特定し、当該特定した勾配方向の組合せに基づいて共起行列に順次投票することにより共起行列を作成している。
【０１７３】
また、２ラインバッファ６１ａ、６１ｂ、６１ｃは、共起対象となる勾配方向データを特定する配列として機能しているため、共起行列作成部３０ａ、３０ｂ、３０ｃは、注目画素と、当該注目画素と組合せる画素の位置が対応づけられると共に解像度別に設けられた（分けられた）配列に、解像度別出力順序に基づいて勾配方向を解像度別に配置することにより、共起対象として組合せる勾配方向を特定している。
【０１７４】
そして、当該配列は、それぞれの解像度について垂直方向に隣接する２つの画素行に対応する６つの配列から構成され、（高解像度画像用のバッファ２つ、中解像度画像用のバッファ２つ、低解像度画像用のバッファ２つの計６つ）、共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれの解像度の２つの画素行の勾配方向を、それぞれ対応する２つの配列に配置し、当該勾配方向が配置された位置によって組合せる勾配方向を特定している。
【０１７５】
図２８は、画像処理装置２１が行う画像処理手順を説明するためのフローチャートである。
まず、画像入力部２３が画像４０の輝度データを出力し、中解像度部２４ｂと低解像度部２４ｃが、中解像度、低解像度に解像度を変換した輝度データを出力する（ステップ５）。
【０１７６】
また、３ラインバッファ２５ａ、２５ｂ、２５ｃが、それぞれ、高解像度画像、中解像度画像、低解像度画像の輝度データを３行分バッファリングする（ステップ１０）。
また、勾配方向算出部２６ａ、２６ｂ、２６ｃが、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素の勾配方向を算出し、勾配方向データを出力する（ステップ１５）。
なお、ステップ５、１０、１５の各処理は並行して同時に行われる。
【０１７７】
次に、縦方向２倍部２７ｂ、縦方向４倍部２７ｃが、それぞれ、中解像度画像と低解像度画像の勾配方向データを垂直方向に２倍、４倍に延ばす（ステップ２０）。
高解像度画像の勾配方向データ、２倍に垂直に伸ばされた中解像度画像の勾配方向データ、及び４倍に垂直に伸ばされた低解像度画像の勾配方向データは、それぞれ、バッファ２８ａ、２８ｂ、２８ｃにバッファリングされる。
【０１７８】
次に、タイミングコントローラ２９が、タイミングを揃えて各解像度の勾配方向データを出力する。
タイミングコントローラ２９は、この際に、中解像度画像と低解像度画像の勾配方向データを水平方向に２倍、４倍に伸ばして出力する（ステップ２５）。
【０１７９】
共起行列作成部３０ａ、３０ｂ、３０ｃは、タイミングコントローラ２９から出力された各解像度の勾配方向データを用いて、共起行列の要素を計算し、共起行列を作成する（ステップ３０）。
更に、ヒストグラム作成部３１が、作成された共起行列からヒストグラムを作成し、これをＭＲＣｏＨＯＧ特徴量として出力する（ステップ３５）。
以上、各回路の動作を個別に説明したが、各回路は、クロックに同期して一斉に動作しており、左から流れてきたデータを順次（逐次）処理して右に流す流れ作業を同時に行っている。
【０１８０】
図２９は、画像処理装置２１を用いて半導体装置を構成した例を示した図である。
半導体装置７１は、例えば、ＩＣチップによって構成されており、プロセッサ、ＲＡＭ、ＭＲＣｏＨＯＧアクセラレータ７２、アフィンアクセラレータ、ヒストグラムアクセラレータ、ビデオ入力インターフェース７３、ビデオ出力インターフェース７４、入出力インターフェース７５などが内部に形成されている。
【０１８１】
ＭＲＣｏＨＯＧアクセラレータ７２は、画像処理装置２１の回路構成が組み込まれており、画像から共起行列を生成して出力する。あるいは、ヒストグラムの作成までやってＭＲＣｏＨＯＧ特徴量を抽出するように構成してもよい。
【０１８２】
半導体装置７１は、ビデオ入力インターフェース７３から動画データの入力を受け付けて、ＭＲＣｏＨＯＧアクセラレータ７２などにより各フレーム画像のＭＲＣｏＨＯＧ特徴量を抽出し、これを用いて対象の画像認識をプロセッサで行うことができる。
あるいは、ビデオ出力インターフェース７４から動画データを出力すると共にＭＲＣｏＨＯＧ特徴量を入出力インターフェース７５から出力して、外部機器により対象の画像認識を行ってもよい。
【符号の説明】
【０１８３】
１ａ〜４ｌ  画素
１１、１２  分類
２１  画像処理装置
２３  画像入力部
２４ｂ  中解像度部
２４ｃ  低解像度部
２５ａ、２５ｂ、２５ｃ  ３ラインバッファ
２６ａ、２６ｂ、２６ｃ  勾配方向算出部
２７ｂ  縦方向２倍部
２７ｃ  縦方向４倍部
２８ａ、２８ｂ、２８ｃ  バッファ
２９  タイミングコントローラ
３０ａ、３０ｂ、３０ｃ  共起行列作成部
３１  ヒストグラム作成部
４０  画像
５１、５２、５３  データ
５５、５６、５７  データ列
６１ａ、６１ｂ、６１ｃ  ２ラインバッファ
６２  共起行列記憶部
７１  半導体装置
７２  ＭＲＣｏＨＯＧアクセラレータ
７３  ビデオ入力インターフェース
７４  ビデオ出力インターフェース
７５  入出力インターフェース
８０  コンピュータ
８１  ＣＰＵ
８２  ＲＯＭ
８３  ＲＡＭ
８４  カメラ
８５  記憶装置
８６  ビデオキャプチャボード
８７  入力装置
８８  出力装置
１０１  画像
１０２  セル
１０６  ヒストグラム
１０７  ＨＯＧ特徴量
１０９ａ、１０９ｂ、１０９ｃ  ベクトル
１１０  注目画素
１１３  共起行列
１１７  ＣｏＨＯＧ特徴量
１２０  高解像度画像
１２１  中解像度画像
１２２  低解像度画像
１２５  注目画素
１２７  ＭＲＣｏＨＯＧ特徴量
２００  画像認識装置
２０１  識別装置
２１０  ＢＮＮ
２１１  入力ユニット
２１３  中間ユニット
２１５  出力ユニット
２２０、２２１  部分
２２５、２２６  式
２３０  選択部
２３１  識別部
２３３  選択前特徴量
２３４  選択後特徴量
２４０  複製部
２４３  複製前特徴量
２４４  複製後特徴量
【図１】
2019061496.tif 000003
【図２】
2019061496.tif 000004
【図３】
2019061496.tif 000005
【図４】
2019061496.tif 000006
【図５】
2019061496.tif 000007
【図６】
2019061496.tif 000008
【図７】
2019061496.tif 000009
【図８】
2019061496.tif 000010
【図９】
2019061496.tif 000011
【図１０】
2019061496.tif 000012
【図１１】
2019061496.tif 000013
【図１２】
2019061496.tif 000014
【図１３】
2019061496.tif 000015
【図１４】
2019061496.tif 000016
【図１５】
2019061496.tif 000017
【図１６】
2019061496.tif 000018
【図１７】
2019061496.tif 000019
【図１８】
2019061496.tif 000020
【図１９】
2019061496.tif 000021
【図２０】
2019061496.tif 000022
【図２１】
2019061496.tif 000023
【図２２】
2019061496.tif 000024
【図２３】
2019061496.tif 000025
【図２４】
2019061496.tif 000026
【図２５】
2019061496.tif 000027
【図２６】
2019061496.tif 000028
【図２７】
2019061496.tif 000029
【図２８】
2019061496.tif 000030
【図２９】
2019061496.tif 000031