顔検出システムは、最も一般的に使用されている人工知能の1つです。
一方、セキュリティとロボット工学は目立たない方法でそれを実装し、写真を撮ったりソーシャルメディアにコンテンツをアップロードしたりするたびに顔検出を使用します。
それは私たちの生活の一部になり、ほとんどの人はその背後にあるものにさえ気づいていません。
関連コース: Python機械学習コース
顔検出は単純に見えるかもしれませんが、そうではありません。 画像やビデオフレームから人を識別して検証することができる技術です。 指紋や目の虹彩認識システムに何とか似ています。
Pythonの顔検出
前書き
それで、私たちがこれらすべてで言いたいことは何ですか? 顔検出は、コーディング方法を知っているすべての人に可能です。 開発者とプログラマーはそれに到達することができます。
Open CVの例から、ライブラリのみが必要になります。
また、Pythonなどのプログラミング言語も必要になります。
そして、彼らが以前にそれをしなかったならば、彼らは少し忍耐強くなければなりません。
すべてのステップをスキップして、エラーなしでアクションに進むことはできません。
なぜCVを開くのですか?
Open CVは、オープンソースのコンピュータービジョンを意味し、元々はC ++で記述され、後でPython用に記述されたライブラリです。これが使用するプログラミング言語です。
このライブラリは、計算効率を高めるように設計されており、リアルタイムアプリケーションに重点を置いています。
それは顔検出に正確に聞こえるかもしれません、そしてそれはそうです。 Open CVは、機械学習アルゴリズムを使用して画像内の顔を検索できます。
しかし、顔が複雑なため、プロセスには注意が必要です。 一致しなければならない何千もの小さなパターンと機能があります。
機械学習
機械学習アルゴリズムには、分類器と呼ばれるタスクがあります。 分類子は、顔を何千もの小さな一口サイズのタスクに識別します。そうすれば、それを簡単に行うことができます。
これを想像してみてください。顔には6,000以上の分類子があり、顔が検出されるにはすべてが一致する必要があります。
アルゴリズムは画像の左上から始まり、データの小さなブロックを下に移動します。 それらの6,000の分類器はそれをテストする必要があり、何百万もの計算を行う必要があります。
コンピュータが停止するのは明らかです。 あなたが自分で仕事をしなければならないなら、あなたはあなたの心を失うでしょう。
カスケード
Open CVはカスケードを使用して、顔を複数の段階で検出する問題を解決します。
カスケードは、各ブロックに対して非常に大まかな迅速なテストを行います。 そのブロックが合格した場合、より詳細なテストなどを行います。
アルゴリズムは30から50のカスケードを持ち、すべてのステージが通過した場合に顔を検出できます。
これにより、顔認識をリアルタイムで行うことができます。
カスケードは、オブジェクトの検出に使用されるOpenCVデータを含むXMLファイルです。
例
Open CVをインストールして理解したら、Pythonで顔検出の結果を確認します。
1 |
import cv2 |
次のコマンドでプログラムを実行します。
1 |
python3 face.py workplace-1245776_960_720.jpg haarcascade_frontalface_default.xml |
あなたはできる ここからカスケードをダウンロードします
結果として生じる可能性のあるものは2つあります。
高品質のカメラで顔の近くで写真を撮る場合、正確であるためにはおそらく顔認識になります。
写真の解像度が適切でなく、顔から遠く離れている場合、誤検知が発生する可能性があります。
Hope this helps!
Source link