【目标检测】——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通孔,以便于安装固定。此外,将板载的焊死的保险丝更改为可更换的保险座保险丝ÿ…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
