精华内容
下载资源
问答
  • YOLOv4论文.pdf

    2020-07-23 17:23:32
    从2018年Yolov3年提出的两年后,在原作者声名放弃更新Yolo算法后,俄罗斯的Alexey大神扛起了Yolov4的大旗。 YOLOv4原版论文,介绍了YOLOv4算法最新的研究成果。YOLOv4性能远超YOLOv3。
  • YOLOv5论文笔记

    千次阅读 2021-11-11 21:39:02
    1、网络结构图

    1、网络结构图

    在这里插入图片描述

    (1)输入端 :Mosaic数据增强、自适应锚框计算、自适应图片缩放
    (2)Backbone :Focus结构,CSP结构
    (3)Neck :FPN+PAN结构
    (4)Prediction :GIOU_Loss

    (1)输入端

    Mosiac数据增强

    自适应锚框计算

    在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框。在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数。

    在Yolov3、Yolov4中,训练不同的数据集时,计算初始锚框的值是通过单独的程序运行的。

    但Yolov5中将此功能嵌入到代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值。

    当然,如果觉得计算的锚框效果不是很好,也可以在代码中将自动计算锚框功能关闭。

    自适应图片缩放

    在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。比如Yolo算法中常用416416,608608等尺寸,缩放后仍然会保持原来的长宽比,只是对缺少的部分用黑边或者灰边填充,使用letterbox函数。
    在这里插入图片描述
    作者认为,在项目实际使用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。

    因此在Yolov5的代码中datasets.py的letterbox函数中进行了修改,对原始图像自适应的添加最少的黑边。
    在这里插入图片描述

    注意,由于yolo网络经过5次下采样后,缩减为32倍,因为要保证图片尺寸为32的倍数。

    (2)backbone

    Focus结构

    在这里插入图片描述

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

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

    YOLOv5s在focus中最后使用32个卷积核,而剩下m,l,x逐渐增多。

    CSP结构

    在这里插入图片描述
    Yolov5与Yolov4不同点在于,Yolov4中只有主干网络使用了CSP结构。

    而Yolov5中设计了两种CSP 结构,以Yolov5s网络为例,CSP1_X 结构应用于Backbone主干网络,另一种CSP2_X结构则应用于Neck中

    (3)Neck

    Yolov5的Neck和Yolov4中一样,都采用FPN+PAN的结构。

    Yolov5和Yolov4的不同点在于,Yolov4的Neck结构中,采用的都是普通的卷积操作。而Yolov5的Neck结构中,采用借鉴CSPnet设计的CSP2结构,加强网络特征融合的能力。
    在这里插入图片描述

    (4)输出端

    ciou_loss

    diou_nms

    它对于一些遮挡重叠的目标 ,确实会有一些改进。

    2、YOLOv5的四种网络结构

    Yolov5代码中的四种网络,和之前的Yolov3,Yolov4中的cfg文件不同,都是以yaml的形式来呈现。
    (1)Yolov5s.yaml
    在这里插入图片描述
    (2)Yolov5m.yaml
    在这里插入图片描述
    (3)Yolov5l.yaml
    在这里插入图片描述
    (4)Yolov5x.yaml
    在这里插入图片描述
    而且四个文件的内容基本上都是一样的,只有最上方的depth_multiple和width_multiple两个参数不同,来进行控制网络的深度和宽度 。四种结构的yaml文件中,下方的网络架构代码都是一样的。

    (1)不同的网络深度

    在这里插入图片描述
    需要注意的是,四种网络结构中每个CSP结构的深度都是不同的。

    以yolov5s为例,第一个CSP1中,使用了1个残差组件,因此是CSP1_1。而在Yolov5m中,则增加了网络的深度,在第一个CSP1中,使用了2个残差组件,因此是CSP1_2。

    (2)如何利用代码控制深度

    控制四种网络结构的核心代码是yolo.py中下面的代码,存在两个变量,n和gd 。我们再将n和gd带入计算,看每种网络的变化结果。
    在这里插入图片描述
    下面是对该公式的说明:
    在这里插入图片描述
    以YOLOv5s为例,它的depth_multiple=0.33 ,即gd=0.33 ,而n则由上面红色框中的信息获得,是number那一列,分别是3,9, 9。

    代入公式的,gd=0.33,带入(2)中的计算代码,结果n=1。因此第一个CSP1结构内只有1个残差组件,即CSP1_1。

    第二个CSP1结构中,n等于第二个数值9,而gd=0.33,带入(2)中计算,结果n=3,因此第二个CSP1结构中有3个残差组件,即CSP1_3。

    (3)YOLOv5的网络宽度(即卷积核的个数,也即特征图的厚度)

    在这里插入图片描述
    如上图表格中所示,四种yolov5结构在不同阶段的卷积核的数量都是不一样的,因此也直接影响卷积后特征图的第三维度,即厚度 ,表示为网络的宽度

    以Yolov5s结构为例,第一个Focus结构中,最后卷积操作时,卷积核的数量是32个,因此经过Focus结构,特征图的大小变成30430432。

    (4)如何利用代码控制宽度

    在yolov5的代码中,控制宽度的核心代码是yolo.py文件里面的这一行:
    在这里插入图片描述
    它所调用的子函数make_divisible的功能是:
    在这里插入图片描述
    这里以YOLOv5s为例,
    在这里插入图片描述
    它的width_multiple=0.5 ,即gw=0.5

    以第一个卷积下采样为例,即Focus结构中下面的卷积操作。按照上面Backbone的信息,我们知道Focus中,标准的c2=64,而gw=0.5,代入(4)中的计算公式,最后的结果=32。即Yolov5s的Focus结构中,卷积下采样操作的卷积核数量为32个。再计算后面的第二个卷积下采样操作,标准c2的值=128,gw=0.5,代入(4)中公式,最后的结果=64,也是正确的。

    展开全文
  • TPH-YOLOv5 论文笔记

    2021-10-18 08:43:07
    TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios TPH-YOLOv5 2021 ICCV workshop 论文链接: https://arxiv.org/abs/2108.11539 一、 ...

    TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios

    TPH-YOLOv5 2021 ICCV workshop

    论文链接: https://arxiv.org/abs/2108.11539

    一、 Problem Statement

    利用和改进YOLOv5进行无人机目标识别。无人机目标识别通常有以下几个问题:

    1. 目标大小变化较大
    2. 运动模糊且目标密度大,目标覆盖重叠多
    3. 杂乱的地理元素,也就是目标的背景信息多

    二、 Direction

    基于YOLOv5,作者做了以下改进:

    1. 增加一个Prediction head。
    2. 使用Transformer encoder blocks替换一些convolutional blocks和CSP bottleneck blocks。
    3. 增加了CBAM block。
    4. Multi-scale testing 和 self-trained classifier。

    三、 Method

    先来看一下整体的网络框架:

    1. Prediction head for tiny objects

    对于小目标检测,作者添加了一个Prediction head,如上图的head 1。这样总共四个Prediction head可以减轻目标大小变化较大的影响。所添加的那个Prediction head的输入是low-level和high-resolution的特征图,对小目标比较敏感。尽管添加了一个prediction head会带来速度影响,但是精度却提高较多。

    2. Transformer encoder block

    用transformer encoder block 替换一些convolutional block和CSP bottleneck blocks。作者认为transformer encoder block可以捕获全局信息和充足的背景信息,而且高密度遮挡目标上的表现也更好。

    作者在prediction head上和backbone的末尾使用了transformer。因为网络的末端的特征图分辨率较小,可以降低计算和存储消耗。

    3. CBAM

    在无人机拍摄的图像上,大的覆盖区域总是包含令人困惑的地理元素。使用CBAM可以提取注意区域,帮助TPH-YOLOv5抵抗混乱的信息,并专注于有用的目标对象。

    4. Multi-scale testing and self-trained classifier

    作者发现TPH-YOLOv5有较好的定位能力,但是分类能力较弱。因此提出了一个额外的self-trained classifier。首先会通过裁剪ground-truth bounding boxes和resize到64x64来构建训练集。然后使用ResNet18,进行训练。

    每个模块对应的提升效果如下:

    四、 Conclusion

    对于改进YOLOv5提供了tricks,可以借鉴参考。

    Reference

    展开全文
  • YOLOV4论文全文翻译.pdf

    2020-08-02 10:08:03
    本文件为最新目标检测框架YOLOV4的论文翻译,详细介绍了YOLOV4结构组成及各种优化方法的实验对比,翻译比较完整准确表达了原文的内容,希望能够帮助到学习目标检测的朋友们,近期也会在博客中分享一些YOLOV4知识,感...
  • YOLOV3论文高清

    2018-04-24 14:29:24
    YOLOV3论文高清, YOLO目标识别领域最具潜力的深度学习算法
  • yolov3论文

    2018-10-14 19:05:51
    yolov3论文,详细的讲解了yolo的原理,值得一看!
  • yolo,yolov2和yolov3的论文原文,属于单阶段目标检测的代表性作品,对检测速度有很大提升,可以细细读一读
  • yolo论文(英文)

    2018-06-20 01:03:26
    yolo论文,学yolo必看++
  • YOLOv3论文全文完整理解翻译

    千次阅读 多人点赞 2019-05-22 17:29:28
    理所当然,我选择了这篇简短的YOLOv3。不得不说翻译这篇文章是一件很愉快的事,因为作者的确是很可爱。前后花了一天多的时间吧,毕竟水平有限,借助了谷歌翻译,也参考了别人的翻译,为了保证其中专有名词翻译的精准...

    前言


        由于毕业需要翻译一篇英文文献。理所当然,我选择了这篇简短的YOLOv3。不得不说翻译这篇文章是一件很愉快的事,因为作者的确是很可爱。前后花了一天多的时间吧,毕竟水平有限,借助了谷歌翻译,也参考了别人的翻译,为了保证其中专有名词翻译的精准,也查了很多资料。其中加入了不少自己的理解,但是理解水平非常有限,现挂在这里,大家一起来找问题吧,如果发现问题,欢迎在下方留言讨论,看到必回复。看YOLO3前建议先看看YOLO2和YOLO1,推荐一个翻译的很好的资源


                                     YOLOv3:一个渐进式的升级

                                                                             约瑟夫·雷德蒙,阿里·法哈迪

                                                                                           华盛顿大学

     

                                                                      摘要

            我们在YOLO上又做出了一些更新!实现了许多可以提升系统性能的小设计,也训练了一个非常棒的新网络。虽然新网络较上一版稍显庞大,但精度也提高了不少。不过,你也不用担心,因为它依旧很快。YOLOv3能在22毫秒内处理完一张320×320的输入图片,并取得28.2mAP的成绩。精度逼近SSD321,但速度却较其快了3倍。对比旧的两个版本,YOLOv3在0.5IOU的检测标准下的表现要优秀很多。另外,与RetinaNet精度57.5 AP50,Titan X上用时198ms的表现相比,YOLOv3精度57.9 AP50,用时却只有51ms。换言之,相近的性能而YOLOv3却要快3.8倍。和往常一样,所有的代码都开源在:https://pjreddie.com/yolo/.

    1.引言

            有时候,一年的时间会因为一些“琐事”而消耗殆尽,你有这种感受吧?所以,去年我没做什么研究,而是花了不少时间Twitter上,也玩了一把GANs。然后利用去年仅存的一点精力[1][12],我对YOLO做了点改进。但是,老实说,这并不是什么大手笔,这只是一些可以让YOLO变得更好小更新,另外,我还帮别人做了一点研究。

            事实上,那是我们来这里的原因。我们的文章快交稿了[4],文中引用了我在YOLO中做出的某些更新的内容,但这样的引用来源还不存在,所以就先写个技术报告吧!

            技术报告有个好处,就是它不需要长长 “引言”,我想此时,你们都知道我们为什么要写这个。读到引言的结尾,我相信你们会对文章的结构有所了解。首先我们会向你介绍YOLOv3的更新情况,然后我们会向你们展示我们做的怎么样,然后我们会告诉你们一些失败的尝试,最后我们要说说这次更新到底意味着什么。

                    

    1 我们改编了Focal Loss论文[9]中的数据,绘制了此图。从图中可见,在性能相近时,Yolov3的运行速度明显快于其他检测模型。所有模型都是运行在M40Titanx上,它们是非常相近的GPU

    2.更新

            所以这里就是YOLOv3的更新情况:我们几乎是从其他人那里获得更新的点子。当然我们也训练了一个比其他网络更好的新分类网络。我们将从头向你介绍,期望你能够得到完整的理解。

    2.1边界框预测

            同YOLO9000一样,YOLOv3也使用数据集上边框聚类的结果来作为先验边框[15]。网络会为每个边界框预测4个坐标:tx、ty、tw和th。如果目标中心的所在网格与图像左上角的偏移是(cx, cy),并且它对应的先验边界框的宽和高为pw、ph,那么预测值将会由以下式子给出:

                                                                                    

     

            在训练期间,我们使用误差平方和损失函数。如果预测坐标的所对应的标注值是 ,那么我们的梯度就是标注值(通过标注框算出)和预测值的差:。标注值可以通过以上式子的逆用而轻易算出。

                                                            

    2。带有维度先验和位置预测的边界框。我们预测边框的宽度和高度作为聚类中心的偏移量。我们使用sigmoid函数预测边框相对于滤波器应用位置的中心坐标。这个图明显是从[15]自我抄袭而来的

            YOLOv3通过逻辑回归预测每个边界框的目标分数。如果当前预测的先验边框与标注边框的重合度比之前所有的预测先验边框都要高,那么它的分数就是1。如果当前的边框先验不是最好的,但是它和标注边框对象的重合度超过了设定阈值,与[17]一样,我们将舍弃这个预测。我们使用0.5作为阈值。但与[17]不同的是,YOLOv3只为每个标注对象分配一个先验边框。如果一个先验边框没有分配给一个标注对象,它不会对坐标或者类别的预测带来损失,只会影响目标的置信度。

    2.2分类预测

            每个框都会使用多标签分类来预测边框中可能包含的类。我们不再使用softmax,因为我们发现它无助于提升模型的性能,取而代之的是单独的逻辑分类器。在训练过程中,我们用二元交叉熵损失来评价类别预测。

            当我们把YOLOv3用在更复杂的数据集时,比如Open Images数据集[7],上述操作就会有很大的帮助。Open Images中包含了大量重叠的标签(如女性和人),如果使用softmax,它会强加一个假设,即每个框只有一个类别,然而事实常常不是如此。相比之下,多标签分类方法能更好地拟合这些数据。

    2.3多尺度预测

            YOLOv3在3中不同尺度上进行预测。我们的系统使用与FPN[8]相似的概念从这些不同尺寸的特征图中提取特征。我们在基础特征提取器中添加了几个卷积层。最后输出一个三维张量来编码边界框、目标置信度和类别预测。在COCO[10]数据集实验中,我们的模型为每种尺度的特征图各预测3个边框,所以得到的张量是N ×N ×[3∗(4+ 1+ 80)],其中包含4个边界框偏移值、1个目标预测置信度以及80种类别的预测概率。

            然后,我们从最低两个尺度(8×8和16×16)的卷积块中的倒数第二个个卷积层得到两种尺度的特征图,并对它们分别进行2倍上采样。再分别从比这两个卷积块更早的卷积块(16×16和32×32)输出中获得两种尺度的特征图,然后分别把两种尺度的高低两种分辨率的特征图级联起来。采用这种方式,能使我们从上采样的特征获得更多的语义信息,也能从较低层特征图中获得细粒度信息。然后,我们添加了一些卷积层来处理这两种(16×16和32×32)组合特征图,并最终预测出一个大小是原先(8×8×[3∗(4+ 1+ 80)]和16×16×[3∗(4+ 1+ 80)])两倍的相似张量。

             我们再次使用同样的设计来预测最后一种尺度(8×8)上的边框。因此,我们在第三种尺度的特征图上的预测将集成在网络之前所有的计算和低层的细粒度特征。

            YOLOv3依旧使用K-Means聚类方法来确定先验边框。在实验中,我们选择了9种先验边框和3种尺寸特征图,然后将9种先验边框均匀分给3种尺寸的特征图。在COCO数据集上,这9个聚类先验框尺寸分别是:(10×13)、(16×30)、(33×23)、(30×61)、(62×45)、(59×119)、(116 × 90)、(156 × 198)、(373 × 326)。

    2.4特征提取器

            我们使用了一个新网络来实现特征提取。我们的新网络融合了YOLOv2、Darknet-19和残差网络。我们的网络使用了连续的3×3和1×1卷积层,也使用了一些残差块。它明显变得大了许多,它共有53个卷积层,所以我们可以叫它……叫它…… 叫它Darknet-53!

                                                     

                                                                                            表1 darknet-53

            我们的网络在性能上远超Darknet-19,在效率上也优于ResNet-101ResNet-152。这里是一些网络在ImageNet上的实验结果:

                                        

                                         表2网络的比较。每种网络的准确率,数十亿次操作,每秒十亿次浮点运算和FPS

             每个网络都在相同的配置下进行训练,均用256 ×256的图片进行测试,得到单尺寸大小图片的测试精度。运行时间通过在Titan X上处理256 × 256图片测出。所以,Darknet-53不仅精度可以媲美最先进的分类器,而且它有较少浮点运算操作,更快的速度。Darknet-53比ResNet-101性能更好而且要快1.5倍。Darknet-53性能与ResNet-152相近,但是要比它快2倍。

            Darknet-53每秒浮点运算次数也是最高的。这说明我们的网络结构能够更好地利用GPU,使其预测效率更高,速度更快。ResNets更慢,大抵是因为其层数太多,所以不是那么有效率。

    2.5训练

            我们依旧只是训练完整的图像,没有将难以正确分类的样本反复训练,也没有进行其他任何操作。我们所用的多尺度训练、大量数据增强和批标准化等操作也均符合标准。我们在darknet框架下进行训练和测试[14]。

    3.我们做的怎么样

            YOLOv3真的是棒极了!看看表3,对于COCO数据集那些奇怪的mAP评价指标,YOLOv3的表现与DSSD相当,却要快3倍。但不得不承认,它仍然比像RetinaNet这样的模型要落后许多。

            但是,当我们用以前的评价指标,即IOU=0.5时的mAp(表中的AP50)来评价YOLOv3时,我们发现它是真的强。它几乎可与RetinaNet比肩,且远高于DSSD。这表明YOLOv3是一个非常强大的检测器,擅长为目标生成合适的边框。但是,随着IOU阈值的增加,YOLOv3性能显著下降,这表明YOLOv3在努力的使盒子与物体完美对齐。

    3.我真的只是从[9]中窃取了所有这些表,他们花了很长很长很长时间来做这些。 好吧,YOLOv3干的不错。请记住,RetinaNet处理一张图像的时间是YOLOv33.8倍。 YOLOv3SSD要好得多,并且在AP50标准下可以与最先进的模型媲美!

           

    3.再次从[9]改编,这次展示0.5 IOU mAP时的速度/准确度的比较。 你可以说YOLOv3很好,因为它非常高而且在左边很远。 你能引用自己的当前文章么?猜猜谁会去尝试,噢,是这家伙![16] 哦,还忘了一件事,我们修复了YOLOv2中在数据加载中的一个漏洞,这好像使模型提高了2 mAP 只是在这里偷偷提一下,这不是重点。

            在过去,YOLO一直在和小物体检测较劲。但是,现在我们可能要改变工作的重心。因为虽然通过新的多尺度预测,YOLOv3已具有相对较高的AP性能。 但是,它在中型和大型物体检测上的性能还相对较差。这可能需要更多的调研和实验才能知道如何去改进这一点。

            当我们基于AP50指标绘制精度与速度的关系时(参见图3)我们看到YOLOv3比起其他检测系统具有显着的优势。也就是说,它更快更好。

    4.失败的尝试

            我们在实现YOLOv3的过程中尝试了很多东西,但是很多都失败了,以下是我们还记得的一些失败的尝试。

            “锚盒”x,y偏移预测。我们尝试使用常见的“锚盒”机制,通过使用线性激活将x,y的偏移预测为边框宽度或高度的倍数。但我们发现这种做法降低了模型的稳定性而且效果不佳。

            线性x,y预测而不是逻辑预测。我们尝试使用线性激活来直接预测x,y的偏移,而不是使用逻辑激活。这降低了mAP成绩。

            focal loss。我们尝试使用focal loss,但它大概吃掉了我们2个点的mAP。 这可能是因为具有单独的对象预测和条件类别预测的YOLOv3对于focal loss试图解决的问题已经具有相当的鲁棒性。是对于大多数例子,类别预测没有损失?还是其他什么原因?我们并不完全确定。

            双IOU阈值和真值分配。在训练期间,Faster- R-CNN用了两个IOU阈值,如果预测的边框与标注边框的重合度不低于0.7,那判定它为正样本。如果在0.3-0.7之间,则忽略。如果低于0.3,就判定它为负样本。我们也尝试了这种方法,但最终的效果并不好。

            我们非常喜爱我们现在的模型,它至少已经是目前的最佳状态。上述的有些技术可能会使我们的模型更好,但我们可能还需要对他们做一些调整。

    5.更新的意义

            YOLOv3是一个很棒的检测器,它由准又快。虽然它在COCO数据集上,0.3和0.95IOU下的平均AP并不好,但在旧的0.5 IOU的检测指标下,它还是非常不错的。

            那我们改变指标干嘛?最初的COCO论文里也只有这样一句模棱两可的话:评估完成,就会生成完整的评估结果。但是Russakovsky等曾经指出,人类很难区分0.3与0.5的IOU的边框!“训练人类用肉眼区分0.3和0.5IOU的边框是一件超级难的事”[18]。既然人类都难以分辨,那这个指标有多重要?

             也许有个更好的问题值得我们探讨“我们用它来干什么”许多从事这项研究的人都在Google和Facebook,我想至少我们知道这个技术是掌握在好人手里,绝对不会把它用来收集你的个人信息然后卖给……等等,你究竟想用它来干嘛!!噢。

            另外军方也在计算机视觉研究上投入了大量资金,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人……噢,等等

            我非常希望大多数使用计算机视觉技术的人,只是用它来做着快乐的、幸福的事情,比如数数国家公园里斑马的数量[13],  或者追踪在他们家里游荡的猫[19]。但是现在计算机视觉技术被用到一些可疑的地方。作为研究人员,我们至少有责任思考自己的工作可能的危害,并考虑如何减轻。我们欠这个世界太多太多。

            最后,不要@我,我已逃离Twitter。

     

    参考文献

    1. Analogy. Wikipedia, Mar 2018. 1
    2. M. Everingham, L. Van Gool, C. K. Williams, J. Winn, andA.   Zisserman. The pascal visual object classes (voc) chal-lenge. International journal of computer vision, 88(2):303–338, 2010. 6
    3. C.-Y. Fu, W. Liu, A. Ranga, A. Tyagi, and A. C. Berg. Dssd: Deconvolutional single shot detector. arXiv preprint arXiv:1701.06659, 2017. 3
    4. D. Gordon, A. Kembhavi, M. Rastegari, J. Redmon, D. Fox, and A. Farhadi. Iqa: Visual question answering in interactive environments. arXiv preprint arXiv:1712.03316, 2017. 1
    5. K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learn-ing for image recognition. In Proceedings of the IEEE con-ference on computer vision and pattern recognition, pages 770–778, 2016. 3
    6. J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara,A.     Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, et al. Speed/accuracy trade-offs for modern convolutional object detectors. 3
    7. Krasin, T. Duerig, N. Alldrin, V. Ferrari, S. Abu-El-Haija,A.     Kuznetsova, H. Rom, J. Uijlings, S. Popov, A. Veit, S. Belongie, V. Gomes, A. Gupta, C. Sun, G. Chechik, D. Cai, Z. Feng, D. Narayanan, and K. Murphy. Open-images: A public dataset for large-scale multi-label and multi-class image classification. Dataset available from https://github.com/openimages, 2017. 2
    8. T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, andS.Belongie. Feature pyramid networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2117–2125, 2017. 2, 3
    9. T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Doll´ar. Focal loss for dense object detection. arXiv preprint arXiv:1708.02002, 2017. 1, 3, 4
    10. T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ra-manan, P. Doll´ar, and C. L. Zitnick. Microsoft coco: Com-mon objects in context. In European conference on computer vision, pages 740–755. Springer, 2014. 2
    11. W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y.Fu, and A. C. Berg. Ssd: Single shot multibox detector. In European conference on computer vision, pages 21–37. Springer, 2016. 3
    12. Newton. Philosophiae naturalis principia mathematica. William Dawson & Sons Ltd., London, 1687. 1
    13. J. Parham, J. Crall, C. Stewart, T. Berger-Wolf, and D. Rubenstein. Animal population censusing at scale with citizen science and photographic identification. 2017. 4
    14. J. Redmon. Darknet: Open source neural networks in c. http://pjreddie.com/darknet/, 2013–2016. 3
    15. J. Redmon and A. Farhadi. Yolo9000: Better, faster, stronger. In Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on, pages 6517–6525. IEEE, 2017. 1, 2, 3
    16. J. Redmon and A. Farhadi. Yolov3: An incremental improve-ment. arXiv, 2018. 4
    17. S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: To-wards real-time object detection with region proposal net-works. arXiv preprint arXiv:1506.01497, 2015. 2
    18. Russakovsky, L.-J. Li, and L. Fei-Fei. Best of both worlds: human-machine collaboration for object annotation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2121–2131, 2015. 4
    19. M. Scott. Smart camera gimbal bot scanlime:027, Dec 2017. 4
    20. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Be-yond skip connections: Top-down modulation for object de-tection. arXiv preprint arXiv:1612.06851, 2016. 3
    21. C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017. 3

    参考:


    http://www.cnblogs.com/nowgood/p/Hardexamplemining.html

    https://www.cnblogs.com/skyfsm/p/8453498.html

    https://zhuanlan.zhihu.com/p/35023499

    https://github.com/SnailTyan/deep-learning-papers-translation

    https://blog.csdn.net/weixin_42273095/article/details/81699352

    展开全文
  • 深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios及其PyTorch实现 TPH-YOLOv5: Improved YOLOv5 Based on Transformer ...

    深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios及其PyTorch实现
    TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios
    PDF: https://arxiv.org/pdf/2108.11539.pdf

    1 概述

    传统的目标检测算法应用到无人机目标检测场景中,通常会遇到三个问题:
    a. 由于无人机飞行高度变化,目标尺度变化较大。
    b. 俯拍场景通常包含密集的目标,目标间会存在遮挡。
    c. 俯拍场景较大导致混淆地理元素。

    2 TPH-YOLOv5

    2-1 数据增强策略以及工作流

    在这里插入图片描述
    基于yolov5的改进策略

    • 增加了一个预测头来处理目标的大尺度方差;
    • 将Transformer Prediction Heads (TPH)集成到YOLOv5中,可以在高密度场景中准确定位目标;
    • 将CBAM集成到YOLOv5中,帮助网络在区域覆盖范围大的图像中找到感兴趣的区域;
    • 提供有用的Tricks,并过滤一些无用的Trick,用于无人机捕获场景的目标检测任务;
    • 使用self-trained classifier来提高对一些容易混淆的类别的分类能力。

    2-2 网络结构

    在这里插入图片描述

    2-2-1 Prediction head for tiny objects

    VisDrone2021数据集包含了很多非常小的目标,因此增加一个用于微小物体检测的预测头。
    增加检测头后,虽然增加了计算和存储成本,但对微小物体的检测性能得到了很大的提高。

    2-2-2 Transformer encoder block

    在这里插入图片描述

    • 用Transformer encoder块替换了YOLOv5原版中的一些卷积块和CSP bottleneck blocks。
    • 与CSPDarknet53中原有的bottleneck blocks相比,Transformer encoder block可以捕获全局信息和丰富的上下文信息。
    • 只在head部和backbone顶端应用Transformer encoder block形成transformer Prediction head(TPH)。

    2-2-3 CBAM

    在这里插入图片描述

    2-2-4 Self-trained classifier

    提出了一个Self-trained classifier用于易混淆样本的分类。通过裁剪ground-truth边界框并将每个图像patch的大小调整为64 x 64来构建训练集。

    3 实验结果

    极小目标过滤
    针对resize后,小于3个像素的目标,在训练过程中,使用gray squares可以提升约0.2mAP
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 深度学习经典论文(十一)YOLOv5

    千次阅读 2021-04-21 16:59:20
    注:借鉴整理,仅供自学,侵删 YOLOv5学习总结(持续更新)
  • 点击蓝字关注我们扫码关注我们公众号: 计算机视觉战队扫码回复:YoloV4,获取下载链接期待已久的检测经典又来来了一波强袭——yolov5。其实yolov5没有完整的文件,现在最重要的...
  • 本人自己做的ppt,里面内容是自己对YOLOV1的个人理解,及重要代码讲解,讲的不好请多多包涵
  • 显卡版本:RTX3090 训练阶段具体细节 使用yolo5x预训练好权重,然后在此基础上用TPH-YOLOv5训练 由于VisDrone数据集比较小,因此只训练65个eopch,前2个用来warm-up 使用 adam optimizer,初始余弦学习率为3e-4 ...
  • YoloV5-ncnn-Raspberry-Pi-4 带有ncnn框架的YoloV5论文: : 专为裸露的Raspberry Pi 4制作,请参阅 基准。 模型 杰特逊纳米2015 MHz RPi 4 64-OS 1950兆赫 YoloV2(416x416) 10.1帧/秒 3.0帧/秒 YoloV3...
  • 使用yolov5训练口罩检测使用的训练集,已经清洗过,可直接下载使用
  • YOLOv5初探

    千次阅读 2021-03-04 18:31:19
    CSDN博主在YOLOv5超详细的入门级教程系列里面讲的很详细,包括所用数据集的格式介绍,如何制作自己的数据集制作自己的PASCAL VOC2007格式的数据集,如何配置,如何训练。在此总结一下步骤: 我的目录结构如下 里面...
  • 使用模型修剪方法获得紧凑模型,即基于YOLOv5的Pruned-YOLOv5。 注意: 1.该项目基于 。 首先将其安装。 然后,使用此处提供的模型配置文件( coco_yolov5l.yaml )和网络模块定义文件( common.py )替换原始的...
  • YOLOv4论文详解

    2020-10-25 11:50:37
    在Redmon宣布退出CV界后,YOLO算法的大棒由中国台湾的学者接力,并在今年推出了YOLOv4算法。...对于GPU,综合考虑了网络输入的分辨率、卷积层数、参数量和卷积输出通道数等,论文选择的是Darknet53的改进版CSPDark
  • Yolov4论文阅读

    2020-07-14 00:32:55
    论文地址:https://arxiv.org/pdf/2004.10934.pdf yolov4和yolov5两个模型相继在四五月份...然而yolov5在很大程度上只是从工程上对yolov4进行了优化,也没有相应的论文,所以把yolov4的论文仔细阅读了一下,发现文章
  • YOLOv4论文翻译及总结

    2020-12-21 19:11:46
    YOLOv4资源链接: 论文:https://arxiv.org/abs/2004.10934 代码:python代码:https://github.com/Tianxiaomo/pytorch-YOLOv4 c++代码:https://github.com/AlexeyAB/darknet python版本的Tensorrt代码: ...
  • 深入浅出Yolo系列之Yolov5核心基础知识完整讲解 作者 | 江大白 转自: https://zhuanlan.zhihu.com/p/172121380 对Yolov4的相关基础知识做了比较系统的梳理,但Yolov4后不久,又出现了Yolov5,虽然作者没有放上...
  • YOLOv4论文中文翻译

    千次阅读 多人点赞 2020-04-25 23:41:26
    目前官方放出的cfg配置文件和权重文件的结构是CSPDarknet53+PAnet-SPP+YOLOv3head,下面是根据权重文件可视化的网络结构图:
  • YOLOv4论文笔记详解

    千次阅读 2020-05-02 20:31:16
    YOLOv4论文笔记 论文地址:YOLOv4: Optimal Speed and Accuracy of Object Detection (Optimal :最优的) Github上面已经有了一些代码: YOLOv4 的 TensorFlow 2.0 实现:...
  • Scaled Yolov4论文解读

    2021-01-17 10:03:52
    Scaled Yolov4 一、简介 本文提出了一种通过修改网络的深度,宽度,分辨率和网络结构的网络缩放方法。YOLOv4-large模型达到了当前state-of-the-art结果,在MS COCO 数据集上,Tesla V100上实现了55.4%AP(73.3%AP50...
  • YOLOv5实战垃圾分类目标检测

    千人学习 2021-06-13 23:16:02
    具体项目过程包括:数据集及格式转换、探索性数据分析(EDA)、安装软件环境、安装YOLOv5、修改YOLOv5代码(为支持中文标签)、训练集和测试集自动划分、修改配置文件、准备Weights&Biases训练可视化工具、训练...
  • YOLOv5实战口罩佩戴检测

    千人学习 2021-05-17 23:28:26
    人脸口罩佩戴检测(识别)是当前急需的应用,而YOLOv5是目前流行的强悍的目标检测技术。本课程使用YOLOv5实现人脸口罩佩戴的实时检测。课程提供超万张已标注人脸口罩数据集。训练后的YOLOv5可对真实场景下人脸口罩佩戴...
  • yolov1论文理解与学习

    千次阅读 2018-06-28 11:46:54
    个人理解:yolov2相对于yolov1更改很多,但可以通过查看yolov1论文进行对yolo框架的了解,再过渡到yolov2 YOLO出自2016CVPR You Only Look Once:Unified,Real-Time Object Detection 是个值得学习的深度学习框架。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,283
精华内容 2,913
关键字:

yolov5论文