EfficientDet网络解析

2023-10-30 16:10
文章标签 网络 解析 efficientdet

本文主要是介绍EfficientDet网络解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

EfficientDet网络解析

  • 模型效果
  • 模型结构
    • EfficientNet网络
    • BiFPN网络
    • anchor
    • Loss函数
  • Compound Scaling的影响
  • EfficientDet系列参数
  • EfficientDet系列模型效果

模型效果

EfficientDet在COCO上的精度和模型FLOPs如下所示:
在这里插入图片描述

模型结构

EfficientDet以EfficientNet网络作为backbone,BiFPN作为特征融合网络, 最终共享class/box预测网络。
在这里插入图片描述

EfficientNet网络

EfficientNet网络参考EfficientNet网络解析,输入图片经过EfficientNet网络输出
C1, C2, C3, C4, C5共5个特征层。

BiFPN网络

_, _, C3, C4, C5共有3个所需的特征层,其中 C3 = P3_in,C4 = P4_in, C5 = P5_in,P6_in和P7_in是P5_in分别经过两次下采样(MaxPooling)后得到,然后进入BIFPN进行特征融合。

FPN网络的一些设计如下所示:
在这里插入图片描述
BiFPN先上采样进行两层融合,再下采样进行三层融合,最终输出P3, P4, P5, P6, P7,进入下一个循环进行串联。

单个BiFPN的内部结构如下:
在这里插入图片描述

anchor

每个先验框共产生9个anchor,anchor的参数如下:

sizes   = [32, 64, 128, 256, 512],
strides = [8, 16, 32, 64, 128],
ratios  = np.array([0.5, 1, 2], keras.backend.floatx()),
scales  = np.array([2 ** 0, 2 ** (1.0 / 3.0), 2 ** (2.0 / 3.0)], keras.backend.floatx())

Loss函数

Loss = Smooth L1 Loss + Focal Loss

1.Smooth Loss作用是计算目标回归框loss;
2.Focal Loss作用是计算所有未被忽略的种类的预测结果的交叉熵loss。

Compound Scaling的影响

在这里插入图片描述

EfficientDet系列参数

EfficientDet D0-D6的尺度参数如下:
其中,D7除了更高的分辨率,其余参数和D6相同。
在这里插入图片描述
其中,对于Inputsize的参数计算按如下公式:
图片分辨率必须可以被 2 7 = 128 2^{7} = 128 27=128整除,在512基础上线性增加。
在这里插入图片描述
对于BIFPN的参数计算按如下公式:
在这里插入图片描述
对于Box/class的网络深度(层数)的参数计算按如下公式:
在这里插入图片描述

EfficientDet系列模型效果

在这里插入图片描述

这篇关于EfficientDet网络解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309086

相关文章

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量