当前位置: 首页 > news >正文

Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation

摘要:低亮度场景检测是一个小众且重要的方向,首先在于数据集和过往的研究都集中在光照充足的环境下,其次如果使用传统的训练方法的话由于训练难度大,模型效果也不会很好,有幸的是,现在关于低亮度的研究已经提上日程,且有了一些进展,通过收集和标注低光照场景下的数据集,和相关检测方法的研究,有了长足的进步。本文提出一个Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation,作用是将dectors从高亮度场景扩展到低亮度场景,而不需要低亮度场景的数据。首先创建一个反射表示学习模型,学习图像中的照明不变性,并采用精心设计的照明不变性强化策略。同时引入互换-重分解-一致性过程,通过进行两次序列图像分解并引入重分解一致性损失,改进了传统的Retinex图像分解过程。

照明不变性使之物体在不同光照条件下仍然能保持良好的检测性能。照明不变性强化策略是为了加强学习过程,设计一种照明不变性强化策略,包含设定特定的损失函数,使模型在训练的时候更加关注学习如何在不同光照条件下保持一致的特征表示。

互换-重分解-一致性过程:互换-重分解涉及对图像的两次分解,以提取更准确的反射成分,第一次分解采用传统的方法,第二次分解是基于第一次分解的基础上进行的。引入了重分解一致性损失,用于确保在两次分解中提取到的反射成分之间保持一致性,这意味着,模型在进行重分解的时候,应该尽量保持之前分解结果的特征不变,从而提高分解的稳定性和准确性。

研究进展:郭某提出的zeroDCE是一种无参考图像的图像特定光增强曲线估计方法,(该方法不需要与其他图像进行比较,而是根据图像本身来进行增强),显然是一种图像增强策略。

理论支持:图像可分解为反射率和照明两个部分,可以通过这两个成分的逐元素乘法来重建图像。(有的使用反射率作为增强后的图像,有的调整照明亮度)。有的研究是进行反射率和照明图的分解,从而实现光增强和去噪。有的利用混合双层搜索策略找到所需要的网络结构。有人通过Transformer结构同时建模反射率和照明过程中的干扰。

低光照检测的不同方法和策略:1,通过增强进行检测:首先利用低光照增强技术生成明亮的图像,然后再进行物体检测,通过增强图像的亮度和对比度,使得物体检测算法能够在增强后的图像上进行更加有效的检测。

2,...怎么感觉没啥区别啊(增强,用于检测):侧重于图像恢复训练流程来提高物体的检测性能,在训练阶段,增强技术用于改善图片的质量(感觉和1没啥区别)。

3,低光照检测学习策略:专注于开发新的学习策略(也就是训练的网络结构),具体策略包括:

  • 多模型合并:(可以参考,毕竟提升精度之后就是讲故事了),通过结合多个模型输出来提高检测性能。
  • 多任务自编码转化:(有点难懂):同时进行多个任务的学习,提高模型的泛化能力。
  • 无监督领域适应框架:在没有标注数据的情况下,适应不同的领域(从白天到夜晚的转化)。

 嘻嘻,可以用来做研究的数据集。

又着重强调了一下自己的特点,在没有真实的低光照数据支持的情况下,从光照良好的数据中学习,训练出来的检测器能够在低光照条件下进行有效的物体检测。

DA是领域适应,DG是领域泛化。背景是很多感知任务在黑暗场景下的研究主要集中在领域转义学习上,就是将模型从一个领域(在本文所涉及的领域上是光照良好的领域)迁移到另一个领域(低光照领域)。

DA的尝试是:合成低光照图像来扩展自己的训练集,通过自监督学习对齐良好光照和低光照的分布。将两个领域中学习到的组件进行合并。

DG是指在不知道目标领域的情况下对未见过的领域进行泛化。旨在为广泛的目标领域提供通用的解决方案,而不是针对某一个领域。

Zero-Shot Day-Night Domain Adaptation, ZSDA,作者提出的属于DA范畴。真实低光照数据不可获取,但是目标领域已知为低光照场景。

论文中提到,直接使用低光照数据进行训练,效果要比使用高光照数据要差得多首先通过将输入图片经过处理后得到的低亮度图像与原图像一起输入,经过DAI-NET层之后(是在一个已经建立的物体检测器的基础上构建的,增加了一个用于反射表示学习的解码器),也就是得到计算损失,同时将原图像在互换-重分解-一致性过程中的损失考虑在内,进一步加强了发射表示的学习。

基于啥啥啥理论,原始图像先分解为光照和反射率表示。理论假设可见度是基于光照而不是反射率。在不同的光照条件下,物体的颜色和纹理不会改变,但是由于照明的变化,图像的整体亮度和对比度可能有所不同。在ZSDA背景下,反射率被视作照明不变的对应物,获取反射率只是对实现照明不变的检测器至关重要。照明不变检测器:通过学习和利用反射率,检测器能够在不同的光照条件下保持一致的性能。

上图是将原始图片分解为L和R的过程。

下面就是网络结构:认为图像分割是一种低级视觉任务,主要从图像中获取基本信息,为了实现这一目标,作者将检测器的骨干网络在第二个卷积层出进行了分割,分割的前部称之为gf,后部称之为gb。gf的输出也就是F,编码了由浅层提取的低级信息,适用于解码发射率,gf之后分支出反射率解码器,是一个轻量级的模块,由两个ReLU激活函数组成。(检测头和发射解码器共享gf)。

为了更好的监督反射率解码器,作者利用了一个预训练分解网络来生成反射率和照明的真实数据。

不同光照强度下的图像会导致不同的特征分布。但是图片本身具有相同的语义信息,不会随着光照强度的改变而改变。要求保证特征对齐,也就是从gf输出的特征F要保持相似。

Lmfa​:为了保持特征的对齐,设置了特征损失对齐函数,

KL(⋅∣∣⋅) 表示 Kullback-Leibler 散度(KL Divergence),用于衡量两个概率分布之间的差异。

Fn表示从光照良好的图像中提取的特征图,Fl表示从低光照的图像中提取到的特征图。(是从gf提取,经过展平和空间平均之后得到的)。最小化Lmfa,模型可以促进良好的光照和低光照之间的特征提取,这个特征(代表语音信息)理应是相同的。有助于模型在不同光照条件下保持一致性。

别急,还有更加强大的图像分解工具:

首先还是基于那啥啥理论,将光照不良的图像分解为左边两个光照和反射率图像,将光照良好的图像分解为右侧的光照和反射率图像。理想情况下,L1和Ln应该是相同的,并且可以互换,以便在结合相应的照明图时进行重构。

惩罚是互换反射率重建图像,一旦偏离原始输入,就产生惩罚,(这叫做基于惩罚的约束)。

总损失如下:

上式中,Ldecom表示的是图像分解损失,是对输入图像的重建,反射率不变性以及光照平滑性进行综合评估。式子中MSE表示亮反射率和暗反射率之间的差异,SSIM是结构相似系数。小的损失没有细讲。

训练上通过调整参数来对应不同的数据集。

作者提出了他们的不足,合成的低光图像(也就是Dark ISP)合成的图像在训练效果上是落后于真实的低光图像的,这点有改进的空间。

论文写作tip:通过与自己的对比实验,本文中使用辅助分支以及同时解码光照和反射率的方法效果都不如对反射率单独解码,证明单独解码发射率的方法更有效。

相关文章:

Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation

摘要:低亮度场景检测是一个小众且重要的方向,首先在于数据集和过往的研究都集中在光照充足的环境下,其次如果使用传统的训练方法的话由于训练难度大,模型效果也不会很好,有幸的是,现在关于低亮度的研究已经…...

Chromium html<lable>c++接口定义

HTML <label> 元素&#xff08;标签&#xff09;表示用户界面中某个元素的说明。 1、<label> 在html_tag_names.json5中接口定义&#xff1a; &#xff08;third_party\blink\renderer\core\html\html_tag_names.json5&#xff09; {name: "label",inte…...

QT中中文显示乱码问题

在VS2013中用QT开发GUI应用程序&#xff0c;Qt中显示中文乱码 一&#xff1a; //解决QT中中文显示乱码问题 #pragma execution_character_set("utf-8") 二&#xff1a;在main函数中添加以下代码&#xff1a; #include <QTextCodec>void main() {QTextCod…...

[面试常见]Javascript基础知识

#1024程序员节|征文# Object.assign 和对象扩展运算符有什么区别?是深拷贝还是浅拷贝? 都进行浅拷贝&#xff0c;只赋值对象的第一层属性&#xff0c;而不会递归复制整个对象结构 **const mergedObj Object.assign({},obj1,obj2) JavaScript 中 Map 和 Object 的区别是什么?…...

使用注解@ExcelIgnoreUnannotated实现了在导出 Excel 时忽略没有被标注的字段

ExcelIgnoreUnannotated 注解用于在使用 Apache POI 或其他 Excel 处理库时&#xff0c;指示在导出 Excel 时忽略没有被标注的字段。这意味着只有被特定注解&#xff08;如 ExcelProperty&#xff09;标注的字段会被处理和导出。 作用 简化导出过程&#xff1a;只导出需要的字…...

线程的同步

目录 引入 认识条件变量 快速认识接口​编辑 认识条件变量​编辑 测试代码​编辑 生产消费模型 为何要使用生产者消费者模型 理解 编写生产消费模型 BlockingQueue 单生产单消费 多生产多消费 引入 同步&#xff1a;在保证数据安全的前提下&#xff0c;让线程…...

【启明智显分享】ZX7981PG/ZX7981PM融入官方OpenWrt,启明智显SDK/官方OpenWrt任由选择!

好消息&#xff01;好消息&#xff01;启明智显ZX7981PG和ZX7981PM正式融入官方 OpenWrt 的大家庭啦&#xff01;现在开发者不仅可以基于启明智显的SDK进行二次开发&#xff0c;还可以直接应用官方OpenWrt以及我们的开源资料进行开发&#xff01; 借助OpenWrt的强大生态&…...

如何用java发送包含表格形式的邮件

问题&#xff1a; 如何用java发送包含表格形式的邮件&#xff1f; 方法&#xff1a; 发用freemaker工具来替换html的表格变量&#xff0c;从而动态生成了html。然后再发送这个html格式&#xff08;不能用纯文本&#xff09;文本即可。 优化流程&#xff1a; 1、准备模板&#x…...

讲个故事:关于一次接口性能优化的心里路程

这是一个程序猿写的第一个故事&#xff0c;请各位懂行的客官静下心来&#xff0c;慢慢品读。就知道我为什么要单独写一个文章来记录这次过程了&#xff0c;因为实在是太坎坷了...... 背景介绍 近期项目投产时遇到一个问题&#xff0c;投产后在验证时发现大部分用户系统登…...

Centos7升级到openssh9.9

openssh9.9 是2024.9.20出的最新版ssh。因为客户扫描出一大堆centos7的漏洞&#xff0c;全是这个openssh的&#xff0c;好多补丁&#xff0c;所以索性升级到最新版。 需要自己制作rpm包&#xff0c;这个我是不懂&#xff0c;照这个来&#xff1a; Linux服务器升级openssh9.9最…...

使用 STM32F407 串口实现 485 通信

准备工作 了解485通信基本概念与原理&#xff1a;RS485通信详解_485通讯de接什么口-CSDN博客 安装编译软件&#xff1a;keil uVision 5.6 软件资料&#xff1a;STM32CubeF4 固件包&#xff0c;正点原子RS485通信例程 ​​​​​​​参考视频&#xff1a;第26讲 基础篇-新建H…...

基于NERF技术重建学习笔记

NeRF&#xff08;Neural Radiance Fields&#xff09;是一种用于3D场景重建的神经网络模型&#xff0c;能够从2D图像生成逼真的3D渲染效果。它将场景表征为一个连续的5D函数&#xff0c;利用了体积渲染和神经网络的结合&#xff0c;通过学习光线穿过空间时的颜色和密度来重建场…...

webView 支持全屏播放

webView 支持全屏播放 直接上代码 public class CustomFullScreenWebViewClient extends WebChromeClient {WebView webView;Context context;/*** 视频全屏参数*/protected static final FrameLayout.LayoutParams COVER_SCREEN_PARAMS new FrameLayout.LayoutParams(ViewG…...

QGIS之三十二DEM地形导出三维模型gltf

效果 1、准备数据 (1)dem.tif (2)dom.tif 2、qgis加载dem和dom数据 3、安装插件 插件步骤可以参考这篇文章 QGIS之二十四安装插件 安装了Qgis2threejs插件,结果...

【python爬虫】携程旅行景点游客数据分析与可视化

一.选题背景 随着旅游业的快速发展&#xff0c;越来越多的人选择通过互联网平台预订旅行产品&#xff0c;其中携程网作为国内领先的在线旅行服务提供商&#xff0c;拥有大量的旅游产品和用户数据。利用爬虫技术可以获取携程网上各个景点的游客数据&#xff0c;包括游客数量、游…...

python实现onvif协议下控制摄像头变焦,以及融合人形识别与跟踪控制

#1024程序员节 | 征文# 这两天才因为项目需要&#xff0c;对网络摄像头的视频采集以及实现人形识别与跟踪技术。对于onvif协议自然起先也没有任何的了解。但是购买的摄像头是SONY网络头是用在其他地方的。因为前期支持探究项目解决方案&#xff0c;就直接拿来做demo测试使用。 …...

【Vue】Vue3.0(十四)接口,泛型和自定义类型的概念及使用

上篇文章&#xff1a; 【Vue】Vue3.0&#xff08;十三&#xff09;中标签属性ref&#xff08;加在普通标签上、加在组件标签上&#xff09;、局部样式 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&…...

【C++】红黑树万字详解(一文彻底搞懂红黑树的底层逻辑)

目录 00.引入 01.红黑树的性质 02.红黑树的定义 03.红黑树的插入 1.按照二叉搜索树的规则插入新节点 2.检测新节点插入后&#xff0c;是否满足红黑树的性质 1.uncle节点存在且为红色 2.uncle节点不存在 3.uncle节点存在且为黑色 04.验证红黑树 00.引入 和AVL树一样&am…...

开源FluentFTP实操,操控FTP文件

概述&#xff1a;通过FluentFTP库&#xff0c;轻松在.NET中实现FTP功能。支持判断、创建、删除文件夹&#xff0c;判断文件是否存在&#xff0c;实现上传、下载和删除文件。简便而强大的FTP操作&#xff0c;提升文件传输效率。 在.NET中&#xff0c;使用FluentFTP库可以方便地…...

论文解读 | ECCV2024 AutoEval-Video:一个用于评估大型视觉-语言模型在开放式视频问答中的自动基准测试...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 点击 阅读原文 观看作者讲解回放&#xff01; 作者简介 陈修元&#xff0c;上海交通大学清源研究院硕士生 概述 总结来说&#xff0c;我们提出了一个新颖且具有挑战性的基准测试AutoEvalVideo&#xff0c;用于全…...

postgresql14主从同步流复制搭建

1. 如果使用docker搭建请移步 Docker 启动 PostgreSQL 主从架构&#xff1a;实现数据同步的高效部署指南_docker安装postgresql主从同步-CSDN博客 2. 背景 pgsql版本&#xff1a;PostgreSQL 14.13 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4…...

企业信息化管理中的数据集成方案:销售出库单对接

企业信息化管理中的数据集成方案&#xff1a;销售出库单对接 销售出库单旺店通→金蝶&#xff1a;高效数据集成案例分享 在企业信息化管理中&#xff0c;数据的高效流动和准确对接是实现业务流程自动化的关键。本文将聚焦于一个具体的系统对接集成案例&#xff1a;如何将旺店通…...

3.cpp基本数据类型

cpp基本数据类型 1.cpp基本数据类型 1.cpp基本数据类型 C基本数据类型和C语言的基本数据类型差不多 注意bool类型&#xff1a;存储真值 true 或假值 false&#xff0c;C语言编译器C99以上支持。 C语言的bool类型&#xff1a;要添加 #include <stdbool.h>头文件 #includ…...

MCK主机加固与防漏扫的深度解析

在当今这个信息化飞速发展的时代&#xff0c;网络安全成为了企业不可忽视的重要议题。漏洞扫描&#xff0c;简称漏扫&#xff0c;是一种旨在发现计算机系统、网络或应用程序中潜在安全漏洞的技术手段。通过自动化工具&#xff0c;漏扫能够识别出系统中存在的已知漏洞&#xff0…...

《软件估算之原始功能点:精准度量软件规模的关键》

《软件估算之原始功能点&#xff1a;精准度量软件规模的关键》 一、软件估算的重要性与方法概述二、原始功能点的构成要素&#xff08;一&#xff09;数据功能&#xff08;二&#xff09;事务功能 三、原始功能点的估算方法&#xff08;一&#xff09;功能点分类估算&#xff0…...

序列化与反序列化

序列化和反序列化是数据处理中的两个重要概念&#xff0c;它们在多种场景下都非常有用&#xff0c;尤其是在分布式系统、网络通信、持久化存储等方面。下面是对这两个概念的详细解释&#xff1a; 序列化&#xff08;Serialization&#xff09; 定义&#xff1a;序列化是将对象…...

安装nginx实现多ip访问多网站

[rootlocalhost ~]# systemctl stop firewalld 关防火墙 [rootlocalhost ~]# setenforce 0 关selinux [rootlocalhost ~]# mount /dev/sr0 /mnt 挂载点 [rootlocalhost ~]# dnf install nginx -y 安装nginx [rootlocalhost ~]# nmtui 当前主机添加多地址 [rootlocal…...

每日回顾:简单用C写 冒泡排序、快速排序

冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它通过重复遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行直到没有再需要交换&#xff0c;也就是说该数列已…...

前端_007_Axios库

文章目录 配置响应结构拦截器 引入&#xff1a; 官网&#xff1a; https://www.axios-http.cn/ 一句话简介&#xff1a;浏览器里基于XmlHttpRequests&#xff0c;node.js里基于http模块封装的网络请求库&#xff0c;使用非常方便 //通用例子axios({method:post,url: request…...

NAND FLASH 与 SPI FLASH

面试的时候再有HR针对从数据手册开始做&#xff0c;直接说明&#xff1a;例如RK3588等高速板设计板都有设计指导书&#xff0c;基本把对应的DDR等型号和布局规范都说明&#xff0c;或者DCDC电路直接给一个典型设计原理图&#xff0c;或者BMS更加经典&#xff0c;原理图给的是最…...

seo网站推广经理/搜狗推广登录

文章目录前言一致性保证可线性化线性化的依赖条件(使用场景)实现线性化系统线性化的代价顺序保证顺序与因果关系序列号排序全序关系广播分布式事务与共识原子提交与两阶段提交实践中的分布式事务XA交易支持容错的共识共识算法与全序广播Epoch和Quorum共识算法局限性成员与协调服…...

卓航网站开发/企业宣传片

心路历程&#xff1a; 之前学linux&#xff0c;虽然学的行算不错&#xff0c;不过总感觉差了点什么&#xff0c;自己找不到也说不出来&#xff1b;直到有一天我看到别人mount上了一个普通文件&#xff1b; 当时给我的感觉这太不可思议了&#xff0c;这个文件又不是块设备&#…...

一个网站一年的费用/百度账号官网

求 $2^{2^{2^{2...}}}$ 即 $2^{2^\infty }$ 有扩展欧拉定理 &#xff1a; $2^{b} \equiv2^{b\%\varphi(x)\varphi(x)}$$(b\geq\varphi(x))$ 在这道题中&#xff0c;$b$ 始终为 $2^{2^{\infty}}$, 大小并不会减小. 好在 $\varphi(x)$ 的值会不断变小.递归出口为 $x1$&#xff0c…...

游戏网站代码/超级软文网

■set 置数&#xff1b; ■unset 这个命令从解释器中删除变量&#xff0c;它后面可以有任意多个参数&#xff0c;每个参数是一个变量名,可以是简单变量&#xff0c;也可以是数组或数组元素。例如&#xff1a; % unset a b day(monday) 上面的语句中删除了变量 a、 b 和数组元素…...

邢台做网站多少钱/自己建网站流程

在 asyncData 有错误的时候会出现这个错误,这个可以自定义吗? 可以, 完全自定义错误页面 不知道是不是官方文档故意不添加此方法&#xff0c;还是他们完全忘记了有这么一回事&#xff0c;此方法是通过 issues 找到的。 项目目录新增 app/views/error.html&#xff0c; app …...

做网站需要独立ip吗/做推广app赚钱的项目

题意&#xff1a;给你一个n*m的棋盘&#xff0c;问你最多可以放几个马&#xff0c;他们之间互不攻击。 xmin(n,m),ymax(n,m) 当x1时&#xff0c;输出y。 当x2时&#xff0c;输出我们可以放若干个田字。 当x>2时&#xff0c;我们全放在白格子或者黑格子上面。 #include &…...