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

 


相关文章
|
26天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
73 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
1月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
17天前
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
26天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
62 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
62 1
|
1月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
64 3
|
2月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
212 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
1月前
|
设计模式 负载均衡 监控
探索微服务架构下的API网关设计
在微服务的大潮中,API网关如同一座桥梁,连接着服务的提供者与消费者。本文将深入探讨API网关的核心功能、设计原则及实现策略,旨在为读者揭示如何构建一个高效、可靠的API网关。通过分析API网关在微服务架构中的作用和挑战,我们将了解到,一个优秀的API网关不仅要处理服务路由、负载均衡、认证授权等基础问题,还需考虑如何提升系统的可扩展性、安全性和可维护性。文章最后将提供实用的代码示例,帮助读者更好地理解和应用API网关的设计概念。
81 8

热门文章

最新文章