YOLO: Real-Time Object Detection深度网络: 在Darknet上的实现方式
YOLO是一个最先进的实时对象检测系统,YOLO的升级版有两种:YOLOv2和YOLO9000[链接]。YOLO的发展主要有两个大方面的改进(1)是采用了一系列的方法优化YOLO的模型结构,产生了YOLOv2,在快速的同时准确率达到state of the art。同时,YOLOv2可以适应不同的输入尺寸,根据需要调整检测准确率和检测速度。(2)是采用wordtree的方法,综合ImageNet数据集和COCO数据集,采用联合训练的方式训练得到YOLO9000,使之可以实时识别超过9000种物品。其中,YOLOv2在PASCAL VOC和COCO数据集上获得了目前最好的结果(state of the art),可以根据速度和精确度需求调整输入尺寸。YOLOv2比目前最好的Faster R-CNN和SSD精确度更高,检测速度更快。而且提供一种共训练方法,可用于其他计算机视觉任务中。对与YOLO的使用非常广泛,本文将提供一种快速使用YOLO的方法。
Darknet是一个用C和CUDA编写的开源神经网络框架。它快速,易于安装,并支持CPU和GPU计算。您可以在GitHub上找到源码,或者您可以在这里阅读更多关于Darknet可以做的事情。具体实现步骤:
1 安装Darknet
Darknet易于安装,只有两个可选的依赖项:
(1)如果您想要更多种类的支持的图像类型,则OpenCV。
(2)CUDA如果你想要GPU计算。
两者都是可选的,因此只需安装基本系统即可。
1)安装基础系统
首先在这里clone Darknet git repository[Here]。这可以通过以下方式实现:
git clone https://github.com/pjreddie/darknet.git
cd darknet
make
如果编译完成,你应该看到一堆编译信息:
mkdir -p obj
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast....
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast....
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors