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 入門

ブログ    
ブログ    
ブログ    

推薦する

AIを活用してパイロットプロジェクトを計画する方法

人工知能 (AI) は、あらゆる業界の企業にビジネス運営の成長と改善の機会を提供します。 Fortu...

...

2021 年に AI と ML に参入する前に知っておくべき 10 のこと

高度な新しい AI アルゴリズムを使用して複雑な問題を解決し、高い給料を得られるというのは魅力的に思...

金融規制当局が注意喚起:「AIによる顔の改変」などの新たな詐欺手法に注意

10月9日、近年、犯罪者が詐欺の手口を絶えず革新しており、金融消費者がそれを防ぐことが困難になってお...

ハッカーがAIとMLを駆使して企業を狙う方法

サイバーセキュリティは AI と ML の進歩の恩恵を受けています。今日のセキュリティ チームは、疑...

AIネットワークはこれまで考えられていたよりも攻撃に対して脆弱である

人工知能 (AI) ツールは、自動運転車から医療画像解釈まで、さまざまなアプリケーションで使用される...

セキュリティ企業:ホワイトハットの60%以上が生成AIに興味を持っており、脆弱性を見つける最大の動機は金儲けである

セキュリティ企業であり脆弱性報奨金プラットフォームでもあるHackerOneは10月30日、先週20...

Baidu WorldがAI応用レポートカードを発表、国民経済の3大産業に進出

11月1日、2018年百度世界大会が北京で開催されました。「YES AI DO」をテーマにしたこの大...

ニューラルスタイル転送アルゴリズムで絵を描くことを学習する人間は、芸術分野で人工知能に負けるのでしょうか?

人工知能はますます多用途になり、すでに私たちの仕事のすべてを人工知能が引き継ぐことができるようです。...

...

ソフトウェア開発に AI とアジャイル管理を導入するための 9 つのヒント

[51CTO.com クイック翻訳] ご存知のとおり、人工知能 (AI) は 1956 年の誕生以来...

ヘルスケア市場におけるサービスロボットは2027年までに32億ドルに達すると予想

[[434302]]ヘルスケア分野におけるロボットへの投資の増加が、医療サービスロボットの開発を促進...

高品質な人工知能メンタルヘルスカウンセリングアプリを開発するには?

生活の質は向上している一方で、人々の精神状態は悪化しています。 [[317751]]群衆の中にうつ病...

Ant Groupが、プログラマー向けAIアシスタントの新たな競合製品となるオープンソースコードモデルCodeFuseを発表

9月8日現在、コード作成を支援できるAI製品はすでに数多く市場に出回っている。本日の外灘大会サブフォ...

モノのインターネットにおけるAIの役割

[[380960]]私たちの周りのすべてのものが知的になることを考えたことはありますか?ガジェットは...