单阶段目标检测-YoloV2

YoloV2

1. 动机

YOLOv2 和 YOLO9000重点解决YOLOv1召回率和定位精度方面的不足。YOLOv2 是一个先进的目标检测算法,比其它的检测器检测速度更快。除此之外,该网络可以适应多种尺寸的图片输入,并且能在检测精度和速度之间进行很好的权衡。相比于YOLOv1是利用全连接层直接预测Bounding Box的坐标,YOLOv2借鉴了Faster R-CNN的思想,引入Anchor机制。利用K-means聚类的方法在训练集中聚类计算出更好的Anchor模板,大大提高了算法的召回率。同时结合图像细粒度特征,将浅层特征与深层特征相连,有助于对小尺寸目标的检测。

YOLO9000 使用 WorldTree 来混合来自不同资源的训练数据,并使用联合优化技术同时在ImageNet和COCO数据集上进行训练,能够实时地检测超过9000种物体, YOLO9000 的主要检测网络还是YOLOv2。

2.方法概要

  • 加BN

  • 加Anchor
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VV2T24lq-1630292069147)(YoloV2%2030dff11a40024274ba7b5bf08159c1a5/Untitled.png)]

  • 具体来说,c_x,c_y是一个0-1的量,是grid的yo lo格式的坐标,然后\sigma(t_x), \sigma(t_y)是目标的bbox在yo lo格式下的中心距离grid中心的偏移量预测, \exp^{t_w}h和\exp_{t_h}就是一种伸缩度吧,把anchor伸缩一下。这里加sigmoid和Exp函数说是想让收敛的更好一点。
    在这里插入图片描述

  • kmeans聚类得到anchor:这一步没啥意思,就是想让训练过程中使用的base- anchor更符合物体的需求,不要像传统的anchor随便给。这个base给的好,训练时就容易收敛,即便将来测试集和训练集差的比较大,也能够通过这个基于统计得来的base- anchor给出一个说得过去的结果。具体方法如下:

    • 拿到GT标注和随机初始化的anchor们,然后去把GT的所有bbox和随机初始化的anchor们计算distance(distance=1-IOU(anchor们,GT们)),然后把每个GT分配到distance最近的那个anchor下,这样就把数据集中所有的物体给划分成几簇了,这个划分过程是类别无关的,划分完后,在每个簇下面,再次计算这堆bbox的whd的均值,这就是GT们最终要用的base- anchor的形状。
  • Fine Grained Feature: 细粒度特征,可理解为不同层之间的特征融合。YOLOv2通过添加一个Passthrough Layer,把高分辨率的浅层特征连接到低分辨率的深层特征(把特征堆积在不同Channel中)而后进行融合和检测。具体操作是:先获取前层的26×26的特征图,将其同最后输出的13×13的特征图进行(采样)连接,而后输入检测器进行检测(而在YOLOv1中网络的FC层起到了全局特征融合的作用),以此来提高对小目标的检测能力。
    在这里插入图片描述

3.细节或注意事项

没啥了,另外将YOLOv1网络的FC层和最后一个Pooling层去掉,使得最后的卷积层的输出可以有更高的分辨率特征。用的是1x1的conv和global avg pooling做的后面这块。

4. 评价

  • 看起来都是优点了哈,感觉没啥算法上可以改的点了,看后面YOlov3怎么编。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: rotation-yolov5 是一个基于YOLOv5的目标检测算法,它是围绕物体旋转检测而设计的算法。 在传统的目标检测算法中,通常只能检测物体的位置和类别信息,而对于物体的旋转角度等信息缺乏准确的检测。而 rotation-yolov5 算法通过引入旋转矩形框的概念,实现了对物体旋转角度的检测。 rotation-yolov5 的网络结构和YOLOv5类似,通过使用卷积神经网络提取图像特征,并通过多个不同分辨率的特征层来检测不同尺寸的物体。但是在检测过程中,rotation-yolov5 不仅仅预测物体的位置和类别,还预测物体的旋转角度。 rotation-yolov5 在训练阶段首先通过标注的旋转角度信息来生成旋转矩形框的真实标签,然后使用这些标签进行训练。在预测阶段,通过计算物体边界框的角度,可以得到旋转物体的旋转角度信息。 rotation-yolov5 的性能优于传统的目标检测算法,特别是对于需要准确检测物体旋转角度的应用场景,如自动驾驶中的行人检测、机器人的物体抓取等。通过引入旋转矩形框来描述旋转物体,rotation-yolov5 提供了一种可行的解决方案,使得目标检测算法在物体旋转角度的检测上取得了突破。 ### 回答2: rotation-yolov5是一种基于YOLOv5模型的目标检测算法。目标检测是计算机视觉中的重要任务之一,旨在识别图像中的目标并确定其位置。 rotation-yolov5通过在YOLOv5的基础上增加旋转物体的检测能力来改进目标检测。传统的目标检测算法主要侧重于检测横向或纵向的目标,对于旋转目标检测效果较差。而rotation-yolov5通过引入旋转目标的数据增强以及更改模型结构,提高了对旋转目标检测准确性和鲁棒性。 具体来说,rotation-yolov5通过对训练数据进行旋转增强,使模型在训练过程中接触到更多不同角度的旋转目标样本,从而增强了模型对旋转目标的理解和识别能力。此外,rotation-yolov5还通过修改模型的网络结构,增加了对旋转目标的感知能力,使模型能够更好地捕捉旋转目标的特征和形状。 rotation-yolov5在旋转目标检测方面取得了一定的突破,但仍然存在一些挑战。例如,对于极端角度的旋转目标,模型可能仍然存在一定的检测误差;对于密集目标检测,模型可能会出现漏检或误检的情况。因此,仍然需要进一步研究和改进算法,提高rotation-yolov5在旋转目标检测上的性能和鲁棒性。 总之,rotation-yolov5是一种基于YOLOv5的目标检测算法,通过增强模型对旋转目标的理解和感知能力,从而提高了对旋转目标检测准确性和鲁棒性。 ### 回答3: YOLOv5是一种基于旋转框的目标检测模型。旋转目标检测是相对于传统的水平矩形框而言的。旋转框可以更准确地描述旋转目标的形状,例如倾斜文字或倾斜交通标志等。在YOLOv5中,旋转目标检测实现主要依赖于三个关键步骤。 首先,YOLOv5通过使用anchor-based方法,针对旋转目标生成预测框。与传统的水平矩形anchor不同,旋转anchor由中心点、宽度、高度和旋转角度来定义。通过在训练集上学习旋转anchor的形状和尺寸,模型能够更好地适应旋转目标检测。 其次,为了准确地检测旋转目标YOLOv5在主干网络中引入了旋转卷积层。旋转卷积层可以对特征图进行旋转操作,从而更好地适应旋转目标的形状。通过在卷积层中添加旋转角度作为参数,可以学习到旋转目标在特征图中的表示。 最后,在损失函数中,YOLOv5采用了旋转iou损失来衡量预测框和真实框之间的重叠度。由于旋转目标的形状特殊,传统的iou计算方式无法准确地度量旋转框之间的重叠程度。因此,YOLOv5引入了旋转iou来解决这个问题,从而更好地优化模型的训练。 总结来说,YOLOv5通过引入旋转anchor、旋转卷积层和旋转iou损失,实现了旋转目标检测。这一技术在许多领域中都能够得到应用,例如自动驾驶、图像识别等。旋转目标检测的优势使得YOLOv5在旋转目标场景中具有更好的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值