安装完OpenCV,迫不及待的想要测试一下YOLO。
1.克隆项目
git clone https://github.com/pjreddie/darknet.git
2.进入项目目录,根据自己有无GPU和OpenCV来修改Makefile(默认使用CPU,无OpenCV)
cd darknet
3.在终端输入“sudo make”,结果就报错了,错误如下:
/usr/bin/ld: 找不到 -lopencv_calib3d
这是因为链接库的问题,其实就像更改环境变量一样,我们把opencv_calib3d.so的目录加到一个文件里就行了,具体如下:
-
locate libopencv_calib3d.so或sudo find / -name libopencv_calib3d.so找到so文件的路径
-
cd /etc/ld.so.conf
-
sudo touch other.conf
-
sudo gedit other.conf
在other.conf中添加如下目录
/home/lch/anaconda3/envs/gymlab/lib
保存文件之后,运行以下命令保存修改:
sudo /sbin/ldconfig
报错为:
sbin/ldconfig.real: 文件 /home/lch/anaconda3/envs/gymlab/lib/libiomp5.so 己被截断
这是因为libiomp5.so这个文件可能损坏了,我把这个文件从该文件夹移了出来,再去执行上面的命令,就不会报错了。
4.第3步结束以后,再次执行第2步,就不会报错了!!!
5.下载YOLOv2和YOLOv3的权重数据:
-
wget https://pjreddie.com/media/files/yolo.weights
-
wget https://pjreddie.com/media/files/yolov3.weights
6.执行以下代码进行测试:
-
./darknet detect cfg/yolov2.cfg yolo.weights data/lch-picture/1.jpg
-
./darknet detect cfg/yolov3.cfg yolov3.weights data/lch-picture/1.jpg
可以看一下效果图
我们可以看到YOLOv3的效果比YOLOv2好很多。