(57)【特許請求の範囲】
【請求項１】
画像認識装置のコンピュータが行う、単一の畳み込みニューラルネットワークを用いた画像認識方法であって、
前記単一の畳み込みニューラルネットワークに画像の入力を行い、
前記単一の畳み込みニューラルネットワークに入力された前記画像に対して解像度またはスケールパラメータまたは処理対象の色が異なる複数の畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、
前記複数の画素の位置毎に、前記位置における前記複数の処理結果の値のうちの、最大値を前記位置における特徴量として選択することで、前記位置に対応する特徴量を１つ決定し、前記決定した前記位置に対応する特徴量を出力し、
前記出力された複数の画素の各位置に対応する特徴量に基づいて認識処理を実行し、
前記認識処理を実行することで得た認識処理結果情報を出力する、
画像認識方法。
【請求項２】
前記異なる畳み込みフィルタをそれぞれ用いた畳み込み処理は、
第１の解像度の畳み込みフィルタを用いて前記入力された前記画像に対して行われる第１の畳み込み処理、前記第１の解像度よりも解像度の高い第２の解像度の畳み込みフィルタを用いて前記入力された前記画像に対して行われる第２の畳み込み処理を含む、
請求項１に記載の画像認識方法。
【請求項３】
さらに、前記複数の画素の各位置に対応する特徴量の出力において、
前記位置が隣接する複数の画素を含む領域毎に、当該領域に含まれる複数の画素の位置に対応する特徴量のうちのいずれかを当該領域を代表するである代表特徴量として決定するサブサンプリング処理を行い、
前記サブサンプリング処理を行う際に決定された前記代表特徴量に基づいて、前記認識処理を実行する、
請求項１または２に記載の画像認識方法。
【請求項４】
前記サブサンプリング処理を行う際に、
前記領域に含まれる複数の画素の位置に対応する特徴量のうち最も値の大きい特徴量を前記代表特徴量に決定する、
請求項３に記載の画像認識方法。
【請求項５】
前記画像の入力、前記それぞれの処理結果情報の取得、前記複数の画素の各位置に対応する特徴量の出力、および前記認識処理の実行および前記認識処理結果情報の出力のうちの少なくとも１つは、画像認識装置のコンピュータが備えるプロセッサーにより行われる、
請求項１に記載の画像認識方法。
【請求項６】
単一の畳み込みニューラルネットワークを用いた画像認識装置であって、
前記単一の畳み込みニューラルネットワークに画像の入力を行う画像入力部と、
前記単一の畳み込みニューラルネットワークに入力された前記画像に対して解像度またはスケールパラメータまたは処理対象の色が異なる複数の畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、
前記複数の画素の位置毎に、前記位置における前記複数の処理結果の値のうちの、最大値を前記位置における特徴量として選択することで、前記位置に対応する特徴量を１つ決定し、前記決定した前記位置に対応する特徴量を出力する畳み込み処理部と、
前記畳み込み処理部により出力された前記複数の画素の各位置に対応する特徴量に基づいて認識処理を実行する認識処理部と、
前記認識処理部が前記認識処理を実行することで得た認識処理結果情報を出力する認識結果出力部と、を備える、
画像認識装置。
【請求項７】
前記画像入力部、前記畳み込み処理部、前記認識処理部、および前記認識結果出力部のうちの少なくとも一つは、プロセッサーを含む、
請求項６に記載の画像認識装置。
【請求項８】
単一の畳み込みニューラルネットワークを用いた画像認識装置のコンピュータに実行させるためのプログラムであって、
前記単一の畳み込みニューラルネットワークに画像の入力を行い、
前記単一の畳み込みニューラルネットワークに入力された前記画像に対して解像度またはスケールパラメータまたは処理対象の色が異なる複数の畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、
前記複数の画素の位置毎に、前記位置における前記複数の処理結果の値のうちの、最大値を前記位置における特徴量として選択することで、前記位置に対応する特徴量を１つ決定し、前記決定した前記位置に対応する特徴量を出力し、
前記出力された複数の画素の各位置に対応する特徴量に基づいて認識処理を実行し、
前記認識処理を実行することで得た認識処理結果を出力する、処理をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識方法、画像認識装置およびプログラムに関する。
【背景技術】
【０００２】
近年、画像中のどこに何が写っているかを認識するための技術である画像認識技術を用いて、多様な物体を、高速かつ高精度に認識することが求められている。例えば特許文献１では、複数の畳み込みニューラルネットワーク分類器（以下、分類器と記載）を利用することで、高精度に画像認識を行うことのできる画像認識技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４９１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来技術では、高精度に画像認識を行うことができるものの処理速度が遅いという課題がある。
【０００５】
本発明は、上記課題を解決するためになされたもので、高速かつ高精度に画像認識を行うことのできる画像認識方法、画像認識装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る画像認識方法は、画像認識装置のコンピュータが行う画像認識方法であって、画像の入力を行い、入力された前記画像に対して異なる畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、前記それぞれの処理結果情報に含まれる前記複数の画素の各位置における前記畳み込み処理の処理結果の値に基づいて、前記複数の画素の各位置に対応する特徴量を１つ決定し、前記決定した複数の画素の各位置に対応する特徴量を出力し、前記出力された複数の画素の各位置に対応する特徴量に基づいて認識処理を実行し、前記認識処理を実行することで得た認識処理結果情報を出力する。
【０００７】
なお、これらの全般的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明によれば、高速かつ高精度に画像認識を行うことのできる画像認識方法等を実現できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態の分類システムの構成の一例を示すブロック図である。
【図２】図２は、実施の形態の分類器の構成の一例を示すブロック図である。
【図３】図３は、実施の形態の畳み込み処理部の構成の一例を示すブロック図である。
【図４】図４は、実施の形態の畳み込み処理部の処理結果の一例を示す図である。
【図５】図５は、本実施の形態のサブサンプリング部のサブサンプリングの処理の一例を示す図である。
【図６】図６は、実施の形態における分類器の動作を説明するためのフローチャートである。
【図７】図７は、図６の動作の詳細を示すフローチャートである。
【図８Ａ】図８Ａは、２層目以降の畳み込み処理を説明するための図である。
【図８Ｂ】図８Ｂは、２層目以降の畳み込み処理を説明するための図である。
【図９】図９は、比較例の分類システムの一例を示す図である。
【図１０】図１０は、比較例の分類器の構成を示すブロック図である。
【図１１】図１１は、比較例の分類システムにおける認識処理のアルゴリズム機能ブロックを示す図である。
【図１２】図１２は、比較例の分類システムが行う認識処理を説明するためのフローチャートである。
【図１３Ａ】図１３Ａは、サーバを用いてサービスを提供する形態の一例を説明するための図である。
【図１３Ｂ】図１３Ｂは、サーバを用いてサービスを提供する形態の一例を説明するための図である。
【図１３Ｃ】図１３Ｃは、サーバを用いてサービスを提供する形態の一例を説明するための図である。
【図１４】図１４は、サービスの類型の一例を説明するための図である。
【図１５】図１５は、サービスの類型の一例を説明するための図である。
【図１６】図１６は、サービスの類型の一例を説明するための図である。
【図１７】図１７は、サービスの類型の一例を説明するための図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
画像認識技術では、一般的に、１）画像から特徴量を抽出する処理と、２）特徴量から物体を判別する判別処理の２段階に分かれる。例えば、特徴抽出処理では畳み込み処理が行われ、画像中の認識対象物体から、輝度の分布や輝度の差分（エッジ）など認識に利用する特徴量を抽出する。また、例えば判別処理では、畳み込み処理において抽出した特徴量から、ＢｏｏｓｔｉｎｇやＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）などの統計的機械学習手法によって認識対象であるか否かを判別する。
【００１１】
従来、畳み込み処理に用いる特徴量抽出フィルタ（畳み込みフィルタ）は、人の手によって設計されていた。近年、撮影環境の整備やインターネットを介した大量の学習データ収集が現実的になったことと、および、ＧＰＵ等の大規模計算機環境のインフラが整ったことから、自動で特徴量抽出フィルタの設計を行う方式の検討が進められている。このような方式は総称してＤｅｅｐ  Ｌｅａｒｎｉｎｇと呼ばれている。特に、画像認識の分野では、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ技術として、特徴量抽出フィルタを２次元画像に対する畳み込み処理とみなした畳み込みニューラルネットワークが検討されている。この畳み込みニューラルネットワークは、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ技術の中でも画像認識と相性が良く、パラメータ数を削減しながら精度を向上させることができるという特徴がある。
【００１２】
しかしながら、これまでの畳み込みニューラルネットワークで用いられる特徴量抽出フィルタ（以下畳み込みフィルタとも記載）の解像度は、ユーザが設定した固定値であった。そのため、学習画像の特徴的な領域の解像度とユーザが設定した解像度との違いが大きければ、学習画像中の認識対象物体から認識に利用できる有効な特徴量を抽出することが難しいという問題がある。さらに、このような問題に対する技術的な解決策については、これまで検討されていなかった。
【００１３】
本発明の一態様に係る画像認識方法は、画像認識装置のコンピュータが行う画像認識方法であって、画像の入力を行い、入力された前記画像に対して異なる畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、前記それぞれの処理結果情報に含まれる前記複数の画素の各位置における前記畳み込み処理の処理結果の値に基づいて、前記複数の画素の各位置に対応する特徴量を１つ決定し、前記決定した複数の画素の各位置に対応する特徴量を出力し、前記出力された複数の画素の各位置に対応する特徴量に基づいて認識処理を実行し、前記認識処理を実行することで得た認識処理結果情報を出力する。
【００１４】
このように、異なる畳み込みフィルタをそれぞれ用いた畳み込み処理を並行に行うことで算出した複数の処理結果から認識に有益な情報を入力画像に含まれる複数の画素の位置毎に選択的に利用できるので、高速に画像認識ができるだけでなく画像認識精度も向上する。
【００１５】
それにより、高速かつ高精度に画像認識を行うことのできる画像認識方法を実現できる。
【００１６】
また、例えば、前記異なる畳み込みフィルタをそれぞれ用いた畳み込み処理は、解像度またはスケールパラメータの異なる複数の畳み込みフィルタをそれぞれ用いて前記入力された前記画像に対して行われる畳み込み処理であるとしてもよい。
【００１７】
この構成によれば、解像度またはスケールパラメータ（フィルタサイズ）が異なる畳み込みフィルタを用いて畳み込み処理を実行するので、入力画像によって特徴的な領域の解像度が異なる場合でも認識に有効な特徴量を抽出できる。
【００１８】
また、例えば、前記異なる畳み込みフィルタをそれぞれ用いた畳み込み処理は、第１の解像度の畳み込みフィルタを用いて前記入力された前記画像に対して行われる第１の畳み込み処理、前記第１の解像度よりも解像度の高い第２の解像度の畳み込みフィルタを用いて前記入力された前記画像に対して行われる畳み込み第２の処理を含んでもよい。
【００１９】
この構成によれば、少なくとも解像度が異なる２つの畳み込みフィルタを用いて畳み込み処理を実行するので、入力画像によって特徴的な領域の解像度が異なる場合でも認識に有効な特徴量を抽出できる。
【００２０】
また、例えば、前記異なる畳み込みフィルタをそれぞれ用いた畳み込み処理は、処理対象の色が異なる畳み込みフィルタをそれぞれ用いて前記入力された前記画像に対して行われる畳み込み処理であるとしてもよい。
【００２１】
この構成によれば、色の違いによって物体の違いを判別するために、処理対象の色が異なる畳み込みフィルタをそれぞれ用いて畳み込み処理を実行するので、入力画像によって特徴的な領域の色が異なる場合でも認識に有効な特徴量を抽出できる。
【００２２】
また、例えば、前記複数の画素の各位置に対応する特徴量の出力において、前記複数の画素の位置毎に、前記位置における前記複数の処理結果の値のうちの、最大値を前記位置における特徴量として選択することで、前記位置に対応する特徴量を１つ決定し、前記決定した前記位置に対応する特徴量を出力するとしてもよい。
【００２３】
また、例えば、前記複数の画素の各位置に対応する特徴量の出力において、前記複数の画素の位置毎に、前記位置における前記複数の処理結果の値の中央値または平均値を、算出し、前記算出した値を前記位置における特徴量として、決定することで、前記位置に対応する特徴量を１つ決定し、前記決定した前記位置に対応する特徴量を出力するとしてもよい。
【００２４】
この構成によれば、異なる畳み込みフィルタをそれぞれ用いて畳み込み処理を並行に行うことで算出した複数の処理結果情報のそれぞれに含まれる、画素の位置に対応する処理結果の値（出力値）のうち、出力が最大となる値、これらの値の中央値または平均値を画素の位置に対応する特徴量として利用することができる。それにより、入力画像中の対象に応じて適切な特徴量の選別が可能になり、画像認識精度が向上する。
【００２５】
また、例えば、さらに、前記各位置の特徴量の出力において、前記選択した各位置の特徴量を含む選択結果を出力し、前記選択結果の中の隣接する位置を含む領域ごと分割し、分割したしたそれぞれの領域において、当該領域に含まれる複数の特徴量のうちのいずれかを当該領域を代表する特徴量である代表特徴量を決定するサブサンプリング処理を行い、前記サブサンプリング処理を行う際に決定された前記代表特徴量に基づいて、前記認識処理を実行するとしてもよい。
【００２６】
この構成によれば、入力画像の位置ズレや入力画像のサイズのズレに対してさらに頑健になる。
【００２７】
また、例えば、前記サブサンプリング処理を行う際に、前記領域に含まれる複数の特徴量のうち最も値の大きい特徴量を前記代表特徴量に決定するとしてもよい。
【００２８】
前記画像の入力、前記それぞれの処理結果の取得、前記各位置の特徴量の出力および前記認識処理の実行および前記認識処理結果を出力は、画像認識装置のコンピュータが備えるプロセッサーにより行われてもよい。
【００２９】
また、本発明の一態様に係る画像認識装置は、前記画像の入力を行う画像入力部と、入力された前記画像に対して異なる畳み込みフィルタをそれぞれ用いて畳み込み処理を行い、前記画像を構成する複数の画素の各位置における前記畳み込み処理の処理結果の値を含む処理結果情報をそれぞれ取得し、前記それぞれの処理結果情報に含まれる前記複数の画素の各位置における前記畳み込み処理の処理結果の値に基づいて、前記複数の画素の各位置に対応する特徴量を１つ決定し、前記決定した複数の画素の各位置に対応する特徴量を出力する畳み込み処理部と、前記畳み込み処理部により出力された前記複数の画素の各位置に対応する特徴量に基づいて認識処理を実行する認識処理部と、前記認識処理部が前記認識処理を実行することで得た認識処理結果を出力する認識結果出力部と、を備える。
【００３０】
また、例えば、前記画像入力部、前記畳み込み処理部、前記認識処理部、および前記認識結果出力部のうちの少なくとも一つは、プロセッサーを含んでもよい。
【００３１】
以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３２】
（実施の形態）
以下では、図面を参照しながら、まず比較例の画像認識方法等の説明を行い、その後に本実施の形態の画像認識方法等の説明を行う。
【００３３】
［分類システム９００の構成］
図９は、比較例の分類システム９００の一例を示す図である。
【００３４】
図９示す分類システム９００は、複数の分類器（分類器９０ａ、分類器９０ｂ、・・・、分類器９０Ｎ）を備え、分類対象物（認識処理対象画像）が入力されたときに、複数の分類器を利用することで分類処理（認識処理）を実行し、その結果（分類結果、認識処理結果）を出力する。
【００３５】
複数の分類器はそれぞれ、同一の畳み込みニューラルネットワーク分類器である。複数の分類器はそれぞれ、畳み込みを行うための畳み込みフィルタ（特徴量抽出フィルタ）を１つ有している。これらフィルタの設定値（フィルタ係数）は、後述する学習処理により予め学習されている。
【００３６】
なお、図９に示す分類システム９００を構成する分類器９０ａ、分類器９０ｂ、・・・、分類器９０Ｎは同一のものであるので、以下では、代表して、分類器９０ａの構成について説明する。
【００３７】
図１０は、比較例の分類器９０ａの構成を示すブロック図である。
【００３８】
分類器９０ａは、図１０に示すように、画像（入力画像）を読み込む画像入力部９１と、読み込んだ入力画像に対する畳み込み処理を行う畳み込み処理部９２と、サブサンプリング処理を行うサブサンプリング部９３と、認識処理を行う認識処理部９４と、認識結果を出力する認識結果出力部９５と、を備える。なお、畳み込み処理とサブサンプリング処理とを行う回数は、入力画像の解像度、分類対象（認識処理対象）の種類もしくは複雑さ、または、分類数（認識対象の数）などに応じて任意の値が設定される。例えば、分類器９０ａが人の正面向きの顔を画像から検出する場合には、畳み込み処理を行う回数は少なくてもよいが、犬のように多様な犬種を認識する必要がある場合には、人の正面顔よりも多くの畳み込み処理が必要となる。
【００３９】
［分類システム９００の動作］
次に、比較例の分類システム９００の動作としての認識処理について説明する。
【００４０】
（認識処理）
図１１は、分類システム９００における認識処理のアルゴリズム機能ブロックを示す図である。
【００４１】
複数の分類器を用いた分類システム９００が行う画像認識では、入力層９０１と、畳み込み処理層９０３およびサブサンプリング層９０４からなる中間層９０２と、出力層９０５とを用いて認識処理が行われる。入力層９０１には入力画像の画素値列が入力される。中間層９０２は１つには限らず、複数存在する場合もあるが、図１１に示す例では、説明の便宜上中間層９０２を１つのみ記載している。畳み込み処理層９０３では畳み込み処理が行われ、サブサンプリング層９０４ではサブサンプリング処理が行われる。中間層９０２では、多くの場合、畳み込み処理をした後、サブサンプリング処理が行われるが、サブサンプリング処理後に畳み込み処理が行われるとしても構わない。出力層９０５は、認識結果のラベルを出力する。認識結果のラベルは、例えば、犬や猫など入力画像に写っている認識対象物体を示すものである。
【００４２】
畳み込み処理層９０３では、２次元画像に対する畳み込みを行う畳み込み処理が行われる。この畳み込み処理に用いられる畳み込みフィルタ（特徴量抽出フィルタ）は、後述する学習処理にて、予めフィルタ係数が学習されている。つまり、フィルタ係数は、画像とラベルとの対応が既知の集合（学習画像とラベル）を用いて学習処理にて求められた係数が使用される。
【００４３】
図１２は、分類システム９００が行う認識処理を説明するためのフローチャートである。
【００４４】
以下、分類システム９００は、Ｎ個の分類器（分類器９０ａ、分類器９０ｂ、・・・、分類器９０Ｎ）を備えるとして説明する。
【００４５】
まず、分類システム９００は、入力層９０１で入力画像を読み込み（Ｓ９１）、読み込んだ入力画像に所定の前処理を施す（Ｓ９２）。所定の前処理は、例えば入力画像集合の平均を当該入力画像から引くなどの入力画像のばらつきをそろえる処理である。
【００４６】
次に、分類システム９００は、畳み込み処理層９０３で畳み込み処理（Ｓ９３）を行う。
【００４７】
具体的には、分類システム９００は、畳み込み処理層９０３での畳み込み処理（Ｓ９３）を以下のように行う。すなわち、入力画像をＩｍｇとし、ｎ番目（ｎは、１からＮまでのいずれかの整数）の分類器９０ｎの畳み込みフィルタをＦ（ｎ）とし（畳み込みフィルタの総数はＮ）とすると、ある画素（ｉ、ｊ）における畳み込み結果（Ｃｏｎｖ（Ｉｍｇ、Ｆ（ｎ）、ｉ，ｊ）は以下の（式１）を用いて算出することができる。
【００４８】
【数１】
0006706788.tif 000002
【００４９】
（式１）において、ｉ、ｊはそれぞれ入力画像のｉ番目の画素、ｊ番目の画素を示し、ｐはｐ番目の画素の色（例えば、ＲＧＢであればｐ＝０ならＲ、ｐ＝１ならＧ、ｐ＝２ならＢ）を示す。分類システム９００は、（式１）を用いた畳み込み処理をｉとｊの値を変えながら、Ｉｍｇの全画素に対して実施することで、ｎ番目の分類器９０ｎの畳み込みフィルタであるＦ（ｎ）による畳み込み処理結果を得ることができる。つまり、分類システム９００は、ｎ番目の分類器９０ｎによる畳み込み処理結果を得ることができる。
【００５０】
上述したように、分類システム９００は、Ｎ個の分類器（分類器９０ａ、分類器９０ｂ・・・分類器９０Ｎ）を備えるため、畳み込みフィルタはＮ個である。したがって、分類システム９００では、１枚の画像（入力画像）に対してＮ個の畳み込みフィルタで畳み込み処理を行うため、Ｎ通りの畳み込み処理結果が得られる。
【００５１】
次に、分類システム９００は、サブサンプリング層９０４でサブサンプリング処理（Ｓ９４）を行う。サブサンプリング処理は、畳み込み処理層９０３の出力であるＮ通りの畳み込み処理結果のそれぞれに対して、特定の領域（ｉｓ，ｊｓ）毎に、所定の基準ｓｂでサブサンプリングを行う処理である。例えば、ある画素（０、０）から２ｘ２領域に対して最大値をサブサンプリングする場合、当該２ｘ２領域の４画素の代表値として最大の画素値が選ばれる。
【００５２】
なお、このように最大値をサブサンプリングする方法はＭａｘ-ｐｏｏｌｉｎｇと呼ばれる。また、サンプリングする方法は最大値に限らず平均値でもよい。平均値をサブサンプリングする方法はＡｖｅｒａｇｅ-ｐｏｏｌｉｎｇと呼ばれる。サブサンプリングを行うことで、１）情報量を減らすことができるだけでなく、２）認識時において、入力画像のｘｙ方向の位置ズレに頑健になる。
【００５３】
このようにして、分類システム９００は、Ｓ９４（サブサンプリング処理）を行った後、Ｓ９３（畳み込み処理）とＳ９４（サブサンプリング処理）の処理回数すなわち中間層９０２の処理回数に応じて中間層９０２の処理を終了するか否かを判定する（Ｓ９５）。なぜなら、Ｓ９３およびＳ９４の処理を所定回数繰り返すことで、畳み込み処理により入力画像から特徴量を抽出できるとともに、データ（特徴量）のサブサンプリングを行うことができるので、物体を識別するのに有効な特徴量を抽出できるからである。
【００５４】
Ｓ９５において、分類システム９００は、中間層９０２の処理を終了しないと判定した場合には（Ｓ９５でＮｏ）、Ｓ９３に戻り、再度、畳み込み処理層９０３の畳み込み処理を行う。そして、再度、畳み込み処理層９０３の畳み込み処理の後にサブサンプリング層９０４があれば、サブサンプリング処理を行う。
【００５５】
一方、Ｓ９５において、分類システム９００は、所定回数の畳み込み処理とサブサンプリング処理を実施したため中間層９０２の処理を終了すると判定した場合には（Ｓ９５でＹｅｓ）、出力層９０５で認識処理を実行し（Ｓ９６）、その結果（認識結果）を外部に出力する（Ｓ９７）。
【００５６】
ここで、入力画像に写っている物体は何かを認識する認識処理（分類処理）について説明する。
【００５７】
（認識処理）
例えば、分類システム９００は、入力画像に写っている物体が所定の１０種類のうちのどれに該当するかを認識する認識処理を行う。この場合、分類システム９００は、出力層９０５において、入力画像に応じて１０個の変数（物体ラベル）のうちの一の変数を１としそれ以外の変数を０とする結果（認識結果）を外部に出力することになる。
【００５８】
次に、認識処理時における出力層９０５の具体的な出力方法について説明する。
【００５９】
出力層９０５は、中間層９０２で抽出（算出）した特徴量を用いて、Ｓｏｆｔｍａｘ法やＳＶＭ法によって入力画像に写っている物体に対するラベル（物体ラベル）の確からしさを出力する。
【００６０】
ここで、例えば、Ｓｏｆｔｍａｘ法は以下によって実現される。すなわち、ｋ個の物体を認識する問題を例とし、真値であるｋ個の変数を並べたベクトルを、Ｔｒ［０］、Ｔｒ［１］、・・・、Ｔｒ［ｋ−１］とし、出力層のｋ通りの出力を並べたベクトルをθ［０］、θ［１］、・・・、θ［ｋ−１］とする。このときのラベルｊのＳｏｆｔｍａｘ値は以下の（式２）で算出することができる。そして、算出したＳｏｆｔｍａｘ値の大きさによってどのラベルの物体として認識したかを判断できる。
【００６１】
【数２】
0006706788.tif 000003
【００６２】
以上のようにして、分類システム９００は、学習処理にて予め学習されたフィルタ係数を有する畳み込みフィルタを備える複数の分類器を用いて、入力画像に写っている物体の認識処理を行うことができる。
【００６３】
（学習処理）
次に、学習処理について説明する。
【００６４】
上述したように認識処理に用いる複数の分類器それぞれが有する畳み込みフィルタのフィルタ係数は事前に大量の学習データを用いた学習処理により学習されている。
【００６５】
フィルタ係数の学習方法として確率的勾配降下法（Ｓｔｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｃｅｎｔ法）が知られている。
【００６６】
まず、確率的勾配降下法の基となる方式である勾配降下法について説明する。ある学習画像において、出力の真値はユーザによって与えられているとする。このとき、勾配降下法では、真値と認識処理による出力値との誤差に基づき、出力層に近い層のフィルタ係数から前方へ順にフィルタ係数を修正する。
【００６７】
一方、確率的勾配降下法では、このフィルタ係数の修正処理を画像１枚１枚に対して行うのでは無く、いくつかの画像で認識処理を行って累積誤差を求めたのち、それらの累積誤差を用いてフィルタ係数の修正を行う。画像毎にフィルタ係数を修正すると、修正値が振動する可能性があるが、複数枚の結果を用いて修正値を求めることで、学習時の偏りや振動が減るというメリットがある。
【００６８】
（式３）は、フィルタ係数の修正式である。累積誤差を求める関数をＬｏｓｓ、学習率をγ、フィルタ係数を並べたベクトルをＷとし、入力を変数ｉｎ、真値を変数ｔｒｕｅとしている。誤差は、二乗誤差やクロスエントロピーによる誤差などどの方法を用いて算出しても構わない。（式３）を用いることで、フィルタ係数を、誤差とフィルタ係数の微分を用いて更新できる。なお、学習率γは、一度にどの程度誤差を更新するかを決める重みであり、学習対象によってユーザが決める値である。
【００６９】
【数３】
0006706788.tif 000004
【００７０】
入力画像と真値を比較し、フィルタ係数の更新を繰り返すことで、入力画像を識別しやすいフィルタ係数を算出することができる。
【００７１】
この学習を大量の学習データを用いて行うことで、汎化性能の高いフィルタ係数を求めることができる。
【００７２】
以上のようにして、比較例の分類システム９００すなわち従来の畳み込みニューラルネットワークは認識処理を行い。その認識処理に用いる畳み込みフィルタのフィルタ係数は予め学習処理されている。
【００７３】
次に、本実施の形態の画像認識方法等の説明を行う。
【００７４】
［分類システム１の構成］
図１は、本実施の形態の分類システム１の構成の一例を示すブロック図である。図２は、本実施の形態の分類器１０の構成の一例を示すブロック図である。
【００７５】
図１に示す分類システム１は、１つの分類器１０を備える畳み込みニューラルネットワークである。分類システム１は、分類対象物（認識処理対象画像）が入力されたときに、分類器１０を利用することで分類処理（認識処理）を実行し、その結果（分類結果、認識処理結果）を出力する。
【００７６】
［分類器１０の構成］
分類器１０は、画像に対して認識処理を実行し、認識結果を出力する画像認識装置の一例である。分類器１０は、図２に示すように、画像入力部１１と、畳み込み処理部１２と、サブサンプリング部１３と、認識処理部１４と、認識結果出力部１５と、を備える。
【００７７】
なお、図２に示す分類器１０は、図１０に示す分類器９０ａ等に対して、畳み込み処理部１２の構成が大きく異なる。
【００７８】
画像入力部１１は、画像の入力を行う。本実施の形態では、画像入力部１１は、入力された画像（入力画像）を読み込む。
【００７９】
畳み込み処理部１２は、同一の入力画像に対して複数の異なる畳み込みフィルタによる畳み込み処理を行う。畳み込み処理については、既に説明をしたので、ここでは、詳細な説明は省略する。入力画像に含まれる各画素に対応する位置における、畳み込み処理の処理結果情報は、畳み込みフィルタの数だけある。
【００８０】
それぞれの処理結果情報は、例えば、前記入力画像に含まれる複数の画素の各位置における前記畳み込み処理の処理結果の値を含む。
【００８１】
なお、処理結果情報に含まれる処理結果の値は、入力画像に含まれる複数の画素のいずれかの位置と対応付けられているため、処理結果情報に含まれる要素（処理結果）を画素、要素の位置を画素の位置、処理結果の値を画素値ということもある。
【００８２】
畳み込み処理部１２は、例えば、入力画像に含まれる複数の画素の各位置における畳み込み処理の処理結果の値に基づいて、複数の画素の各位置に対応する特徴量を１つ決定し、決定した各位置の特徴量を含む出力結果情報（選択結果とも言う）を出力する。
【００８３】
なお、特徴量は、入力画像に含まれる複数の画素のいずれかの位置と対応付けられているため、出力結果情報に含まれる要素（特徴量）を画素、要素の位置を画素の位置、特徴量の値を画素値ということもある。
【００８４】
畳み込み処理部１２は、例えば、入力画像に含まれる画素の位置における複数の処理結果の値のうちの、最大値を有する処理結果を選択し、選択した処理結果の値をその画素の位置における特徴量として決定し、決定したその画素の位置における特徴量を出力する処理を、複数の画素の位置毎に行う。
【００８５】
または、畳み込み処理部１２は、例えば、入力画像に含まれる画素の位置における複数の処理結果の値のうちの、中央値または平均値を算出し、算出した値を、その画素の位置における特徴量として決定し、決定したその画素の位置における特徴量を出力する処理を、複数の画素の位置毎に行うのでもよい。
【００８６】
これにより、畳み込み処理部１２は、入力画像に含まれる複数の画素の各位置に対応する特徴量を１つ決定し、決定した複数の画素の各位置に対応する特徴量を出力する。
【００８７】
本実施の形態では、畳み込み処理部１２は、例えば、図２に示すように、第１畳み込み処理部１２１と、第２畳み込み処理部１２２と、第３畳み込み処理部と、出力選択部１２４とを備える。
【００８８】
第１畳み込み処理部１２１、第２畳み込み処理部１２２および第３畳み込み処理部はそれぞれ、入力画像の画素ごとの畳み込みを行うための畳み込みフィルタを１つ有しており、これらの畳み込みフィルタはそれぞれ異なる。
【００８９】
つまり、畳み込み処理部１２は３つの異なる畳み込みフィルタを有しており、この３つの異なる畳み込みフィルタを用いて入力画像に対して畳み込み処理を行う。３つの畳み込みフィルタはそれぞれ、例えば解像度またはスケールパラメータ（フィルタサイズ）が異なっていたり、処理対象の色が異なっていたりする。
【００９０】
ここで、図３は、本実施の形態の畳み込み処理部１２の構成の一例を示すブロック図である。図３に示す例では、畳み込み処理部１２は、第１畳み込み処理部１２１としての低解像度畳み込み処理部１２１ａと、第２畳み込み処理部１２２としての中解像度畳み込み処理部１２２ａと、第３畳み込み処理部１２３としての高解像度畳み込み処理部１２３ａとを備えている。
【００９１】
低解像度畳み込み処理部１２１ａは、畳み込み処理部１２が有する３つの畳み込みフィルタのうちの第１の解像度に対応する最も低い解像度（低解像度）の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行う処理部である。中解像度畳み込み処理部１２２ａは、畳み込み処理部１２が有する３つの畳み込みフィルタのうち第１の解像度よりも解像度の高い第２の解像度に対応する最も低くもなく最も高くもない解像度（中解像度）の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行う処理部である。高解像度畳み込み処理部１２３ａは、畳み込み処理部１２が有する３つの畳み込みフィルタのうち第２の解像度よりも解像度の高い第３の解像度に対応する最も高い解像度（高解像度）の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行う処理部である。
【００９２】
なお、本実施の形態では３つの解像度の異なる畳み込みフィルタを用いる例を説明するが、解像度の異なる畳み込みフィルタの数は３つに限定されるものではない。
【００９３】
例えば、解像度の異なる畳み込みフィルタの数は２つであってもよいし、４つ以上であってもよい。つまり、解像度の異なる畳み込みフィルタの数は、少なくとも２つあればよい。
【００９４】
出力選択部１２４は、入力画像に対して第１畳み込み処理部１２１〜第３畳み込み処理部１２３で畳み込み処理が行われることにより３つの処理結果情報を得る。
【００９５】
３つの処理結果情報には、それぞれ、入力画像に含まれる複数の画素の各位置における対応する畳み込み処理の処理結果の値を含む。
【００９６】
出力選択部１２４は、例えば、３つの処理結果情報のそれぞれに含まれる複数の画素の各位置における畳み込み処理の処理結果の値に基づいて、複数の画素の各位置に対応する特徴量を１つ決定し、決定した各位置の特徴量を含む出力結果情報を出力する。
【００９７】
出力選択部１２４は、例えば、入力画像に含まれる画素の位置における複数の処理結果の値のうちの、最大値を有する処理結果を選択し、選択した処理結果の値をその画素の位置における特徴量として決定し、決定したその画素の位置における特徴量を出力する処理を、複数の画素の位置毎に行う。
【００９８】
または、出力選択部１２４は、例えば、入力画像に含まれる画素の位置における複数の処理結果の値のうちの、中央値または平均値を算出し、算出した値を、その画素の位置における特徴量として決定し、決定したその画素の位置における特徴量を出力する処理を、複数の画素の位置毎に行うのでもよい。
【００９９】
これにより、出力選択部１２４は、入力画像に含まれる複数の画素の各位置に対応する特徴量を１つ決定し、決定した複数の画素の各位置に対応する特徴量を出力する。
【０１００】
図９〜図１１を用いて示した例では、３つの処理結果情報に含まれる処理結果の値を全て、出力していたのに対し、本実施の形態では、畳み込み処理部１２、より具体的には、出力選択部１２４を備え、複数の画素の各位置に対応する特徴量を１つ出力するという点が大きく異なる。
【０１０１】
ここで、図３で示した低解像度畳み込み処理部１２１ａ、中解像度畳み込み処理部１２２ａおよび高解像度畳み込み処理部１２３ａで畳み込み処理が行われることにより得た入力画像を構成する複数の画素それぞれに対する３つの畳み込み処理の処理結果の値（つまり、複数の画素値）から、出力選択部１２４が最大の値を選択する場合の例について説明する。
【０１０２】
図４は、本実施の形態の畳み込み処理部１２の処理結果の一例を示す図である。
【０１０３】
低解像度畳み込み処理部１２１ａ、中解像度畳み込み処理部１２２ａおよび高解像度畳み込み処理部１２３ａで畳み込み処理における、入力画像は、同一の入力画像を用いる。
【０１０４】
図４の（ａ）の上段には、低解像度畳み込み処理部１２１ａにおいて、低解像度の畳み込みフィルタを用いて、４×４の入力画像に対して畳み込み処理が行われた処理結果（低解像度畳み込み処理結果）の値の一例が示されている。図４（ａ）の上段に示すように、入力画像に含まれる４×４の画素のそれぞれにおいて、低解像度の畳み込み処理を行った処理結果の値が示されている。本実施の形態では、入力画像に含まれる画素は、４×４＝１６であるため、１６の処理結果の値が示されている。各処理結果の値は、入力画像に含まれる画素と対応する位置に示している。
【０１０５】
図４の（ａ）の中段には、中解像度畳み込み処理部１２２ａにおいて、中解像度の畳み込みフィルタを用いて、４×４の入力画像に対して中解像度の畳み込みフィルタを用いて、畳み込み処理が行われた処理結果（中解像度畳み込み処理結果）の値の一例が示されている。図４（ａ）の中段に示すように、入力画像に含まれる４×４の画素のそれぞれにおいて、中解像度の畳み込み処理を行った処理結果の値が示されている。本実施の形態では、入力画像に含まれる画素は、４×４＝１６であるため、１６の処理結果の値が示されている。各処理結果の値は、入力画像に含まれる各画素と対応する位置に示している。
【０１０６】
図４の（ａ）の下段には、高解像度畳み込み処理部１２３ａにおいて、高解像度の畳み込みフィルタを用いて、４×４の入力画像に対して高解像度の畳み込みフィルタを用いて、畳み込み処理が行われた処理結果（高解像度畳み込み処理結果）の一例が示されている。図４（ａ）の下段に示すように、入力画像に含まれる４×４の画素のそれぞれにおいて、中解像度の畳み込み処理を行った処理結果の値が示されている。本実施の形態では、入力画像に含まれる画素は、４×４＝１６であるため、１６の処理結果の値が示されている。各処理結果の値は、入力画像に含まれる各画素と対応する位置に示している。
【０１０７】
この場合、図４の（ｂ）で出力選択部１２４が最大の画素値を選択する出力選択処理を行う。
【０１０８】
例えば、図４（ａ）の低解像度畳み込み処理を行ったときの処理結果情報（図４（ａ）に示す低解像度畳み込み処理結果）、中解像度畳み込み処理を行ったときの処理結果情報（図４（ａ）に示す中解像度畳み込み処理結果）、高解像度畳み込み処理を行ったときの処理結果情報（図４（ａ）に示す高解像度畳み込み処理結果）に含まれる、左上隅の位置の値を用いて説明をする。
【０１０９】
この値は、入力画像の左上隅に位置する画素において、低解像度畳み込み処理、中解像度畳み込み処理、高解像度畳み込み処理をそれぞれ行ったときの処理結果の値を示す。各処理結果の値は、「１」、「３」、「３」である。
【０１１０】
出力選択部１２４は、これらの処理結果の値の中からのうち最大の値を有する処理結果を選択し、選択した処理結果の値（この例では「３」）を左上隅に位置する画素に対応する特徴量として決定する。
【０１１１】
出力選択部１２４は、左上隅に位置する画素に対応する特徴量として「３」を出力する。
【０１１２】
なお、最大値の値が２つ以上ある場合、出力選択部１２４は、最大値に対応する２つ以上の処理結果の値のうちのいずれか１つを選択すればよい。
【０１１３】
出力選択部１２４は、入力画像に含まれる他の画素についても同様の処理を行うことで出力結果情報（図４（ｃ）に示す選択結果）を出力する。
【０１１４】
図４（ｃ）に示す選択結果は、例えば、畳み込み処理の処理結果と同様、入力画像に含まれる各画素の位置に対応する選択結果の値を示している。図４に示す例では、入力画像に含まれる画素が４×４＝１６であるため、選択結果は、各画素の位置に対応する１６個の値が出力される。
【０１１５】
図４の（ｃ）の選択結果に含まれる値は、入力画像に含まれる各画素に対応する位置における、低解像度畳み込み処理結果〜高解像度畳み込み処理結果の値のうち最大の値（画素値）が含まれる。
【０１１６】
このように畳み込み処理部１２が低解像度畳み込み処理部１２１ａ、中解像度畳み込み処理部１２２ａ、高解像度畳み込み処理部１２３ａおよび出力選択部１２４を備えることで、入力画像に含まれる各画素において、入力画像と処理結果との相関が最も高い処理結果の値（つまり、最大の画素値）のみを各画素の特徴量として含む出力結果情報（または、選択結果とも言う）を出力側（認識処理部１４）に伝搬することができる。つまり、それぞれの処理結果に含まれる全ての値を出力側（認識処理部１４）に伝搬しないため、分類器１０のパラメータ数を削減できるので、分類システム１全体が使用するメモリ量を削減できる。
【０１１７】
また、畳み込み処理部１２は、解像度の異なる複数の畳み込みフィルタを並列に利用することにより、入力画像に写る物体の大きさや解像度が異なる場合でも、物体から特徴量を効率的に抽出することができるという効果も奏する。
【０１１８】
サブサンプリング部１３は、畳み込み処理部１２（より具体的には、出力選択部１２４）から出力された選択結果に含まれる複数の特徴量の中から代表となる代表特徴量を決定するサブサンプリング処理を行う。
【０１１９】
選択結果に含まれる複数の特徴量はそれぞれ、入力画像に含まれる複数の画素のいずれかの位置と対応付けられているので、選択結果に含まれる特徴量を画素値、代表特徴量を代表画素値、特徴量の位置（つまり、特徴量に対応する入力画像の画素の位置）を画素の位置ということもある。
【０１２０】
サブサンプリング部１３は、例えば、入力画像、または選択結果に含まれる複数の画素のうち隣接する複数の画素を含む大きさの領域を予め定めておき、選択結果に含まれる複数の特徴量を、上述した領域の大きさで分割し、分割した領域毎に代表特徴量を決定する。
【０１２１】
サブサンプリング部１３は、例えば、選択結果を分割し、分割した領域に含まれる複数の画素の各位置の特徴量のうち最も大きい値の特徴量を代表特徴量に決定する。なぜなら、最も大きい値の特徴量が、上記領域に対応する入力画像の領域と処理結果との相関が最も高い結果を示しているからである。そのため、サブサンプリング部１３は、上述の領域ごとに、この領域に含まれる特徴量のうち、最大の値を有する特徴量を、この領域における代表特徴量に決定する。
【０１２２】
本実施の形態では、サブサンプリング部１３は、畳み込み処理部１２の出力結果に対して、特定の領域（ｉｓ，ｊｓ）毎に、所定の基準ｓｂでサブサンプリング処理を行う。例えば、ある画素（０、０）から２ｘ２領域に対して最大値をサブサンプリングする場合、当該２ｘ２領域の４画素の代表値として最大の値を有する特徴量（画素値）が選ばれる。
【０１２３】
ここで、図４の（ｃ）に示した選択結果を用いて、サブサンプリング部１３が代表特徴量を決定する場合の例について説明する。
【０１２４】
図５は、本実施の形態のサブサンプリング部１３のサブサンプリング処理の一例を示す図である。図５では、サブサンプリング部１３がある画素（０、０）から２ｘ２領域に対して最大画素値をサブサンプリング処理した結果の一例が示されている。図５の（ａ）には、図４の（ｃ）に示した選択結果が示されている。サブサンプリング部１３は、この選択結果である画素毎に最大画素値が選択された画像において、左上を原点（０，０）とした場合、図５の（ｂ）に示すように、２ｘ２領域（４画素）をサンプリングすることで、各画素に対応する画素値３，８，６，４を得る。そして、サブサンプリング部１３は、サンプリングして得た複数の画素値のうち、最大値（最大の画素値）をサンプリングすることで、４つの画素を含む領域の代表特徴量として８を選ぶ。また、サブサンプリング部１３は、例えば、他の領域についても同様の処理を行う。サブサンプリング部１３は、例えば、図５（ａ）に示す選択結果の中の、右上の画素を含む２ｘ２領域、左下の画素を含む２ｘ２領域、および右下の画素を含む２ｘ２領域のそれぞれについて、サンプリングすることで代表特徴量として、８、９、９を選ぶ。
【０１２５】
なお、畳み込み処理部１２により畳み込み処理と、サブサンプリング部１３のサブサンプリング処理を所定回数繰り返すことで、入力画像から畳み込み処理による特徴量抽出と、データ（特徴量）のサブサンプリングを行うことができ、物体を識別するのに有効な特徴を抽出できる。
【０１２６】
なお、畳み込み処理部１２により畳み込み処理と、サブサンプリング部１３のサブサンプリング処理を所定回数繰り返す内容を例に説明をしたが、これに限定をされない。
【０１２７】
例えば、入力画像を入力として、畳み込み処理部１２により畳み込み処理を行った選択結果を認識処理部１４へ出力するのでもよい。
【０１２８】
認識処理部１４は、畳み込み処理部１２により出力される出力結果に基づいて認識処理を実行する。例えば、認識処理部１４では、サブサンプリング部１３で決定された代表特徴量に基づいて、認識処理を実行する。なお、認識処理の具体的な方法ついては比較例で説明した通りであるのでここでの説明は省略する。
【０１２９】
認識結果出力部１５は、認識処理部１４が認識処理を実行することで得た認識処理結果を出力する。
【０１３０】
［分類器１０の動作］
次に、以上のように構成された分類器１０の動作について説明する。
【０１３１】
図６は、本実施の形態における分類器１０の動作を説明するためのフローチャートである。図７は、図６の動作の詳細を示すフローチャートである。
【０１３２】
まず、分類器１０は、画像の入力を行う画像入力処理を行う（Ｓ１）。より詳細には、分類器１０は、図７に示すように、画像（入力画像）を読み込み（Ｓ１１）、読み込んだ入力画像に所定の前処理を施す（Ｓ１２）。
【０１３３】
次に、分類器１０は、畳み込み処理を行う（Ｓ３）。具体的には、Ｓ３において、分類器１０は、入力された同一の画像に対して複数の異なる畳み込みフィルタによる畳み込み処理を行い（Ｓ３１）、畳み込み処理（Ｓ３１）を行うことにより得た画像を構成する複数の画素の各位置における複数の処理結果の値から、各位置に対応する特徴量を１つ決定する（Ｓ３２）。
【０１３４】
より詳細には、図７に示すように、Ｓ３１において、分類器１０は、例えば低解像度畳み込み処理部１２１ａで低解像度の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行う（Ｓ３１１）。また、Ｓ３１において、分類器１０は、中解像度畳み込み処理部１２２ａで中解像度の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行い（Ｓ３１２）、高解像度畳み込み処理部１２３ａで高解像度の畳み込みフィルタを用いて入力画像に対して畳み込み処理（Ｓ３１３）を行う。このようにして、分類器１０は、同一の入力画像に含まれる各画素に対応する位置に対して様々な解像度で畳み込み処理を行ったときの処理結果の値を得ることができる。なお、Ｓ３１において、Ｓ３１１〜Ｓ３１３を処理する順番は図７に示す場合に限らない。Ｓ３１においてＳ３１１〜Ｓ３１３の処理を行えばその順番は問わない。次いで、Ｓ３２において、分類器１０は、図７に示すように、Ｓ３１において、入力画像に含まれる各画素に対応する位置において、各解像度の畳み込みフィルタにより畳み込み処理を行った処理結果の値を、比較し、最大値のみを各位置における特徴量として出力する出力選択処理を行う。これを次のサブサンプリング層の入力として、分類器１０は、サブサンプリング処理を行う（Ｓ４）。そして、サブサンプリング処理（Ｓ４）の処理結果を新たな入力として、畳み込み処理（Ｓ３）とサブサンプリング処理（Ｓ４）を繰り返し行う。この繰り返し行った回数が閾値をよりも大きいかどうかに応じて畳み込み処理（Ｓ３）を終了するか否かを判定する（Ｓ５）。Ｓ５において、分類器１０は、畳み込み処理（Ｓ３）を終了しないと判定した場合には（Ｓ５でＮｏ）、Ｓ３に戻る。Ｓ５において、分類器１０は、畳み込み処理（Ｓ３）を終了する判定した場合には（Ｓ５でＹｅｓ）、Ｓ６に進む。
【０１３５】
なお、例えば、畳み込み処理（Ｓ３）とサブサンプリング処理（Ｓ４）を繰り返し行うことなく、サブサンプリング処理（Ｓ４）の後、後述する認識処理（Ｓ６）へ進んでもよい。これは、例えば、Ｓ５における閾値を１に設定すればよい。
【０１３６】
ここで、分類器１０は、複数回（多層の畳み込み処理層で）、畳み込み処理（Ｓ３）を行う場合について説明する。
【０１３７】
図８Ａおよび図８Ｂは、２層目以降の畳み込み処理を説明するための図である。図８Ａには、１層目（サブサンプリング層）の出力をＮ個並べた行列が示されており、図８Ｂには、２層目の畳み込みフィルタ（畳み込みフィルタ）が概念的に示されている。
【０１３８】
２回目の畳み込み処理層では、図８Ａに示す１層目（サブサンプリング層）の出力をＮ個並べた行列と、図８Ｂに示す２層目の畳み込みフィルタとを用いて、３次元畳み込み処理を行う。２層目の畳み込みフィルタは、畳み込みフィルタの縦、横をそれぞれＦｙ２、Ｆｘ２とすると、高さは１層目で出力されるフィルタ数と同じＮとなる。この畳み込み処理を、２層目のフィルタ数通り行う。そして、１層目と同様に、畳み込み処理層の後にサブサンプリング層があれば、サブサンプリング処理を行う。
【０１３９】
以上の処理を所定回数繰り返すことで、入力画像から畳み込み処理による特徴量の抽出と、データ（特徴量）のサブサンプリング処理を行うことができ、物体を識別するのに有効な特徴を抽出できる。
【０１４０】
図６および図７に戻って説明する。Ｓ５において、分類器１０は、畳み込み処理（Ｓ３）を終了する判定した場合には（Ｓ５でＹｅｓ）、分類器１０は、認識処理を行う（Ｓ６）。より具体的には、分類器１０は、Ｓ３の畳み込み処理で選択された複数の画素の画素値に基づいて認識処理を実行する。
【０１４１】
次に、分類器１０は、Ｓ６で認識処理された結果（認識結果情報）を出力する（Ｓ８）。より具体的には、分類器１０は、Ｓ６で認識処理を実行することで得た処理結果（認識処理結果情報）を出力する。
【０１４２】
［効果等］
本実施の形態によれば、異なる畳み込みフィルタによる畳み込み処理を並行に行うことで算出した入力画像に含まれる複数の画素の各位置における複数の処理結果の値から認識に有益な情報を画素毎に選択的に利用できるので、高速に画像認識ができるだけでなく画像認識精度も向上する。それにより、高速かつ高精度に画像認識を行うことのできる画像認識方法、画像認識装置を実現できる。
【０１４３】
また、画像認識装置を実現する本実施の形態の分類システム１は、異なる畳み込みフィルタを有する１つの分類器１０を有するのみでよいので、ニューラルネットワークとしてより単純な構造となり処理速度の改善が実現できる。
【０１４４】
また、本実施の形態の画像認識装置等では、解像度の異なる複数の畳み込みフィルタを並列に利用する。それにより、入力画像に写る物体の大きさや解像度が異なる場合でも、物体から特徴量を効率的に抽出することができる。換言すると、分類器１０の１層目（の中間層）において複数の解像度に対応できるようにすると、入力される画像中の解像度が未知の場合でも、低解像度から高解像度まで多様に対応できるため、より認識に適した特徴量の抽出を行うことができる。
【０１４５】
例えば、文字認識等において、直線に対しては多少の誤差に寛容な低解像度の畳み込みフィルタで特徴量の抽出を行い、曲線に対しては、曲がっている状態を表せるだけの高い解像度の畳み込みフィルタで特徴量の抽出を行えばよい。また、例えば、認識性能が位置ズレによる影響を受けやすい場合は、低解像度の畳み込みフィルタを用いて処理すればよく、位置ズレによる影響を受けにくい場合は、高解像度の畳み込みフィルタで処理すればよい。これにより、画像の性質に合わせて、解像度を自動で選択することができる。
【０１４６】
なお、本実施の形態では、畳み込み処理部１２が有する、異なる畳み込みフィルタとして、低解像度畳み込みフィルタ、中解像度畳み込みフィルタおよび高解像度畳み込みフィルタの３つの異なる畳み込みフィルタを用いる例を説明したが、それに限らない。畳み込みフィルタの数や畳み込みフィルタの解像度はこれに限ったものではなく、認識対象によってはより少ない畳み込みフィルタでもよい。この場合、さらにメモリ量や計算量を削減できる。また、畳み込みフィルタの解像度についても、認識対象とする画像（入力画像）の特徴的な箇所（エッジなど）の解像度がわかれば、それに応じて決めるとよい。
【０１４７】
また、本実施の形態では、複数の畳み込みフィルタにおいて解像度またはスケールパラメータが異なる場合の例について説明したがそれに限らない。例えば、複数の畳み込みフィルタにおいて、それぞれ処理対象の色が異なるとしてもよい。より具体的には、第１畳み込み処理部１２１、第２畳み込み処理部１２２および第３畳み込み処理部は、それぞれ解像度またはスケールパラメータの異なる複数のフィルタによって入力画像に対して畳み込み処理を行うとしたが、これに限らない。例えば、第１畳み込み処理部１２１、第２畳み込み処理部１２２および第３畳み込み処理部は、それぞれ処理対象の色が異なる複数の畳み込みフィルタを用いて入力画像に対して畳み込み処理を行うとしてもよい。そして、複数の畳み込みフィルタで処理した処理結果を出力選択部１２４で選択処理を行ってもよい。これにより、本実施の形態の分類器１０は、輝度の輪郭よりも色のバリエーション、分布に特徴があるような入力画像群において有効な特徴量を得ることができる。
【０１４８】
以上、実施の形態において分類器１０の各処理について説明したが、各処理が実施される主体や装置に関しては特に限定しない。例えば、ローカルに配置された特定の装置内に組み込まれたプロセッサーなど（以下に説明）によって処理されてもよい。またローカルの装置と異なる場所に配置されているサーバなどによって処理されてもよい。また、ローカルの装置とサーバ間で情報の連携を行うことで、本開示にて説明した各処理を分担してもよい。例えば、ローカルの装置が分類器１０の一部である画像入力部１１と認識結果出力部１５とを備え、サーバが分類器１０の他部である畳み込み処理部１２とサブサンプリング部１３と認識処理部１４を備えていてもよい。
【０１４９】
また、上記実施の形態において分類器１０の処理の一部または全部をサーバで実現する場合には、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記実施の形態において説明された処理が実現されるクラウドサービスの類型はこれらに限られるものでない。
【０１５０】
以下、分類器１０の処理の一部また全部を実現するサーバにより提供するサービスに関する説明をする。
【０１５１】
図１３Ａ〜図１３Ｃは、サーバを用いてサービスを提供する形態の一例を説明するための図である。
【０１５２】
図１３Ａにおいて、サーバ（１１００）は、データセンタ運営会社（１１００１）が運営するクラウドサーバ（１１００１１）、およびサービスプロバイダが運営するサーバ（１１００２１）を有する構成を示している。
【０１５３】
クラウドサーバ（１１００１１）とは、インターネットを介して様々な機器と連携する仮想化サーバである。主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ（ビッグデータ）等を管理する。データセンタ運営会社（１１００１）は、データ管理やクラウドサーバ（１１１）の管理、それらを行うデータセンタの運営等を行っている。データセンタ運営会社（１１０）が行っている役務については詳細を後述する。ここで、データセンタ運営会社（１１０）は、データ管理やクラウドサーバ（１１００１１）の運営等のみを行っている会社に限らない。
【０１５４】
上記の実施の形態において説明をした分類器１０や分類システム１を開発・製造しているメーカが、併せてデータ管理やクラウドサーバ（１１００１１）の管理等を行っている場合は、メーカがデータセンタ運営会社（１１０）に該当する（図１３Ｂ）。
【０１５５】
また、データセンタ運営会社（１１００１）は一つの会社に限らない。例えばメーカ及び他の管理会社が共同もしくは分担してデータ管理やクラウドサーバ（１１１）の運営を行っている場合は、両者もしくはいずれか一方がデータセンタ運営会社（１１００１）に該当するものとする（図１３Ｃ）。
【０１５６】
サービスプロバイダ（１１００２）は、サーバ（１１００２１）を保有している。ここで言うサーバ（１１００２１）とは、その規模は問わず例えば、個人用ＰＣ、またはゲートウェイ機器で動作するものも含む。また、サービスプロバイダがサーバ（１１００２１）を保有していない場合もある。
【０１５７】
次に、上記サービスにおける情報の流れを説明する。
【０１５８】
例えば図１３Ａに示す家Ａ（１２１０）でデジカメなどの家電機器により撮影された画像が、クラウドサーバ（１１００１１）に送信される（図１３Ａの矢印（ａ））。
【０１５９】
クラウドサーバ（１１００１１）は、例えば家Ａ（１２１０）、他の家Ｂから送信される家電機器により撮影された画像を受信して格納する。
【０１６０】
次に、データセンタ運営会社（１１００１）のクラウドサーバ（１１００１１）は、格納した画像等の情報を一定の単位でサービスプロバイダ（１１００２）に提供する。ここで、データセンタ運営会社が格納した画像等の情報を整理してサービスプロバイダ（１１００２）に提供することの出来る単位でもいいし、サービスプロバイダ（１１００２）が要求した単位でもいい。一定の単位と記載したが一定でなくてもよく、状況に応じて提供する情報量が変化する場合もある。
【０１６１】
データセンタ運営会社（１１００１）がサービスプロバイダ（１１００２）に提供する画像等の情報は、必要に応じてサービスプロバイダ（１１００２）が保有するサーバ（１１００２１）に保存される（図１３Ａの矢印（ｂ））。
【０１６２】
そして、サービスプロバイダ（１１００２）は、画像等に基づいて、ユーザに提供するサービスに適合する情報（例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とで処理された処理結果の情報や、提供された画像等の情報に基づいて学習された解像度なお複数の異なる畳み込みフィルタに設定すべき設定値）を、ユーザに提供する。
【０１６３】
提供するユーザは、１つまたは複数の家電機器を使用するユーザ（１２１１）でもよいし、家の外にいるユーザ（１２１２）でもよい。
【０１６４】
ユーザへのサービス提供方法は、例えば、クラウドサーバ（１１００１１）を再度経由することなく、サービスプロバイダ（１１００２）から直接ユーザへ提供されてもよい（図１３Ａの矢印（ｅ）または（ｆ））。
【０１６５】
また、ユーザへのサービス提供方法は、例えば、データセンタ運営会社（１１０）のクラウドサーバ（１１００１１）を再度経由して、ユーザに提供されてもよい（図１３Ａの矢印（ｃ）、（ｄ））。また、データセンタ運営会社（１１０）のクラウドサーバ（１１１）が家電機器により撮影された画像等に基づいて、ユーザに提供するサービスに適合する情報（ラウドサーバ（１１１）が例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とを備える場合、当該一部で処理された処理結果の情報や、提供された画像等の情報に基づいて学習された解像度なお複数の異なる畳み込みフィルタに設定すべき設定値）を、サービスプロバイダ（１２０）に提供してもよい。
【０１６６】
サービスの類型に関し、以下に説明をする。
【０１６７】
（サービスの類型１：自社データセンタ型）
図１４は、サービスの類型の一例を説明するための図である。
【０１６８】
図１４は、具体的にはサービスの類型１（自社データセンタ型）を示す図である。本類型は、サービスプロバイダ（１１００２）が図に示す家Ａ（１２１０）から画像などの情報を取得し、ユーザに対してサービスに適合する情報を提供する類型である。
【０１６９】
本類型では、サービスプロバイダ（１１００２）が、データセンタ運営会社の機能を有している。即ち、サービスプロバイダが、ビッグデータの管理をするクラウドサーバ（１１００１１）を保有している。従って、データセンタ運営会社は存在しない。
【０１７０】
本類型では、サービスプロバイダ（１１００２）は、データセンタ（クラウドサーバ（１１００１１））を運営、管理している（１１００２０３）。また、サービスプロバイダ（１１００２）は、ＯＳ（１１００２０２）及びアプリケーション（１１００２０１）を管理する。サービスプロバイダ（１２０）は、サービスプロバイダ（１２０）が管理するＯＳ（１１００２０２）及びアプリケーション（１１００２０１）を用いて例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とに相当する処理を実行し、ユーザに対してサービスに適合する情報の提供を行う（１１００２０４）。
【０１７１】
（サービスの類型２：ＩａａＳ利用型）
図１５は、サービスの類型の一例を説明するための図である。
【０１７２】
図１５は、具体的にはサービスの類型２（ＩａａＳ利用型）を示す図である。
【０１７３】
ここでＩａａＳとはインフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０１７４】
本類型では、データセンタ運営会社がデータセンタ（クラウドサーバ（１１００１１））を運営、管理している（１１００１０３）。また、サービスプロバイダ（１１００２）は、ＯＳ（１１００２０２）及びアプリケーション（１１００２０１）を管理する。サービスプロバイダ（１１００２）は、サービスプロバイダ（１１００２）が管理するＯＳ（１１００２０２）及びアプリケーション（１１００２０１）を用いて例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とに相当する処理を実行し、ユーザに対してサービスに適合する情報の提供を行う（１１００２０４）。
【０１７５】
（サービスの類型３：ＰａａＳ利用型）
図１６は、サービスの類型の一例を説明するための図である。
【０１７６】
図１６は、具体的にはサービスの類型３（ＰａａＳ利用型）を示す図である。ここでＰａａＳとはプラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０１７７】
本類型では、データセンタ運営会社（１１００１）は、ＯＳ（１１００１０２）を管理し、データセンタ（クラウドサーバ（１１００１１））を運営、管理している（１１００１０３）。また、サービスプロバイダ（１１００２）は、アプリケーション（１１００２０１）を管理する。サービスプロバイダ（１１００２）、データセンタ運営会社が管理するＯＳ（１１００１０２）及びサービスプロバイダ（１１００２）が管理するアプリケーション（１１００２０１）を用いて例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とに相当する処理を実行し、ユーザに対してサービスに適合する情報の提供を行う（１１００２０４）。
【０１７８】
（サービスの類型４：ＳａａＳ利用型）
図１７は、サービスの類型の一例を説明するための図である。
【０１７９】
図１７は、具体的にはサービスの類型４（ＳａａＳ利用型）を示す図である。ここでＳａａＳとはソフトウェア・アズ・ア・サービスの略である。例えばデータセンタ（クラウドサーバ）を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ（クラウドサーバ）を保有していない会社・個人（利用者）がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【０１８０】
本類型では、データセンタ運営会社（１１００１）は、アプリケーション（１１００１０１）を管理し、ＯＳ（１１００１０２）を管理し、データセンタ（クラウドサーバ（１１００１１））を運営、管理している（１１００１０３）。また、サービスプロバイダ１２０は、データセンタ運営会社（１１００１が管理するＯＳ（１１００１０２）及びアプリケーション（１１００１０１）を用いて例えば分類器１０の一部である畳み込み処理部１２とサブサンプリング部１３とに相当する処理を実行し、ユーザに対してサービスに適合する情報の提供を行う（１１００２０４）。
【０１８１】
以上いずれの類型においても、サービスプロバイダ１１００２がユーザに対してサービスに適合する情報を提供する行為を行ったものとする。また例えば、サービスプロバイダ若しくはデータセンタ運営会社は、ＯＳ、アプリケーション若しくはビッグデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
【０１８２】
なお、本発明は、さらに、以下のような場合も含まれる。
【０１８３】
（１）上記の装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１８４】
（２）上記の装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１８５】
（３）上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１８６】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１８７】
（５）また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１８８】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１８９】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１９０】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１９１】
（６）上記実施の形態及びその変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１９２】
本発明は、画像から、画像中に含まれる物体が何であるかを高速かつ高精度に認識することができる画像認識方法、画像認識装置およびプログラムに利用でき、特にデジタルカメラ、ムービー、監視カメラ、車載カメラ、ウェアラブルカメラなどの撮像装置により取得される画像対する画像認識方法、画像認識装置およびプログラムに利用できる。
【符号の説明】
【０１９３】
１、９００  分類システム
１０、９０ａ、９０ｂ、９０Ｎ  分類器
１１、９１  画像入力部
１２、９２  畳み込み処理部
１３、９３  サブサンプリング部
１４、９４  認識処理部
１５、９５  認識結果出力部
９０１  入力層
９０２  中間層
９０３  畳み込み処理層
９０４  サブサンプリング層
９０５  出力層
１２１  第１畳み込み処理部
１２１ａ  低解像度畳み込み処理部
１２２  第２畳み込み処理部
１２２ａ  中解像度畳み込み処理部
１２３  第３畳み込み処理部
１２３ａ  高解像度畳み込み処理部
１２４  出力選択部
【図１】
0006706788.tif 000005
【図２】
0006706788.tif 000006
【図３】
0006706788.tif 000007
【図４】
0006706788.tif 000008
【図５】
0006706788.tif 000009
【図６】
0006706788.tif 000010
【図７】
0006706788.tif 000011
【図８Ａ】
0006706788.tif 000012
【図８Ｂ】
0006706788.tif 000013
【図９】
0006706788.tif 000014
【図１０】
0006706788.tif 000015
【図１１】
0006706788.tif 000016
【図１２】
0006706788.tif 000017
【図１３Ａ】
0006706788.tif 000018
【図１３Ｂ】
0006706788.tif 000019
【図１３Ｃ】
0006706788.tif 000020
【図１４】
0006706788.tif 000021
【図１５】
0006706788.tif 000022
【図１６】
0006706788.tif 000023
【図１７】
0006706788.tif 000024