(57)【特許請求の範囲】
【請求項１】
指紋を撮像する撮像手段と、
前記撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出手段と、
前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割手段と、
前記分割手段により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎に周波数成分を導出する導出手段と、
前記検出手段により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割手段により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定手段と、
前記導出手段により導出された周波数成分のうち、前記特定手段によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化手段と、
を有するノイズ除去装置。
【請求項２】
前記特定手段は、前記分割された領域毎に前記指紋の輪郭の座標の平均値を求め、求めた平均値よりも外側の前記分割された領域を前記ノイズ領域として特定する請求項１に記載のノイズ除去装置。
【請求項３】
前記検出手段は、前記指紋画像の一端部から他端部までを結ぶ直線上に並ぶ画素の位置に対応する画素値を前記指紋画像データから取得し、前記一端部に対応する画素の画素値から順に隣り合う画素同士の画素値の差を導出していき、該差の絶対値が予め定められた値を超えたか否かを判定することで、前記指紋の輪郭を示す画素の位置を検出する請求項１又は請求項２に記載のノイズ除去装置。
【請求項４】
前記導出手段は、各々の領域毎に周波数の方向成分をさらに導出し、
前記無効化手段により無効化されなかった周波数成分、及び前記方向成分を用いて、指紋の認証を行なう認証手段をさらに有する請求項１〜請求項３のいずれか１項に記載のノイズ除去装置。
【請求項５】
前記特定手段は、前記検出手段により検出された輪郭を示す画素の位置を含む前記領域をノイズ領域としてさらに特定する請求項１〜請求項４のいずれか１項に記載のノイズ除去装置。
【請求項６】
指紋を撮像する撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出段階と、
前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割段階と、
前記分割段階により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎
に周波数成分を導出する導出段階と、
前記検出段階により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割段階により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定段階と、
前記導出段階により導出された周波数成分のうち、前記特定段階によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化段階と、
を有するノイズ除去方法。
【請求項７】
前記特定段階は、前記分割された領域毎に前記指紋の輪郭の座標の平均値を求め、求めた平均値よりも外側の前記分割された領域を前記ノイズ領域として特定する請求項６に記載のノイズ除去方法。
【請求項８】
前記検出段階では、前記指紋画像の一端部から他端部までを結ぶ直線上に並ぶ画素の位置に対応する画素値を前記指紋画像データから取得し、前記一端部に対応する画素の画素値から順に隣り合う画素同士の画素値の差を導出していき、該差の絶対値が予め定められた値を超えたか否かを判定することで、前記指紋の輪郭を示す画素の位置を検出する請求項６又は請求項７に記載のノイズ除去方法。
【請求項９】
前記導出段階では、各々の領域毎に周波数の方向成分をさらに導出し、
前記無効化段階により無効化されなかった周波数成分、及び前記方向成分を用いて、指紋の認証を行なう認証段階をさらに有する請求項６〜請求項８のいずれか１項に記載のノイズ除去方法。
【請求項１０】
前記特定段階では、前記検出段階により検出された輪郭を示す画素の位置を含む前記領域をノイズ領域としてさらに特定する請求項６〜請求項９のいずれか１項に記載のノイズ除去方法。
【請求項１１】
コンピュータを、
指紋を撮像する撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出手段と、
前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割手段と、
前記分割手段により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎に周波数成分を導出する導出手段と、
前記検出手段により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割手段により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定手段と、
前記導出手段により導出された周波数成分のうち、前記特定手段によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化手段と、
して機能させるためのノイズ除去プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノイズ除去装置、ノイズ除去方法、及びノイズ除去プログラムに係り、特に、指紋画像のノイズを除去するノイズ除去装置、ノイズ除去方法、及びノイズ除去プログラムに関する。
【背景技術】
【０００２】
指紋認証を行うシステムでは、指紋画像を取得するために、エリア（面）センサまたはラインセンサのいずれかを用いる。
【０００３】
ラインセンサは、バー状のセンサであり、センサの上で指を滑らせることで指紋画像を取得する。一方、エリアセンサは指より大きい面のセンサ部分に指を置いて、あるタイミングで置かれた指の画像を取得する。センサの種類は、光学式や電界式などがある。光学式は面のセンサ部分から光を照射し、指紋の凹凸の反射を利用して指紋画像を取得する。
【０００４】
周波数解析法により認証を行う指紋認証装置は、エリアセンサで撮像されることで取得された指紋画像データ指紋画像データに対して、周波数変換の単位である矩形領域と変換範囲である周波数データ化対象領域を決定し、周波数変換を行い、各矩形領域の周波数データを作成する。周波数データは周波数データ化対象領域内の矩形領域数分作成される。認証は、装置に登録済みの周波数データと入力された指紋画像データから新たに作成された周波数成分データとを比較し、その類似度によって同じ指であるか判定を行う。 
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願２００９−７７１４９
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、光学式のエリアセンサを用いた場合、図７に示されるように、エリアセンサは、指より大きい面で指紋画像を撮像するようになっている。従って、取得した指紋画像に、指紋以外の画像であるノイズが入るという問題点がある。指紋画像にノイズが発生する様子を図８に示す。ノイズは指が置かれていない部分に発生しているグラデーション部分である。このノイズは指に近づくにつれて徐々に白くなり、その変化は指紋部分に比べ緩やかであるという特徴がある。
【０００７】
このノイズは、正面から見て指が丸いことにより、接地面に近づくにつれて徐々にセンサの照射する光の反射が大きくなることにより発生するため、指紋の形状に関わらず一様となる。
【０００８】
このノイズが入っている指紋画像を周波数解析法による指紋認証処理に利用すると、指紋のみならずノイズのグラデーションについても周波数データに変換してしまう。ノイズは指紋に関わらず一様に発生するため、認証の際、異なる指であっても、ノイズ部分の周波数データが一致することで同じ指紋であると判定され、誤って認証が成功してしまうという問題点があった。また、特許文献１に記載されているように、検出したノイズに対応する画素単位でノイズの除去を行なった場合、一つずつの画素に対して処理を行なうため、時間を要するという問題点があった。
【０００９】
本発明は上記問題点に鑑み、指紋画像のノイズを効率的に除去可能なノイズ除去装置、ノイズ除去方法、及びノイズ除去プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１の発明は、指紋を撮像する撮像手段と、前記撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出手段と、前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割手段と、前記分割手段により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎に周波数成分を導出する導出手段と、前記検出手段により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割手段により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定手段と、前記導出手段により導出された周波数成分のうち、前記特定手段によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化手段と、を有する。
また、請求項２の発明は、請求項１の発明において、前記特定手段は、前記分割された領域毎に前記指紋の輪郭の座標の平均値を求め、求めた平均値よりも外側の前記分割された領域を前記ノイズ領域として特定する。
【００１１】
請求項１の発明によれば、撮像手段により指紋を撮像し、検出手段により撮像手段によって撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す画素の位置を検出し、分割手段により前記指紋画像を、各々が複数の画素を含む複数の領域に分割し、導出手段により分割手段により分割された複数の領域の各々に含まれる画素の複数の画素値を用いて、各々の領域毎に周波数成分を導出し、特定手段により、検出手段により検出された指紋の輪郭を示す各画素の位置を用いて、分割手段により分割された複数の領域のうち、指紋の輪郭の外側に存在する各領域をノイズ領域として特定し、無効化手段により、導出手段により導出された周波数成分のうち、特定手段によりノイズ領域として特定された各領域に対応する前記周波数成分を、ノイズ領域であることを示す値に変更することによりノイズ領域内の全ての周波数成分を無効化するので、指紋を撮像した画像のノイズを効率的に除去することができる。
また、請求項２の発明によれば、特定手段は、分割された領域毎に指紋の輪郭の座標の平均値を求め、求めた平均値よりも外側の前記分割された領域をノイズ領域として特定するので、効率よくノイズ領域を特定することができる。
【００１２】
請求項３の発明は、請求項１又は請求項２の発明において、前記検出手段は、前記指紋画像の一端部から他端部までを結ぶ直線上に並ぶ画素の位置に対応する画素値を前記指紋画像データから取得し、前記一端部に対応する画素の画素値から順に隣り合う画素同士の画素値の差を導出していき、該差の絶対値が予め定められた値を超えたか否かを判定することで、前記指紋の輪郭を示す画素の位置を検出する。
【００１３】
請求項３の発明によれば、効率よく指紋の輪郭を検出することができる。
【００１４】
請求項４の発明は、請求項１〜請求項３のいずれか１項の発明において、前記導出手段は、各々の領域毎に周波数の方向成分をさらに導出し、前記無効化手段により無効化されなかった周波数成分、及び前記方向成分を用いて、指紋の認証を行なう認証手段をさらに有する。
【００１５】
請求項４の発明によれば、指紋画像の指の周囲に発生するノイズにより導出される周波数成分データは認証で用いられないため、ノイズ領域を含めて認証した場合に発生する誤認識を防ぐことができる。
【００１６】
請求項５の発明は、請求項１〜請求項４のいずれか１項に記載の発明において、前記特定手段は、前記検出手段により検出された輪郭を示す画素の位置を含む前記領域をノイズ領域としてさらに特定する。
【００１７】
請求項５の発明によれば、輪郭を含む領域までをノイズ領域と特定して無効化することにより、輪郭の外側に位置するノイズまでをも含む領域を有効とする可能性を排除することができる。また、指紋認証には必ずしも指紋データの全てを必要とするわけではないので、請求項５によれば結果的にデータ量を削減できることとなる。
【００１８】
上記目的を達成するために、請求項６の発明は、指紋を撮像する撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出段階と、前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割段階と、前記分割段階により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎に周波数成分を導出する導出段階と、前記検出段階により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割段階により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定段階と、前記導出段階により導出された周波数成分のうち、前記特定段階によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化段階と、を有する。
また、請求項７の発明は、請求項６の発明において、前記特定段階は、前記分割された領域毎に前記指紋の輪郭の座標の平均値を求め、求めた平均値よりも外側の前記分割された領域を前記ノイズ領域として特定する。
【００１９】
請求項６の発明は、請求項１の発明と同様に作用するので、請求項１の発明と同様の効果が得られる。
また、請求項７の発明は、請求項２の発明と同様に作用するので、請求項２の発明と同様の効果が得られる。
【００２０】
請求項８の発明は、請求項６又は請求項７の発明において、前記検出段階では、前記指紋画像の一端部から他端部までを結ぶ直線上に並ぶ画素の位置に対応する画素値を前記指紋画像データから取得し、前記一端部に対応する画素の画素値から順に隣り合う画素同士の画素値の差を導出していき、該差の絶対値が予め定められた値を超えたか否かを判定することで、前記指紋の輪郭を示す画素の位置を検出する。
【００２１】
請求項８の発明は、請求項３の発明と同様に作用するので、請求項３の発明と同様の効果が得られる。
【００２２】
請求項９の発明は、請求項６〜請求項８のいずれか１項の発明において、前記導出段階では、各々の領域毎に周波数の方向成分をさらに導出し、前記無効化段階により無効化されなかった周波数成分、及び前記方向成分を用いて、指紋の認証を行なう認証段階をさらに有する。
【００２３】
請求項９の発明は、請求項４の発明と同様に作用するので、請求項４の発明と同様の効果が得られる。
【００２４】
請求項１０の発明は、請求項６〜請求項９のいずれか１項に記載の発明において、前記特定手段は、前記検出手段により検出された輪郭を示す画素の位置を含む前記領域をノイズ領域としてさらに特定する。
【００２５】
請求項１０の発明は、請求項５の発明と同様に作用するので、請求項５の発明と同様の効果が得られる。
【００２６】
上記目的を達成するために、請求項１１の発明は、コンピュータを、指紋を撮像する撮像手段により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データから、前記指紋の輪郭を示す各画素の位置を検出する検出手段と、前記指紋画像を、各々が複数の画素を含む複数の領域に分割する分割手段と、前記分割手段により分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、各々の領域毎に周波数成分を導出する導出手段と、前記検出手段により検出された前記指紋の輪郭を示す各画素の位置を用いて、前記分割手段により分割された複数の領域のうち、前記指紋の輪郭の外側に存在する各領域をノイズ領域として特定する特定手段と、前記導出手段により導出された周波数成分のうち、前記特定手段によりノイズ領域として特定された各領域に対応する前記周波数成分を、前記ノイズ領域であることを示す値に変更することにより前記ノイズ領域内の全ての前記周波数成分を無効化する無効化手段と、して機能させるためのノイズ除去プログラムである。
【００２７】
請求項１１の発明は、請求項１の発明と同様に作用するので、請求項１の発明と同様の効果が得られる。
【発明の効果】
【００２８】
本発明によれば、指紋画像のノイズを効率的に除去可能なノイズ除去装置、ノイズ除去方法、及びノイズ除去プログラムを提供することができる、という効果が得られる。
【図面の簡単な説明】
【００２９】
【図１】実施形態に係るノイズ除去装置の構成例を示す図である。
【図２】ノイズ除去装置の処理概要の一例を示す模式図である。
【図３】ノイズの特徴の一例を示す図である。
【図４】指紋画像における分割領域、周波数データ化の対象領域、分割領域内の画素を示す図である。
【図５】輪郭検出処理の流れを示すフローチャートである。
【図６】ノイズ除去処理の流れを示すフローチャートである。
【図７】指とエリアセンサの位置関係を示す図である。
【図８】ノイズの一例を示す図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明を実施するための最良の形態について詳細に説明する。
【００３１】
まず、図１を用いて、本実施の形態に係るノイズ除去装置の構成について説明する。同図に示されるように、ノイズ除去装置１０は、ＣＰＵ（Central Processing Unit）１２、ＲＯＭ（Read Only Memory）１４、ＲＡＭ（Random Access Memory）１６、ＨＤＤ（Hard Disk Drive）１８、取得部２０、及びエリアセンサ２２を含んで構成される。このうち、ＣＰＵ１２は、ノイズ除去装置１０全体を制御するものであり、後述するフローチャートはＣＰＵ１２による処理の流れを示している。
【００３２】
ＲＯＭ１４は、ノイズ除去装置１０の起動時に実行されるブートプログラム等が記憶される不揮発性の記憶装置である。ＲＡＭ１６は、後述するノイズ除去プログラム等の各種プログラムが展開されるなど、一時的に情報を記憶するための揮発性の記憶装置である。ＨＤＤ１８は、オペレーティングシステムや後述する輪郭検出処理及びノイズ除去処理を実行させるためのプログラムを記憶するための不揮発性で書き換え可能な記憶装置である。取得部２０はエリアセンサ２２により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データを取得する。エリアセンサ２２は、指紋を撮像するものであり、例えばＣＣＤ（Charge Coupled Device）イメージセンサ等の固体撮像素子を用いて構成される。
【００３３】
次に、図２を用いてノイズ除去装置１０の処理概要について説明する。まず、上述したエリアセンサ２２により指紋が撮像され、取得部２０により撮像された指紋を含む指紋画像を画素値で表現した指紋画像データが取得されると、その指紋画像データはＲＡＭ１６に一時的に記憶される。
【００３４】
その指紋画像データが示す指紋画像を、各々が複数の画素を含む複数の領域に分割してから、分割された複数の領域の各々に含まれる複数の画素の画素値を用いて、離散フーリエ変換により各々の領域毎に周波数データ（周波数成分、方向成分）を導出する周波数データ導出処理が行われる。以下の説明において、領域を分割領域と表現することがある。この分割領域毎に（周波数成分、方向成分）を導出するが、例えばＣ言語の構造体を用いて、変数のメンバとして処理するようにしても良い。この場合、例えば２次元配列cell[][]のメンバとして周波数を示すfre、方向成分を示すdirを用意することとなる。実際に周波数成分を参照するときは、cell[][].freを参照し、方向成分を参照する場合には、cell[][].dirを参照することとなる。
【００３５】
一方、指紋画像データから、指紋の輪郭を示す画素の位置を検出する指紋輪郭検出処理が行われる。
【００３６】
そして、指紋輪郭検出処理により検出された画素の位置を用いて、指紋が含まれない領域とするノイズ領域を特定し、周波数データ導出処理により導出された周波数成分のうち、特定されたノイズ領域に対応する周波数成分を、ノイズ領域であることを示す値に変更することにより周波数成分を無効化するノイズ除去処理が行われる。
【００３７】
このようにしてノイズが除去された周波数データは、ＨＤＤ１８に記録される。記録された周波数データが、複数の人の指紋を撮像することで取得された複数の指紋画像データから得られる場合には、複数の周波数データが存在することとなるため、それらを識別するために、周波数データを一意的に識別するためのＩＤとともに記憶するようにしても良い。
【００３８】
このようにして記憶された周波数データは周波数解析法により認証するためのデータとして用いられる。具体的に認証処理は、認証するための指紋画像データを取得し、上述した指紋輪郭検出処理、周波数データ導出処理、及び無効化処理された周波数データと、ＨＤＤ１８に記憶されている周波数データとの類似度が、予め定められた閾値を超えた場合に、同じ指紋であると判定する処理である。
【００３９】
次に、指紋輪郭検出処理の詳細について説明する。指紋の輪郭検出処理は、ノイズの特徴と指紋の輪郭の特徴を利用して、輪郭を示す画素の座標（位置）の検出を行う。ノイズの特徴について図３を用いて説明する。図３は、ノイズの特徴の一例を示すための指紋画像の横一列の画素の画素値（０〜１５）の一例を示す図である。ノイズは、指紋に近づくにつれて徐々に白くなっていくため、取得した指紋画像を横１行の画素で見た場合、隣り合う画素値は、同図に示されるように、緩やかに変化する。
【００４０】
一方、ノイズと指紋の境界は、指紋の近くの背景が白いのに対し指紋の輪郭が黒いため、隣り合う画素値は急激に変化する。よって、隣り合う画素値が急激に変化する部分は、指紋の輪郭であると判定し、その座標を輪郭を示す座標とする。
【００４１】
なお、本実施の形態では指紋画像は図４（ａ）に示すように縦横１０×１０の分割領域に分割され、さらに分割領域は図４（ｂ）に示すように縦横１０×１０の画素から構成されるものとする。また、指紋画像のうち、図４（ａ）に示すように中段の４×１０個の分割領域を周波数データ化の対象領域とする。従って、上述した周波数データ構造体cell[][]は、４×１０の２次元配列となるので、合計で４０個の周波数データが１つの指紋画像データから得られることとなる。
【００４２】
これを踏まえ、輪郭検出処理の流れを図５のフローチャートを用いて説明する。このフローチャートでは、図４に示されるように、指紋画像横方向の画素数を一般化してxsize、縦方向の画素数を一般化してysizeとして処理している。また、フローチャートに示される変数ｉは縦方向の座標、変数ｊは横方向の座標を表し、周波数データ化対象領域の左上の画素の座標を(ｉ、ｊ)＝(０、０)としている（図４参照）。さらに、座標（ｉ、ｊ）に位置する画素の画素値をｄ（ｉ、ｊ）としている。また、座標（ｉ、ｊ）に位置する画素を、注目画素と表現することがある。
【００４３】
まず、ステップ１０１で、変数ｉを０で初期化する。次のステップ１０２で、ｉ行目に位置する画素の画素値を１行分だけ読み取る。また、edge_l(i)をxsize/２−１で、edge_r(i)をxsize/２で初期化する。次のステップ１０３で、変数ｊを０で初期化する。
【００４４】
ステップ１０４で隣り合う画素同士の差ｄ（ｉ、ｊ）−ｄ（ｉ、ｊ＋１）の絶対値を変数ｓｂに代入する。そして、ステップ１０５で変数ｓｂが、予め定められた値ＴＨを超えているか否かを判定する。なお、値ＴＨは、実験的に設定される値であり、例えば３などを設定する。
【００４５】
ステップ１０５で否定判定した場合には、変化量が小さいため、注目画素はノイズであると判定し、ステップ１０７でｊ＞xsize／２であるか否か判定する。この判定は、注目画素が横方向の中央（図４の場合のxsize／２＝５０であるので、左端から横方向に数えて５０番目の画素）に達したか否かの判定である。このステップ１０７で肯定判定した場合には、この行の０〜ｊ−１番目（図４の場合は、０〜４９番目）までには輪郭が存在しないため、ステップ１０９に進む。
【００４６】
一方、ステップ１０７で否定判定した場合には、ステップ１０８で隣の座標（ｉ、ｊ＋１）に位置する画素を注目画素とするために、ｊを１だけ増やして、ステップ１０４の処理に戻る。
【００４７】
また、ステップ１０５で肯定判定した場合には、注目画素は指紋の輪郭であると判定し、ステップ１０６で０〜ｊ−１番目までにおける輪郭を示す変数edge_l（ｉ）にｊを代入して、ステップ１０９に進む。
【００４８】
以上のステップ１０３〜ステップ１０６までの処理は一端部を指紋画像の左端とし、他端部を指紋画像の横方向の中央として、その中で輪郭を検出する処理である。次のステップ１０９〜ステップ１１２までの処理は一端部を指紋画像の右端とし、他端部を指紋画像の横方向の中央として、その中で輪郭を検出する処理である。
【００４９】
従って、まずステップ１０９でｊにxsizeを代入する。次のステップ１１０で隣り合う画素同士の差ｄ（ｉ、ｊ）−ｄ（ｉ、ｊ−１）の絶対値を変数ｓｂに代入する。そして、ステップ１１１で変数ｓｂが、上記ＴＨを超えているか否かを判定する。
【００５０】
ステップ１１１で否定判定した場合には、変化量が小さいため、注目画素はノイズであると判定し、ステップ１１３でｊ≦xsize／２であるか否か判定する。この判定は、注目画素が横方向の中央（図４の場合のxsize／２＝５０であるので、右端から逆に横方向に数えて５１番目の画素）に達したか否かの判定である。このステップ１１３で肯定判定した場合には、この行のｊ〜xsize番目（図４の場合は、５０〜１００番目）までには輪郭が存在しないため、ステップ１１５に進む。
【００５１】
一方、ステップ１１３で否定判定した場合には、ステップ１１４で隣の座標（ｉ、ｊ−１）に位置する画素を注目画素とするために、ｊを１だけ減らして、ステップ１１０の処理に戻る。
【００５２】
また、ステップ１１１で肯定判定した場合には、注目画素は指紋の輪郭であると判定し、ステップ１１２でｊ〜xsize番目までにおける輪郭を示す変数edge_r（ｉ）にｊを代入して、ステップ１１５に進む。
【００５３】
次のステップ１１５で、ｉ＝ysizeか否か判定する。この判定は、現在処理している行が指紋画像の下端であるか否かの判定である。ステップ１１５で、否定判定、すなわち下端でないと判定した場合、ステップ１１６で、１つ下の行に対して処理を行うため変数ｉを１だけ増やして、ステップ１０２の処理に戻る。一方、ステップ１１５で、肯定判定、すなわち、現在処理した行が下端である場合、処理を終了する。
【００５４】
このように輪郭検出処理では、指紋画像の一端部から他端部までを結ぶ直線上に並ぶ画素の位置に対応する画素値を指紋画像データから取得し、一端部に対応する画素の画素値から順に隣り合う画素同士の画素値の差を導出していき、該差の絶対値が予め定められた値を超えたか否かを判定することで、指紋の輪郭を示す画素の位置を検出するようになっている。
【００５５】
次に、図６のフローチャートを用いてノイズ除去処理の流れについて説明する。図６に示されるフローチャートにおいて、図４に示した周波数データ化の対象領域内の分割領域の縦方向の個数をYSIZEとする（図４では４個）。また、周波数データ化対象領域の左上の画素の座標を(０、０)とすることは、図５と同様である。さらに変数ｙは、縦方向の分割領域をカウントするものであり、このｙを用いて分割領域の左上の画素の縦方向の座標を示す変数lineを得るようになっている。
【００５６】
まず、ステップ２０１で、ｙに０を代入し、さらにステップ２０２で変数lineに１０ｙを代入する。これは１つの分割領域に含まれる縦方向の画素数が１０であることによるものであり、ｙを１０倍することで、分割領域の左上の画素の縦方向の座標が得られる。
【００５７】
次のステップ２０３で、図５のフローチャートで求めたedge_lの和Ｓを求める。このステップ２０３に示されるΣは、ｋ＝０〜９までの総和を示している。そして、ステップ２０４で、和Ｓを１０で割ることで、edge_lの平均値、すなわち輪郭の横方向の座標の平均値を求め、これをＡに代入する。なお、Ａを整数型変数としているので、Ａに代入される値は平均値の小数点以下が切り捨てられた値となる。
【００５８】
次のステップ２０５で、０≦ｘ≦Ａの範囲でcell[x][y].freに０を代入する。従って、ステップ２０４により、指紋が含まれない領域とするノイズ領域が特定され、ステップ２０５で、特定されたノイズ領域に対応する周波数成分を、ノイズ領域であることを示す値（本実施例では０）に変更することにより周波数成分を無効化するようになっている。
【００５９】
上記ステップ２０２〜ステップ２０５までは、edge_lに関する処理であり、以下に説明するステップ２０６〜ステップ２０８まではedge_rに関する処理となる。
【００６０】
ステップ２０６で、図５のフローチャートで求めたedge_rの和Ｓを求める。このステップ２０６に示されるΣは、ｋ＝０〜９までの総和を示している。そして、ステップ２０７で、和Ｓを１０で割ることで、edge_rの平均値、すなわち輪郭の横方向の座標の平均値を求め、これをＡに代入する。
【００６１】
次のステップ２０８で、Ａ≦ｘ≦９の範囲でcell[x][y].freに０を代入する。従って、ステップ２０７により、指紋が含まれない領域とするノイズ領域が特定され、ステップ２０８で、特定されたノイズ領域に対応する周波数成分を、ノイズ領域であることを示す値（本実施例では０）に変更することにより周波数成分を無効化するようになっている。
【００６２】
次のステップ２０９でｙ＝YSIZEであるか否か判定する。この判定は、現在処理している分割領域が下端であるか判定するものである。ステップ２０９で否定判定、すなわち下端でないと判定された場合、１つ下の分割領域に対して処理を行うためにステップ２１０でｙを１だけ増やして、ステップ２０２の処理に戻る。一方、ステップ２０９で肯定判定した場合、すなわち、現在処理している分割領域が下端である場合、処理を終了する。
【００６３】
以上説明したフローチャートにおいて、ノイズ領域であることを示す値を０としているが、もちろんこれに限るものではない。
【００６４】
このようにしてノイズが除去された周波数データを用いることで、認証処理では、周波数データの周波数成分が０であるとき、無効なデータであると判断する。無効なデータについては比較対象の母集団から削除し、有効な周波数成分データのみ比較を行う。
【００６５】
すなわち、エリアセンサ２２で得られた指紋画像の指の周囲に発生するノイズにより導出される周波数成分データは認証で用いられないため、ノイズ領域を含めて認証した場合に発生する誤認識を防ぐことができるという効果が得られる。
【００６６】
さらに、画素単位でノイズを除去する場合と比較して、高速に処理できるので、処理時間の短縮、及び消費電力を低減することができる。
【００６７】
また、上述した図６に示されるフローチャートの処理に加え、検出された輪郭を示す画素の位置を含む領域をノイズ領域としてさらに特定するようにしても良い。このように、輪郭を含む領域までをノイズ領域と特定して無効化することにより、輪郭の外側に位置するノイズまでをも含む領域を有効とする可能性を排除することができる。また、指紋認証には必ずしも指紋データの全てを必要とするわけではないので、結果的にデータ量を削減できることとなる。
【００６８】
以上説明した実施の形態における図５、図６で説明したフローチャートの処理の流れは一例であり、本発明の主旨を逸脱しない範囲内で処理順序を入れ替えたり、新たなステップを追加したり、不要なステップを削除したりすることができることは言うまでもない。
【００６９】
さらに、本実施の形態ではエリアセンサを用いたが、ラインセンサによって指紋画像データを取得する場合にも適用することができる。また、上述した実施の形態によれば、指紋の輪郭が検出できればノイズを除去することが可能であるので、輪郭検出処理は図５に示すフローチャートの処理に限るものではない。
【符号の説明】
【００７０】
１０  ノイズ除去装置
１２  ＣＰＵ
１４  ＲＯＭ
１６  ＲＡＭ
１８  ＨＤＤ
２０  取得部
２２  エリアセンサ
【図１】
0005599605.tif 000002
【図２】
0005599605.tif 000003
【図３】
0005599605.tif 000004
【図４】
0005599605.tif 000005
【図５】
0005599605.tif 000006
【図６】
0005599605.tif 000007
【図７】
0005599605.tif 000008
【図８】
0005599605.tif 000009