https://raw.githubusercontent.com/opencv/opencv_3rdparty/dnn_samples_face_detector_20180205_fp16/res10_300x300_ssd_iter_140000_fp16.caffemodel
使用使用 Caffe 训练的模型进行深度学习时,需要这两个文件。 但是,您只能在 GitHub 存储库中找到 prototxt 文件。
权重文件不包含在 OpenCVsamples 目录中,需要更多的挖掘才能找到它们……
====================================================================================
在第一个示例中,我们将学习如何将 OpenCV 的人脸检测应用于单个输入图像。 在下一节中,我们将学习如何修改此代码并将 OpenCV 的人脸检测应用于视频、视频流和网络摄像头。 打开一个新文件,将其命名为 detect_faces.py ,并插入以下代码:
import the necessary packages
import numpy as np
import argparse
import cv2
construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument(“-i”, “–image”, required=True,
help=“path to input image”)
ap.add_argument(“-p”, “–prototxt”, required=True,
help=“path to Caffe ‘deploy’ prototxt file”)
ap.add_argument(“-m”, “–model”, required=True,
help=“path to Caffe pre-trained model”)
ap.add_argument(“-c”, “–confidence”, type=float, default=0.5,
help=“minimum probability to filter weak detections”)
args = vars(ap.parse_args())
导入所需的包并解析命令行参数。 我们有三个必需的参数:
–image :输入图像的路径。
–prototxt :Caffe prototxt 文件的路径。
–model :预训练 Caffe 模型的路径。
可选参数 --confidence 可以覆盖默认阈值 0.5。 从那里让我们加载我们的模型并从我们的图像创建一个 blob:
load our serialized model from disk
print(“[INFO] loading model…”)
net = cv2.dnn.readNetFromCaffe(args[“prototxt”], args[“model”])