Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

固有顔: 固有顔で視覚認識の深さを探る
固有顔: 固有顔で視覚認識の深さを探る
固有顔: 固有顔で視覚認識の深さを探る
Ebook168 pages22 minutes

固有顔: 固有顔で視覚認識の深さを探る

Rating: 0 out of 5 stars

()

Read preview

About this ebook

アイゲンフェイスとは


固有顔は、人間の顔認識のコンピューター ビジョンの問題で使用される場合に、固有ベクトルのセットに与えられる名前です。 認識に固有顔を使用するアプローチは、シロビッチ と カービィ によって開発され、マシュー・ターク と アレックス・ペントランド によって顔の分類に使用されました。 固有ベクトルは、顔画像の高次元ベクトル空間にわたる確率分布の共分散行列から導出されます。 固有面自体は、共分散行列の構築に使用されるすべての画像の基本セットを形成します。 これにより、より小さい基底画像セットが元のトレーニング画像を表現できるようになり、次元が削減されます。 分類は、基底セットによって顔がどのように表現されるかを比較することによって達成できます。


どのようなメリットがあるのか


(I) 以下のトピックに関する洞察と検証:


第 1 章: 固有顔


第 2 章: 主成分分析


第 3 章: 特異値分解


第 4 章: 固有値と固有ベクトル


第 5 章: 行列の固有分解


第 6 章: カーネル主成分分析


第 7 章: マトリックス分析


第 8 章: 線形力学システム


第 9 章: 多変量正規分布


第 10 章: 変動モード


(II) 固有面に関する一般のトップの質問に答える。


(III) 多くの分野で固有面を使用する実際の例。


この本は誰に向けたものなのか


専門家、学部生、大学院生、愛好家、趣味人、あらゆる種類の固有顔に関する基本的な知識や情報を超えて知りたい人。

Language日本語
Release dateMay 14, 2024
固有顔: 固有顔で視覚認識の深さを探る

Read more from Fouad Sabry

Related to 固有顔

Titles in the series (100)

View More

Related ebooks

Reviews for 固有顔

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    固有顔 - Fouad Sabry

    第1章:固有面

    固有顔 (/ˈaɪɡənˌfeɪs/)は、人間の顔認識のコンピュータビジョン問題で使用されるときに、一連の固有ベクトルに付けられる名前です。

    高次元の顔画像ベクトル空間は、共分散行列が固有ベクトルを提供する確率分布をもちます。

    固有面自体は、共分散行列が構築される基底セットです。

    これにより、元のトレーニング画像をよりコンパクトな基本画像のセットで表すことができるため、次元が削減されます。

    面は、基底セットでの表現を比較することで並べ替えることができます。

    顔の特徴をコンパクトに表現する方法を見つけることが、固有面法の出発点でした。

    Sirovich 氏と Kirby 氏は、主成分分析を使用して、顔写真のグループから特徴の基礎セットを作成する方法を示しました。

    元のトレーニング セットの基本画像である固有画像は、線形にマージして画像を生成できます。

    M イメージの学習セットが与えられた場合、N 枚が M の場合、N 枚の写真を主成分分析の開始点として使用できます>。

    より多くの固有画像を使用すると、再構成誤差は減少します。ただし、必要な数値は M より小さくなります。

    たとえば、M個のトレーニング顔画像の特定のセットに対して、N個の固有面を生成する必要があり、各顔画像は、すべてのK個の「特徴」または固有面の「比率」で構成できると言えます:顔画像1 = (E1の23%)+(E2の2%)+(E3の51%)+ .。

    + (1% en) です。

    1991年、M. Turk と A. Pentland は、以前の成果に基づいて、顔認識の固有顔法を発表しました。彼らは、共分散行列の固有ベクトルを計算する方法を実証し、当時のコンピュータ上の多数の顔写真に対して固有分解を行うことを可能にしました。従来の主成分分析は、高次元の顔画像データセットに適用することが困難であることが判明しました。Turk と Pentland は、ピクセル数ではなく画像数に比例する行列を使用して、固有ベクトルを抽出する方法を示しました。

    最初の成功の後、固有面法はさらに開発され、精度を高めるための前処理技術が組み込まれました。

    主成分分析 (PCA) は、顔写真の大規模なコレクションに適用して一連の固有面を生成できる数学的手順です。固有顔は、顔のさまざまな画像を統計的に分析することによって作成され、非公式に「標準化された顔成分」のセットと考えることができます。すべての人間の顔は、これらの基本的な構成要素に分解できます。人の顔は、平均的な顔に固有面1の10%、固有面2の55%、固有面3の3%を加えたもので構成されている可能性があります。意外なことに、ほとんどの面の良好な近似は、少数の固有面のみを結合することで得られる可能性があります。さらに、各人の顔はデジタル写真ではなく、値のリスト(使用するデータベース内の固有顔ごとに1つの値)として保存されるため、各人の顔に占めるスペースははるかに少なくなります。

    結果として得られる固有面は、明るい部分と暗い部分のコントラストのパターンを持ちます。このようにして、詳細な分析とスコアリングのために個々の顔の特徴を分離する場合があります。対称性は、顔の毛の有無、髪の生え際の位置、鼻と唇のプロポーションと同様に評価されます。一部の固有面は検出が困難なパターンを持ち、結果として得られる画像は人間の顔とほとんど似ていない場合があります。

    顔認識以外にも、固有顔の作成や認識への応用として、手書き認識、読唇術、音声認識、手話やジェスチャーの解釈、医用画像の解析などが挙げられます。このため、「固有面」の代わりに「固有画像」という用語を使用することを好む人もいます。

    固有面のコレクションを生成するには、次の作業が必要です。

    トレーニングに使用する顔のサンプルを収集します。

    トレーニング セットで使用されるすべての写真は、まったく同じ照明で撮影されている必要があり、すべての写真の目と口が正しく配置されるように正規化する必要があります。

    また、これらはすべて共通のピクセル解像度 (r × c) にリサンプリングする必要があります。

    1 つのベクトルは、ソース イメージのピクセルの列を結合することによってのみ 1 つのイメージと見なされ、r 要素× c 要素を持つ 1 つの列になります。

    この特定の実装では、トレーニングセット画像は、すべて単一の行列T内に含まれており、各行列列は異なる画像を表すと仮定される。

    平均を削除します。T の各イメージは、平均イメージ a を差し引く必要があります。

    共分散行列 S の固有ベクトルと固有値を決定します。各固有ベクトルは元の写真と同じ成分数(次元)を持つため、別の画像として扱うことができます。この共分散行列の固有ベクトルは、固有面と呼ばれます。それらは、写真が平均から最も逸脱している方向を指しています。S を明示的に計算しなくても S の固有ベクトルを効率的に計算できるため、固有面は、この潜在的に法外な計算ステップにもかかわらず、実用的なアプリケーションがあります。

    主な要因を選択します。

    固有値と固有ベクトルを大きさの降順で並べ替えます。

    主成分kの数 は、全分散に閾値εを設定することにより任意に決定される。

    全分散 {\displaystyle v=(\lambda _{1}+\lambda _{2}+...+\lambda _{n})} , n = 成分数。

    k は、 {\displaystyle {\frac {(\lambda _{1}+\lambda _{2}+...+\lambda _{k})}{v}}>\epsilon }

    これらの固有面は、新しく投影された(平均減算された)画像が固有面の形状をどのように変化させるかを記録することにより、以前に見た面と見たことのない面の両方を表すために利用できるようになりました。

    学習セット内のイメージが平均からどれだけ逸脱しているかは、対応する固有面の固有値で表されます。

    一部の固有ベクトルのみを使用して画像を投影すると、詳細の一部が失われますが、最も高い固有値を持つ固有面を保持することで損失が減少します。

    たとえば、100 × 100 の画像を使用すると、10,000 個の固有ベクトルが生成されます。

    それが重要なコンテキストでは、100〜150個の固有面への投影は、通常、ほとんどの面を認識するのに十分であるため、1万個の固有ベクトルを比較的簡単に除去できます。

    拡張エール面データベースBを使用して、固有面計算の例を見ることができます。

    処理能力やデータストレージの不足を回避するために、顔画像は4×4=16倍にサンプリングされます。

    すべてクリアします。すべて閉じる。 YaleFacesの読み込み

    h, w, n = size(yalefaces); d = h * w; 画像をベクトル化する割合

    x = reshape(yalefaces, d n]); x = double(x); % 減算平均

    mean_matrix = mean(x, 2); x = bsxfun(@マイナス、 x、 mean_matrix); % 共分散の計算

    s = cov(x'); % 固有値と固有ベクトルの取得

    V、 D = eig(s); eigval = diag(D); % 固有値を降順で並べ替える

    eigval = eigval(end: - 1:1); V = fliplr(V); % は平均と第 1 から第 15 主固有ベクトルを示します。

    図, サブプロット(4, 4, 1)

    imagesc(reshape(mean_matrix, h, w]))

    カラーマップ グレー

    i = 1:15 の場合

    サブプロット(4, 4, i + 1)

    imagesc(再形状(V(:, i), h, w))

    終わり

    多くの固有面は共分散行列 S によって生成されますが、大部分の面を表すために実際に必要なのはそれらのサブセットだけです。たとえば、最初の 43 個の固有面は、すべての顔写真に見られる多様性の 95% を占める可能性があります。次の式を計算に適用します。

    %:95%の全体分散を表すのに必要な主成分の数を評価します。

    eigsum = sum(eigval); csum = 0; i = 1:d の場合

    csum = csum + eigval(i); テレビ= csum / eigsum; テレビ>0.95の場合

    k95 = i;  壊す

    終わり; 終わり; 多くの場合、イメージの共分散行列に対して直接 PCA を実行することは計算上困難です。

    たとえば、100 ピクセル× 100 ピクセルのサムネイルを使用する場合、各画像は 10,000 次元空間内の点であり、共分散行列 S は 10,000 × 10,000 = 108 要素の行列です。

    ただし、N個のトレーニング例がある場合、共分散行列のランクは最大でN-1になり、固有値がゼロでない固有ベクトルはN個1個以下になります。

    トレーニングインスタンスが画像の寸法よりも少ない場合、モデルは苦労します。 主成分を計算する簡単な方法は次のとおりです。

    トレーニング例の行列 T は前処理されており、各列は平均減算後の 1 つのイメージを表します。

    共分散行列は S = TTT として計算でき、S の固有ベクトル分解 は次式で与えられます。

    \mathbf {Sv} _{i}=\mathbf {T} \mathbf {T} ^{T}\mathbf {v} _{i}=\lambda _{i}\mathbf {v} _{i}

    しかし、TTTは大きな行列であり、対照的に、

    \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {u} _{i}

    次に、方程式の両辺にTを事前に掛けると、次のようになります。

    \mathbf {T} \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {T} \mathbf {u} _{i}

    つまり、ui  が TTT の固有ベクトルである場合、vi = Tui は S の固有ベクトルです。

    100 ピクセル× 100 ピクセルの 300 枚の画像のトレーニング セットがある場合、行列 TTT は 300 × 300 の行列であり、10,000 × 10,000 の共分散行列よりもはるかに管理しやすいです。

    ただし、結果のベクトル vi は正規化されていないことに注意してください。追加のプロセスとして、必要に応じて正規化を使用できます。

    X は、平均を減算した画像ベクトルとして列を持つデータ行列 d\times n を表す x_{i} ものとします。

    そうしたら {\displaystyle \mathrm {covariance} (X)={\frac {XX^{T}}{n}}}

    X に SVD があるとすると、次のように記述できます。

    X=U{\Sigma }V^{T}

    この場合、の固有値分解 XX^{T} は次のようになります。

    XX^{T}=U{\Sigma }{{\Sigma }^{T}}U^{T}=U{\Lambda }U^{T}

    ここで、Λ=diag ( の固有値 XX^{T} )

    その結果、次のことは明らかです。

    固有面 = k k\leq n ゼロ以外の特異値に関連付けられた U 最初の()列。

    の i 番目の特異値 XX^{T}={\frac {1}{n}}( の i 番目の固有値 X)^{2}

    データ行列XでSVDを行う場合、固有面を取得するために実際の共分散行列は必要ありません。

    固有顔の開発は、顔の識別を改善する必要性によって拍車がかかりました。他の方法と比較すると、固有面はシステムの速度と効率により、より優れた性能を発揮します。固有面は次元の縮小に重点を置いているため、少量の情報で多数の被写体を表現できます。また、写真が大幅に縮小された場合の顔認識システムとしても非常に堅牢です。しかし、観測画像とプローブ画像に大きな差があると、劇的に失敗し始めます。

    顔認識、システムのギャラリー内の画像は、その画像を構築する際の各固有面の相対的な重要性を特徴付ける重みのセットによって表されます。

    解析のために新しい面がデータベースに追加されると、システムは、画像が固有面のセットに投影され、独自の固有値が決定されます。

    これにより、プローブの前面を特徴付ける値のコレクションが得られます。

    ギャラリー セットの重みがこれらの重みと比較され、最も近い一致が決定されます。

    2つのベクトル間のユークリッド距離を見つけることは、最小値を最も近い主題として分類できる最も近い近傍を見つけるのと同じくらい簡単です。:590

    顔識別の固有面手法は、クエリ写真が生成された固有面によって広がる顔空間に投影され、顔クラスに最も近い一致がそこに配置されることを前提に機能します。

    擬似コード

    与えられた入力画像ベクトル U\in \Re ^{n} は、データベースからの平均画像ベクトル M で、x を解くことによって k 番目の固有面の重要性を求めます。

    w_{k}=V_{k}^{T}(U-M)

    次に、重みベクトルを形成します

    W=[w_{1},w_{2},...,w_{k},...,w_{n}]

    W をデータベース内のイメージの W_{m} 重みベクトルと比較します。

    ユークリッド距離を計算するには、.

    d=||W-W_{m}||^{2}

    If d<\epsilon _{1} If (If If

    もしそうなら \epsilon _{1}

    顔画像ではない d>\epsilon _{2},U 場合。

    各ギャラリー画像の重みは、被写体自体ではなく、その特定の画像に固有のデータのみを伝えます。正面から照らされた同じトピックのイメージは、強い左翼から照らされたイメージとは大きく異なる意味を持つ可能性があります。これにより、このタイプのシステムの範囲が制限されます。固有面に関する最初の研究では、光の変化に対して96%、方位の変化に対して89%、サイズの変化に対して64%の平均精度を示す実験結果が報告されました。照明や表情の変化の影響を受けにくくなります。次元削減フェーズでクラス固有の情報をより多く保持するために、Fisherface はラベル付きデータを利用します。

    固有面とフィッシャー面に加えて、アクティブ外観モデルも実行可能なオプションです。この方法では、面の輪郭はインタラクティブな形状モデルによって定義されます。主成分分析は、顔の輪郭の大規模なコレクションから人間の顔の多様性を捉える基本的なモデルセットを作成するために使用できます。

    次元の縮小とさまざまなタイプのバリエーションの基底図の作成は、現代の方法における主成分分析の2つの一般的なアプリケーションです。

    Eigenfaceは、以下の用途で顔認識を実装するための低コストでわかりやすいソリューションです。

    完全に自動化されたトレーニング手順があり、コードで簡単に実装できます。

    固有面は、顔と画像の統計的複雑さを効果的に単純化します。

    データベースの固有面が計算された後、リアルタイムの顔認識が可能になります。

    大規模なデータベースはEigenfaceで問題ありません。

    ただし、固有面法の欠点も簡単にわかります。

    光、サイズ、および平行移動の変化に非常に敏感であるため、非常に正確な設定が必要です。

    アイゲンフェイスは、感情の状態を正確に描写するのに苦労しています。

    最も重要な固有面は、顔自体について特に情報を提供するものではなく、代わりに顔の照明をエンコードすることに主眼が置かれています。

    最初の 3

    Enjoying the preview?
    Page 1 of 1