找不到人脸时如何处理 deepFace.analyze() 中的错误?
Posted
技术标签:
【中文标题】找不到人脸时如何处理 deepFace.analyze() 中的错误?【英文标题】:how to handle error in deepFace.analyze() when no face is found? 【发布时间】:2021-07-13 03:33:22 【问题描述】:img=cv2.imread(face.jpg)
predictions= DeepFace.analyze(img)
错误:无法检测到人脸。请确认图片是人脸照片或考虑将enforce_detection参数设置为False。
将 enforce_detection 设置为 false 会导致即使图像中没有人脸也能读取情绪
我们如何处理这个错误,让它告诉我们没有人脸?
【问题讨论】:
【参考方案1】:解决此问题的最佳方法是读取错误并显示:“考虑将 enforce_detection 参数设置为 False。”
所以你可以通过不强制来简单地解决这个问题 人脸检测。
return DeepFace.verify(img1, img2 , enforce_detection=False)['verified']
我的代码有错误,你的代码可能是
DeepFace.analyze(img1 , enforce_detection=False)
【讨论】:
【参考方案2】:try:
img=cv2.imread(face.jpg)
predictions= DeepFace.analyze(img)
except:
print("No face detected")
【讨论】:
这段代码没有运行 deepFace.analyze(img) 并没有检测到所有图像的人脸,即使该图像包含人脸 唯一与你的代码不同的是捕获错误。所以显然 ML 模型无法识别人脸。【参考方案3】:在这里试试这个脚本!祝你好运!
from deepface import DeepFace
import os
file = open("path to file you want to save your results in", 'w')
# giving directory for your pictures
dirname = "the path of the directory"
for files in os.listdir(dirname):
try:
obj = DeepFace.analyze(img_path = ("the path of the directory" + files), actions = ['age', 'gender', 'race', 'emotion'])
file.write(files)
file.write(str(obj) + "\n")
except Exception:
file.write(files)
file.write("face_was not detected" + "\n")
file.close()
【讨论】:
以上是关于找不到人脸时如何处理 deepFace.analyze() 中的错误?的主要内容,如果未能解决你的问题,请参考以下文章
将maxInstances用于webdriverio时如何处理登录用户