因此,我使用 OpenCV2 在 Python 中為網路攝像頭制作了一個人臉檢測程式。但這只是檢測人臉,它不能識別/識別它是誰。那么,我如何訓練我的程式來識別它是否是我?
到目前為止我的代碼:
video = cv2.VideoCapture(0)
while True:
check, frame = video.read()
faces = face_cascade.detectMultiScale(frame,
scaleFactor=1.1, minNeighbors=5)
for x,y,w,h in faces:
frame = cv2.rectangle(frame, (x,y), (x w,y h), (0,255,0), 3)
cv2.imshow('Face Detector', frame)
key = cv2.waitKey(1)
if key == ord('q'):
break
video.release()
cv2.destroyAllWindows()
我也想知道是否有該程式告訴方式如何它是多面性檢測?
uj5u.com熱心網友回復:
你可以使用預訓練的 openface 模型和 opencv 的 dnn 模塊,從裁剪的人臉影像中獲取特征向量,可以很容易地與 L2 或余弦距離進行比較
從這里獲取模型:https : //storage.cmusatyalab.org/openface-models/nn4.small2.v1.t7
net = cv2.dnn.readNetFromTorch("nn4.small2.v1.t7")
# then, for each image:
blob = cv2.dnn.blobFromImage(img, 1./255, (96,96), (0,0,0), True, False)
net.setInput(blob)
feature = net.forward() # 128 floats
if cv2.norm(f1,f2) < 0.5:
# SAME !!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/395839.html
上一篇:為什么cv2.imread和plt.imread讀取的部分照片視圖不同?
下一篇:如何使用多個影像制作單個影像?
