(57)【要約】【課題】  顔の位置・角度の変動や照明の変動を吸収でき、識別対象となる人数が増加しても効率のよい学習と認識が可能な顔認識システムの提供。【解決手段】  本発明は、図１に示すようにニューラルネットワーク（ＮＮ）を複数のサブネットに分割し、サブネット単位で並列に学習と認識を行なう。また並列ＮＮの構成にあたって、パターンのあいまいさを考慮してファジィ的に複数のサブネットに同一顔パターンが帰属することを許している。これにより、比較的近いパターン同士は必ず同じサブネットで効率よく認識させることができる。  また、本発明では識別対象人物の顔パターンを、３次元形状計測装置により３次元映像として取得している。このため、人物の位置、姿勢の変化や照明の変動などの影響を極力排除・補正した入力顔パターンを得ることが可能となり、顔の回転にロバストな顔認識システムを実現している。【選択図】図１
2005316888.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを利用した顔認識システムであって、
３次元形状計測装置から取得した顔画像データ及び３次元形状データから鼻の頂点を含む特徴点を抽出する特徴点抽出手段と、
前記抽出した特徴点の回転に対して顔画像データの補正を行い正面を向いた画像とする回転補正手段と、
前記鼻の頂点を用いて、一定の領域を切り出す顔領域切り出し手段と
前記一定の領域として切り出された顔画像データの平均値を一定に補正する照明補正手段と、
前記照明補正された顔画像データおよび対応する３次元形状データを、ファジィクラスタリングにより、１人のデータが複数のクラスタに帰属されるように、各々のクラスタに学習した並列ニューラルネットワークと
を備え、前記照明補正された顔画像データおよび対応する３次元形状データを前記学習した並列ニューラルネットワークに対して与えて認識することを特徴とするニューラルネットワークを利用した顔認識システム。
【請求項２】
請求項１に記載したニューラルネットワークを利用した顔認識システムにおいて、
特徴点抽出手段は、特徴点として、前記鼻の頂点以外に、鼻の両側の点、目の位置の点を抽出することを特徴とするニューラルネットワークを利用した顔認識システム。
【請求項３】
請求項１又は２に記載したニューラルネットワークを利用した顔認識システムにおいて、
前記並列ニューラルネットワークの学習過程で、顔画像をクラスタに分けて学習させるときに、振り分けを最適化するために、１人のデータをいくつのクラスタに帰属するか、１つのクラスタに最大何人のデータを帰属するかを調整することを特徴とするニューラルネットワークを利用した顔認識システム。
【請求項４】
請求項１〜３のいずれかに記載したニューラルネットワークを利用した顔認識システムの機能を、コンピュータ・システムに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを利用した顔認識システムに関するものである。
【背景技術】
【０００２】
情報化社会の急激な変化につれて、セキュリティに関する要求が高まっている。その中でも、人間は顔を見て自然に相手を判断できることから、機械においても顔認識を利用したセキュリティシステムを構築しようという研究が盛んに行なわれている（非特許文献１）。また、顔認識を利用したセキュリティシステムは、指紋パターンや眼底パターンを用いた個人識別に比べ、認識される側の心理的抵抗感が少ないというメリットもある。
撮影した顔画像から正面顔パターンを切り出して個人識別を行なう方法はこれまでに多数提案されている。これらはいずれも、入力パターンを特徴ベクトルで表現し、あらかじめ登録したそれぞれの人物を代表する標準ベクトルとの距離を求め、もっとも距離が小さい人物を同一人物と判定する方法を用いている。これらを大きく分類すると、顔パターンの幾何学的特徴を用いる方法と大局的な濃淡パターンを用いる方法の２つに分けられる。
顔パターンの幾何学的特徴を用いる方法としては、顔の幅、両目の中心間の距離、頭頂からの目の高さなどの顔の特徴点をパラメータ化して、その特徴量を用いて認識を行なう方法や、横顔の輪郭線などの形状を用いて認識を行なう方法（非特許文献２）などがある。しかし、顔の回転などによって変動した顔画像から各特徴点や形状を正確に抽出することは困難であるという問題がある。
一方、大局的な濃淡パターンを用いる方法は、顔画像を各画素の濃淡値の特徴ベクトルとして考え、マッチングによって識別を行なう方法である。しかし画像内の全画素をマッチングに用いてしまうと、次元数が膨大となり、計算量が大きくなるという問題がある。
【０００３】
そこで、入力ベクトルを低次元に圧縮する方法が検討されてきた（非特許文献３）。この方法の代表として、Turkらによる固有顔法（非特許文献４）や、顔画像をモザイク化してニューラルネットワーク（以降「ＮＮ」という）に学習させる方法などがある（非特許文献５）。
しかしながら、これらの顔認識方法では、顔の位置・角度の変動や照明の変動によって認識率が低下するという問題がある。これに対応する方法としては、あらかじめ複数方向から撮影した顔画像を用意しておき、入力パターンと、その角度に近い登録パターンとをマッチングする方法（非特許文献６）などが提案されている。しかし、この方法によっても、２次元入力画像の特徴点などから顔画像の角度を求めるのが困難であるという問題があり、回転・照明変動を吸収できる顔認識方法への要望は高い。
また、非特許文献３，５では、個人認識にニューラルネットワーク（ＮＮ）を適用した結果が示され、ＮＮが顔画像の認識にも有用であることが述べられているが、識別の対象となる人数の増加と共にＮＮが膨大なものとなってしまうという問題が指摘されている。すなわち、従来のバックプロパゲーションを利用したＮＮでは、人数が増えると、ＮＮの規模が大きくなる。ＮＮの規模が大きくなるにつれて、ローカルミニマムなど種々の原因によって、学習の効率が急に下がり、認識率も急速に落ちてしまう。
このような欠点を克服するための方法として、複数の小規模なＮＮを作り、それらを統合して認識を行なうことのできるＣｏｍｂＮＥＴ−ＩＩが提案されている（非特許文献７）。ＣｏｍｂＮＥＴ−ＩＩは大規模なシステムにも適用可能な効率の良いアルゴリズムである。
しかしながら、ＣｏｍｂＮＥＴ−ＩＩは各クラスタすなわち各小規模なＮＮに属するパターンが重複しない手法（以降「ハードクラスタリング」とよぶ）を用いているため、近いパターンでもＮＮで学習されないものが存在する。このため、これを顔画像の認識に応用する際に、パターンの変動が大きいときには、認識率が大幅に低下すると考えられる。
【０００４】
【非特許文献１】赤松茂“コンピュータによる顔の認識−サーベイ−，”電子情報通信学会論文誌  A vol.J80-A, no.8, pp.1215-1230, Aug.1997
【非特許文献２】阿倍亨  阿曽弘具  木村正行“３次元データより得られる横顔輪郭線を用いた人間の顔の自動識別，”電子情報通信学会論文誌  D-II vol.J73-D-II, no.9, pp.1468-1476, Sep.1990
【非特許文献３】小杉信“モザイクとニューラルネットを用いた顔画像の認識，”電子情報通信学会論文誌  D-II vol. J76-D-II, no.6, pp.1132-1139, Jun.1993
【非特許文献４】M. Turk and A. Pentland "Eigenfaces for Recognition," Journal of Cognitive Neuroscience vol. 3, no.1, pp.71-86, Mar.1991
【非特許文献５】谷萩隆嗣  高野裕昭“カテゴリーを組み合わせたＮＮによる顔画像認識，”電子情報通信学会論文誌 D-II vol.J77-D-II, no.11, pp.2151-2159, Nov.1994
【非特許文献６】平野晃昭  中村納“顔の回転にロバストな個人識別方式，”電気学会論文誌  C vol.120-C, no.6, pp.800-808, Sep.2000
【非特許文献７】堀田健一，岩田彰，松尾啓志，鈴村宣夫“大規模ニューラルネット“CombNET-II”，”電子情報通信学会論文誌  D, Vol.J-75-D, No.3, pp.545-553, 1992
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、上記の問題を解決して、顔の位置・角度の変動や照明の変動を吸収でき、識別対象となる人数が増加しても効率のよい学習および認識が可能な顔認識システムを提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明は、ニューラルネットワークを利用した顔認識システムであって、３次元形状計測装置から取得した顔画像データ及び３次元形状データから鼻の頂点を含む特徴点を抽出する特徴点抽出手段と、前記抽出した特徴点の回転に対して顔画像データの補正を行い正面を向いた画像とする回転補正手段と、前記鼻の頂点を用いて、一定の領域を切り出す顔領域切り出し手段と前記一定の領域として切り出された顔画像データの平均値を一定に補正する照明補正手段と、前記照明補正された顔画像データおよび対応する３次元形状データを、ファジィクラスタリングにより、１人のデータが複数のクラスタに帰属されるように、各々のクラスタに学習した並列ニューラルネットワークとを備え、前記照明補正された顔画像データおよび対応する３次元形状データを前記学習した並列ニューラルネットワークに対して与えて認識することを特徴とするニューラルネットワークを利用した顔認識システムである。
ここで、特徴点抽出手段は、特徴点として、前記鼻の頂点以外に、鼻の両側の点、目の位置の点を抽出することを特徴とすることもできる。
さらに、前記並列ニューラルネットワークの学習過程で、顔画像をクラスタに分けて学習させるときに、振り分けを最適化するために、１人のデータをいくつのクラスタに帰属するか、１つのクラスタに最大何人のデータを帰属するかを調整することを特徴とすることもできる。
上記のいずれかに記載したニューラルネットワークを利用した顔認識システムの機能を、コンピュータ・システムに実現させるプログラムも、本発明である。
【発明の効果】
【０００７】
本発明の顔認識システムを用いることによる効果は、大きく下記の２つである。
第一に、本発明では大規模なＮＮを複数の小規模ＮＮ（サブネットワーク）に分割し、サブネットワーク単位で並列に学習と認識を行なうことで、ローカルミニマムなどに起因する大規模ＮＮでの認識率低下を回避することができる。並列ＮＮの構成にあたっては、従来、登録者の顔パターンで相互に類似性の高いものを集めてひとつのサブネットワークとする方法が採用されており、異なるサブネットワーク間では同じパターンが存在することはなかったが、本発明ではパターンのあいまいさを考慮してファジィ的に複数のサブネットワークに同一顔パターンが帰属することを許しているのが大きな特徴である。これにより、比較的近いパターン同士は必ず同じサブネットワークで効率よく認識させることができる。
第二に、本発明では識別対象人物の顔パターンを、３次元形状計測装置により３次元映像として取得した。すなわち、従来の２次元映像にはない顔面の高さ情報等が利用できる。このため、人物の位置、姿勢の変化や照明の変動などの影響を極力排除・補正した入力顔パターンを得ることが可能となり、顔の回転にロバストな顔認識システムを実現することができた。
【発明を実施するための最良の形態】
【０００８】
本発明では、上述の非特許文献７のＣｏｍｂＮＥＴ−ＩＩと同様に、複数の小規模なＮＮ（以降「サブネットワーク」と呼ぶ）を作って図１に示すような並列ＮＮを構成し、サブネットワーク単位で並列に学習と認識を行なうことで、大規模な認識システムにおいても効率良く学習や認識ができるようにする。なお、図１に示す並列ＮＮは、入力層に２０４８ノード、中間層に３２ノード、出力層に６ノードを持った３階層ＮＮの例であるが、これらの値は、後のシミュレーションで例として用いる値である。
しかしながら、従来のＣｏｍｂＮＥＴ−ＩＩでは、同じパターンが１つのサブネットワークにしか属すことができないハードクラスタリングの手法を用いているため、近いパターンでもＮＮで学習されないものが存在する。このため、これを顔画像の認識に応用する際に、パターンの変動が大きいときには、認識率が大幅に低下すると考えられる。
この問題を解決するため、本発明では、ハードクラスタリングではなく、ファジィクラスタリングを利用して顔パターンを分類する方法を提案する。ファジィクラスタリングは帰属度にあいまいさを許して、１つのパターンをいくつかのサブネットワークに帰属させることを認めている。したがって、各クラスタすなわち各サブネットワークに属するパターンが重複しているので、比較的近いカテゴリ同士は必ず同じＮＮで効率良く認識させることができる。
また、従来の顔認識システムにおいては、人物の位置及び姿勢の変化によって回転した顔画像に対しては、識別精度が若干低下するということが問題となっている。この人物の位置および姿勢の変化による画像変動は、本質的に顔の３次元形状によるものであり、これを解決するためには顔の３次元形状を利用することが有効であると考えられる。そこで本発明では、３次元形状計測装置を用い、３次元形状を利用して顔画像認識を行なう。
【０００９】
本発明の顔認識システムのシステム構成の例を図２３に示す。なお、図２３には顔の学習と認識の両方を行なう場合のシステム構成を示しているが、実際にセキュリティシステムとして利用する際には、学習と認識を別々のコンピュータで行なう場合も考えられる。
図２３において、コンピュータ１２０は、本発明の顔認識システムで顔の学習および認識の処理を行なうコンピュータである。コンピュータ１２０は、例えば通常のパソコンなどを用いることができるが、他のコンピュータであってもよい。記憶領域１２２には、顔の学習および認識の処理を行なうプログラムが格納されており、ＣＰＵ１２３が処理を行なう。
３次元形状計測装置１１０は、顔認識システムに登録される者（登録者）の顔を撮影し、その３次元情報を得る装置である。また、入力装置１３０は、キーボードやマウスなどの入力装置であり、顔認識システムに顔を登録する（学習させる）際に、登録者の氏名などの情報を入力したり、顔認識システムの操作を行なったりするための入力装置である。３次元形状計測装置１１０および入力装置１３０からの入力は、入力Ｉ／Ｆ１２１を介してコンピュータ１２０に入力され、処理される。
コンピュータ１２０で処理された結果は、出力Ｉ／Ｆ１２４を介して出力される。学習過程においては、例えば処理の途中で生成されたデータや学習が終わった旨の信号などであり、必要に応じてディスプレイなどの出力装置１４０に出力するようにしてもよい。また、認識過程においては、認識または拒否の信号をセキュリティ機器などに出力する。
【００１０】
以降、本発明の顔認識システムの実施形態を詳細に説明する。
まず、１．で本実施形態の顔認識システムで用いるファジィクラスタリングの手法を説明し、２．でファジィクラスタリングを用いて顔画像を振り分ける手順を説明する。
次に、３．でＮＮによる顔の学習過程を、４．でＮＮによる顔の認識過程を説明する。
次に、５．で顔画像の３次元情報からＮＮに入力するデータを作成する過程を説明する。
最後に、６．で学習と認識のシミュレーションを行ない、本実施形態の手法の有効性を示す。
【００１１】
＜１．ファジィクラスタリング＞
パターン認識では認識対象に対して、人間の主観や個性など複雑な要素が関係してくる。すなわち、扱う対象の性質に、真偽の２値のみでは説明できないあいまいさが存在する。また、認識側にも主観や個性などに関係するあいまいさが存在する。
パターン認識の分野においては、扱うべきデータ集合のそれぞれのデータ・ベクトルをあらかじめ決められたどのクラスタに属しているかを決定するファジィクラスタリング法が多用されている。そこでＦＣＭ（fuzzy c-means）法を利用して顔画像の認識を行ない、パターンの振り分けを最適化することで、認識率を向上させることができると考えられる。
ここではまず、従来のハードクラスタリングの手法について簡単に説明し、本実施形態で用いるファジィクラスタリングの手法および、ＦＣＭ（fuzzy c-means）法を用いて分割行列を決定する方法を説明する。
【００１２】
（１）ハードクラスタリング
各データを分割する際、ただ１個のクラスタにのみ帰属させる方法はハードクラスタリングと呼ばれる。
データ集合をＸ＝｛ｘ１，ｘ２，…，ｘｎ｝（ｘｊ∈Ｒｓ，ｊ＝１，２，３，…，ｎ）とした場合、データｘｊがクラスタＣｊに属するかどうかを行列の（ｉ，ｊ）要素で表現する。ｎ個のデータをｃ種類のクラスタに分割する場合、行列Ｕはｃ×ｎの行列となる。そして要素ｕｉｊは０または１の値を取り、ｕｉｊ＝１の場合データｘｊがクラスタＣｊに属さないことを示す。各クラスタには少なくとも１個以上のデータが必ず属し、各データはどれか１個のクラスタに属している。
【００１３】
（２）ファジィクラスタリング
しかし、クラスタは本来明確に定義できるものではなく、パターン集合をカテゴリ分解する際に、境界部分のパターンはいくつかのカテゴリに関連を持つ。ハードクラスタリングでは、いずれか１つのカテゴリに帰属させることになるが、ファジィクラスタリングでは帰属度にあいまいさを許して、複数のカテゴリに帰属することを認める。
ファジィクラスタリングの手法を定式化すれば、以下のようになる。
取り扱うデータ集合ｎ個のｓ次元の分類対象を
【数１】
2005316888.tif 000003
とする。ファジィクラスタリングによる分割行列を
【数２】
2005316888.tif 000004
とすると、ｕｉｊは以下の２つの条件を満足する。
【数３】
2005316888.tif 000005
【数４】
2005316888.tif 000006
ただし、ｃは２≦ｃ≦ｎで、クラスタの数である。ｕｉｊは閉区間［０，１］の値をとり、ｘｊのクラスタへの帰属度を表す。
【００１４】
（３）ＦＣＭ反復法
次に、ＦＣＭ（fuzzy c-means）法を用いて分割行列Ｕを決定する方法を述べる。
ＦＣＭ法は、
【数５】
2005316888.tif 000007
として与えられる目的関数の最小化により、分割行列Ｕを決定する反復方法である。ここではｍ≧１である。Ｖ＝｛ｖ１，ｖ２，…，ｖｃ｝（ｖｉ∈Ｒｓ，ｉ∈［１，ｃ］）はクラスタ中心ベクトルの集合である。ｖｉはｘｊのメンバシップ度のｍ次重み付き平均である。このことは、より小さいメンバシップ度のｘｊより、より大きいメンバシップ度のｘｊがｖｉにより大きい影響を与えることを示している。この傾向は、ｍを大きくすればするほど、より大きくなる。
さらに、Ｇを正定対称行列として、一般化ノルム
【数６】
2005316888.tif 000008
を導入すれば、ファジィクラスタリング問題は次のように一般化される。
【数７】
2005316888.tif 000009
【００１５】
＜２．顔画像の振り分け＞
上述の１．で述べたように、ファジィクラスタリングを利用してパターンの振り分けを最適化することで、認識率を向上させることができる。本実施形態においても、この方法で顔画像の振り分けを行なう。
パターンの振り分けは、まず（１）各パラメータを初期化して、（２）反復収束法により分割行列を得て、（３）分割行列の各要素を非ファジィ化することにより行なう。以降、これらを順に説明する。
【００１６】
（１）パラメータの初期化
まず、クラスタ数、クラスタ合併の調節係数、重み、収束判定値、計算回数などの各パラメータの初期値を設定する。
【００１７】
（２）反復収束法の計算
（ａ）まず、クラスタの平均ベクトルｖｉ（ｌ）を
【数８】
2005316888.tif 000010
から求める。ただし、ｌ回目の反復におけるＵをＵｌとしたとき、式（７）のｕｉｊはＵｌの要素を表す。
【００１８】
（ｂ）クラスタの合併
【数９】
2005316888.tif 000011
において、もしＤｉｋ＜ｍｉｎ＿ｄ（クラスタ間の最小距離）しかもＤｉｋ≠０であれば、上述の式（２），（３）の条件のもとで、以下の合併作業を行なう。
【数１０】
2005316888.tif 000012
【数１１】
2005316888.tif 000013
ただしｊ∈［１，ｎ］である。
【００１９】
（ｃ）ｘｊ≠ｖｉ（ｌ）の時は、以下の式
【数１２】
2005316888.tif 000014
によりＵｌをＵｌ＋１に更新する。
ｘｊ≡ｖｉ（ｌ）の時は、
【数１３】
2005316888.tif 000015
とおく。
【００２０】
（ｄ）与えられた収束判定値εに対して、
【数１４】
2005316888.tif 000016
となれば終了。そうでなければ、ｌ＝ｌ＋１として上記（ａ）に戻る。
【００２１】
（３）メンバシップ関数の非ファジィ化
以上の計算で得た分割行列Ｕの各要素を非ファジィ化する。ここで、閾値の調節によって、カテゴリの重複度を調節し、顔画像の振り分けを最適化する。
（ａ）行の非ファジィ化
横方向は１つの要素がいくつのカテゴリに属するかを決める。１つの要素は最大ｎ個のカテゴリに属することができる。これ以上になると、冗長度が大きくなり、ネットワークの学習に大変時間がかかってしまう。
（ｂ）列の非ファジィ化
縦方向は１つのカテゴリにいくつの要素を含むかを決定する。１つのカテゴリに最大ｃ個の要素を包括できる。これ以上となると、ネットワークの認識率が著しく下がってしまう。しかも、学習時間も急に長くなる。重複の行を消して、１つのカテゴリにする。
本実施形態では、例として、１人は同時に５つのサブネットワークに帰属することができるように、また、１つのサブネットワーク中に最大６人が帰属することができるように、メンバシップ関数を非ファジィ化するとき、１つのパターンが帰属できるクラスタ数を決めるクラスタへの最大帰属数を５に設定する。また、クラスタに含まれる要素数（パターンの数）を決めるクラスタの最大冗長度（クラスタ内の最大要素数）を６に設定する。
【００２２】
＜３．ＮＮの学習過程＞
統合型のネットワークでは、個々のネットワーク（サブネットワーク）での学習の負荷を低減するために、１つのネットワークが扱うカテゴリ数を減らしている。その際、学習用の各パターンを各サブネットワーク（すなわち各クラスタ）にどのように割り振るかが重要なポイントとなる。
例えば、上述の非特許文献５の方法では、少なくともＮ番目までの近いカテゴリの対がどこかのサブネットワークに属していることを保証するクラスタリングを用いている。
本実施形態では、次の手順で学習を行なう。
最初に、各カテゴリの標準パターンを求める。次に、各標準パターン間のユークリッド距離を求める。例えば、いま、Ｒ種類のパターンの認識を考えているとしよう。カテゴリ数はＲなので、最初にＲ個のサブネットワークを用意する。サブネットワークｉでは、カテゴリｉから近い順にＮ番目までのカテゴリが認識対象になっている。ここで、サブネットワークｉのカテゴリｉをメインカテゴリ、それに近いＮ番目までのカテゴリをサブカテゴリと呼ぶことにする。
あるサブネットワークを作っていく過程で、そのメインカテゴリとサブカテゴリがすでに前のサブネットワークで一緒になっていたら、そのサブカテゴリを削除する。サブカテゴリが全て削除されてしまったらそのサブネットワークも削除する。
このような方法を用いると、カテゴリの数以下のサブネットワークで少なくとも、Ｎ番目までの近いカテゴリの対がどこかのサブネットワークに属していることが保証される。
また、各サブネットワークの規模はそろっている方が望ましい場合が多い。そのため、扱うカテゴリ数が少ないサブネットワークの結合を行なう。
【００２３】
上述の学習過程をまとめると、図２１に示すフローチャートのようになる。なお、各サブネットワークは、バックプロパゲーションアルゴリズムで学習を行なう。
（１）各カテゴリの標準パターンを作る（Ｓ３１０）。
（２）ｉ＝１と置く（Ｓ３２０）。
（３）標準パターンＰ（ｉ）からＮ番目までに近い標準パターンＰ（ｊ）（ｊ≠ｉ）を探す（Ｓ３３０）。すなわち、Ｐ（ｊ）はＮ個探索される。
（４）すでにＰ（ｉ）とｐ（ｊ）が同じサブネットワークに属しているかを調べ、属していたら、そのＰ（ｊ）を削除する（Ｓ３４０）。
（５）上記（４）の結果、Ｐ（ｊ）が０個になったら（Ｓ３５０でＹｅｓの場合）、サブネットワークは作らない。一方、Ｐ（ｊ）が０個でなければ、標準パターンＰ（ｉ）とＰ（ｊ）の合計（Ｎ＋１）個のカテゴリが属するサブネットワークを作成する（Ｓ３６０）。
（６）ｉ＜Ｒ（Ｒはカテゴリ数）ならば、ｉ＝ｉ＋１として上記（３）のステップ（すなわち、図２１のＳ３３０）に戻る。
同様に上記（３）〜（５）のステップを繰り返して、ｉがＲに達したら（Ｓ３５０でＮｏの場合）、次に、扱うカテゴリ数が少ないサブネットワークの結合を行なう（Ｓ３９０）。
【００２４】
サブネットワークの結合処理（図２１のＳ３９０）のフローチャートを、図２２に示す。
（７）ｋ＝１と置く（Ｓ４１０）。
（８）ｎ＝ｋ＋１と置く（Ｓ４２０）。
（９）２つのサブネットワークｋ，ｎを考え、それらが扱うカテゴリ数の合計が（Ｎ＋１）個以下であれば（Ｓ４３０でＹｅｓの場合）、ネットワークｋとｎを統合する（Ｓ４４０）。
（１０）ｎ＜Ｍ（Ｍは上述の（６）のステップが終了したときのサブネットワーク数）ならば（Ｓ４５０でＹｅｓの場合）、ｎ＝ｎ＋１として上述の（９）のステップに戻る。
（１１）ｎ≧Ｍの場合（Ｓ４５０でＮｏの場合）、ｋ＜Ｍならば（Ｓ４７０でＹｅｓの場合）、ｋ＝ｋ＋１として上述の（８）のステップに戻る。
これを、ｋ≧Ｍになるまで（すなわち、Ｓ４７０でＮｏになるまで）繰り返す。
【００２５】
＜４．ＮＮの認識過程＞
学習した後の並列ＮＮの重みを利用して、認識の対象となる顔画像データをＮＮの構造に従って計算する。次に、ＦＣＭ法で得たサブネットワークの帰属情報によって、認識の判断を行なう。基本的には、近いもの同士の判別はサブネットワークによって行なわれ、遠いもの同士は類似度法により判別されることになる。また、１つのサブネットワークに否定されたパターンは、他のサブネットワークにある場合にも否定される。
本実施形態では次の（１）〜（２）の手順で認識を行なう。
前提として、上記の＜３．ＮＮの学習過程＞で述べた方法で、登録者の学習用顔パターンを並列ＮＮに学習させ、登録する。そして、登録者の認識用顔パターンと未登録者の顔パターンを、学習を行なった並列ＮＮに認識させる。
【００２６】
（１）並列ＮＮの否定能力による排除
まず、あるＮＮ（あるサブネットワーク）で学習しているにも関わらず出力が最大とならなかったパターンを排除する。また、あるサブネットワークでは、すべての要素の値が閾値より低い場合、このサブネットワークのすべてのパターンを排除する。本実施形態ではこの閾値を０．５にした。さらにあるサブネットワークで一度否定された顔パターンを他のサブネットワークの答えから排除する。このとき、すべての顔パターンが排除されたら、この入力顔パターンを未登録者と判断する。
（２）類似度法による判断
（１）が行なわれた後、答えが残った場合、類似度法による判断を行なう。答えとなる要素（登録者）の標準顔パターン（学習用顔パターン）と入力顔パターンの類似度
【数１５】
2005316888.tif 000017
を計算し、類似度が一番大きい要素ユニットを最後の答えとする。ここで、Ｋは標準パターンの数で、Ｌは人数である。
ただし、類似度がある閾値より小さいとき、この入力顔パターンを未登録者と判断する。
【００２７】
＜５．３次元情報の利用＞
上述では、ファジィクラスタリングとＮＮを用いて、あいまいな顔画像を効率よく処理する方法を示した。
しかし、人物の位置及び姿勢の変化によって回転した顔画像に対しては、識別精度が若干低下するということが問題となっている。この人物の位置および姿勢の変化による画像変動は、本質的に顔の３次元形状によるものであり、これを解決するためには顔の３次元形状を利用することが有効であると考えられる。そこで本実施形態では、３次元形状計測装置を用い、３次元形状を利用して顔画像認識を行なう。
以降、本実施形態の顔認識システムにおける、顔画像の３次元情報からＮＮに入力するデータを作成する過程を説明する。なお、本実施形態のシステム構成例は上述の図２３に示したとおりである。
【００２８】
（１．画像の撮影）
撮影装置としては、図２に示すような非接触型３次元形状計測用レンジファインダを用いる。後述する本実施形態のシミュレーションでは、３次元形状計測用レンジファインダとしてＤａｎａｅ−Ｒ（http://www.necsan-ei.co.jp/general/spec/danae_r/danae_rs.htm）を用いた。この装置は、左右のフラッシュ２２０からスリット光を投影して左右のＣＣＤカメラ２１０で被写体２３０を撮影する。その際、視差情報から物体の奥行きを計算し、被写体２３０の３次元形状を得るものである。
３次元形状計測装置で撮影した画像は、図３に示すように、２次元濃淡データと奥行情報からなる。
【００２９】
（２．入力データの生成）
撮影した画像には、撮影時の姿勢変化による顔の回転変動や、照明の明るさによる変動が加わっている。また、画像データをそのままＮＮの入力データとして用いるとデータ量が膨大となり、計算時間が大きくなってしまう。そこで、撮影した画像に対して下記の（１）〜（６）の手順で前処理を行なって回転と照明の補正、データ量の削減を行なう。
【００３０】
（１）グレースケールに変換
撮影した２次元濃淡データはカラー画像として得られるが、本研究ではグレースケール画像のみを用いる。これは、カラー画像を扱うことによってデータ量が多くなるためと、照明の色や皮膚の色など、変動要因が増えるためである。
【００３１】
（２）特徴点の抽出
取り込んだ顔画像から、正面を向いた顔領域を切り出すために、３次元形状とテクスチャ情報から、下記の（ａ）〜（ｅ）の特徴点を抽出する。なお、抽出した特徴点を図４に示す。
（ａ）高さが最小となる点から鼻頂点座標を取得
最初に、顔の中心となる鼻頂点座標を取得する。鼻頂点は顔のｚ座標が最小となる点であることを利用し、座標を決定する。（図４点１）
（ｂ）鼻頂点から上の極点を取得
鼻頂点からｙ軸方向に走査し、傾きが正から負、負から正に変化した部分のｙ座標を取得し、左右の目の中間点、左右の眉の中間点の座標とする。（図４点２）
（ｃ）鼻の傾きを取得
鼻の頂点と目の間の点を結んだ直線上の点をとり、最小二乗法により近似直線を計算する。この直線の傾きをｘ軸の回転補正用に用いる。（図４直線３）
（ｄ）鼻の両側の点を取得
鼻頂点から左右一定距離にある点を取得する。この周囲の領域のｚ座標をｙ軸の回転補正用に用いる。（図４点４）
（ｅ）濃度から目の位置を取得
目については、高さ情報では正確な位置を取得するのが難しいため、２次元濃淡データを用いて目の位置を決定する。まず目の間の点から左右に探索し、黒い部分を検出する。次に、目の濃淡データは左右の目で対称となっていることを利用し、先ほど取得した両目の位置の周囲で左右それぞれの画素値を比較し、対称になっている部分を探索する。得られた画像を最終的な目の位置とする。（図４点５）
【００３２】
（３）回転補正
次に、上述の（２）で取得した特徴点から顔画像の回転に対しての補正を行なって、正面を向いた画像を生成する。
【００３３】
（ａ）ｘ軸方向の回転補正
上述の（２）で取得した鼻の傾きがすべての画像で等しくなるようにｘ軸方向に回転補正を行なう。図５において、回転前の鼻の直線の式をｚ＝ａ１ｙ＋ｂ１，回転後の鼻の直線の式をｚ’＝ａ２ｙ’＋ｂ２，補正する回転角度をθｘとすると、ｔａｎθｘは、
【数１６】
2005316888.tif 000018
【数１７】
2005316888.tif 000019
より、
【数１８】
2005316888.tif 000020
となる。
【００３４】
（ｂ）ｙ軸方向の回転補正
上述の（２）で取得した鼻の左右の点のｚ座標が左右で等しくなるように、ｙ軸方向に回転補正を行なう。図６の鼻の左右の点のｘ，ｚ座標をそれぞれ（ｘｌ，ｚｌ），（ｘｒ，ｚｒ），回転後の座標をそれぞれ（ｘ’ｌ，ｚ’ｌ），（ｘ’ｒ，ｚ’ｒ），補正する回転角度をθｙとすると、ｔａｎθｙは、
【数１９】
2005316888.tif 000021
【数２０】
2005316888.tif 000022
ｚ’ｌ＝ｚ’ｒより、
【数２１】
2005316888.tif 000023
となる。
【００３５】
（ｃ）ｚ軸方向の回転補正
上述の（２）で取得した左右の目の位置のｙ座標が左右で等しくなるようにｚ軸方向に回転補正を行なう。図７の左右の目の点のｘ，ｙ座標をそれぞれ（ｘｌ，ｙｌ），（ｘｒ，ｙｒ），回転後の座標をそれぞれ（ｘ’ｌ，ｙ’ｌ），（ｘ’ｒ，ｙ’ｒ），補正する回転角度をθｚとすると、ｔａｎθｚは、
【数２２】
2005316888.tif 000024
【数２３】
2005316888.tif 000025
ｙ’ｌ＝ｙ’ｒより、
【数２４】
2005316888.tif 000026
となる。
【００３６】
ここで、特徴点の抽出と回転補正については、１度だけで正確な補正を行なうのは困難であるので、上述（２）の特徴点の抽出、および、（３）の回転補正の処理を、補正した角度が閾値以下になるまで、繰り返し行なうとよい。
【００３７】
（４）顔領域の切り出し
上記（３）で回転補正を行ない正面を向いた画像に対して、鼻頂点座標を中心として、一定の距離を切り出し、図８に示すような顔領域とする。
【００３８】
（５）簡単な照明の補正
画像撮影中の照明の明るさに多少変動があるため、各画像の輝度の平均値を一定にする処理を行なう。
【００３９】
（６）データ量の削減
上記（４）で切り出しを行なった画像をそのまま使用すると、ＮＮによる学習、認識時間が膨大になってしまうので、画像を縮小して使用する。本実施形態では、例えば３２×３２画素に縮小して使用する。
ＮＮに入力するデータとしては、３２×３２画素の２次元濃淡データ（図９）と対応する３２×３２画素の３次元形状データ（図１０）とを合わせて、３２×３２×２個のデータを用いる。ここで、３次元形状データとしては、２次元濃淡データの各画素に対応する位置のｚ軸上の値を用い、高さの基準として鼻の頂点の高さを用いる。また、２次元濃淡データに合わせるため、画素値を８ｂｉｔ量子化し、鼻頂点側を２５５，後頭部側を０として表現する。
【００４０】
＜６．シミュレーション＞
最後に、本実施形態の顔認識システムを用いて学習・認識のシミュレーションを行ない、その結果を示す。
【００４１】
（１．画像の撮影）
シミュレーションに用いる画像として、上述の３次元形状計測装置（Ｄａｎａｅ−Ｒ）によって撮影した画像を用いる。顔画像は正面を向いた画像を取り込んだが、１回１回の撮影の間に被写体が顔を動かしているため、実用上考えられる程度に斜めを向いた画像が含まれている。被写体からカメラまでは６０ｃｍ，室内の照明は撮影装置のストロボのみとした。また、撮影装置の制限上、今回の実験では眼鏡は外して撮影を行なった。
今回の実験では、１人につき５枚の２次元濃淡データ・３次元形状データを撮影し、登録者用として３０人、未登録者用として５人分の画像を用意した。このうち登録者の画像は１人につき４枚を学習用に、１枚を認識用に用いる。すなわち、登録する画像としては３０×４＝１２０枚、認識する画像としては登録者３０×１＝３０枚、未登録者５×５＝２５枚を用いた。
ここで、今回実験に用いた画像の枚数は全部で３５×５＝１７５枚と数が少ない。そこでシミュレーションの結果の精度を高めるため、leave-one-out法を用いる。すなわち１回のシミュレーションでは１人分の画像５枚のうち４枚を選び学習を行ない、残った１枚を用いて認識を行なう。この操作を、選ぶ画像を５通り変化させることで５回のシミュレーションを行ない、平均をとることによってシミュレーションの信頼性を高める。
【００４２】
（２．入力データの生成）
顔画像の学習・認識処理を行なう前処理として、ＮＮへの入力データの生成を行なう。入力データの生成方法は、上述の＜５．３次元情報の利用＞で説明したとおりである。ここで、特徴点の抽出、顔領域の切り出しに用いるパラメータについてはいくつかの値を試し、実験的に決定した。
（１）グレースケールに変換
取り込んだ画像はＲＧＢ各８ｂｉｔの画像なので、グレースケール８ｂｉｔの画像に変換する。
（２）特徴点を抽出
２次元濃淡データと３次元形状データから特徴点を抽出する。
（３）回転補正
抽出した特徴点からｘｙｚ軸それぞれについて回転補正を行なう。ここで、ｘ軸については、すべての画像で鼻の傾きがｙ軸から０．６［ｒａｄ］になるように補正を行なった。
（４）顔画像の切り出し
顔領域については鼻頂点を中心に、顔の大きさが一定になるように切り出し処理を行なった。ここで今回の実験では、すべての画像において眉の上部からあごの部分が入る大きさとして１００画素を顔の大きさとした。
（５）簡単な照明の補正
画像撮影時の照明の明るさに多少の変動があるため、各画像の輝度の平均値を一定にする処理を行なった。
（６）データ量の削減
学習、認識処理の計算量を抑えるため、２次元濃淡画像、３次元形状画像をそれぞれ３２×３２画素に縮小処理を行なった。
ここまでの処理を行なった同一人物の画像５枚を例として図１１に示す。この後の学習・認識処理では、２次元濃淡画像、３次元形状画像それぞれ３２×３２画素を同時に用いる。また、すべての画像について実際に回転補正を行ない、回転補正を行なった量の平均値と最大値を図１２に示す。なお、ｘ軸の回転補正については、シミュレーション時に角度を指定しているため、平均を０°として計算した。
【００４３】
（３．ファジィクラスタリング）
（１）まず、最初のクラスタ（サブネットワーク）数を、登録者の人数と等しい３０にする。一人の登録者につき学習用パターン４枚を用いて、個人別の平均ベクトルを求める。
クラスタ分割に用いるパラメータは、以下のように設定した。
・クラスタへの最大要素数：６
・要素の最大帰属数：５
・収束判断値：０．０１
・データ集合の個数：３０人
・データの次元：２０４８（３２×３２×２）
・一人あたりの顔画像総枚数：４
・行の非ファジィ化の調節係数：１．１５
【００４４】
（２）ＦＣＭ法による計算
上述の  ＜２．顔画像の振り分け＞  で定めたメンバシップ関数及び式（７）と式（１０）により繰り返し計算し、分割行列Ｕを更新する。Ｕの更新量が収束判断値以下になったら計算を終了する。
ここで、メンバシップ関数の分割行列の例を図１３に示す。最上行の数字は小規模ＮＮ（サブネットワーク）の番号であり、各行の和はおよそ１となる。また、最左列の数字は登録者の番号である。最終的なクラスタ（サブネットワーク）数は２３となった。すなわち、パターン１，２，４，６，７，８，９，１０，１１，１２，１３，１５，１６，１７，１８，１９，２０，２２，２３，２５，２６，２７，３０を中心に２３個のクラスタ（サブネットワーク）が形成された。
【００４５】
（３）非ファジィ化
（ａ）行の非ファジィ化
要素の最大帰属数を５、要素数を減らすための非ファジィ化の閾値を（１/クラスタ数）×行の非ファジィ化の調節係数＝０．０５に設定する。各要素がこの閾値より小さければ、帰属度を０とする。メンバシップ値が閾値より大きくても、要素の最大帰属数５より多いため、メンバシップ値の大きさを順に上位５個のクラスタ（サブネットワーク）だけに入れる。行の非ファジィ化を行った後の分割行列は図１４のようになった。
（ｂ）列の非ファジィ化
クラスタ（サブネットワーク）の最大要素数を６に設定し、０ではない要素を大きさの順に上位６個を保存し、他の要素を除外する。ここで除外作業を行うとき、除外対象となる要素は少なくとも１つのクラスタに帰属させることを保証するため、たとえ同要素が上位６個の中に入ってなくても、同じ行で他のクラスタへの帰属が全部０であれば、この要素は保留しなければならない。列の非ファジィ化を行った結果は図１５のようになった。また、非ファジィ化を行った結果を図１６に示す。
（ｃ）非ファジィ化による合併
サブネットワーク数を減らすため、これを更に合併すると、最終的に図１７のような分割行列が得られる。最終的なサブネットワーク数は９個となった。
ここで注意すべきことは、サブネットワークを合併しなくても、本方法を適用することができるが、図１７に示すようにサブネットワークを統合すれば、計算量をさらに減らすことができ、効率が良くなることである。
【００４６】
（４．並列ＮＮによる学習と認識）
上記で作成したサブネットワーク（図１７）を用いて、小規模な並列ＮＮによって学習と認識を行う。
【００４７】
（１）学習
まず、３０名の登録者の１２０枚学習用顔パターンを、並列ＮＮに学習させる。
（ａ）ＮＮの構造
今回用いたＮＮの構造は、図１に示すように入力層に２０４８ノード、中間層に３２ノード、出力層に６ノードを持った、３階層ＮＮとする。
（ｂ）パラメータの設定
ＮＮの各パラメータを以下のように設定し、学習を行った。学習に要した学習回数を図１８に示す。
・データ集合の個数：３０
・入力層データの次元：３２×３２×２＝２０４８
・一人あたりの学習顔画像の総枚数：４
・入力層のノード数：入力層データの次元＝２０４８
・中間層のノード数：３２
・出力層のノード数：クラスタへの最大要素数＝６
・モーメント：０．０１
・モーメント更新量：０．０１
・学習係数（結合係数）α＝０．１３
・学習係数（オフセット値）β＝０．１
・誤差収束判定値：０．０１
・最大計算回数：１００００
【００４８】
（２）認識
学習の終わったＮＮに登録者３０名の未学習顔パターン３０枚と、未登録者５名の顔パターン２５枚を以下のステップに従って並列ＮＮに認識させた。
また、認識率、拒否率についてはシミュレーション結果の信頼性を高めるため、leave-one-out法によって５通りのシミュレーションを行い、その平均を計算した。
（ａ）ＮＮの出力
ＮＮの出力のうち、最も大きい値を出力したニューロンに対応するパターンを、そのサブネットワークが出した答えとする。ただし、学習が行われなかったユニットに顔パターンを認識させるとその出力は０．５になったので、本実験では０．５以下の値を出力したニューロンは、最も大きい値を出力していても無視することにする。
（ｂ）並列ＮＮの否定能力による排除
あるサブネットワークで一度拒否された要素ユニットを他のサブネットワークの答えから排除する。この時、全ての要素ユニットが排除されたら、この入力顔パターンを未登録と判断する。
（ｃ）類似度法による判断
答えが１つ以上残った場合、類似度法による判断を行う。答えとなる要素（登録者）の標準顔パターン（学習顔パターン）と入力顔パターンの類似度を計算する。その差が一番大きい要素ユニットを最後の答えとする。ただし、この差がある閾値より小さいと、この入力顔パターンを未登録者と判断する。
類似度法の閾値を０．００１ずつ変えたときの認識率と拒否率の変化を図１９のグラフおよび図２０の表に示す。なお、図１９の横軸は類似度法に用いる閾値を、縦軸は認識率と拒否率を表している。
【００４９】
（３）シミュレーション結果の考察
（ａ）入力データの生成結果
本実施形態では、学習・認識処理を行う前に、前処理として回転変動が加わった画像の補正を行ない、補正後の画像をＮＮの入力データとした。図１２に示した表より、ｘ軸方向に対して最大１７．４°，ｙ軸方向に対し最大１０．４°，ｚ軸に対し最大７．４°の回転が加わった画像に対しても、正面を向いた画像を作成することができたことがわかる。これは、今回の実験中、複数の顔画像を撮影する間に位置・回転変動が起こっていることを考えると、正面顔を撮影した場合に限定される回転変動としては十分といえる。
（ｂ）認識結果
図１９のグラフを見ると、横軸の、類似度法で用いる閾値を変動させると認識率と拒否率が大きく変わることがわかる。認識率と拒否率のどちらかを優先するかは応用場面によって変わってくるため、応用場面によって閾値を選ぶ必要がある。
今回の実験では、認識率と拒否率が同じくらいになるように閾値を選んだ場合（閾値＝０．９９２）、認識率９７．３％、拒否率９７．６％となった。但し、ここで認識率、拒否率それぞれの意味の定義は次のようである。
認識率は、登録者の未学習画像を入力したときに、正しい登録者と認識できた確率である。拒否率は、未学習画像を入力したときに、未登録者と認識した確率である。この場合、入力が登録者の場合は不正解、未登録者の場合は正解となる。
また、シミュレーションで使用した顔画像（斜め顔画像を含む場合）に対して、上述の非特許文献５による従来のクラスタリング手法を利用した方法の認識率は７６．２％であり、通常の３層ニューラルネットワークにより学習して、認識を行ったときの認識率は７１．８％であることを確認した。本実施形態のように、ファジィクラスタリング法と顔の３次元形状を利用すれば、認識率は９７．３％であるので、本実施形態の手法は非特許文献５の考えを大幅に発展させたものであるといえる。さらに、本実施形態の顔認識システムにおいて、放射基底関数（ＲＢＦ：Ｒａｄｉａｌ  Ｂａｓｉｓ  Ｆｕｎｃｔｉｏｎ）を中間層の入出力関数に用いたＲＢＦネットワークまたはウェーブレット関数を中間層の入出力関数に用いたウェーブレットネットワークを利用すれば、認識率および拒否率は９９％以上を達成できることを確認した。
【図面の簡単な説明】
【００５０】
【図１】本実施形態の並列ニューラルネットワークの構成例を示した図である。
【図２】本実施形態で用いる３次元形状計測装置を示した図である。
【図３】３次元形状計測装置で撮影した顔画像の例である。
【図４】図３の画像の３次元形状とテクスチャ情報から抽出した特徴点を示した図である。
【図５】図３の画像にｘ軸方向の回転補正を行なう様子を示した図である。
【図６】図３の画像にｙ軸方向の回転補正を行なう様子を示した図である。
【図７】図３の画像にｚ軸方向の回転補正を行なう様子を示した図である。
【図８】回転補正を行なった画像から切り出した顔領域を示した図である。
【図９】ＮＮに入力する３２×３２画素の２次元濃淡データである。
【図１０】ＮＮに入力する３２×３２画素の３次元形状データである。
【図１１】本実施形態を用いたシミュレーションにおいて、同一人物を撮影した５枚の顔画像から生成したＮＮへの入力データの例を示した図である。
【図１２】上記シミュレーションにおいて、回転補正を行なった量の平均値と最大値を示した表である。
【図１３】上記シミュレーションにおいて、メンバシップ関数の分割行列を示した表である。
【図１４】上記シミュレーションにおいて、行の非ファジィ化を行った後の分割行列を示した表である。
【図１５】上記シミュレーションにおいて、列の非ファジィ化を行った後の分割行列を示した表である。
【図１６】上記シミュレーションにおいて、非ファジィ化を行った結果を示した表である。
【図１７】上記シミュレーションにおいて、サブネットワークの合併を行った結果を示した表である。
【図１８】上記シミュレーションにおいて、学習に要した学習回数を示した表である。
【図１９】上記シミュレーションにおいて、類似度法の閾値を変化させたときの認識率と拒否率の変化を示したグラフである。
【図２０】上記シミュレーションにおいて、類似度法の閾値を変化させたときの認識率と拒否率の変化を示した表である。
【図２１】本実施形態の学習過程のフローチャートである。
【図２２】サブネットワークの結合処理のフローチャートである。
【図２３】本実施形態のシステム構成例である。
【図１】
2005316888.tif 000027
【図２】
2005316888.tif 000028
【図３】
2005316888.tif 000029
【図４】
2005316888.tif 000030
【図５】
2005316888.tif 000031
【図６】
2005316888.tif 000032
【図７】
2005316888.tif 000033
【図８】
2005316888.tif 000034
【図９】
2005316888.tif 000035
【図１０】
2005316888.tif 000036
【図１１】
2005316888.tif 000037
【図１２】
2005316888.tif 000038
【図１３】
2005316888.tif 000039
【図１４】
2005316888.tif 000040
【図１５】
2005316888.tif 000041
【図１６】
2005316888.tif 000042
【図１７】
2005316888.tif 000043
【図１８】
2005316888.tif 000044
【図１９】
2005316888.tif 000045
【図２０】
2005316888.tif 000046
【図２１】
2005316888.tif 000047
【図２２】
2005316888.tif 000048
【図２３】
2005316888.tif 000049