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

推薦する

アコーディオン: HBase の「呼吸」メモリ圧縮アルゴリズム

導入現在、HBase を搭載した最新の製品では、HBase の読み取りおよび書き込みパフォーマンスに...

...

...

ポストエピデミック時代:医療業界で成功するには?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

AI 実践者が習得する必要がある 10 種類のディープラーニング手法: バックプロパゲーション、転移学習、勾配降下法...

機械学習への関心は過去 10 年間で爆発的に高まりました。ほぼ毎日、さまざまなコンピューターサイエン...

ケビン・ケリーがAIブームを解説:超人的なAIを暴く5つの神話

人工知能は非常に人気が高まっているため、ニュースで報道される超知能に関する予測が実現可能なものなのか...

あなたの向かいに座っている「オフィス秘書」はロボットかもしれませんか?ロシアが超リアルなロボットを発表

ロボットがいくつかの簡単な作業を実行できることは目新しいことではありません。最近、ロシア西部の都市ペ...

...

2020年の情報セキュリティ:人工知能(AI)はさまざまな情報セキュリティシステムで広く利用されている

マーク・カネル、イマジネーション・テクノロジーズ、 戦略およびセキュリティ担当副社長[[281448...

...

...

人力資源社会保障省は、人工知能トレーナーを含む16の新しい職業を最終候補者に発表する予定である。

Chinanews.com 1月2日(李金磊)人力資源・社会保障部の承認を得て、中国就業訓練技術指...

IoTとAIを活用した依存症治療

IoT および AI ベースのデバイスは、私たちの中毒的な習慣をきめ細かなレベルで監視できるため、ユ...

美団下華夏:「無人配達」は技術的に難しいことではない

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

Xunlei 創設者 Cheng Hao: 人工知能起業における 6 つの核心課題

編集者注:この記事はWeChatの公開アカウントHaoge Says(ID:haogetalks)か...