Pythonで簡単な顔認識を実装すると、私はこの星にとても似ていることが判明しました

Pythonで簡単な顔認識を実装すると、私はこの星にとても似ていることが判明しました

近年、人工知能の人気が急上昇しており、画像認識、音声認識、機械翻訳、自動運転車など、AI の能力と威力が人々に知られるようになりました。一般的に、AI の敷居はまだ比較的高いです。フレームワークの使い方を学ぶ必要があるだけでなく、さらに重要なのは、線形代数、行列、微積分などの特定の数学的基礎を身に付けていることです。

幸いなことに、国内外の多くの優れた専門家がすでに私たちのために「車輪」を構築しており、特定のモデルを直接使用することができます。今日は、顔の比較の簡単なバージョンを実装する方法を皆さんと共有します。とても興味深いです!

全体的なアイデア:

  • 必要な顔認識モデルを事前にインポートする
  • フォルダ内の写真を走査し、モデルにキャラクターの外観を「記憶」させます
  • 新しい画像を入力し、前のフォルダ内の画像と比較し、最も近い結果を返します。

使用されるサードパーティのモジュールとモデル:

モジュール: os、dlib、glob、numpy

モデル: 顔キーポイント検出器、顔認識モデル

1. 必要なモジュールとモデルをインポートする

ここに 2 つの dat ファイルがあります:

それらは本質的にはパラメータ値(つまり、ニューラル ネットワークの重み)です。顔認識はディープラーニングの応用であり、事前に大量の顔画像を使ったトレーニングが必要です。したがって、最初に、人間の顔を「記憶」するためのニューラル ネットワーク構造を設計する必要があります。

ニューラル ネットワークの場合、構造が同じであっても、パラメーターが異なると認識結果も異なります。ここで、2 つのパラメータ ファイルは異なる関数に対応しています (異なるニューラル ネットワーク構造に対応しています)。

shape_predictor.dat は、目や口などの顔のキーポイントを検出するために使用されます。dlib_face_recognition.dat は、以前に検出されたキーポイントに基づいて顔の特徴値を生成します。

したがって、後でdlib モジュールを使用する場合、これは実際には特定のニューラル ネットワーク構造を呼び出して、呼び出したニューラル ネットワークに事前トレーニング済みのパラメーターを渡すのと同じことになります。ちなみに、ディープラーニングの分野では、数百メガバイトのパラメータを持つモデルをトレーニングするのが普通です。

2. トレーニングセットを特定する

このステップでは、画像フォルダ内の人物画像の顔の特徴を計算し、リストに入れて、後で新しい画像との距離計算を実行できるようにする必要があります。重要なポイントはコメントで説明されており、理解するのは難しくないはずです。具体的な実装は次のとおりです。

この手順を完了したら、出力リスト記述子を確認すると、次のような配列が表示されます。各配列は各画像の特徴値 (128 次元) を表します。次に、L2 ノルム (ユークリッド距離) を使用して、2 つの間の距離を計算できます。

例えば、計算後、Aの固有値は[x1,x2,x3]、Bの固有値は[y1,y2,y3]、Cの固有値は[z1,z2,z3]、

すると、A と B はより近いので、A と B はより似ていると考えられます。極端なケースを想像してください。これらが同じ人物の 2 つの異なる写真である場合、それらの固有値はほぼ近いはずではありませんか?これを知れば、先に進むことができます。

3. 比較する画像を処理する

実は、原理は同じです。目的は固有値を計算することなので、2 番目のステップと似ています。次に、2 番目のステップで新しい画像と各画像間の距離を計算し、それらを辞書型に合成し、並べ替えて、最小値を選択すれば完了です。

4. 走ってみる

ここでは「破水流名人」林國斌の写真を使用しましたが、認識結果は予想通り、ドーンに最も近いものでした(笑、ドーンが大好きです)。しかし、事前にトレーニング画像セットにラム・クォックビンの写真を入れておけば、結果はラム・クォックビンになります。

なぜドーンなのか?入力画像内の文字 *** と各星の間の距離を調べ、出力を印刷してみましょう。

そうです、ドーンとの距離が一番近いので、一番似ているんです!

Python はとても面白くて楽しいです。クローラーで遊んだり、データ分析を探求したり、定量金融でお金を稼いだりすることができます。女の子をナンパしたり、自動化作業を行うこともできます。機械学習の分野はさらに優れており、顔認識、自然言語処理、データ予測、マイニングなどがあります。 [編集者:パン・グイユ TEL: (010) 68476606]

<<:  Amazon SageMaker を使用した機械学習モデルのトレーニングとデプロイ

>>:  オープンソースツール | データサイエンスのための Python 入門

ブログ    

推薦する

Go-OpenAI を使用して ChatGPT を簡単に呼び出し、無限の創造性を解き放ちましょう。

今日は、go-openai を使用して chatGPT を呼び出すという興味深いトピックを皆さんと共...

ナレッジグラフリテラシー

過去 2 年間で、Linking Open Data などのプロジェクトの本格的な開発により、セマン...

...

TikTok本社は米国に残り、ByteDanceが管理権とコアアルゴリズムを保持する

事情に詳しい関係者らは、米政府に提出した提案に基づき、バイトダンスがティックトックの本社を米国内に維...

マイクロソフトがAI開発に関する無料電子書籍をリリース、インテリジェントなチャットボットの構築方法を教える

最近、Microsoft は、Microsoft AI プラットフォームを使用してインテリジェントな...

2024年までのAI中心企業の成長に関する11のデータ予測

1. リレーショナルデータはSQLから分離される最新のエッジ コンピューティング、IoT、GenAI...

機械分野では人材不足が起きているのでしょうか?人工知能の時代はあなたが思っているよりもずっと早く来ています!

人工知能の時代が来るとよく言われます。20年後に私たちの子供たちが社会に出たとき、彼らはおそらくロボ...

未来を決定づけるトップ10の人工知能技術

人工知能 (AI) は単なるテクノロジーの流行語ではありません。私たちの生活や仕事のやり方を急速に変...

AI起業家にとって、これら4つの新たな方向性は注目に値するかもしれない

AI 起業家にとって、次の 4 つの新しい方向性は注目する価値があるかもしれません。第 1 に、人間...

...

...

マルチモーダル生体認証の利点を分析した記事、急いでコード化しましょう!

今日の情報化時代において、個人の身元を正確に識別し、情報セキュリティを保護する方法は、あらゆる分野の...

AIの限界を理解することがその可能性を実現する鍵となる

人工知能は多くの業界のワークフローを変革しました。デジタル顧客サービスアシスタント、自動運転車、無人...

人工知能を活用した診断・治療の現状と戦略に関する研究

1. はじめにわが国では毎年、さまざまな医療機関における診察や治療の総回数が70億回を超えており、医...