1.克隆darknet
官网: https://pjreddie.com/darknet/yolo/
git clone https://github.com/pjreddie/darknet
2.编译项目
cd darknet
make
3.下载权重
下载预训练权重文件(download the pre-trained weight fifile)
wget https://pjreddie.com/media/files/yolov3.weights
4.测试
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
目录darknet下的predictions.jpg是产生的预测结果图像文件,如下:

因只使用CPU,预测时间较长,超过23秒
5.使用cuda和opencv编译
cuda安装参考:https://www.cnblogs.com/liuwenhua/p/11520563.html
本人安装的是opencv 3.4.4。首先到opencv官网下载opencv-3.4.4.tar.gz。执行以下命令
tar xvf opencv-3.4.4.tar.gz
cd opencv-3.4.4/
cmake .
make
sudo make install
在执行上述的cmake时可根据自己的电脑配置和安装的opencv版本情况设置命令参数
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.4/modules -D PYTHON_EXCUTABLE=/usr/bin/python -D WITH_CUDA=ON # 使用CUDA -D WITH_CUBLAS=ON -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D CUDA_ARCH_BIN="9.0" # 这个需要去官网确认使用的GPU所对应的版本 -D CUDA_ARCH_PTX="" -D CUDA_FAST_MATH=ON # 计算速度更快但是相对不精确 -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON # 如果qt未安装可以删去此行;若因为未正确安装qt导致的Qt5Gui报错, -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_EXAMPLES=ON ..
本人使用的cmake命令如下:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.4/modules -D CUDA_GENERATION=Auto -D PYTHON_EXCUTABLE=/usr/bin/python -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_EXAMPLES=ON ..
sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境,首先将OpenCV的库添加到路径,从而可以让系统找到。
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加 /usr/local/lib 执行如下命令使得刚才的配置路径生效
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfifig
export PKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
修改darknet的Makefifile
GPU=1 CUDNN=1 OPENCV=1
然后执行
make clean
make
6.测试GPU版本的yolo
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
预测时间减少到约0.025秒
darknet安装完成