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

计算机视觉——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)方法,为真实雨域图像获取更准确、更鲁棒的伪标签,并利用在线生成的伪标签训练双分支脱轨网络,减小合成域与真实域的域差;在公共基准数据集(包括合成数据集和真实数据集)上进行了大量的实验,实验结果表明,我们提出的框架与目前最先进的模型相比具有良好的性能。

image-20230517100858807

首先,图1(a)所示的真实雨纹与合成雨纹在分布上存在一定的差异。从图1(a)中可以看出,真实的雨屏图像与合成的雨屏图像相比具有多个方向,这导致合成的雨屏图像在真实的雨屏图像中不能包含足够大的雨屏条纹分布范围。

其次,现有的降雨去除模型只考虑了合成域与真实域之间的域间差距,忽略了不同合成数据集上的域内偏移,如图1(b)所示。从图1(b)可以看出,来自不同合成数据集的两幅雨像的密度和方向有很大的不同。

此外,我们还对三个不同的合成数据集进行了简单的实验,验证了由于合成域内的域内移动而导致的降雨去除的影响。实验结果如表1所示。

image-20230517101819279

由表1可知,在一个合成数据集上训练的降雨去除模型在另一个合成数据集上测试时,由于合成数据集的域内移位,不能得到满意的结果。需要注意的是,雨水去除模型与本文的单支脱轨网络结构相同。

在公共基准数据集(包括合成数据集和真实数据集)上进行的大量实验表明,与目前最先进的全监督和半监督单图像解列模型相比,我们提出的框架是有效的。

3. Proposed method

image-20230517102543438

如图2所示,来减小不同合成域之间的域内偏移和合成域与实域之间的域间间隙。该模型主要包括网络结构、标记合成域协作学习、无标记实域协作学习和综合损耗函数。

3.1 网络架构

雨图像可以建模为背景图像与雨纹信息的线性求和,表示为:

o = b + r (1)

式中,o为原始雨纹图像,b为背景图像,r为雨纹信息。

如何设计一个健壮的雨纹学习网络,更好地学习合成雨型和真实雨型,对于提高单幅图像解析模型的性能至关重要。为了解决这一问题,本文提出了雨纹学习网络(RSL)。

式(1)还可以转化为:

b = o− RSL(o) (2)

为了提高雨纹的表达能力,我们构造了多尺度注意剩余块(MSARB)。

image-20230517103117711

image-20230517103128585

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

image-20230517103230264

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所示。

image-20230517103541285

此外,采用峰值信噪比(PSNR) (Huynh-Thu & Ghanbari, 2008)和结构相似度(SSIM) (Wang et al., 2004)来评价模型性能。

4.3 合成图像的结果

Rain200L、Rain1200和Rain1400的定性结果分别如图4和图5所示。从图4和图5可以看出,所提出的有监督和半监督的CDCL具有更高的定性性能,特别是在图4和图5中以红色线框标记的部分局部区域。因此,可以断言,我们提出的框架性能优于最先进的监督和半监督图像去雨模型。

image-20230517103704916

image-20230517103718708

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

image-20230517103744339

4.8 建模复杂度和运行时间

在本节中,我们将所提模型的参数和时间复杂度与最先进的监督和半监督图像解推理模型进行比较。各模型的实验结果见表12。

image-20230517104007775该模型在参数和时间复杂度方面都达到了可接受的性能,这表明该方法可以在可接受的计算代价下获得令人满意的解算结果。

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、测试优先级(功能…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...