AI

YOLO目标检测算法基本使用

"welcome to ARTAvrilLavigne Blog"

Posted by ARTAvrilLavigne on August 3, 2019

一、YOLO算法介绍

  人类视觉系统快速且精准,只需瞄一眼(You Only Look Once)即可识别图像中物品及其位置。作者用了You Only Look Once的首字母YOLO来表示其算法,相当有趣。YOLO为一种新的目标检测方法,该方法的特点是实现快速检测的同时还达到较高的准确率。作者将目标检测任务看作目标区域预测和类别预测的回归问题。该方法采用单个神经网络直接预测物品边界和类别概率,实现端到端(end to end)的物品检测。同时,该方法检测速非常快,基础版可以达到45帧/s的实时检测;FastYOLO可以达到155帧/s。与当前最好系统相比,YOLO目标区域定位误差更大,但是背景预测的准确性优于当前最好的方法。

  它可以检测20个Pascal对象类:人,鸟,猫,牛,狗,马,羊,飞机,自行车,船,巴士,汽车,摩托车,火车,瓶,椅子,餐桌,盆栽植物,沙发,电视/显示器

  YOLO的网络结构:模型采用卷积网络来提取特征,然后使用全连接层来得到预测值。网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层,如下图所示。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数:max(x,0.1x)。但是最后一层却采用线性激活函数。除了上面这个结构,算法原文还提出了一个轻量级版本Fast Yolo,其仅使用9个卷积层,并且卷积层中使用更少的卷积核。

二、YOLO算法的安装及基本使用

环境:ubuntu14.04-64位

第一步、环境准备。创建YOLO算法的一个目录,在该目录下:
1、安装git工具

apt-get install git
2、安装bunzip2
apt-get install -y bzip2
3、安装gcc
//安装软件列表,因为gcc,g++一般是自带的,安装了软件列表就自然安装上gcc和g++了
sudo apt-get install build-essential
//查看gcc版本
gcc --version
//查看g++版本
g++ --version

第二步、下载安装包并编译

sudo git clone https://github.com/pjreddie/darknet
cd darknet
make

第三步、下载预训练的权重
//官网的版本更新到了yolov3,因此下载yolov3对应的权重文件

wget https://pjreddie.com/media/files/yolov3.weights

第四步、执行预测

./darknet detect cfg/yolov3.cfg yolov3.weights data/IU1.jpg

./darknet detect cfg/yolov3.cfg yolov3.weights data/IU2.jpg

三、YOLO算法执行结果

德鲁纳酒店IU姑娘的检测效果

目标检测图片IU1.jpg的结果:

目标检测图片IU2.jpg的结果:

四、参考链接

算法官网:https://pjreddie.com/darknet/yolo/
YOLO算法使用一:https://www.cnblogs.com/minsons/p/7905473.html
YOLO算法使用二:https://www.cnblogs.com/minsons/p/7905488.html
YOLO算法详解:https://blog.csdn.net/xiaohu2022/article/details/79211732


みなさんのごおうえんをおねがいします~~