(57)【特許請求の範囲】
【請求項１】
入力信号の中に含まれる所定のパターンを検出するパターン認識装置において、
同一の入力に対しそれぞれ異なる１つの特徴を検出するための複数の検出処理手段と、
前記複数の検出処理手段で検出された特徴を、それぞれの統合処理手段に対応する検出処理手段の組み合わせ毎に統合する複数の統合処理手段と、
前記検出処理手段の処理結果を保持する複数の検出メモリと、
前記統合処理手段の処理結果を保持する複数の統合メモリと、
あるタイミングで所定の前記検出処理手段及び所定の前記統合メモリが接続される共有データ線と、
それぞれ対応する前記検出処理手段と前記統合処理手段と前記検出メモリとが接続される複数の局所データ線とを有し、
前記検出メモリに保持された前記検出処理手段の処理結果を前記統合処理手段に入力する際に、各検出メモリのデータを読み出して、それぞれの検出メモリに対応する前記統合処理手段に入力し、
前記統合メモリに保持された前記統合処理手段の処理結果を前記検出処理手段に入力する際に、前記統合メモリからデータを読み出して、複数の前記検出処理手段に入力することを特徴とするパターン認識装置。
【請求項２】
前記統合処理手段の処理結果を前記統合メモリに入力する際及び／または前記統合メモリのデータを前記検出処理手段に入力する際に、前記共有データ線を時分割で使用するように前記統合処理手段及び前記統合メモリを制御することを特徴とする請求項１に記載のパターン認識装置。
【請求項３】
前記共有データ線は、複数のサブ共有データ線と複数のスイッチとを含み、
前記サブデータ線１つに、前記統合メモリが１つ接続され、
複数の前記統合処理手段の処理結果を複数の前記統合メモリに入力する際に、複数の前記サブ共有データ線を用い、
前記統合メモリに保持された前記統合処理手段の処理結果を前記検出処理手段に入力する際に、複数の前記サブ共有データ線を、前記スイッチを制御することにより接続し、仮想的に１つのデータ線として使用することを特徴とする請求項１に記載のパターン認識装置。
【請求項４】
前記共有データ線は、複数の分割共有データ線を含み、
前記分割共有データ線１つに、所定の前記統合メモリと所定の前記検出処理手段が接続され、
複数の前記統合処理手段の処理結果を複数の前記統合メモリに入力する際、及び／または前記統合メモリに保持された前記統合処理手段の処理結果を前記検出処理手段に入力する際に、複数の前記分割共有データ線を用いることを特徴とする請求項１に記載のパターン認識装置。
【請求項５】
構成情報を記憶する構成情報記憶手段と、
前記構成情報記憶手段の構成情報に基づいて、前記検出処理手段及び前記統合処理手段の回路構成を再構成する回路構成制御手段とを有することを特徴とする請求項１〜４に記載のパターン認識装置。
【請求項６】
前記回路構成制御手段は、前記検出処理手段の回路構成の再構成と前記統合処理手段の回路構成の再構成とを、同時に行わないように制御することを特徴とする請求項５に記載のパターン認識装置。
【請求項７】
共有データ線に接続された外部インターフェースを設け、該外部インターフェースを介して前記検出メモリ及び前記統合メモリの結果を処理の中間結果として読み出すことを特徴とする請求項１〜６に記載のパターン認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、神経回路網等の並列演算処理により、パターン認識・特定被写体の検出等を行なうパターン認識装置の回路構成に関するものである。
【０００２】
【従来の技術】
従来より、画像認識や音声認識の分野においては、特定の認識対象に特化した認識処理アルゴリズムをコンピュータソフトとして逐次演算して実行するタイプ、或いは専用並列画像処理プロセッサ（ＳＩＭＤ、ＭＩＭＤマシン等）を用いたハードウェアにより実行するタイプに大別される。
【０００３】
例えば専用並列処理プロセッサに関しては、特開平６−６７９３に開示される物体識別装置は、画像処理プロセッサユニットを複数用意し、それらのプロセッサユニットに搭載されているDSPで演算処理を行い、それらの複数の結果を別のユニットに転送して、物体識別を行なっている。例えば、画像を複数の領域にわけ、各プロセッサプロセッサで各領域の処理を並列に行ない、別のプロセッサユニットで物体の識別の推論をニューラルネットワークやファジイ制御を用いて行うものである。
【０００４】
また、ニューラルネットによる階層並列処理を行なうハードウェアとして、特許２６７９７３０号公報に開示される階層構造ニューラルネットは、単層のハードウェアを時分割多重化使用して多層化することを可能とする階層構造ニューラルネットのアーキテクチャであり、単層のハードウェアを時分割多重化使用して等価的に多層化することを可能とすることを目的とし、複数のニューロンモデルを相互に接続することにより形成されるニューラルネットにおいて、時分割多重化アナログ信号を外部からのデジタル重みデータとの積を生成し、かつその積を時分割的にコンデンサを介して加えることにより積分し、非線形出力関数を通した電圧を時分割的に出力することを可能とするニューロンモデルのユニットを複数設置して単層のユニット集合を形成する単層ユニット集合手段と、前記単層ユニット集合手段の出力を同じ単層ユニット集合の入力部に帰還する帰還手段と、前記単層ユニット集合手段から出力される各ユニットからのアナログ信号を時分割多重化し、さらに前記帰還手段を介して前記単層ユニット集合手段を時分割多重使用するための制御を実行する制御手段とを有し、単層構造のユニット集合手段を時分割多重使用することにより等価的に階層構造のニューラルネットを形成するように構成されている。
【０００５】
また、ＦＰＧＡ（Field Programming Gate Array）を用いたハードウェアとして、ＵＳＰ5892962で紹介されているプロセッサがある。このプロセッサは、各ＦＰＧＡにメモリを保持し、ＦＰＧＡでの処理結果をメモリに保持し、そのメモリの結果を読み出して、処理を行うものである。
【０００６】
【発明が解決しようとする課題】
上記、認識処理アルゴリズムを実行するハードウェアの従来例で示した、特開平６−６７９３に開示される物体識別装置では、各画像処理プロセッサユニットに割り当てられた領域に対して、さらにそれらを分割した小領域から元の領域へと数段階にわたる処理は可能であるが、処理されて得られた複数の結果に対し、さらにまた別の複数のプロセッサユニットで並列処理を行なうといった階層的処理を行なうことは出来なかった。また、処理の結果を読み出すことも出来なかった。さらに、各領域の結果を空間的に統合するということも出来なかった。
【０００７】
また、特許２６７９７３０号公報に開示される階層的ニューラルネットワークにおいては、層間結合を任意に可変制御する手段を有していないために実質的に実現可能な処理の種類が極めて限定的になるという問題があった。
【０００８】
また、ＵＳＰ5892962に開示されるＦＰＧＡ−ＢＡＳＥＤ  ＰＲＯＣＥＳＳＯＲでは、メモリに保持された中間結果を読み出すのに、複雑な配線が必要である。
【０００９】
そこで本発明の目的は、複雑な配線を用いずに単純な回路構成で、複数の処理手段で処理されて得られた複数の結果に対し、さらに複数の処理手段で並列処理を行なうといった階層的処理を行なうことが出来、また各処理の処理結果を空間的に統合することが出来、また各処理の結果を容易に読み出すことが可能なパターン認識装置を提供することである。
【００１０】
【課題を解決するための手段】
そこで、上記目的を実現するために、本発明によれば、入力信号の中に含まれる所定のパターンを検出するパターン認識装置に、同一の入力に対しそれぞれ異なる１つの特徴を検出するための複数の検出処理手段と、前記複数の検出処理手段で検出された特徴を、それぞれの統合処理手段に対応する検出処理手段の組み合わせ毎に統合する複数の統合処理手段と、前記検出処理手段の処理結果を保持する複数の検出メモリと、前記統合処理手段の処理結果を保持する複数の統合メモリと、あるタイミングで所定の前記検出処理手段及び所定の前記統合メモリが接続される共有データ線と、それぞれ対応する前記検出処理手段と前記統合処理手段と前記検出メモリとが接続される複数の局所データ線とを有し、前記検出メモリに保持された前記検出処理手段の処理結果を前記統合処理手段に入力する際に、各検出メモリのデータを読み出して、それぞれの検出メモリに対応する前記統合処理手段に入力し、前記統合メモリに保持された前記統合処理手段の処理結果を前記検出処理手段に入力する際に、前記統合メモリからデータを読み出して、複数の前記検出処理手段に入力することを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について、図を用いて説明する。
【００１２】
（第１の実施の形態）
図１が本実施形態の構成を示す図である。
【００１３】
図１において、１０００は制御手段を、１０１０は統合メモリコントローラを、１０１１から１０１４は統合メモリを、１０１５は補助メモリを、１０２０は統合アドレス線を、１０２１から１０２４は統合メモリ制御信号を、１０２５は補助メモリ制御信号を、１０３０はグローバルデータ線を、１０４１Aから１０４４Cは検出処理手段を、１０５１Aから１０５４Cは統合処理手段を、１０６１から１０６４はローカルデータ線を、１０７１から１０７４は検出メモリを、１０８０は検出アドレス線を、１０８１から１０８４は検出メモリ制御信号を、１０９０は検出メモリコントローラを、１１１１Aから１１１４Cは検出処理手段制御信号を、１１２１Aから１１２４Cは統合処理手段制御信号を示す。なお、この検出処理手段制御信号と統合処理手段制御信号に関しては、図に全て記載せずに、検出処理手段制御信号１１１１Aから１１１１Cのみ記載してある。また、１１３０及び１１６１から１１６４は外部I/Fを示す。
【００１４】
以下図１中のそれぞれの構成要素の機能を説明する。
【００１５】
制御手段１０００は、この回路全体の制御を行なう手段であり、後述する統合メモリコントローラ１０１０、各検出処理手段１０４１A〜１０４４C、各統合処理手段１０５１A〜１０５４C、及び検出メモリコントローラ１０９０と通信し、使用する認識アルゴリズムに基づいて、これらの各手段を制御することで、認識動作を行なう。
【００１６】
統合メモリコントローラ１０１０は、統合メモリ１０１１〜１０１４及び補助メモリ１０１５のメモリを制御して、これらのメモリからデータをグローバルデータ線１０３０に出力したり、またグローバルデータ線１０３０上のデータを統合メモリ１０１１〜１０１４または補助メモリ１０１５に書き込む。具体的には、統合アドレス線１０２０にアドレスを出力し、さらに動作させるメモリを選択するチップセレクト信号や書き込み・読み出しの区別をするライトイネーブル信号等の統合メモリ制御信号１０２１〜１０２４、補助メモリ制御信号１０２５を制御することで、上記の動作を行なう。なお、アドレスを複数発生する時は、例えば制御手段１０００から先頭・最終アドレス並びにステップ数を統合メモリコントローラ１０１０に設定し、先頭アドレス値を設定したカウンタを最終アドレスまで、前記ステップ数でカウントアップすることで対応出来る。つまり、このアドレスの発生を様々に変化させることで、統合メモリ１０１１〜１０１４、補助メモリ１０１５の任意の領域のデータの読み出し・書き込みが出来るので、配線問題を回避することが出来る。
【００１７】
統合メモリ１０１１〜１０１４は、後述する統合処理手段１０５１A〜１０５４Cの処理結果を保持するメモリである。これらは、それぞれグローバルデータ線１０３０に接続されており、統合メモリ制御信号１０２１〜１０２４に基づいて保持している結果をグローバルデータ線１０３０に出力したり、グローバルデータ線１０３０上の統合処理手段１０５１A〜１０５４Cの処理結果を取り込む。
【００１８】
補助メモリ１０１５は、画像などの認識すべき信号等を一時的に保持するメモリである。このメモリも統合アドレス線１０２０並びにグローバルデータ線１０３０に接続されており、統合メモリコントローラ１０１０からの補助メモリ制御信号１０２５に基づいて保持している信号をグローバルデータ線１０３０に出力したり、グローバルデータ線１０３０上のデータを取り込む。
【００１９】
統合アドレス線１０２０には、統合メモリ１０１１〜１０１４並びに補助メモリ１０１５のアドレスを示す信号が統合メモリコントローラ１０１０から出力される。このアドレスを変化させることで、配線問題を回避し、統合メモリ１０１１〜１０１４に保持された各処理の結果を容易に読み出すことが可能で、各検出処理手段１０４１A〜１０４４Cでそれらの結果を組み合わせた信号に対する処理を行なうことが出来る。
【００２０】
統合メモリ制御信号１０２１〜１０２４は、統合メモリ１０１１〜１０１４の選択や書き込み・読み出しの区別・制御等を行なう信号である。メモリの選択を時分割で行なうことで、読み出し時にはグローバルデータ線１０３０に各統合メモリ１０１１〜１０１４のデータを時分割で出力することが出来、また書き込み時には、統合処理手段制御信号１１２１A〜１１２４Cとタイミングを合わせて切り替えることで、グローバルデータ線１０３０上に出力された各統合処理手段の処理結果を各統合メモリ１０１１〜１０１４に保持することが出来る。
【００２１】
補助メモリ制御信号１０２５は、補助メモリ１０１５の選択や書き込み・読み出しの区別・制御等を行なう信号である。
【００２２】
グローバルデータ線１０３０は、統合メモリ１０１１〜１０１４、検出処理手段１０４１A〜１０４４C、統合処理手段１０５１A〜１０５４C、及び補助メモリ１０１５と接続されている。そのため、統合メモリ１０１１〜１０１４のデータが各検出処理手段１０４１A〜１０４４Cに並列に入力され、また時分割処理により、各統合処理手段１０５１A〜１０５４Cからの処理結果が、各統合メモリ１０１１〜１０１４に時分割で書き込まれる。
【００２３】
各検出処理手段１０４１A〜１０４４Cは、認識処理に必要な各処理（例えば、エッジ検出等）をそれぞれ担当している。つまり、本発明の装置では、それら各検出処理手段の処理を組み合わせて全体として認識処理を行なっている。
【００２４】
検出処理手段１０４１A〜１０４４Cは、グローバルデータ線１０３０を介して入力されたデータに対して処理を行いその結果を、それぞれローカルデータ線１０６１〜１０６４に出力する。なお、検出処理手段１０４１A、１０４１Ｂ，１０４１Cの処理結果はローカルデータ線１０６１に出力されるようになっており、また検出処理手段１０４２A〜１０４２Cの処理結果はローカルデータ線１０６２に出力されるようになっている。以下他の検出処理手段も同様である。検出処理手段１０４１A〜１０４４Cには、グローバルデータ線１０３０を介して同じ信号が入力される。その入力信号に対し、各検出処理手段は異なった処理を行なう。その結果を例えば検出処理手段１０４１Aであれば、ローカルデータ線１０６１に出力して、その結果を検出メモリ１０７１に保持する。同様に各検出処理手段の処理の結果は、異なった検出メモリ１０７１〜１０７４に保持される。ここで、どの検出処理手段が動作するかを示すのが、制御手段１０００からの検出処理手段制御信号１１１１A〜１１１４Cである。この検出処理手段制御信号１１１１Aは検出処理手段１０４１Aに接続され、また１１１１Bは１０４１Ｂに接続され、以下同様に接続される。（なお、図１には、検出処理手段制御信号１１１１A〜１１１１Cのみ示してある。）例えば、あるタイミングでは、検出処理手段制御信号１１１１A、１１１２A、１１１３A、１１１４Aがイネーブルになり、その結果、検出処理手段１０４１A、１０４２A、１０４３A、１０４４Aが動作し、それぞれの検出処理手段の処理結果をそれぞれローカルデータ線１０６１〜１０６４を介して、検出メモリ１０７１〜１０７４に保持する。また別のタイミングでは、別の検出処理手段制御信号がイネーブルになる。
【００２５】
統合処理手段１０５１Aから１０５４Cは、それぞれローカルデータ線１０６１〜１０６４を介して入力されたデータに対して統合処理を行い、その結果をグローバルデータ線１０３０に出力する。なお、統合処理手段１０５１A〜１０５１Cへの入力はローカルデータ線１０６１から、１０５２A〜１０５２Cは１０６２より、１０５３A〜１０５３Ｃは１０６３より、１０５４A〜１０５４Cは１０６４より行なわれる。また、制御手段１０００からの統合処理手段制御信号１１２１A〜１１２４C（図１には不図示）の処理手段セレクト信号のイネーブルで、 動作する統合処理手段１０５１A〜１０５４Cを選択する。また、この統合処理手段制御信号１１２１A〜１１２４Cのアウトプット信号で、各統合処理手段１０５１A〜１０５４Cの処理結果をグローバルデータ線１０３０に出力するタイミングを制御する。つまり、例えば、あるタイミングでは、統合処理手段制御信号１１２１A、１１２２A、１１２３A、１１２４Aの処理手段セレクト信号がイネーブルになり、その結果、統合処理手段１０５１A、１０５２A、１０５３A、１０５４Aが動作する、そして、アウトプット信号に基づいて、グローバルデータ線１０３０にその処理結果を、例えば統合処理手段１０５１Ａから順に出力する。そのとき、タイミングを合わせて、統合メモリコントローラ１０１０を制御することで、グローバルデータ線１０３０上のデータを統合メモリ１０１１から順に保持することが出来る。
【００２６】
ローカルデータ線１０６１は、検出メモリ１０７１、検出処理手段１０４１A〜１０４１C、統合処理手段１０５１A〜１０５１Cと接続されている。また、ローカルデータ線１０６２は、検出メモリ１０７２、検出処理手段１０４２A〜１０４２C、統合処理手段１０５２A〜１０５２Cと接続されている。ローカルデータ線１０６３、１０６４も同様である。そのため、検出処理手段１０４１A〜１０４１Cからの処理結果が検出メモリ１０７１に、検出処理手段１０４２A〜１０４２Cからの処理結果が検出メモリ１０７２に、検出処理手段１０４３A〜１０４３Cからの処理結果が検出メモリ１０７３に、検出処理手段１０４４A〜１０４４Cからの処理結果が検出メモリ１０７４に保持されるようになっている。また検出メモリ１０７１のデータは統合処理手段１０５１A〜１０５１Cに、検出メモリ１０７２のデータは統合処理手段１０５２A〜１０５２Cに、と各検出メモリのデータが別々の統合処理手段に並列に入力されるようになっている。
【００２７】
検出メモリ１０７１は、検出処理手段１０４１A〜１０４１Cからの処理結果を、また検出メモリ１０７２は、検出処理手段１０４１A〜１０４１Cからの処理結果を保持するメモリである。検出メモリ１０７３、検出メモリ１０７４も同様である。検出メモリ１０７１はローカルデータ線１０６１に、１０７２は１０６２に、１０７３は１０６３に、１０７４は１０６４に接続されており、検出メモリ制御信号１０８１〜１０８４に基づいて保持している結果をそれぞれのローカルデータ線１０６１〜１０６４に出力したり、ローカルデータ線１０６１〜１０６４上の検出処理手段１０４１A〜１０４４Cの処理結果を取り込む。
【００２８】
検出アドレス線１０８０には、検出メモリ１０７１〜１０７４のアドレスを示す信号が検出メモリコントローラ１０９０から出力される。このアドレスを変化させることで、配線問題を回避し、容易に検出メモリ１０７１〜１０７４に保持された任意の位置の各処理の結果を読み出し、各統合処理手段１０５１A〜１０５４Cで各領域の結果に対する処理を行なうことが出来る。
【００２９】
検出メモリ制御信号１０８１〜１０８４は、検出メモリ１０７１〜１０７４の選択や書き込み・読み出しの区別・制御等を行なう信号である。
【００３０】
検出メモリコントローラ１０９０は、検出メモリ１０７１〜１０７４のメモリを制御して、これらのメモリからデータをローカルデータ線１０６１〜１０６４に出力したり、またローカルデータ線１０６１〜１０６４上のデータをメモリに書き込む。具体的には、検出アドレス線１０８０にアドレスを出力し、さらに動作させるメモリを選択するチップセレクト信号や書き込み・読み出しの区別をするライトイネーブル信号等の統合メモリ制御信号１０８１〜１０８４を制御することで、上記の動作を行なう。
【００３１】
検出処理手段制御信号１１１１A〜１１１４Cは、検出処理手段１０４１A〜１０４４Cと制御手段１０００との通信に使用される。検出処理手段１０４１A〜１０４４Cの中で、動作する処理手段を選択する処理手段セレクト信号や処理結果のローカルデータ線１０６１〜１０６４への出力の許可を示すアウトプット信号、また各検出処理手段１０４１A〜１０４４Cでの処理の終了を示すエンド信号等から構成される。
【００３２】
統合処理手段制御信号１１２１A〜１１２４Cは、統合処理手段１０５１A〜１０５４Cと制御手段１０００との通信に使用される。統合処理手段１０５１A〜１０５４Cの中で、動作する処理手段を選択する処理手段セレクト信号や処理結果のグローバルデータ線１０３０への出力の許可を示すアウトプット信号、また各統合処理手段１０５１A〜１０５４Cでの処理の終了を示すエンド信号等から構成される。
【００３３】
また、外部I/F１１３０、１１６１、１１６２、１１６３、１１６４はそれぞれグローバルデータ線１０３０、ローカルデータ線１０６１、１０６２、１０６３、１０６４と接続されており、これらの外部I/Fを介して、統合処理手段１０５１A〜１０５４Cの処理結果や検出処理手段１０４１A〜１０４４Cの処理結果をそれら処理手段の動作中や、または統合メモリ１０１１〜１０１４、検出メモリ１０７１〜１０７４に保持されている途中処理結果を外部へ取り出すことが出来る。
【００３４】
続いて、図１に示す構成の動作を、並列階層処理により画像認識を行う神経回路網を形成した場合について説明する。はじめに図２を参照して神経回路網の処理内容を詳細に説明する。この神経回路網は、入力データ中の局所領域において、対象または幾何学的特徴などの認識(検出)に関与する情報を階層的に扱うものであり、その基本構造はいわゆるConvolutionalネットワーク構造(LeCun, Y. and Bengio, Y., 1995, “Convolutional Networks for Images Speech, and Time Series” in Handbook of Brain Theory and Neural Networks (M. Arbib, Ed.), MIT Press, pp.255-258)である。最終層（最上位層）からの出力は認識結果としての認識された対象のカテゴリとその入力データ上の位置情報である。
【００３５】
データ入力層１０１は、ＣＭＯＳセンサ、或いはＣＣＤ素子等の光電変換素子からの局所領域データを入力する層である。最初の特徴検出層１０２(１,０)は、データ入力層１０１より入力された画像パターンの局所的な低次の特徴（特定方向成分、特定空間周波数成分などの幾何学的特徴のほか色成分特徴を含んでもよい）を全画面の各位置を中心として局所領域(或いは、全画面にわたる所定のサンプリング点の各点を中心とする局所領域)において同一箇所で複数のスケールレベル又は解像度で複数の特徴カテゴリの数だけ検出する。
【００３６】
特徴統合層１０３(２,０)は、所定の受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)を有し、特徴検出層１０２(１,０)からの同一受容野内にある複数のニューロン素子出力の統合（局所平均化、最大出力検出等によるサブサンプリングなどの演算）を行う。この統合処理は、特徴検出層１０２（１，０）からの出力を空間的にぼかすことで、位置ずれや変形などを許容する役割を有する。また、特徴統合層内のニューロンの各受容野は同一層内のニューロン間で共通の構造を有している。
【００３７】
後続の層である各特徴検出層１０２（（１,１）、(１,２)、・・・、(１,M)）及び各特徴統合層１０３（(２,１)、(２,２)、・・・、(２,M)）は、上述した各層と同様に前者（(１,１)、・・・）は、各特徴検出モジュールにおいて複数の異なる特徴の検出を行い、後者（(２,１)、・・・）は、前段の特徴検出層からの複数特徴に関する検出結果の統合を行う。但し、前者の特徴検出層は前段の特徴統合層の細胞素子出力を受けるように結合（配線）されている。特徴統合層で行う処理であるサブサンプリングは、同一特徴カテゴリの特徴検出細胞集団からの局所的な領域（当該特徴統合層ニューロンの局所受容野）からの出力についての平均化などを行うものである。
【００３８】
更に図１〜図５を用いて、具体的な一例として、入力画像から眼を検知する処理における動作を説明する。
【００３９】
図３は、入力画像から眼を検知するフローチャートである。ステップＳ３０１において、画像が補助メモリ１０１５に入力される。これが、データ入力層１０１に対応する。続いてステップＳ３０２において、１次特徴量が検出される。眼の検出における１次特徴量は例えば図４に示すものである。つまり、縦（４−１−１）・横（４−１−２）・右上がり斜め（４−１−３）・右下がり斜め（４−１−４）といった特定方向の特徴を抽出する。なお、先に述べると、２次特徴量は、右空きＶ字（４−２−１）、左空きＶ字（４−２−２）、円（４−２−３）であり、また３次特徴量が眼（４−３−１）である。これらのそれぞれの特徴量を検出するように、検出処理手段１０４１Ａ〜１０４４Ｃは構成されており、検出処理手段１０４１Ａは１次特徴量の縦（４−１−１）を、１０４２Ａは横（４−１−２）を、１０４３Ａは右上がり斜め（４−１−３）を、１０４４Ａは右下がり斜め（４−１−４）を検出する。同様に、検出処理手段１０４１Ｂは２次特徴量の右空きＶ字（４−２−１）を、１０４２Ｂは左空きＶ字（４−２−２）を、１０４３Ｂは円（４−２−３）を検出する。また検出処理手段１０４１Ｃは眼（４−３−１）を検出するように構成されている。なお、この例で用いた眼の検出では、1次特徴量は4種類、２次特徴量は３種類、３次特徴量は１種類であるので、検出処理手段の１０４１Ａ〜１０４４Ａ、１０４１Ｂ〜１０４３Ｂ、１０４１Ｃのみ使用して、１０４４Ｂ及び１０４２Ｃ〜１０４４Ｃは使用しない。
【００４０】
ステップＳ３０２での１次特徴量検出は、特徴検出層１０２(１,０)に対応し、各検出処理手段が特徴ｆの検出モジュール１０４に相当する。統合メモリコントローラ１０１０は補助メモリ制御信号１０２５を制御して、補助メモリ１０１５から画像のある位置を中心とする局所データを読み出し（この局所領域が、受容野１０５に対応する）、グローバルデータ線１０３０に出力する。そして、それらは、並列に、それぞれ検出処理手段１０４１Ａ〜１０４４Ａに入力され、上述したそれぞれの１次特徴量を検出する。なおこのとき、検出処理手段制御信号の１１１１Ａ〜１１１４Ａの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号をイネーブルにして、検出処理手段１０４１Ａ〜１０４４Ａは処理結果をローカルデータ線１０６１〜１０６４に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８４を制御して、各ローカルデータ線上のデータを検出メモリ１０７１〜１０７４に保持する。なお、各検出処理手段での処理では、入力されるデータと結合荷重とが用いられ、例えば１次特徴量の縦（４−１−１）を検出する際には、受容野の大きさが３＊３で、その結合荷重が０または１である、概念的には図５に示した受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)との積和演算が行なわれる。
【００４１】
なお、このステップＳ３０２において、補助メモリ１０１５から読み出される局所領域の中心点を全画面の各点もしくは全画面にわたる所定のサンプリング点の各点と変更することで、全画面において、この１次特徴量の検出を行なう。このように、局所領域を移動させて全画面にわたって処理を行なうことは以降の統合処理や２次、３次の特徴量検出においても同様である。
【００４２】
続いてステップＳ３０３で、１次特徴量が統合される。これは特徴統合層１０３(２,０)に対応し、検出メモリ１０７１〜１０７４に保持されているデータを統合する（特徴検出層１０２(１,０)からの同一受容野内にある複数のニューロン素子出力の統合（局所平均化、最大出力検出等によるサブサンプリングなどの演算）に相当する）。また各統合処理手段は、特徴ｆの統合モジュール１０６に相当する。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８４を制御して、検出メモリ１０７１〜１０７４の局所データを読み出し、ローカルデータ線１０６１〜１０６４を介して、それぞれの局所データが統合処理手段１０５１Ａ〜１０５４Ａに入力される。なお、ステップＳ３０２での検出処理では、検出処理手段１０４１Ａ〜１０４４Ａに入力されるデータは同じものであったが、このステップＳ３０３での統合処理では統合処理手段１０５１Ａ〜１０５４Ａに入力されるデータは、それぞれ異なっている。
【００４３】
ただし、ここでの統合処理の受容野の入力画像における位置や大きさは、全ての統合処理手段１０５１Ａ〜１０５４Ａにおいて共通であるので、各検出メモリ１０７１〜１０７４中のデータの位置を示す検出メモリコントローラ１０９０からのアドレスは同じに出来る。つまり、検出メモリ１０７１〜１０７４から局所データを読み出すときに、その検出メモリ１つ１つに対して別々のアドレスを出力するのではなく、一度のアドレス出力で各検出メモリからのデータ読み出しが並列に行なわれ、また各統合処理手段１０５１Ａ〜１０５４Ａにおいて統合処理も並列に行なわれる。
【００４４】
各統合処理手段では上述したように、入力データの平均化や最大値検出等の処理を行なう。なおこのとき、統合処理手段制御信号の１１２１Ａ〜１１２４Ａの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号を順にイネーブルにして、統合処理手段１０５１Ａ〜１０５４Ａは処理結果を時分割でグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２４を制御して、グローバルデータ線上のデータを順に統合メモリ１０１１〜１０１４に保持する。この統合処理手段制御信号１１２１Ａ〜１１２４Ａのアウトプット信号のイネーブルと統合メモリ制御信号のメモリセレクト信号のイネーブルのタイミングを合わせることで、統合処理手段１０５１Ａの出力を統合メモリ１０１１に保持することが出来、また１０５２Ａの出力を１０１２に、１０５３Ａの出力を１０１３に、１０５４Ａの出力を１０１４に保持することが出来る。ここまでのステップで、統合メモリ１０１１は１次特徴量の縦方向を検出した結果を統合した結果を保持し、１０１２は横方向を検出した結果を統合した結果を保持し、１０１３は右上がり斜め方向を検出した結果を統合した結果を保持し、１０１４は右下がり斜め方向を検出した結果を統合した結果を保持することになる。
【００４５】
ステップＳ３０４では、２次特徴量検出を行なう。これは特徴検出層１０２(１,１)に対応する。ここでの２次特徴量とは、図４に示すようにＶ字（４−２−１，４−２−２）と円（４−２−３）であり、Ｖ字は受容野内での、１次特徴量の２つの斜め方向（４−１−３，４−１−４）の検出とその位置関係から検出可能であり、また円は受容野内での全ての１次特徴量の検出とその位置関係から検出可能である。つまり、複数種類の１次特徴量を組み合わせて、２次特徴量を検出することができる。これら２次特徴量の検出処理は検出処理手段１０４１Ｂ〜１０４３Ｂで行なわれる。統合メモリコントローラ１０１０は統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２４を制御して、統合メモリ１０１１〜１０１４から、そこに保持されている統合された１次特徴量の局所データを読み出し、グローバルデータ線１０３０に出力する。この時、統合メモリ制御信号１０２１〜１０２４のメモリセレクト信号のイネーブルを順に変更することで、この統合された１次特徴量の出力は、統合メモリ１０１１から１０１４へ順に行われる。つまり、グローバルデータ線１０３０を時分割して使用する。なお、ステップ３０２と同様、これらのデータは、並列に、それぞれ検出処理手段１０４１Ｂ〜１０４３Ｂに入力され、上述したそれぞれの２次特徴量を検出する。なおこのとき、検出すべき２次特徴量は３種類なので検出処理手段制御信号の１１１１Ｂ〜１１１３Ｂの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号をイネーブルにして、検出処理手段１０４１Ｂ〜１０４３Ｂは処理結果をローカルデータ線１０６１〜１０６３に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８３を制御して、各ローカルデータ線上のデータを検出メモリ１０７１〜１０７３に保持する。
【００４６】
続いてステップＳ３０５で、２次特徴量が統合される。これは特徴統合層１０３(２,１)に対応し、検出メモリ１０７１〜１０７３に保持されているデータを統合する。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８３を制御して、検出メモリ１０７１〜１０７３の局所データを読み出し、ローカルデータ線１０６１〜１０６３を介して、それぞれの局所データが統合処理手段１０５１Ｂ〜１０５３Ｂに入力される。各統合処理手段ではステップＳ３０３と同様に、入力データの平均化や最大値検出等の処理を行なう。なおこのとき、統合処理手段制御信号の１１２１Ｂ〜１１２３Ｂの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号を順にイネーブルにして、統合処理手段１０５１Ｂ〜１０５３Ｂは処理結果を時分割でグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２３を制御して、グローバルデータ線上のデータを統合メモリ１０１１〜１０１３に保持する。
【００４７】
ステップＳ３０６では、３次特徴量検出を行なう。これは特徴検出層１０２(１,２)に対応する。ここでの３次特徴量とは、図４に示すように眼（４−３−１）であり、そのためには、受容野内での全ての２次特徴量（Ｖ字（４−２−１，４−２−２）と円（４−２−３））の検出とその位置関係を見ればよい。つまり、複数種類の２次特徴量を組み合わせて、３次特徴量を検出することができる。これら３次特徴量の検出処理は検出処理手段１０４１Ｃで行なわれる。統合メモリコントローラ１０１０は統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２３を制御して、統合メモリ１０１１〜１０１３から、そこに保持されている統合された２次特徴量の局所データを読み出し、グローバルデータ線１０３０に出力する。この時、ステップＳ３０４と同様に、統合メモリ制御信号１０２１〜１０２３のメモリセレクト信号のイネーブルを順に変更することで、この統合された２次特徴量の出力は、統合メモリ１０１１から１０１３へ順に行われ、グローバルデータ線１０３０を時分割して使用する。そしてこれらのデータは、検出処理手段１０４１Ｃに入力され、上述した３次特徴量を検出する。なおこのとき、検出すべき３次特徴量は１種類なので検出処理手段制御信号の１１１１Ｃの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号をイネーブルにして、検出処理手段１０４１Ｃは処理結果をローカルデータ線１０６１に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１を制御して、ローカルデータ線上のデータを検出メモリ１０７１に保持する。
【００４８】
続いてステップＳ３０７で、３次特徴量が統合される。これは特徴統合層１０３(２,２)に対応し、検出メモリ１０７１に保持されているデータを統合する。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１を制御して、検出メモリ１０７１の局所データを読み出し、ローカルデータ線１０６１を介して、３次特徴量の局所データが統合処理手段１０５１Ｃに入力される。統合処理手段では、入力データの平均化や最大値検出等の処理が行なわれる。そして、処理の終了を示すエンド信号を見て、制御手段１０００はアウトプット信号を順にイネーブルにして、統合処理手段１０５１Ｃは処理結果をグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１を制御して、グローバルデータ線上のデータを統合メモリ１０１１に保持する。
【００４９】
そして、この統合メモリ１０１１に保持された結果が眼の検出の最終結果となる。なお、上記ステップＳ３０７を行なわずに、検出メモリ１０７１に保持されている結果を眼の検出結果としてもよい。
【００５０】
上記で説明したように、本実施形態で説明した発明によれば、ある特徴の検出処理とその検出結果の統合処理を、複数の特徴で行う際に容易に並列に行うことが出来、またそれらの処理を階層的に行うことも容易である。また、各検出結果や統合結果を一時メモリに保持し、その後そのメモリのアドレスを指定して結果をデータ線に出力して、各プロセッサに入力することで、複雑な受容野構造の処理においても配線が複雑になることを防ぐことが可能である。さらに、それら各処理の結果を読み出すことも可能であり、アドレッシングでメモリに保持された任意の位置の結果を読み出すことも可能である。
【００５１】
なお、本実施形態の検出処理手段や統合処理手段における処理は、ＤＳＰ等を用いてデジタル処理で行なう事も、アナログ回路で電流値やパルス幅等を変換するアナログ処理で行なう事も可能である。デジタル処理を行なう際は、メモリをデジタルメモリにし、データ線はバスとして構成される。アナログ処理であれば、メモリをアナログメモリにして値を電荷量等で保持し、また処理においては例えば値をパルス幅で表現して、処理はパルス幅変調で行うとすると、メモリのデータ入出力線にその電荷量をパルス幅に変更する回路やその逆を行う回路も構成すればよい。デジタル処理とアナログ処理のいずれにしろ、本発明の構成を用いれば、階層的パターン認識処理が容易に可能となる。
【００５２】
次に、本実施形態の構成に係るパターン検出（認識）装置を撮像装置に搭載させることにより、特定被写体へのフォーカシングや特定被写体の色補正、露出制御を行う場合について、図１２参照して説明する。図１２は実施形態に係るパターン検出（認識）装置を撮像装置に用いた例の構成を示す図である。
【００５３】
図１２において、撮像装置５１０１は、撮影レンズおよびズーム撮影用駆動制御機構を含む結像光学系５１０２、CCD又はＣＭＯＳイメージセンサー５１０３、撮像パラメータの計測部５１０４、映像信号処理回路５１０５、記憶部５１０６、撮像動作の制御、撮像条件の制御などの制御用信号を発生する制御信号発生部５１０７、EVFなどファインダーを兼ねた表示ディスプレイ５１０８、ストロボ発光部５１０９、記録媒体５１１０などを具備し、更に上述したパターン検出装置を被写体検出（認識）装置５１１１として備える。
【００５４】
この撮像装置５１０１は、例えば撮影された映像中から予め登録された人物の顔画像の検出(存在位置、サイズの検出)を被写体検出(認識)装置５１１１により行う。そして、その人物の位置、サイズ情報が被写体検出(認識)装置５１１１から制御信号発生部５１０７に入力されると、同制御信号発生部５１０７は、撮像パラメータ計測部５１０４からの出力に基づき、その人物に対するピント制御、露出条件制御、ホワイトバランス制御などを最適に行う制御信号を発生する。
【００５５】
上述したパターン検出(認識)装置を、このように撮像装置に用いて、人物検出とそれに基づく撮影の最適制御を行うことができるようになる。
【００５６】
（第２の実施形態）
図６は、本実施形態の構成を示す図である。
【００５７】
図６中、図１中の番号と同じ番号は同じものを示す。図６において、第1の実施形態と比較して新しい構成は、制御手段２０００、統合メモリコントローラ２０１０、サブグローバルデータ線２０３１〜２０３４、グローバルデータ線スイッチ２１３１〜２１３３、スイッチ制御線２２３１〜２２３３である。
【００５８】
つまり、第１の実施形態では、図１に示すグローバルデータバス１０３０には全ての統合メモリ１０１１〜１０１４、補助メモリ１０１５、全ての検出処理手段１０４１A〜１０４４C、全ての統合処理手段１０５１A〜１０５４Cが接続されていたのに対し、本実施形態では、１つのサブグローバルデータ線には、１つの統合メモリと複数の検出処理手段及び複数の統合処理手段もしくは補助メモリが接続されている。この１つのサブグローバルデータ線に接続される検出処理手段及び統合処理手段の数は、基本的には階層的処理の階層数である。例えば、本実施形態では、第１の実施形態同様３階層の階層的処理を想定して、サブグローバルデータ線２０３１には、統合メモリ１０１１、検出処理手段１０４１A〜C、統合処理手段１０５１A〜Cが接続されている。
【００５９】
また、グローバルデータ線スイッチ２１３１〜２１３３は、各サブグローバルデータ線２０３１〜２０３４のうちの隣接する２つと接続されている。スイッチ制御線２２３１〜２２３３は、各グローバルデータ線スイッチ２１３１〜２１３３と制御手段２０００とに接続されている。グローバルデータ線スイッチ２１３１〜２１３３は、スイッチ制御信号２２３１〜２２３３に基づいて、各サブグローバルデータ線２０３１〜２０３４を接続したり、切断したりする。
【００６０】
以下、本実施形態特有の動作について図６、７を用いて説明する。それ以外は実施形態１で説明したものと同様である。
【００６１】
補助メモリ１０１５に保持されているデータもしくは統合メモリ１０１１〜１０４４に保持されている処理結果を検出処理手段１０４１Ａ〜１０４４Ｃに入力する時は、制御手段２０００からのスイッチ制御信号２２３１〜２２３３に従い、図７（Ａ）に示すように、グローバルデータ線スイッチ２１３１〜２１３３はＯＮになり、サブグローバルデータ線２０３１〜２０３４が全て接続されるようになる。つまり、この状態では、実施形態１で説明した構成と実質的に同じになり、補助メモリ１０１５及び統合メモリ１０１１〜１０１４から出力されたデータは、並列に、それぞれ検出処理手段１０４１Ａ〜１０４４Ｃに入力される。
【００６２】
また、統合処理手段１０５１Ａ〜１０５４Ｃで処理された結果を統合メモリ１０１１〜１０１４に保持するときは、制御手段２０００からのスイッチ制御信号２２３１〜２２３３に従い、図７（Ｂ）に示すように、グローバルデータ線スイッチ２１３１〜２１３３はＯＦＦになり、サブグローバルデータ線２０３１〜２０３４が、分断されるようになる。つまり、この状態では、第１の実施形態で示したように統合処理手段１０５１〜１０５４Ａは処理結果を時分割で統合メモリ１０１１〜１０１４に保持する必要はなく、統合メモリコントローラ２０１０は時分割で統合メモリ１０１１〜１０１４に書き込む必要はなく、並列に各統合処理手段の処理結果を統合メモリに保持することが出来る。
【００６３】
以上説明したように、本実施形態では、補助メモリまたは統合メモリのデータを検出処理手段に並列に入力することが出来、また統合処理手段の処理結果を並列に各統合メモリに保持することができるので、第１の実施形態と同様の処理が可能で、かつ第１の実施形態と比較して処理時間の短縮が可能である。
【００６４】
（第３の実施形態）
図８は、本実施形態の構成を示す図である。
【００６５】
図８中、図１中の番号と同じ番号は同じものを示す。図８において、第１の実施形態と比較して新しい構成は、制御手段３０００、統合メモリコントローラ３０１０、グローバルデータ線３０３１〜３０３５、検出処理手段３０４１Ａ〜３０４４Ｃである。
【００６６】
つまり、第１の実施形態では、図１に示すグローバルデータバス１０３０には全ての統合メモリ１０１１〜１０１４、補助メモリ１０１５、全ての検出処理手段１０４１A〜１０４４C、全ての統合処理手段１０５１A〜１０５４Cが接続されていたのに対し、本実施形態では、ひとつのグローバルデータ線には、１つの統合メモリもしくは補助メモリと全ての検出処理手段及び複数の統合処理手段が接続されている。この１つのサブグローバルデータ線に接続される統合処理手段の数は、基本的には階層的処理の階層数である。例えば、本実施形態では、第１の実施形態同様３階層の階層的処理を想定して、グローバルデータ線３０３１には、統合メモリ１０１１、検出処理手段３０４１A〜３０４４C、統合処理手段１０５１A〜Cが接続されている。なお、図８には、グローバルデータ線３０３１〜３０３５と検出処理手段３０４１Ａ〜３０４４Ｃへの接続に関して、検出処理手段３０４１Ａ〜３０４４Ａのみ図示し、他は省略してある。
【００６７】
また、各検出処理手段は全てのグローバルデータ線３０３１〜３０３５から入力されるようになっている。このような構成にすることで、統合メモリ１０１１〜１０１４及び補助メモリ１０１５を並列に同作させてデータを読み出し、そして、検出処理手段３０４１Ａ〜３０４４Ｃに並列に入力が可能であり、また統合処理手段からの処理結果を並列に統合メモリ１０１１〜１０１４に保持することが出来る。
【００６８】
以下、本実施形態特有の動作について説明する。それ以外は実施形態１で説明したものと同様である。
【００６９】
補助メモリ１０１５に保持されているデータもしくは統合メモリ１０１１〜１０４４に保持されている処理結果を検出処理手段３０４１Ａ〜３０４４Ｃに入力する時は、統合メモリコントローラ３０１０からの統合メモリ制御信号１０２１〜１０２４もしくは補助メモリ制御信号１０２５に従って並列に動作させ、統合メモリ１０１１〜１０１４はデータをグローバルデータ線３０３１〜３０３４へ出力し、補助メモリ１０１５はデータをグローバルデータ線３０３５へ出力する。このとき、統合メモリ１０１１はグローバルデータ線３０３１へ、１０１２は３０３２へ、１０１３は３０３３へ、１０１４は３０３４へ出力する。そして、各検出処理手段３０４１Ａ〜３０４４Ｃは全てのグローバルデータ線３０３１〜３０３５から入力されるようになっているので、並列に各検出処理手段にデータが入力される。
【００７０】
また、統合処理手段１０５１〜１０５４で処理された結果を統合メモリ１０１１〜１０１４に保持するときは、例えば統合処理手段１０５１Ａ〜Ｃはグローバルデータ線３０３１へ出力するように、また統合処理手段１０５２Ａ〜Ｃはグローバルデータ線３０３２へ出力するようになっているので、並列に各統合メモリ１０１１〜１０１４へデータを保持することが出来る。
【００７１】
以上説明したように、本実施形態では、補助メモリまたは統合メモリのデータを検出処理手段に並列に入力することが出来、また統合処理手段の処理結果を並列に各統合メモリに保持することができるので、第１の実施形態と同様の処理が可能で、かつ第１、第２の実施形態と比較して処理時間の短縮が可能である。
【００７２】
（第４の実施形態）
図９が本実施形態の構成を示す図である。
【００７３】
図９中、図１中の番号と同じ番号は同じものを示す。図９において、第１の実施形態と比較して新しい構成は、制御手段４０００、可変検出処理手段４０４１〜４０４４、可変統合処理手段４０５１〜４０５４、回路構成情報記憶手段４１１０、回路構成制御手段４１２０、及び可変検出処理手段制御信号４１１１〜４１１４、可変統合処理手段制御信号４１２１〜４１２４である。なお、この図９では、これらの信号については、可変検出処理手段制御信号４１１１のみ図示してあとは省略してある。
【００７４】
つまり、第１の実施形態では、認識処理に必要な各処理手段を全て用意し（検出処理手段及び統合処理手段）、それらの中から、その時点で使用する処理手段を制御手段からの選択信号で選択していたのに対し、本実施形態では、並列に動作する数の可変検出処理手段、及び可変統合処理手段とから構成されている。
【００７５】
可変検出処理手段４０４１〜４０４４、及び可変統合処理手段４０５１〜４０５４は、ＦＰＧＡ（Field Programmable Gate Array）と呼ばれるユーザが任意の論理を構成できるように、複数個の回路ブロックと配線ブロックから成るロジックＩＣ、もしくはＦＰＡＡ（E.Lee,P.Gulak, 1991, “A CMOS Field-Programmable Analog Array”,IEEE JOURNAL OF SOLID-STATE CIRCUITS,Vol.26,No.12,pp.1860-1867）と呼ばれるユーザがアナログブロック回路を結ぶ配線や乗算の係数となるコンデンサの電荷保持量等を変更して任意のアナログ処理が行なえるアナログＩＣである。そして、それらの処理手段が任意の処理を行なえるような構成にするための回路構成の情報を記憶しているのが、回路構成情報記憶手段４１１０である。また、その回路構成情報にしたがって、各処理手段を制御して、回路構成を変更するのが、回路構成制御手段４１２０である。つまり、回路構成制御手段４１２０からの回路構成制御信号に基づいて、可変検出処理手段４０４１〜４０４４、及び可変統合処理手段４０５１〜４０５４は制御され、回路構成情報記憶手段４１１０からの回路構成情報信号の回路構成に再構成される。
【００７６】
以下、本実施形態の動作について図９〜図１１を用いて説明する。図１０は本実施形態の動作を示すフローチャートである。ここでは、第１の実施形態同様、眼を検出する例を示す。
【００７７】
図１０のステップＳ９０１において、画像が補助メモリ１０１５に入力される。続いてステップＳ９０２において、制御手段４０００からの信号により、回路構成情報記憶手段４１１０から回路構成情報信号が出力され、また回路構成制御手段４１２０から回路構成制御信号が出力され、それぞれの信号に基づいて、可変検出処理手段４０４１〜４０４４の回路が構成される。なおここで、構成される回路は、眼の検出における１次特徴量（図４参照）を検出する回路である。
【００７８】
ステップＳ９０３では眼の１次特徴量を検出するように構成された可変検出処理手段４０４１〜４０４４を用いて、１次特徴量を検出する。統合メモリコントローラ１０１０は補助メモリ制御信号１０２５を制御して、補助メモリ１０１５から画像の局所データを読み出し、グローバルデータ線１０３０に出力する。そして、それらは並列に、それぞれ各可変検出処理手段４０４１〜４０４４に入力され、１次特徴量を検出する。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号をイネーブルにして、可変検出処理手段４０４１〜４０４４は処理結果をローカルデータ線１０６１〜１０６４に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８４を制御して、ローカルデータ線上のデータを検出メモリ１０７１〜１０７４に保持する。
【００７９】
ステップＳ９０４では、制御手段４０００からの信号により、回路構成情報記憶手段４１１０から回路構成情報信号が出力され、また回路構成制御手段４１２０から回路構成制御信号が出力され、それぞれの信号に基づいて、可変統合処理手段４０５１〜４０５４の回路が構成される。なおここで、構成される回路は、検出した１次特徴量を、局所平均化、最大出力検出等によるサブサンプリングなどの演算によって統合する回路である。
【００８０】
ステップＳ９０５では、１次特徴量を統合するように構成された可変統合処理手段４０５１〜４０５４を用いて１次特徴量が統合される。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８４を制御して、検出メモリ１０７１〜１０７４の局所データを読み出し、ローカルデータ線１０６１〜１０６４を介して、それぞれの局所データが可変統合処理手段４０５１〜４０５４に入力され、1次特徴量が統合される。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号を順にイネーブルにして、可変統合処理手段４０５１〜４０５４は処理結果を時分割でグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２４を制御して、グローバルデータ線上のデータを統合メモリ１０１１〜１０１４に保持する。
【００８１】
ステップＳ９０６では、ステップＳ９０２と同様に、回路構成情報信号や回路構成制御信号に基づいて、可変検出処理手段４０４１〜４０４４の回路が再構成される。なおここで、構成される回路は、眼の検出における２次特徴量（図４参照）を検出する回路である。（なお２次特徴量は３種類であるので、可変検出処理手段４０４１〜４０４３のみ再構成される。）
ステップＳ９０７では、２次特徴量を検出するように再構成された可変検出処理手段４０４１〜４０４３を用いて、２次特徴量の検出を行なう。統合メモリコントローラ１０１０は統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２４を制御して、統合メモリ１０１１〜１０１４から、そこに保持されている統合された１次特徴量の局所データを読み出し、グローバルデータ線１０３０に出力する。これらのデータは、並列に、それぞれ可変検出処理手段４０４１〜４０４３に入力され、上述したそれぞれの２次特徴量を検出する。なおこのとき、検出すべき２次特徴量は３種類なので可変検出処理手段制御信号の４１１１〜４１１３の処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号をイネーブルにして、可変検出処理手段４０４１〜４０４３は処理結果をローカルデータ線１０６１〜１０６３に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８３を制御して、ローカルデータ線上のデータを検出メモリ１０７１〜１０７３に保持する。
【００８２】
ステップＳ９０８では、回路構成情報信号や回路構成制御信号の信号に基づいて、可変統合処理手段４０５１〜４０５３の回路が再構成される。なおここで、再構成される回路は、検出した１次特徴量を、局所平均化、最大出力検出等によるサブサンプリングなどの演算によって統合する回路である。なお、ステップＳ９０４による回路構成がそのまま使える場合には、このステップＳ９０８を実行する必要がないことは言うまでもない。
【００８３】
ステップＳ９０９では、再構成された可変統合処理手段４０５１〜４０５３によって、２次特徴量が統合される。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１〜１０８３を制御して、検出メモリ１０７１〜１０７３の局所データを読み出し、ローカルデータ線１０６１〜１０６３を介して、それぞれの局所データが可変統合処理手段４０５１〜４０５３に入力される。各可変統合処理手段では入力データの平均化や最大値検出等の処理を行なう。なおこのとき、可変統合処理手段制御信号の４１２１〜４１２３の処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号を順にイネーブルにして、可変統合処理手段４０５１〜４０５３は処理結果を時分割でグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２３を制御して、グローバルデータ線上のデータを統合メモリ１０１１〜１０１３に保持する。
【００８４】
ステップＳ９１０では、回路構成情報信号と回路構成制御信号に基づいて、可変検出処理手段４０４１の回路が再構成される。なおここで、構成される回路は、眼の検出における３次特徴量（図４参照）を検出する回路である。
【００８５】
ステップＳ９１１では、再構成された可変検出処理手段４０４１で、３次特徴量検出を行なう。統合メモリコントローラ１０１０は統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１〜１０２３を制御して、統合メモリ１０１１〜１０１３から、そこに保持されている統合された２次特徴量の局所データを読み出し、グローバルデータ線１０３０に出力する。そしてこれらのデータは、可変検出処理手段４０４１に入力され、上述した３次特徴量を検出する。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号をイネーブルにして、可変検出処理手段４０４１は処理結果をローカルデータ線１０６１に出力する。同時に、検出メモリコントローラ１０９０は、検出アドレス線１０８０にアドレスを出力し、また検出メモリ制御信号１０８１を制御して、ローカルデータ線上のデータを検出メモリ１０７１に保持する。
【００８６】
ステップＳ９１２では、回路構成情報信号と回路構成制御信号に基づいて、可変統合処理手段４０５１の回路が再構成される。なお、ステップＳ９０４による回路構成がそのまま使える場合には、このステップＳ９１２を実行する必要がないことは言うまでもない。
【００８７】
ステップＳ９１３では、再構成された可変統合処理手段４０５１で、３次特徴量が統合される。検出メモリコントローラ１０９０は、検出アドレス線１０８０上にアドレスを出力し、また検出メモリ制御信号１０８１を制御して、検出メモリ１０７１の局所データを読み出し、ローカルデータ線１０６１を介して、３次特徴量の局所データが可変統合処理手段４０５１に入力され、統合処理が行なわれる。そして、処理の終了を示すエンド信号を見て、制御手段４０００はアウトプット信号を順にイネーブルにして、可変統合処理手段４０５１は処理結果をグローバルデータ線１０３０に出力する。同時に、統合メモリコントローラ１０１０は、統合アドレス線１０２０にアドレスを出力し、また統合メモリ制御信号１０２１を制御して、グローバルデータ線上のデータを統合メモリ１０１１に保持する。
【００８８】
そして、この統合メモリ１０１１に保持された結果が眼の検出の最終結果となる。なお、上記ステップＳ９１３を行なわずに、検出メモリ１０７１に保持されている結果を眼の検出結果としてもよい。
【００８９】
なお、上記の説明では、可変検出処理手段の検出処理の後に、可変統合処理手段の再構成を、また可変統合処理手段の統合処理の後に、可変検出処理手段の再構成を行なうように説明したが、可変検出処理手段と可変統合処理手段は同時には処理を行なわないので、図１１に示すように、可変検出処理手段の検出処理と可変統合処理手段の再構成、また可変統合処理手段の統合処理と可変検出処理手段の再構成は同時に行なうことが出来る。なお図１１において、横軸は動作の流れを示し、図中で検出と書いてあるのは検出処理であり、統合と書いてあるのは統合処理である、また、構成・再構成と書いてあるのは回路の構成・再構成を行なっていることを示す。
【００９０】
以上説明したように、本実施形態では、回路構成が可変な処理手段を用い、各階層での処理に応じて回路を再構成して使用するので、第１の実施形態と同様の認識処理が可能で、かつ第１の実施形態と比較して処理手段の回路規模の縮小が可能である。またこの構成であれば、検出処理手段と統合処理手段の処理と再構成を交互に行なう事が出来るので、全体の処理時間の増加をおさえることが可能である。
【００９１】
なお、本実施形態と第２、第３の実施形態を組み合わせることも可能である。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、共有データ線と局所データ線、及びメモリを利用することで、複雑な配線を用いずに単純な回路構成で、複数の処理手段で処理されて得られた複数の結果に対し、さらに複数の処理手段で並列処理を行なうといった階層的処理を並列に実行可能となるという効果がある。
【００９３】
検出処理においては、複数の所定の検出処理手段に対して同一のデータを入力することで並列動作が可能であり、更にまた各検出処理の処理結果を空間的に統合する統合処理においては、それぞれ別の特徴検出の結果を保持している複数の検出メモリに対して、それぞれのメモリ中の位置を示すアドレスを共通に用いることで、統合処理を並列に行なえるという効果がある。また、これらの検出・統合処理手段を何回でも繰り返すことが出来るという効果がある。
【００９４】
また、各階層の中間結果をメモリから読み出すことも可能であり、例えば、その中間結果を見て、その前段階の処理を変更するということも可能になる。また、回路構成可能な手段を使用した場合に、検出処理と統合処理、検出処理回路の再構成と統合処理回路の再構成を交互に行うことで、処理時間の増加を防ぐという効果もある。
【図面の簡単な説明】
【図１】第１の実施形態の構成を示す図である。
【図２】  Convolutionalネットワーク構造を説明する図である。
【図３】第１の実施形態の動作を説明するフローチャートである。
【図４】特徴量を示す図である。
【図５】特徴量検出の例を示す図である。
【図６】第２の実施形態の構成を示す図である。
【図７】第２の実施形態の動作の概念を示す図である。
【図８】第３の実施形態の構成を示す図である。
【図９】第４の実施形態の構成を示す図である。
【図１０】第４の実施形態の動作を説明するフローチャートである。
【図１１】第４の実施形態の再構成と処理のタイミングを示す図である。
【図１２】実施形態に係るパターン認識装置を撮像装置に用いた例の構成を示す図である。
【図１】
0004846924.tif 000002
【図２】
0004846924.tif 000003
【図３】
0004846924.tif 000004
【図４】
0004846924.tif 000005
【図５】
0004846924.tif 000006
【図６】
0004846924.tif 000007
【図７】
0004846924.tif 000008
【図８】
0004846924.tif 000009
【図９】
0004846924.tif 000010
【図１０】
0004846924.tif 000011
【図１１】
0004846924.tif 000012
【図１２】
0004846924.tif 000013