【深度学习】——常见深度学习模型总结、anchor-free和anchor-based

目录

1、faster rcnn:

2、SSD:

3、YOLOv1:

小结:

拓展:anchor-based和anchor-free

anchor


1、faster rcnn:

FasterRcnn 算法原理讲解笔记(非常详细)icon-default.png?t=L892https://blog.csdn.net/xjtdw/article/details/98945548

1)主要流程

将输入的图像按照短边设置为600后,等比例不失真缩放;

主干网络(VGG16、RESTNET)进行特征提取得到特征图38,38(下采样率为16);

特征图每个点生成九个anchor,共有38*38*9个anchors;

每个anchor等比例缩小16得到在特征图上的坐标,先将超出图像的anchor去掉,然后根据特征图可以得到每个anchor的得分(这个得分是二分类,前景or背景),根据得分筛选出12000个anchor,这里使用的分类网络为softmax+交叉熵损失;

NMS和得分再次筛选得到2000个anchor,这2000个就是建议框proposal;

2000个建议框再和标签框构建IOU矩阵,根据IOU来区分正负样本,然后选择3:1的正负样本数,总数256,这样就得到了256个roi;

将roi区域池化为7*7大小的区域,传输到全连接层,进行分类和回归(分类网络为softmax+交叉熵损失),回归损失使用的是smoothL1损失。

2)rpn和proposal以及roi层的区别

rpn是一个网络,主要作用是区域生成和对正样本的位置先进行调整,得到位置更加准确的建议框;proposal一般为2000个,是rpn网络的产物;roi是proposal和标签框构建iou矩阵后得到的区域;

3)为什么最后要池化为7*7

fasterrcnn原始使用的是VGG的全连接层,而全连接层是固定维度的,因此需要将维度编程适用于vgg

4)为什么小目标最后会消失

经过主干网络特征提取后,图像的下采样率为16,这样就导致了目标像素小于16的对象会被下采样过程中丢弃,同时后续使用的特征图是下采样后的,特征图中没有小目标的特征点存在,导致后续训练的网络并没有对小目标进行训练检测。

5)要注意什么?

fasterrcnn:尽量保证标签框在锚框的最大范围内,便于收敛;

是一个two stage模型,主要创新点在于RPN网络用于候选框的生成。首先利用先验知识对特征图上每一个点生成先验大小的9个ANCHOR框,然后第一阶段是训练RPN网络即生成候选区域,确定每一个框是否包含物体,这里主要是对固定的ANCHOR进行筛选和修正,将剩余的锚框作为候选区域;第二个阶段则是对候选区域进行分类和回归,确定物体的类别具体是什么,以此实现物体的检测

优点精度高

缺点:训练时间长,且anchor是在同一个特征图上得到的,不利于小目标物体的检测

注意:先验大小——指的是根据现有的目标的纵横比来进行锚框的设计,以此来使得候选区域尽可能地接近真实的物体的位置

2、SSD:

是一个one stage模型,主要创新点在于多尺度训练。SSD是从多个特征层上进行anchor的获取,然后直接将这些anchor框作为候选框进行物体类别的预测与位置的预测。这里还是采用了先验知识来指导anchor的生成,每个特征层每个点生成的anchor的个数不一样,主要为4个或者是6个,为了样本平衡,也会对样本进行筛选,使得正负样本1:3.

优点:速度快

缺点:精度不够

注意:先验大小——指的是根据现有的目标的纵横比来进行锚框的设计,以此来使得候选区域尽可能地接近真实的物体的位置

3、YOLOv1:

是一个one stage模型,主要创新点在于最后7*7*30的特征矩阵当中。YOLOV1是一个没有先验框的模型,它主要是将输入的图像分割成7*7大小的网格,然后每个网格生成2个预测框,最后每个网格含有30个信息值(2个预测框的x,y,h,w,c以及20个类别的条件概率)。

优点:速度比SSD快,是目前性能综合最高的了

小结:

以上三种模型都需要生成候选框,且训练数据都需要有标记的图像数据。不同的是前二者有先验框来指导候选框的生成,而YOLO没有;且rcnn系列是二阶段,后两者是一阶段。前两者可以看成是anchor_based,yolov1可以看成是anchor_free.

拓展:anchor-based和anchor-free

参考链接:https://www.zhihu.com/question/356551927/answer/926659692

目标检测算法一般可分为anchor-based、anchor-free、两者融合类,区别就在于有没有利用anchor提取候选目标框。

A. anchor-based类算法代表是fasterRCNN、SSD、YoloV2/V3等

B. anchor-free类算法代表是CornerNet、ExtremeNet、CenterNet、FCOS,yolov1等

anchor

(也被称为anchor box)是在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。在推理时生成的特征图上由这些anchor滑动提取n个候选矩形框再做进一步的分类和回归(详细叙述请参考提出anchor思想的fasterRCNN一文)。也就是传统目标检测算法中,在图像金字塔上使用的那个m*n的滑窗。只不过传统方法中特征图是不同尺度的,滑窗一般是固定大小的;而类似于fasterRCNN算法中特征图是固定的,anchor是多尺度的。

preview

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Anchor-basedAnchor-free是目标检测中两种不同的方法。 Anchor-based方法是指在图像中使用一组预定义的锚点(anchors),通过对这些锚点进行分类和回归来检测目标。这种方法通常使用卷积神经网络(CNN)来提取特征,并在每个锚点处预测目标的类别和位置。 Anchor-free方法则不需要使用预定义的锚点,而是直接在图像中预测目标的位置和大小。这种方法通常使用一些特殊的网络结构,如CornerNet和CenterNet,来实现目标检测。 两种方法各有优缺点,选择哪种方法取决于具体的应用场景和需求。 ### 回答2: anchor-basedanchor-free是两种目标检测算法的方法。 传统的目标检测算法中,anchor-based是一种常见的方法。它通过事先定义一组候选框(即anchors),并在图像中对这些候选框进行分类和回归。这些anchors通常根据目标的大小和长宽比进行选取。在训练过程中,候选框与真实目标框进行匹配,并计算分类和回归损失。通过这种方式,anchor-based可以有效地检测目标,并确定它们的位置。 相比之下,anchor-free是一种较新的目标检测算法方法。它不需要使用事先定义的候选框,而是直接在图像中无缝地检测目标。anchor-free方法通常通过将目标检测任务转化为像素级分类问题来实现。在训练过程中,模型会学习到每个像素点是否属于目标,并对目标的位置进行回归。由于不依赖于候选框,anchor-free方法可以更灵活地检测各种大小和形状的目标。 总的来说,anchor-based方法在目标检测中具有广泛的应用,并且在经典的目标检测算法中取得了很好的效果。而anchor-free方法则是一种相对较新的方法,具有更大的灵活性和对各种目标形状和大小的适应性。这些方法各有优势和劣势,选择哪种方法要根据具体的应用场景和需求来决定。 ### 回答3: anchor-basedanchor-free是一种用于目标检测的两种不同的方法。 首先,anchor-based方法是一种使用预定义的尺寸和比例的框架来检测目标的方法。这些框架通常称为锚点或锚框,它们在图像中按照一定的规律分布。然后,在每个锚点上,使用CNN(卷积神经网络)模型进行分类和回归,确定目标是否存在以及目标的准确位置。这些锚点作为参考点帮助模型更好地理解目标的不同尺度和形状,并提高目标检测的准确性。常见anchor-based方法包括Faster R-CNN、SSD和YOLO。 另一方面,anchor-free方法则不使用预定义的锚点来检测目标。相反,它们通过在整个图像中直接回归目标的位置和大小来进行目标检测。这些方法通常需要更加复杂和精细的网络设计,以提供对目标位置的准确预测。由于不需要预定义的锚点,anchor-free方法能够更好地适应任意大小和形状的目标。例如,CornerNet和CenterNet就是常见anchor-free方法。 总的来说,anchor-based方法将目标检测问题划分为锚点分类和回归问题,而anchor-free方法则通过直接回归目标位置和大小来解决目标检测问题。两种方法各有优劣,并根据不同的应用场景和需求选择合适的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值