dlib retrain dlib_face_recognition_resnet_model_v1.dat

该文详细介绍了如何基于dlib库训练深度神经网络(DNN)人脸识别模型。首先,需按照特定格式整理数据,每个文件夹代表一类人,包含该人的多张图片。然后运行dnn_metric_learning_on_images_ex示例程序,设置迭代次数为300,官方建议用于实际训练时可设置为10000。训练完成后,若要中断,删除相关同步文件。需要注意的是,代码中可能需要修改输入图像尺寸,并进行C++编译。尽管示例针对300个人,但可以适应更多的训练样本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://blog.csdn.net/xia4215/article/details/117228500

之前的步骤可以看这篇文档

后续就把johns目录下的所有文件夹全部删除,然后建立你自己的文件夹。

格式为

unique_key/photo1.jpg,photo2.jpg

如:

文件夹1/图片1.jpg,文件夹1/图片2.jpg

文件夹2/图片3.jpg,文件夹2/图片3.jpg

每一个文件夹代表一类,这一类下面的图片都是一个人

然后去调用./dnn_metric_learning_on_images_ex ../johns

训练将会在没有增益的300次结束

// I've set this to something really small to make the example terminate
    // sooner.  But when you really want to train a good model you should set
    // this to something like 10000 so training doesn't terminate too early.
    trainer.set_iterations_without_progress_threshold(300);

官方推荐如果你想要训练一个好的模型,可以调整300到10000

如果想要中断训练,退出程序之后,在目录下把face_metric_sync和face_metric_sync_删了就可以

训练完毕 

但是有个问题,我是500个人,但是他只对300个人做了测试,而且我查了其他人的网站,也是300。我在看代码哪里做调整。当然300是可以做统计了的

Unable to load trained DNN (in C++) for face recognition in Python · Issue #483 · davisking/dlib · GitHub

编译之前需要把 dnn_metric_learning_on_images_ex.cpp 中的input_rgb_image改成input_rgb_image_sized<150>

然后再 cmake --build . --config Release --target dnn_metric_learning_on_images_ex

成功!

Dlib是一个流行的C++库,专用于机器学习和计算机视觉应用,其中包含了一个预训练的人脸识别模型`dlib_face_recognition_resnet_model_v1.dat`。这个模型通常用于面部特征检测和人脸识别。 获取并使用`dlib_face_recognition_resnet_model_v1.dat`的步骤如下: 1. **安装Dlib**:首先需要从官方GitHub仓库下载Dlib,并按照说明安装到你的项目中。你可以访问 https://github.com/davisking/dlib 下载源码包或通过包管理工具如pip安装预编译版本。 2. **下载模型文件**:模型文件本身并不直接提供下载,它包含在Dlib的源码包里,通常可以在`dlib/examples/python/get_frontal_face_detector.py`这样的示例脚本里找到。如果你使用的是二进制包,这个文件可能已经在你的Python环境的site-packages目录下。 3. **加载模型**:在Python中,你可以使用`dlib.get_frontal_face_detector()`来加载模型,然后使用`predict`函数对图像进行人脸检测。例如: ```python from dlib import get_frontal_face_detector, shape_predictor detector = get_frontal_face_detector() shape_predictor_path = 'path/to/dlib_face_recognition_resnet_model_v1.dat' predictor = shape_predictor(shape_predictor_path) ``` 4. **应用模型**:检测到人脸后,可以使用`predict`函数预测特征点位置,如眼睛、鼻子和嘴巴等关键点: ```python faces = detector(image) for face in faces: landmarks = predictor(image, face) # 对特征点做进一步处理... ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值