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

顔認識のためのディープラーニングとオブジェクト検出のステップバイステップガイド
[[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キロ!寧波杭州湾新区のスマート道路に無人車が走行

ブログ    

推薦する

GPT-4+物理エンジンは拡散モデルをサポートし、現実的で一貫性のある合理的なビデオを生成します。

拡散モデルの出現により、テキスト生成ビデオ技術の開発が促進されましたが、このような方法は通常、計算コ...

人工知能と教育や指導が出会うと、どんな火花が散るでしょうか?

人工知能は世界第4次産業革命であり、工業、医療などの分野での応用が拡大しています。オンライン教育の普...

グッドフェロー氏の行き先は決定。グーグルに戻り、ディープマインドでリモートワークを続ける予定

グッドフェロー:オフィスで働きたくないから転職するというのは本当ですか? AppleやGoogleの...

AIがスマートグリッドにもたらす革新

スマートグリッドは、供給者から消費者に電力を供給する相互接続されたコンポーネントの複雑なシステムです...

文部省は大学に37の新しい専攻を追加し、そのうち人工知能が3分の1を占める。

近年、科学技術分野で最もホットな言葉は何でしょうか?5G、人工知能などが間違いなくそのリストに入って...

パラメータのわずか4%、GPT-3のパフォーマンスに匹敵:開発者がDeepMindのRETROを説明

BERT から GPT-2、そして GPT-3 へと、大規模モデルの規模は拡大し、そのパフォーマン...

李開復、胡宇、張亜琴の GMIC 2018 対談: AI 戦略と AI 人材育成における中国と米国の違いは何ですか?

[[227402]]人工知能が急成長を遂げている現在、AI人材の不足は中国だけでなく、世界全体が直...

TypeScript 実践アルゴリズムシリーズ (XII): Map と HashMap の実装

この記事では、辞書とハッシュテーブルの実装のアイデアを詳しく説明し、TypeScript を使用して...

Redditのランキングアルゴリズムの仕組み

これは、「Hacker News のランキング アルゴリズムの仕組み」に続く、ランキング アルゴリズ...

TalkingDataはビッグデータとAIについて語ります

[51CTO.com からのオリジナル記事] Singularity University の CE...

...

文部科学省が文書を発表:AI、アルゴリズム等が2018年度から高等学校の教育課程に取り入れられる!

教育部はこのほど記者会見を開き、「高等学校一般教育課程計画及び中国語等教科教育課程基準(2017年版...

将来、ロボットは人間よりもはるかに強力になります。ロボットは人間に反抗するでしょうか?

私たちは長い間、ロボットを私たちの世界から締め出すことができるのか、あるいは人間は人工知能(あるいは...

...

Javaで機械学習を始める方法

[[201237]] Java で機械学習を始めるのに最適なツールは何ですか?この質問はしばらく前か...