赞
踩
R-CNN是最早的目标检测算法,它是基于候选区域+深度学习分类,然后经过一系列版本更新接着出现了Fast R-CNN、Faster R-CNN系列。它首先使用选择性搜索(Selective Search)等方法生成一系列候选区域,然后将这些候选区域进行卷积特征提取,并使用支持向量机(SVM)进行分类。
Fast R-CNN是对R-CNN的改进,它通过共享卷积特征提取过程,提高了算法的效率。Fast R-CNN首先将整个图像输入卷积神经网络,得到卷积特征图,然后根据候选区域的位置信息从特征图中提取对应的特征向量,并使用全连接层和softmax分类器进行分类。
Faster R-CNN是对Fast R-CNN的进一步改进,它引入了区域生成网络(Region Proposal Network, RPN),用于生成候选区域。RPN是一个全卷积网络,可以通过滑动窗口的方式生成候选区域的边界框,并对这些边界框进行分类和回归。Faster R-CNN将RPN和Fast R-CNN结合起来,实现了端到端的目标检测。
准确性较高,对小目标检测效果好,具有较好的定位精度。
速度较慢,需要对每个候选区域进行特征提取,计算量大;训练过程复杂,需要多阶段的训练。
YOLO是一种目标检测算法,它的主要特点是能够实现实时目标检测。相比于传统的目标检测算法,YOLO可以在一次前向传递中同时预测图像中多个目标的位置和类别。YOLO算法的网络结构由卷积神经网络构成,通过多层卷积和池化层来提取图像特征,然后使用全连接层来预测目标的边界框和类别。在训练过程中,YOLO使用了特殊的损失函数来平衡目标的位置和类别预测的准确性。总体来说,YOLO系列算法是一种快速而准确的目标检测算法,适用于需要实时检测的应用场景,比如自动驾驶、视频监控等。
速度快,能够实时检测目标;简单且端到端的网络结构,训练和测试过程都较为简单。
对小目标的检测效果较差,定位精度相对较低;容易产生较多的误检测,但是随着yolo版的不断更新,以及transformer在计算机视觉领域的运用,其检测效果也在不断上升。
沿用了YOLO中直接回归Bounding Box和分类概率的方法,同时又参考了Faster RCNN,大量使用anchor来提升识别准确度。通过把这两种结构相结合,SSD保持了很高的识别速度,还能把mAP(平均精度)提升到较高的水平。
速度较快,能够实时检测目标;能够检测出不同尺度的目标,且对低分辨率的输入图像的效果很好。
SSD的缺点是对小尺寸的目标识别仍比较差,还达不到Faster R-CNN的水准。这主要是因为小尺寸的目标多用较低层级的anchor来训练(因为小尺寸目标在较低层级IOU较大),较低层级的特征非线性程度不够,无法训练到足够的精确度。
Mask R-CNN是一个实例分割(Instance segmentation)算法,可以用来做“目标检测”、“目标实例分割”、“目标关键点检测”。Mask R-CNN是对Faster R-CNN的直观扩展,网络的主干有RPN转换为主干网络为ResNet的特征金字塔网络(FPN),同时添加了一个分支用于预测每个感兴趣区域(RoI)上的分割掩模,与现有的用于分类和边界盒回归的分支并行。
在目标检测的基础上增加了实例分割功能,能够同时得到目标的位置和像素级别的分割结果。
速度较慢,计算量大;对小目标的检测效果较差。
随着计算机视觉领域的不断发展,越来越多目标检测算法都在不断更新迭代,其中最受欢迎的yolo系列到目前为止已经更新得到v8版本,其速度与精度都有较好的提升,并且随着一些新的网络结构改进,轻量化的运用,也把目标检测算法推向高潮,下表是收集现阶段比较流行大的不同目标检测算法在coco数据集上测试的结果,包括FPS、精度。
AP: PR曲线下的面积,综合考量了 recall 和 precision 的影响,反映了模型对某个类别识别的好坏。
mAP: mean Average Precision, 即各类别AP的平均值,衡量的是在所有类别上的平均好坏程度。
FPS:即每秒帧率 (Frame Per Second)除了检测准确度,目标检测算法的另一个重要评估指标是速度,只有速度快,才能够实现实时检测。FPS用来评估目标检测的速度。即每秒内可以处理的图片数量。
所以由上表可以发现,在coco数据集上测试结果,yolov5在精度和速度上都有比较好的效果。
由下图可以发现在coco数据集测试下,大致参数量相差不多时yolov8的精度相对于v5、v6、v7版本较好,并且其fps也相差较小
但是我对模型分别测试,每种算法均按默认配置,使用小麦检测数据集训练100轮,batch_size按显存最大来设置,img_size均为640*640,使用train.py进行4卡训练,使用detect.py进行单卡预测。加粗的表示最优结果。
算法 | batch_size | param/Million | FLOPs/G | weight_size/MB | P/% | R/% | mAP50/% | mAP50-95/% | train_time/h | Speed/ms |
---|---|---|---|---|---|---|---|---|---|---|
yolov5n | 256 | 1.7 | 4.3 | 3.9 | 91.9 | 88.1 | 93.9 | 53.2 | 0.682 | 11.0 |
yolov5s | 256 | 7.0 | 16.0 | 14.5 | 92.7 | 90.3 | 94.8 | 55.6 | 0.705 | 13.0 |
yolov5m | 128 | 20.9 | 48.3 | 42.3 | 93.1 | 89.4 | 94.2 | 55.0 | 1.0098 | 16.8 |
yolov5l | 64 | 46.2 | 108.3 | 92.9 | 93.1 | 88.8 | 94.3 | 55.0 | 1.751 | 25.6 |
yolov5x | 32 | 86.2 | 204.8 | 173.2 | 92.6 | 89.4 | 94.5 | 55.4 | 3.068 | 40.4 |
– | – | – | – | – | – | – | – | – | – | – |
yolov7-tiny | 512 | 6.03 | 13.2 | 12.3 | 64.4 | 61.2 | 68.8 | 29.1 | 1.130 | 11.5 |
yolov7 | 128 | 37.2 | 105.2 | 74.9 | 92.0 | 91.9 | 94.9 | 54.9 | 1.912 | 30.4 |
yolov7x | 128 | 70.9 | 189.0 | 142.2 | 93.4 | 91.0 | 94.6 | 54.9 | 2.668 | 42.3 |
– | – | – | – | – | – | – | – | – | – | – |
yolov8n | 256 | 3.1 | 8.2 | 6.3 | 91.9 | 88.4 | 94.1 | 55.6 | 1.641 | 14.7 |
yolov8s | 128 | 11.1 | 28.7 | 22.5 | 91.1 | 89.0 | 94.2 | 56.1 | 1.862 | 13.9 |
yolov8m | 128 | 25.9 | 79.1 | 52.1 | 91.6 | 90.0 | 94.6 | 56.4 | 2.228 | 20.3 |
yolov8l | 64 | 43.6 | 165.4 | 87.7 | 92.1 | 89.1 | 94.6 | 56.6 | 2.974 | 30.7 |
yolov8x | 64 | 68.2 | 258.2 | 136.8 | 91.8 | 90.3 | 95.0 | 56.8 | 3.658 | 40.2 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。