Python で顔認識を行う方法を簡単に学びましょう!

Python は、コンピューター プログラミング言語と、それに付随するソフトウェア ツールおよびライブラリです。Python は学習が簡単で、コードは非常に簡潔です。インデントとして必須の空白を使用するため、Python の開発効率が大幅に向上します。Python を使用すると、より多くの作業をより短時間で完了できます。Python はオープン ソース言語であり、Python には多くの強力なオープン ソース ライブラリもあります。これにより、Python はクラウド コンピューティング、ビッグ データ、または人工知能を強力にサポートできます。

01. 顔認証

顔認識は、コンピュータ ビジョンの分野で最も成功した典型的な認識アプリケーションです。

顔認識は、人間とコンピューターの対話、身元確認、患者の監視などのさまざまなアプリケーション シナリオで使用できます。まず、顔検出によって画面内のすべての顔を見つける必要がありますが、顔検出に HOG アルゴリズムを使用して顔の特徴を分析すると、HOG アルゴリズムは顔を検出できますが、顔を認識することはできません。畳み込みニューラル ネットワークをトレーニングすることにより、顔ごとに 128 の固有値が生成されます。異なる顔の 2 つの固有ベクトル間の距離ができるだけ大きくなるように、固有ベクトルを変更すると、顔データを適切に表現できます。固有ベクトルを通じて顔認識を実行できるように、固有ベクトルはできるだけ小さくする必要があります。

写真

02、ホッグ

HOG の主なアイデアは次のとおりです。画像内で、ローカル ターゲットの外観と形状は、勾配またはエッジの方向密度分布 (つまり、勾配の統計) によって適切に分布することができます。勾配は主に端にあります)を説明します。HOG 特徴検出アルゴリズムのいくつかのステップ: 色空間正規化 —> 勾配計算 —> 勾配方向ヒストグラム —> 重複ブロック ヒストグラム正規化 —> HOG 特徴。以下に示すように:

写真

 03 ディリブ

Dlib の顔認識アルゴリズムは、ディープ畳み込みニューラル ネットワーク (DCNN) に基づいて実装されています。このうち、顔の特徴を抽出するために使用されるモデルは、トレーニングに ResNet アーキテクチャ (Residual Networks、残差ネットワーク) を使用する 128 次元の出力を持つ畳み込みニューラル ネットワークです。

写真

おすすめ

転載: blog.csdn.net/GUDUzhongliang/article/details/132066038