来自 dlib.image_window 的 Dlib face_recognition 错误

Posted

技术标签:

【中文标题】来自 dlib.image_window 的 Dlib face_recognition 错误【英文标题】:Dlib face_recognition error from dlib.image_window 【发布时间】:2018-03-20 01:38:56 【问题描述】:

我使用 conda 安装了 dlib,并且正在使用 dlib 19.4。当我运行示例 python 代码 face_recognition.py 我得到这个输出错误

python face_recognition.py ../models/shape_predictor_5_face_landmarks.dat ../models/dlib_face_recognition_resnet_model_v1.dat ../examples/faces 处理文件:D:\Docs\Python_code\Dlib\examples\faces\2007_007763.jpg 检测到的人脸数量:7 检测 0:左:93 上:194 右:129 下:230 回溯(最近一次通话最后): 文件“face_recognition.py”,第 99 行,在 win.add_overlay(形状) 运行时错误:

在第 25 行检测到错误。 在文件 C:\bld\dlib_1504195460225\work\dlib-19.4\dlib..\dlib/image_processing/render_face_detections.h 中检测到错误。 在函数类 std::vector > __cdecl dlib::render_face_detections(const class std::vector > &,const struct dlib::rgb_pixel) 中检测到错误。

失败的表达式是 dets[i].num_parts() == 68。 std::vector render_face_detections() 向此函数提供了无效的输入。 dets[0].num_parts(): 5

如您所见,它确实检测到了 7 个面孔,这在图像中是正确的,但是当它尝试绘制矩形时却遇到了错误。我看到错误来自 win.add_overlay 函数。我迷失了这个错误或如何解决它,有什么建议吗?示例代码与https://github.com/davisking/dlib/blob/master/python_examples/face_recognition.py 完全相同 窗口会弹出一个图像,在正确识别的脸部周围有一个红色框,但只有 7 个中的 1 个

【问题讨论】:

我已经更新了示例中的代码以使用 68 点面部地标模型。这现在可以正常工作,没有错误。有没有办法使用示例中最初概述的 5 点模型? 【参考方案1】:

如果你想使用新版本的 dlib 中的示例程序,那么你需要使用新版本的 dlib,而不是旧版本。 您不能只为新版本提供一个示例程序并期望它与旧版本一起运行。新版本具有新功能,示例程序中对此进行了说明。

【讨论】:

感谢您的评论,我使用的是 19.4 的旧版本,因为我相信这是 Conda 上最新的版本;我将尝试手动安装最新版本以与发布的示例一起使用。以后我会记得比较发布说明

以上是关于来自 dlib.image_window 的 Dlib face_recognition 错误的主要内容,如果未能解决你的问题,请参考以下文章

DL:Hopfield 神经网络

DL:受限波尔兹曼机(RBM)能量模型

使用来自另一个脚本的参数启动 python 脚本,以编程方式设置 argparse 值

Android 使用动态载入框架DL进行插件化开发

Android 使用动态加载框架DL进行插件化开发

DL:RBM学习算法——Gibbs采样变分方法对比散度模拟退火