dlib cnn_face_detection_model_v1 Python 错误

Posted

技术标签:

【中文标题】dlib cnn_face_detection_model_v1 Python 错误【英文标题】:dlib cnn_face_detection_model_v1 Python error 【发布时间】:2018-02-08 10:45:54 【问题描述】:

我正在尝试使用 dlib (v19.6) Python API 使用以下代码创建 CNN 人脸检测器:

cnn_face_detector = dlib.cnn_face_detection_model_v1('mmod_human_face_detector.dat')

但是,我得到一个ArgumentError 如下:

---------------------------------------------------------------------------
ArgumentError                             Traceback (most recent call last)
<ipython-input-16-c2ca0a6e8dff> in <module>()
----> 1 cnn_face_detector = dlib.cnn_face_detection_model_v1('mmod_human_face_detector.dat')

ArgumentError: Python argument types in
    cnn_face_detection_model_v1.__init__(cnn_face_detection_model_v1, str)
did not match C++ signature:
    __init__(_object*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)

我可能做错了什么?我可以不将模型文件的文件名简单地作为字符串传递吗?

【问题讨论】:

【参考方案1】:

这对我有用,使用这个新版本,你的用法是正确的!

这可能意味着,你要么:

在安装过程中出错了 由python setup.py install 安装?那是正确的! 或者:您的 python 解释器在您不知情的情况下使用了其他 dlib 版本

【讨论】:

我使用python setup.py install --yes USE_AVX_INSTRUCTIONS 进行安装。我检查了 python 解释器使用的是相同的 dlib 版本。我将通过全新安装再试一次。【参考方案2】:

python setup.py install 之后我遇到了一个类似的问题,因为 python 使用了来自/opt/conda/lib/python3.6/site-packages/dlib.so 的旧版本的 dlib。

做一个简单的 mv /opt/conda/lib/python3.6/site-packages/dlib.so /opt/conda/lib/python3.6/site-packages/dlib_old.so 帮我解决了。

【讨论】:

以上是关于dlib cnn_face_detection_model_v1 Python 错误的主要内容,如果未能解决你的问题,请参考以下文章

dlib人脸识别

转:Windows系统环境下安装dlib

from _dlib_pybind11 import * ModuleNotFoundError: No module named '_dlib_pybind11'

Dlib 正面人脸检测在 IOS 中不起作用。?

dlib 不使用 CUDA

来自 dlib.image_window 的 Dlib face_recognition 错误