计算机视觉——day 92 基于跨领域协作学习的单图像去雨
基于跨领域协作学习的单图像去雨
- 1. Introduction
- 3. Proposed method
- 3.1 网络架构
- 4. Experiments and results
- 4.1 数据集和指标
- 4.3 合成图像的结果
- 4.8 建模复杂度和运行时间
- 5. Conclusion
1. Introduction
深度卷积神经网络(DCNN)在图像解析任务中取得了优异的性能。然而,目前的大多数方法都将雨带(rain streak)的去除视为一对一的问题,往往忽略了不同合成数据集的域内偏移。因此,在一个合成数据集上训练的脱轨模型不能有效地去除其他合成数据集的雨带。
为了解决这一问题,本文提出了一个跨领域协同学习(CDCL)框架,以最小化域内移动和域间差距。
首先,提出了一种基于协同学习的双分支脱轨网络来消除图像雨纹在合成域内的分布偏移;然后,设计了一种跨域伪标签生成(CDPLG)方法,为真实雨域图像获取更准确、更鲁棒的伪标签,并利用在线生成的伪标签训练双分支脱轨网络,减小合成域与真实域的域差;在公共基准数据集(包括合成数据集和真实数据集)上进行了大量的实验,实验结果表明,我们提出的框架与目前最先进的模型相比具有良好的性能。

首先,图1(a)所示的真实雨纹与合成雨纹在分布上存在一定的差异。从图1(a)中可以看出,真实的雨屏图像与合成的雨屏图像相比具有多个方向,这导致合成的雨屏图像在真实的雨屏图像中不能包含足够大的雨屏条纹分布范围。
其次,现有的降雨去除模型只考虑了合成域与真实域之间的域间差距,忽略了不同合成数据集上的域内偏移,如图1(b)所示。从图1(b)可以看出,来自不同合成数据集的两幅雨像的密度和方向有很大的不同。
此外,我们还对三个不同的合成数据集进行了简单的实验,验证了由于合成域内的域内移动而导致的降雨去除的影响。实验结果如表1所示。

由表1可知,在一个合成数据集上训练的降雨去除模型在另一个合成数据集上测试时,由于合成数据集的域内移位,不能得到满意的结果。需要注意的是,雨水去除模型与本文的单支脱轨网络结构相同。
在公共基准数据集(包括合成数据集和真实数据集)上进行的大量实验表明,与目前最先进的全监督和半监督单图像解列模型相比,我们提出的框架是有效的。
3. Proposed method

如图2所示,来减小不同合成域之间的域内偏移和合成域与实域之间的域间间隙。该模型主要包括网络结构、标记合成域协作学习、无标记实域协作学习和综合损耗函数。
3.1 网络架构
雨图像可以建模为背景图像与雨纹信息的线性求和,表示为:
o = b + r (1)
式中,o为原始雨纹图像,b为背景图像,r为雨纹信息。
如何设计一个健壮的雨纹学习网络,更好地学习合成雨型和真实雨型,对于提高单幅图像解析模型的性能至关重要。为了解决这一问题,本文提出了雨纹学习网络(RSL)。
式(1)还可以转化为:
b = o− RSL(o) (2)
为了提高雨纹的表达能力,我们构造了多尺度注意剩余块(MSARB)。


两个单支脱轨网络包含相同的结构参数,如表3所示

4. Experiments and results
4.1 数据集和指标
我们选择了三个合成数据集,包括Rain200L (Yang et al., 2017)、Rain1200 (Zhang & Patel, 2018)和Rain1400 (Fu et al., 2017),以及一个真实的图像解列数据集来评估我们的CDCL框架用于图像解列的性能。
Rain200L数据集(Yang et al., 2017)在训练集中包含1800幅合成图像对,在测试集中包含200幅图像对。
Rain1200数据集(Zhang & Patel, 2018)包括12,000对用于训练的图像和1200对用于测试的图像。
Rain1400数据集(Fu et al., 2017)由12,600对用于训练的合成图像和1400对用于测试的合成图像组成。
真实图像解析数据集(Wang et al., 2019)包含1000幅真实的雨天图像。四个公共数据集的详细信息如表4所示。

此外,采用峰值信噪比(PSNR) (Huynh-Thu & Ghanbari, 2008)和结构相似度(SSIM) (Wang et al., 2004)来评价模型性能。
4.3 合成图像的结果
Rain200L、Rain1200和Rain1400的定性结果分别如图4和图5所示。从图4和图5可以看出,所提出的有监督和半监督的CDCL具有更高的定性性能,特别是在图4和图5中以红色线框标记的部分局部区域。因此,可以断言,我们提出的框架性能优于最先进的监督和半监督图像去雨模型。


如表5所示,我们提出的模型在Rain200L、Rain1200和Rain1400上获得了较好的性能,与其他监督图像去核模型相比。此外,与其他半监督图像解算方法相比,我们提出的模型在无标签合成数据下获得的SSIM和PSNR值也取得了更高的结果。

4.8 建模复杂度和运行时间
在本节中,我们将所提模型的参数和时间复杂度与最先进的监督和半监督图像解推理模型进行比较。各模型的实验结果见表12。
该模型在参数和时间复杂度方面都达到了可接受的性能,这表明该方法可以在可接受的计算代价下获得令人满意的解算结果。
5. Conclusion
在本文中,我们提出了一种跨领域的协作学习方法来完成单个图像的解析任务。首先,提出了一种基于MSARB的双分支脱轨网络,通过协作学习消除图像雨纹在合成域内的分布偏移;然后,利用在线生成的伪标签对双分支脱轨网络进行训练,减小合成域与实域之间的域差;在多个数据集上的大量实验表明,基于标记合成域和无标记实域的协同学习方法有效地提高了网络模型的降雨去除泛化能力。与现有的基于单个合成域雨纹信息的半监督雨纹去除方法相比,我们提出的方法充分利用了不同合成雨纹的多样性和互补性,更好地实现了从合成域到实际域的知识脱轨转移。然而,该模型对真实雨型信息的适应能力仍然不足。未来,我们将设计一个雨纹学习网络,以便更好地模拟真实雨纹信息的方向和密度。
相关文章:
计算机视觉——day 92 基于跨领域协作学习的单图像去雨
基于跨领域协作学习的单图像去雨 1. Introduction3. Proposed method3.1 网络架构 4. Experiments and results4.1 数据集和指标4.3 合成图像的结果4.8 建模复杂度和运行时间 5. Conclusion 1. Introduction 深度卷积神经网络(DCNN)在图像解析任务中取得了优异的性能。然而&am…...
Java 正则表达式
Java 正则表达式 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 示例 boolean b String.matches(String regex) ;regex 有2种形式: 字符串 直接就是一…...
Oracle索引知识看这一篇就足够
🏆 文章目标:本篇介绍Oracle索引知识以及案例场景 🍀 Oracle索引知识看这一篇就足够 ✅ 创作者:Jay… 🎉 个人主页:Jay的个人主页 🍁 展望:若本篇讲解内容帮助到您,请帮忙…...
kafka命令行操作
新老版本kafka命令行操作 啓動Kafka: kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties Kafka命令行操作 查看当前集群中已存在的主题topic 旧的方式 kafka-topics.sh --zookeeper bdphdp01:2181 --list kafka-topics.sh --zookeeper bdphd…...
Pinia 上手使用(store、state、getters、actions)
参考链接:https://juejin.cn/post/7121209657678364685 Pinia官方:https://pinia.vuejs.org/zh/introduction.html 一、安装 npm i pinia -S二、main.js 引入 import { createApp } from "vue" import App from "./App.vue" impor…...
C++小项目之文本编辑器mynote(1.0.0版本)
2023年5月19日,周五晚上: 今天晚上突然想写一个运行在命令行上的文本编辑器,因为平时写文本时老是要创建新的文本文件,觉得太麻烦了。捣鼓了一个晚上,才选出一个我觉得比较满意的。我把这个程序添加到了系统环境变量中…...
人工智能的界面革命,消费者与企业互动的方式即将发生变化。
本文来源于 digitalnative.substack.com/p/ais-interface-revolution 描述了一种社会现象: 随着真实友谊的减少和虚拟友谊的增加,越来越多的人开始将AI聊天机器人视为自己的朋友,甚至建立了深厚的情感纽带。这可能与当前人们越来越孤独的现实…...
深度学习课程:手写体识别示例代码和详细注释
Pytorch 的快速入门,参见 通过两个神经元的极简模型,清晰透视 Pytorch 工作原理。本文结合手写体识别项目,给出一个具体示例和直接关联代码的解释。 1. 代码 下面代码展示了完整的手写体识别的 Python 程序代码。代码中有少量注释。在本文后…...
10-03 单元化架构设计
设计原则 透明 对开发者透明 在做实现时,不依赖于单元划分和部署对组件透明 在组件运行时,不感知其承载单元对数据透明 数据库并不知道为哪个单元提供服务 业务可分片 系统业务复杂度足够高系统可以按照某一维度进行切分系统数据必须可以被区分 业务…...
JAVA—实验3 继承与多态
一、实验目的 1.掌握类的继承机制 2.掌握抽象类的定义方法 2.熟悉类中成员变量和方法的访问控制 3.熟悉成员方法或构造方法的多态性 二、实验内容 1. Circle类及其子类 【问题描述】 实现类Circle,半径为整型私有数据成员 1)构造方法:参数为…...
TCP协议和相关特性
1.TCP协议的报文结构 TCP的全称为:Transmission Control Protocol。 特点: 有连接可靠传输面向字节流全双工 下面是TCP的报文结构: 源端口和目的端口: 源端口表示数据从哪个端口传输出来,目的端口表示数据传输到哪个端口去。…...
【SpringCloud组件——Eureka】
前置准备: 分别提供订单系统(OrderService)和用户系统(UserService)。订单系统主要负责订单相关信息的处理,用户系统主要负责用户相关信息的处理。 一、微服务当中的提供者和消费者 1.1、概念 服务提供…...
JVM面试题(一)
JVM内存分哪几个区,每个区的作用是什么? java虚拟机主要分为以下几个区: JVM中方法区和堆空间是线程共享的,而虚拟机栈、本地方法栈、程序计数器是线程独享的。 (1)方法区: a. 有时候也成为永久代,在该区内…...
c# 无损压缩照片大小,并且设计了界面,添加了外部Ookii.Dialogs.dll,不一样的选择文件夹界面,并且可以把外部dll打包进exe中
c# 无损压缩照片大小,并且设计了界面,添加了外部Ookii.Dialogs.dll,不一样的选择文件夹界面,并且可以把外部dll打包进exe中 using System; using System.Collections; using System.Collections.Generic; using System.ComponentM…...
《统计学习方法》——隐马尔可夫模型(上)
引言 这是《统计学习方法》第二版的读书笔记,由于包含书上所有公式的推导和大量的图示,因此文章较长,正文分成三篇,以及课后习题解答,在习题解答中用Numpy实现了维特比算法和前向后向算法。 《统计学习方法》——隐马…...
ElasticSearch删除索引【真实案例】
文章目录 背景分析解决遇到的问题 - 删除超时报错信息解决办法1:调大超时时间解决办法2:调大ES堆内存参考背景 项目中使用了ELK技术栈实现了日志管理,但是日志管理功能目前并没有在生产上实际使用。 但ELK程序依然在运行,导致系统磁盘发生告警,剩余可用磁盘不足10%。 所以…...
基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集设计(三)连续多段触发存储及传输逻辑设计
本章将完成数据速率为 80MHz 、位宽为 12bits 的 80 路并行采样数据的连续多 段触发存储。首先,给出数据触发存储的整体框架及功能模块划分。然后,简介 MIG 用户接口、设置及读写时序。最后,进行数据跨时钟域模块设计,内存…...
对 Iterator, Generator 的理解?
Iterator Iterator是最简单最好理解的。 简单的说,我们常用的 for of 循环,都是通过调用被循环对象的一个特殊函数 Iterator 来实现的,但是以前这个函数是隐藏的我们无法访问, 从 Symbol 引入之后,我们就可以通过 Sy…...
C++基础
文章目录 C命名空间定义命名空间using指令不连续的命名空间嵌套的命名空间 面向对象类类成员的访问权限及类的封装对象类成员函数类访问修饰符构造函数和析构函数类的构造函数带参数的构造函数使用初始化列表来初始化字段类的析构函数拷贝构造函数 友元函数内联函数this指针指向…...
软件测试全流程
软件测试全流程 一、制定测试策略二、制定测试方案三、编辑测试用例四、执行测试用例五、输出问题单六、回归测试七、测试文件归档 一、制定测试策略 1、测试目的测试范围 2、用什么测试方法工具(例如功能测试用黑盒测试) 3、测试优先级(功能…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
