【目标检测】——PE-YOLO精读
yolo,暗光目标检测
论文:PE-YOLO
1. 简介
卷积神经网络(CNNs)在近年来如何推动了物体检测的发展。许多检测器已经被提出,而且在许多基准数据集上的性能正在不断提高。然而,大多数现有的检测器都是在正常条件下对高质量图像进行研究。在真实环境中,经常会出现许多糟糕的光照条件,如夜晚、暗光和曝光过度,这些条件会降低图像的质量,影响检测器的性能。
前人的解决方案:…略
本文采用了金字塔增强网络(PENet)和YOLOv3。首先,PENet使用拉普拉斯金字塔将图像分解为四个不同分辨率的组件。然后,我们提出了一个细节处理模块(DPM)来增强图像的细节,该模块由上下文分支和边缘分支组成。此外,我们还提出了一个低频增强滤波器(LEF)来捕获低频语义并防止高频噪声。PE-YOLO采用端到端的联合训练方法,并且只使用正常的检测损失来简化训练过程。我们在低光照物体检测数据集ExDark上进行了实验,结果表明,与其他暗物体检测器和低光照增强模型相比,PE-YOLO取得了先进的结果,在mAP上达到78.0%,在FPS上达到53.6%,可以适应不同的低光照条件下的物体检测。
2. 相关工作
2.1 目标检测
略
2.2 低照图像增强
低光照增强任务的目标是通过恢复图像细节和纠正色彩失真来提高人类的视觉感知,并为如物体检测等高级视觉任务提供高质量的图像。张等人提出了一种名为Kind的模型,它可以通过不同照度的配对图像进行训练,无需地面真实值。郭等人提出了Zero DCE,它将低光照增强任务转化为特定图像的曲线估计问题。吕等人提出了一种多分支低光照增强网络(MBLLEN),该网络在不同级别提取特征并通过多分支融合生成输出图像。崔等人提出了一种名为Illumination Adaptive Transformer (IAT)的模型,通过动态查询学习来构建端到端的Transformer。在低光照增强模型恢复图像细节后,检测器的效果得到了改善。然而,大多数低光照增强模型都很复杂,并且对检测器的实时性能有很大影响。
2.3 恶劣条件下的目标检测
IA-YOLO,该模型通过自适应增强每个图像来提高检测性能。他们提出了一个可微分的图像处理(DIP)模块,用于处理恶劣天气,并使用了一个小型的卷积神经网络(CNN-PP)来调整DIP的参数。在IA-YOLO的基础上,Kalwar等人提出了GDIP-YOLO。GDIP提出了一个门控机制,允许多个DIP并行操作。秦等人提出了检测驱动增强网络(DENet),用于在恶劣天气条件下进行物体检测。崔等人提出了一种用于暗物体检测的多任务自动编码变换(MAET),探索了照明转换背后的潜在空间。
3. 网络
首先,我们使用高斯金字塔将图像I分解为不同分辨率的子图像。然后,我们提出了一个细节处理模块(DPM)和一个低频增强滤波器(LEF)来增强每个尺度的组件。在拉普拉斯金字塔中,每一层都是通过减去上一层的高斯金字塔后上采样得到的。当重构图像时,我们只需要执行(2)的逆操作即可恢复原始的高分辨率图像。这种方法允许我们在保持图像质量的同时,降低图像的复杂性和计算需求。
拉普拉斯金字塔在底部时更关注细节信息,而高层时更关注全局信息。所以提出了细节增强模块和低频增强模块
3.1 细节增强模块
分为上下文模块和边缘细节模块
3.2 低频增强模块
低频组件包含了图像中的大部分语义信息,它们是检测器预测的关键信息。为了丰富重构图像的语义,我们提出了低频增强滤波器(LEF)来捕获组件中的低频信息。我们首先通过卷积层将组件f转换为f。我们使用动态低通滤波器来捕获低频信息,并使用平均池化进行特征过滤,只允许低于截止频率的信息通过。不同语义的低频阈值是不同的。考虑到Inception的多尺度结构,我们使用了大小为1×1、2×2、3×3、6×6的自适应平均池化
4. 实验
数据:ExDark,7363张图像,10种不同的照度条件
训练:608x608,SGD, Batch=8, 30epoch,12个类
首先,将PE-YOLO与其他低光照增强模型进行了比较。由于低光照增强模型缺乏检测能力,他们将使用与PE-YOLO相同的检测器对所有增强后的图像进行实验。他们将mAP的IoU阈值设定为0.5,并展示了性能比较结果。结果发现,直接在YOLOv3之前使用低光照增强模型并不能显著提高检测性能
2,3,4应该都只是图像增强的方法。
虽然增强了图像但是检测指标并不是最好的
和其他暗光检测器的对比
结果显示,PE-YOLO在物体检测中更为准确。与DENet和使用LOL数据集预训练的IAT-YOLO相比,PE-YOLO在mAP上分别提高了0.7%和0.2%,并且PE-YOLO在FPS上也几乎是最高的。这些数据表明,PE-YOLO更适合在暗环境中进行物体检测。
网络结构对比实验
2个增强模块的有效性
相关文章:

【目标检测】——PE-YOLO精读
yolo,暗光目标检测 论文:PE-YOLO 1. 简介 卷积神经网络(CNNs)在近年来如何推动了物体检测的发展。许多检测器已经被提出,而且在许多基准数据集上的性能正在不断提高。然而,大多数现有的检测器都是在正常条…...
Java 数组转集合
数组转集合 如果仅仅这样转化Arrays.asList(数组),导致集合只能查询,无法进行其他操作,因此,对该方法进行优化: List<实体> list1 new ArrayList<>(Arrays.asList(数组))以上方法就可以使用集合的所有操…...

Elasticsearch:ES|QL 查询语言简介
警告:此功能处于技术预览阶段,可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。在目前的 Elastic Stack 8.10 中此功能还没有提供。 Elasticsearch 查询语言 (ES|…...
qt qml中listview出现卡顿情况时的常用处理方法
如果在qt QML中使用ListView时出现卡顿情况,可能是因为渲染大量的数据或者在模型中进行复杂的数据处理。以下是常用的解决方法: 1. 设置ListView的缓存策略:通过设置ListView的cacheBuffer属性为适当的值,可以提高滚动的流畅性。…...
Elasticsearch基础操作演示总结
一、索引操作 (一)创建索引 创建Elasticsearch(ES)索引是在ES中存储和管理数据的重要操作之一。索引是用于组织和检索文档的结构化数据存储。 当创建Elasticsearch索引时,通常需要同时指定索引的设置(Se…...

Spring 作用域解析器AnnotationScopeMetadataResolver
博主介绍:✌全网粉丝近5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经…...

如何发布一个 NPM 包
首先初始化: npm init 文件夹结构 .gitignore Git 库忽略文件清单.npmignore 不包括在 npm 注册库中的文件清单LECENSE 模块的授权文件README.md 说明文档bin 保存模块可执行文件的文件夹doc 保存模块文档的文件夹example 保存模块实际示例lib 保存模块代码man 保存模块的手册…...
Flask小项目教程(含MySQL与前端部分)
CONTENTS 1. 环境配置2. 快速搭建Flask应用程序 1. 环境配置 首先我们在项目的根目录下创建一个 Python 虚拟环境,打开命令行输入以下指令: python -m venv venv启动虚拟环境: .\venv\Scripts\Activate.ps1如果遇到报错:.\venv…...

Eureka
大家好我是苏麟今天带来Eureka的使用 . 提供者和消费者 在服务调用关系中,会有两个不同的角色: 服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务) 服务消费者:一次业务…...

STM32G070RBT6-MCU温度测量(ADC)
1、借助STM32CubeMX生成系统及外设相关初始化代码。 在以上配置后就可以生成相关初始化代码了。 /* ADC1 init function */ void MX_ADC1_Init(void) {/* USER CODE BEGIN ADC1_Init 0 *//* USER CODE END ADC1_Init 0 */ADC_ChannelConfTypeDef sConfig {0};/* USER COD…...

数据结构之带头双向循环链表
目录 链表的分类 带头双向循环链表的实现 带头双向循环链表的结构 带头双向循环链表的结构示意图 空链表结构示意图 单结点链表结构示意图 多结点链表结构示意图 链表创建结点 双向链表初始化 销毁双向链表 打印双向链表 双向链表尾插 尾插函数测试 双向链表头插 …...

adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表
adb对于安卓移动端来说,是个非常重要的调试工具。本篇介绍常用的adb指令 文章目录 一、启动应用:adb shell am start二、使用浏览器打开指定网址:adb shell am start三、杀死应用进程adb shell am force-stop/adb shell am kill四、删除应用所…...

【Spring Boot】日志文件
日志文件 一. 日志文件有什么用二. 日志怎么用三. ⾃定义⽇志打印1. 在程序中得到⽇志对象2. 使⽤⽇志对象打印⽇志3. ⽇志格式说明 四. 日志级别1. ⽇志级别有什么⽤2. ⽇志级别的分类与使⽤ 五. 日志持久化六. 更简单的⽇志输出—lombok1. 添加 lombok 依赖2. 输出⽇志3. lom…...

图像处理与计算机视觉--第五章-图像分割-Canny算子
文章目录 1.边缘检测算子分类2.Canny算子核心理论2.1.Canny算子简单介绍2.2.Canny算子边缘检测指标2.3.Canny算子基本原理 3.Canny算子处理流程3.1.高斯滤波去噪声化3.2.图像梯度搜寻3.3.非极大值抑制处理3.4.双阈值边界处理3.5.边界滞后技术跟踪3.6.Canny算子边缘检测的特点 4…...

LabVIEW开发教学实验室自动化INL和DNL测试系统
LabVIEW开发教学实验室自动化INL和DNL测试系统 如今,几乎所有的测量仪器都是基于微处理器的设备。模拟输入量在进行数字处理之前被转换为数字量。对于参加电气和电子测量课程的学生来说,了解ADC以及如何欣赏其性能至关重要。ADC的不确定性可以根据其传输…...

数据结构: 数组与链表
目录 1 数组 1.1 数组常用操作 1. 初始化数组 2. 访问元素 3. 插入元素 4. 删除元素 5. 遍历数组 6. 查找元素 7. 扩容数组 1.2 数组优点与局限性 1.3 数组典型应用 2 链表 2.1 链表常用操作 1. 初始化链表 2. 插入节点 3. 删除…...

unity 控制玩家物体
创建场景 放上一个plane,放上一个球 sphere,假定我们的球就是我们的玩家,使用控制键w a s d 来控制球也就是玩家移动。增加一个材质,把颜色改成绿色,把材质赋给plane,区分我们增加的白球。 增加组件和脚…...

指数分布优化器(EDO)(含MATLAB代码)
先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…...
Java 时间的加减处理
时间的加减处理 Date date new Date(操作时间(类型Date)-(60000*60*1));600001分钟 60000*60*1 1小时...

基于A4988/DRV8825的四路步进电机驱动器
概述 简化板的CNC sheild V3.0,仅保留步进电机速度与方向的控制引脚STEP/DIR、使能端EN、芯片供电VCC\GND,共计11个引脚。PCB四周开设四个M3通孔,以便于安装固定。此外,将板载的焊死的保险丝更改为可更换的保险座保险丝ÿ…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...