点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

YOLO系列是非常经典的目标检测算法,尤其是 YOLO v1和v3,以及近期的v4和v5,都有很大影响力,大家一起根据这两篇文章,捋一捋YOLO系列吧。

这篇文章,我们主要看下与的创新点。

YOLOv4

YOLOv4的三大贡献:

  1. 设计了强大而高效的检测模型,任何人都可以用 1080Ti 和 2080Ti训练这个超快而精准的模型。

  2. 验证了很多近几年 SOTA 的深度学习目标检测训练技巧。

  3. 修改了很多 SOTA 的方法, 让它们对单GPU训练更加高效,例如 CmBN,PAN,SAM等。

作者总结了近几年的单阶段和双阶段的目标检测算法以及技巧,并用一个图概括了单阶段和双阶段目标检测网络的差别,two-stage的检测网络,相当于在one-stage的密集检测上增加了一个稀疏的预测器

作者也对多种方法进行实验,做了详尽的测试,作者将那些增加模型性能,只在训练阶段耗时增多,但不影响推理耗时的技巧称为 —— bag of freebies;而那些微微提高了推理耗时,却显著提升性能的,叫做 —— bag of specials。

bag of freebies

数据增强

  • 光度变换

    • 调整亮度,对比度,色相,饱和度和噪点

  • 几何变换

    • 随机缩放,裁剪,翻转和旋转

  • 模拟目标遮挡

    • random erase

    • CutOut

    • Hide and Seek

    • grid Mask

  • 图像融合

    • MixUp

    • CutMix

    • Mosaic

常见的正则化方法:

  • DropOut

  • DropConnect

  • DropBlock

处理数据不平衡

  • two-stage网络使用的难例挖掘,但是这种方式不适合one-stage检测

  • Focal Loss

标签平滑(Label Smoothing)

边界框回归的损失函数

  • IOU Loss

  • GIOU Loss

  • DIOU Loss

  • CIOU Loss

Bag of specials

增强感受野

  • SPP

  • ASPP

  • RFB

注意力模块

  • 通道注意力(channel-wise)

    • SE

  • 空间注意力(point-wise)

    • SAM

特征融合

  • 跳层连接

  • FPN

  • SFAM

  • ASFF

  • BiFPN(EfficientNet中提出)

激活函数

  • LReLU(解决当输入小于0时ReLU梯度为0的情况)

  • PReLU(解决当输入小于0时ReLU梯度为0的情况)

  • ReLU6(专门为量化网络设计)

  • hard-swish(专门为量化网络设计)

  • SELU(对神经网络进行自归一化)

  • Swish(连续可微激活函数)

  • Mish(连续可微激活函数)

后处理方式

  • NMS

  • soft NMS

  • DIOU NMS(在soft NMS的基础上将重心距离的信息添加到删选BBOx的过程中)

YOLOv4网络结构

图片引自:江大白

YOLOv4整个网络架构组成

  • Backbone: CSPDarknet53

  • Neck: SPP, PAN

  • Head: YOLOv3

YOLOv4 各部分使用到的Bags:

Bag of Freebies (BoF) for backbone:

  • CutMix、Mosaic data augmentation

  • DropBlock regularization

  • Class label smoothing

Bag of Specials (BoS) for backbone:

  • Mish activation

  • Cross-stage partial connections (CSP)

  • Multiinput weighted residual connections (MiWRC)

Bag of Freebies (BoF) for detector:

  • CIoU-loss

  • CmBN

  • DropBlock regularization

  • Mosaic data augmentation

  • Self-Adversarial Training

  • Eliminate grid sensitivity

  • Using multiple anchors for a single ground truth

  • Cosine annealing scheduler

  • Optimal hyperparameters

  • Random training shapes

Bag of Specials (BoS) for detector:

  • Mish activation

  • SPP-block

  • SAM-block

  • PAN path-aggregation block

  • DIoU-NMS

BackBone

CSPDarknet53是在Yolov3主干网络Darknet53的基础上,借鉴2019年CSPNet的经验,产生的Backbone结构,其中包含了5个CSP模块。作者在实验中得到结论,CSPResNeX50分类精度比CSPDarknet,但是检测性能却不如后者。

每个CSP模块第一个卷积核的大小都是 ,stride=2,因此可以起到下采样的作用。因为Backbone有5个CSP模块,输入图像是,所以特征图变化的规律是:。

YOLOv4 和 YOLOv5 都使用 CSPDarknet作为BackBone,从输入图像中提取丰富的特征信息。CSPNet叫做Cross Stage Partial Network,跨阶段局部网络。其解决了其他大型卷积网络结构中的重复梯度问题,减少模型参数和FLOPS。这对 YOLO 有重要的意义,即保证了推理速度和准确率,又减小了模型尺寸。

CSPNet的作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的。CSPNet基于Densnet的思想,复制基础层的特征映射图,通过dense block 传递到下一个阶段进行合并,从而将基础层的特征映射图分离出来。这样可以实现更丰富的梯度组合,同时减少计算量。

Cross Stage Partial DenseNet

因此Yolov4在主干网络Backbone采用CSPDarknet53网络结构,主要有三个方面的优点:

  • 优点一:增强CNN的学习能力,使得在轻量化的同时保持准确性。

  • 优点二:降低计算瓶颈

  • 优点三:降低内存成本

详细了解CSPNet,https://zhuanlan.zhihu.com/p/124838243

而且作者只在Backbone中采用了Mish激活函数,网络后面仍然采用Leaky_relu激活函数。Yolov4作者实验测试时,使用CSPDarknet53网络在ImageNet数据集上做图像分类任务,发现使用了Mish激活函数的TOP-1和TOP-5的精度比没有使用时精度要高一些。因此在设计Yolov4目标检测任务时,主干网络Backbone还是使用Mish激活函数。

数据增强

YOLOv4用到的数据增强方法

Mosaic是一种新的混合4幅训练图像的数据增强方法,使四个不同的上下文信息被混合,丰富了图像的上下文信息,这使得网络能够检测正常图像之外的对象,增强模型的鲁棒性。此外,批处理规范化BN层从每一层上的4个不同图像计算激活统计信息。这大大减少了对large mini-batch-size的需求。Mosaic,就是把四张图片拼接为一张图片,这等于变相的增大了一次训练的图片数量,可以让最小批数量进一步降低,让在单GPU上训练更为轻松

Mosaic数据增强

在YOLOv4中,通过引入CutMix和Mosaic数据增强、类标签平滑和Mish激活等功能,分类精度得到了提高。因此,本文用于分类训练的BoF骨干(免费包)包括以下内容:CutMix和Mosaic数据增强和类标签平滑。此外,本文使用Mish激活作为补充选项,

DropBlock

Yolov4中使用的Dropblock,其实和常见网络中的Dropout功能类似,也是缓解过拟合的一种正则化方式。传统的Dropout很简单,一句话就可以说的清:随机删除减少神经元的数量,使网络变得更简单。而Dropblock和Dropout相似,比如下图:上图中,中间Dropout的方式会随机的删减丢弃一些信息,但Dropblock的研究者认为,卷积层对于这种随机丢弃并不敏感,因为卷积层通常是三层连用:卷积+激活+池化层,池化层本身就是对相邻单元起作用。而且即使随机丢弃,卷积层仍然可以从相邻的激活单元学习到相同的信息。因此,在全连接层上效果很好的Dropout在卷积层上效果并不好。所以右图Dropblock的研究者则干脆整个局部区域进行删减丢弃。

这种方式其实是借鉴2017年的cutout数据增强的方式,cutout是将输入图像的部分区域清零,而Dropblock则是将Cutout应用到每一个特征图。而且并不是用固定的归零比率,而是在训练时以一个小的比率开始,随着训练过程线性的增加这个比率。

Dropblock的研究者与Cutout进行对比验证时,发现有几个特点:

  • Dropblock的效果优于Cutout

  • Cutout只能作用于输入层,而Dropblock则是将Cutout应用到网络中的每一个特征图上

  • Dropblock可以定制各种组合,在训练的不同阶段可以修改删减的概率,从空间层面和时间层面,和Cutout相比都有更精细的改进。

Yolov4中直接采用了更优的Dropblock,对网络进行正则化。

Neck创新

Yolov4的Neck结构主要采用了SPP模块、FPN+PAN的方式。

SPP

作者在SPP模块中,使用的最大池化的方式,再将不同尺度的特征图进行Concat操作。最大池化采用padding操作,移动的步长为1,比如的输入特征图,使用大小的池化核池化,,因此池化后的特征图仍然是大小。

和Yolov4作者的研究相同,采用SPP模块的方式,比单纯的使用最大池化的方式,更有效的增加BackBone感受野。Yolov4的作者在使用大小的图像进行测试时发现,在COCO目标检测任务中,以0.5%的额外计算代价将AP50增加了2.7%,因此Yolov4中也采用了SPP模块。

FPN+PAN

Yolov4在FPN层的后面还添加了一个自底向上的特征金字塔。这样结合操作,FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,两两联手,从不同的主干层对不同的检测层进行参数聚合。

FPN+PAN借鉴的是18年CVPR的PANet,当时主要应用于图像分割领域,但Alexey将其拆分应用到Yolov4中,进一步提高特征提取的能力。

原本的PANet网络的PAN结构中,两个特征图结合是采用shortcut操作,而Yolov4中则采用concat(route)操作,特征图融合后的尺寸发生了变化。

Head头

CmBN

CmBN 为 CBN 的改进版本,定义为交叉小批量归一化 (CmBN)。这仅在单个批次内的小批次之间收集统计信息(收集一个batch内多个mini-batch内的统计数据)。

Bounding Box Regeression Loss

目标检测任务的损失函数一般由Classificition Loss(分类损失函数)和Bounding Box Regeression Loss(回归损失函数)两部分构成。

Bounding Box Regeression的Loss近些年的发展过程是:

Smooth L1 Loss-> IoU Loss(2016)-> GIoU Loss(2019)-> DIoU Loss(2020)->CIoU Loss(2020)

我们从最常用的IOU_Loss开始,进行对比拆解分析,看下Yolov4为啥要选择CIOU_Loss。

IOU LOSS

IOU Loss主要考虑检测框和目标框的重叠面积,公式如下:

IOU Loss存在两个问题:

  • 问题一:当预测框和目标框不相交时,也就是当IOU=0时,无法反映两个框距离的远近,此时损失函数不可导。所以IOU Loss无法优化两个框不相交的情况

  • 问题二:当两个预测框和同一个目标框相重叠,且两者IOU相同,这时IOU Loss对两个预测框的惩罚相同,无法区分两个预测框与GT目标框的相交情况

GIOU Loss

由于IOU Loss的不足,2019年提出了GIOU Loss,我们先定义一下符号:

定义为预测框,为目标框,为目标框和预测框的最小外接矩形,公式如下:

差集

可以看到,相比于IOU Loss,GIOU Loss衡量了目标框和预测框的相交程度,缓解了IOU Loss的问题。

但是当预测框在目标框内部,且预测框大小一致时,这时候预测框和目标框的差集相等,这是GIOU Loss会退化成IOU Loss,无法区分各个预测框的位置关系。

DIOU Loss 和 CIOU Loss

好的目标框回归函数应该考虑三个重要几何因素:重叠面积、中心点距离,长宽比。

针对IOU Loss和GIOU Loss存在的问题,DIOU Loss考虑重叠面积、中心点距离,公式如下:

设:为预测框和目标框的最小外接矩形,表示最小外接矩形的对角线距离,表示预测框的中心点到目标框中心点的欧式距离

由上述公式可以看出,当遇到GIOU Loss 无法解决的问题时,DIOU即考虑了重叠面积,也考虑了目标框和预测框的中心点的距离,就可以衡量两者之间的位置关系。所以当目标框包裹预测框的时候,DIOU可以衡量两者之间的距离。

但是DIOU Loss没有考虑长宽比,当预测框在目标框内部时,且多个预测框的中心点的位置都一样时,这时候DIOU Loss无法区分这几个预测框的位置。所以提出了CIOU Loss,其在DIOU Loss的基础上增加了一个影响因子,将预测框和目标框的长宽比都考虑进去,公式如下:

其中,是一个衡量长宽比一致性的参数,我们可以定义为:

代表目标框,代表预测框。

至此,CIOU Loss包含了一个好的预测框回归函数的三个重要的几何因素:重叠面积、中心点距离、长宽比。

NMS

NMS主要用于预选框的筛选,常用于目标检测算法中,一般采用普通的nms的方式,Yolov4则借鉴上面D/CIOU loss的论文:https://arxiv.org/pdf/1911.08287.pdf

因为DIOU在计算loss的时候,需要考虑边界框中心点的位置信息,所以一些重叠物体也可以回归出来。因此在重叠目标的检测中,DIOU_nms的效果优于传统的nms。

CIOU Loss的性能要比DIOU Loss好,那为什么不用CIOU_nms,而用DIOU_nms?

因为CIOU_loss,是在DIOU_loss的基础上,添加了一个的影响因子,包含groundtruth标注框的信息,在训练时用于回归。但是NMS在推理过程中,并不需要groundtruth的信息,所以CIOU NMS不可使用。

CIOU Loss 代码

def box_ciou(b1, b2):"""输入为:----------b1: tensor, shape=(batch, feat_w, feat_h, anchor_num, 4), xywhb2: tensor, shape=(batch, feat_w, feat_h, anchor_num, 4), xywh返回为:-------ciou: tensor, shape=(batch, feat_w, feat_h, anchor_num, 1)"""# 求出预测框左上角右下角b1_xy = b1[..., :2]b1_wh = b1[..., 2:4]b1_wh_half = b1_wh/2.b1_mins = b1_xy - b1_wh_halfb1_maxes = b1_xy + b1_wh_half# 求出真实框左上角右下角b2_xy = b2[..., :2]b2_wh = b2[..., 2:4]b2_wh_half = b2_wh/2.b2_mins = b2_xy - b2_wh_halfb2_maxes = b2_xy + b2_wh_half# 求真实框和预测框所有的iouintersect_mins = torch.max(b1_mins, b2_mins)intersect_maxes = torch.min(b1_maxes, b2_maxes)intersect_wh = torch.max(intersect_maxes - intersect_mins, torch.zeros_like(intersect_maxes))intersect_area = intersect_wh[..., 0] * intersect_wh[..., 1]b1_area = b1_wh[..., 0] * b1_wh[..., 1]b2_area = b2_wh[..., 0] * b2_wh[..., 1]union_area = b1_area + b2_area - intersect_areaiou = intersect_area / torch.clamp(union_area,min = 1e-6)# 计算中心的差距center_distance = torch.sum(torch.pow((b1_xy - b2_xy), 2), axis=-1)# 找到包裹两个框的最小框的左上角和右下角enclose_mins = torch.min(b1_mins, b2_mins)enclose_maxes = torch.max(b1_maxes, b2_maxes)enclose_wh = torch.max(enclose_maxes - enclose_mins, torch.zeros_like(intersect_maxes))# 计算对角线距离enclose_diagonal = torch.sum(torch.pow(enclose_wh,2), axis=-1)ciou = iou - 1.0 * (center_distance) / torch.clamp(enclose_diagonal,min = 1e-6)v = (4 / (math.pi ** 2)) * torch.pow((torch.atan(b1_wh[..., 0]/torch.clamp(b1_wh[..., 1],min = 1e-6)) - torch.atan(b2_wh[..., 0]/torch.clamp(b2_wh[..., 1],min = 1e-6))), 2)alpha = v / torch.clamp((1.0 - iou + v),min=1e-6)ciou = ciou - alpha * vreturn cioudef clip_by_tensor(t,t_min,t_max):t=t.float()result = (t >= t_min).float() * t + (t < t_min).float() * t_minresult = (result <= t_max).float() * result + (result > t_max).float() * t_maxreturn result

YOLOv5

yolov5没有发布论文,所以更加精细的内容,只能研究其代码,该代码仓库仍然保持高频率更新:https://github.com/ultralytics/yolov5

YOLOv5 ???? 是一系列在 COCO 数据集上预训练的对象检测架构和模型,代表 Ultralytics 对未来视觉 AI 方法的开源研究,结合了在数千小时的研究和开发中获得的经验教训和最佳实践。

网络模型结构

YOLOv5给出了四种版本的目标检测网络,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型。YOLOv5s是深度最浅,特征图的宽度最窄的网络,后面三种在此基础上不断加深,加宽。YOLOv5s的网络结构图如下所示:

YOLOv5s网络架构图

YOLOv5各部分改进

  • 输入端:Mosaic数据增强、自适应锚框计算

  • Backbone:Focus结构,CSP结构

  • Neck:FPN+PAN结构

  • Prediction:GIOU_Loss

Mosaic数据增强

YOLOV5会进行三种数据增强:缩放,色彩空间调整和马赛克增强。其中马赛克增强是通过将四张图像进行随机缩放、随机裁剪、随机分布方式进行拼接,小目标的检测效果得到提升。

自适应锚框计算

YOLO系列中,可以针对数据集设置初始的Anchor。在网络训练中,网络在Anchor的基础上输出预测框,进而和GT框进行比较,计算loss,在反向更新,迭代网络参数。在YOLOv3、4版本中,设置初始Anchor的大小都是通过单独的程序使用K-means算法得到,但是在YOLOv5中,将此功能嵌入到代码中,每次训练数据集之前,都会自动计算该数据集最合适的Anchor尺寸,该功能可以在代码中设置超参数进行关闭。

train.py中上面一行代码,设置成False,每次训练时,不会自动计算。

CSP BackBone-跨阶段局部网络

YOLOv4 和 YOLOv5 都使用 CSPDarknet作为BackBone,从输入图像中提取丰富的特征信息。CSPNet叫做Cross Stage Partial Network,跨阶段局部网络。其解决了其他大型卷积网络结构中的重复梯度问题,减少模型参数和FLOPS。这对 YOLO 有重要的意义,即保证了推理速度和准确率,又减小了模型尺寸。

YOLOv4只有主干网络中使用了CSP结构,而YOLOv5中设计了两种CSP结构,CSP1_X应用于BackBone主干网络,另一种CSP_2X结构则应用于Neck中。

Focus结构

Focus结构,在Yolov3&Yolov4中并没有这个结构,其中比较关键是切片操作。

比如上图的切片示意图,的图像切片后变成的特征图。

以Yolov5s的结构为例,原始的图像输入Focus结构,采用切片操作,先变成的特征图,再经过一次32个卷积核的卷积操作,最终变成的特征图。

需要注意的是:Yolov5s的Focus结构最后使用了32个卷积核,而其他三种结构,使用的卷积核数量有所增加。

作者原话:Focus() module is designed for FLOPS reduction and speed increase, not mAP increase.

作用:减少FLOPs,提高速度,对于模型的精度mAP没有提升。

Neck

Yolov5现在的Neck和Yolov4中一样,都采用FPN+PAN的结构,但在Yolov5刚出来时,只使用了FPN结构,后面才增加了PAN结构,此外网络中其他部分也进行了调整。

但如上面CSPNet结构中讲到,Yolov5和Yolov4的不同点在于,

Yolov4的Neck结构中,采用的都是普通的卷积操作。而Yolov5的Neck结构中,采用借鉴CSPnet设计的CSP2_X结构,加强网络特征融合的能力。

Bounding Box的损失函数

Yolov5中采用其中的GIOU_Loss做Bounding box的损失函数。而Yolov4中采用CIOU_Loss作为目标Bounding box的损失。

nms非极大值抑制

在目标检测的后处理过程中,针对很多目标框的筛选,通常需要nms操作。

因为CIOU_Loss中包含影响因子v,涉及groudtruth的信息,而测试推理时,是没有groundtruth的。

所以Yolov4在DIOU_Loss的基础上采用DIOU_nms的方式,而Yolov5中采用加权nms的方式。

采用DIOU_nms,对于遮挡问题,检出效果有所提升。

在回归框的损失函数和使用NMS删除冗余预选框上,YOLOv4使用的方法要比v5的方法更有优势。

参考链接

  1. https://www.yuque.com/darrenzhang/cv/tg215h

  2. http://arxiv.org/abs/2004.10934

  3. https://blog.csdn.net/nan355655600/article/details/106246625

  4. https://zhuanlan.zhihu.com/p/172121380

  5. https://www.zhihu.com/question/399884529

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

YOLO发展史(v4/v5的创新点汇总!)相关推荐

  1. 【Pytorch深度学习50篇】·······第五篇:【YOLO】【1】----- YOLO V3 V4 V5的模型结构

    第四篇,我们已经简单的过了一个segmentation网络,下面我们要进入一个相对要复杂一点的系列了,它也是用于目标检测的,与segmentation不同的是,这个网络会回归出目标的位置和大小.YOL ...

  2. anchor base和anchor free, 小物体检测, YOLO V1-3 9000 V4 V5 的区别,yolov5-8, yolox创新点

    文章目录 Anchor base和Anchor Free的区别: 如何增强模型对小物体的检测效果 Yolo基本思想 不同版本的Yolo网络差异 YOLO V1 YOLO V2 YOLO9000 YOL ...

  3. [YOLO] yolov3、yolov4、yolov5改进汇总

    yolov3网络结构图: Yolov3的三个基本组件: (1)CBL:Yolov3网络结构中的最小组件,由Conv+Bn+Leaky_relu激活函数三者组成. (2)Res unit:借鉴Resne ...

  4. Yolov3,v4,v5区别

    网络区别就不说了,ipad笔记记录了,这里只说其他的区别 1 输入区别 1.1 yolov3 没什么特别的数据增强方式 1.2 yolov4 Mosaic数据增强 Yolov4中使用的Mosaic是参 ...

  5. 深度学习_目标检测_YOLOv1,v2,v3,v4,v5,v6,v7全系列详解(持续更新)

    [Make YOLO Great Again]栏目专注于从更实战,更深刻的角度解析YOLOv1-v7这个CV领域举足轻重的算法系列,并给出其在业务侧,竞赛侧以及研究侧的延伸思考.欢迎大家一起交流学习

  6. 企业绿色创新转型-2002-2020工业企业科技创新指标汇总

    1.数据来源:国家统计局 2.时间跨度:2002-2020 3.时间频率:年度 4.区域范围:31个省市⾃治区 5.科技指标: 6.数据截图: Download Link:https://downlo ...

  7. 通俗易懂的YOLO系列(从V1到V5)模型解读!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 0 前言 本文目的是用尽量浅显易懂的语言让零基础小白能够理解什么是 ...

  8. 你一定从未看过如此通俗易懂的YOLO系列(从V1到V5)模型解读!

    ↑ 点击蓝字 关注极市平台 作者丨科技猛兽@知乎 来源丨https://zhuanlan.zhihu.com/p/183261974(上) https://zhuanlan.zhihu.com/p/1 ...

  9. 目标检测——YOLO系列算法(YOLOv4、YOLOv5)的学习笔记

    目录 1 前言 2 致谢 3 YOLO模型列表 4 模型结构 2.1 Backbone Focus--网格下采样 CSPDarknet53 2.3 Neck -- SPP & PAN SPP: ...

最新文章

  1. 全国省市区县数据库脚本
  2. linux 进程地址空间的一步步探究
  3. 神经网络那些事儿(二)
  4. 如何解压tar.xz文件
  5. Algorithm——1.排序.md
  6. centos更换网卡后怎么更新配置_CentOS安装
  7. CTF-web文件上传漏洞
  8. python爬取百度域名注册_python爬取百度域名_python爬取百度搜索結果url匯總
  9. ZZULIOJ 1064:加密字符
  10. TIOBE 11月编程语言排行榜: Haskell 要进前20了?
  11. Linux开机自动启动Tomcat
  12. Android SDK上手指南:用户交互
  13. linux文本编辑命令vim查找,Linux编辑器vi中文本搜索与替换操作
  14. 屏幕镜像显示无法连接服务器,苹果屏幕镜像连接失败原因
  15. 谷歌地图高精度模型提取3
  16. 修改tomcat默认端口号
  17. element-ui 日期选择器DateTimePicker 的日期和后台不匹配,无法绑定(日期中含有T,Z)
  18. 保密协议与竞业限制协议,在劳动法上有什么相关规定吗?
  19. 人工智能助力复工复产,模版OCR轻松搞定健康码识别
  20. 活动预告|CodeWisdom软件供应链系列学术报告:第4期(何昊 北京大学)

热门文章

  1. python 获取excel文件内sheet名称列表
  2. Nio 中的方法 - 文件上传
  3. 【大数据技术干货】阿里云伏羲(fuxi)调度器FuxiMaster功能简介(一) 多租户(QuotaGroup)管理...
  4. easyui datagrid 表格动态隐藏部分列的展示
  5. python 基础
  6. 数据库收缩:NOTRUNCATE与TRUNCATEONLY
  7. pipe 函数 (C语言)
  8. 敏捷(Agile)与精益(Lean)对比
  9. 为什么都说 Go 是大厂通行证!
  10. 这个算法网站,强推。