DL之RetinaNet:RetinaNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

简介: DL之RetinaNet:RetinaNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

RetinaNet算法的简介(论文介绍)


        RetinaNet源自论文Focal Loss for Dense Object Detection用于密集目标检测的焦损失。


Abstract  

      The highest accuracy object detectors to date are based  on a two-stage approach popularized by R-CNN, where a  classifier is applied to a sparse set of candidate object locations.  In contrast, one-stage detectors that are applied  over a regular, dense sampling of possible object locations  have the potential to be faster and simpler, but have trailed  the accuracy of two-stage detectors thus far. In this paper,  we investigate why this is the case. We discover that the extreme  foreground-background class imbalance encountered  during training of dense detectors is the central cause. We  propose to address this class imbalance by reshaping the  standard cross entropy loss such that it down-weights the  loss assigned to well-classified examples. Our novel Focal  Loss focuses training on a sparse set of hard examples and  prevents the vast number of easy negatives from overwhelming  the detector during training. To evaluate the effectiveness  of our loss, we design and train a simple dense detector  we call RetinaNet. Our results show that when trained with  the focal loss, RetinaNet is able to match the speed of previous  one-stage detectors while surpassing the accuracy of  all existing state-of-the-art two-stage detectors. Code is at: https://github.com/facebookresearch/Detectron.

      迄今为止,精度最高的目标检测器是基于R-CNN推广的两阶段方法,其中分类器应用于稀疏的一组候选对象位置。相比之下,对可能的目标位置进行常规、密集采样的单级探测器有可能更快、更简单,但迄今仍落后于两级探测器的精度。在本文中,我们将探讨为什么会出现这种情况。我们发现,在密集探测器训练过程中所遇到的极端的前-后级不平衡是其主要原因。我们建议通过重新构造标准的交叉熵损失来解决这个类的不平衡,这样它就可以降低分配给分类良好的示例的损失。我们的新焦失聚焦训练集中在一组稀疏的硬例子上,防止大量的容易的负片在训练中压倒检测器。为了评估我们的损失的有效性,我们设计并训练了一个简单的高密度探测器,我们称之为RetinaNet。我们的结果表明,当使用聚焦损失训练时,视黄连能够在超过现有所有最先进的两级探测器精度的同时,与以前的单级探测器速度相匹配。代码如下:https://github.com/facebookresearch/Detectron。

Conclusion  

      In this work, we identify class imbalance as the primary  obstacle preventing one-stage object detectors from  surpassing top-performing, two-stage methods. To address  this, we propose the focal loss which applies a modulating  term to the cross entropy loss in order to focus learning  on hard negative examples. Our approach is simple and  highly effective. We demonstrate its efficacy by designing  a fully convolutional one-stage detector and report extensive  experimental analysis showing that it achieves stateof-the-art  accuracy and speed. Source code is available at https://github.com/facebookresearch/Detectron [12].

      在这项工作中,我们确定类不平衡是阻止单级对象检测器超越性能最好的两级方法的主要障碍。为了解决这个问题,我们提出了焦损失,它应用一个调制项的交叉熵损失,以便集中学习硬的负面例子。我们的方法简单而高效。我们设计了一种全卷积单级检测器来验证其有效性,并报告了大量的实验分析,结果表明它达到了最先进的精度和速度。源代码可从https://github.com/facebookresearch/Detectron[12]获得。


论文

Tsung-Yi Lin, Priya Goyal, Ross Girshick, KaimingHe, Piotr Dollár.

Focal Loss for Dense Object Detection. ICCV 2017.

https://arxiv.org/abs/1708.02002



0、实验结果


1、RetinaNet-50 VS RetinaNet-101


       在COCO数据集上,作者提出的RetinaNet-101-800模型,可以达到37.8mAP可超过其他以前提出的单阶段检测方法,并且检测速度是198ms。


image.png


2、在COCO test-dev上——分别与单阶段、两阶段模型比较


    目标检测单模型结果(边界框AP),与COCO test-dev的最新技术相比。RetinaNet可以达到40.8mAP,甚至可以超过两阶段方法。

注:该表展示了RetinaNet-101-800模型的结果,该模型经过尺度抖动训练。模型取得了最佳成绩,超越了其它单阶段和两阶段模型。

image.png




1、RetinaNet算法的特点及其贡献


找到妨碍单阶段目标检测器实现高准确度的主要原因:

-训练期间的前景-背景之间的类别不平衡

设计焦点损失(Focal Loss) 来解决这种类别不平衡问题,降低分配给分类良好例子的损失。

提出了单阶段RetinaNet网络架构,使用了焦点损失和多尺度特征金字塔。



RetinaNet算法的架构详解


DL之RetinaNet:RetinaNet算法的架构详解https://yunyaniu.blog.csdn.net/article/details/100010853






RetinaNet算法的案例应用


DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco数据集(.h5文件)实现目标检测


https://blog.csdn.net/qq_41185868/article/details/100109252

 


相关文章
|
6月前
|
存储 监控 JavaScript
基于布隆过滤器的 Node.js 算法在局域网电脑桌面监控设备快速校验中的应用研究
本文探讨了布隆过滤器在局域网电脑桌面监控中的应用,分析其高效空间利用率、快速查询性能及动态扩容优势,并设计了基于MAC地址的校验模型,提供Node.js实现代码,适用于设备准入控制与重复数据过滤场景。
263 0
|
5月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
339 3
|
5月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
|
5月前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
5月前
|
机器学习/深度学习 算法 安全
小场景大市场:猫狗识别算法在宠物智能设备中的应用
将猫狗识别算法应用于宠物智能设备,是AIoT领域的重要垂直场景。本文从核心技术、应用场景、挑战与趋势四个方面,全面解析这一融合算法、硬件与用户体验的系统工程。
|
4月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
480 0
|
4月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
318 2
|
5月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
302 3
|
4月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
245 8
|
4月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
287 8