Dlib 的 simple_object_detector() 是 运行 慢
Dlib's simple_object_detector() is running slowly
我已经为 simple_object_detector()
训练了一个 SVM
模型。但是在对视频进行推理时它变得太慢了。
我遇到了一个类似的问题:Why is dlib so slow finding an object? where an answer is saying to use USE_AVX_INSTRUCTIONS
flag enabled while dlib
installation. But it is not the case for me. As I found the flag is enabled by default. I also have come through this FAQ: Why is dlib slow 解决方案是在 Visual Studio
中选择 Release
模式,但我没有使用 Visual Studio
而只是 运行从终端输入代码。
但有趣的是,如果我 运行 内置人脸检测器 dlib.get_frontal_face_detector()
它 运行 完全没问题,没有延迟。但是程序只会在 运行ning simple_object_detector()
对自定义数据进行训练时变慢。
好的!我得到了解决方案。实际上我错过了在 运行 检测器时提供一个标志。应该是跟一些优化有关吧。
首先初始化检测器对象:
detector = dlib.simple_object_detector("/path/to/your/trained/SVM/detector")
现在更改以下行:
detections = detector(gray_image)
为此:
detections = detector(gray_image, 0)
参考:
https://github.com/davisking/dlib/issues/557#issuecomment-297679025
我已经为 simple_object_detector()
训练了一个 SVM
模型。但是在对视频进行推理时它变得太慢了。
我遇到了一个类似的问题:Why is dlib so slow finding an object? where an answer is saying to use USE_AVX_INSTRUCTIONS
flag enabled while dlib
installation. But it is not the case for me. As I found the flag is enabled by default. I also have come through this FAQ: Why is dlib slow 解决方案是在 Visual Studio
中选择 Release
模式,但我没有使用 Visual Studio
而只是 运行从终端输入代码。
但有趣的是,如果我 运行 内置人脸检测器 dlib.get_frontal_face_detector()
它 运行 完全没问题,没有延迟。但是程序只会在 运行ning simple_object_detector()
对自定义数据进行训练时变慢。
好的!我得到了解决方案。实际上我错过了在 运行 检测器时提供一个标志。应该是跟一些优化有关吧。
首先初始化检测器对象:
detector = dlib.simple_object_detector("/path/to/your/trained/SVM/detector")
现在更改以下行:
detections = detector(gray_image)
为此:
detections = detector(gray_image, 0)
参考: https://github.com/davisking/dlib/issues/557#issuecomment-297679025