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

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

ブログ    
ブログ    

推薦する

機械学習がデータセンターを進化させる方法

1. はじめにビッグデータ革命によりデータセンターが爆発的に増加し、エネルギー消費量はますます増加し...

Facebook がアルゴリズム コード ライブラリ PySlowFast をオープンソース化、最先端のビデオ理解モデルを簡単に再現

Facebook AI Research は近年、ビデオ理解研究において多くの素晴らしい成果を上げて...

機械学習の運用はクラウドコンピューティングの運用には適していない

クラウド コンピューティング サービス チームに機械学習機能を備えたシステムを提供することは間違いで...

...

...

機械学習とディープラーニングの違いを簡単に分析する

【51CTO.com クイック翻訳】 [[379353]]現代社会に人工知能の波が押し寄せる中、機械...

...

BI ツールはデータ駆動型の文化を創造するのに十分でしょうか?

[[330768]] 【51CTO.com クイック翻訳】世界中でデータの爆発的な増加がしばらく続...

中飛愛威CEO曹飛氏:自動化からインテリジェンスへ、ドローン検査をよりスマートに

[51CTO.comよりオリジナル記事] 農業、電力、航空写真撮影など、多くの分野でドローンが活躍す...

フェイフェイ・リーのチームの新しい研究:脳制御ロボットが家事を行い、脳コンピューターインターフェースに少ないサンプルで学習する能力を与える

将来的には、考えただけでロボットに家事を任せることができるようになるかもしれません。スタンフォード大...

機械学習の実践者が直面する8つの大きな課題

機械学習 (ML) や人工知能 (AI) と聞くと、多くの人はロボットやターミネーターを想像します。...

...