平成１２年度
学士学位論文ニューラルネットワークを用いた掌紋認識の有用性に関する研究
Research on utility of palm print recognition
by neural net works

所属：情報システム工学科
学籍番号：1010410
氏名：千屋貴裕
指導教員：竹田史章教授
提出日：2001.2.5

要旨
これまでの個人認証には指紋を用いることが多かったが、最近では犯罪者の中で指紋をつぶす者があらわれるなど多種多様の問題が提起されている。本研究では、より安定し、偽造されにくい掌紋を取り上げて個人認証システムに着目する。とくに、掌紋画像の学習、識別にはパターン識別に高度な認証能力を発揮するニューラルネット
ワークを用い、その有用性をコンピュータシミュレーションで示す。

Abstract
The fingerprint is often used for a current individual attestation. However, thecriminal has the thing to erase my fingerprint. In this research, it is stable, andpays attention to the individual attestation system which uses palmprint thatthe counterfeited thing is difficult. The neural net work by which a highly
developed attestation ability is demonstrated is used for the pattern recognition
for the experiment. Then, utility is shown using the computer simulation.

i

１ 章 は じ め に.........................................................................................................................1
２ 章 個 人 認 証 と は.................................................................................................................4２ ． １ バ イ オ メ ト リ ク ス を 用 い た 個 人 認 証.................................................................4２ ． ２ 掌 紋 に よ る 個 人 認 証.............................................................................................4
３ 章 ニ ュ ー ロ 識 別 シ ス テ ム.................................................................................................5３ ． １ シ ス テ ム の 主 な 機 能.............................................................................................5３ ． ２ ニ ュ ー ラ ル ネ ッ ト ワ ー ク.....................................................................................5
３．２．１ ニューラルネットワーク........................................................................6
３．２．２ ネットワークの構成................................................................................6
３．２．３
３．２．４
３．２．５

情報の伝達................................................................................................7
中間層・出力層の入出力関数................................................................8
学習アルゴリズム....................................................................................9３．２．６ 学習パラメータ......................................................................................11３ ． ３ 学 習 シ ス テ ム の 環 境...........................................................................................12３．３．１ データベース設定ファイル..................................................................12３．３．２ 環境設定ファイル..................................................................................12３ ． ４ 学 習 シ ス テ ム の 動 作...........................................................................................14３．４．１ 学習データ抽出／追加..........................................................................14
３．４．２
３．４．３
３．４．４

マスクファイル作成..............................................................................14
スラブファイル作成..............................................................................17
学習ファイル作成..................................................................................19

３．４．５ 教師ファイル作成..................................................................................19
４ 章 ニ ュ ー ロ 識 別 シ ス テ ム を 用 い た 実 験.......................................................................22
４ ． １ 実 験 目 的...............................................................................................................22
４ ． ２ 実 験 機 器...............................................................................................................22
４ ． ３ 実 験 手 順...............................................................................................................23
４．３．１ 実験の流れ..............................................................................................23
４．３．２
４．３．３
４．３．４

画像採取..................................................................................................23
学習..........................................................................................................26
評価..........................................................................................................29

４ ． ４ 実 験 条 件...............................................................................................................30
４ ． ５ 実 験 結 果...............................................................................................................31
５ 章 ま と め...........................................................................................................................33
６章
７章

謝 辞...............................................................................................................................34
参 考 文 献.......................................................................................................................35

ii

１章

はじめに

昨今のネットワーク、マルチメディアなどの技術のめざましい発達に伴い、郵政省の WG6 プロジェクトに代表されるように個人認証と言うものに注目が集まっている。
とくに盗むことのできない完全な個人認証の必要性が高まってきている。個人認証の活用場所について代表的なものとしては、銀行における個人認証、クレジットカード
における個人認証、アクセス管理における個人認証、入退場システムにおける個人認証などがあげられる(1)。
従来、セキュリティを実現するシステムの多くは、ユーザーを特定するためのユー
ザー名、すなわちＩＤと、それを入力したのが本人であることを確認するためのパス
ワードの組み合わせを用いてきた。また、銀行のカードなどのように、ＩＤ入力のかわりにカードを用いる場合もあり、パスワードが数字の場合は暗証番号と呼ばれたりする。これらのシステムでは、パスワードは本人しか知らない情報であるということを根拠にしてユーザー認証を行うが、パスワードを盗み見られて他人になりすまされる危険がある上に、忘れてしまえば情報にアクセスできなくなる不便さがある。また、
最近、様々なシステムでパスワードを要求されることがおおいが、同一のパスワードを使うのは危険であるため複数の異なったパスワードを記憶しなければならず、ユー
ザーの負担は大きなものとなってきている。さらに、ＩＤカードを併用する方式は、セキュリティが向上する反面、カードを忘れたり紛失してしまうと情報アクセスができなくなる不便さがあるだけでなく、パスワードを解読されて不正使用される事件も発生している。
そこで、これらの問題を解決するため、本人であることをバイオメトリクス（生物学的な特徴）を用いて判別しようという方式が昨今注目を集めている。バイオメトリ
クスは全ての人で異なり、かつ年月がたっても変化しないような個人特徴でなければならない。バイオメトリクスは、大きく２つに分類され、本人の意思で変えることができない特徴点に注目するものと、恣意的に変えることができる特徴に注目するものがある。
前者には，顔貌，網膜，虹彩，耳，指紋，掌紋，掌形，指形，手の甲の血管模様などが該当する。後者には、声紋，署名（筆跡）などが該当する。ここで研究・実用化が進んでいるバイオメトリクスの例をいくつか紹介する。
•

虹彩（アイリス）−黒目のうち瞳孔を囲む放射状の筋肉の表面にある模様を利用する。外部から見えやすく非接触で撮像できるという長所を持っている。精度は高い反面、カメラ系などのシステムが高価なため入門管理用とが主であったが、今後小型化・低価格化による情報セキュリティ分野への展開も図られて

1

いる。
•

網膜血管−眼球内部にある網膜上の血管パターンを用いる。認証精度は高いとされるが、センサ部をのぞき込み、目の奥まで光を当てられるという動作にユーザが抵抗感を感じたり、慣れが必要であることなどの制約がある。ハイエンドな入門管理用途に多い。

•

掌形−掌の形に加え指の関節間の長さや太さ、横方向から計った手の厚さなどを利用する。使いやすさもあって防衛関係の入門管理などでかなりの実績がある。

•

顔−常時露出しているため、抵抗感なく自然に入力できる。照合方式として、目や口などの代表点の位置をもとに構造をコード化して照合する、あるいは何らかの計測法を用いて鼻の高さや頬の形のような三次元構造を抽出し、それを用いてマッチングを行う、など様々な方法が研究されている。応用分野に応じて製品化が始まり、実用化フェーズに入りつつある。

•

音声−声紋に現れる個人性を利用する。周囲雑音、音声の品質、本人音声の変動、録音音声への対応など様々な技術的課題があるものの、心理的抵抗が少な
い、特殊な入力装置が不要などの利点を持ち、電話を通じての情報サービスなどでの実用化が始まっている。

•

動的署名−特殊なペンタブレットを利用し、筆跡に加え筆順、運筆速度パター
ン、ペンをあげている間の軌跡、筆圧などの書き方の情報を個人の特徴とする
方式が実用化されている。「練習」への対策などの課題があり精度は絶対的に高いとは言えないが、ユーザにとって受け入れやすいという利点があり、ペン方
式の情報端末上で利用するにはコストの点からも適した方法と言える。

•

指紋−人間の指先の皮膚紋様である指紋は、「万人不動」、終生不変」という特徴を持つとされ、自動照合への取り組みも１９６０年代からと比較的長い歴史を持っている。

情報システムでの認証用途に一般の人々が使用することを考慮すると、「最高レベルの高精度照合方式がパーソナル分野においても利用可能である」、「入力センサが接触型で小型化できるために、パソコンや携帯端末に搭載するという形態でしやすい」という点で、低価格・小型な情報セキュリティを実現することに適していると考2

えられ、最も実用化が進んでいる(1)‐(9)。
これまでの個人認証には指紋を用いることが多かったが、最近では犯罪者の中で指紋をつぶす者があらわれたため、本研究では、より精度を高めるために指紋ではなく掌紋取り上げて個人認証を行うことにする。
認識にはパターン識別に高度な能力を発揮するニューラルネットワークを用いる。
本研究では様々な条件で掌紋の認識を行い有用性について検証する。

3

２章

個人認証とは

ここでは、個人認証の活用場所について述べる。代表的なものとしては、銀行における個人認証、クレジットカードにおける個人認証、アクセス管理における個人認証、入退場システムにおける個人認証などがあげられる。個人認証には、様々な方法があるが、大きく３つに分類することができる。
バイオメトリクス、所有物情報、秘密情報があり、本研究では盗用する事が困難とされる、バイオメトリクスを取り上げる。

２．１

バイオメトリクスを用いた個人認証

バイオメトリクス（生物学的特徴）は、２つに分類され、本人の意思で変えることができない特徴点に注目するものと、恣意的に変えることができる特徴に注目するものがある。前者には、顔貌、網膜、虹彩、耳、指紋、掌紋、掌形、指形、手の甲の血管模様などが該当する。後者には、声紋、署名（筆跡）などが該当する(1)。

２．２

掌紋による個人認証

掌紋とは掌全体に見られる指紋様の皮膚隆起線のことであり、紋様は一生不変で遺伝性である。このため再現性が高いと考えられる。
また、掌紋画像の識別は、圧力と汗に対して強いと予想され、手の平の紋様と形状（掌形）とを利用することができると考えられる。
上記のように手の平の紋様には多くの情報が集約されていると考えられ、個人を識別するのに適した特徴と考えられる(2),(3)。

4３章

ニューロ識別システム

本研究で採用するニューロ識別システムは、従来ニューラルネットワークによる紙幣識別処理において、学習・評価のシミュレーションを行うためのツールである。今回はこのツールを用いて掌紋画像の識別処理を行う。以下、ニューロ識別システムと
記述する。

３．１

システムの主な機能

学習システムは主に以下のような機能をサポートする。
・掌紋画像データをブロック化するための情報ファイル（マスクファイル）を作成する。
・掌紋画像データとマスクファイルからニューラルネットワークの入力ファイル（スラブファイル）を作成する。
・スラブファイルによりニューロ学習を実行し、ウェイトファイルを作成する。
・ニューラルネットワークの入力値、出力値を評価するためのトラップファイルを作成する。
・上記ファイルを使用して掌紋画像ファイルを識別評価する。

３．２

ニューラルネットワーク

ニューラルネットワークの学習とは、与えられた入力に対して期待する出力が得られるようにネットワークの内部状態を調整することである。
学習の具体的な処理について（1 データ文）簡単に説明する。
・学習ファイルに含まれるスラブ値（入力値）をニューラルネットワークに入力する。
・その時点におけるウェイト値によってニューラルネットワークの出力値を計算する。
・得られた出力値と教師値との誤差によってウェイト値を修正する。

5

以上の 3 点が学習の基本動作である。

３．２．１

ニューラルネットワーク

ニューラルネットワークは、図 3.1 に示すような 3 層の階層型ネットワークを使用している。各層のニューロン（細胞）の数は最大５０個までとする。

図 3.1

ニューラルネットワークの例

丸印で表されたのがニューロンで、各ニューロンは、入力層、中間層、出力層のそれぞれ独立した層に配置する。各層のニューロンはそれより１つ前の層のニューロン
から入力を受ける。また、各層間ではすべてのニューロンが結びついている。
情報の流れる方向は、入力パターン（５つの入力値）が入力層の各ニューロンに与えられ、中層間で変換されて、出力層の各ニューロンから出力パターン（４つの出力値）が得られることになる(10)〜(12)。
（用語）ニューロン：神経細胞。ユニットと同意で使用する。ネットワークのノードに当たる要素で、多入力、一出力の素子。

３．２．２

ネットワークの構成

ネットワークの構成は環境設定ファイルで設定する。設定項目は入力層の細胞数、中間層の数、中間層の細胞数、出力層の細胞数の４つである。
入力層の細胞数は入力スラブ値と同数に設定する。（→ マスクパターン）
中間層の数は現状では必ず １ に設定すること。
中間層の細胞数は任意に設定できるが、入力層の細胞数と同数程度が適当である。

6

学習が収束しにくい時は中間層の細胞数を増やしてみるとよい。
出力層の細胞数は学習パターン数と同数に設定する。
各層とも、設定できる最大の細胞数は５０である。

３．２．３ 情報の伝達
ニューラルネットワークにおいて、入力層に与えられた入力パターンが、どのようにして伝達され、出力層から出力されるのかを説明する。

図 3.2

情報の伝達

図 3.2 で、ｓ１、ｓ２、ｓ３はそれぞれ入力層の第１，２，３ユニット、ａ１，ａ２はそれぞれ中間層の第１、２ユニット、ｒ１、ｒ２、ｒ３はそれぞれ出力層の第１、２、３ユニットである。また、Ｓ１，Ｓ２，Ｓ３は入力層への入力値（スラブ値）、
Ｒ１，Ｒ２，Ｒ３は出力層の出力値を表す。
入力層の第ｉユニットから中間層の第ｊユニットへの結合の重み（ウェイト）をＷｉｊとする。中間層と出力層の間の情報伝達方法もまったく同じであるから、入力層と中間層を例にして説明する。
＜ユニットの入力値＞
入力層の第ｉユニットの出力値をＳｉとすると（入力層のユニットは入力値と出力値が同じ）、中間層の第ｊユニットの入力の総和Ｉｊは式 3.1、式 3.2 をつかい、つぎのように求める。
I 1 = W11 S 1 + W21 S 2 + W 31 S 3…（3.1）
I 2 = W12 S1 + W 22 S 2 + W32 S 3

7

となり一般的に、
I j = ∑Wij Si…（3.2）iと表すことができる。
＜ユニットの出力値＞
中間層の第ｊユニットの総和を Ｉｊとすると、中間層の第ｊユニットの出力値Ｏ
ｊは式 3.3 のようにして求める。
O j = f (I j )…（3.3）（ｆは入出力関数）

このようにして、入力その各ユニットの出力値と、入力層と中間層の各ユニット間のウェイト間のから中間層の各ユニットの出力値を得ることができる。
同様にして、中間層の各ユニットの出力層と、中間層と出力層の各ユニット間のウェイトから出力層の各ユニットの出力値を得ることができる。

３．２．４ 中間層・出力層の入出力関数
中間層・出力層の各ユニットの入出力関数としては、ロジスティック間数（シグモイド間数）f (x ) =1
 − x +θ 
1 + exp  T …（3.4）

を使用する。
式 3.4 において、ｘは各ユニットへの入力値で、ｆ（ｘ）はそのユニットの出力値である。T はネットワークの温度と呼ばれる正の数で、T が大きくなるほどグラフはなだらかになる。θはユニット単位の閾値である。図 3.3 にシグモイド間数グラフを示す（θ＝０）。

8図 3.3

シグモイド関数T(ネットワークの温度)は総合誤差に比例して、１．３から０．７まで変化させる。
この操作は学習プログラムが自動的に行う。また、総合誤差については後述する。

３．２．５ 学習アルゴリズム＜（３．１．３）情報の伝達＞で、入力層に与えられた入力パターンが中間層を経て変換され、出力層から出力パターンが得られることを示したが、入力パターンに対して期待する出力パターンを得るためには、各ユニット間の結合重み（ウェイト）を適切な値にしなければならない。このウェイトを適切な値に設定するために学習を行う。
学習方法としては、≪誤差逆伝搬（Error Back Propagation）アルゴリズム≫を使用する。具体的には、いくつかの入力パターンの例（学習データ）を与え、その時の出力パターンと期待する出力パターン（教師値）との誤差が減少するようにウェイ
トを修正する。
ある入力パターンを与えた時の出力層の第ｊユニットの出力値を Oｊ、このときの出力層の第ｊユニットの期待値（教師値）を Tｊとすると、第ｊユニットの誤差 Eｊ
は式 3.5 のようにして求める。
Ej =1(Tj − Oj )22…（3.5）

9従って、1 つの学習パターン P における出力層の誤差 Eｐは式 3.6 のようにして求
める。
Ep =

1
(Tj − Oj )2∑
2 j…（3.6）

全学習パターンの誤差の総和を E とし、総合誤差と呼ぶことにする。
E = ∑ Ep =p1
(Tj − Oj )2
∑∑
2 p j

…（3.7）

式 3.7 の総合誤差 E が最小になるように各ユニット間の結合重み（ウェイト）を修正する。
修正の方法としては才急降下法を用いる。具体的には、各学習パターン毎に、各ユニットの誤差 Eｊが最小になる方向へ微妙な変更を加えていく。
第ｔ回目の学習における、ｋ−１層の第ｉユニットからｋ層の第ｊユニットへのウェイト Wｉｊの修正量ΔWｉｊ（ｋ−１，ｋ）（ｔ）は以下のようにして求める。

∆Wijk −1, k (t ) = −εδ kj Oik −1 + α∆Wijk −1, k (t − 1) + β∆Wijk −1, k (t − 2)

式 3.8 において、 εは学習定数、 αは慣性定数、 β…（3.8）

は振動定数である。

また、 δｊ(ｋ) はｋ層の第ｊユニットの一般化誤差で、ｋ層が出力層の場合と中間層の場合によって算出方法が異なる。以下に一般化誤差の算出方法を示す。
ｋ層が出力層の場合、（Ｉｊ(k)はｋ層の第ｊユニットの入力総和）

(

) ( )

δ kj = Tj − O kj f ' I kj…（3.9）

ｋ層が中間層の場合、（ただし、ｍは出力層のユニット番号）

( )



δ kj =  ∑ W jmk , k +1δ mk +1  f ' I kj m…（3.10）10

以上が誤差逆伝搬法によるウェイト修正の概略である。
詳しくは専門書を参考にして頂きたい。

３．２．６ 学習パラメータ
前項で示したウェイトの修正式∆Wijk −1, k (t ) = −εδ kj Oik −1 + α∆Wijk −1, k (t − 1) + β∆Wijk −1, k (t − 2)

式 3.11 におけるε

学習定数、 α

慣性定数、 β…（3.11）振動定数は環境設定ファイルで設定する。
ε 学習定数は大きな値にするとウェイトの修正量が大きくなり、学習速度は速くなるが、あまり大きくしすぎると逆に学習が収束しなくなる。総合誤差が上下に振動するときは学習定数を小さくし、誤差の減少速度が小さいときは学習定数を大きくする必要がある。この操作は学習プログラムが自動的に行う。ユーザーは学習開始時の学習定数の初期値を設定する。初期値は（０．１<ε<１．０）の範囲で設定すること。デフォルト値は０．５である（図 3.4）。
α 慣性定数は総合誤差の振動を減らし、学習の収束を加速させる働きをする。
β 振動定数は総合誤差を上下に振動させて極小値から脱出させる働きをする。
αとβには関連性があり、以下の範囲内（塗りつぶした部分）で設定すること。

図 3.4

学習定数の範囲11慣性定数のデフォルト値は０．９５、振動定数のデフォルト値は−０．１である。

３．３

学習システムの環境学習を行う対象、目的に応じてシステムの環境を設定する必要がある。

３．３．１

データベース設定ファイル

データベース設定ファイル DATABASE ．CFG （テキスト形式）を作成する。データベースファイルのパス名をパターン番号順に１行に１ファイル記述する。以下に、例を表示する（図 3.5）。

図 3.5

DATABASE.CFG

学習データはこのデータベース設定ファイルに基づいて抽出されるので、記述する
順番は重要である。

３．３．２ 環境設定ファイル
環境設定ファイル NEURO．CFG （テキスト形式）を作成する。ニューラルネ
ットワークの構成、学習パターン数など１１項目を記述する。設定する項目と設定値の範囲は表 3.1 の通りである。

12

表 3.1 NEURO.CFG の設定
行
項目
設定値（ｘ）の範囲
1 入力層の細胞数２≦ｘ≦５０（整数）2 中間層の数
ｘ＝１（整数）3 中間層の細胞数２≦ｘ≦５０（整数）4 出力層の細胞数２≦ｘ≦５０（整数）5 学習定数の初期値
ｘ＝０．０５6 慣性定数ｘ＝０．９５7 振動定数ｘ＝−０．１8 学習パターン数２≦ｘ≦５０（整数）9 １パターンの学習枚数
２≦ｘ≦６５５３４（整数）
10 最終誤差判定値
０．０＜ｘ
11 最大学習回数２≦ｘ≦６５５３４（整数）
上記の１１項目について数値とコメントを記述する。ファイルはテキスト形式である。１行に１項目とし、数値の右側にスペースまたはタブで区切ってコメントを書く。
コメントは半角３２文字（全角１６文字）までとし、省略はできない。また、コメン
トにスペース、タブを使用してはならない。
以下に、例を示す（図 3.6）。（５パターンで各２枚学習する場合）

図 3.6

NEURO.CFG

13

各項目を設定する時は、以下のことに注意する。
・入力層の細胞数はスラブ値の個数と等しくする（→マスクファイル作成参照）。
・中間層の細胞数は入力層の細胞数と同数程度にする。
・学習パターン数は学習するデータベース数と同じである。
・１パターンの学習枚数はデータベースファイルの枚数以下にする必要がある。
・最終誤差判定値と最大学習回数は目的によって設定値が異なるが、通常は上記の例と同じ値にすること。

３．４

学習システムの動作

ここでは、システムとしての動作及び各プログラムの詳細な動作説明をする。

３．４．１ 学習データ抽出／追加
第 1 回目の学習時は、データベースから学習に使用するデータを抽出する。抽出の方法は、環境設定ファイルの 1 パターンの学習枚数 文だけ各データベースファイ
ルの先頭から採り出す。このようにして、学習用のデータファイルを作成する。→Ｅ
Ｘ＿ＬＤＡＴＡ。ＥＸＥ
ファイル名はLDATA＊となる。（＊はパターン番号）

３．４．２ マスクファイル作成
ニューラルネットワークの入力値として画像データを使用する場合、複数の画素の有効／無効を選択する必要がある。この有効／無効（スリット／マスク）をあらわす
データのことをマスクデータと呼ぶ。マスクデータはスラブ値を計算する時に使用する。
データベースファイルにスラブ値が格納されていて、学習、評価共にそのスラブ値を使用する場合は、マスクファイルは必要ない。マスクファイルを使用するかしないかは、スラブ値作成（ＭＫＳＬＡＢ．ＥＸＥ）、評価（ＥＶＡＬ５０．ＥＸＥ）を実行する時にモードを指定することができる。

14

データベースファイルにスラブ値が格納されていない場合や、マスクパターンの検討段階においてはマスクファイルを作成する必要がある。
ＭＡＳＫ．ＥＸＥはＭＡＳＫ。ＴＸＴに基づいてマスクファイル（ＭＡＳＫ．Ｍ）
を作成する。
以下、マスクファイルを使用する場合に、その作成の方法について説明する。
（１）マスク単位と領域を決定する
最初にマスク単位の大きさと数（領域全体）を決定する。
例として、図 3.7 のようなマスクを考える。

図 3.7

マスク領域

・紙幣イメージの最初（左上）の画素が座標（０，０）にあるものとする
・マスク単位は、X サイズ＝２、Y サイズ＝２で４画素
・マスク領域におけるマスク単位の数は、X 方向＝４個、Y 方向＝２個で合計８個・マスク領域全体は、８（カラム）＊４（ライン）＝３２画素
・中心からのオフセットは、（３，−５）
マスク領域（全体）の位置を示すために、中心座標に対するマスク領域の最初（左上）の画素のオフセットを決定する。

15

中心画素の座標は次のようにして求める。
中心画素の X 座標＝紙幣の X 方向サイズ／２＝２７／２＝１３
中心画素の X 座標＝紙幣の Y 方向サイズ／２＝１５／２＝７

オフセットは次のようにして求める。
マスク領域の第１マスク単位①の第１画素の座標が（１６，２）であるから、オフセット（Ｘ，Ｙ）＝（１６，２）―（１３，７）＝（３、−５）となる。
（２）マスクパターンを決定する
つぎに、マスク領域の全マスク単位についてスリット／マスクのパターンを決定する。
例として、図 3.8 のようなマスクを考える。（前項と同じ）

図 3.8

マスクパターン

16図 3.8 ではマスク単位が８個有り（①〜⑧）、１つのマスクパターンは８個のデータで表される。１つのデータは ０ か １ （マスクかスリット）で表す。
例えば、図のように①をスリットとし、②〜⑧をマスクとするならば、そのマスク
パターンは
１０００００００ となる。データの並びは①②③…⑧の順である。同じように、①〜⑧をすべてスリットとするなら、マスクパターンは １１１１１１１１ となる。
（３）マスク設定ファイルを作成する
マスクの方法が決定したら、それをテキストファイルに記述する。
テキストエディタを用いてファイル MASK．TXT を作成する（図 3.9）。

図 3.9

MASK.TXT

このファイルは MASK．EXE を実行する際に必要である。

３．４．３ スラブファイル作成
MKSLAB．EXE を実行すると、スラブファイル（SLAB*）を出力する。
モード０で実行すると、学習用のデータファイルからスラブ値だけを採りだします。
学習用のデータファイルにスラブ値が含まれていない場合はモード０で実行することはできない。
モード１か２で実行すると、マスクファイル（MASK．Ｍ）に基づいて、イメージデータからスラブ値を計算する。

17

以下、スラブ値の求めかたと出力ファイルのフォーマットについて記述する。
（１）スラブ値の求め方
マスクファイル（ＭＡＳＫ．Ｍ）に基づいて、有効であるマスク単位の画素値の総和を求める。これをマスクパターン数分だけ求め、マスクパターン（ｉ）の総和をｓ（ｉ）、有効な画素数をｎ（ｉ）とする。
マスク領域全体の中で画素の最大値、最小値を求め、それぞれｍａｘ，ｍｉｎとする。
このとき、第ｉスラブ値：ｓｌａｂ（ｉ）は式 3.12 のように求める。
slab (i ) = s (i )
1− min max − min  n (i )…（3.12）

つぎに第１スラブ値ｓｌａｂ（１）でその他のスラブ値を正規化する。
従って、第１スラブ値は特別な意味を持つことになる。
また、第１スラブ値は他のスラブ値とレンジを合わせるために２倍にする。
最終的に第ｉスラブ値：ＳＬＡＢ（ｉ）は式 3.13、式 3.14 を用いてつぎのようにして求める。
SLAB(1) = slab (1) × 2
SLAB(i ) =(i ≠ 1)…（3.13）slab ( i )slab (1)…（3.14）

第ｉスラブ値はニューラルネットワークの入力層の第ｉユニットへ入力される。
詳しくは学習の章を参照すること。

（２）スラブファイルのフォーマット
スラブファイルはパターン数分だけ出力される。名前はＳＬＡＢ＊（＊はパター
ン番号）。
１枚分のフォーマットは以下の通りで、ヘッダ部分８バイトとスラブ値データで構成される。各々のデータはすべてバイナリ形式である。

18

表 3.2スラブファイルのフォーマット（１枚分）＋0 パターン番号＋1 金種情報＋2 方向情報＋3 国情報＋4 種別＋5 予約領域＋6 通し番号＋8 第１スラブ値＋12 第２スラブ値
第３スラブ値（1バイト）（1バイト）（1バイト）（1バイト）（1バイト）（1バイト）（２バイト）（４バイト）（４バイト）（４バイト）…

…

第ｎスラブ値 （４バイト）・ヘッダ部分の各項目はデータベースファイルの内容と同じである。
・スラブ値はＩＥＥＥ浮動小数点フォーマットである。

３．４．４ 学習ファイル作成
各スラブファイルから 1 枚分のスラブ値データ（ヘッダを含む）を順次採りだし、パターン順に並べて学習ファイルを作成する。学習ファイルのフォーマットはスラブ
ファイルと同じである。
図 3.10 に処理のイメージを示す。

３．４．５ 教師ファイル作成
各学習パターンに対応する出力層の出力値（期待する出力値）を記述したテキスト
ファイル

ＴＥＡＣＨ．Ｔを作成する。図 3.11 に教師ファイルの例を示す。

19

図 3.10

学習ファイルと各スラブファイルの関係

図 3.11

教師値例

20図 3.11 の数値部分が教師ファイル（テキスト形式）の内容である。
1 パターンの教師データを 1 行に記述する。この場合出力層が８ユニットなので、８個の数値（教師値）になる。各値はスペースまたはタブで区切る。８パターンなので８行セットする。１行目はパターン１の教師データであり、出力層の第１ユニットに １ を、それ以外のユニットには ０ を出力させることを示している。同じよ
うに、２行目はパターン２の教師データであり、出力層の第２ユニットに １ を、それ以外のユニットには０を出力させることを示している。他も同様である。

21

４章

ニューロ識別システムを用いた実験

４．１

実験目的

パターン識別に高度な能力を発揮するニューラルネットワークを用いた掌紋画像
識別の有用性について検証する。

４．２

実験機器

実験に使用する機器は PC（Personal Computer）、イメージスキャナ、それと PCに組み込まれたニューロ識別システムである。
PC については、研究室内の PC を使用する。
スキャナは一般に市販されているイメージスキャナを使用する。だが、画像の採取を行うときに条件に差が出ては公平な学習が行われず、正確な学習、認識ができないため採取条件をなるべくそろえる必要がある。そこで既存のスキャナでは採取域が大きく、手置き方にも差が出てくることに着目し、あらかじめ一定の範囲に決まったかたちに手を置けるようスキャナに工夫する。

図 4.1

イメージスキャナ

図 4.2

22

ダンボール製の型

ここで、あらかじめ手を置く位置が一定の範囲に収まるようにダンボール紙で型を作りスキャナに被せた。（図 4.1）このダンボールの型はスキャナに合わせた大きさにダンボールを切り、そこから 20cm 四方の範囲で切り抜いたものである。20cm 四方という数字は被験者全員の手の大きさから図ったものである。また、中指の来る位置と向き、それと手のひらの大体の位置を指定できるよう型に印をつけた。仕様は図4.2 の通りである。
ニューロ識別システムについては３章を参照。

４．３

４．３．１

実験手順

実験の流れ

実験の流れは画像採取、学習、評価の順に行う。
画像の採取は基本的に１度行えばよい。採取した掌紋画像データは学習・評価に何度も使用できる。ただし、採取したままのファイル形式ではニューロ識別システムが受け付けないためニューロフォーマットを行う必要がある。
学習については学習枚数を変化させ比較することも考えているので何度か行う。
学習を行えば必然的に評価も行うことになるので評価も何度か行うことになる。

４．３．２

画像採取

はじめに人数についてだが、著者の研究室の協力者から７人協力してもらい、自分自身の掌紋もあわせ、計８人分の掌紋を採取する。それぞれ左手の掌紋をイメージス
キャナを使用し採取する。
画像ファイルの形式についてはビットマップ形式で保存する。画像の大きさは縦19.51cm（553 ピクセル）、横 18.17cm（514 ピクセル）である。
画像は解像度を７２DPI にし、グレースケールで読み込む。
画像１枚あたりのサイズは約３００ＫＢである。図 4.3 は採取した画像の一部である。
採取する画像の種類は中指が上を向いた状態を通常状態とし、各人１０枚ずつ採取する（図 4.4）。つぎに図 4.5 にあるように中指を右斜め３０度に向けて、５枚ずつ採取する。その後、さらに３０度右に回転させ合計６０度回転させた状態で５枚採取する（図 4.6）。同じように左３０度回転させた状態で５枚採取する（図 4.7）。最後に左に６０度回転させた状態で５枚採取する（図 4.8）。

23

（内田）

（長尾）

（松本）

（箱田）

（中原）

（尾崎）

（鶴見）

（千屋）

図 4.3

採取した画像の一部

図 4.4

通常状態

図 4.5

右に３０度

図 4.6

右に６０度

図 4.7

左に３０度

24

図 4.8

左に６０度

一人あたり３０枚で合計２４０枚の画像データを採取する。合計のサイズは約６５MB である。
その後、採取した掌紋画像をビットマップ形式の画像ファイルからニューロフォー
マットである DB ファイルに変換しなければならない。ここで PC のモニタプログラ
ムである scandemo の説明をする。まず、scandemo.cfg というファイル設定について説明する。図 4.9 ここで重要なのは切りだし領域の設定とパスである。実験で使用する掌紋画像は手全体の画像であるため画像切り出し開始行、画像切り出し開始列共に０とする。画像切り出し終了行を５５０とし、画像終了列を５２０とする。

図 4.9

scandemo.cfg

25

scandemo.exe を offline モードで実行すると図４.10 の画面になる。ここで「２」の DATA CONVERT を選択するとビットマップデータが DB ファイルに変換される。（図４.11）

図 4.10

４．３．３

実行画面

図 4.11

変換画面

学習

画像の変換が終了すると、学習である。ニューロ識別システムに画像データを学習させるにはまずデータベース設定ファイルである DATABASE.CFG（図 4.12）と環境設定ファイルである NEURO.CFG（図 4.13）の設定を行わなければならない。
図 4.12 の DATABASE.CFG の設定は８パターンの場合である。また、図 4.13 のNEURO.CFG の設定は 8 パターンの画像から 10 枚づつ学習する場合の設定である。

図 4.12DATABASE.CFG

図 4.13

26

NEURO.CFG

DATABASE.CFG と NEURO.CFG の設定が終われば学習データの抽出に移る。ここでは環境設定ファイルで指定した１パターンの学習枚数文だけデータベース設定
ファイルに登録されたデータファイルの先頭から取り出し、学習データファイル（LDATA１〜８）を作成する（図 4.14）。
つぎにマスクの設定を行う。次は mask.txt のマスクの中心からのオフセット X、中心からのオフセット Y、マスク単位の X サイズ、マスク単位の Y サイズ、マスク
単位の数(X 方向)、マスク単位の数(Y 方向)を図 4.15 に示すようにマスク設定を変更する。この設定でマスクをかけると図 4.16 のようになる。
つぎにスラブ値ファイルの作成を行う。スラブ値ファイルは学習データファイルのスラブ値を取り出して作成する。スラブファイル（SLAB1〜50）の作成中の画面を図 4.17 に示す。また、学習収束を早めるために、各パターンのスラブファイル（SLAB１〜５０）を並び替え、学習ファイル（LEARN.S）を作成する。学習ファイルと各
スラブファイルの関係は図 4.17 に示す。図中のｎは 1 パターンの学習枚数である。

図 4.14

学習データ抽出27

図 4.15

MASK.TXT

図 4.17

図 4.16

マスク領域

学習ファイルと各スラブファイルの関係

28

その後、学習を実行し、ウエィトファイルを作成する。学習プログラムは環境設定
ファイルの最終誤差判定値または学習回数のどちらかの条件を満たしたときに終了する。図 4.18 中の左下は相互誤差を表し、右半分はそれぞれのパターンの出力ユニット値を表している。

図 4.18

４．３．４

学習画面

評価

ウェイトファイルを用いてデータファイルを評価し、評価結果としてログファイルを出力する。図 4.19 の評価実行時の画面中の右半分は 1 行目がパターン１の反応値、2 行目がパターン２の反応値を表す。ここではパターン 2 の画像を評価した場合にパ
ターン 2 に一番強く反応したことを表している。

29

図 4.19

４．４

認証画面

実験条件

採取した画像を使用し、学習条件に変化を与えて認証率を比較する。ここでは 4 つの条件を与えて実験を行う。最初の実験で使用する画像は８パターンの通常画像１０枚で、計８０枚である。この内１パターン２枚づつ学習させ識別する。続けて条件 2
として５枚学習、条件 3 として７枚学習と学習枚数に変化をつけ認証する。
その後、回転させた画像も使用し実験する。このときの学習条件は１パターンあたり３０枚ある画像の内、通常画像２枚、回転させた画像４種類を２枚づつ学習させる
ものとする。これを条件 4 とする。下記の表 4.1 は実験条件をまとめたものである。

条件１
条件2
条件3
条件4

（表 4.1

実験条件）

１パターンあたりの学習枚数
通常画像２枚通常状態５枚通常状態７枚５種類の画像を２枚づつ

全学習枚数
１６枚
４０枚
５６枚
８０枚

30

全識別枚数
８０枚
８０枚
８０枚
２４０枚

４．５

実験結果

４章の条件で行った実験の結果を表 5.1 に示す。
認証率＝正しく認証された枚数 ／ 全識別枚数 ×（表 5.1
条件１
条件2
条件3
条件4

１パターンあたりの学習枚数
通常画像２枚通常状態５枚通常状態７枚５種類を２枚づつ（表 5.2
パターン1
パターン2
パターン3
パターン4
パターン5
パターン6
パターン7
パターン8
合計

（％）とする。

全体の認証率）

正しく認証した枚数
５８枚
７７枚
８０枚
２０９枚

全識別枚数
８０枚
８０枚
８０枚
２４０枚

条件 1 の認証率）

正しく認証した枚数（１０枚中）
３枚
１０枚
９枚
６枚
８枚
１０枚
１０枚
２枚
５８枚

（表 5.3
パターン1
パターン2
パターン3
パターン4
パターン5
パターン6
パターン7
パターン8
合計

１００

認証率
３０％
１００％
９０％
６０％
８０％
１００％
１００％
２０％
７２．５％

条件 2 の認証率）

正しく認証した枚数（１０枚中）
９枚
１０枚
１０枚
１０枚
９枚
１０枚
１０枚
９枚
７７枚

31

認証率
９０％
１００％
１００％
１００％
９０％
１００％
１００％
９０％
９６．３％

認証率
７２．５％
９６．３％
１００．０％
８７．１％

（表 5.4
パターン1
パターン2
パターン3
パターン4
パターン5
パターン6
パターン7
パターン8
合計

正しく認証した枚数（１０枚中）
１０枚
１０枚
１０枚
１０枚
１０枚
１０枚
１０枚
１０枚
１００枚

（表 5.5
パターン1
パターン2
パターン3
パターン4
パターン5
パターン6
パターン7
パターン8
合計

条件 3 の認証率）
認証率
１００％
１００％
１００％
１００％
１００％
１００％
１００％
１００％
１００％

条件４のの認証率）

正しく認証した枚数（３０枚中）
２２枚
２９枚
２８枚
２４枚
２３枚
３０枚
３０枚
２３枚
２０９枚

認証率
７３．３％
９６．６％
９３．３％
８０％
７６．６％
１００％
１００％
７６．６％
８７．１％

上記の条件で実験を行った結果、学習枚数が多ければ多いほど認証率の向上が見ら
れた。

32

５章

まとめ

実験結果からニューロ識別システムによる掌紋画像の識別は有効であることが判明した。また、学習枚数を多くすることで認証率が向上することが確認された。しかしながら、画像に回転が加わった場合の認証率は決して高いものではない。今後、回転に不変な特徴抽出法を本提案システムに組み込み、汎用性の向上を検討する必要が
ある。

33

６章

謝辞

1 年半の間、直接ご指導頂いた竹田史章教授、プログラミングの講義をして頂いた
グローリー工業（株）の西蔭様、ならびに掌紋の採取に協力して頂いた研究室の学生一同に深く感謝いたします。

34

７章

参考文献

(1)内田薫,“バイオメトリクスによる個人認証技術とその応用 ”,電学誌,120 巻 7号,p.407〜410,2000 年(2) 小 畑 秀 文 ,” 個 人 識 別 技 術 の 現 状 と 展 望 ”, シ ス テ ム 制 御 情 報 学 会
誌,Vol.35,No.7,pp383〜389,1991(3)増田功,”セキュリティにおける個人識別技術”,システム制御情報学会誌,Vol.35,
No.7,pp431〜439,1991(4)“バイオメトリクスの概要”,URL=”http://www.secugen.co.jp/biometrics.html”(5)“複数のバイオメトリクス認証と PKI を連携させるネットマークス”, URL=”http://www.atmarkit.co.jp/news/200005/30/netmarks.html”(6) ”バイオメトリック認証(Biome‑tric Identification)”,日経ＢＰ デジタル大事典
2000‑2001 年版, URL=”http://findx.nikkeibp.co.jp/static/yogo.html”,(検索キー
ワード 指紋)(7)“個人認証 (Personal Authentication)”,日経ＢＰ デジタル大事典 2000‑2001
版,URL=”http://findx.nikkeibp.co.jp/static/yogo.html”(8)“ コ ン パ ッ ク 指 紋 認 証 シ ス テ ム ”,URL=”http://tech.otsuka‑
shokai.co.jp/a̲secure/solution/lan/fprint/”(9) “バイトメトリックス元年 SecuGen の IT 戦略
日掲載“,日刊工業新聞,2000 年３月 30(10)西蔭紀洋,竹田史章,吉田与志一,仁木章人“小規模ニューラルネットワーク群による筆記者認証装置”,電子情報通信学会論文誌 D−Ⅱ,投稿中(11)竹田史章, 西陰紀洋,藤田靖”自己学習型ニューロ紙幣識別ボードの開発とその汎用展開”,電学論 C,121 巻 1 号,2001 年(12)麻生英樹,”ニューラルネットワーク情報処理”,産業図書株式会社,1988 年 6 月 20日35