Python 3 – 顔検出-Pythonチュートリアル

Python

目次

顔検出システムは、最も一般的に使用されている人工知能の1つです。

一方、セキュリティとロボット工学は目立たない方法でそれを実装し、写真を撮ったりソーシャルメディアにコンテンツをアップロードしたりするたびに顔検出を使用します。

それは私たちの生活の一部になり、ほとんどの人はその背後にあるものにさえ気づいていません。

関連コース: Python機械学習コース

顔検出は単純に見えるかもしれませんが、そうではありません。 画像やビデオフレームから人を識別して検証することができる技術です。 指紋や目の虹彩認識システムに何とか似ています。

Pythonの顔検出

前書き

それで、私たちがこれらすべてで言いたいことは何ですか? 顔検出は、コーディング方法を知っているすべての人に可能です。 開発者とプログラマーはそれに到達することができます。

Open CVの例から、ライブラリのみが必要になります。

また、Pythonなどのプログラミング言語も必要になります。

そして、彼らが以前にそれをしなかったならば、彼らは少し忍耐強くなければなりません。

すべてのステップをスキップして、エラーなしでアクションに進むことはできません。

なぜCVを開くのですか?

Open CVは、オープンソースのコンピュータービジョンを意味し、元々はC ++で記述され、後でPython用に記述されたライブラリです。これが使用するプログラミング言語です。

このライブラリは、計算効率を高めるように設計されており、リアルタイムアプリケーションに重点を置いています。

それは顔検出に正確に聞こえるかもしれません、そしてそれはそうです。 Open CVは、機械学習アルゴリズムを使用して画像内の顔を検索できます。

しかし、顔が複雑なため、プロセスには注意が必要です。 一致しなければならない何千もの小さなパターンと機能があります。

opencv python

機械学習

機械学習アルゴリズムには、分類器と呼ばれるタスクがあります。 分類子は、顔を何千もの小さな一口サイズのタスクに識別します。そうすれば、それを簡単に行うことができます。

これを想像してみてください。顔には6,000以上の分類子があり、顔が検出されるにはすべてが一致する必要があります。

アルゴリズムは画像の左上から始まり、データの小さなブロックを下に移動します。 それらの6,000の分類器はそれをテストする必要があり、何百万もの計算を行う必要があります。

コンピュータが停止するのは明らかです。 あなたが自分で仕事をしなければならないなら、あなたはあなたの心を失うでしょう。

Pythonopencvによる顔検出

カスケード

Open CVはカスケードを使用して、顔を複数の段階で検出する問題を解決します。

カスケードは、各ブロックに対して非常に大まかな迅速なテストを行います。 そのブロックが合格した場合、より詳細なテストなどを行います。

アルゴリズムは30から50のカスケードを持ち、すべてのステージが通過した場合に顔を検出できます。

これにより、顔認識をリアルタイムで行うことができます。

カスケードは、オブジェクトの検出に使用されるOpenCVデータを含むXMLファイルです。

Open CVをインストールして理解したら、Pythonで顔検出の結果を確認します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import cv2
import sys

imagePath = sys.argv[1]
cascPath = sys.argv[2]

faceCascade = cv2.CascadeClassifier(cascPath)


image = cv2.imread(imagePath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)


faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),

)
print("Found {0} faces!".format(len(faces)))


for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)

cv2.imshow("Faces found", image)
cv2.waitKey(0)

次のコマンドでプログラムを実行します。

1
python3 face.py workplace-1245776_960_720.jpg haarcascade_frontalface_default.xml

あなたはできる ここからカスケードをダウンロードします

結果として生じる可能性のあるものは2つあります。

高品質のカメラで顔の近くで写真を撮る場合、正確であるためにはおそらく顔認識になります。

写真の解像度が適切でなく、顔から遠く離れている場合、誤検知が発生する可能性があります。

例と演習をダウンロードする

Hope this helps!

Source link

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です