顔認識のためのディープラーニングとオブジェクト検出のステップバイステップガイド

顔認識のためのディープラーニングとオブジェクト検出のステップバイステップガイド
[[277051]]

これまでの共有を通じて、顔認識の一般的なプロセスを理解しました。主に次のプロセスが含まれます。

1. 顔画像(生データ)の収集

2. 画像から顔を認識する

3. 顔データの抽出

4. 顔データの保存

5. 画像や動画から顔を検出する

6. 顔データの抽出

7. 認識された顔をデータベース内のデータと一つずつ比較し、顔を識別する。

上記の顔認識プロセスには、いくつかの問題があります。元の顔データが比較的大きい場合、データベースには大量の顔データが存在する必要があります。顔認識を実行するときに、認識された顔をデータベースのデータと比較する際に必然的に多くの時間がかかり、リアルタイムの顔認識の速度に大きな影響を与えます。 CNN 畳み込みニューラル ネットワークにヒントを得て、ニューラル ネットワークを使用して顔データをトレーニングします。ラベルは顔の名前、データは顔データです。ニューラル ネットワークを使用して顔データをトレーニングします。データが大きいほど、ニューラル ネットワークの認識速度と精度が高くなり、顔認識の速度と精度が大幅に向上します。顔認識プロセスは次のようになります。

1. 顔画像(生データ)の収集

2. 画像から顔を認識する

3. 顔データの抽出と保存

4. 顔データと顔ラベルのニューラルネットワークトレーニングとトレーニングモデルの保存

5. 画像や動画から顔を検出する

6. 識別された顔はニューラルネットワークによって予測され、顔認識が実行される。

この号では顔データの抽出について紹介します

1. オリジナル顔画像の収集

顔認識を行うには、ユーザーの顔画像を収集する必要があります。この記事では、ウェブサイトから数人の有名人の写真を収集して共有します。

まず、ディレクトリ ファイルの下に新しいデータセット フォルダーを作成し、その中に複数のフォルダーを配置します。各フォルダーには有名人の写真が含まれています。フォルダー名は有名人の名前です。ディレクトリは次のようになります。

2.顔検出モデルと顔抽出・埋め込みデータモデルを設定する

顔検出モデルでは、Caffe でトレーニングされたResNet-10 および SSD アルゴリズムを直接使用します。

顔データ抽出埋め込みモデルは、OpenFace の openface_nn4.small2.v1.t7 モデルを使用します。このモデルは pytorch でトレーニングされており、opencv を使用して直接読み込むことができます。

顔検出モデルと顔抽出・埋め込みデータモデル

3. 画像アドレスを初期化し、顔データ配列と顔名ラベル配列を初期化する

顔データを初期化する

4.データセットディレクトリ全体を走査し、画像を処理する

30 行目では、後で保存する必要があるラベル値であるフォルダーの名前を抽出します。

33 行目から 35 行目では、画像を読み取ってサイズを変更します。

38行目は画像のブロブ値を計算します

43-44行目: 画像のブロブ値を顔検出ニューラルネットワークに入力して顔検出を行う

47 行目: 画像内で顔が検出されると、ニューラル ネットワークの len 値は 0 より大きくなります。

50行目、顔が検出されると、顔の信頼度を抽出します。

53行目は顔の信頼度を0.5に設定する。

55行目から59行目は、画像内の顔の位置を計算し、顔のサイズを抽出します。

61-62行目、顔のサイズが小さい場合、顔の情報を無視し、画像内の大きい方の顔を選択します。

64行目、顔画像のサイズが要件を満たしている場合、顔のブロブ値を計算します。

67-68行目は顔画像のブロブ値を顔埋め込みデータニューラルネットワークに渡します。

71-72行目は顔ラベルと顔データを配列に保存します。

5. 顔データを保存する

トラバーサルが完了すると、データセット内のすべての顔データが事前に作成された配列に保存されます。

77 行目では、新しい辞書データを作成し、顔ラベルと顔データをローカルに保存して、後でニューラル ネットワークをトレーニングできるようにします。

以上の5つのステップで顔全体のデータ収集が完了します。もちろん、後の段階でより高い顔認識精度を求める場合は、大量の顔データを収集する必要があります。

この記事のこの部分は、顔認識の最初の部分、つまり顔データの収集と抽出です。後ほど、顔認識システムのニューラル ネットワークのトレーニングと顔認識について説明します。

<<:  アルゴリズム | 再帰の深い理解、あなたは再帰を誤解しています

>>:  時速55キロ!寧波杭州湾新区のスマート道路に無人車が走行

ブログ    
ブログ    

推薦する

テルアビブ大学は、SOTAメソッドとアーキテクチャの新たな進歩を完全に理解するためにStyleGANを要約しました。

GAN の高解像度画像を生成する能力は、画像合成および処理の分野に革命をもたらしています。 201...

2 ステップで 25 フレームの高品質アニメーションを生成 (SVD の 8% として計算) | オンラインでプレイ可能

消費されるコンピューティング リソースは、従来の Stable Video Diffusion (S...

人材情報プラットフォームの変革における人工知能の役割

人工知能 (AI) が人材情報プラットフォームを変革することで採用業界に革命をもたらしていることは否...

USTCのニューラルネットワークとエンドツーエンドのトレーニングフレームワークは、教育環境が学生の能力に与える影響を調査する

[[424271]]中国科学技術大学の研究者らは、教育コンテキスト認識型認知診断フレームワークを提案...

...

AI時代になっても、あなたのキャリアは存続できるでしょうか?

人工知能(AI)技術はどこまで発展したのでしょうか? [[278665]]将来、AIが社会に本格的に...

機械学習の謎を解く: プログラムはどのようにして自分自身を作成するのか?

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

「小さいけれど優秀」な大規模言語モデル Zephyr 7B の詳細な説明

Zephyr は、Hugging Face がリリースした一連の大規模言語モデルであり、蒸留教師あり...

Visual Mamba が登場: 2.8 倍高速、メモリが 87% 削減

「万能トランスフォーマー」として知られるマンバは、発売から2か月も経たないうちに高性能ビジュアルバー...

HanSight 万小川: 国内のセキュリティベンダーはセキュリティ人工知能を推進すべき

[51CTO.com より引用] RSA カンファレンスは、世界の IT セキュリティ動向のバロメー...

業界に革命を起こすスマートパッケージング技術トップ10

ほとんどの人がサプライチェーン技術について考えるとき、パッケージングは​​おそらく最初に思い浮かぶも...

5分間の技術講演 | GET3D生成モデルの簡単な分析

パート01●序文近年、MidjourneyやStable Diffusionに代表されるAI画像生成...

大学入試特集:AI出願ガイド

大学入試はすでに始まっています。分厚いノートを開いて専攻を選ぶ日はまだまだ遠いのでしょうか。この季節...

人工知能の到来。会計士は不安になるべきでしょうか?

「人工知能の発達により、労働力は解放されました。工場では、大量の労働者が排除され、高効率で高速なロ...