Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4546157B2 - 情報処理方法、情報処理装置、撮像装置 - Google Patents
[go: Go Back, main page]

JP4546157B2 - 情報処理方法、情報処理装置、撮像装置 - Google Patents

情報処理方法、情報処理装置、撮像装置 Download PDF

Info

Publication number
JP4546157B2
JP4546157B2 JP2004166136A JP2004166136A JP4546157B2 JP 4546157 B2 JP4546157 B2 JP 4546157B2 JP 2004166136 A JP2004166136 A JP 2004166136A JP 2004166136 A JP2004166136 A JP 2004166136A JP 4546157 B2 JP4546157 B2 JP 4546157B2
Authority
JP
Japan
Prior art keywords
output value
layer
neuron
output
data
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.)
Expired - Fee Related
Application number
JP2004166136A
Other languages
English (en)
Other versions
JP2005346472A5 (ja
JP2005346472A (ja
Inventor
克彦 森
優和 真継
美絵 石井
裕輔 御手洗
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 JP2004166136A priority Critical patent/JP4546157B2/ja
Priority to US11/579,981 priority patent/US7991719B2/en
Priority to PCT/JP2005/010535 priority patent/WO2005119589A1/en
Publication of JP2005346472A publication Critical patent/JP2005346472A/ja
Publication of JP2005346472A5 publication Critical patent/JP2005346472A5/ja
Application granted granted Critical
Publication of JP4546157B2 publication Critical patent/JP4546157B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Description

本発明は、階層型ニューラルネットワークの演算処理を行うための技術に関するものである。
従来、画像認識や音声認識の分野においては、特定の認識対象に特化した認識処理アルゴリズムをコンピュータソフトとして逐次演算して実行するタイプ、或いは専用並列画像処理プロセッサ(SIMD、MIMDマシン等)により実行するタイプに大別される。
例えば、専用並列処理プロセッサに関しては、例えば従来の物体識別装置は、画像処理プロセッサユニットを複数用意し、それらのプロセッサユニットに搭載されているDSPで演算処理を行い、それらの複数の結果を別のユニットに転送して物体識別を行っている(例えば特許文献1を参照)。例えば、画像を複数の領域に分け、各プロセッサで各領域の処理を並列に行い、別のプロセッサユニットで物体の識別の推論をニューラルネットワークやファジイ制御を用いて行うものである。
また、ニューラルネットによる階層並列処理を行うハードウェアとして、例えば従来の階層構造ニューラルネットは、単層のハードウェアを時分割多重化使用して多層化することを可能とする階層構造ニューラルネットのアーキテクチャである。即ち、複数のニューロンモデルを相互に接続することにより形成されるニューラルネットにおいて、時分割多重化アナログ信号を外部からのデジタル重みデータとの積を生成し、かつその積を時分割的にコンデンサを介して加えることにより積分し、非線形出力関数を通した電圧を時分割的に出力することを可能とするニューロンモデルユニットを複数設置して単層のユニット集合を形成する単層ユニット集合手段と、単層ユニット集合手段の出力を同じ単層ユニット集合の入力部に帰還する帰還手段と、単層ユニット集合手段から出力される各ユニットからのアナログ信号を時分割多重化し、さらに帰還手段を介して単層ユニット集合手段を時分割多重使用するための制御を実行する制御手段とを有し、単層構造のユニット集合手段を時分割多重使用することにより等価的に階層構造のニューラルネットを形成するように構成されている(例えば特許文献2を参照)。
一方、ニューラルネットワークは、脳の情報処理方式を基に形成された数理ネットワークであり、階層型ニューラルネットワークを用いて画像中のパターンを認識・分類する方法が近年数多く提案されている。例えば、一般的に幅広く知られているものに、誤差逆伝播法により学習する多層パーセプトロン型のニューラルネットワークがある。この多層パーセプトロン型のニューラルネットワークは、入力層として入力ベクトルの次数、出力層として識別するカテゴリの数だけのユニットを用意し、さらに中間層の層数及びユニット数を十分な数だけ用意し、そのユニット間を全結線したものである。
例えば従来のニューラルネットワーク回路は、与えられた画像等の特徴データをネットワークの演算の実行によって認識処理する多層のニューラルネットワーク回路において、小規模のハードウェアにより構成可能で、対象とする認識物を高速に認識することを目的としている(例えば特許文献3を参照)。その手段としては、結合係数が有効なネットに対してのみ演算を実行することで、演算の高速化を図っている。
また、従来の信号処理装置は、複数の信号を入力とし、1つの信号を出力する複数個の学習機能つき神経細胞模倣素子を結合させた回路網からなり、回路網の入力側及び出力側にそれぞれ入力(または出力)の冗長な情報または不必要な情報を削除する信号情報削除手段を設けている(例えば特許文献4を参照)。
特開平6−6793号公報 特許2679730号公報 特許03172278号公報 特開平6−83796号公報
上記のように、膨大な計算を必要とする画像処理において、専用機による並列化処理によって高速演算が実現されつつある。しかし、識別する対象が複雑になるにつれて計算量は増大していく。
ニューラルネットワークのハードウェア化を考えた場合でも、生体の脳細胞の数を考えれば、より複雑な処理を行うためには規模が大きくなることが予想される。従来のような方法でハードウェア化を実現しようとする場合、ニューロンの結合数は膨大になり、並列化処理を行うにしても演算速度に限界がある。また、製品に搭載されるようなチップを作るとすれば回路の大きさ、消費電力は小さいものが望まれる。
上記特許文献3で開示されているニューラルネットワーク回路では、結合係数が有効なネット、すなわち0でないネットに対してのみ演算を実行することで、演算処理速度の向上を図っているが、結合係数の値にノイズ成分が含まれている場合には対応しておらず、結局演算を行うことになる。また、重み係数の更新に関して、結合係数が0以外のニューロンに対してのみ行っているため、結合係数が0の場合の重み係数の学習が行えない。すなわち、汎化性に欠けると予想される。
また、特許文献4に開示される信号処理装置は、入力または出力の冗長な情報または不必要な情報を削除して回路網に入力させる信号情報削除手段を設けることで学習を容易なものにしようとしているが、特許文献3と同様に、削除した部分に対して重み係数の学習が行えない。
本発明は以上の問題に鑑みてなされたものであり、ニューラルネットワークを用いてパターンの認識処理を行う場合に、この処理に必要なメモリ使用量を軽減させることを第1の目的とする。
また本発明の第2の目的は、このニューラルネットワークの演算に係る計算量を軽減させることにある。
また、本発明の第3の目的は、第1、2の目的で述べたような演算処理量、及び使用メモリ量の軽減を行うと共に、重み係数の高速学習、パターン認識に関して優れた汎化性を実現することにある。
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
すなわち、前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークを用いた計算処理によって、入力画像中のパターンを検出する情報処理装置であって、
処理対象層の前段の層内のニューロンの出力値と、当該処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を、それぞれの層について順次行う出力値計算手段と、
前記出力値計算手段が計算した検出層内の各ニューロンの出力値を参照し、出力値が値以上であるニューロンのみ、その出力値のデータをメモリに格納する第1の格納制御手段と、
前記出力値計算手段が計算した統合層内の各ニューロンの出力値のデータを前記メモリに格納する第2の格納制御手段と、
前記出力値計算手段が、処理対象層内の各ニューロンの出力値を計算する為に参照する、当該処理対象層の前段の層内のニューロンの出力値のデータを、前記メモリから読み出して前記出力値計算手段に供給する供給手段とを備え、
前記供給手段は、検出層内のニューロンの出力値のデータを前記出力値計算手段に供給する場合、前記第1の格納制御手段によって前記メモリに格納されなかったニューロンの出力値のデータの代わりに、予め設定された値を有するデータを供給することを特徴とする。
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
すなわち、前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークにおいて、予め設定された出力を得るために層間の重み係数を修正する処理を行う情報処理装置であって、
処理対象層の前段の層内のニューロンの出力値と、前記処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を行う出力値計算手段と、
前記出力値計算手段が計算した処理対象層内の各ニューロンの出力値を参照し、出力値が値以上であるニューロンのみ、その出力値のデータをメモリに格納する格納制御手段と、
前記メモリに格納された出力値のデータ、及び前記メモリに格納されなかったニューロンの出力値のデータの代わりとなる予め設定された値を有するデータ、とからなる前記処理対象層の出力値データと、前記予め設定された出力のデータとの誤差に基づいて、前記処理対象層とその前段の層との間の重み係数を修正する修正手段と、
前記出力値計算手段が、前記処理対象層内の各ニューロンの出力値を計算する為に参照する、前記格納制御手段が前記メモリに格納したデータを、前記メモリから読み出して前記出力値計算手段に供給する供給手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
すなわち、前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークを用いた計算処理によって、入力画像中のパターンを検出する情報処理装置が行う情報処理方法であって、
前記情報処理装置が有する出力値計算手段が、処理対象層の前段の層内のニューロンの出力値と、当該処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を、それぞれの層について順次行う出力値計算工程と、
前記情報処理装置が有する第1格納制御手段が、前記出力値計算工程で計算した検出層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する第1の格納制御工程と、
前記情報処理装置が有する第2格納制御手段が、前記出力値計算工程で計算した統合層内の各ニューロンの出力値のデータを前記メモリに格納する第2の格納制御工程と、
前記情報処理装置が有する供給手段が、前記出力値計算工程で、処理対象層内の各ニューロンの出力値を計算する為に参照する、当該処理対象層の前段の層内のニューロンの出力値のデータを、前記メモリから読み出して前記出力値計算工程に供給する供給工程とを備え、
前記供給工程では、検出層内のニューロンの出力値のデータを前記出力値計算工程に供給する場合、前記第1の格納制御工程で前記メモリに格納されなかったニューロンの出力値のデータの代わりに、予め設定された値を有するデータを供給することを特徴とする。
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
すなわち、前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークにおいて、予め設定された出力を得るために層間の重み係数を修正する処理を行う情報処理装置が行う情報処理方法であって、
前記情報処理装置が有する出力値計算手段が、処理対象層の前段の層内のニューロンの出力値と、前記処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を行う出力値計算工程と、
前記情報処理装置が有する格納制御手段が、前記出力値計算工程で計算した処理対象層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する格納制御工程と、
前記情報処理装置が有する修正手段が、前記メモリに格納された出力値のデータ、及び前記メモリに格納されなかったニューロンの出力値のデータの代わりとなる予め設定された値を有するデータ、とからなる前記処理対象層の出力値データと、前記予め設定された出力のデータとの誤差に基づいて、前記処理対象層とその前段の層との間の重み係数を修正する修正工程と、
前記情報処理装置が有する供給手段が、前記出力値計算工程で、前記処理対象層内の各ニューロンの出力値を計算する為に参照する、前記格納制御工程で前記メモリに格納したデータを、前記メモリから読み出して前記出力値計算工程に供給する供給工程と
を備えることを特徴とする。
本発明の構成により、ニューラルネットワークを用いてパターンの認識処理を行う場合に、この処理に必要なメモリ使用量を軽減させることができる。また、このニューラルネットワークの演算に係る計算量を軽減させることができる。また、演算処理量、及び使用メモリ量の軽減を行うと共に、重み係数の高速学習、パターン認識に関して優れた汎化性を実現することができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、本実施形態で用いる、階層型ニューラルネットワークの構成を示す図である。これは、並列階層処理により画像認識を行う神経回路網を形成したものである。この神経回路網は、入力データ中の局所領域において、対象または幾何学的特徴などの認識に関与する情報を階層的に扱うものであり、その基本構造はいわゆるConvolutionalネットワーク構造(Lecun,Y.and Bengio,Y.,1995,”Convolutional Network for Images Speech, and Time Series” in Handbook of Brain Theory and Neural Networks(M. Arbib,Ed.),MIT Press,p.255−258)を有している。最終層(最上位層、同図では層103(2,N)に相当)からの出力は認識結果としての認識された対象のカテゴリとその入力データ上の位置情報である。
データ入力層101は、CMOSセンサ、或いはCCD素子等の光電変換素子からの局所領域データを入力する層である。最初の特徴検出層102(1,0)は、データ入力層101より入力された入力画像(画像パターン)の局所的な低次の特徴(特定方向成分、特定空間周波数成分などの幾何学的特徴のほか色成分特徴を含んでもよい)を入力画像中の各位置を中心として局所領域(或いは、全画面にわたる所定のサンプリング点の各点を中心とする局所領域)において同一箇所で複数のスケールレベルまたは解像度で複数の特徴カテゴリの数だけ検出する。
特徴統合層103(2,0)は、所定の受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)を有し、特徴検出層102(1,0)からの同一受容野内にある複数のニューロン出力素子の統合(局所平均化、最大出力検出等によるサブサンプリングなどの演算)を行う。この統合処理は、特徴検出層102(1,0)からの出力を空間的にぼかすことで、位置ずれや変形などを許容する役割を有する。また、特徴統合層内のニューロンの各受容野は同一層内のニューロン間で共通の構造を有している。
後続の層である各特徴検出層102((1,1)、(1,2)、・・・、(1,M))及び各特徴統合層103((2,1)、(2,2)、・・・、(2,M))は、上述した各層と同様に前者((1,1)、・・・)は、各特徴検出モジュールにおいて複数の異なる特徴の検出を行い、後者((2,1)、・・・)は、前段の特徴検出層からの各特徴に関する検出結果の統合を行う。但し、前者の特徴検出層は前段の特徴統合層の細胞素子出力を受けるように結合(配線)されている。特徴統合層で行う処理であるサブサンプリングは、同一特徴カテゴリの特徴検出細胞集団からの局所的な領域(当該特徴統合層ニューロンの局所受容野)からの出力についての平均化などを行うものである。
以上のように、本実施形態で用いる階層型ニューラルネットワークは、検出層、統合層が交互に配置された構成を備える。尚、以下の説明ではN=2、すなわち、特徴検出層、特徴統合層のセットが3セット備わっている階層型ニューラルネットワークを用いるものとする。
次に、入力画像から検知する対象として、目を用いた場合について説明する。すなわち、図1のデータ入力層101に目の画像を含む入力画像を入力した場合に、同図の階層型ニューラルネットワークを用いて、この「目」を認識する場合の一連の処理について説明する。
図2は、入力画像から目を検知する為の処理のフローチャートである。先ずステップS201において、データ入力層101に入力画像を入力する。続いてステップS202において、特徴検出層102(1,0)は、この入力画像から1次特徴量を検出する。
目の検出における1次特徴量は例えば図3に示如く、縦(3−1−1)・横(3−1−2)・右上がり斜め(3−1−3)・右下がり斜め(3−1−4)といった特定方向の特徴である。従って特徴検出層102(1,0)では、入力画像からこのような特徴を検出する処理を行う。従ってデータ入力層101と特徴検出層102との間の結合定数は、特徴検出層102(1,0)が、データ入力層101からの入力画像から、このような1次特徴量を検出できるように構成されている。このような結合定数の構成は周知のものであるので、ここでの説明は省略する。
ちなみに、2次特徴量は例えば、右空きV字(3−2−1)・左空きV字(3−2−2)であり、3次特徴量が目(3−3−1)である。図3は、目の1次特徴量、2次特徴量、3次特徴量の例を示す図である。
ここで、1つの層内の各ニューロンの演算は以下の式(特徴の種別を示すインデックスは省略)に従って処理を行う。
Figure 0004546157
Figure 0004546157
ここでu(k)(r)は、階層kの位置ベクトルrに対応するニューロンの入力和であり、w(k)(r’−r)は、階層k内の位置r’に対応するニューロンと階層(k−1)の位置rに対応するニューロン出力との結合の強さを示す重み係数、y(k−1)(r)は階層(k−1)の位置rにあるニューロンの出力である。
式1に従って計算される入力和は非線形な関数fによって変換されて出力される。出力関数にはいろいろな種類があるが、ここでは次式に示すロジスティック関数
Figure 0004546157
を用いる。
ここで、aは正の定数である。ロジスティック関数は図4に示すような形状の関数であり、入力和を0から1の間の実数値に正規化するものである。すなわち、ニューロンの出力値は0〜1の範囲に限定される。
以下に、より詳細に特徴検出処理について説明する。
まず、画像のある位置を中心とする局所データを読み出し(この局所領域が受容野105に対応し、式中のy(k−1)(r)となる)、この読み出されたデータと重み係数との積和演算を式(1)に従って行い、入力和を求める。
そして、入力和から式(2)に従ってニューロンの出力を算出する。このようにして求まったニューロン出力は局所領域の中心点の出力となる。なお、この処理は局所領域を移動させて入力画像の各点において行う。このように、局所領域を移動させて入力画像全体に渡って処理を行うことは以降の統合処理や2次、3次の特徴量検出処理においても同様である。
続いてステップS203で、特徴統合層103(2,0)により1次特徴量を統合する処理を行う。ここで用いる重み係数の分布は例えばガウシアンがあり、統合処理を行うことにより、特徴検出層102(1,0)からの出力を空間的にぼかし、位置ずれや変形などを許容する役割を持つ。
ステップS204では、特徴検出層102(1,1)により2次特徴量検出を行う。ここでの2次特徴量とは、図3に示すようにV字パターン(3−2−1,3−2−2)であり、受容野内における1次特徴量の、主に2つの斜め方向パターン(3−1−3,3−1−4)の検出とその位置関係から検出可能である。つまり、複数種類の1次特徴量を組み合わせて2次特徴量を検出することができる。
よって特徴検出層102(1,1)は、特徴統合層103(2,0)で統合された1次特徴量の局所データを用いて、ステップS202での処理と同様に、V字を検出するための重み係数を適用した式(1)に従った積和演算により入力和を求める。ここで、V字を検出するための重み係数とは、特徴検出層102(1,1)と特徴統合層103(2,0)との間の結合定数であって、その構成は周知のものであるので、ここでの説明は省略する。そして、入力和から式(2)によりニューロンの出力を算出し、2次特徴量を検出する。
続いてステップS205で、特徴統合層103(2,1)によって2次特徴量を統合する。ここで用いる重み係数の分布は、例えばガウシアンがある。統合処理を行うことにより、特徴検出層102(1,1)からの出力を空間的にぼかし、位置ずれや変形などを許容する役割を持つ。
そして、ステップS206では、特徴統合層103(2,1)の次の層である特徴検出層102(1,2)によって、3次特徴量検出を行う。ここでの3次特徴量とは、図3に示すように目(3−3−1)であり、受容野内における2次特徴量の、2つのV字(3−2−1,3−2−2)の検出とその位置関係から検出可能である。つまり、複数種類の2次特徴量を組み合わせて3次特徴量を検出することができる。
よって特徴検出層102(1,2)は、特徴統合層103(2,1)で統合された2次特徴量の局所データを用いて、ステップS202での処理と同様に、目を検出するための重み係数を適用した式(1)に従った積和演算により入力和を求める。ここで、目を検出するための重み係数とは、特徴検出層102(1,2)と特徴統合層103(2,1)との間の結合定数であって、その構成は周知のものであるので、ここでの説明は省略する。そして、入力和から式(2)によりニューロンの出力を算出し、3次特徴量を検出する。
続いてステップS207で、特徴検出層102(1,2)の次の層である特徴統合層103(2,2)により、3次特徴量を統合する。ここで用いる重み係数の分布は、例えばガウシアンがある。統合処理を行うことにより、特徴検出層102(1,2)からの出力を空間的にぼかし、位置ずれや変形などを許容する役割を持つ。
そして、この3次特徴量を統合した結果が目の検出の最終結果となる。なお、上記ステップS207を行わずに、ステップS206において検出された結果を目の検出結果としてもよい。ただし、以上の説明において、1次特徴から3次特徴は図3に示すような局所特徴に限定される必要はない。
以上説明したように、入力画像から低次特徴を検出し、それをもとに中次特徴を検出、さらに高次特徴検出、というように階層的に処理を行い、パターン認識を行うことができる。これらの処理は複数の特徴で行う際、容易に並列して行うことも可能である。上記の処理をハードウェアでもって実装する場合、1つの層における処理結果(各検出結果や統合結果)を一旦メモリに保持し、次の層に係る処理を行う場合にはこのメモリからデータを読み出して用いるという工程を繰り返し行うことになる。
図5は上記処理をハードウェアでもって実行する場合のハードウェアの機能構成を示す図である。なお、メモリ503には、予め1次特徴量検出用の重み係数データ、2次特徴量検出用の重み係数データ、3次特徴量検出用の重み係数データが保持されており、必要に応じて読み出して用いられるものとする。
入力画像のデータはデータ入力部501を介して演算処理部502に入力する。演算処理部502は先ず、特徴検出層処理(特徴検出層102(1,0)における処理)を行うために特徴検出層処理部504を制御して、上記ステップS202における処理を実行させ、1次特徴検出処理を行う。この1次特徴検出処理は、すなわち、図1では特徴検出層102(1,0)を構成する各ニューロンの出力値を計算する処理に相当する。また、この1次特徴量検出処理の際、メモリ503から、上記1次特徴量検出用の重み係数のデータを読み出して用いるものとする。そしてこのようにして求めた各ニューロンの出力値のデータを一旦メモリ503に格納する。
続いて、演算処理部502は、特徴統合層処理(特徴統合層103(2,0)における処理)を行うために統合層処理部505を制御して、上記ステップS203における処理を実行させ、1次特徴統合処理を行う。詳しくは、先ず、メモリ503より、先に格納した1次特徴量の局所データ(各ニューロンの出力値のデータ)を読み出し、読み出したデータに基づいて、上記ステップS203における統合処理を行うべく、統合層処理部505を制御する。そして、このようにして得られる統合処理結果(図1における特徴統合層103(2,0)を構成する各ニューロンの出力値に相当)をメモリ503に格納する。 以降、同様にして、メモリ503から前段の層を構成する各ニューロンの出力値のデータを読み出して、特徴量検出処理、統合処理を交互に行う。その際、特徴検出層処理部504、統合層処理部505の何れかを制御して行う。また、ニューロンの出力値を計算する際には、メモリ503から2次特徴量検出用の重み係数のデータ、3次特徴量検出用の重み係数のデータを読み出して用いるものとする。
以上のようにして、ハードウェアでもって図2に示したフローチャートに従った処理を行うことができる。
なお、上記の処理は、入力画像が大きくなったり、検出したい特徴が複雑になったりして必要とされる階層数が増えたりすることによって、計算量及び保持するメモリ量が増大する。そこで、特徴検出を行って得られたニューロンの出力値がある閾値(例えば0.4)以下であった場合には、そのニューロンの出力値または内部状態値(積和演算結果)はメモリに格納しないという処理を行う(内部状態値を格納した際には、これを読み出す場合に、上記関数fでもって変換した値として読み出す)。このような処理方法を以下、ニューロンのプルーニングと呼び、このプルーミングは図1に示した107のプルーニングモジュールによって行われる。
そして、ある階層で特徴検出を行う際に前階層のニューロンの出力値をメモリから読み出す時に、その階層のニューロンが結合を受ける前階層の局所領域(以下これを受容野とする)全てのニューロンの出力値がメモリには格納されていない場合には、その中心点の特徴検出結果は計算は行わず、またその処理結果は当然メモリに格納しないようにする。また、受容野のいくつかのニューロンの出力値がメモリに保持されていない場合には、保持されていないニューロン出力値の代わりにある定数(例えば0.1)を用いて重み係数との積和演算し、検出処理を行う。
以下では、図2に示した処理において、このようなプルーミングを行った場合の一連の処理について説明する。
図6は、図2に示した処理において、上記プルーミングを行う場合の処理のフローチャートである。尚、同図では、2次特徴検出時にプルーニングを行うものとする。よって、1次特徴検出処理であるステップS601〜ステップS604の各ステップにおける処理は、前述したステップS201〜ステップS204の各ステップと同じであるので、これらのステップに関する説明は省略する。
ステップS601〜ステップS604における処理により、特徴検出層102(1,1)を構成する各ニューロンの出力値が求まったので、これを後段の層における処理のためにメモリに格納するのであるが、ステップS605では、これらのニューロンの出力値に対するプルーニングを行う。すなわち、ステップS604により特徴検出を行って得られたニューロンの出力値がある閾値(例えば0.4)以下であった場合には、そのニューロンの出力値または内部状態値(積和演算結果)は省略し、メモリには格納しないといった格納制御処理を行う。
続いてステップS606では、ステップS205と同様にして2次特徴量を統合する処理を行うのであるが、その際には、前段の層(特徴検出層102(1,1))を構成する各ニューロンの出力値を用いるので、ステップS605でメモリに格納されたデータを読み出すのであるが、ステップS605でメモリに格納されなかったニューロンの出力値の代わりとしては0を読み出す。また、2次特徴量統合結果はニューロンの出力値が0の場合はメモリに格納しなくて良い。
そしてステップS607では、ステップS206と同様にして3次特徴量検出処理を行うのであるが、その際には、前段の層(特徴統合層103(2,1))を構成する各ニューロンの出力値を用いるので、ステップS605でメモリに格納されたデータを読み出すのであるが、ステップS605で受容野全てのニューロンの出力値がメモリに格納されていなかった場合には、特徴検出層102(1,2)を構成する各ニューロンの出力値の計算は行わず、次のステップS608での3次特徴量検出結果のプルーニングにより省略される対象のニューロンとなる。
また、ステップS607において、受容野のいくつかのニューロンの出力値がメモリに保持されていない場合には、保持されていないニューロン出力値の代わりにある定数(例えば0.1)を用いて重み係数との積和演算し、検出処理を行う。
そしてステップS608では、これらのニューロンの出力値に対するプルーニングを行う。すなわち、ステップS607により特徴検出を行って得られたニューロンの出力値がある閾値(例えば0.4)以下であった場合には、そのニューロンの出力値または内部状態値(積和演算結果)は省略し、メモリには格納しないといった格納制御処理を行う。
続いて、ステップS609で、ステップS207と同様にして3次特徴量を統合する処理を行うのであるが、その際には、前段の層(特徴検出層102(1,2))を構成する各ニューロンの出力値を用いるので、ステップS608でメモリに格納されたデータを読み出すのであるが、ステップS608でメモリに格納されなかったニューロンの出力値の代わりとしては0を読み出す。また、3次特徴量統合結果はニューロンの出力値が0の場合はメモリに格納しなくて良い。
そして、この3次特徴量を統合した結果を目の検出の最終結果として出力する。なお、上記ステップS609を行わずに、ステップS608においてメモリに保持された結果を目の検出結果としてもよい。ただし、以上の説明において、1次特徴から3次特徴は図3に示すような局所特徴に限定される必要はない。
次に、ニューロンのプルーニング処理を行った後の特徴検出層の処理について、図7のフローチャートを用いて詳細に説明する。
先ずステップS701において、出力値を算出するニューロンを決定する。続いてステップS702において、ステップS701で決定したニューロンに結合する前階層の受容野のニューロンの出力値をメモリから読み出す。
そして、ステップS703で、読み出した受容野内のニューロンの出力値が全てプルーニングされているかの判定を行う。もし、全てのニューロンがプルーニングされていたならば、ステップS701で指定したニューロンの出力値を計算する処理は行わず、当然、この出力値のデータはないのでメモリに保持しない。そして処理をステップS701に戻し、まだ出力値を算出していないニューロンを決定し、以下同様の処理を行う。
一方、ステップS703において、全てのニューロンがプルーニングされていなかった場合は、ステップS704に進み、プルーニングされたニューロンに対してその出力に0でない所定の値を代入する。そして、ステップS705で特徴検出用重み係数データを読み出し、ステップS706で、式(1)、(2)に基づいてステップS701で決定したニューロンの出力値を算出する。
そしてステップS707において、ステップS706で算出したニューロンの出力値に対して、プルーニング処理を行う。すなわち上述の通り、このニューロンの出力値が所定の閾値以上である場合には、メモリにこのニューロンのアドレスと共にニューロン出力値をメモリに格納し、このニューロンの出力値が所定の閾値以上ではない場合には、メモリへの格納処理は何も行わずに処理をステップS701に進める。そしてまだ出力値を算出していないニューロンを決定し、以下、同様の処理を行う。
図8は上記処理をハードウェアでもって実行した場合のハードウェアの機能構成を示す図である。なお、メモリ803には、予め1次特徴量検出用の重み係数データ、2次特徴量検出用の重み係数データ、3次特徴量検出用の重み係数データが保持されており、必要に応じて読み出して用いられるものとする。
入力画像のデータはデータ入力部801を介して演算処理部802に入力する。演算処理部802は先ず、特徴検出層処理(特徴検出層102(1,0)における処理)を行うために特徴検出層処理部804を制御して、上記ステップS602における処理を実行させ、1次特徴検出処理を行う。この1次特徴検出処理は、すなわち、図1では特徴検出層102(1,0)を構成する各ニューロンの出力値を計算する処理に相当する。また、この1次特徴量検出処理の際、メモリ803から、上記1次特徴量検出用の重み係数のデータを読み出して用いるものとする。そしてこのようにして求めた各ニューロンの出力値のデータを一旦メモリ803に格納する。
続いて、演算処理部802は、特徴統合層処理(特徴統合層103(2,0)における処理)を行うために統合層処理部805を制御して、上記ステップS603における処理を実行させ、1次特徴統合処理を行う。詳しくは、先ず、メモリ803より、先に格納した1次特徴量の局所データ(各ニューロンの出力値のデータ)を読み出し、読み出したデータに基づいて、上記ステップS603における統合処理を行うべく、統合層処理部805を制御する。そして、このようにして得られる統合処理結果(図1における特徴統合層103(2,0)を構成する各ニューロンの出力値に相当)をメモリ803に格納する。なお、格納の際にはプルーミング処理部806は、上記ステップS605におけるプルーミングを行う。
すなわちプルーミング処理部806は、ステップS604により特徴検出を行って得られたニューロンの出力値と、ある閾値(例えば0.4)との大小比較を行い、出力値が閾値以下である場合には、そのニューロンの出力値または内部状態値(積和演算結果)は省略し、メモリ803には格納しないといった格納制御処理を行う。
以降、同様にして、メモリ803から前段の層を構成する各ニューロンの出力値のデータを読み出して、特徴量検出処理、統合処理を交互に行う。その際、特徴検出層処理部804、統合層処理部805の何れかを制御して行う。また、ニューロンの出力値を計算する際には、メモリ503から2次特徴量検出用の重み係数のデータ、3次特徴量検出用の重み係数のデータを読み出して用いるものとする。
また、メモリ803にデータを格納する際には、出力値と閾値との大小比較を行い、出力値が閾値以下である場合、この出力値、もしくはこの出力値を有するニューロンの内部状態値はメモリ803には格納しないようにする。
以上のようにして、ハードウェアでもって図6に示したフローチャートに従った処理を行うことができる。
以上のようにニューロンのプルーニング処理を行うことにより、大幅な演算処理量の軽減、及びメモリの使用量を軽減させることができる。例えば、図11に示すように、人物像の背景に複雑な背景(V字パターンがたくさん検出されそうな背景)が含まれる画像を上記入力画像として用いる場合においても、V字パターン検出結果の出力値の分布を見ると約70%のニューロン出力が値0.4以下である。つまり、メモリの使用量を約70%軽減させることができる。
更に、例えば0.4以下のニューロン出力値を以降の処理では用いないため、検出レベルが低く顕著でない特徴やノイズの影響がなくなるため、次階層での特徴検出処理が容易になるという利点もある。例えば、検出のための重み係数の学習が、少ない教師点で高速に収束するという利点がある。なお、本実施形態では、基準の値を0.4としたが、この値は認識対象に応じて最適な値を決定すればよい。
また、教師点を選ぶ際にも、プルーニングを行っている方が学習に効率的な教師点を選びやすい利点もある。またこうして求まった重み係数は汎化性能も優れている。
同じ教師点を与えて、プルーニングを行わずに学習させた場合(a)とプルーニングを行ってから学習を行った場合(b)について比較してみると、(b)の方が学習収束が4倍以上速く、また学習した重み係数を用いて検出した結果は誤検出が少なかった。
更にその汎化性を見ると、(a)では検出されるべき特徴が正しく検出されていても、誤検出の検出レベルが高い場合があるのに対し、(b)では検出されるべき特徴が正しく検出され、また誤検出があっても正しい検出に比べて低いレベルに抑えられており、汎化性能も(b)の方が優れている。
以上説明したように、本実施形態によれば、階層型ニューラルネットワークを用いたパターン認識において、ニューロンの出力値がある閾値以下の場合、このニューロンの出力値は破棄してメモリに格納しないことにより、ニューラルネットワークの演算において、メモリの使用量を軽減させることができる。
また、特徴検出層中のあるニューロンの出力値を計算する場合に、参照するデータがメモリに保持されていない場合には、この出力値を計算する処理を省略するので、より高速にニューラルネットワークの演算を行うことができる。また当然このニューロンの出力値は計算されず、且つメモリに保持されないので、上記プルーミング対象となり、メモリの使用量軽減を実現することになる。
更に、ある閾値以下のニューロン出力値の省略を行うことにより、重み係数の高速学習、パターン認識に関して優れた汎化性を実現するという効果がある。
[第2の実施形態]
第1の実施形態で説明したニューラルネットワークによる認識(検出)処理は、専用ハードウェアでもって実現したが、プログラムの形態でもって一般のPC(パーソナルコンピュータ)やWS(ワークステーション)等のコンピュータにインストールし、このコンピュータのCPUに実行させることで実現させても良い。
図12は、このようなコンピュータの基本構成を示す図である。
1201はCPUで、RAM1202やROM1203に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、第1の実施形態で説明した処理を行う。
1202はRAMで、外部記憶装置1206や記憶媒体ドライブ装置1207からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU1201が各処理を行うために使用するアークエリアも備える。
1203はROMで、ブートプログラムやコンピュータの各種の設定データなどを格納する。
1204は操作部で、キーボードやマウスなどにより構成されており、CPU1201に対して各種の指示を入力することができる。
1205は表示部で、CRTや液晶画面などにより構成されており、CPU1201の処理結果を画像や文字などでもって表示することができる。
1206は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置により構成されており、ここにOS(オペレーティングシステム)や上記1次特徴量検出用の重み係数のデータ、2次特徴量検出用の重み係数のデータ、3次特徴量検出用の重み係数のデータ、上記入力画像のデータ、CPU1201に上記ニューラルネットワークの演算を実行させるためのプログラム(図6,7のフローチャートに従った処理をCPU1201に実行させるためのプログラム)等が保存されており、これらの一部、もしくは全部はCPU1201の制御により、RAM1201にロードされるものである。
1207は記憶媒体ドライブ装置であって、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出して、RAM1202や外部記憶装置1206に出力する。なお、外部記憶装置1206に保存されているものとして説明したプログラムやデータの一部、もしくは全部をこの記憶媒体に記録しておき、記憶媒体ドライブ装置1207が必要に応じてこの記憶媒体からこれらプログラムやデータを読み出してRAM1202にロードするようにしても良い。
1208は上述の各部を繋ぐバスである。
このようなコンピュータでもって第1の実施形態で説明したように、入力画像中の所定のパターンを検出する場合の処理について説明する。
コンピュータの操作者が操作部1204に含まれるキーボードやマウスでもって、ニューラルネットワークプログラム(図6,7のフローチャートに従った処理をCPU1201に実行させるためのプログラム)をRAM1202にロードさせるための指示を入力すると、CPU1201はこれを検知し、外部記憶装置1206もしくは記憶媒体ドライブ装置1207を制御し、これらプログラムやデータをRAM1202にロードさせる。
次に、CPU1201は上記入力画像の候補のデータを外部記憶装置1206もしくは記憶媒体から読み出して表示部1205に一覧表示し、操作者に選択させる。
操作者が操作部1204に含まれるキーボードやマウスを用いて1つを指示すると、CPU1201はこれを検知して指示された画像を上記入力画像としてニューラルネットワークプログラムの処理対象として、ニューラルネットワークプログラムを実行する。
そして認識結果(検出結果)を表示部1205に表示する。
このように、コンピュータを用いて第1の実施形態で説明した一連の処理を行うことができる。なお、コンピュータでもって第1の実施形態で説明した一連の処理を実現する方法はこれに限定されるものではなく、様々なものが考えられる。
[第3の実施形態]
本実施形態では、ニューロンのプルーニングを行った結果を用いて重み係数の学習を行う学習方法について説明する。ここでは、重み係数の学習はモジュールごと、すなわち階層ごとに行い、一般化デルタ法を用いて行う場合に関して述べる。
図9は本実施形態の重み係数の学習処理の流れを示したフローチャートである。なお、同図に示すフローチャートに従った処理は、専用のハードウェアでもって行わせるようにしても良いが、本実施形態では、同図のフローチャートに従った処理をCPU1201に実行させるためのプログラムを外部記憶装置1206、もしくは記憶媒体に保存させておき、RAM1202にロードしてCPU1201がこれを実行するようにする。なお、以下の処理に必要なデータは全て外部記憶装置1206、もしくは記憶媒体に保存されており、CPU1201の制御によりRAM1202にロードされているものとする。
まずステップS901では、学習させたい階層を決め、初期化した重み係数を設定する。ただし、この初期化処理は既存の重み係数に更に学習を加える場合には不要である。また、学習させたい層の決定は、コンピュータの操作者が操作部1204を用いて指示するようにしても良いし、CPU1201が決めるようにしても良い。
続いてステップS902で、学習させたい教師点を選び、理想値を設定する(複数選択可)。理想値には例えば正解の教師点の場合は1、不正解の教師点の場合には0が入力される。ステップS903で、ステップS902で設定した教師点に対応するニューロンの出力値と、そのニューロンに結合した前階層の受容野のニューロンの出力値をメモリ(RAM1202)から読み込む。
続いてステップS904で、初期化した重み係数(もしくは学習させたい重み係数)を用いて、式(1)〜式(3)に従って、ステップS902で設定した教師点に対応する局所領域に関して、ステップS903で読み込んだデータを用いてニューロンの出力値を求める。なお、ステップS904では入力側のニューロンの値はプルーニングを行ったものを用い、省略したニューロンの出力値に関しては0でないある定数(例えば0.1)を代入する。
そしてステップS905において、求めたニューロンの出力値に関してプルーニング処理を行う。つまり、ニューロンの出力値が閾値、例えば0.4以下のものは0としてメモリ(RAM1202)に格納する。当然、第1の実施形態のとおり、ニューロンの出力値が閾値が例えば0.4以上のものはそのままの値がメモリに格納される。
まず、重み係数の修正処理に入る前に、ステップS906で評価関数を調べる。評価関数が以下の式
Figure 0004546157
Figure 0004546157
を満たせば学習は終了とする。ここで、jは教師点の通し番号、rは理想出力値、yは現在の重み係数を用いて算出したニューロンの出力値である。dは学習終了判定用の閾値であり、例えば{0.01×(教師点数)}と設定する。もし、式(5)を満たしていれば、ステップS907に進み、満たしていないときは、重み係数の修正を以下のステップに従って行う。
ステップS908で、教師点におけるニューロンの出力値と理想値との誤差δを次式に従って計算する。
Figure 0004546157
そしてステップS909で次式に従い、重み係数の修正を行う。
Figure 0004546157
Figure 0004546157
ここで、ηは学習レート、αは慣性項を示す。ηとαは学習の収束スピードを左右するパラメータであり、あまり高い値に設定すると誤差値の振動が起こってしまい、学習として好ましくない。η、α共に0.1〜1.0の範囲内の設定ならばうまく学習できている。また、重み係数の修正値Δwの値の大きさにより、ηを可変にすると学習が更に速くなる。
重み係数の修正後、ステップS904に戻り、教師点に関してニューロンの出力値を再度計算し、評価関数を調べる、というステップを繰り返し、学習を進める。
以上のような処理を行うことにより、重み係数の学習を行う。その結果、第1の実施形態で説明したようにプルーニングを行っていないときに比べて、少ない教師点で高速に収束する。また、こうして求まった重み係数は汎化性能も優れている。
なお、プルーニングを行ったニューロンに関して0.1といった0でない値を代入することは重み係数の学習にとって利点がある。重み係数の修正は式(8)に従って行われるが、y=0であると重み係数が修正されず、学習が進まない。そこで0.1のような0でないが0に近い値(正解の出力値1に比べて)を代入する。すると式(8)の右辺第1項は0でない値を持つようになり、重み係数の修正が行われるようになる。これはつまり、所定の特徴がない、ということを学習できるようになることを意味する。その結果、学習プロセスが効率的になる。
[第4の実施形態]
本実施形態は、第1の実施形態で説明したパターン認識(検出)を行うハードウェアを搭載した撮像装置に係るものである。
図10は、本実施形態に係る撮像装置の基本構成を示す図である。
同図の撮像装置は、特定被写体へのフォーカシングや特定被写体の色補正、露出制御を行うことができる。同図の撮像装置1001は、撮影レンズおよびズーム撮影用駆動制御機構を含む結像光学系1002、CCD又はCMOSイメージセンサー1003、撮像パラメータの計測部1004、映像信号処理回路1005、記憶部1006、撮像動作の制御、撮像条件の制御などの制御用信号を発生する制御信号発生部1007、EVFなどファインダーを兼ねた表示ディスプレイ1008、ストロボ発光部1009、記録媒体1010などを具備し、更に上述したパターン認識装置を被写体検出(認識)装置1011として備える。
この撮像装置1001は、例えば撮影された映像中から人物の顔画像の検出(存在位置、サイズの検出)を被写体検出(認識)装置1011により行う。そして、その人物の位置、サイズ情報が被写体検出(認識)装置1011から制御信号発生部1007に入力されると、制御信号発生部1007は、撮像パラメータ計測部1004からの出力に基づき、その人物に対するピント制御、露出条件制御、ホワイトバランス制御などを最適に行う制御信号を発生する。
上述したパターン検出(認識)装置を、このように撮像装置に用いて、人物検出とそれに基づく撮影の最適制御を行うことができるようになる。しかも、必要メモリ量が従来のものに比べて削減されているので、小型及び低消費電力な装置を実現できるという効果もある。なお、上記説明では、上述したパターン検出装置を被写体検出(認識)装置1011として備える撮像装置1001について説明したが、当然、上述したパターン検出装置のアルゴリズムをプログラムとして実装し、CPUで動作させる処理手段として、撮像装置1001に搭載することも可能である。
なお、本実施形態では、顔パターンを検出パターンとして、入力画像から顔領域を求める処理を用いて説明したが、顔検出処理のみに限定されるわけではない。
更に、このような撮像装置を監視カメラやロボットの撮像手段として適用することも可能である。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート(機能構成)に対応するプログラムコードが格納されることになる。
本発明の第1の実施形態で用いる、階層型ニューラルネットワークの構成を示す図である。 入力画像から目を検知する為の処理のフローチャートである。 目の1次特徴量、2次特徴量、3次特徴量の例を示す図である。 ロジスティック関数の形状を示す図である。 入力画像から低次特徴を検出し、それをもとに中次特徴を検出、さらに高次特徴検出、というように階層的に処理を行い、パターン認識を行う処理をハードウェアでもって実行する場合のハードウェアの機能構成を示す図である。 図2に示した処理において、プルーミングを行う場合の処理のフローチャートである。 ニューロンのプルーニング処理を行った後の特徴検出層の処理のフローチャートを用いて詳細に説明する。 本発明の第1の実施形態に係る一連の処理ハードウェアでもって実行する場合のハードウェアの機能構成を示す図である。 本発明の第3の実施形態の重み係数の学習処理の流れを示したフローチャートである。 本発明の第4の実施形態に係る撮像装置の基本構成を示す図である。 人物像の背景に複雑な背景(V字パターンがたくさん検出されそうな背景)が含まれる画像の例を示す図である。 第2の実施形態に係るコンピュータの基本構成を示す図である。

Claims (8)

  1. 前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークを用いた計算処理によって、入力画像中のパターンを検出する情報処理装置であって、
    処理対象層の前段の層内のニューロンの出力値と、当該処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を、それぞれの層について順次行う出力値計算手段と、
    前記出力値計算手段が計算した検出層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する第1の格納制御手段と、
    前記出力値計算手段が計算した統合層内の各ニューロンの出力値のデータを前記メモリに格納する第2の格納制御手段と、
    前記出力値計算手段が、処理対象層内の各ニューロンの出力値を計算する為に参照する、当該処理対象層の前段の層内のニューロンの出力値のデータを、前記メモリから読み出して前記出力値計算手段に供給する供給手段とを備え、
    前記供給手段は、検出層内のニューロンの出力値のデータを前記出力値計算手段に供給する場合、前記第1の格納制御手段によって前記メモリに格納されなかったニューロンの出力値のデータの代わりに、予め設定された値を有するデータを供給することを特徴とする情報処理装置。
  2. 前記出力値計算手段は、前記検出層内のニューロンの出力値を計算する為に参照すべき全てのデータが前記供給手段によって供給されなかった場合、当該ニューロンの出力値の計算を省略することを特徴とする請求項1に記載の情報処理装置。
  3. 前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークにおいて、予め設定された出力を得るために層間の重み係数を修正する処理を行う情報処理装置であって、
    処理対象層の前段の層内のニューロンの出力値と、前記処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を行う出力値計算手段と、
    前記出力値計算手段が計算した処理対象層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する格納制御手段と、
    前記メモリに格納された出力値のデータ、及び前記メモリに格納されなかったニューロンの出力値のデータの代わりとなる予め設定された値を有するデータ、とからなる前記処理対象層の出力値データと、前記予め設定された出力のデータとの誤差に基づいて、前記処理対象層とその前段の層との間の重み係数を修正する修正手段と、
    前記出力値計算手段が、前記処理対象層内の各ニューロンの出力値を計算する為に参照する、前記格納制御手段が前記メモリに格納したデータを、前記メモリから読み出して前記出力値計算手段に供給する供給手段と
    を備えることを特徴とする情報処理装置。
  4. 請求項1に記載の情報処理装置を搭載することを特徴とする撮像装置。
  5. 前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークを用いた計算処理によって、入力画像中のパターンを検出する情報処理装置が行う情報処理方法であって、
    前記情報処理装置が有する出力値計算手段が、処理対象層の前段の層内のニューロンの出力値と、当該処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を、それぞれの層について順次行う出力値計算工程と、
    前記情報処理装置が有する第1格納制御手段が、前記出力値計算工程で計算した検出層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する第1の格納制御工程と、
    前記情報処理装置が有する第2格納制御手段が、前記出力値計算工程で計算した統合層内の各ニューロンの出力値のデータを前記メモリに格納する第2の格納制御工程と、
    前記情報処理装置が有する供給手段が、前記出力値計算工程で、処理対象層内の各ニューロンの出力値を計算する為に参照する、当該処理対象層の前段の層内のニューロンの出力値のデータを、前記メモリから読み出して前記出力値計算工程に供給する供給工程とを備え、
    前記供給工程では、検出層内のニューロンの出力値のデータを前記出力値計算工程に供給する場合、前記第1の格納制御工程で前記メモリに格納されなかったニューロンの出力値のデータの代わりに、予め設定された値を有するデータを供給することを特徴とする情報処理方法。
  6. 前段の層からの出力から1つ以上の特徴量を検出して出力する検出層、当該検出層からの出力を統合して出力する統合層、の各層を交互に配置することにより構成される階層型ニューラルネットワークにおいて、予め設定された出力を得るために層間の重み係数を修正する処理を行う情報処理装置が行う情報処理方法であって、
    前記情報処理装置が有する出力値計算手段が、処理対象層の前段の層内のニューロンの出力値と、前記処理対象層とその前段の層との間の重み係数を用いて、前記処理対象層内のニューロンの出力値を計算する処理を行う出力値計算工程と、
    前記情報処理装置が有する格納制御手段が、前記出力値計算工程で計算した処理対象層内の各ニューロンの出力値を参照し、出力値が閾値以上であるニューロンのみ、その出力値のデータをメモリに格納する格納制御工程と、
    前記情報処理装置が有する修正手段が、前記メモリに格納された出力値のデータ、及び前記メモリに格納されなかったニューロンの出力値のデータの代わりとなる予め設定された値を有するデータ、とからなる前記処理対象層の出力値データと、前記予め設定された出力のデータとの誤差に基づいて、前記処理対象層とその前段の層との間の重み係数を修正する修正工程と、
    前記情報処理装置が有する供給手段が、前記出力値計算工程で、前記処理対象層内の各ニューロンの出力値を計算する為に参照する、前記格納制御工程で前記メモリに格納したデータを、前記メモリから読み出して前記出力値計算工程に供給する供給工程と
    を備えることを特徴とする情報処理方法。
  7. コンピュータ請求項1乃至3の何れか1項に記載の情報処理装置が有する各手段として機能させる為のコンピュータプログラム。
  8. 請求項7に記載のコンピュータプログラムを格納した、コンピュータ読みとり可能な記憶媒体。
JP2004166136A 2004-06-03 2004-06-03 情報処理方法、情報処理装置、撮像装置 Expired - Fee Related JP4546157B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004166136A JP4546157B2 (ja) 2004-06-03 2004-06-03 情報処理方法、情報処理装置、撮像装置
US11/579,981 US7991719B2 (en) 2004-06-03 2005-06-02 Information processing method and apparatus, and image pickup device
PCT/JP2005/010535 WO2005119589A1 (en) 2004-06-03 2005-06-02 Information processing method and apparatus, and image pickup device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004166136A JP4546157B2 (ja) 2004-06-03 2004-06-03 情報処理方法、情報処理装置、撮像装置

Publications (3)

Publication Number Publication Date
JP2005346472A JP2005346472A (ja) 2005-12-15
JP2005346472A5 JP2005346472A5 (ja) 2010-04-22
JP4546157B2 true JP4546157B2 (ja) 2010-09-15

Family

ID=35463085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004166136A Expired - Fee Related JP4546157B2 (ja) 2004-06-03 2004-06-03 情報処理方法、情報処理装置、撮像装置

Country Status (3)

Country Link
US (1) US7991719B2 (ja)
JP (1) JP4546157B2 (ja)
WO (1) WO2005119589A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5368687B2 (ja) * 2007-09-26 2013-12-18 キヤノン株式会社 演算処理装置および方法
JP5478618B2 (ja) * 2008-07-03 2014-04-23 エヌイーシー ラボラトリーズ アメリカ インク 上皮層検出器およびそれに関連する方法
US8601013B2 (en) * 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
IL231862A (en) * 2014-04-01 2015-04-30 Superfish Ltd Image representation using a neural network
CN105120130B (zh) * 2015-09-17 2018-06-29 京东方科技集团股份有限公司 一种图像升频系统、其训练方法及图像升频方法
US10860887B2 (en) * 2015-11-16 2020-12-08 Samsung Electronics Co., Ltd. Method and apparatus for recognizing object, and method and apparatus for training recognition model
CN108781265B (zh) 2016-03-30 2020-11-03 株式会社尼康 特征提取元件、特征提取系统及判定装置
US10628734B2 (en) * 2016-04-14 2020-04-21 International Business Machines Corporation Efficient determination of optimized learning settings of neural networks
CN106548234A (zh) * 2016-11-17 2017-03-29 北京图森互联科技有限责任公司 一种神经网络剪枝方法及装置
US10360494B2 (en) * 2016-11-30 2019-07-23 Altumview Systems Inc. Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules
CN108229363A (zh) 2017-12-27 2018-06-29 北京市商汤科技开发有限公司 关键帧调度方法和装置、电子设备、程序和介质
US10755229B2 (en) 2018-04-11 2020-08-25 International Business Machines Corporation Cognitive fashion-ability score driven fashion merchandising acquisition
US10685265B2 (en) * 2018-04-11 2020-06-16 International Business Machines Corporation Cognitive analysis and classification of apparel images
US10956928B2 (en) 2018-05-17 2021-03-23 International Business Machines Corporation Cognitive fashion product advertisement system and method
US11538083B2 (en) 2018-05-17 2022-12-27 International Business Machines Corporation Cognitive fashion product recommendation system, computer program product, and method
JP7113674B2 (ja) * 2018-06-15 2022-08-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置及び情報処理方法
US10963744B2 (en) 2018-06-27 2021-03-30 International Business Machines Corporation Cognitive automated and interactive personalized fashion designing using cognitive fashion scores and cognitive analysis of fashion trends and data
JP6638852B1 (ja) 2018-08-31 2020-01-29 ソニー株式会社 撮像装置、撮像システム、撮像方法および撮像プログラム
TWI820194B (zh) 2018-08-31 2023-11-01 日商索尼半導體解決方案公司 電子機器及固體攝像裝置
JP7189000B2 (ja) 2018-12-12 2022-12-13 日立Astemo株式会社 情報処理装置、車載制御装置、車両制御システム
US11790239B2 (en) * 2018-12-29 2023-10-17 International Business Machines Corporation Deep learning testing
CN109634401B (zh) * 2018-12-29 2023-05-02 联想(北京)有限公司 一种控制方法和电子设备
JP7099968B2 (ja) * 2019-01-31 2022-07-12 日立Astemo株式会社 演算装置
JP7225876B2 (ja) 2019-02-08 2023-02-21 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
JPWO2022070947A1 (ja) * 2020-09-30 2022-04-07
CN113901904B (zh) * 2021-09-29 2024-12-03 北京百度网讯科技有限公司 图像处理方法、人脸识别模型训练方法、装置及设备
US12400119B2 (en) * 2021-11-16 2025-08-26 Samsung Electronics Co., Ltd. Learning method and system for object tracking based on hybrid neural network
US12131367B2 (en) * 2022-10-18 2024-10-29 Wesco Distribution, Inc. Intelligent product matching based on a natural language query

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2679730B2 (ja) 1988-08-31 1997-11-19 富士通株式会社 階層構造ニューラルネット
FI894021A7 (fi) * 1988-08-31 1990-03-01 Fujitsu Ltd Neuronstruktur.
JPH02301876A (ja) * 1989-05-17 1990-12-13 Takayama:Kk 画像処理装置
US5636327A (en) * 1991-09-18 1997-06-03 Matsushita Electric Industrial Co., Ltd. Neural network circuit
JP3172278B2 (ja) 1991-09-18 2001-06-04 松下電器産業株式会社 ニューラルネットワーク回路
JP3358142B2 (ja) 1992-06-23 2002-12-16 博文 松尾 物体識別システム
JPH064506A (ja) * 1992-06-24 1994-01-14 Hitachi Ltd ニューラルネット学習方法
JPH0683796A (ja) 1992-08-31 1994-03-25 Ricoh Co Ltd 信号処理装置
JPH07175778A (ja) * 1993-12-17 1995-07-14 Toshiba Corp ニューラルネット装置
JP3706743B2 (ja) * 1998-07-31 2005-10-19 キヤノン株式会社 関心領域抽出方法及び装置並びに記憶媒体
US6674902B1 (en) * 1998-07-31 2004-01-06 Canon Kabushiki Kaisha Image processing apparatus image processing method, and storage medium
JP2000209425A (ja) * 1998-11-09 2000-07-28 Canon Inc 画像処理装置及び方法並びに記憶媒体
JP4392886B2 (ja) * 1999-01-22 2010-01-06 キヤノン株式会社 画像抽出方法及び装置
US6674905B1 (en) * 1999-01-22 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
JP2001043376A (ja) * 1999-07-30 2001-02-16 Canon Inc 画像抽出方法及び装置並びに記憶媒体
JP4510237B2 (ja) * 2000-06-16 2010-07-21 キヤノン株式会社 パターン検出装置及び方法、画像処理装置及び方法
US7088860B2 (en) * 2001-03-28 2006-08-08 Canon Kabushiki Kaisha Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus

Also Published As

Publication number Publication date
US7991719B2 (en) 2011-08-02
US20070244842A1 (en) 2007-10-18
JP2005346472A (ja) 2005-12-15
WO2005119589A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP4546157B2 (ja) 情報処理方法、情報処理装置、撮像装置
JP4532915B2 (ja) パターン認識用学習方法、パターン認識用学習装置、画像入力装置、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP4846924B2 (ja) パターン認識装置
US7676441B2 (en) Information processing apparatus, information processing method, pattern recognition apparatus, and pattern recognition method
CN111079601A (zh) 基于多模态注意力机制的视频内容描述方法、系统、装置
CN113065575B (zh) 一种图像处理方法及相关装置
CN111832592B (zh) Rgbd显著性检测方法以及相关装置
KR20070034966A (ko) 정보 처리 장치 및 그 제어방법
CN113158862A (zh) 一种基于多任务的轻量级实时人脸检测方法
CN112036260B (zh) 一种自然环境下多尺度子块聚合的表情识别方法及系统
JP2002358523A (ja) パターン認識処理装置及びその方法、画像入力装置
CN119545164B (zh) 摄像头自适应调整方法、系统及存储介质
CN113326735A (zh) 一种基于YOLOv5的多模态小目标检测方法
CN110969109B (zh) 一种非受限条件下眨眼检测模型及其构建方法和应用
CN113065637B (zh) 一种感知网络及数据处理方法
CN115797731A (zh) 目标检测模型训练方法、检测方法、终端设备及存储介质
CN112560639A (zh) 人脸关键点数目转换方法、系统、电子设备及存储介质
CN112489012A (zh) 一种用于ct图像识别的神经网络架构方法
CN113674383B (zh) 生成文本图像的方法及装置
JP7777963B2 (ja) 学習データ生成装置、学習データ生成方法及び学習データ生成プログラム
CN119832591A (zh) 基于机器学习的浮游动物智能识别方法和系统
Luciw et al. Topographic class grouping with applications to 3d object recognition
CN115147635A (zh) 一种图像处理方法及相关装置
KR102948209B1 (ko) 영상 내 마커 위치 검출 방법 및 시스템
CN113240035A (zh) 一种数据处理方法、装置及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070604

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100701

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4546157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees