これまで、3D印刷技術により、網膜スキャナーのコストが大幅に削減されました。 Andrew Bastavrusは彼のチームとともに、スマートフォン用のノズルを3Dプリンターで印刷しました。これにより、携帯電話のカメラで網膜を観察できます。
この記事は、網膜の徴候を一致させるためのアルゴリズムの説明に当てられており、血管のセグメンテーションに関する記事の続きです。
ここでは、生体認証/認証方法の概要を説明します 。
網膜の徴候を一致させる方法
網膜を人格認識に使用する場合の最も重要な問題の1つは、スキャン中の頭または目の動きです。 これらの動きにより、データベースからのサンプルに対する変位、回転、スケーリングが発生する可能性があります(図1)。

図 1.網膜をスキャンするときの頭と目の動きの結果。
網膜の比較に対するズームの効果は、他のパラメーターの影響ほど重要ではありません。これは、頭と目の位置がスケールに対応する軸に沿ってほぼ固定されているためです。 スケーリングがまだある場合、それは非常に小さいため、網膜の比較には実質的に影響を与えません。 したがって、アルゴリズムの主な要件は、網膜の回転と変位に対する抵抗です。
網膜認証アルゴリズムは、セグメンテーションアルゴリズムを使用して特徴を抽出するアルゴリズム(位相相関法に基づくアルゴリズム。分岐点の検索に基づくアルゴリズム)と網膜画像から直接特徴を抽出するアルゴリズム(アルゴリズム、ハリスの角度を使用)。
1.位相相関法に基づくアルゴリズム
このアルゴリズムの本質は、位相相関法を使用して、ある画像の別の画像に対する変位と回転を推定することです。 その後、画像が整列され、それらの類似性インデックスが計算されます。
実装では、位相相関法はバイナリイメージで機能しますが、8ビット色空間のイメージにも使用できます。
させる






どこで



クロススペクトルの逆フーリエ変換を計算すると、運動量関数が得られます。

この関数の最大値を見つけたら、目的のオフセットを見つけます。
回転角度を見つけます



次に、前のケースと同様に、位相相関法が使用されます。 位相相関のそのような修正により、パラメータによってスケールを見つけることができます

この手法は、小さなノイズの存在や、ある画像には血管が存在し、別の画像には血管が存在しない可能性があるため、実際には常に良い結果を示すとは限りません。 これを排除するために、このアルゴリズムのいくつかの反復が適用されます。これには、画像が関数に送られる順序や、変位と回転が排除される順序の変更が含まれます。 各反復で、画像は位置合わせされ、その後、類似性インデックスが計算され、最大の類似性インデックスが検出されます。これが比較の最終結果になります。
類似性スコアは次のように計算されます。

2.ハリス角を使用したアルゴリズム
このアルゴリズムは、前のアルゴリズムとは異なり、血管のセグメンテーションを必要としません。これは、バイナリイメージだけでなく兆候を判別できるためです。
最初に、画像は前のセクションで説明した位相相関法を使用して位置合わせされます。 次に、画像でハリスの角度が検索されます(図2)。

図 2.網膜画像のハリス角の検索結果。
M + 1点を見つけ、j番目の点ごとにデカルト座標を見つけます




未知のベクトル間の類似性モデル



どこで

機能


ベクトルをしましょう





類似性の正規化係数は

係数



3.分岐点の検索に基づくアルゴリズム
このアルゴリズムは、前のアルゴリズムと同様に、血管系の分岐点を探します。 さらに、彼は分岐点と交差点の検索に特化しており(図3)、ノイズに対してはるかに耐性がありますが、バイナリイメージでしか作業できません。

図 3.標識の種類(左側が分岐点、右側が交差点)。
図のようにポイントを検索するには 3、セグメント化された血管は1ピクセルの厚さに圧縮されます。 したがって、各血管点は、近傍Sの数で分類できます。
- S = 1の場合、これは終点です。
- S = 2の場合、これは内部ポイントです。
- S = 3の場合、これは分岐点です。
- S = 4の場合、これは交差点です。
3.1。 血管を単一ピクセルの厚さに圧縮するアルゴリズムと分岐点の分類
最初に、血管の一部であるピクセルが左から右に上から下に検索されます。 血管の各ピクセルは、後続の計算のあいまいさを避けるために、血管の隣接ピクセルを2つまで(前と次)持つことができると想定されています。
次に、見つかった点のまだ考慮されていない4つの隣接ピクセルが分析されます。 これにより、16の構成が可能になります(図4)。 図のように、ウィンドウの中央のピクセルにグレーの隣接ピクセルがない場合 4(a)、それは破棄され、血管の別のピクセルが検索されます。 それ以外の場合、エンドポイントまたは内部エンドポイント(分岐点と交差点は含まれません)のいずれかです。

図 4. 4つの隣接するピクセルの16の可能な構成(白い点-背景、灰色-血管)。 上の3つのピクセルと左側のピクセルは既に分析されているため、無視されます。 内部に十字がある灰色のピクセルも無視されます。 内側に矢印のあるポイントは、次の中心ピクセルになる可能性のあるポイントです。 内部に黒い点のあるピクセルが終点です。
各ステップで、最後のピクセルのグレーネイバーは、3 x 3ボックス内の次の中央ピクセルによって合格および選択されたものとしてマークされます。このようなネイバーの選択は、次の基準によって決定されます。 このヒューリスティックは、血管の中央で1ピクセルの厚さを維持するというアイデアによるもので、グレーの近傍がより多くあります。
上記のアルゴリズムから、血管の分離につながることがわかります。 また、血管はセグメンテーションの段階でも切断する可能性があります。 したがって、それらを接続し直す必要があります。
角度は、近くの2つのエンドポイント間で再接続するように決定されます。




図 5.圧縮後のエンドポイントの結合。
各終点の分岐点と交差点(図6)を復元するために、その方向が計算され、その後、固定長のセグメントが拡張されます


図 6.分岐点を復元します。
交差点は2つの分岐点であるため、問題を簡素化するために、分岐点のみを検索できます。 交差点に起因する誤った外れ値を削除するには、見つかった別の点に近すぎる点を破棄します。
交差点を見つけるには、追加の分析が必要です(図7)。

図 7.血管と円の交差点の数による分岐点の分類。 (a)分岐点。 (b)交点。
図に見られるように 7(b)、半径の長さに応じて、分岐点を中心とする円は、3つまたは4つの点で血管と交差できます。 したがって、分岐点が正しく分類されない場合があります。 この問題を取り除くために、図に示す投票システム 8。

図 8.分岐点と交差点の分類スキーム。
この投票システムでは、分岐点









どこで




もし




3.2。 類似性変換検索および類似性メトリック定義
ポイントが見つかったら、相似変換を見つける必要があります。 この変換は4つのパラメーターで記述されます



変換自体は次のように定義されます:

どこで




類似性変換を見つけるために、制御点のペアが使用されます。 たとえば、ポイント








図 9. 2組のコントロールポイントの例。
類似性変換パラメーターは、次の等式から検出されます。

最初の画像で見つかった点の数をMとし、2番目の画像で見つかった点の数を最初の画像の制御点のペアの数とします



パラメーターSの値は1に近いため、次の不等式を満たさないポイントのペアを破棄することで、Tを減らすことができます。

どこで








ポイントの可能な配置オプションのいずれかを適用した後



どこで

もし


場合によっては、両方のポイント





どこで


もし


一致する点の数を見つけるために、サイズM x Nの行列Qが構築され、i番目の行とj番目の列に次が含まれます。

次に、行列Qで、最大の非ゼロ要素が求められます。 この要素を






2つの網膜の類似性メトリックは、いくつかの方法で決定できます。

どこで

fは、次のオプションのいずれかによって選択されます。

メートル法


どこで


3.3。 追加のアルゴリズムの複雑さ
図のように、角度などの追加機能を追加すると、分岐点の検索に基づく方法が複雑になる可能性があります。 10。

図 10.追加機能としての分岐点によって形成される角度。
ガンマコードを使用することもできます。 ご存知のように、モジュロ2加算は、キーの長さがテキストの長さと等しい場合、絶対に安定した暗号です。また、分岐点と交差点の数は約100を超えないが、通常のパスワードの長さを超えるため、パスワードハッシュの組み合わせをキーとして使用できます。 これにより、網膜データベースに目とパスワードハッシュを保存する必要がなくなります。 絶対に強力な暗号で暗号化された座標のみを保存する必要があります。
おわりに
Retina認証は本当に正確な結果を示します。 位相相関法に基づくアルゴリズムは、VARIAデータベースでのテスト時にエラーを発生しませんでした。 このアルゴリズムは、アルゴリズムの誤検知をチェックするために、未割り当てのMESSIDORデータベースでもテストされました。 アルゴリズムによって検出された同様の網膜のすべてのペアは、手動でチェックされました。 彼らは本当に同じです。 VARIAベースの2つの網膜の血管を比較するには、周波数2.30 GHzのPentium Dual-CoreT4500プロセッサの2つのコアで平均1.2秒かかります。 アルゴリズムの実行時間は、識別には非常に長いことが判明しましたが、認証には許容されます。
ハリス角度を使用してアルゴリズムを実装する試みも行われましたが、満足のいく結果を得ることができませんでした。 前のアルゴリズムと同様に、位相相関法を使用して回転と変位を除去する際に問題が発生しました。 2番目の問題は、Harris角度検索アルゴリズムの欠点に関連しています。 ポイントをドロップするための同じしきい値を使用すると、検出されるポイントの数が多すぎるか少なすぎる可能性があります。
将来の計画には、分岐点の検索に基づくアルゴリズムの開発が含まれます。 位相相関法に基づくアルゴリズムと比較して、必要な計算リソースがはるかに少なくなります。 さらに、システムが破損する可能性を最小限に抑えるために、複雑にする可能性があります。
さらなる研究における別の興味深い方向性は、緑内障、真性糖尿病、アテローム性動脈硬化症など多くの病気の早期診断のための自動システムの開発です。
使用されたソースと文献のリスト
- Reddy BSとChatterji BN変換、回転、スケール不変の画像登録のためのFFTベースの技術//画像処理に関するIEEEトランザクション。 1996. Vol。 5.いいえ。 8. pp。 1266-1271。
- 網膜画像に基づいた、新しい類似度関数を使用した人間の認識/ A. Dehghani [et al。] // EURASIP Journal on Image and Video Processing。 2013年。
- Hortas MO生体認証パターンとして網膜血管ツリーを使用した個人認証用自動システム。 博士論文。 コルーニャ大学。 ラ・コルーニャ。 2009。
- Variaデータベース
- MESSIDORデータベース
psいくつかのリクエストについては、githubにプロジェクトへのリンクを投稿します。