(57)【要約】【課題】  入力データに対する畳み込み演算処理を従来よりも高速に実行するための技術を提供すること。【解決手段】  入力データが規定する平面若しくは空間内に、少なくとも１組の隣り合う領域が部分的に重複するように設定される各領域内の要素配列をより低次元の要素配列である低次元要素配列に変換する。それぞれの低次元要素配列における重複部分を共有するように該それぞれの低次元要素配列の一部若しくは全部を連結した連結要素を生成し、該連結要素と重み係数との畳み込み演算に基づいて入力データの特徴量を求める。【選択図】  図２
2019185548.tif 000002
【特許請求の範囲】
【請求項１】
入力データが規定する平面若しくは空間内に、少なくとも１組の隣り合う領域が部分的に重複するように設定される各領域内の要素配列をより低次元の要素配列である低次元要素配列に変換する変換手段と、
前記変換手段が変換したそれぞれの低次元要素配列における重複部分を共有するように該それぞれの低次元要素配列の一部若しくは全部を連結した連結要素を生成する生成手段と、
前記連結要素と重み係数との畳み込み演算に基づいて前記入力データの特徴量を求める計算手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記入力データは２次元画像であり、
前記変換手段は、隣り合うそれぞれの領域が部分的に重複するように前記２次元画像上に２次元的に設定される各領域内の２次元画素配列を１次元画素配列に変換し、
前記生成手段は、前記２次元画像において第１方向に並ぶ着目領域列のうち一端の領域に後続する各後続領域の１次元画素配列から、前記着目領域列において前記一端側に該後続領域と隣り合う領域の１次元画素配列と重複しない部分を取得し、前記一端の領域に対応する１次元画素配列と、前記部分と、を連結した連結１次元画素配列を生成し、
前記計算手段は、前記連結１次元画素配列と重み係数との畳み込み演算に基づいて前記２次元画像の特徴量を求める
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記２次元画像はマルチチャンネル画像における各チャンネル画像であり、
前記生成手段は、各チャンネル画像の前記一端の領域に対応する１次元画素配列の同位置の要素をチャンネル画像順に並べた要素列と、各チャンネル画像に対応する前記部分において同位置の要素をチャンネル画像順に並べた要素列と、を連結した連結１次元画素配列を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記計算手段は、
前記連結１次元画素配列と重み係数との畳み込み演算の結果に対してプーリング処理を行い、該プーリング処理の結果に対して前記畳み込み演算および前記プーリング処理を行うことで前記特徴量を求めることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記入力データは、複数の２次元画像を積層した立体であり、
前記変換手段は、隣り合うそれぞれの領域が部分的に重複するように前記立体内に設定される各領域内の３次元画素配列を２次元画素配列に変換し、
前記生成手段は、前記立体において前記積層の方向と直交する第１方向に並ぶ着目領域列のうち一端の領域に後続する各後続領域の２次元画素配列から、前記着目領域列において前記一端側に該後続領域と隣り合う領域の２次元画素配列と重複しない部分を取得し、前記一端の領域に対応する２次元画素配列と、前記部分と、を連結した連結２次元画素配列を生成し、
前記計算手段は、前記連結２次元画素配列と重み係数との畳み込み演算に基づいて前記立体の特徴量を求める
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記情報処理装置は更に、前記特徴量と、ユーザにより入力された被写体に係る情報と、を登録辞書に登録する登録手段を備えることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記情報処理装置は更に、前記計算手段が求めた特徴量と、前記登録辞書に登録されている特徴量と、の類似度に基づいて、前記入力データに対する認証を行う認証手段を備えることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記情報処理装置は更に、前記認証手段による認証の結果を出力する出力手段を備えることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の変換手段が、入力データが規定する平面若しくは空間内に、少なくとも１組の隣り合う領域が部分的に重複するように設定される各領域内の要素配列をより低次元の要素配列である低次元要素配列に変換する変換工程と、
前記情報処理装置の生成手段が、前記変換工程で変換したそれぞれの低次元要素配列における重複部分を共有するように該それぞれの低次元要素配列の一部若しくは全部を連結した連結要素を生成する生成工程と、
前記情報処理装置の計算手段が、前記連結要素と重み係数との畳み込み演算に基づいて前記入力データの特徴量を求める計算工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータを請求項１乃至８の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込み演算を用いる情報処理技術に関するものである。
【背景技術】
【０００２】
近年、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  ＮｅｕｒａｌＮｅｔｗｏｒｋ、ＣＮＮ）を用いた画像認識技術が注目を集めている。大量の画像を用いてＣＮＮを学習することで高い認識精度を示すことで知られ、様々な分野で利用・応用されている。
【０００３】
学習したＣＮＮを実際に動作させ、なんらかの処理システムとして利用する場合、その実行速度が重要となる。例えば、監視カメラに映った人物を認証するのであれば、リアルタイムで処理することが求められるし、事前に撮り貯めた画像から特定の画像を検索するのであれば、ユーザの利便性を損なわない時間で結果を返すことが求められる。
【０００４】
一般的にＣＮＮの演算は、画像の畳み込み演算が大部分を占めている場合が多く、ＣＮＮの演算を高速化するためには、畳み込み演算の高速化が必要不可欠である。近似計算で高速化する手法もあるが、認識精度に影響を及ぼすことがあるため、演算結果が変わらない方式で高速化することが好ましい。
【０００５】
特許文献１には、画像の畳み込み演算において、特定のフィルタの場合に、フィルタを縦方向と横方向とに分離して別々に演算することで、フィルタを適用する際の演算数を減らす方法が開示されている。この手法によれば、適用できるフィルタは限定されるものの、演算数そのものが減るため高速化が期待できる。
【０００６】
特許文献２には、フィルタを適用する画像の部分領域をフィルタと同じ並びに並び変えた変換行列を生成し、フィルタ行列との行列積に帰着させる方法が開示されている。画像の部分領域へのアクセスは不連続なアクセスとなり、演算のネックとなりやすい。この手法は、行列積に帰着させることで、積和を演算する際に、要素へのメモリアクセスが連続となり、高速に演算することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第８１６０３８８号明細書
【特許文献２】米国特許第７６３４１３７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、これらの方法は、高速化の観点では不十分である。特許文献１に開示されている手法では、分離した縦・横方向の２回の畳み込みをシーケンシャルに実行しなければならないため、通常の２次元畳み込み演算に比べ、画像へのアクセス回数が増加してしまい、結果として、処理速度の低下を招く可能性がある。特許文献２に開示されている手法では、画像の画素値の重複を許して冗長に並び替えるため、トータルのメモリアクセス量が増大し、結果として、処理速度の低下を招く可能性がある。
【０００９】
特に、ＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に比べて演算性能そのものが高い。そのため、ＧＰＵを用いて演算する場合はメモリアクセスが処理速度のネックとなる場合が多く、高速化の課題となる。本発明では、入力データに対する畳み込み演算処理を従来よりも高速に実行するための技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の一様態は、入力データが規定する平面若しくは空間内に、少なくとも１組の隣り合う領域が部分的に重複するように設定される各領域内の要素配列をより低次元の要素配列である低次元要素配列に変換する変換手段と、前記変換手段が変換したそれぞれの低次元要素配列における重複部分を共有するように該それぞれの低次元要素配列の一部若しくは全部を連結した連結要素を生成する生成手段と、前記連結要素と重み係数との畳み込み演算に基づいて前記入力データの特徴量を求める計算手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、入力データに対する畳み込み演算処理を従来よりも高速に実行することができる。
【図面の簡単な説明】
【００１２】
【図１】システムの構成例を示すブロック図。
【図２】情報処理装置１の機能構成例を示すブロック図。
【図３】認証機能に対応するフローチャート。
【図４】特徴抽出部１０３の機能構成例を示すブロック図。
【図５】畳み込み処理部１１１の機能構成例を示すブロック図。
【図６】畳み込み演算処理のフローチャート。
【図７】変換部１２３による連結１次元画素配列の生成処理の模式図。
【図８】演算部１２５による畳み込み演算処理を模式的に示した図。
【図９】登録機能に対応するフローチャート。
【図１０】変換部１２３の動作を説明する図。
【図１１】変換部１２３の動作を説明する図。
【図１２】演算部１２５による畳み込み演算処理を模式的に示した図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１４】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、情報処理装置１と、カメラ２と、を有し、情報処理装置１とカメラ２とはネットワークを介して互いにデータ通信が可能なように構成されている。ネットワークは無線のネットワークであっても良いし、有線のネットワークであっても良いし、無線のネットワークと有線のネットワークとを組み合わせたネットワークであっても良い。
【００１５】
先ずカメラ２について説明する。カメラ２は、動画像や静止画像を撮像可能なネットワークカメラ（撮像装置）であり、レンズとＣＣＤ、ＣＭＯＳセンサ等の撮像素子とを有するカメラユニットと、上記のネットワークに接続して情報処理装置１とのデータ通信を行うため通信装置と、を有する。なお、カメラ２として通信機能を有する他の種類のカメラを用いてもよい。カメラ２が動画像を撮像した場合、該動画像における各フレームの画像が撮像画像として情報処理装置１に対して出力（送信）される。一方、カメラ２が静止画像を撮像した場合、該静止画像が撮像画像として情報処理装置１に対して出力（送信）される。なお、カメラ２は可視光を撮像する撮像装置であっても良いし、赤外光を撮像する赤外線カメラであっても良い。
【００１６】
次に、情報処理装置１について説明する。情報処理装置１は、ＰＣ（パーソナルコンピュータ）、タブレット端末装置、スマートフォンなどのコンピュータ装置である。ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ１１は、情報処理装置１全体の動作制御を行うと共に、情報処理装置１が行うものとして後述する各処理を実行若しくは制御する。
【００１７】
ＲＯＭ１２は不揮発性メモリであり、情報処理装置１の起動プログラムや各種の設定データなどを保持する。ＲＡＭ１３は揮発性メモリであり、二次記憶装置１４やＲＯＭ１２からロードされたコンピュータプログラムやデータ、通信装置１５を介して外部（例えばカメラ２）から受信したデータ（例えばカメラ２による撮像画像）、を格納するためのエリアを有する。またＲＡＭ１３は、ＣＰＵ１１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１３は各種のエリアを適宜提供する。
【００１８】
二次記憶装置１４は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。二次記憶装置１４には、ＯＳ（オペレーティングシステム）や、情報処理装置１が行うものとして後述する各処理をＣＰＵ１１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。二次記憶装置１４に保存されているデータには、以下の説明において既知の情報として説明するものが含まれている。二次記憶装置１４に保存されているコンピュータプログラムやデータは、ＣＰＵ１１による制御に従って適宜ＲＡＭ１３にロードされ、ＣＰＵ１１による処理対象となる。
【００１９】
通信装置１５は、情報処理装置１が外部の装置との間のデータ通信を行うためのものであり、例えば通信装置１５は、カメラ２との間のデータ通信を行うことで、カメラ２による撮像画像を受信する。
【００２０】
外部出力装置１６は、液晶画面などの表示装置であり、ＣＰＵ１１による処理結果を画像や文字などでもって表示することができる。本実施形態では、外部出力装置１６には、カメラ２による撮像画像に対する認証結果を画像や文字などを使用して表示する。なお、外部出力装置１６は、音声信号に基づく音声を出力するスピーカであっても良く、この場合、外部出力装置１６は、上記の認証結果を音声として出力することができる。また外部出力装置１６は、ＬＥＤランプであっても良く、この場合、外部出力装置１６は、上記の認証結果をＬＥＤランプの点灯や点灯パターンでもってユーザに通知することができる。このように、本実施形態の場合、外部出力装置１６は、上記の認証結果をユーザに通知可能な機器であれば、如何なる機器であっても良い。
【００２１】
入力装置１７は、キーボードやマウスなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をＣＰＵ１１に対して入力することができる。なお、入力装置１７と表示装置とを一体化させてタッチパネル画面を構成しても良い。
【００２２】
ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、二次記憶装置１４、通信装置１５、外部出力装置１６、入力装置１７、は何れもバス１８に接続されている。なお、図１に示した情報処理装置１の構成は一例であり、例えば、フラッシュメモリなどの書き換え可能なメモリ装置を情報処理装置１に着脱させるためのインターフェースを有していても良い。
【００２３】
ここで、情報処理装置１は、カメラ２による撮像画像中の被写体が誰であるのかを事前に登録された登録辞書を用いて認証する認証機能と、カメラ２による撮像画像から登録辞書を作成して登録する登録機能と、を有する。認証機能を動作させるのか、登録機能を動作させるのか、については、例えば、ユーザが入力装置１７を操作して認証機能、登録機能、の何れを実行するのかを指示し、ＣＰＵ１１が認証機能、登録機能のうち該指示に応じた一方を実行するようにしても良い。
【００２４】
情報処理装置１の機能構成例を図２のブロック図に示す。以下では、図２に示した各機能部を処理の主体として説明する場合があるが、実際には、該機能部に対応する機能をＣＰＵ１１に実現させるためのコンピュータプログラムをＣＰＵ１１が実行することで、該機能部に対応する機能が実行される。認証機能に対応するフローチャートを図３に示す。以下では、図３のフローチャートに沿って、図２に示した各機能部の動作について説明する。なお、図３のフローチャートに従った処理を開始する前に情報処理装置１は起動しており、後述する処理を開始できる状態になっているものとする。また、カメラ２も起動しており、監視カメラとして、動画像を撮像している状態にあるものとする。
【００２５】
ステップＳ１０１１では、画像取得部１０１は、通信装置１５がカメラ２から受信してＲＡＭ１３に格納された撮像画像を取得し、該撮像画像をグレイスケールのシングルチャンネル画像に変換する。なお、撮像画像をＲＡＭ１３に格納する際にグレイスケールのシングルチャンネル画像に変換するようにしても良いし、カメラ２がグレイスケールのシングルチャンネル画像を撮像するようにしても良い。
【００２６】
ステップＳ１０１２では、顔検出部１０２は、画像取得部１０１が取得した撮像画像から被写体（本実施形態では人物の顔）の領域を検出し、該検出した領域内の画像を顔画像として抽出する。画像から人物の顔を検出する方法については、公知の技術を用いればよい。例えば、以下に示す文献に記載の技術を用いることができる。
【００２７】
P. Viola and M. Jones，“Robust real-time face detection”, pp.747, Eighth International Conference on Computer Vision (ICCV’01) - Volume 2, 2001.
撮像画像から検出した顔の画像上の座標に基づいて、該撮像画像から顔画像を切り出す。このとき、切り出した顔画像に対する顔の位置が一定になるように該顔画像に対して画像正規化を施す。例えば、顔の両目をつなぐ線分の長さが、切り出す顔画像の幅に対して一定となるように拡大・縮小する。この線分が切り出す顔画像に対して水平になるように回転させる等の処理を施す。そして、撮像画像から検出されたそれぞれの顔画像について、以下のステップＳ１０１４〜Ｓ１０１８の処理が行われる。
【００２８】
ステップＳ１０１４では、特徴抽出部１０３は、予め作成したＣＮＮを用いて、顔画像から特徴量を抽出する。特徴抽出部１０３の機能構成例について、図４のブロック図を用いて説明する。
【００２９】
畳み込み処理部１１１は、顔画像に対して畳み込み演算処理を行う。畳み込み処理部１１１の機能構成例を図５のブロック図に示す。畳み込み処理部１１１が顔画像に対して行う畳み込み演算処理について、図６のフローチャートに従って説明する。
【００３０】
ステップＳ１０２１では、取得部１２１は、入力データとしての顔画像を取得する。本実施形態では、顔画像はグレイスケールのシングルチャンネル画像である。ステップＳ１０２２では、設定部１２２は、隣り合うそれぞれの設定領域（部分領域）が部分的に重複するように、顔画像（取得部１２１が取得した顔画像）上（２次元画像上）に２次元的に設定領域を設定する。本実施形態では設定領域のサイズを３画素×３画素とするが、設定領域のサイズはこのサイズに限らない。設定部１２２は、例えば、顔画像における各画素位置に設定領域を、該画素位置に該設定領域の左上隅が位置するように設定する。これにより、顔画像上に、隣り合うそれぞれの設定領域が部分的に重複するような複数の設定領域を設定することができる。本実施形態では、設定領域のサイズを３画素×３画素とし、顔画像における各画素位置に設定領域を設定しているため、隣り合う設定領域は重複部分を含むことになる。
【００３１】
ステップＳ１０２３では、変換部１２３は、設定部１２２が設定したそれぞれの設定領域内の２次元画素配列を１次元画素配列（変換ベクトル）に変換し、該それぞれの設定領域の１次元画素配列に基づいて１つの連結１次元画素配列を生成する。変換部１２３による連結１次元画素配列の生成処理について、図７の模式図を用いて説明する。なお、図７は、１次元画素配列、連結１次元画素配列がどのようなものかを説明するための図であり、これらを求めるための処理の順番を限定するものではない。つまり、図７に示す処理順でなくても、最終的に同様の変換結果が得られるのであれば、図７示した処理順と異なる処理順を採用しても良いし、別の処理の組み合わせで同様の変換を実現してもよい。
【００３２】
図７（ａ）に示す如く、変換部１２３は、顔画像２０１における左上隅の設定領域２０２内の２次元画素配列を１次元画素配列２０３に変換する。例えば、設定領域２０２内の２次元画素配列の左端の列の要素が上部から順にａ１，ａ２，ａ３であり、左端から２番目の列の要素が上部から順にａ４，ａ５，ａ６であり、右端の列の要素が上部から順にａ７，ａ８，ａ９であるとする。このとき、このような２次元画素配列から生成される１次元画素配列２０３は、［ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，ａ７，ａ８，ａ９］となる。
【００３３】
次に、変換部１２３は、図７（ｂ）に示す如く、設定領域２０２を１画素だけ右側にずらした設定領域２０４内の２次元画素配列を１次元画素配列２０５に変換する。上記の通り、隣り合う設定領域２０２と設定領域２０４とには重複領域が存在するため、結果として設定領域２０４に対応する１次元画素配列２０５には、設定領域２０２に対応する１次元画素配列２０３と重複する部分が生じてしまう。そこで変換部１２３は、１次元画素配列２０５において１次元画素配列２０３と重複していない部分２９０（図７（ｂ）において斜線で示した領域）を１次元画素配列２０５から取得する。そして変換部１２３は、該取得した部分２９０を１次元画素配列２０３の右側に連結した連結１次元画素配列２９９を生成する。すなわち、この連結１次元画素配列は、設定領域が重複する領域の要素を共有している。
【００３４】
このように、設定領域２０２をＮ（Ｎは２以上の整数）画素だけ右側にずらした設定領域Ａに対応する１次元画素配列において、該設定領域Ａと左側に隣り合う設定領域Ｂ（設定領域２０２を（Ｎ−１）画素だけ右側にずらした設定領域）に対応する１次元画素配列と重複していない部分を連結対象とし、該連結対象を連結１次元画素配列の右に連結させる。ここで、設定領域Ａが顔画像の右端の設定領域であって、設定領域Ａの連結対象を連結１次元画素配列に連結すると、図７（ｃ）に示す如く、設定領域２０２を１画素だけ下側にずらした設定領域２０７内の２次元画素配列を１次元画素配列２０８に変換する。ここで、設定領域２０２と設定領域２０７とは互いに重複する領域を有しているが、ここでは、後の処理で連結１次元画素配列の要素へのアクセスが連続となるように、重複部分を冗長に持つ。つまり、図７（ｃ）に示す如く、変換部１２３は、この時点における連結１次元画素配列２９９の右側に１次元画素配列２０８を連結する。そして以降は同様に、設定領域２０７をＮ画素だけ右側にずらした設定領域Ａに対応する１次元画素配列において、設定領域Ａと左側に隣り合う設定領域Ｂに対応する１次元画素配列と重複していない部分を連結対象とし、該連結対象を連結１次元画素配列の右に連結させる。以降同様にして、各設定領域に対応する１次元画素配列の一部若しくは全部を連結した連結１次元画素配列を生成する。このように、本実施形態では、２次元画像において第１方向に並ぶ着目領域列のうち一端の領域に後続する各後続領域の１次元画素配列から、該着目領域列において一端側に該後続領域と隣り合う領域の１次元画素配列と重複しない部分を取得する。そして、該一端の領域に対応する１次元画素配列と、該部分と、を連結した連結１次元画素配列を生成する。
【００３５】
図６に戻って、次に、ステップＳ１０２４では、取得部１２４は、二次記憶装置１４に保存されている重み係数行列（重み係数群）をＲＡＭ１３にロードする。本実施形態では、９行（設定領域内の画素数＝３×３）３列（出力のチャンネル数）のサイズを有し且つ各要素が重み係数である重み係数行列を二次記憶装置１４からＲＡＭ１３にロードする。
【００３６】
ステップＳ１０２５では、演算部１２５は、連結１次元画素配列と重み係数行列とを用いて畳み込み演算処理を行う。ここで、連結１次元画素配列をＩ、重み係数行列をＦ、出力ベクトルをＤとすると、演算部１２５は、以下の（式１）に従った演算処理を行うことになる。
【００３７】
Ｄ（ｉ，ｎ）＝ΣＦ（ｊ，ｎ）Ｉ（ｉ−ｊ）
ここでΣは、Ｆ（ｊ，ｎ）Ｉ（ｉ−ｊ）を全てのｊについて加算することを示す。また、ｉは出力ベクトルのインデックス、ｎは出力ベクトル及び重み係数のチャンネル、ｊは重み係数のインデックスである。演算部１２５による畳み込み演算処理を模式的に示した図が図８である。
【００３８】
図８に示す如く、重み係数行列３０１は、行成分がフィルタサイズ（すなわち３×３）、列成分が出力チャンネルｎにそれぞれ対応している。重み係数行列３０１における各要素（重み係数）は事前にこの並びに並び替えておくとよい。そして１枚の顔画像について生成した連結１次元画素配列８９０において参照範囲をずらしながら各参照範囲に対する重み係数行列との行列積を求めて合計することで、連結１次元画素配列８９０と重み係数行列３０１との畳み込み演算処理を実現する。連結１次元画素配列８９０において参照範囲３０３は、顔画像２０１の左上隅の設定領域の１次元画素配列に対応しており、参照範囲３０４は、顔画像２０１の左上隅の設定領域を１画素だけ右側にずらした設定領域の１次元画素配列に対応している。このように参照範囲をずらしながら該参照範囲と重み係数行列との積和を計算するのが上記の（式１）である。これはすなわち、参照範囲をずらしながら、ベクトル行列積を繰り返していることになる。このように、事前に変換部１２３で上記の如く各設定領域の要素が連続となるように並べ替えておくことで（連結１次元画素配列を生成しておくことで）、畳み込み演算時にメモリへの連続したアクセスとなり、高速化が期待できる。なお、畳み込み演算処理の後、各要素に活性化関数等を適用してもよい。
【００３９】
図４に戻って、次に、プーリング処理部１１２は、畳み込み処理部１１１による畳み込み演算処理の結果に対してプーリング処理を行う。この処理はいわゆるプーリング（サブサンプリング）レイヤーの処理であり、既存の手法を用いればよい。例えば、以下の文献に記載の方法を用いることができる。
【００４０】
P. Sermanet, S. Chintala, and Y. LeCun. Convolutional neural networks applied to house numbers digit classification. In International Conference on Pattern Recognition (ICPR 2012), 2012.
畳み込み処理部１１３は、畳み込み処理部１１１と同様の構成（図５）を有しており、プーリング処理部１１２による結果に対して畳み込み処理部１１１と同様の処理を行う。畳み込み処理部１１３が行う畳み込み演算処理は、入力データのサイズや重み係数が異なるだけで畳み込み処理部１１１と同様であるから、畳み込み処理部１１３に係る説明は省略する。プーリング処理部１１４は、畳み込み処理部１１３による畳み込み演算処理の結果に対して、プーリング処理部１１２と同様のプーリング処理を行う。
【００４１】
全結合処理部１１５は、いわゆる全結合（Fullconnect）レイヤー処理を行う。具体的には全結合処理部１１５は、入力ベクトル（プーリング処理部１１４によるプーリング処理の結果）に対して重み係数行列を掛け合わせるベクトル行列積の演算を行い、該演算の結果（ベクトル）を顔画像の特徴量として出力する。
【００４２】
図３に戻って、次に、ステップＳ１０１５では、類似度算出部１０５は、二次記憶装置１４に保存されている登録辞書をＲＡＭ１３にロードする。ここで、登録辞書について説明する。登録辞書には、特徴抽出部１０３が顔画像から求めた特徴量と、該特徴量に対応する人物の識別情報（例えば、人物に対応する番号や名前）と、のセットが複数セット登録されている。後述する登録機能では、ユーザは、特徴抽出部１０３が顔画像から求めた特徴量に対応する人物の識別情報を、入力装置１７を用いて入力するので、取得部１０８は、該入力された識別情報を取得する。そして辞書登録部１０４は、特徴抽出部１０３が顔画像から求めた特徴量と、該特徴量について取得部１０８が取得した識別情報と、をセットにして登録辞書に登録する。なお、登録辞書には、複数の人物のそれぞれに対応するセットが含まれていても良いし、一人の人物に対する複数セットが含まれていても良い。
【００４３】
ステップＳ１０１６では、類似度算出部１０５は、ステップＳ１０１５にてＲＡＭ１３に取得した登録辞書に含まれているそれぞれの特徴量と、ステップＳ１０１４において特徴抽出部１０３が顔画像から求めた特徴量と、の類似度を求める。特徴量同士の類似度を求めるための方法には様々な方法があり、如何なる方法を採用しても良い。例えば、以下に示す（式２）を用いて特徴量同士のコサイン類似度Ｓを求めても良い。
【００４４】
Ｓ＝ｃｏｓθ＝ｘ・ｙ／｜ｘ｜｜ｙ｜    （式２）
ここで、「ｘ・ｙ」は特徴ベクトル（特徴量）ｘと特徴ベクトル（特徴量）ｙとの内積演算を表し、｜ｘ｜、｜ｙ｜はそれぞれ、特徴ベクトルｘ、特徴ベクトルｙの大きさを表し、Ｓは特徴ベクトルｘと特徴ベクトルｙとの間の類似度を表す。
【００４５】
ステップＳ１０１７では、決定部１０６は、類似度算出部１０５が求めた類似度から、ステップＳ１０１４で特徴抽出部１０３が求めた特徴量に対応する人物が、登録辞書に特徴量が登録されている人物のうちどの人物か（どの人物ではないのか）を判断する。例えば決定部１０６は、類似度算出部１０５が登録辞書に登録されているそれぞれの特徴量に対して求めた類似度のうち最大の類似度を特定する。そして決定部１０６は、該特定した最大の類似度が閾値以上であれば、該最大の類似度を求めた特徴量とセットになって登録辞書に登録されている識別情報を該登録辞書から取得する。例えば、決定部１０６は、ステップＳ１０１４で求めた特徴量と、登録辞書に登録されている特徴量Ａと、の類似度が上記の最大の類似度に該当する場合、ステップＳ１０１４で求めた特徴量は特徴量Ａに対応する人物の特徴量であると判断する。然るにこの場合、決定部１０６は、ステップＳ１０１４で求めた特徴量に対応する人物の識別情報として、特徴量Ａとセットになっている識別情報を登録辞書から読み出す。
【００４６】
一方、決定部１０６は、該特定した最大の類似度が閾値未満であれば、ステップＳ１０１４で特徴抽出部１０３が求めた特徴量は、登録辞書に特徴量が登録されている人物の誰でもないと判断する。
【００４７】
なお、登録辞書における同一人物の複数の特徴量に対して類似度を求めた場合には、そのうち最大の類似度を該人物に対応する類似度とする。このようにしてステップＳ１０１７では、顔画像に対する認証結果を求める。
【００４８】
ステップＳ１０１８では、表示部１０７は、決定部１０６による認証結果を外部出力装置１６に表示させる。例えば、表示部１０７は、決定部１０６が登録辞書から識別情報を取得した場合には、該識別情報と関連づけて二次記憶装置１４に保存されている人物情報を読み出して外部出力装置１６に表示させても良い。識別情報と関連づけて二次記憶装置１４に保存されている人物情報は、例えば、該識別情報に対応する人物の画像や該人物に係るテキスト情報（名前、年齢、性別など）がある。なお、人物情報と共に、上記の最大の類似度を表示するようにしても良い。また表示部１０７は、決定部１０６が「ステップＳ１０１４で特徴抽出部１０３が求めた特徴量は、登録辞書に特徴量が登録されている人物の誰でもない」と判断した場合には、その旨を示す画像や文字列を外部出力装置１６に表示させる。
【００４９】
なお、認証結果を音声で通知する場合には、表示部１０７は、認証結果に応じた音声を外部出力装置１６から出力させ、認証結果をＬＥＤランプの点灯やそのパターンで通知する場合には、認証結果に応じてＬＥＤランプの点灯やそのパターンを制御する。
【００５０】
撮像画像から検出された全ての顔画像についてステップＳ１０１４〜Ｓ１０１８の処理を行った場合には、処理はステップＳ１０１９に進む。ステップＳ１０１９では、ＣＰＵ１１は、ユーザが入力装置１７を操作して処理の終了指示を入力したか否かを判断する。この判断の結果、ユーザが入力装置１７を操作して処理の終了指示を入力した場合には、図３のフローチャートに従った処理は完了する。一方、ユーザが入力装置１７を操作して処理の終了指示を入力していない場合には、処理はステップＳ１０１１に戻る。
【００５１】
なお、以上の説明では、ステップＳ１０１１で取得した全ての撮像画像について認証処理を行ったが、一部の撮像画像について認証処理を行うようにしても良い。例えば、数フレームおきの撮像画像に対して認証処理を行うようにしても良いし、撮像画像から抽出した特徴量をクラスタリングし、一つのクラスタから選んだ代表の特徴量を用いて認証処理を行うようにしても良い。
【００５２】
また、本実施形態では、特徴量の抽出に図４のＤｅｅｐＮｅｔ処理を用いたが、ＤｅｅｐＮｅｔはこの構成でなくてもよい。例えば、畳み込み演算処理をさらに増やしてもよいし、その他の処理を追加してもよい。
【００５３】
次に、情報処理装置１が有する登録機能について説明する。登録機能に対応するフローチャートを図９に示す。なお、図９のフローチャートに従った処理を開始する前に情報処理装置１は起動しており、後述する処理を開始できる状態になっているものとする。また、カメラ２も起動しており、監視カメラとして、動画像を撮像している状態にあるものとする。本実施形態では、登録機能の実行時でも認証機能の実行時に使用するカメラと同じカメラ（カメラ２）を使用するものとする。このようにすることで、認証する場所と同じ撮影条件（照明条件、顔向き等）で撮像した撮像画像に基づく特徴量を登録辞書に登録することができ、認証精度の向上が期待できる。なお、辞書登録用のカメラを別の場所に設置して、登録機能の実行時に使用するようにしてもよい。ただし、その場合は、監視・認証場所と異なる撮影条件になるため、十分な認証精度になるか注意する必要がある。
【００５４】
ステップＳ１０３１では、上記のステップＳ１０１１と同様に、画像取得部１０１は、通信装置１５がカメラ２から受信してＲＡＭ１３に格納された撮像画像を取得し、該撮像画像をグレイスケールのシングルチャンネル画像に変換する。なお、辞書登録用に登録用のモードを用意しておき、ユーザの入力に応じて画像を取得するようにするとよい。
【００５５】
次に、ステップＳ１０３２では、上記のステップＳ１０１２と同様に、顔検出部１０２は、画像取得部１０１が取得した撮像画像から被写体（本実施形態では人物の顔）の領域を検出し、該検出した領域内の画像を顔画像として抽出する。なお、撮像画像から顔が検出できなかった場合は、再度、撮像画像を取得するようにユーザに促す等の処理を行うとよい。
【００５６】
次に、ステップＳ１０３３では、上記のステップＳ１０１４と同様に、特徴抽出部１０３は、予め作成したＣＮＮを用いて、顔画像から特徴量を抽出する。ここでユーザはこの顔画像に対応する人物の識別情報を入力装置１７を操作して入力するので、ステップＳ１０３４では、取得部１０８は、該入力された識別情報を取得する。
【００５７】
そしてステップＳ１０３５では、辞書登録部１０４は、ステップＳ１０３３において抽出された特徴量と、ステップＳ１０３４において取得した識別情報と、をセットにして登録辞書に登録する。登録辞書は二次記憶装置１４やＲＡＭ１３に保存されている。
【００５８】
［第２の実施形態］
第１の実施形態では、撮像画像をグレイスケールのシングルチャンネル画像として取得し、このような撮像画像から抽出した顔画像（グレイスケールのシングルチャンネル画像）に対する畳み込み演算処理を説明した。しかし、実際にはカラー画像のようにマルチチャンネル画像の撮像画像が入力される場合も多い。本実施形態では、マルチチャンネル画像の撮像画像から検出された顔画像（マルチチャンネル画像）に対する畳み込み演算処理について説明する。以下では第１の実施形態との差分について説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。本実施形態では、図６のフローチャートに従って以下のような処理が実行される。
【００５９】
ステップＳ１０２１では、取得部１２１は、入力データとしての顔画像を取得する。本実施形態では、撮像画像はマルチチャンネル画像であるから、該撮像画像から検出された顔画像もまたマルチチャンネル画像である。
【００６０】
ステップＳ１０２２で設定部１２２はステップＳ１０２１で取得した顔画像におけるそれぞれのチャンネル画像に対して第１の実施形態と同様にして、隣り合うそれぞれの設定領域が部分的に重複するように、設定領域を２次元的にチャンネル画像上に設定する。
【００６１】
ステップＳ１０２３では、変換部１２３は、設定部１２２が設定したそれぞれの設定領域内の２次元画素配列を１次元画素配列に変換し、該それぞれの設定領域の１次元画素配列に基づいて１つの連結１次元画素配列を生成する。本実施形態に係る変換部１２３の動作について、図１０を例にとり説明する。図１０では、２つのチャンネル画像を有する顔画像における設定領域から連結１次元画素配列を生成している。なお、前述の通り、この図１０は処理の順番を限定するものではない。
【００６２】
図１０（ａ）に示す如く、変換部１２３は、顔画像の第１チャンネル画像（ｃｈ＝０のチャンネル画像）４０１における左上隅の設定領域４０３内の２次元画素配列を１次元画素配列４０５に変換する。Ａ１〜Ａ９はそれぞれ、設定領域４０３内の２次元画素配列を構成する各画素の画素値を表す。また変換部１２３は、顔画像の第２チャンネル画像（ｃｈ＝１のチャンネル画像）４０２における左上隅の設定領域４０４内の２次元画素配列を１次元画素配列４０６に変換する。Ｂ１〜Ｂ９はそれぞれ、設定領域４０４内の２次元画素配列を構成する各画素の画素値を表す。そして変換部１２３は、１次元画素配列４０５と１次元画素配列４０６とを統合した連結１次元画素配列４０７を生成する。図１０（ａ）に示す如く、連結１次元画素配列４０７は、１次元画素配列４０５を構成する要素と、１次元画素配列４０６を構成する要素と、を交互に並べたもので、結果としてＡ１，Ｂ１，Ａ２，Ｂ２，…Ａ９，Ｂ９の並びを有する。この並びは、チャンネルが連続となるような並びである。
【００６３】
次に、変換部１２３は、図１０（ｂ）に示す如く、第１チャンネル画像４０１における設定領域４０３を１画素だけ右側にずらした設定領域４０８内の２次元画素配列を１次元画素配列４１０に変換する。Ａ４〜Ａ１２はそれぞれ、設定領域４０８内の２次元画素配列を構成する各画素の画素値を表す。また変換部１２３は、図１０（ｂ）に示す如く、第２チャンネル画像４０２における設定領域４０４を１画素だけ右側にずらした設定領域４０９内の２次元画素配列を１次元画素配列４１１に変換する。Ｂ４〜Ｂ１２はそれぞれ、設定領域４０９内の２次元画素配列を構成する各画素の画素値を表す。そして変換部１２３は、１次元画素配列４１０において１次元画素配列４０５と重複していない要素（Ａ１０〜Ａ１２）と、１次元画素配列４１１において１次元画素配列４０６と重複していない要素（Ｂ１０〜Ｂ１２）と、を交互に並べた部分４９０を生成する。部分４９０は、Ａ１０，Ｂ１０，Ａ１１，Ｂ１１，Ａ１２，Ｂ１２の並びを有する。そして変換部１２３は、該生成した部分４９０を連結１次元画素配列４０７の右側に連結する。すなわち、この連結１次元画素配列は、設定領域が重複する領域の要素を共有している。以降、右端の設定領域まで同様の処理を行い、右端の設定領域の処理が完了すると、第１の実施形態と同様に、設定領域４０３，４０４を１画素だけ下側にずらした設定領域内の２次元画素配列を１次元画素配列に変換する。そして、それぞれの１次元画素配列における要素を交互に並べて連結１次元画素配列に連結する。以降、上記と同様の処理を行う。
【００６４】
このように、チャンネルが連続となるように連結１次元画素配列を作ることで、それぞれの設定領域に対応する１次元画素配列の要素の並びが連続になる。より一般的に表現すると、設定領域の配置位置（本実施形態では、顔画像における水平方向及び垂直方向）の次元とは別の次元が連続となるように連結１次元画素配列を作っている。これにより、後の処理を第１の実施形態と同様の畳み込み演算で処理できるようになる。例えば、１次元画素配列４０５と１次元画素配列４０６とをそのまま連結してしまうと、重複部分を除いた、次の設定領域の要素が不連続となり、畳み込み演算で処理できなくなってしまう。
【００６５】
図６に戻って、以降のステップＳ１０２４及びステップＳ１０２５における処理は第１の実施形態と同様である。なお、本実施形態では、撮像画像（顔画像）が２つのチャンネル画像を有するものとして説明したが、撮像画像（顔画像）のチャンネル数は２に限らず、その場合であっても連結１次元画素配列の生成方法は上記と同様である。例えば、撮像画像（顔画像）のチャンネル数がＣＨ（ＣＨは３以上の整数）であるとする。つまり、撮像画像が、チャンネル番号ｃｈ＝１のチャンネル画像、チャンネル番号ｃｈ＝２のチャンネル画像、…、チャンネル番号ｃｈ＝ＣＨのチャンネル画像、を有するものとする。このとき連結対象は、各チャンネル画像の１次元画素配列の左端からＮ番目の要素をチャンネル画像順に並べた要素列、左端から（Ｎ＋１）番目の要素をチャンネル画像順に並べた要素列、…、右端の要素をチャンネル画像順に並べた要素列、を連結したものである。チャンネル画像順とは、ｃｈが小さい順を指す。ここで、「Ｎ番目の要素」（同位置の要素）とは、左端の設定領域の場合はＮ＝１であり、左端以外の設定領域の場合は、連結対象の先頭要素に対応するＮ（図１０（ｂ）の場合はＮ＝１０）である。
【００６６】
［第３の実施形態］
第１，２の実施形態では、２次元画像に対する畳み込み演算処理について説明してきたが、より大きな次元の入力に対する畳み込み演算処理においても、上記の実施形態を適用することができる。例えば、以下の文献は３次元の入力データに対する畳み込み処理が開示されており、この例に上記の実施形態を適用することができる。
【００６７】
D. Tran, L. Bourdev, R. Fergus, L. Torresani, and M. Paluri. Learning spatiotemporal features with 3D convolutional networks. In ICCV, 2015.
以下では第１の実施形態との差分について説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。本実施形態では、１つの顔を撮像した複数フレームの撮像画像のそれぞれから検出された顔画像（グレイスケール画像）の時系列シーケンス（複数フレームの顔画像を積層した立体）の特徴量を求めるケースについて説明する。本実施形態では、図６のフローチャートに従って以下のような処理が実行される。
【００６８】
ステップＳ１０２１では、取得部１２１は、顔画像の時系列シーケンス（複数フレームの顔画像を積層した立体）を取得する。ステップＳ１０２２では、設定部１２２は、隣り合うそれぞれの設定領域（本実施形態の場合は立体領域）が部分的に重複するように、設定領域を３次元的に立体内に設定する。ステップＳ１０２３では、変換部１２３は、設定部１２２が設定したそれぞれの設定領域内の３次元画素配列を２次元画素配列に変換し、該それぞれの設定領域の２次元画素配列に基づいて１つの連結２次元画素配列を生成する。本実施形態に係る変換部１２３の動作について、図１１を例にとり説明する。なお、この図１１は処理の順番を限定するものではない。
【００６９】
図１１（ａ）において立体５０１は、顔画像を積層した立体であり、ｘ方向が顔画像における水平方向、ｙ方向が顔画像における垂直方向、ｚ方向が顔画像の積層方向（つまり時間（フレーム）方向）、に対応する。
【００７０】
図１１（ａ）に示す如く、変換部１２３は、手前側の左上隅の位置が立体５０１の手前側の左上隅の位置１１９９にある設定領域５０２内の３次元画素配列を２次元画素配列５０３に変換する。図１１（ａ）では、設定領域５０２のｘ方向のサイズをｆｘ、ｙ方向のサイズをｆｙ、ｚ方向のサイズをｆｚとしている。２次元画素配列５０３は、設定領域５０２内に含まれる部分画像群をフレーム順に上から下に並べて連結したものであり、水平方向のサイズはｆｘ、垂直方向のサイズはｆｙ×ｆｚとなる。このように、ｙ軸とｚ軸をまとめることで３次元データ（３次元画素配列）を２次元データ（２次元画素配列）に展開している。
【００７１】
次に、変換部１２３は、図１１（ｂ）に示す如く、設定領域５０２を１画素だけｘ軸方向（ｚ方向と直交する方向）にずらした設定領域５０４内の３次元画素配列を２次元画素配列に変換する。上記の通り、隣り合う設定領域５０２と設定領域５０４とには重複領域が存在するため、結果として設定領域５０４に対応する２次元画素配列には、設定領域５０２に対応する２次元画素配列５０３と重複する部分が生じてしまう。そこで変換部１２３は、設定領域５０４に対応する２次元画素配列において２次元画素配列５０３と重複していない部分５９０（図１１（ｂ）において斜線で示した領域）を、設定領域５０４に対応する２次元画素配列から取得する。そして変換部１２３は、該取得した部分５９０を２次元画素配列５０３の右側に連結した連結２次元画素配列５９９を生成する。すなわち、この連結２次元画素配列は、設定領域が重複する領域の要素を共有している。そして変換部１２３は、設定領域５０４をｘ方向にずらした各設定領域について同様の処理を行うことで、連結２次元画素配列を更新する。
【００７２】
そして、設定領域５０２をｘ方向にずらした設定領域が立体５０１の右端に達し、該右端の設定領域における連結対象を連結２次元画素配列に連結したとする。すると、図１１（ｃ）に示す如く、設定領域５０２を１画素だけｙ方向にずらした設定領域５０５内の３次元画素配列を２次元画素配列５８０に変換する。そして、図１１（ｃ）に示す如く、変換部１２３は、この時点における連結１次元画素配列５９９の右側に２次元画素配列５８０を連結する。そして以降は、立体５０１において手前側の右下隅の設定領域の連結対象を連結２次元画素配列に連結するまで同様の処理を行う。
【００７３】
そして立体５０１において手前側の各設定領域について連結２次元画素配列への連結が完了すると、図１１（ｄ）に示す如く、設定領域５０２をｚ方向に１画素ずらした設定領域５０７の２次元画素配列５８５を求める。そして変換部１２３は、該求めた２次元画素配列５８５を連結２次元画素配列の下及び左端に連結する。以降、上記の如く、ｚ方向の位置（ｚ位置）は同じでｘ方向の位置（ｘ位置）、ｙ方向の位置（ｙ位置）が異なるそれぞれの設定領域の連結対象を２次元画素配列５８５の右側に順次（点線で示す如く）連結することで連結２次元画素配列を生成する。
【００７４】
このように、本実施形態において生成される連結２次元画素配列は、「同じｚ位置における設定領域の２次元画素配列若しくは連結対象が連結された連結２次元画素配列」がｚ位置順に上から下（若しくは下から上）に並べたものである。
【００７５】
図６に戻って、次に、ステップＳ１０２４では、取得部１２４は、二次記憶装置１４に保存されている３次元重み係数行列（重み係数群）をＲＡＭ１３にロードする。そしてステップＳ０１２５では、演算部１２５は、連結２次元画素配列と３次元重み係数行列とを用いて畳み込み演算処理を行う。演算部１２５による畳み込み演算処理を模式的に示した図が図１２である。
【００７６】
３次元重み係数行列６０１のｘ方向のサイズはｆｘ、ｙ方向のサイズはｆｙ、ｚ方向のサイズはｆｚである。この３次元重み係数行列６０１の各ｚ位置に対応する２次元重み係数行列を垂直方向に連結したものが２次元重み係数行列６０２であり、水平方向のサイズはｆｘ、垂直方向のサイズはｆｙ×ｆｚである。２次元重み係数行列６０２は、前述と同じように、ｘ軸とｙ軸とをまとめることで３次元データを２次元データに展開している。この２次元重み係数行列６０２と、連結２次元画素配列１２０１と、の畳み込み演算処理を行うことで、３次元畳み込み演算を実現する。すなわち、３次元データの畳み込みを２次元データの畳み込みに帰着させて計算する。より一般的な言い方をすると、高次元データの畳み込みをより低次元データの畳み込みに帰着させて計算する。この２次元データの畳み込みは、第１の実施形態で説明した方法を用いればよい。
【００７７】
そしてこの畳み込み演算処理に対して上記のプーリング処理部及び上記の３次元畳み込み演算処理と同様の３次元畳み込み演算処理を行うことで、上記の立体の特徴量を得る。以降は第１の実施形態と同様である。
【００７８】
［第４の実施形態］
第１〜３の実施形態では、変換ベクトル（１次元画素配列、２次元画素配列）がどのような形状なのかを説明するために、いくつかの模式図と手順を用いて説明したが、必ずしもこの通りに処理しなくてもよい。最終的には、低次元のベクトルと重み係数の畳み込みに帰着されるため、変換したベクトルが上で述べたように、設定領域の重複部分の要素を共有する構造になっていればよい。
【００７９】
第１〜３の実施形態では、入力データの次元数が２次元、３次元のものであるケースについて説明したが、入力データの次元数がどのようなものであったとしても、何れも以下の構成に帰着される。つまり、入力データが規定する平面若しくは空間内に、隣り合うそれぞれの領域が部分的に重複するように設定される各領域内の要素配列をより低次元の要素配列である低次元要素配列に変換する。そして、該変換したそれぞれの低次元要素配列における重複部分を共有するように該それぞれの低次元要素配列の一部若しくは全部を連結した連結要素を生成し、連結要素と重み係数との畳み込み演算に基づいて入力データの特徴量を求める。なお、少なくとも１組の隣り合う領域が部分的に重複するように設定してもよい。
【００８０】
また、入力データが複数であった場合には、複数の入力データそれぞれについて上記の実施形態の処理を適用するか、複数の入力データそれぞれについて生成した変換ベクトルを連結して、１回の畳み込み演算で計算することができる。この場合、変換ベクトルに重み係数を畳み込む際に、複数の入力データにまたがる範囲の畳み込み部分は無駄な処理となるため、計算をスキップするか、並び替え等で有効な要素のみを抽出する必要がある。
【００８１】
また、上記の説明では、畳み込み演算処理を含むＤｅｅｐＮｅｔ処理で顔認証を行う例について説明したが、上記の特徴量を求める処理の目的は顔認証に限らない。例えば、顔認証以外の他の画像認識に第１〜３の実施形態で説明した特徴量算出処理を適用しても良いし、ＤｅｅｐＮｅｔ処理ではない畳み込み演算、例えば、単純な画像のフィルタ処理等に用いてもよい。
【００８２】
［第５の実施形態］
上記の実施形態では、カメラ２と情報処理装置１とを別個の装置として説明した。しかし、カメラ２と情報処理装置１とを一体化させて１つの装置としても良い。つまり、カメラ２が情報処理装置１の機能として上述した各機能を実行するように構成しても構わない。
【００８３】
また、上記の実施形態では、認証結果など、特徴量を用いて行った処理の結果を表示、音声出力、ＬＥＤランプの点灯やそのパターンでもってユーザに通知していたが、通知方法はこれに限らない。例えば、特定の通知先に電子メールでもって通知しても構わない。
【００８４】
上記の実施形態では、情報処理装置１の機能をＣＰＵ１１がコンピュータプログラムを実行することで実現した。しかし、ハードウェアを用いて同様の機能を実現させるようにしても構わない。例えば、図２に示した各機能部のうち一部若しくは全部をハードウェアで実装しても構わない。ハードウェアとしては専用回路（ＡＳＩＣ）やプロセッサ（リコンフィギュラブルプロセッサ、ＤＳＰ）などを用いることができる。また、同様の機能をＧＰＵを用いて実装しても構わない。また、上記のコンピュータプログラムをＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記憶媒体から読み出したり、ネットワークを介して外部から受信したりして取得し、該取得したコンピュータプログラムをＣＰＵ１１が実行するようにしても構わない。
【００８５】
また、上記の実施形態では、情報処理装置１に対して撮像画像を送信するカメラの数を１としたが、これに限るものではなく、複数であっても構わない。また、上記の実施形態では、情報処理装置１は撮像画像をカメラ２から取得するものとしたが、撮像画像の取得方法は特定の取得方法に限らない。例えば、情報処理装置１は、予め撮像されてサーバ装置などに保存されている撮像画像群を該サーバ装置から取得するようにしても構わない。
【００８６】
また上記の実施形態では、顔画像全体から特徴量を抽出するようにしたが、顔画像の部分領域から特徴量を抽出するようにしても構わない。例えば、顔の特定の器官（目や鼻等）を基準に設定した部分領域から特徴量を抽出するようにしても構わない。顔画像における器官の位置を検出する方法については公知の技術（例えば、特開２００９−２１１１７７号公報に記載の方法）を用いればよい。また、抽出した特徴量の次元圧縮や量子化を行っても構わない。
【００８７】
また、上記の実施形態では、撮像画像から検出された全ての顔画像について認証を行うようにしている。しかし、撮像画像上の顔画像のうち特定の顔画像についてのみ認証処理を行うようにしても構わない。つまり、上記のステップＳ１０１４〜Ｓ１０１８の処理を、特定の顔画像についてのみ行うようにしても構わない。特定の画像とは、例えば、規定サイズ以上のサイズを有する顔画像、撮像画像に占める割合が規定値以上となる顔画像、ユーザが撮像画像上で選択した顔画像等、特定の条件を満たした顔画像である。
【００８８】
また、上記の実施形態では、情報処理装置１は認証機能と登録機能の両方の機能を有するものとして説明したが、認証機能を実行する装置と、登録機能を実行する装置と、に分けても構わない。
【００８９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９０】
１０１：画像取得部  １０２：顔検出部  １０３：特徴抽出部  １０４：辞書登録部  １０５：類似度算出部  １０６：決定部  １０７：表示部  １０８：取得部
【図１】
2019185548.tif 000003
【図２】
2019185548.tif 000004
【図３】
2019185548.tif 000005
【図４】
2019185548.tif 000006
【図５】
2019185548.tif 000007
【図６】
2019185548.tif 000008
【図７】
2019185548.tif 000009
【図８】
2019185548.tif 000010
【図９】
2019185548.tif 000011
【図１０】
2019185548.tif 000012
【図１１】
2019185548.tif 000013
【図１２】
2019185548.tif 000014