当前位置: 首页 > 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、测试优先级(功能…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...