【发布时间】:2016-12-17 09:56:30
【问题描述】:
根据 Davis Kings 对该问题的回答:Create a shared library for dlib,我为 Dlib 创建了共享库,并将它们链接到一个程序,该程序使用 Dlib 人脸检测来检测相机图片中的人脸,使用以下命令:
cd dlib-19.0/dlib
mkdir build
cd build
cmake ..
make
sudo make install
还有-ldlib 选项。
我可以编译和执行程序,但是人脸检测非常慢。
我在 Windows 上使用 Visual Studio 2013 尝试了相同的程序。当我使用调试模式时,人脸检测也非常慢,但在发布模式下运行得很好。所以我想,共享库也可能处于调试模式,并尝试使用以下命令强制它们处于发布模式:
cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
sudo make install
但结果和以前一样。
有没有人有想法,可能是什么原因,它这么慢?
感谢您的帮助。
【问题讨论】:
-
编译中是否有任何警告,例如它抱怨找不到
BLAS库?它可能会有所帮助。您也可以尝试cmake CMAKE_CXX_FLAGS=-mavx ..,它将在编译中添加-mavx选项——它可能会优化构建。 TBH,尽管您需要比较库的编译后代码以确定性能差异的原因 -
所有人脸检测代码都是基于头部的。它不依赖于使用共享/静态库(但它们是加载面部检测器模型所必需的)。问题出在其他地方。请告诉我们有关此性能问题的更多详细信息:CPU 型号/速度、图像分辨率、两种情况下的检测时间
标签: c++ shared-libraries dlib