darknet安装与使用
按照官网上的教程一步一步走,后面有些许改动。
一、小试牛刀,熟悉darknet并做简单的测试
1.首先下载darknet并编译
git clone https://github.com/pjreddie/darknet
cd darknet
make
2.配置文件已经在cfg/中,需要下载预训练的权重文件
wget https://pjreddie.com/media/files/yolov3.weights
3.然后可以运行检测器
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
4.可以看到一些网络参数的输出和检测后的图片predictions.jpg,可以得到检测到的类别,置信度和检测时间,大概需要34s左右
5.第3条运行检测器的指令是简写版,完整版如下
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg
6.如果想对多张图片进行检测,省略data/dog.jpg,后面可以看到Enter Image Path,再输入图片路径,一次只能输入一张,但可以重复输入
7.改变检测器的阈值,默认yolo只输出置信度0.25以上的物体,可以改变其阈值,如果改为0则不输出任何东西
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg -thresh 0.1
8.要是由于环境等限制,想调用yolov3-tiny,可以下载其权重
wget https://pjreddie.com/media/files/yolov3-tiny.weights
9.运行调用yolov3-tiny权重的检测器
./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg
二、用一个网络摄像头实时检测
尽管cudnn编译的问题已经解决了,但可能与opencv某些地方不兼容,或者是我的anaconda与opencv不兼容,opencv编译完成后仍然报错,可以改为cudnn=0,后面那些关于cudnn出错的操作可以略过。(非常重要)