JP2004157754A - Pattern recognition device - Google Patents

Pattern recognition device Download PDF

Info

Publication number
JP2004157754A
JP2004157754A JP2002322716A JP2002322716A JP2004157754A JP 2004157754 A JP2004157754 A JP 2004157754A JP 2002322716 A JP2002322716 A JP 2002322716A JP 2002322716 A JP2002322716 A JP 2002322716A JP 2004157754 A JP2004157754 A JP 2004157754A
Authority
JP
Japan
Prior art keywords
detection
integrated
memory
processing
processing means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002322716A
Other languages
Japanese (ja)
Inventor
Katsuhiko Mori
克彦 森
Masakazu Matsugi
優和 真継
Hirosuke Mitarai
裕輔 御手洗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002322716A priority Critical patent/JP2004157754A/en
Publication of JP2004157754A publication Critical patent/JP2004157754A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a pattern recognition device which performs hierarchical processing with simple circuit configuration. <P>SOLUTION: This pattern recognition device is provided with: a plurality of detection processing means 1041, 1042... each for detecting one different characteristic with respect to the same input; a plurality of integration processing means 1051, 1052... for spatially integrating the detected plurality of characteristics for each processing result; a plurality of detection memories 1071, 1072... for storing the detection results; a plurality of integrated memories 1011 , 1012... for storing the integration processing results; a shared data line 1030 to which a predetermined detection processing means and the integrated memories are connected in a predetermined timing; and a plurality of local data lines 1061, 1062... to each of which the prescribed detection processing means, the integration processing means and the detection memories are connected. Then, the detection processing results are inputted from the plurality of detection memories to the integration processing means, and the integration processing results are inputted from the integrated memories to the plurality of detection processing means, and ferroelectric materials are used for the detection memories and/or integrated memories. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、神経回路網等の並列演算処理により、パターン認識・特定被写体の検出等を行なうパターン認識装置の回路構成に関するものである。
【0002】
【従来の技術】
従来より、画像認識や音声認識の分野においては、特定の認識対象に特化した認識処理アルゴリズムをコンピュータソフトとして逐次演算して実行するタイプ、或いは専用並列画像処理プロセッサ(SIMD、MIMDマシン等)を用いたハードウェアにより実行するタイプに大別される。
【0003】
例えば専用並列処理プロセッサに関しては、特開平6−6793に開示される物体識別装置は、画像処理プロセッサユニットを複数用意し、それらのプロセッサユニットに搭載されているDSPで演算処理を行い、それらの複数の結果を別のユニットに転送して、物体識別を行なっている。例えば、画像を複数の領域にわけ、各プロセッサプロセッサで各領域の処理を並列に行ない、別のプロセッサユニットで物体の識別の推論をニューラルネットワークやファジイ制御を用いて行うものである。
【0004】
また、ニューラルネットによる階層並列処理を行なうハードウェアとして、特許2679730号公報に開示される階層構造ニューラルネットは、単層のハードウェアを時分割多重化使用して多層化することを可能とする階層構造ニューラルネットのアーキテクチャであり、単層のハードウェアを時分割多重化使用して等価的に多層化することを可能とすることを目的とし、複数のニューロンモデルを相互に接続することにより形成されるニューラルネットにおいて、時分割多重化アナログ信号を外部からのデジタル重みデータとの積を生成し、かつその積を時分割的にコンデンサを介して加えることにより積分し、非線形出力関数を通した電圧を時分割的に出力することを可能とするニューロンモデルのユニットを複数設置して単層のユニット集合を形成する単層ユニット集合手段と、前記単層ユニット集合手段の出力を同じ単層ユニット集合の入力部に帰還する帰還手段と、前記単層ユニット集合手段から出力される各ユニットからのアナログ信号を時分割多重化し、さらに前記帰還手段を介して前記単層ユニット集合手段を時分割多重使用するための制御を実行する制御手段とを有し、単層構造のユニット集合手段を時分割多重使用することにより等価的に階層構造のニューラルネットを形成するように構成されている。
【0005】
また、FPGA(Field Programming Gate Array)を用いたハードウェアとして、USP5892962で紹介されているプロセッサがある。このプロセッサは、各FPGAにメモリを保持し、FPGAでの処理結果をメモリに保持し、そのメモリの結果を読み出して、処理を行うものである。
【0006】
【発明が解決しようとする課題】
上記、認識処理アルゴリズムを実行するハードウェアの従来例で示した、特開平6−6793に開示される物体識別装置では、各画像処理プロセッサユニットに割り当てられた領域に対して、さらにそれらを分割した小領域から元の領域へと数段階にわたる処理は可能であるが、処理されて得られた複数の結果に対し、さらにまた別の複数のプロセッサユニットで並列処理を行なうといった階層的処理を行なうことは出来なかった。また、処理の結果を読み出すことも出来なかった。さらに、各領域の結果を空間的に統合するということも出来なかった。
【0007】
また、特許2679730号公報に開示される階層的ニューラルネットワークにおいては、層間結合を任意に可変制御する手段を有していないために実質的に実現可能な処理の種類が極めて限定的になるという問題があった。
【0008】
また、USP5892962に開示されるFPGA−BASED PROCESSORでは、メモリに保持された中間結果を読み出すのに、複雑な配線が必要である。
【0009】
そこで本発明の目的は、複雑な配線を用いずに単純な回路構成で、複数の処理手段で処理されて得られた複数の結果に対し、さらに複数の処理手段で並列処理を行なうといった階層的処理を行なうことが出来、また各処理の処理結果を空間的に統合することが出来、また各処理の結果を容易に読み出すことが可能なパターン認識装置を提供することである。
【0010】
【課題を解決するための手段】
そこで、上記目的を実現するために、本発明によれば、入力信号の中に含まれる所定のパターンを検出するパターン認識装置に、同一の入力に対しそれぞれ異なる1つの特徴を検出するための複数の検出処理手段と、前記複数の検出処理手段で検出された特徴を、各処理結果毎に、空間的に統合する複数の統合処理手段と、前記検出処理手段の処理結果を保持する複数の検出メモリと、前記統合処理手段の処理結果を保持する複数の統合メモリと、所定のタイミングで所定の前記検出処理手段及び所定の前記統合メモリが接続される共有データ線と、それぞれ所定の前記検出処理手段と前記統合処理手段と前記検出メモリとが接続される複数の局所データ線とを有し、前記統合処理手段に、複数の前記検出メモリに保持された前記検出処理手段の処理結果を読み出して入力するようにし、前記統合メモリに保持された前記統合処理手段の処理結果を読み出して、複数の前記検出処理手段に入力するように動作し、前記検出メモリ及び/または統合メモリが、強誘電体材料を用いた素子から構成されているメモリであることを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態について、図を用いて説明する。
【0012】
(第1の実施の形態)
図1が本実施形態の構成を示す図である。
【0013】
図1において、1000は制御手段を、1010は統合メモリコントローラを、1011から1014は統合メモリを、1015は補助メモリを、1020は統合アドレス線を、1021から1024は統合メモリ制御信号を、1025は補助メモリ制御信号を、1030はグローバルデータ線を、1041Aから1044Cは検出処理手段を、1051Aから1054Cは統合処理手段を、1061から1064はローカルデータ線を、1071から1074は検出メモリを、1080は検出アドレス線を、1081から1084は検出メモリ制御信号を、1090は検出メモリコントローラを、1111Aから1114Cは検出処理手段制御信号を、1121Aから1124Cは統合処理手段制御信号を示す。なお、この検出処理手段制御信号と統合処理手段制御信号に関しては、図に全て記載せずに、検出処理手段制御信号1111Aから1111Cのみ記載してある。また、1130及び1161から1164は外部I/Fを示す。
【0014】
以下図1中のそれぞれの構成要素の機能を説明する。
【0015】
制御手段1000は、この回路全体の制御を行なう手段であり、後述する統合メモリコントローラ1010、各検出処理手段1041A〜1044C、各統合処理手段1051A〜1054C、及び検出メモリコントローラ1090と通信し、使用する認識アルゴリズムに基づいて、これらの各手段を制御することで、認識動作を行なう。
【0016】
統合メモリコントローラ1010は、統合メモリ1011〜1014及び補助メモリ1015のメモリを制御して、これらのメモリからデータをグローバルデータ線1030に出力したり、またグローバルデータ線1030上のデータを統合メモリ1011〜1014または補助メモリ1015に書き込む。具体的には、統合アドレス線1020にアドレスを出力し、さらに動作させるメモリを選択するチップセレクト信号や書き込み・読み出しの区別をするライトイネーブル信号等の統合メモリ制御信号1021〜1024、補助メモリ制御信号1025を制御することで、上記の動作を行なう。なお、アドレスを複数発生する時は、例えば制御手段1000から先頭・最終アドレス並びにステップ数を統合メモリコントローラ1010に設定し、先頭アドレス値を設定したカウンタを最終アドレスまで、前記ステップ数でカウントアップすることで対応出来る。つまり、このアドレスの発生を様々に変化させることで、統合メモリ1011〜1014、補助メモリ1015の任意の領域のデータの読み出し・書き込みが出来るので、配線問題を回避することが出来る。
【0017】
統合メモリ1011〜1014は、後述する統合処理手段1051A〜1054Cの処理結果を保持するメモリである。これらは、それぞれグローバルデータ線1030に接続されており、統合メモリ制御信号1021〜1024に基づいて保持している結果をグローバルデータ線1030に出力したり、グローバルデータ線1030上の統合処理手段1051A〜1054Cの処理結果を取り込む。
【0018】
補助メモリ1015は、画像などの認識すべき信号等を一時的に保持するメモリである。このメモリも統合アドレス線1020並びにグローバルデータ線1030に接続されており、統合メモリコントローラ1010からの補助メモリ制御信号1025に基づいて保持している信号をグローバルデータ線1030に出力したり、グローバルデータ線1030上のデータを取り込む。
【0019】
統合アドレス線1020には、統合メモリ1011〜1014並びに補助メモリ1015のアドレスを示す信号が統合メモリコントローラ1010から出力される。このアドレスを変化させることで、配線問題を回避し、統合メモリ1011〜1014に保持された各処理の結果を容易に読み出すことが可能で、各検出処理手段1041A〜1044Cでそれらの結果を組み合わせた信号に対する処理を行なうことが出来る。
【0020】
統合メモリ制御信号1021〜1024は、統合メモリ1011〜1014の選択や書き込み・読み出しの区別・制御等を行なう信号である。メモリの選択を時分割で行なうことで、読み出し時にはグローバルデータ線1030に各統合メモリ1011〜1014のデータを時分割で出力することが出来、また書き込み時には、統合処理手段制御信号1121A〜1124Cとタイミングを合わせて切り替えることで、グローバルデータ線1030上に出力された各統合処理手段の処理結果を各統合メモリ1011〜1014に保持することが出来る。
【0021】
補助メモリ制御信号1025は、補助メモリ1015の選択や書き込み・読み出しの区別・制御等を行なう信号である。
【0022】
グローバルデータ線1030は、統合メモリ1011〜1014、検出処理手段1041A〜1044C、統合処理手段1051A〜1054C、及び補助メモリ1015と接続されている。そのため、統合メモリ1011〜1014のデータが各検出処理手段1041A〜1044Cに並列に入力され、また時分割処理により、各統合処理手段1051A〜1054Cからの処理結果が、各統合メモリ1011〜1014に時分割で書き込まれる。
【0023】
各検出処理手段1041A〜1044Cは、認識処理に必要な各処理(例えば、エッジ検出等)をそれぞれ担当している。つまり、本発明の装置では、それら各検出処理手段の処理を組み合わせて全体として認識処理を行なっている。
【0024】
検出処理手段1041A〜1044Cは、グローバルデータ線1030を介して入力されたデータに対して処理を行いその結果を、それぞれローカルデータ線1061〜1064に出力する。なお、検出処理手段1041A、1041B,1041Cの処理結果はローカルデータ線1061に出力されるようになっており、また検出処理手段1042A〜1042Cの処理結果はローカルデータ線1062に出力されるようになっている。以下他の検出処理手段も同様である。
【0025】
検出処理手段1041A〜1044Cには、グローバルデータ線1030を介して同じ信号が入力される。その入力信号に対し、各検出処理手段は異なった処理を行なう。その結果を例えば検出処理手段1041Aであれば、ローカルデータ線1061に出力して、その結果を検出メモリ1071に保持する。同様に各検出処理手段の処理の結果は、異なった検出メモリ1071〜1074に保持される。ここで、どの検出処理手段が動作するかを示すのが、制御手段1000からの検出処理手段制御信号1111A〜1114Cである。この検出処理手段制御信号1111Aは検出処理手段1041Aに接続され、また1111Bは1041Bに接続され、以下同様に接続される。(なお、図1には、検出処理手段制御信号1111A〜1111Cのみ示してある。)
例えば、あるタイミングでは、検出処理手段制御信号1111A、1112A、1113A、1114Aがイネーブルになり、その結果、検出処理手段1041A、1042A、1043A、1044Aが動作し、それぞれの検出処理手段の処理結果をそれぞれローカルデータ線1061〜1064を介して、検出メモリ1071〜1074に保持する。また別のタイミングでは、別の検出処理手段制御信号がイネーブルになる。
【0026】
統合処理手段1051Aから1054Cは、それぞれローカルデータ線1061〜1064を介して入力されたデータに対して統合処理を行い、その結果をグローバルデータ線1030に出力する。なお、統合処理手段1051A〜1051Cへの入力はローカルデータ線1061から、1052A〜1052Cは1062より、1053A〜1053Cは1063より、1054A〜1054Cは1064より行なわれる。また、制御手段1000からの統合処理手段制御信号1121A〜1124C(図1には不図示)の処理手段セレクト信号のイネーブルで、動作する統合処理手段1051A〜1054Cを選択する。また、この統合処理手段制御信号1121A〜1124Cのアウトプット信号で、各統合処理手段1051A〜1054Cの処理結果をグローバルデータ線1030に出力するタイミングを制御する。
【0027】
つまり、例えば、あるタイミングでは、統合処理手段制御信号1121A、1122A、1123A、1124Aの処理手段セレクト信号がイネーブルになり、その結果、統合処理手段1051A、1052A、1053A、1054Aが動作する、そして、アウトプット信号に基づいて、グローバルデータ線1030にその処理結果を、例えば統合処理手段1051Aから順に出力する。そのとき、タイミングを合わせて、統合メモリコントローラ1010を制御することで、グローバルデータ線1030上のデータを統合メモリ1011から順に保持することが出来る。
【0028】
ローカルデータ線1061は、検出メモリ1071、検出処理手段1041A〜1041C、統合処理手段1051A〜1051Cと接続されている。また、ローカルデータ線1062は、検出メモリ1072、検出処理手段1042A〜1042C、統合処理手段1052A〜1052Cと接続されている。ローカルデータ線1063、1064も同様である。そのため、検出処理手段1041A〜1041Cからの処理結果が検出メモリ1071に、検出処理手段1042A〜1042Cからの処理結果が検出メモリ1072に、検出処理手段1043A〜1043Cからの処理結果が検出メモリ1073に、検出処理手段1044A〜1044Cからの処理結果が検出メモリ1074に保持されるようになっている。また検出メモリ1071のデータは統合処理手段1051A〜1051Cに、検出メモリ1072のデータは統合処理手段1052A〜1052Cに、と各検出メモリのデータが別々の統合処理手段に並列に入力されるようになっている。
【0029】
検出メモリ1071は、検出処理手段1041A〜1041Cからの処理結果を、また検出メモリ1072は、検出処理手段1041A〜1041Cからの処理結果を保持するメモリである。検出メモリ1073、検出メモリ1074も同様である。検出メモリ1071はローカルデータ線1061に、1072は1062に、1073は1063に、1074は1064に接続されており、検出メモリ制御信号1081〜1084に基づいて保持している結果をそれぞれのローカルデータ線1061〜1064に出力したり、ローカルデータ線1061〜1064上の検出処理手段1041A〜1044Cの処理結果を取り込む。
【0030】
検出アドレス線1080には、検出メモリ1071〜1074のアドレスを示す信号が検出メモリコントローラ1090から出力される。このアドレスを変化させることで、配線問題を回避し、容易に検出メモリ1071〜1074に保持された任意の位置の各処理の結果を読み出し、各統合処理手段1051A〜1054Cで各領域の結果に対する処理を行なうことが出来る。
【0031】
検出メモリ制御信号1081〜1084は、検出メモリ1071〜1074の選択や書き込み・読み出しの区別・制御等を行なう信号である。
【0032】
検出メモリコントローラ1090は、検出メモリ1071〜1074のメモリを制御して、これらのメモリからデータをローカルデータ線1061〜1064に出力したり、またローカルデータ線1061〜1064上のデータをメモリに書き込む。具体的には、検出アドレス線1080にアドレスを出力し、さらに動作させるメモリを選択するチップセレクト信号や書き込み・読み出しの区別をするライトイネーブル信号等の統合メモリ制御信号1081〜1084を制御することで、上記の動作を行なう。
【0033】
検出処理手段制御信号1111A〜1114Cは、検出処理手段1041A〜1044Cと制御手段1000との通信に使用される。検出処理手段1041A〜1044Cの中で、動作する処理手段を選択する処理手段セレクト信号や処理結果のローカルデータ線1061〜1064への出力の許可を示すアウトプット信号、また各検出処理手段1041A〜1044Cでの処理の終了を示すエンド信号等から構成される。
【0034】
統合処理手段制御信号1121A〜1124Cは、統合処理手段1051A〜1054Cと制御手段1000との通信に使用される。統合処理手段1051A〜1054Cの中で、動作する処理手段を選択する処理手段セレクト信号や処理結果のグローバルデータ線1030への出力の許可を示すアウトプット信号、また各統合処理手段1051A〜1054Cでの処理の終了を示すエンド信号等から構成される。
【0035】
また、外部I/F1130、1161、1162、1163、1164はそれぞれグローバルデータ線1030、ローカルデータ線1061、1062、1063、1064と接続されており、これらの外部I/Fを介して、統合処理手段1051A〜1054Cの処理結果や検出処理手段1041A〜1044Cの処理結果をそれら処理手段の動作中や、または統合メモリ1011〜1014、検出メモリ1071〜1074に保持されている途中処理結果を外部へ取り出すことが出来る。
【0036】
続いて、図1に示す構成の動作を、並列階層処理により画像認識を行う神経回路網を形成した場合について説明する。はじめに図2を参照して神経回路網の処理内容を詳細に説明する。この神経回路網は、入力データ中の局所領域において、対象または幾何学的特徴などの認識(検出)に関与する情報を階層的に扱うものであり、その基本構造はいわゆる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)である。最終層(最上位層)からの出力は認識結果としての認識された対象のカテゴリとその入力データ上の位置情報である。
【0037】
データ入力層101は、CMOSセンサ、或いはCCD素子等の光電変換素子からの局所領域データを入力する層である。最初の特徴検出層102(1,0)は、データ入力層101より入力された画像パターンの局所的な低次の特徴(特定方向成分、特定空間周波数成分などの幾何学的特徴のほか色成分特徴を含んでもよい)を全画面の各位置を中心として局所領域(或いは、全画面にわたる所定のサンプリング点の各点を中心とする局所領域)において同一箇所で複数のスケールレベル又は解像度で複数の特徴カテゴリの数だけ検出する。
【0038】
特徴統合層103(2,0)は、所定の受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)を有し、特徴検出層102(1,0)からの同一受容野内にある複数のニューロン素子出力の統合(局所平均化、最大出力検出等によるサブサンプリングなどの演算)を行う。この統合処理は、特徴検出層102(1,0)からの出力を空間的にぼかすことで、位置ずれや変形などを許容する役割を有する。また、特徴統合層内のニューロンの各受容野は同一層内のニューロン間で共通の構造を有している。
【0039】
後続の層である各特徴検出層102((1,1)、(1,2)、・・・、(1,M))及び各特徴統合層103((2,1)、(2,2)、・・・、(2,M))は、上述した各層と同様に前者((1,1)、・・・)は、各特徴検出モジュールにおいて複数の異なる特徴の検出を行い、後者((2,1)、・・・)は、前段の特徴検出層からの複数特徴に関する検出結果の統合を行う。但し、前者の特徴検出層は前段の特徴統合層の細胞素子出力を受けるように結合(配線)されている。特徴統合層で行う処理であるサブサンプリングは、同一特徴カテゴリの特徴検出細胞集団からの局所的な領域(当該特徴統合層ニューロンの局所受容野)からの出力についての平均化などを行うものである。
【0040】
更に図1〜図5を用いて、具体的な一例として、入力画像から眼を検知する処理における動作を説明する。
【0041】
図3は、入力画像から眼を検知するフローチャートである。ステップS301において、画像が補助メモリ1015に入力される。これが、データ入力層101に対応する。続いてステップS302において、1次特徴量が検出される。眼の検出における1次特徴量は例えば図4に示すものである。つまり、縦(4−1−1)・横(4−1−2)・右上がり斜め(4−1−3)・右下がり斜め(4−1−4)といった特定方向の特徴を抽出する。
【0042】
なお、先に述べると、2次特徴量は、右空きV字(4−2−1)、左空きV字(4−2−2)、円(4−2−3)であり、また3次特徴量が眼(4−3−1)である。これらのそれぞれの特徴量を検出するように、検出処理手段1041A〜1044Cは構成されており、検出処理手段1041Aは1次特徴量の縦(4−1−1)を、1042Aは横(4−1−2)を、1043Aは右上がり斜め(4−1−3)を、1044Aは右下がり斜め(4−1−4)を検出する。同様に、検出処理手段1041Bは2次特徴量の右空きV字(4−2−1)を、1042Bは左空きV字(4−2−2)を、1043Bは円(4−2−3)を検出する。また検出処理手段1041Cは眼(4−3−1)を検出するように構成されている。
【0043】
なお、この例で用いた眼の検出では、1次特徴量は4種類、2次特徴量は3種類、3次特徴量は1種類であるので、検出処理手段の1041A〜1044A、1041B〜1043B、1041Cのみ使用して、1044B及び1042C〜1044Cは使用しない。
【0044】
ステップS302での1次特徴量検出は、特徴検出層102(1,0)に対応し、各検出処理手段が特徴fの検出モジュール104に相当する。統合メモリコントローラ1010は補助メモリ制御信号1025を制御して、補助メモリ1015から画像のある位置を中心とする局所データを読み出し(この局所領域が、受容野105に対応する)、グローバルデータ線1030に出力する。そして、それらは、並列に、それぞれ検出処理手段1041A〜1044Aに入力され、上述したそれぞれの1次特徴量を検出する。
【0045】
なおこのとき、検出処理手段制御信号の1111A〜1114Aの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号をイネーブルにして、検出処理手段1041A〜1044Aは処理結果をローカルデータ線1061〜1064に出力する。同時に、検出メモリコントローラ1090は、検出アドレス線1080にアドレスを出力し、また検出メモリ制御信号1081〜1084を制御して、各ローカルデータ線上のデータを検出メモリ1071〜1074に保持する。
【0046】
なお、各検出処理手段での処理では、入力されるデータと結合荷重とが用いられ、例えば1次特徴量の縦(4−1−1)を検出する際には、受容野の大きさが3*3で、その結合荷重が0または1である、概念的には図5に示した受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)との積和演算が行なわれる。なお、このステップS302において、補助メモリ1015から読み出される局所領域の中心点を全画面の各点もしくは全画面にわたる所定のサンプリング点の各点と変更することで、全画面において、この1次特徴量の検出を行なう。このように、局所領域を移動させて全画面にわたって処理を行なうことは以降の統合処理や2次、3次の特徴量検出においても同様である。
【0047】
続いてステップS303で、1次特徴量が統合される。これは特徴統合層103(2,0)に対応し、検出メモリ1071〜1074に保持されているデータを統合する(特徴検出層102(1,0)からの同一受容野内にある複数のニューロン素子出力の統合(局所平均化、最大出力検出等によるサブサンプリングなどの演算)に相当する)。また各統合処理手段は、特徴fの統合モジュール106に相当する。検出メモリコントローラ1090は、検出アドレス線1080上にアドレスを出力し、また検出メモリ制御信号1081〜1084を制御して、検出メモリ1071〜1074の局所データを読み出し、ローカルデータ線1061〜1064を介して、それぞれの局所データが統合処理手段1051A〜1054Aに入力される。
【0048】
なお、ステップS302での検出処理では、検出処理手段1041A〜1044Aに入力されるデータは同じものであったが、このステップS303での統合処理では統合処理手段1051A〜1054Aに入力されるデータは、それぞれ異なっている。ただし、ここでの統合処理の受容野の入力画像における位置や大きさは、全ての統合処理手段1051A〜1054Aにおいて共通であるので、各検出メモリ1071〜1074中のデータの位置を示す検出メモリコントローラ1090からのアドレスは同じに出来る。
【0049】
つまり、検出メモリ1071〜1074から局所データを読み出すときに、その検出メモリ1つ1つに対して別々のアドレスを出力のではなく、一度のアドレス出力で各検出メモリからのデータ読み出しが並列に行なわれ、また各統合処理手段1051A〜1054Aにおいて統合処理も並列に行なわれる。各統合処理手段では上述したように、入力データの平均化や最大値検出等の処理を行なう。
【0050】
なおこのとき、統合処理手段制御信号の1121A〜1124Aの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号を順にイネーブルにして、統合処理手段1051A〜1054Aは処理結果を時分割でグローバルデータ線1030に出力する。
【0051】
同時に、統合メモリコントローラ1010は、統合アドレス線1020にアドレスを出力し、また統合メモリ制御信号1021〜1024を制御して、グローバルデータ線上のデータを順に統合メモリ1011〜1014に保持する。この統合処理手段制御信号1121A〜1124Aのアウトプット信号のイネーブルと統合メモリ制御信号のメモリセレクト信号のイネーブルのタイミングを合わせることで、統合処理手段1051Aの出力を統合メモリ1011に保持することが出来、また1052Aの出力を1012に、1053Aの出力を1013に、1054Aの出力を1014に保持することが出来る。
【0052】
ここまでのステップで、統合メモリ1011は1次特徴量の縦方向を検出した結果を統合した結果を保持し、1012は横方向を検出した結果を統合した結果を保持し、1013は右上がり斜め方向を検出した結果を統合した結果を保持し、1014は右下がり斜め方向を検出した結果を統合した結果を保持することになる。
【0053】
ステップS304では、2次特徴量検出を行なう。これは特徴検出層102(1,1)に対応する。ここでの2次特徴量とは、図4に示すようにV字(4−2−1,4−2−2)と円(4−2−3)であり、V字は受容野内での、1次特徴量の2つの斜め方向(4−1−3,4−1−4)の検出とその位置関係から検出可能であり、また円は受容野内での全ての1次特徴量の検出とその位置関係から検出可能である。
【0054】
つまり、複数種類の1次特徴量を組み合わせて、2次特徴量を検出することができる。これら2次特徴量の検出処理は検出処理手段1041B〜1043Bで行なわれる。統合メモリコントローラ1010は統合アドレス線1020にアドレスを出力し、また統合メモリ制御信号1021〜1024を制御して、統合メモリ1011〜1014から、そこに保持されている統合された1次特徴量の局所データを読み出し、グローバルデータ線1030に出力する。
【0055】
この時、統合メモリ制御信号1021〜1024のメモリセレクト信号のイネーブルを順に変更することで、この統合された1次特徴量の出力は、統合メモリ1011から1014へ順に行われる。つまり、グローバルデータ線1030を時分割して使用する。
【0056】
なお、ステップ302と同様、これらのデータは、並列に、それぞれ検出処理手段1041B〜1043Bに入力され、上述したそれぞれの2次特徴量を検出する。なおこのとき、検出すべき2次特徴量は3種類なので検出処理手段制御信号の1111B〜1113Bの処理手段セレクト信号のみイネーブルになっている。
【0057】
そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号をイネーブルにして、検出処理手段1041B〜1043Bは処理結果をローカルデータ線1061〜1063に出力する。同時に、検出メモリコントローラ1090は、検出アドレス線1080にアドレスを出力し、また検出メモリ制御信号1081〜1083を制御して、各ローカルデータ線上のデータを検出メモリ1071〜1073に保持する。
【0058】
続いてステップS305で、2次特徴量が統合される。これは特徴統合層103(2,1)に対応し、検出メモリ1071〜1073に保持されているデータを統合する。検出メモリコントローラ1090は、検出アドレス線1080上にアドレスを出力し、また検出メモリ制御信号1081〜1083を制御して、検出メモリ1071〜1073の局所データを読み出し、ローカルデータ線1061〜1063を介して、それぞれの局所データが統合処理手段1051B〜1053Bに入力される。各統合処理手段ではステップS303と同様に、入力データの平均化や最大値検出等の処理を行なう。
【0059】
なおこのとき、統合処理手段制御信号の1121B〜1123Bの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号を順にイネーブルにして、統合処理手段1051B〜1053Bは処理結果を時分割でグローバルデータ線1030に出力する。同時に、統合メモリコントローラ1010は、統合アドレス線1020にアドレスを出力し、また統合メモリ制御信号1021〜1023を制御して、グローバルデータ線上のデータを統合メモリ1011〜1013に保持する。
【0060】
ステップS306では、3次特徴量検出を行なう。これは特徴検出層102(1,2)に対応する。ここでの3次特徴量とは、図4に示すように眼(4−3−1)であり、そのためには、受容野内での全ての2次特徴量(V字(4−2−1,4−2−2)と円(4−2−3))の検出とその位置関係をみればよい。つまり、複数種類の2次特徴量を組み合わせて、3次特徴量を検出することができる。これら3次特徴量の検出処理は検出処理手段1041Cで行なわれる。
【0061】
統合メモリコントローラ1010は、統合アドレス線1020にアドレスを出力し、また統合メモリ制御信号1021〜1023を制御して、統合メモリ1011〜1013から、そこに保持されている統合された2次特徴量の局所データを読み出し、グローバルデータ線1030に出力する。この時、ステップS304と同様に、統合メモリ制御信号1021〜1023のメモリセレクト信号のイネーブルを順に変更することで、この統合された2次特徴量の出力は、統合メモリ1011から1013へ順に行われ、グローバルデータ線1030を時分割して使用する。そしてこれらのデータは、検出処理手段1041Cに入力され、上述した3次特徴量を検出する。
【0062】
なおこのとき、検出すべき3次特徴量は1種類なので検出処理手段制御信号の1111Cの処理手段セレクト信号のみイネーブルになっている。そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号をイネーブルにして、検出処理手段1041Cは処理結果をローカルデータ線1061に出力する。同時に、検出メモリコントローラ1090は、検出アドレス線1080にアドレスを出力し、また検出メモリ制御信号1081を制御して、ローカルデータ線上のデータを検出メモリ1071に保持する。
【0063】
続いてステップS307で、3次特徴量が統合される。これは特徴統合層103(2,2)に対応し、検出メモリ1071に保持されているデータを統合する。検出メモリコントローラ1090は、検出アドレス線1080上にアドレスを出力し、また検出メモリ制御信号1081を制御して、検出メモリ1071の局所データを読み出し、ローカルデータ線1061を介して、3次特徴量の局所データが統合処理手段1051Cに入力される。
【0064】
統合処理手段では、入力データの平均化や最大値検出等の処理が行なわれる。そして、処理の終了を示すエンド信号を見て、制御手段1000はアウトプット信号を順にイネーブルにして、統合処理手段1051Cは処理結果をグローバルデータ線1030に出力する。同時に、統合メモリコントローラ1010は、統合アドレス線1020にアドレスを出力し、また統合メモリ制御信号1021を制御して、グローバルデータ線上のデータを統合メモリ1011に保持する。
【0065】
そして、この統合メモリ1011に保持された結果が眼の検出の最終結果となる。なお、上記ステップS307を行なわずに、検出メモリ1071に保持されている結果を眼の検出結果としてもよい。
【0066】
以上説明したように、本実施形態によれば、ある特徴の検出処理とその検出結果の統合処理を、複数の特徴で行う際に容易に並列に行うことが出来、またそれらの処理を階層的に行うことも容易である。また、各検出結果や統合結果を一時メモリに保持し、その後そのメモリのアドレスを指定して結果をデータ線に出力して、各プロセッサに入力することで、複雑な受容野構造の処理においても配線が複雑になることを防ぐことが可能である。さらに、それら各処理の結果を読み出すことも可能であり、アドレッシングでメモリに保持された任意の位置の結果を読み出すことも可能である。
【0067】
なお、本実施形態の検出処理手段や統合処理手段における処理は、DSP等を用いてデジタル処理で行なう事も、アナログ回路で電位やパルス幅等を変換するアナログ処理で行なう事も可能である。また、検出メモリや統合メモリもDRAMやSRAM等のデジタルメモリであっても、FRAM等のアナログメモリでも良い。
【0068】
つまり、検出処理手段や統合処理手段における処理をデジタル処理で、検出メモリや統合メモリをデジタルメモリで構成し、オールデジタルの構成とすることも出来る。また、検出処理手段や統合処理手段における処理をアナログ処理で、検出メモリや統合メモリをアナログメモリで構成し、オールアナログの構成とすることも出来る。さらに、検出処理手段や統合処理手段における処理をアナログ処理で、検出メモリや統合メモリをデジタルメモリで構成し、さらに処理手段とメモリ間のA/D変換手段やD/A変換手段により、処理手段で得られた処理結果をA/D変換してメモリに保持し、またメモリに保持した結果をD/A変換して処理手段で使用するという構成とすることも出来る。
【0069】
図6に、検出処理手段や統合処理手段における処理をアナログ処理で、検出メモリや統合メモリをアナログメモリで構成した一例を示す。この例では、アナログメモリとして強誘電体キャパシタを用い、また処理手段で使用する値はパルス幅で表現する。そのため、アナログメモリの電位量をパルス幅に変更するPWM変換手段も具備している。
【0070】
図6において、6000は制御手段を、6010は統合メモリコントローラを、6211は統合サブメモリを、6020は統合アドレス線を、6021は統合メモリ制御信号を、6030はグローバルデータ線を、6041は検出処理手段を、6051は統合処理手段を、6061はローカルデータ線を、6271は検出サブメモリを、6080は検出アドレス線を、6081は検出メモリ制御信号を、6090は検出メモリコントローラを、6111は検出処理手段制御信号を、6121は統合処理手段制御信号を、6220は統合アドレスデコーダを、6230は統合結果PWM変換手段を、6240は検出結果PWM変換手段を、6250は検出アドレスデコーダを示す。
【0071】
なお、この図6の構成図は、図1の構成図の一部を示したものであり、統合処理手段や検出処理手段、統合メモリや検出メモリ等は1部のみ図示してある。また、1つの統合メモリ6011は複数の統合サブメモリ6211、・・・から、1つの検出メモリ6071は複数の検出サブメモリ6271、・・・から構成される。
【0072】
この回路の動作は基本的には、前述した図1の動作と同様である。ただし、図6では、統合サブメモリ6211の選択を、統合アドレスデコーダ6220が統合アドレス線6020のアドレスと統合メモリコントローラ6010の信号に基づいて行い、また検出サブメモリ6271の選択を、検出アドレスデコーダ6250が検出アドレス線6080のアドレスと検出メモリコントローラ6090の信号に基づいて行う。
【0073】
さらに、統合結果PWM変換手段6230は統合サブメモリ6211に保持された統合結果をPWM信号に変換する。また、検出結果PWM変換手段6240は検出サブメモリ6271に保持された検出結果をPWM信号に変換する。なお、PWM(Pulse Width Modulation)とは、情報をパルス波形の幅に持たせた変調方式であり、ノイズに強いデジタル的な特性(電圧方向にHighレベルとLowレベルの2値の情報)と、連続情報を1パルスで表現することができるアナログ的な特性(時間方向に連続情報)の両者を併せ持つものである。
【0074】
図7は統合サブメモリ6211と統合結果PWM変換手段6230の構成を示す図である。図7中、7001は強誘電体キャパシタ、7002、7003はMOSトランジスタ、7004はコンパレータ、7005はセレクタである。強誘電体キャパシタ7001にアナログ値を書き込むときは、統合アドレス線6020のアドレスと統合メモリコントローラ6010の信号に基づいて統合アドレスデコーダ6220がMOSトランジスタ7002をONにし、統合結果に相当する電位が、強誘電体キャパシタ7001にかかり、値が保持される。
【0075】
そして、その値を読み出すときは、統合アドレス線6020のアドレスと統合メモリコントローラ6010の信号に基づいて統合アドレスデコーダ6220がMOSトランジスタ7003をONにし、コンパレータ7004において、強誘電体キャパシタ7001の電位とリファレンス信号を比較して、リファレンス信号の方が高くなるまで、Highの信号を出力してPWM信号を作成する。そして、そのPWM信号をセレクタ7005で選択した、グローバルデータ線6030を構成するサブグローバルデータ線に出力する。
【0076】
図8は、グローバルデータ線6030を示す図である。上記のように、グローバルデータ線は複数のサブグローバルデータ線6031,6032、・・・で構成されている。これは、次に説明する検出処理手段6041において、受容野全体もしくは一部を並列で処理するために、複数の統合サブメモリの値を並列に検出処理手段6041に入力する必要があるためである。またそのために、統合アドレスデコーダ6220は、統合アドレス線6020のアドレスが示す受容野の中心のアドレスに対し、統合サブメモリ6211が受容野内(もしくは受容野の一部)の時に動作するようになっている。
【0077】
このようにして、統合アドレス線6020の1つのアドレスに対して、複数の統合サブメモリの値が並列に読み出され、その読み出された値が並列に検出処理手段6041に入力されるため、複数のサブグローバルデータ線を使用する。また、図6には図示していないが、検出処理手段は複数存在し、それぞれグローバルデータ線6030と接続されているため、上記並列に読み出された値は、並列に検出処理手段6041に入力されるとともに、他の検出処理手段にも入力され、統合サブメモリの同じ値を用いて、別の特徴の検出が並列に行われる。
【0078】
図9は検出処理手段6041の構成を示す図である。検出処理手段6041は、乗算回路A1,・・・、A2,・・・、キャパシタ9001、サンプルホールド回路9002、スイッチとしてのMOSトランジスタ9003から構成されている。乗算回路A1,・・・は、定電流源として機能するPMOSトランジスタM1、およびスイッチとして機能するPMOSトランジスタM2を有する。また、同様に乗算回路B1,・・・は定電流源として機能するNMOSトランジスタM3、およびスイッチとして機能するNMOSトランジスタM4を有する。
【0079】
なお、乗算回路A1,・・・は後述するようにシナプス荷重値が正の時に前段のニューロンの出力値との乗算を行い、また乗算回路B1,・・・はシナプス荷重値が負時に前段のニューロンの出力値との乗算を行う。この時、乗算回路B1,・・・に入力されるシナプス荷重値は絶対値で入力される。また、乗算回路A1,・・・と乗算回路B1,・・・は対になっており、グローバルデータ線6030からのPWM信号は共通にトランジスタM2とM4に入力される。その際に、定電流源として動作するトランジスタM1,M3において、重み係数の符号と異なる片方のMOSトランジスタは動作しないようなゲート電圧がかかっている。
【0080】
乗算回路A1,・・・、B1,・・・は、被乗算値Pと乗算値Qの乗算:(P×Q)を実現する。なおP、Qは、以下の条件式を満たすものとする。
【0081】
P≧0、Q≧0
ここで、被乗算値Pと乗算値Qは、前記乗算を前記乗算回路A1,・・・、B1,・・・で実現するために、前述のように統合サブメモリの値から作成したPWM信号Vinと、アナログ電圧Vwとしてそれぞれ入力される。
【0082】
被乗算値を換算したPWM信号Vinが入力端子Pに入力され、また乗算値を換算したアナログ電圧Vwが入力端子Qに入力される。
【0083】
トランジスタM1のゲート端子には、入力端子Qに入力された乗算値Vwの電圧がかかる。また、トランジスタM2のゲート端子には、入力端子PよりPWM信号Vinが反転入力される。
【0084】
なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施例では3.3V)と設定している。ここで、PWM信号がHighレベルの時、すなわちトランジスタM1のソース端子に電源電圧Vddが加えられた時に、トランジスタM1が飽和領域で動作するようにアナログ電圧Vwを適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、トランジスタM1を定電流源として動作させることができる。
【0085】
またこの時、トランジスタM1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号Vinのパルス幅は、被乗算値Pに比例するように換算されている。またアナログ電圧Vwは、(Vdd−Vw)によって決定される電流量が乗算値Qに比例するように換算されている。
【0086】
従ってトランジスタM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、トランジスタM1が流す電荷量は、P×Qに比例したものとなる。なお、上記説明は、PMOSを用いた乗算回路A1,・・・を例に行ったが、乗算回路B1,・・・でもPMOSがNMOSになっていることを考慮すれば、動作としては同様に考えることが出来る。
【0087】
続いて、乗算回路A1,・・・、B1,・・・による演算結果が、どのようにキャパシタ9001に保持されるかについて説明する。
【0088】
まず乗算回路A1,・・・の演算結果がキャパシタ9001に保持される動作について説明する。バスにはそれぞれ独立に演算を行う複数の乗算回路A1,・・・が接続されているため、それぞれの乗算回路A1,・・・により並列に実行された演算結果、すなわち上で説明したトランジスタM1が流す電荷量は、バスを通してキャパシタ9001に蓄積され、加算される。
【0089】
また、乗算回路B1,・・・の演算結果がキャパシタ9001に保持される動作は、乗算回路B1,・・・により並列に実行された演算結果、つまりトランジスタM3が流す電荷量が、キャパシタ9001に蓄積されていた電荷から引き抜かれる動作となる。つまり、負の重み係数に対する積和演算結果は負になるため、キャパシタ9001の保持されていた電荷を引き抜くことで、減算を実現している。なお、キャパシタ9001に電荷が保持されていない状態では減算が行なわれない。そのため、あらかじめキャパシタ9001に、既定量の電荷を保持しておくようにする。その既定量とは、例えば予想される前段のニューロンの出力値とシナプス荷重との積和の最小値の絶対値に相当する量で良い。なおこの場合、キャパシタ9001の最終的な電荷量(電位)が上記既定の電荷量(電位)の時に、積和演算結果が0となる。
【0090】
上記に示したように、キャパシタ9001に蓄積される総電荷量は、共通のバスでキャパシタに接続された複数の乗算回路A1,・・・、B1,・・・の演算結果の総和値を示している。
【0091】
上記に示した積和演算が終了すると、スイッチのMOSトランジスタ9003を制御手段6000がONにし、キャパシタ9001の電位をサンプルホールド回路9002を介して、ローカルデータ線6061に出力し、そして、検出サブメモリ6271に保持する。
【0092】
以降の統合処理に関しては、検出サブメモリ6271は統合サブメモリ6211と、ローカルデータ線6061はグローバルデータ線6030と、統合処理手段6051は検出処理手段6041と、それぞれ同じ構成でよいので説明は省略する。
【0093】
上記説明は、統合サブメモリ6211及び検出サブメモリ6271に強誘電体キャパシタを使用した構成を示したが、別の構成も考えられる。例えば、図10にトランジスタ型強誘電体メモリ(FeRAM)を使用した統合サブメモリ6211の構成を示す。1001はトランジスタ型強誘電体メモリ、1002、1003はMOSトランジスタ、1004はコンパレータ、1005はセレクタである。
【0094】
トランジスタ型強誘電体メモリ1001にアナログ値を書き込むときは、統合アドレス線6020のアドレスと統合メモリコントローラ6010の信号に基づいて統合アドレスデコーダ6220がMOSトランジスタ1002をONにする。そして、ワード線でトランジスタ型強誘電体メモリ1001を選択し、統合結果に相当する電位をソース線にかけることで、値が保持される。
【0095】
そして、その値を読み出すときは、ワード線でトランジスタ型強誘電体メモリ1001を選択し、また統合アドレス線6020のアドレスと統合メモリコントローラ6010の信号に基づいて統合アドレスデコーダ6220がMOSトランジスタ1003をONにし、ドレイン電流でキャパシタ1006を充電し、コンパレータ1004において、キャパシタ1006の電位とリファレンス信号を比較して、キャパシタ電位の方が高くなるまで、Highの信号を出力してPWM信号を作成する。そして、そのPWM信号をセレクタ1005で選択した、グローバルデータ線6030を構成するサブグローバルデータ線に出力する。
【0096】
このように、強誘電体材料を用いたアナログメモリを使用すると、デジタルメモリを使用するのと比較して、A/D変換手段やD/A変換手段が不要になるため、回路面積の削減と消費電力の削減という効果がある。
【0097】
また、上記図6の構成において、統合サブメモリ6211及び検出サブメモリ6271をデジタルメモリとして使用することも可能である。その際は、統合結果PWM変換手段6230及び検出結果PWM変換手段6240で作成されるPWM信号は、特徴の有無を表す信号になる。
【0098】
次に、本実施形態の構成に係るパターン検出(認識)装置を撮像装置に搭載させることにより、特定被写体へのフォーカシングや特定被写体の色補正、露出制御を行う場合について、図11参照して説明する。図11は実施形態に係るパターン検出(認識)装置を撮像装置に用いた例の構成を示す図である。
【0099】
図11において、撮像装置5101は、撮影レンズおよびズーム撮影用駆動制御機構を含む結像光学系5102、CCD又はCMOSイメージセンサー5103、撮像パラメータの計測部5104、映像信号処理回路5105、記憶部5106、撮像動作の制御、撮像条件の制御などの制御用信号を発生する制御信号発生部5107、EVFなどファインダーを兼ねた表示ディスプレイ5108、ストロボ発光部5109、記録媒体5110などを具備し、更に上述したパターン検出装置を被写体検出(認識)装置5111として備える。
【0100】
この撮像装置5101は、例えば撮影された映像中から予め登録された人物の顔画像の検出(存在位置、サイズの検出)を被写体検出(認識)装置5111により行う。そして、その人物の位置、サイズ情報が被写体検出(認識)装置5111から制御信号発生部5107に入力されると、同制御信号発生部5107は、撮像パラメータ計測部5104からの出力に基づき、その人物に対するピント制御、露出条件制御、ホワイトバランス制御などを最適に行う制御信号を発生する。
【0101】
上述したパターン検出(認識)装置を、このように撮像装置に用いて、人物検出とそれに基づく撮影の最適制御を行うことができるようになる。
【0102】
以下、上記実施形態に係わる本発明の特徴を整理する。
【0103】
特徴1.
入力信号の中に含まれる所定のパターンを検出するパターン認識装置において、
同一の入力に対しそれぞれ異なる1つの特徴を検出するための複数の検出処理手段と、
前記複数の検出処理手段で検出された特徴を、各処理結果毎に、空間的に統合する複数の統合処理手段と、
前記検出処理手段の処理結果を保持する複数の検出メモリと、
前記統合処理手段の処理結果を保持する複数の統合メモリと、
所定のタイミングで所定の前記検出処理手段及び所定の前記統合メモリが接続される共有データ線と、
それぞれ所定の前記検出処理手段と前記統合処理手段と前記検出メモリとが接続される複数の局所データ線とを有し、
前記統合処理手段に、複数の前記検出メモリに保持された前記検出処理手段の処理結果を読み出して入力するようにし、
前記統合メモリに保持された前記統合処理手段の処理結果を読み出して、複数の前記検出処理手段に入力するように動作し、
前記検出メモリ及び/または統合メモリが、強誘電体材料を用いた素子から構成されているメモリであることを特徴とするパターン認識装置。
【0104】
特徴2.
前記検出メモリ及び/または前記統合メモリは強誘電体キャパシタで構成されていることを特徴とする特徴1のパターン認識装置。
【0105】
特徴3.
前記検出メモリ及び/または前記統合メモリは、トランジスタ型強誘電体メモリで構成されていることを特徴とする特徴1のパターン認識装置。
【0106】
特徴4.
複数の保持手段と、該複数の保持手段に対応するアドレスを示すアドレス線と、前記複数の保持手段に保持された値に基づく信号を処理する複数の処理手段と、前記複数の保持手段と前記複数の処理手段とが接続するデータ線とを有するパターン認識装置において、
前記アドレス線の1つのアドレスに対して、前記複数の保持手段のうちの一部または全部の保持手段に保持された値が並列に読み出され、その値に基づいた信号が前記データ線を介して前記処理手段に並列に入力されてパターン認識処理がされ、また前記データ線に接続される複数の処理手段のうち一部または全部の処理手段に対して並列に同一の信号が入力され、それぞれ別のパターン認識処理が並列に行われることを特徴とするパターン認識装置。
【0107】
【発明の効果】
以上説明したように、本発明によれば、共有データ線と局所データ線、及びメモリを利用することで、複雑な配線を用いずに単純な回路構成で、複数の処理手段で処理されて得られた複数の結果に対し、さらに複数の処理手段で並列処理を行なうといった階層的処理を並列に実行できるという効果がある。
【0108】
検出処理においては、複数の所定の検出処理手段に対して同一のデータを入力することで並列動作が可能であり、また統合メモリから値を読み出す際に、1つのアドレスに対して複数の値を並列に読み出し、検出処理手段に並列に入力することで、処理時間の短縮が可能である。
【0109】
更にまた各検出処理の処理結果を空間的に統合する統合処理においては、それぞれ別の特徴検出の結果を保持している複数の検出メモリに対して、それぞれのメモリ中の位置を示すアドレスを共通に用いることで、統合処理を並列に行なえるという効果がある。また、これらの検出・統合処理手段を何回でも繰り返すことが出来るという効果がある。
【0110】
また、メモリに強誘電体材料を使用した素子を用いることで、回路面積の削減と消費電力の削減が可能になるという効果がある。
【図面の簡単な説明】
【図1】第1の実施形態の構成を示す図である。
【図2】Convolutionalネットワーク構造を説明する図である。
【図3】第1の実施形態の動作を説明するフローチャートである。
【図4】特徴量を示す図である。
【図5】特徴量検出の例を示す図である。
【図6】アナログ処理手段とアナログメモリを使用したときの構成を示す図である。
【図7】アナログメモリの構成を示す図である。
【図8】グローバルデータ線の構成を示す図である。
【図9】検出処理手段の構成を示す図である。
【図10】アナログメモリの構成を示すである。
【図11】実施形態に係るパターン認識装置を撮像装置に用いた例の構成を示す図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a circuit configuration of a pattern recognition device that performs pattern recognition, detection of a specific subject, and the like by parallel arithmetic processing such as a neural network.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in the field of image recognition and voice recognition, a type that sequentially calculates and executes a recognition processing algorithm specialized for a specific recognition target as computer software, or a dedicated parallel image processing processor (SIMD, MIMD machine, etc.). It is roughly classified into the type of execution depending on the hardware used.
[0003]
For example, with respect to a dedicated parallel processing processor, the object identification device disclosed in Japanese Patent Laid-Open No. 6-6793 prepares a plurality of image processing processor units, performs arithmetic processing by a DSP mounted on these processor units, Is transferred to another unit to perform object identification. For example, an image is divided into a plurality of regions, processing of each region is performed in parallel by each processor, and inference of object identification is performed by another processor unit using a neural network or fuzzy control.
[0004]
Further, as a hardware for performing hierarchical parallel processing using a neural network, a hierarchical neural network disclosed in Japanese Patent No. 2679730 discloses a hierarchical structure that enables a single layer of hardware to be multi-layered using time division multiplexing. Structural neural network architecture, formed by connecting multiple neuron models to each other, with the aim of enabling a single layer of hardware to be equivalently multilayered using time division multiplexing. In a neural network, a time-division multiplexed analog signal is integrated with a digital weight data from the outside, a product is integrated by adding the product in a time-division manner through a capacitor, and the A single-layer unit is installed by installing multiple neuron model units that can output A single-layer unit assembling means for forming a set, a feedback means for returning an output of the single-layer unit assembling means to an input portion of the same single-layer unit assembling, and Control means for performing time-division multiplexing of the analog signal and further performing control for time-division multiplexing use of the single-layer unit assembling means via the feedback means. It is configured to form a hierarchically structured neural net equivalently by multiple use.
[0005]
In addition, as hardware using an FPGA (Field Programming Gate Array), there is a processor introduced in US Pat. No. 5,892,962. This processor holds a memory in each FPGA, holds a processing result in the FPGA in a memory, reads a result of the memory, and performs processing.
[0006]
[Problems to be solved by the invention]
In the object identification device disclosed in Japanese Patent Laid-Open No. 6-6793, which has been described as a conventional example of hardware for executing a recognition processing algorithm, an area assigned to each image processing processor unit is further divided. It is possible to perform several stages of processing from a small area to the original area, but to perform hierarchical processing, such as performing parallel processing on multiple results obtained by processing and further processing on multiple other processor units Could not. Also, the result of the processing could not be read. Furthermore, the results of each area could not be spatially integrated.
[0007]
Also, in the hierarchical neural network disclosed in Japanese Patent No. 2679730, there is no means for arbitrarily variably controlling the interlayer coupling, so that the types of processing that can be substantially realized are extremely limited. was there.
[0008]
Further, in the FPGA-BASED PROCESSOR disclosed in US Pat. No. 5,892,962, complicated wiring is required to read an intermediate result held in a memory.
[0009]
Therefore, an object of the present invention is to provide a hierarchical circuit in which a plurality of results obtained by processing by a plurality of processing units are processed in parallel by a plurality of processing units with a simple circuit configuration without using complicated wiring. An object of the present invention is to provide a pattern recognition device capable of performing processing, spatially integrating processing results of each processing, and easily reading the results of each processing.
[0010]
[Means for Solving the Problems]
Therefore, in order to realize the above object, according to the present invention, a pattern recognition device for detecting a predetermined pattern included in an input signal is provided with a plurality of patterns for detecting one different characteristic for the same input. Detection processing means, a plurality of integration processing means for spatially integrating features detected by the plurality of detection processing means for each processing result, and a plurality of detection means for holding processing results of the detection processing means. A memory, a plurality of integrated memories for holding processing results of the integrated processing means, a predetermined detection processing means and a shared data line to which the predetermined integrated memory is connected at a predetermined timing; Means, a plurality of local data lines connected to the integrated processing means and the detection memory, and the integrated processing means is provided with the detection processing means stored in the plurality of detection memories. Read and input the processing result, and read the processing result of the integrated processing means held in the integrated memory, and operate to input the processing result to the plurality of detection processing means. The memory is a memory configured from an element using a ferroelectric material.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0012]
(First Embodiment)
FIG. 1 is a diagram showing the configuration of the present embodiment.
[0013]
1, reference numeral 1000 denotes a control means, 1010 denotes an integrated memory controller, 1011 to 1014 denotes an integrated memory, 1015 denotes an auxiliary memory, 1020 denotes an integrated address line, 1021 to 1024 denotes an integrated memory control signal, and 1025 denotes an integrated memory control signal. An auxiliary memory control signal, 1030 is a global data line, 1041A to 1044C are detection processing means, 1051A to 1054C are integration processing means, 1061 to 1064 are local data lines, 1071 to 1074 are detection memories, and 1080 is a detection memory. Reference numerals 1081 to 1084 denote detection memory control signals, 1090 denotes a detection memory controller, 1111A to 1114C denote detection processing unit control signals, and 1121A to 1124C denote integrated processing unit control signals. The detection processing unit control signal and the integration processing unit control signal are not shown in the figure, but only the detection processing unit control signals 1111A to 1111C are shown. Reference numerals 1130 and 1161 to 1164 denote external I / Fs.
[0014]
Hereinafter, the function of each component in FIG. 1 will be described.
[0015]
The control unit 1000 controls the entire circuit, and communicates with and uses the integrated memory controller 1010, the detection processing units 1041A to 1044C, the integrated processing units 1051A to 1054C, and the detection memory controller 1090 to be described later. The recognition operation is performed by controlling each of these units based on the recognition algorithm.
[0016]
The unified memory controller 1010 controls the memories of the unified memories 1011 to 1014 and the auxiliary memory 1015, outputs data from these memories to the global data line 1030, and outputs data on the global data line 1030 to the unified memory 1011 to 1014. Write to 1014 or auxiliary memory 1015. More specifically, an integrated memory control signal 1021 to 1024 such as a chip select signal for outputting an address to the integrated address line 1020 and selecting a memory to be operated, a write enable signal for distinguishing between writing and reading, and an auxiliary memory control signal The above operation is performed by controlling 1025. When a plurality of addresses are generated, for example, the start / end address and the number of steps are set in the integrated memory controller 1010 by the control means 1000, and the counter in which the start address value is set is counted up to the last address by the number of steps. It can respond by doing. In other words, by changing the generation of the address in various ways, data can be read and written in an arbitrary area of the integrated memories 1011 to 1014 and the auxiliary memory 1015, so that a wiring problem can be avoided.
[0017]
The integrated memories 1011 to 1014 are memories that hold processing results of integrated processing units 1051A to 1054C described later. These are connected to the global data line 1030, respectively, and output the results held based on the integrated memory control signals 1021 to 1024 to the global data line 1030, and the integrated processing units 1051A to 1051A to 105 The processing result of 1054C is fetched.
[0018]
The auxiliary memory 1015 is a memory that temporarily stores signals to be recognized such as images. This memory is also connected to the integrated address line 1020 and the global data line 1030, and outputs a signal held based on the auxiliary memory control signal 1025 from the integrated memory controller 1010 to the global data line 1030, The data on 1030 is taken.
[0019]
Signals indicating the addresses of the integrated memories 1011 to 1014 and the auxiliary memory 1015 are output from the integrated memory controller 1010 to the integrated address line 1020. By changing this address, it is possible to avoid the wiring problem and easily read out the results of the respective processes held in the integrated memories 1011 to 1014, and combine the results in the respective detection processing units 1041A to 1044C. Processing can be performed on signals.
[0020]
The unified memory control signals 1021 to 1024 are signals for selecting the unified memories 1011 to 1014 and for discriminating and controlling writing and reading. By selecting the memory in a time-division manner, the data of the integrated memories 1011 to 1014 can be output to the global data line 1030 in a time-division manner at the time of reading, and the integrated processing means control signals 1121A to 1124C at the time of writing. , The processing result of each integrated processing unit output on the global data line 1030 can be held in each of the integrated memories 1011 to 1014.
[0021]
The auxiliary memory control signal 1025 is a signal for performing selection of the auxiliary memory 1015 and distinction / control of writing / reading.
[0022]
The global data line 1030 is connected to the integrated memories 1011 to 1014, the detection processing units 1041A to 1044C, the integrated processing units 1051A to 1054C, and the auxiliary memory 1015. Therefore, the data of the integrated memories 1011 to 1014 are input in parallel to the respective detection processing units 1041A to 1044C, and the processing results from the integrated processing units 1051A to 1054C are stored in the respective integrated memories 1011 to 1014 by time division processing. Written in divisions.
[0023]
Each of the detection processing units 1041A to 1044C is in charge of each processing (for example, edge detection and the like) necessary for the recognition processing. That is, in the apparatus of the present invention, the recognition processing is performed as a whole by combining the processing of the respective detection processing means.
[0024]
The detection processing units 1041A to 1044C process data input via the global data line 1030, and output the results to the local data lines 1061 to 1064, respectively. The processing results of the detection processing units 1041A, 1041B and 1041C are output to the local data line 1061, and the processing results of the detection processing units 1042A to 1042C are output to the local data line 1062. ing. Hereinafter, the same applies to other detection processing means.
[0025]
The same signal is input to the detection processing units 1041A to 1044C via the global data line 1030. Each detection processing means performs different processing on the input signal. If the result is, for example, the detection processing means 1041A, the result is output to the local data line 1061 and the result is stored in the detection memory 1071. Similarly, the processing results of the respective detection processing units are stored in different detection memories 1071 to 1074. Here, which detection processing unit operates is indicated by detection processing unit control signals 1111A to 1114C from the control unit 1000. The detection processing unit control signal 1111A is connected to the detection processing unit 1041A, the detection processing unit control signal 1111B is connected to the detection processing unit 1041B, and so on. (Note that FIG. 1 shows only the detection processing unit control signals 1111A to 1111C.)
For example, at a certain timing, the detection processing unit control signals 1111A, 1112A, 1113A, and 1114A are enabled, and as a result, the detection processing units 1041A, 1042A, 1043A, and 1044A operate, and the processing results of the respective detection processing units are output. The data is held in the detection memories 1071 to 1074 via the local data lines 1061 to 1064. At another timing, another detection processing means control signal is enabled.
[0026]
The integration processing units 1051A to 1054C perform integration processing on the data input via the local data lines 1061 to 1064, respectively, and output the result to the global data line 1030. The input to the integration processing means 1051A to 1051C is performed from the local data line 1061, 1052A to 1052C from 1062, 1053A to 1053C from 1063, and 1054A to 1054C from 1064. Further, the integrated processing means 1051A to 1054C to be operated are selected by enabling the processing means select signal of the integrated processing means control signals 1121A to 1124C (not shown in FIG. 1) from the control means 1000. The output signal of the integrated processing means control signals 1121A to 1124C controls the timing at which the processing results of the integrated processing means 1051A to 1054C are output to the global data line 1030.
[0027]
That is, for example, at a certain timing, the processing unit select signals of the integrated processing unit control signals 1121A, 1122A, 1123A, and 1124A are enabled, and as a result, the integrated processing units 1051A, 1052A, 1053A, and 1054A operate, and the output is performed. The processing result is sequentially output to the global data line 1030 from, for example, the integration processing unit 1051A based on the reset signal. At that time, by controlling the integrated memory controller 1010 at the same timing, data on the global data line 1030 can be held in order from the integrated memory 1011.
[0028]
The local data line 1061 is connected to the detection memory 1071, detection processing units 1041A to 1041C, and integration processing units 1051A to 1051C. The local data line 1062 is connected to the detection memory 1072, the detection processing units 1042A to 1042C, and the integration processing units 1052A to 1052C. The same applies to the local data lines 1063 and 1064. Therefore, the processing results from the detection processing units 1041A to 1041C are stored in the detection memory 1071, the processing results from the detection processing units 1042A to 1042C are stored in the detection memory 1072, and the processing results from the detection processing units 1043A to 1043C are stored in the detection memory 1073. Processing results from the detection processing units 1044A to 1044C are stored in the detection memory 1074. The data of the detection memory 1071 is input to the integration processing means 1051A to 1051C, the data of the detection memory 1072 is input to the integration processing means 1052A to 1052C, and the data of each detection memory is input to the separate integration processing means in parallel. ing.
[0029]
The detection memory 1071 is a memory that holds processing results from the detection processing units 1041A to 1041C, and the detection memory 1072 is a memory that holds processing results from the detection processing units 1041A to 1041C. The same applies to the detection memory 1073 and the detection memory 1074. The detection memory 1071 is connected to the local data line 1061, 1072 is connected to 1062, 1073 is connected to 1063, and 1074 is connected to 1064, and the results held based on the detection memory control signals 1081 to 1084 are stored in the respective local data lines. The data is output to the local data lines 1061 to 1064 and the processing results of the detection processing units 1041A to 1044C on the local data lines 1061 to 1064 are captured.
[0030]
Signals indicating the addresses of the detection memories 1071 to 1074 are output from the detection memory controller 1090 to the detection address line 1080. By changing this address, the wiring problem is avoided, the result of each process at an arbitrary position held in the detection memories 1071 to 1074 is easily read out, and the integrated processing means 1051A to 1054C process the result for each region. Can be performed.
[0031]
The detection memory control signals 1081 to 1084 are signals for selecting the detection memories 1071 to 1074 and for discriminating and controlling write / read.
[0032]
The detection memory controller 1090 controls the memories of the detection memories 1071 to 1074, outputs data from these memories to the local data lines 1061 to 1064, and writes data on the local data lines 1061 to 1064 to the memory. Specifically, by outputting an address to the detection address line 1080 and controlling integrated memory control signals 1081 to 1084 such as a chip select signal for selecting a memory to be operated and a write enable signal for distinguishing between writing and reading. Perform the above operation.
[0033]
The detection processing unit control signals 1111A to 1114C are used for communication between the detection processing units 1041A to 1044C and the control unit 1000. Among the detection processing means 1041A to 1044C, a processing means select signal for selecting a processing means to be operated, an output signal indicating permission to output a processing result to the local data lines 1061 to 1064, and each of the detection processing means 1041A to 1044C Is composed of an end signal indicating the end of the processing at step (1).
[0034]
The integrated processing means control signals 1121A to 1124C are used for communication between the integrated processing means 1051A to 1054C and the control means 1000. Among the integrated processing units 1051A to 1054C, a processing unit select signal for selecting an operating processing unit, an output signal indicating permission to output a processing result to the global data line 1030, and an output signal for each integrated processing unit 1051A to 1054C. It is composed of an end signal indicating the end of the processing.
[0035]
The external I / Fs 1130, 1161, 1162, 1163, and 1164 are connected to the global data line 1030 and the local data lines 1061, 1062, 1063, and 1064, respectively. The processing results of the processing units 1051A to 1054C and the processing results of the detection processing units 1041A to 1044C are taken out during operation of the processing units, or the intermediate processing results held in the integrated memories 1011 to 1014 and the detection memories 1071 to 1074 are taken out. Can be done.
[0036]
Next, the operation of the configuration shown in FIG. 1 will be described for a case where a neural network for performing image recognition is formed by parallel hierarchical processing. First, the processing content of the neural network will be described in detail with reference to FIG. This neural network hierarchically handles information related to recognition (detection) of an object or a geometric feature in a local region in input data, and its basic structure is a so-called Convolutional network structure (LeCun, Y. and Bengio, Y., 1995, "Convolutional Networks for Images Speech, and Time Series" in Handbook of Brain Theory, New York, NY, Nepal. The output from the last layer (top layer) is the category of the recognized target as the recognition result and the position information on the input data.
[0037]
The data input layer 101 is a layer for inputting local area data from a photoelectric conversion element such as a CMOS sensor or a CCD element. The first feature detection layer 102 (1, 0) includes local low-order features (geometric features such as specific directional components and specific spatial frequency components, as well as color components) of the image pattern input from the data input layer 101. May be included in a local area around each position on the entire screen (or a local area centered on each predetermined sampling point over the entire screen) at a plurality of scale levels or resolutions at the same location. The number of feature categories is detected.
[0038]
The feature integration layer 103 (2,0) has a predetermined receptive field structure (hereinafter, the receptive field indicates a coupling range with the output element of the immediately preceding layer, and the receptive field structure indicates a distribution of the coupling load). It performs integration (operations such as sub-sampling by local averaging, maximum output detection, etc.) of a plurality of neuron element outputs in the same receptive field from the feature detection layer 102 (1, 0). This integration process has a role of allowing positional displacement, deformation, and the like by spatially blurring the output from the feature detection layer 102 (1, 0). Each receptive field of the neurons in the feature integration layer has a common structure among neurons in the same layer.
[0039]
The subsequent feature detection layers 102 ((1, 1), (1, 2),..., (1, M)) and the feature integration layers 103 ((2, 1), (2, 2) ),..., (2, M)), the former ((1, 1),...) Detects a plurality of different features in each feature detection module and performs the latter ( (2, 1),...) Integrates detection results for a plurality of features from the preceding feature detection layer. However, the former feature detection layer is connected (wired) so as to receive the cell element output of the former feature integration layer. The sub-sampling, which is a process performed in the feature integration layer, is for averaging the output from a local region (local receptive field of the feature integration layer neuron) from the feature detection cell population of the same feature category. .
[0040]
Further, an operation in a process of detecting an eye from an input image will be described as a specific example with reference to FIGS.
[0041]
FIG. 3 is a flowchart for detecting an eye from an input image. In step S301, an image is input to the auxiliary memory 1015. This corresponds to the data input layer 101. Subsequently, in step S302, a primary feature amount is detected. The primary feature amounts in the eye detection are, for example, those shown in FIG. That is, features in a specific direction such as vertical (4-1-1), horizontal (4-1-2), diagonally upward (4-1-3), and diagonally downward (4-1-4) are extracted.
[0042]
Note that, as described above, the secondary feature amounts are a right empty V-shaped (4-2-1), a left empty V-shaped (4-2-2), a circle (4-2-3), and 3 The next feature amount is the eye (4-3-1). The detection processing units 1041A to 1044C are configured to detect these respective characteristic amounts, and the detection processing unit 1041A sets the vertical (4-1-1) of the primary characteristic amount, and 1042A sets the horizontal (4-1-1). 1-2), 1043A detects an upward slant (4-1-3), and 1044A detects a downward slant (4-1-4). Similarly, the detection processing means 1041B has a right empty V-shape (4-2-1) of the secondary feature amount, 1042B has a left empty V-shape (4-2-2), and 1043B has a circle (4-2-3). ) Is detected. The detection processing unit 1041C is configured to detect the eye (4-3-1).
[0043]
In the eye detection used in this example, the primary feature amount is four, the secondary feature amount is three, and the tertiary feature amount is one. Therefore, the detection processing units 1041A to 1044A and 1041B to 1043B , 1041C, but not 1044B and 1042C-1044C.
[0044]
The primary feature amount detection in step S302 corresponds to the feature detection layer 102 (1, 0), and each detection processing unit corresponds to the feature f detection module 104. The unified memory controller 1010 controls the auxiliary memory control signal 1025 to read local data centering on a certain position of the image from the auxiliary memory 1015 (this local area corresponds to the receptive field 105), and to the global data line 1030 Output. Then, they are input in parallel to the detection processing units 1041A to 1044A, respectively, and detect the respective primary feature amounts described above.
[0045]
At this time, only the processing means select signals 1111A to 1114A of the detection processing means control signals are enabled. Then, upon seeing the end signal indicating the end of the processing, the control unit 1000 enables the output signal, and the detection processing units 1041A to 1044A output the processing results to the local data lines 1061 to 1064. At the same time, the detection memory controller 1090 outputs an address to the detection address line 1080 and controls the detection memory control signals 1081 to 1084 to hold the data on each local data line in the detection memories 1071 to 1074.
[0046]
In the processing by each detection processing means, the input data and the connection weight are used. For example, when detecting the vertical (4-1-1) of the primary feature amount, the size of the receptive field is determined. Conceptually, the receptive field structure shown in FIG. 5 (hereinafter, “receptive field” indicates a coupling range between the output element of the immediately preceding layer and “receptive field structure”) is 3 * 3 and the coupling weight is 0 or 1. Means the distribution of the connection weight). In this step S302, by changing the center point of the local area read from the auxiliary memory 1015 to each point of the entire screen or each point of a predetermined sampling point over the entire screen, the primary feature amount is changed in the entire screen. Is detected. As described above, the process of moving the local region and performing the process over the entire screen is the same in the subsequent integration process and the detection of the secondary and tertiary feature amounts.
[0047]
Subsequently, in step S303, the primary feature amounts are integrated. This corresponds to the feature integration layer 103 (2, 0) and integrates data held in the detection memories 1071 to 1074 (a plurality of neuron elements in the same receptive field from the feature detection layer 102 (1, 0)). Output integration (equivalent to sub-sampling by local averaging, maximum output detection, etc.)). Each integration processing means corresponds to the integration module 106 of the feature f. The detection memory controller 1090 outputs an address on the detection address line 1080, controls the detection memory control signals 1081 to 1084, reads local data of the detection memories 1071 to 1074, and outputs the local data via the local data lines 1061 to 1064. , Each local data is input to the integration processing means 1051A to 1054A.
[0048]
In the detection process in step S302, the data input to the detection processing units 1041A to 1044A are the same, but in the integration process in step S303, the data input to the integration processing units 1051A to 1054A are: Each is different. However, since the position and the size of the receptive field of the integration processing in the input image are common to all the integration processing means 1051A to 1054A, the detection memory controller indicating the position of the data in each of the detection memories 1071 to 1074. The address from 1090 can be the same.
[0049]
That is, when local data is read from the detection memories 1071 to 1074, different addresses are not output to each of the detection memories but data is read from each of the detection memories in parallel with one address output. Also, the integration processing is performed in parallel by each of the integration processing means 1051A to 1054A. As described above, each integration processing means performs processing such as averaging of input data and detection of the maximum value.
[0050]
At this time, only the processing means select signals 1121A to 1124A of the integrated processing means control signals are enabled. Then, upon seeing the end signal indicating the end of the processing, the control means 1000 sequentially enables the output signal, and the integrated processing means 1051A to 1054A output the processing result to the global data line 1030 in a time-division manner.
[0051]
At the same time, the unified memory controller 1010 outputs an address to the unified address line 1020 and controls the unified memory control signals 1021 to 1024 to sequentially hold the data on the global data lines in the unified memories 1011 to 1014. The output of the integrated processing means 1051A can be held in the integrated memory 1011 by matching the enable timing of the output signals of the integrated processing means control signals 1121A to 1124A and the enable timing of the memory select signal of the integrated memory control signal, The output of 1052A can be held at 1012, the output of 1053A can be held at 1013, and the output of 1054A can be held at 1014.
[0052]
In the steps so far, the integrated memory 1011 holds a result obtained by integrating the results of detecting the vertical direction of the primary feature amount, 1012 holds a result obtained by integrating the results of detecting the horizontal direction, and 1013 denotes an obliquely upward right The result obtained by integrating the results of the detection of the directions is held, and reference numeral 1014 holds the result of the integration of the results of the detection of the diagonally right-down direction.
[0053]
In step S304, secondary feature amount detection is performed. This corresponds to the feature detection layer 102 (1, 1). The secondary feature amounts here are a V-shape (4-2-1, 4-2-2) and a circle (4-2-3) as shown in FIG. 4, and the V-shape is within the receptive field. Detection of two primary features in two oblique directions (4-1-3, 4-1-4) and their positional relationship are possible, and a circle indicates detection of all primary features in the receptive field. And its positional relationship.
[0054]
That is, a secondary feature amount can be detected by combining a plurality of types of primary feature amounts. The detection processing of these secondary feature amounts is performed by the detection processing units 1041B to 1043B. The unified memory controller 1010 outputs an address to the unified address line 1020 and controls the unified memory control signals 1021 to 1024 so that the unified memory 1011 to 1014 outputs the integrated local feature amount stored in the unified primary feature amount. The data is read and output to the global data line 1030.
[0055]
At this time, by sequentially changing the enable of the memory select signals of the integrated memory control signals 1021 to 1024, the output of the integrated primary feature amount is sequentially performed from the integrated memories 1011 to 1014. That is, the global data line 1030 is used in a time-sharing manner.
[0056]
As in step 302, these data are input in parallel to the detection processing units 1041B to 1043B, respectively, to detect the above-described secondary feature amounts. At this time, since there are three types of secondary feature amounts to be detected, only the processing means select signals of the detection processing means control signals 1111B to 1113B are enabled.
[0057]
Then, upon seeing the end signal indicating the end of the processing, the control unit 1000 enables the output signal, and the detection processing units 1041B to 1043B output the processing results to the local data lines 1061 to 1063. At the same time, the detection memory controller 1090 outputs an address to the detection address line 1080 and controls the detection memory control signals 1081 to 1083 to hold the data on each local data line in the detection memories 1071 to 1073.
[0058]
Subsequently, in step S305, the secondary feature amounts are integrated. This corresponds to the feature integration layer 103 (2, 1) and integrates the data held in the detection memories 1071 to 1073. The detection memory controller 1090 outputs an address on the detection address line 1080, controls the detection memory control signals 1081 to 1083, reads local data of the detection memories 1071 to 1073, and outputs the local data via the local data lines 1061 to 1063. , Each local data is input to the integration processing means 1051B to 1053B. As in step S303, each integration processing means performs processing such as averaging of input data and detection of the maximum value.
[0059]
At this time, only the processing means select signals 1121B to 1123B of the integrated processing means control signals are enabled. Then, upon seeing the end signal indicating the end of the processing, the control unit 1000 sequentially enables the output signal, and the integrated processing units 1051B to 1053B output the processing result to the global data line 1030 in a time-division manner. At the same time, the integrated memory controller 1010 outputs an address to the integrated address line 1020 and controls the integrated memory control signals 1021 to 1023 to hold data on the global data lines in the integrated memories 1011 to 1013.
[0060]
In step S306, tertiary feature amount detection is performed. This corresponds to the feature detection layer 102 (1, 2). The tertiary feature amount here is the eye (4-3-1) as shown in FIG. 4, and for that purpose, all the secondary feature amounts (V-shaped (4-2-1) in the receptive field are used. , 4-2-2) and the circle (4-2-3)) and their positional relationships may be seen. That is, a tertiary feature amount can be detected by combining a plurality of types of secondary feature amounts. The detection processing of these tertiary feature values is performed by the detection processing unit 1041C.
[0061]
The unified memory controller 1010 outputs an address to the unified address line 1020 and controls the unified memory control signals 1021 to 1023 to output the unified secondary feature amount stored in the unified memory 1011 to 1013 from the unified memory 1011 to 1013. The local data is read and output to the global data line 1030. At this time, similarly to step S304, by sequentially changing the enable of the memory select signals of the integrated memory control signals 1021 to 1023, the output of the integrated secondary feature amount is sequentially performed from the integrated memories 1011 to 1013. , The global data line 1030 is used in a time-sharing manner. These data are input to the detection processing unit 1041C, and the above-described tertiary feature amount is detected.
[0062]
At this time, since there is only one type of tertiary feature to be detected, only the processing means select signal 1111C of the detection processing means control signal is enabled. Then, upon seeing the end signal indicating the end of the processing, the control unit 1000 enables the output signal, and the detection processing unit 1041C outputs the processing result to the local data line 1061. At the same time, the detection memory controller 1090 outputs an address to the detection address line 1080 and controls the detection memory control signal 1081 to hold the data on the local data line in the detection memory 1071.
[0063]
Subsequently, in step S307, the tertiary feature amounts are integrated. This corresponds to the feature integration layer 103 (2, 2) and integrates data held in the detection memory 1071. The detection memory controller 1090 outputs an address on the detection address line 1080, controls the detection memory control signal 1081, reads out local data of the detection memory 1071, and outputs the tertiary feature amount via the local data line 1061. The local data is input to the integration processing means 1051C.
[0064]
The integration processing means performs processing such as averaging of input data and detection of the maximum value. Then, upon seeing the end signal indicating the end of the processing, the control means 1000 sequentially enables the output signal, and the integrated processing means 1051C outputs the processing result to the global data line 1030. At the same time, the integrated memory controller 1010 outputs an address to the integrated address line 1020 and controls the integrated memory control signal 1021 to hold data on the global data line in the integrated memory 1011.
[0065]
Then, the result held in the integrated memory 1011 is the final result of eye detection. Note that the result stored in the detection memory 1071 may be used as the eye detection result without performing step S307.
[0066]
As described above, according to the present embodiment, the detection process of a certain feature and the integration process of the detection result can be easily performed in parallel when performing with a plurality of features, and the processes can be performed hierarchically. It is also easy to do. Also, by storing each detection result and integration result in temporary memory, and then specifying the address of that memory and outputting the result to the data line and inputting it to each processor, even in the processing of complex receptive field structures, It is possible to prevent the wiring from becoming complicated. Furthermore, it is also possible to read out the results of each of these processes, and it is also possible to read out the results at any position held in the memory by addressing.
[0067]
The processing in the detection processing means and the integration processing means of the present embodiment can be performed by digital processing using a DSP or the like, or can be performed by analog processing in which an analog circuit converts a potential, a pulse width, and the like. Further, the detection memory and the integrated memory may be digital memories such as DRAM and SRAM, or analog memories such as FRAM.
[0068]
In other words, the processing in the detection processing means and the integrated processing means may be performed by digital processing, and the detection memory and the integrated memory may be configured by a digital memory, so that an all-digital configuration is possible. Further, the processing in the detection processing means and the integrated processing means may be performed by analog processing, and the detection memory and the integrated memory may be configured by analog memories, thereby forming an all-analog configuration. Further, the processing in the detection processing means and the integration processing means is constituted by analog processing, the detection memory and the integrated memory are constituted by digital memories, and the processing means and the A / D conversion means and the D / A conversion means between the memories are processed by the processing means. It is also possible to adopt a configuration in which the processing result obtained in step (1) is A / D converted and stored in the memory, and the result stored in the memory is D / A converted and used by the processing means.
[0069]
FIG. 6 shows an example in which the processing in the detection processing means and the integration processing means is configured by analog processing, and the detection memory and the integrated memory are configured by analog memory. In this example, a ferroelectric capacitor is used as an analog memory, and the value used in the processing means is represented by a pulse width. Therefore, a PWM conversion means for changing the amount of potential of the analog memory to a pulse width is also provided.
[0070]
6, reference numeral 6000 denotes a control means, 6010 denotes an integrated memory controller, 6211 denotes an integrated sub memory, 6020 denotes an integrated address line, 6021 denotes an integrated memory control signal, 6030 denotes a global data line, and 6041 denotes a detection processing. 6051, a local data line, 6071, a detection sub memory, 6080, a detection address line, 6081, a detection memory control signal, 6090, a detection memory controller, and 6111, a detection processing unit. A means control signal, 6121 is an integrated processing means control signal, 6220 is an integrated address decoder, 6230 is an integrated result PWM conversion means, 6240 is a detection result PWM conversion means, and 6250 is a detected address decoder.
[0071]
The configuration diagram of FIG. 6 is a part of the configuration diagram of FIG. 1, and only one part of the integration processing means, detection processing means, integrated memory, detection memory, and the like is illustrated. One integrated memory 6011 includes a plurality of integrated sub memories 6211,..., And one detection memory 6071 includes a plurality of detected sub memories 6271,.
[0072]
The operation of this circuit is basically the same as the operation of FIG. 1 described above. In FIG. 6, however, the integrated sub-memory 6211 is selected by the integrated address decoder 6220 based on the address of the integrated address line 6020 and the signal of the integrated memory controller 6010, and the detection sub-memory 6271 is selected by the detected address decoder 6250. Is performed based on the address of the detection address line 6080 and the signal of the detection memory controller 6090.
[0073]
Further, the integration result PWM conversion means 6230 converts the integration result held in the integration sub memory 6211 into a PWM signal. Further, the detection result PWM conversion means 6240 converts the detection result held in the detection sub-memory 6271 into a PWM signal. Note that PWM (Pulse Width Modulation) is a modulation method in which information is given to the width of a pulse waveform, and has digital characteristics resistant to noise (binary information of High level and Low level in the voltage direction) and It has both analog characteristics (continuous information in the time direction) that can represent continuous information with one pulse.
[0074]
FIG. 7 is a diagram showing the configuration of the integrated sub-memory 6211 and the integrated result PWM conversion means 6230. 7, 7001 is a ferroelectric capacitor, 7002 and 7003 are MOS transistors, 7004 is a comparator, and 7005 is a selector. When writing an analog value to the ferroelectric capacitor 7001, the integrated address decoder 6220 turns on the MOS transistor 7002 based on the address of the integrated address line 6020 and the signal of the integrated memory controller 6010, and the potential corresponding to the integrated result becomes strong. The value is applied to the dielectric capacitor 7001 and held.
[0075]
When reading the value, the integrated address decoder 6220 turns on the MOS transistor 7003 based on the address of the integrated address line 6020 and the signal of the integrated memory controller 6010, and the comparator 7004 causes the potential of the ferroelectric capacitor 7001 and the reference The signals are compared, and a High signal is output to generate a PWM signal until the reference signal becomes higher. Then, the PWM signal is output to the sub global data line constituting the global data line 6030 selected by the selector 7005.
[0076]
FIG. 8 is a diagram showing the global data line 6030. As described above, the global data line includes a plurality of sub global data lines 6031, 6032,. This is because the detection processing unit 6041 described below needs to input the values of a plurality of integrated sub memories to the detection processing unit 6041 in parallel in order to process the whole or part of the receptive field in parallel. . For this purpose, the integrated address decoder 6220 operates when the integrated sub-memory 6211 is in the receptive field (or a part of the receptive field) with respect to the center address of the receptive field indicated by the address of the integrated address line 6020. I have.
[0077]
In this way, for one address of the integrated address line 6020, the values of the plurality of integrated sub memories are read in parallel, and the read values are input to the detection processing means 6041 in parallel. Use multiple sub-global data lines. Although not shown in FIG. 6, since there are a plurality of detection processing units, each of which is connected to the global data line 6030, the values read in parallel are input to the detection processing unit 6041 in parallel. At the same time, it is also input to other detection processing means, and another feature is detected in parallel using the same value in the integrated sub-memory.
[0078]
FIG. 9 is a diagram showing the configuration of the detection processing means 6041. .., A2,..., A capacitor 9001, a sample-and-hold circuit 9002, and a MOS transistor 9003 as a switch. .. Have a PMOS transistor M1 functioning as a constant current source and a PMOS transistor M2 functioning as a switch. Similarly, the multiplication circuits B1,... Have an NMOS transistor M3 functioning as a constant current source and an NMOS transistor M4 functioning as a switch.
[0079]
.. Perform multiplication with the output value of the preceding neuron when the synapse load value is positive, and the multiplier circuits B1,. Performs multiplication with the output value of the neuron. At this time, the synapse load values input to the multiplication circuits B1,... Are input as absolute values. And the multiplication circuits B1,... Are paired, and the PWM signal from the global data line 6030 is commonly input to the transistors M2 and M4. At this time, in the transistors M1 and M3 operating as constant current sources, a gate voltage is applied such that one of the MOS transistors having a different sign of the weight coefficient does not operate.
[0080]
, B1,... Realize multiplication of the multiplied value P and the multiplied value Q: (P × Q). Note that P and Q satisfy the following conditional expressions.
[0081]
P ≧ 0, Q ≧ 0
Here, the multiplied value P and the multiplied value Q are the PWM signals created from the values of the integrated sub-memory as described above in order to realize the multiplication in the multiplication circuits A1,..., B1,. Vin and an analog voltage Vw, respectively.
[0082]
The PWM signal Vin converted from the multiplied value is input to the input terminal P, and the analog voltage Vw converted from the multiplied value is input to the input terminal Q.
[0083]
The voltage of the multiplication value Vw input to the input terminal Q is applied to the gate terminal of the transistor M1. The PWM signal Vin is inverted and input from the input terminal P to the gate terminal of the transistor M2.
[0084]
The PWM signal has a low level set to 0 V and a high level set to the power supply voltage Vdd (3.3 V in this embodiment). Here, when the PWM signal is at the High level, that is, when the power supply voltage Vdd is applied to the source terminal of the transistor M1, the analog voltage Vw is set to an appropriate voltage range so that the transistor M1 operates in the saturation region. , PWM signal is High level, transistor M1 can be operated as a constant current source.
[0085]
At this time, the amount of current flowing through the transistor M1 is determined by the gate-source voltage, that is, (Vdd-Vw). At this time, the pulse width of the PWM signal Vin is converted so as to be proportional to the multiplied value P. The analog voltage Vw is converted so that the amount of current determined by (Vdd-Vw) is proportional to the multiplication value Q.
[0086]
Therefore, the transistor M1 allows the current determined by the above (Vdd-Vw) to flow only while the PWM signal is at the High level, so that the amount of charge flowing through the transistor M1 is proportional to P × Q. Although the above description has been given by taking the example of the multiplying circuits A1,... Using the PMOS, the operation is similarly the same in the multiplying circuits B1,. You can think.
[0087]
Next, how the calculation results of the multiplication circuits A1,..., B1,.
[0088]
First, an operation in which the operation results of the multiplication circuits A1,... Are held in the capacitor 9001 will be described. Since a plurality of multiplying circuits A1,... Performing independent calculations are connected to the bus, respectively, the calculation results executed in parallel by the respective multiplying circuits A1,. Are stored in the capacitor 9001 through the bus and added.
[0089]
Further, the operation in which the operation results of the multiplication circuits B1,... Are held in the capacitor 9001 is the operation result executed in parallel by the multiplication circuits B1,. This is an operation of being extracted from the accumulated charge. That is, since the product-sum operation result with respect to the negative weight coefficient becomes negative, the subtraction is realized by extracting the charge held in the capacitor 9001. Note that subtraction is not performed in a state where no charge is held in the capacitor 9001. Therefore, a predetermined amount of charge is stored in the capacitor 9001 in advance. The predetermined amount may be, for example, an amount corresponding to the absolute value of the minimum value of the sum of products of the expected output value of the neuron at the previous stage and the synapse load. In this case, when the final charge amount (potential) of the capacitor 9001 is the predetermined charge amount (potential), the product-sum operation result becomes zero.
[0090]
As described above, the total charge amount stored in the capacitor 9001 indicates the total value of the operation results of the multiple multiplier circuits A1,..., B1,. ing.
[0091]
When the product-sum operation described above is completed, the control means 6000 turns on the MOS transistor 9003 of the switch, outputs the potential of the capacitor 9001 to the local data line 6061 via the sample-and-hold circuit 9002, and 6271.
[0092]
Regarding subsequent integration processing, the detection sub-memory 6271 may have the same configuration as the integration sub-memory 6211, the local data line 6061 may have the same configuration as the global data line 6030, and the integration processing unit 6051 may have the same configuration as the detection processing unit 6041. .
[0093]
In the above description, the configuration using ferroelectric capacitors for the integrated sub-memory 6211 and the detection sub-memory 6271 has been described, but other configurations are also conceivable. For example, FIG. 10 shows a configuration of an integrated sub-memory 6211 using a transistor type ferroelectric memory (FeRAM). 1001 is a transistor type ferroelectric memory, 1002 and 1003 are MOS transistors, 1004 is a comparator, and 1005 is a selector.
[0094]
When writing an analog value to the transistor type ferroelectric memory 1001, the integrated address decoder 6220 turns on the MOS transistor 1002 based on the address of the integrated address line 6020 and the signal of the integrated memory controller 6010. Then, the transistor-type ferroelectric memory 1001 is selected by a word line, and a value corresponding to the integration result is applied to the source line, thereby retaining the value.
[0095]
When reading the value, the transistor type ferroelectric memory 1001 is selected by a word line, and the integrated address decoder 6220 turns on the MOS transistor 1003 based on the address of the integrated address line 6020 and the signal of the integrated memory controller 6010. Then, the capacitor 1006 is charged with the drain current, the comparator 1004 compares the potential of the capacitor 1006 with the reference signal, and outputs a High signal until the potential of the capacitor becomes higher to generate a PWM signal. Then, the PWM signal is output to the sub-global data line constituting the global data line 6030 selected by the selector 1005.
[0096]
As described above, when an analog memory using a ferroelectric material is used, an A / D converter and a D / A converter are not required as compared with using a digital memory. This has the effect of reducing power consumption.
[0097]
In the configuration shown in FIG. 6, the integrated sub memory 6211 and the detection sub memory 6271 can be used as digital memories. In this case, the PWM signal created by the integration result PWM conversion means 6230 and the detection result PWM conversion means 6240 is a signal indicating the presence or absence of a feature.
[0098]
Next, a case where focusing on a specific subject, color correction of the specific subject, and exposure control are performed by mounting the pattern detection (recognition) device according to the configuration of the present embodiment on the imaging device will be described with reference to FIG. I do. FIG. 11 is a diagram illustrating a configuration of an example in which the pattern detection (recognition) device according to the embodiment is used for an imaging device.
[0099]
In FIG. 11, an imaging device 5101 includes an imaging optical system 5102 including a photographing lens and a drive control mechanism for zoom photographing, a CCD or CMOS image sensor 5103, an imaging parameter measurement unit 5104, a video signal processing circuit 5105, a storage unit 5106, A control signal generating unit 5107 for generating a control signal for controlling an imaging operation, controlling an imaging condition, etc .; a display display 5108 also serving as a finder such as an EVF; a strobe light emitting unit 5109; a recording medium 5110; The detection device is provided as a subject detection (recognition) device 5111.
[0100]
The imaging apparatus 5101 performs detection (detection of the position and size) of a face image of a person registered in advance from, for example, a captured video by using a subject detection (recognition) apparatus 5111. Then, when the position and size information of the person is input from the subject detection (recognition) device 5111 to the control signal generation unit 5107, the control signal generation unit 5107 outputs the person based on the output from the imaging parameter measurement unit 5104. , A control signal for optimally performing focus control, exposure condition control, white balance control, and the like.
[0101]
By using the above-described pattern detection (recognition) device in the imaging device in this way, it becomes possible to perform optimal detection control and shooting based on the person detection.
[0102]
Hereinafter, features of the present invention according to the above embodiment will be summarized.
[0103]
Features 1.
In a pattern recognition device that detects a predetermined pattern included in an input signal,
A plurality of detection processing means for detecting one different feature from the same input,
A plurality of integrated processing means for spatially integrating the features detected by the plurality of detection processing means for each processing result;
A plurality of detection memories for holding processing results of the detection processing means;
A plurality of integrated memories holding processing results of the integrated processing means,
A shared data line to which the predetermined detection processing means and the predetermined integrated memory are connected at a predetermined timing;
A plurality of local data lines each connected to the predetermined detection processing means, the integration processing means, and the detection memory,
The integrated processing means, read and input the processing results of the detection processing means held in a plurality of the detection memory,
Read the processing result of the integrated processing means held in the integrated memory, operates to input to the plurality of detection processing means,
A pattern recognition device, wherein the detection memory and / or the integrated memory is a memory configured from an element using a ferroelectric material.
[0104]
Features2.
The pattern recognition device according to Feature 1, wherein the detection memory and / or the integrated memory includes a ferroelectric capacitor.
[0105]
Features 3.
The pattern recognition device according to Feature 1, wherein the detection memory and / or the integrated memory is configured by a transistor-type ferroelectric memory.
[0106]
Features 4.
A plurality of holding units; an address line indicating an address corresponding to the plurality of holding units; a plurality of processing units for processing a signal based on a value held by the plurality of holding units; the plurality of holding units; In a pattern recognition device having a data line connected to a plurality of processing means,
For one address of the address line, a value held in a part or all of the plurality of holding units is read out in parallel, and a signal based on the value is transmitted through the data line. The same signal is input in parallel to the processing means to perform pattern recognition processing, and the same signal is input in parallel to some or all of the plurality of processing means connected to the data line. A pattern recognition device, wherein another pattern recognition process is performed in parallel.
[0107]
【The invention's effect】
As described above, according to the present invention, by using a shared data line and a local data line, and a memory, a simple circuit configuration without using complicated wiring can be performed by a plurality of processing units. There is an effect that hierarchical processing such as parallel processing by a plurality of processing means can be performed in parallel with respect to the plurality of obtained results.
[0108]
In the detection processing, parallel operation is possible by inputting the same data to a plurality of predetermined detection processing means, and when reading a value from the integrated memory, a plurality of values are assigned to one address. The processing time can be reduced by reading in parallel and inputting it to the detection processing means in parallel.
[0109]
Furthermore, in the integration processing for spatially integrating the processing results of each detection processing, an address indicating a position in each memory is shared by a plurality of detection memories each holding a result of a different feature detection. In this case, the integration processing can be performed in parallel. Further, there is an effect that these detection / integration processing means can be repeated any number of times.
[0110]
Further, by using an element using a ferroelectric material for a memory, there is an effect that a circuit area and power consumption can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first embodiment.
FIG. 2 is a diagram illustrating a Convolutional network structure.
FIG. 3 is a flowchart illustrating the operation of the first embodiment.
FIG. 4 is a diagram showing a feature value;
FIG. 5 is a diagram illustrating an example of feature amount detection.
FIG. 6 is a diagram showing a configuration when analog processing means and an analog memory are used.
FIG. 7 is a diagram showing a configuration of an analog memory.
FIG. 8 is a diagram showing a configuration of a global data line.
FIG. 9 is a diagram illustrating a configuration of a detection processing unit.
FIG. 10 shows a configuration of an analog memory.
FIG. 11 is a diagram illustrating a configuration of an example in which the pattern recognition device according to the embodiment is used for an imaging device.

Claims (1)

入力信号の中に含まれる所定のパターンを検出するパターン認識装置において、
同一の入力に対しそれぞれ異なる1つの特徴を検出するための複数の検出処理手段と、
前記複数の検出処理手段で検出された特徴を、各処理結果毎に、空間的に統合する複数の統合処理手段と、
前記検出処理手段の処理結果を保持する複数の検出メモリと、
前記統合処理手段の処理結果を保持する複数の統合メモリと、
所定のタイミングで所定の前記検出処理手段及び所定の前記統合メモリが接続される共有データ線と、
それぞれ所定の前記検出処理手段と前記統合処理手段と前記検出メモリとが接続される複数の局所データ線とを有し、
前記統合処理手段に、複数の前記検出メモリに保持された前記検出処理手段の処理結果を読み出して入力するようにし、
前記統合メモリに保持された前記統合処理手段の処理結果を読み出して、複数の前記検出処理手段に入力するように動作し、
前記検出メモリ及び/または統合メモリが、強誘電体材料を用いた素子から構成されているメモリであることを特徴とするパターン認識装置。
In a pattern recognition device that detects a predetermined pattern included in an input signal,
A plurality of detection processing means for detecting one different feature from the same input,
A plurality of integrated processing means for spatially integrating the features detected by the plurality of detection processing means for each processing result;
A plurality of detection memories for holding processing results of the detection processing means;
A plurality of integrated memories holding processing results of the integrated processing means,
A shared data line to which the predetermined detection processing means and the predetermined integrated memory are connected at a predetermined timing;
A plurality of local data lines each connected to the predetermined detection processing means, the integration processing means, and the detection memory,
The integrated processing means, read and input the processing results of the detection processing means held in a plurality of the detection memory,
Read the processing result of the integrated processing means held in the integrated memory, operates to input to the plurality of detection processing means,
A pattern recognition device, wherein the detection memory and / or the integrated memory is a memory configured from an element using a ferroelectric material.
JP2002322716A 2002-11-06 2002-11-06 Pattern recognition device Withdrawn JP2004157754A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002322716A JP2004157754A (en) 2002-11-06 2002-11-06 Pattern recognition device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002322716A JP2004157754A (en) 2002-11-06 2002-11-06 Pattern recognition device

Publications (1)

Publication Number Publication Date
JP2004157754A true JP2004157754A (en) 2004-06-03

Family

ID=32802822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002322716A Withdrawn JP2004157754A (en) 2002-11-06 2002-11-06 Pattern recognition device

Country Status (1)

Country Link
JP (1) JP2004157754A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266501A (en) * 2008-04-24 2009-11-12 Panasonic Electric Works Co Ltd Illumination system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266501A (en) * 2008-04-24 2009-11-12 Panasonic Electric Works Co Ltd Illumination system

Similar Documents

Publication Publication Date Title
JP4846924B2 (en) Pattern recognition device
US11657257B2 (en) Spiking neural network
Qian et al. Deep learning for steganalysis via convolutional neural networks
Jalalvand et al. On the application of reservoir computing networks for noisy image recognition
JP2005352900A (en) Device and method for information processing, and device and method for pattern recognition
Zhang et al. Facial smile detection based on deep learning features
JP2005215988A (en) Method and apparatus for learning pattern recognition, image input device, computer program and recording medium readable by computer
WO2005083632A1 (en) Reference data optimization learning method and pattern recognition system
Rodriguez-Vazquez et al. CMOS vision sensors: Embedding computer vision at imaging front-ends
US10777259B1 (en) Static random-access memory (SRAM) for in-memory computing
WO2021118270A1 (en) Method and electronic device for deblurring blurred image
EP3824413A1 (en) Neural networks having reduced number of parameters
Bomatter et al. When pigs fly: Contextual reasoning in synthetic and natural scenes
JP4579798B2 (en) Arithmetic unit
WO2021041526A1 (en) Programmable circuits for performing machine learning operations on edge devices
Sharan et al. Automated cnn based coral reef classification using image augmentation and deep learning
US10650307B2 (en) Neuromorphic architecture for unsupervised pattern detection and feature learning
JP2004157754A (en) Pattern recognition device
JP4314017B2 (en) Hierarchical processing device
CN113516676B (en) Angular point detection method, impulse neural network processor, chip and electronic product
Basu et al. Modified capsule neural network (Mod-CapsNet) for indoor home scene recognition
JP4773680B2 (en) Information processing apparatus and method, program recording medium, and program
CN117172285A (en) Sensing network and data processing method
Bakambekova et al. Generate while sensing-intelligent imaging with memristive pixel-CNN
US20180276537A1 (en) Neural Architectures and Systems and Methods of Their Translation

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110