首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

目标检测算法之RetinaNet(引入Focal Loss)

论文地址为:https://arxiv.org/pdf/1708.02002.pdf 研究背景 前面我们介绍了一些One-Stage目标检测算法和Two-Stage目标检测算法,这些算法在精度和速度上都各有特点...为什么One-Stage检测算法精度偏低? 论文认为One-Stage算法准确度低是由于类别失衡引起的。...这就导致分类器训练失败了,自然检测精度就偏低了。...但它们虽然可以处理第1个问题,但对于第2个问题就无能为了,这也是Focal Loss出现的原因。 Faster-RCNN为什么精度更高?...为了解决正负样本数量不平衡的问题,我们经常在交叉熵损失前面加一个参数,即: ? 虽然平衡了正负样本的数量,但实际上,目标检测中大量的候选目标都是易分样本。

2.3K10

用 TensorFlow 目标检测 API 发现皮卡丘!

数月之后,我开始着手优化我之前训练的检测皮卡丘的模型,目的是直接使用 Python、OpenCV、以及 TensorFlow 来检测视频中的目标。源代码可以从我的 GitHub 中获取。...下面两幅图表显示了总体的损失和精度 (从 TensorBoard 中获得);很明显,从 15000 次到 20000 次没有太多改变(特别是在损失方面)。 ? 损失 ?...从视频中检测 从视频中进行目标检测并不像听到的那么困难或奇特。从外行角度,我们可以讲视频是一组按顺序排列的图像,所以从视频中进行目标检测和在正常图像中进行检测是非常相似的。为什么非常相似?...对于这个项目,我设置的置信度阈值非常低,20%,因为我发现检测误报数很低,所以决定冒性能的风险来检测到更多的皮卡丘。...一个明显的例子是在 0:13 的时候,两个皮卡丘在互相拍打 (悲伤的场景 :(,我知道)。 总结与回顾 在这篇文章中,我介绍了如何使用 TensorFlow 目标检测库在视频中检测皮卡丘。

81750
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Training Region-based Object Detectors with Online Hard Example Mining

    摘要在基于区域的卷积神经网络的浪潮中,目标检测领域已经取得了显著的进展,但是它们的训练过程仍然包含许多尝试和超参数,这些参数的调优代价很高。...最近的基于目标建议的检测器的趋势在一定程度上缓解了这个问题,但是不平衡比率可能仍然很高(例如,70:1)。...损失层可以计算所有RoI的损失,根据损失对它们进行排序,选择难RoI,最后将所有非难RoI的损失设置为0。...虽然很简单,但是这种实现效率很低,因为RoI网络仍然为所有RoI分配内存并执行向后传递,即使大多数RoI的损失为0,因此没有梯度更新(当前深度学习黑盒子的一个限制)。...图3显示了VGG16在各种超参数设置下的平均每RoI损失,如表1所示。我们发现bg_lo =0导致的训练损失最高,而使用启发式bg_lo =0.1则导致的训练损失要低得多。

    1.2K20

    DeepSeek引领目标检测新趋势:如何通过知识蒸馏优化模型性能

    DeepSeek团队通过创新的知识蒸馏技术,成功将DeepSeek-R1的推理能力迁移到更轻量的Qwen系列模型上,为模型的轻量化部署提供了重要参考。...在目标检测任务中,这种技术尤其重要,因为目标检测通常需要在精度和速度之间找到平衡。...α,β:权重系数(通常α+β=1)就像学生通过模仿老师的思路来掌握知识一样,学生模型虽然资源有限,但通过模仿强大的教师模型,仍然能在精度和推理速度上做出出色表现。...为实现知识蒸馏在目标检测中的应用,使用基于响应的蒸馏(Response-based Distillation),也叫做“软标签蒸馏”。...能耗:YOLOv8的能耗为25W,对于边缘设备或移动设备而言,仍然偏高。因此,优化能耗成为了进一步提升YOLOv8适用性的关键。针对上述挑战,蒸馏技术提供了有效的解决方案。

    9910

    Focal Loss for Dense Object Detection(文献阅读)

    动机 尽管两阶段检测器取得了成功,那么问题就是:一个简单的单阶段能达到类似的精度吗?单阶段应用于目标位置、尺度和纵横比的常规、密集采样。...虽然也可以使用类似的抽样启发法,但是效率很低,因为训练过程仍然很容易的分类成背景类。...实验表明,焦损失使能够训练一个高精度的单阶段检测器,该检测器的性能显著优于使用采样启发式或硬示例挖掘,以前最先进的单级检测器训练技术。...每个锚点都有一个长度为K的分类目标的一个hot向量,其中K为对象类的数量,一个box regression目标的4个向量。我们使用了来自RPN的赋值规则,但修改了多类检测和调整阈值。...由于每个锚点最多分配给一个对象框,我们将其长度K label向量中的对应条目设置为1,所有其他条目设置为0。如果一个锚没有被分配,这可能发生在重叠的[0.4,0.5],它在训练期间被忽略。

    1.6K20

    AAAI 2021中的目标检测(详细版with code)

    参考框:(0,0,10,25,-90度), 真实框(0,0,25,10,-1度), 预测框(0,0,10,25,-89度) 此时,L1 loss 远大于 0。...现在流行的旋转检测方法通常使用五个参数(中心点坐标xy,宽度,高度和旋转角度)来描述旋转的边界框,并将l1损失描述为损失函数。...但在实际设置中,对于大宽高比,密集分布和类别不平衡的旋转目标检测仍然存在困难。 提出了一种快速,准确且端到端的的旋转目标检测器。...1、带旋转目标检测功能的RetinaNet 先用FPN,得到丰富的高分辨率的特征图。 目标分类子网和目框回归子网虽然结构一样,但使用单独的参数。...RetinaNet提出了Focal Loss来解决类别不平衡引起的问题,大大的提高了单级目标检测器的精度。 x,y,w,h, θ中, θ表示高w对x的锐角角度, θ在负二分之派(-90度)到0之间。

    1.6K10

    目标检测新视野 | YOLO、SSD与Faster R-CNN三大目标检测模型深度对比分析

    近年来,以深度学习为基础的目标检测算法取得了显著进展,其中YOLO、SSD和Faster R-CNN是最具代表性的三种方法。...虽然它的精度比YOLO稍高,但在处理复杂背景和小物体时,仍然可能存在一定的精度损失。...尽管其推理速度不如YOLO和SSD,但其检测精度在许多应用中仍然处于领先水平。区域建议网络(RPN)使用滑动窗口生成一系列候选框,并通过分类和回归对这些候选框进行优化。...(0))# 输出结果包括每个目标的类别和位置print(output)Faster R-CNNFaster R-CNN因其较高的检测精度和可靠性,适用于对精度要求较高的场景,如医学图像分析(如肿瘤检测)...未来的目标检测技术将继续在速度、精度和通用性上取得突破,为更多的实际应用提供技术支持。

    47510

    RetinaNet在航空图像行人检测中的应用

    Retina Net Retina Net 是一个单级目标检测器,使用特征金字塔网络 (FPN) 和焦点损失函数(Focal loss)进行训练。...这样做的结果是,它在网络中的多个层级上生成不同尺度的特征图,这有助于分类和回归网络。 焦点损失旨在解决单阶段目标检测问题,因为图像中可能存在大量的背景类和几个前景类,这会导致训练效率低下。...焦点损失解释 在本文中,我将讨论如何在Keras上训练Retina Net模型。关于RetinaNet背后的理论,请参考[1]。我的代码可以在Github上下载[2]。...path/to/image.jpg,x1,y1,x2,y2,class_name 我转换了斯坦福标注的格式,我的训练和验证标注上载到我的 Github。...我大概花了一晚上的时间训练 RetinaNet,而训练出的模型性能还不错。接下来我准备探索如何进一步调整RetinaNet 架构,在航拍物体检测中能够获得足够高的精度。

    1.7K30

    小目标检测的福音:Stitcher,简单又有效

    大多数目标检测算法在小目标检测上都有显著的性能下降,作者通过统计分析发现,这与训练阶段小目标对损失函数的贡献小有关系,Feedback-driven Data Provider 顾名思义,作者提出了一种基于训练时反馈然后提供数据的方式改进训练...[ywfevhqi21.png] 相比于业界已有的多尺度训练的方法,Stitcher几乎不增加训练时间,但取得的精度提升却更加可观,如下图: [s8ysxoxnrw.png] 下表为在COCO数据集上大中小三种目标的统计...[yl0x49d0ah.png] [en1cp7z69e.png] 作者又将其与其他处理小目标检测的常见方法比如多尺度训练、SNIP、SNIPER进行了比较,Stitcher 在提高精度更多的情况下,几乎不增加时间代价...在训练周期达到6时精度开始下降,如下表: [hrb6nr17df.png] 换到 PASCAL VOC数据集,依然能涨点: [t0bhcdelmi.png] 值得一提的是,Stitcher不仅适用于目标检测...如下表: [1cwf1qnzkx.png] 总之,作者从训练样本对Loss贡献不平衡的角度思考小目标检测问题,通过设计Loss反馈驱动的机制和图像拼接的方法显著改进了小目标检测,其稳固的精度增益表明,该机制可以成为目标检测算法训练的通用组件

    1.3K30

    Cycle-object consistency for image-to-image domain adaptation

    1、介绍 物体检测领域的最新进展导致了显著的性能改进,特别是对于单阶段物体检测器,其在检测速度和精度之间提供了良好的平衡。...然而,MSCOCO只包含不到1%的微光图像,DUNIT在测试时仍然需要一个目标检测器来利用目标实例功能。 3、提出的模型  在图像翻译问题中,目标是学习两个视觉域 之间的网络。...我们的目标是学习映射Gx→ y和Gy→ x以X和Y为条件,给定X'和Y'。  我们网络的详细架构如表1所示。我们的探测器包括主干、预训练的ResNet-18和检测头。...在我们提出的方法中,生成器学习执行图像平移,同时尽可能多地保持目标域检测器可检测到的对象。DUNIT在训练GAN中应用了现成的对象检测器,这就是为什么检测精度明显高于NICE-GAN和MUNIT。...然而,在检测精度方面,两个周期中的两个图像平移阶段的对象一致性损失可能在一定程度上仍然有帮助。FID和我们的模型变化的检测分析如表7所示。很明显,CoCo损失比目标一致性损失更重要,如前两行所示。

    29810

    如何评估机器学习模型的性能

    您可以整天训练有监督的机器学习模型,但是除非您评估其性能,否则您永远无法知道模型是否有用。这个详细的讨论回顾了您必须考虑的各种性能指标,并对它们的含义和工作方式提供了直观的解释。 为什么需要评估?...假设您正在建立一个模型来检测一个人是否患有糖尿病。进行训练测试拆分后,您获得了长度为100的测试集,其中70个数据点标记为正(1),而30个数据点标记为负(0)。...当我们计算M1和M2的精度时,得出的结果相同,但是很明显, M1比M2好得多通过查看概率分数。 Log Loss处理了这个问题 ,我将在稍后的博客中进行解释。...其中p =数据点属于类别1的概率,y是类别标签(0或1)。 假设某些x_1的p_1为0.95,某些x_2的p_2为0.55,并且符合1类条件的截止概率为0.5。...然后两者都符合类别1的条件,但是p_2的对数损失将比p_1的对数损失大得多。 ? 从曲线中可以看到,对数损失的范围是[0,无穷大]。 对于多类别分类中的每个数据点,我们使用以下公式计算对数损失: ?

    1.1K20

    R-FCN: Object Detection via Region-based Fully Convolutional Networks

    所有可学习的层都是卷积的,并在整个图像上共享,但编码了目标检测所需的空间信息。图1说明了关键思想,表1比较了基于区域的检测器之间的方法。...[c > 0]是一个指示器,如果参数为true,它等于1,否则等于0。我们设置了平衡权重λ= 1。我们将正样本定义为roi与ground-truth的IoU至少为0.5,否则为负。...与其他全卷积策略的比较虽然全卷积检测器是可用的,但实验表明,它们要达到良好的精度并非易事。...Faster R-CNN为每个区域评估一个10层的子网,以达到良好的精度,但R-FCN的每个区域的成本可以忽略不计。...使用VGG-16的R-FCN性能略低于ResNet-50。在ResNet中,当深度从50增加到101时,我们的检测精度增加,但当深度达到152时,我们的检测精度达到饱和。?

    93620

    基于YOLOv8的无人机图像目标检测算法

    因此,提高小目标的检测精度成为了近年来的热点问题。在目标检测领域存在2种算法:传统的目标检测算法和基于深度学习的目标检测算法。传统的目标检测算法鲁棒性差,检测效率和准确度都很低,本文不做考虑。...其中,2023年1月发布开源的YOLOv8算法是YOLO家族最新成员,可以更好地平衡算法的检测速度和检测精度。因此,本文将YOLOv8算法作为无人机目标检测基础算法并加以改进[1]。...为了提高小目标检测的测量精度,本文提出YOLOv8-smr模型,相较于YOLOv8s做出的改进主要有以下4点:1) 针对无人机拍摄目标普遍为小目标的应用场景,减少YOLOv8s算法骨干网络(Backbone...与常见的直接增加一层小目标检测层的模型相比,本文模型结构的算法复杂度大幅降低,但检测精度差别不大,与初始YOLOv8s算法相比,优化参数量明显下降、精度明显提升,证明降低网络卷积层次在大幅提升小目标检测性能的同时...通过检测结果的直观对比,可以看到小目标检测精度不断地提升。但是可以明显看到,虽然算法经过多轮改进,但还是不可避免地存在漏检和误检的问题,这也是最终算法的mAP@0.5只有45.4%的直观体现。

    1.6K10

    深度学习的多个loss如何平衡 & 有哪些「魔改」损失函数,曾经拯救了你的深度学习模型?

    下图中是不同版本的实现,打了码的是我复现的结果。 ? 不同版本mtcnn在FDDB上roc曲线 这是一件很困扰的事情,参数、网络结构大家设置都大差不差。但效果确实是迥异。...那么 , , 这几个权值,究竟应该设置为什么样的才能得到一个不错的结果呢? 其实有个比较不错的主意,就是只保留必要的那两组权值,把另外一组设置为0,比如 ,, 。为什么这么做?...box的回归并不是特别受关键点影响,大部分情况box和landmarks是正向促进的,影响程度可以看做和score是一致的,box的精度即便下降了5%,它还是能框得住目标,因此不用太在意。...改进后训练达到相同的精度和loss,SSD用时10小时,改进后的方法耗时仅需10-20min。...对齐后的结果 是不是能好很多。 2. 有哪些「魔改」损失函数,曾经拯救了你的深度学习模型? 我在做缺陷检测时候对比了一些loss的性能,其实确实是那句话,适合自己的才是最好的。

    6.6K31

    首发 | 何恺明团队提出 Focal Loss,目标检测精度高达39.1AP,打破现有记录

    目前,目标检测框架主要有两种: 一种是 one-stage ,例如 YOLO、SSD 等,这一类方法速度很快,但识别精度没有 two-stage 的高,其中一个很重要的原因是,利用一个分类器很难既把负样本抑制掉...另外一种目标检测框架是 two-stage ,以 Faster RCNN 为代表,这一类方法识别准确度和定位精度都很高,但存在着计算效率低,资源占用大的问题。...公式1中,y∈{±1} 指定了 ground-truth class,p∈[0,1] 是模型对于标签为 y = 1 的类的估计概率。为了方便起见,我们定义 pt 为: ? 公式2可以转写称: ?...解决 class imbalance 的常见方法是分别为 class 1 和 class -1 引入加权因子 α∈[0; 1]、1-α。 α-balanced 的CE损耗可写为: ?...更正式地,我们建议为交叉熵损失增加一个调节因子(1 - pt)γ,其中 γ≥0。于是 Focal Loss 可定义为: ? 以下是我们在实践中使用的 Focal Loss: ?

    1.1K60

    使用Google AI Open Images进行对象检测

    选择目标检测算法 我们考虑了各种算法,如VGG、Inception,但最终选择了YOLO算法,因为它的速度、计算能力和丰富的在线文章可以指导我们完成整个过程。...成本函数有三个主要组成部分: 类别损失:如果检测到对象,则为类别条件概率的平方误差。因此,只有当网格单元中存在对象时,损失函数才会惩罚分类错误。...局部化损失:如果框负责检测对象,则是预测边界框位置和大小与真正实况框的平方误差。为了惩罚边界框坐标预测的损失,我们使用正则化参数(ƛcoord)。...因此,我们决定只使用最多的43个类别,这不是一个完美的方法,但每个类别至少有500个图像。然而,我们预测的置信度仍然很低。为了解决这个问题,我们选择了包含目标类别的图像。...所有这些公开知识可以帮助你在这个激动人心的领域取得成功! 未来的工作 - 持续或改进 在更多类别上训练模型以检测更多种类的对象。要实现这一目标,我们首先需要解决数据不平衡的问题。

    1.1K40

    PointPillar:利用伪图像高效实现3D目标检测

    2 横空杀出的PointPillars 这是一篇前两年的点云目标检测网络,为什么重温它是因为小编在学习百度Apollo 6.0时发现它被集成进去作为激光雷达的检测模型了。...1个Block中汽车的步幅S=2,行人和骑自行车的人的步幅为1,第2和第3个block中采用了相同的步幅。...损失函数部分 检测网络的损失函数一般都是有分类和回归两部分组成,分类损失用于给出目标的类别,回归损失用于给出目标的位置,而三维目标检测相比图像的二维检测多了3个参数。...3D Box由(x,y,z,w,h,l,0)进行定义: 其中分类损失: 回归损失: 通过加权和的方式得到总的损失函数: 实验仿真结果 最后我们看一下文章给出的仿真结果: 不管从速度上还是精度上相比于几种经典模型还是有一定程度的提高...,但其实我们可以发现在行人等检测仍然徘徊在50%左右,和图像的目标检测动仄80%~90%的mAP还有很大的提升空间。

    3.7K30

    目标检测 | RetinaNet:Focal Loss for Dense Object Detection

    而one-stage检测器一直以速度为特色,在精度上始终不及two-stage检测器。...尽管可以使用类似的抽样探索法(如hard example mining)来补救,但这样的效率不高,因为训练过程仍然被简单的背景样本主导,导致模型更多地学习了背景而没有很好地学习检测的目标   在解决以上问题的同时...$\gamma\in0,5$的loss曲线如图1所示,focal loss有两个特性: 当一个样本被误分且置信度很低时,调节因子会接近1,整体的loss都很小。...$对应的anchor尺寸为$32^2$到$512^2$,每个金字塔层级的的长宽比均为${1:2, 1:1, 2:1 }$,为了能够预测出更密集的目标,每个长宽比的anchor添加原设定尺寸的${2^0,...IoU大于0.5的anchor视为正样本,设定其one-host向量的对应值为1,$[0, 0.4)$的anchor视为背景,$[0.4, 0.5)$的anchor不参与训练 Classification

    84800

    死磕YOLO系列,YOLOv2的自我修养

    YOLO 在当时是非常不错的算法,速度极快,但明显的缺陷就是精度问题特别是小尺寸目标检测问题上。 YOLO 的作者有强调的一个事情是 YOLOv2 仍然是实时的,并且在速度和精度方面做了一定的平衡。...mAP 提升了 2% 可以去掉了 Dropout 仍然不出现过拟合 不熟悉 Batch Norm 的同学可以尝试阅读我这篇介绍文章 2....= 81% @有anchor box @Acc = 69.2 mAP @Recall = 88% 相比于精度的少许损失,召回率提升明显,文章开头说 YOLOv2 的改良有个目标就是提高召回率...高分辨率下,YOLOv2 仍然可以达到实时要求,精度是当时的 state of the art. 在 VOC 2007 数据集 YOLOv2 和其他目标检测模型的对比如下图: ?...在高分率的数据集上,Darknet-19 Top-1 ACC 为 76.5%,Top-5 ACC 为 93.3%. 2.3 目标检测任务的训练细节 Darknet-19 是一个目标分类模型,最后一层输出了

    79620

    南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!

    操作 ⌊(2b − 1)\hat v⌉ 将 \hat v 从[0,1]范围映射到 \{0,1,...,2^b − 1\} 的离散数值。...然后,教师网络的量化特征作为监督信号,通过均方损失 L(·, ·) 来指导学生网络的量化,而学生网络仍然使用其通常的交叉熵损失 H(·, ·) 与真实标签 y 进行训练。...整体优化目标为: 其中 λ 用于平衡蒸馏损失和交叉熵损失的重要性。为简单起见,作者设置 λ = 0.5 ,除非在消融实验中另有说明。...量化Transformer仍然是一个具有挑战性的任务。 4.2、目标检测 RetinaNet是一种单阶段目标检测器,由Backbone网络、FPN和检测头组成。...为简单起见,作者只使用p3进行特征蒸馏,并且不涉及任何复杂的操作,例如区分前景和背景特征。量化特征蒸馏损失占总检测损失的约1/5,RetinaNet的结构严格遵循之前的量化工作。

    1.3K31
    领券