【目标检测】——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通孔,以便于安装固定。此外,将板载的焊死的保险丝更改为可更换的保险座保险丝ÿ…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果