【图像压缩感知】论文阅读:Content-Aware Scalable Deep Compressed Sensing
tips: 本文为个人阅读论文的笔记,仅作为学习记录所用。本文参考另一篇论文阅读笔记
Title: Content-Aware Scalable Deep Compressed Sensing
Journal: TIP 2022
代码链接: https://github.com/Guaishou74851/CASNet
文章地址: https://ieeexplore.ieee.org/document/9854112
问题动机
现有的模型驱动深度学习CS方法计算成本高且可扩展性较弱,而深度卷积神经网络在某些方面也有局限。
解决方法
提出了CASNet框架,包含自适应采样率分配、细粒度可扩展性、高质量重建这三部分。
自适应采样率分配 :利用基于CNN的图像显著性检测器,根据图像内容自适应分配CS比率。
细粒度可扩展 :可学习的生成矩阵促进可扩展和自适应的采样过程。
高质量重建 :对传统PDG算法进行改写,将基于凸优化的方法(GD部分)和基于深度网络的方法(PM部分)结合起来进行图像恢复。
本文贡献
1、提出一种内容感知的可扩展网络,称为CASNet,实现分块CS比例分配,并由单个网络处理任意采样率r∈[0,1]下的图像CS任务。据我们所知,这是第一次将CS比率分配、模型可扩展性和展开恢复集成在一起的工作
2、提出采用轻量级CNN自适应检测图像显著性分布,并设计一种块比例聚合(BRA)策略来实现逐块CS比例分配,而不是像以往基于显著性的方法那样使用手工制作的检测函数
3、为CASNet评估提供了两种促进策略和四阶段实施。实验表明,CASNet基于其不同组件和策略之间固有的强兼容性和相互支持,优于最先进的CS方法
整体架构

采样子网

显著性检测
采用CNN作为显著性检测器来评估图像每个位置的显著性,突出不同区域的重要信息
CS比率分配
首先,对原图像进行分块处理。
设计了一种块比例聚合(BRA)策略,具体内容如下:

逐块采样
将原图像按块展开,每个块根据其自适应的观测矩阵,进行采样。

初始化子网
直接按块,使用转置矩阵对数据进行初始化。
这一部分就十分简单。
恢复子网

将传统的PGD算法进行转换,并深度展开:

块梯度下降
引入辅助变量Z,梯度下降部分还是保留传统的。

显著性信息引导近端映射
第二阶段使用了一种称为 U-Net 的网络结构,包含了编码器和解码器模块,以及跳跃连接,这有助于改善图像的恢复质量。
显著性特征图是基于图像内容的重要性生成的,这在网络中用于指导重建过程,以便更好地恢复图像的细节。
采样率映射表显示了根据显著性信息为图像的不同区域分配的采样率。
映射表被扩展以适应 U-Net 的输入尺寸要求。
卷积层和残差块用于处理特征图,上采样和下采样操作用于在不同的尺度上捕获特征。

实验
消融实验

功能特性、时间、参数数对比

性能对比

本文小结
为了全面解决图像CS问题,提出了一种新的内容感知可扩展网络CASNet,该网络试图充分利用传统方法的优点,共同实现自适应CS比例分配、细粒度可扩展性和高质量重建。与以往基于显著性的方法不同,使用数据驱动的显著性检测器和块比聚合(BRA)策略来实现准确的采样率分配。提出了一种统一的可学习生成矩阵,用于生成降低记忆复杂度的采样矩阵。PGD展开恢复子网利用CS比信息和块间关系逐步恢复图像。我们使用基于SVD的初始化方案来加速训练,并使用随机变换增强(RTE)策略来提高网络的鲁棒性。
CASNet的所有参数都可以端到端不加区分地学习,其组件和策略之间具有很强的兼容性和相互支持。此外,考虑了CASNet框架和物理CS系统之间可能存在的差距,并为公平评估和实际部署提供了四个阶段的实施。大量的实验表明,CASNet大大改进了最先进的CS方法的结果,具有高结构效率和深刻的矩阵洞察力。
读者小结
本文还是在追求一种自适应的压缩感知,这是一种更加接近真实环境的情况,追求质量的优化、效率的提升,肯定是值得做的。
但我对其中的一些内容有相当的疑问,在显著性检测部分,需要对真实图像数据(Ground Truth)进行检测,但图像压缩感知本质上追求的还是一个病态的逆成像问题,追求的还是将少量测量的信号恢复成原始数据,因此我的GT数据应该是很难获得的。若没有GT数据,那我又该对谁进行显著性检测呢?
还有,我不确定这个显著性检测的泛化性如何,在训练集上训练完的自适应采样矩阵放到其他数据集中,是否还能达到自适应,若是还需要调整,那是否还是需要GT数据?
既然已有了GT数据,那我又何必还要进行复杂的网络迭代,得到一个结果呢?
相关文章:
【图像压缩感知】论文阅读:Content-Aware Scalable Deep Compressed Sensing
tips: 本文为个人阅读论文的笔记,仅作为学习记录所用。本文参考另一篇论文阅读笔记 Title: Content-Aware Scalable Deep Compressed Sensing Journal: TIP 2022 代码链接: https://github.com/Guaishou74851/CASNet…...
物理hack
声明 声明 文章只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍🏻作者简介:致力于网络安全领域,目前作为一名学习者,很荣…...
Linux——环境基础开发工具使用2(正在更新中...)
1.自动化构建-make/Makefile 1.1 认识make和Makefile make是一个命令; Makefile是一个文件。 1.2 理解 其中在第一个图片中,第一行的 mytest:test.c 叫做依赖关系;第二行的 gcc test.c -o mytest 叫做依赖方法。 依赖关系和依赖方法共同…...
STM32传感器模块编程实践(十二) micro SD卡模块简介及驱动源码
文章目录 一.概要二.Micro SD卡模块主要特性三.Micro SD卡模块接线说明四.Micro SD卡模块参考原理图五.通讯协议介绍六.FATFS文件系统介绍七.STM32F030C8T6单片机与SD卡模块实现数据读写实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 八.源代码工程下载九.小结 一.概要 M…...
Linux debian系统安装ClamTk开源图形用户界面(GUI)杀毒软件
一、ClamTk简介 ClamTk 是一个基于 ClamAV 的开源图形用户界面(GUI)杀毒软件。它使用 GTK2-Perl 脚本构建而成,支持32位与64位操作系统。ClamTk 提供了一个直观的用户界面,使得用户无需深入了解命令行即可完成大部分操作。它具备…...
RapidIO介绍
传统串行总线(如 UART, SPI, I2C 等) 特点: 接口简单:传统的串行总线设计相对简单,通常使用少量的引脚,因此硬件设计较为简洁。协议简单:这些协议设计简单,容易实现,因…...
用魔方做存储器
用魔方模拟存储器是一种形象化的方式,特别适合教学演示或帮助理解存储器结构。以下是如何将魔方作为存储器的设计思路和可能的实现: 基本思路 魔方的结构: 魔方有 (6) 个面,每面 (3 \times 3 9) 个方块,总共 (6 \time…...
动力商城-03 Idea集成apifox Mybatis-Plus字段策略
1.Idea下载apifox插件 2.新建令牌放入Idea 3.右键上传到对应接口 4.设置前置url 插件能够自动识别swagger注解 Mybatis-Plus字段策略 1、FieldStrategy作用 Mybatis-Plus字段策略FieldStrategy的作用主要是在进行新增、更新时,根据配置的策略判断是否对实体对…...
python如何使用Rabbitmq
目录 一、Rabbitmq介绍 二、Rabbitmq的使用场景 1、异步处理 2、服务解耦 3、流量削峰 4、日志收集 5、发布订阅 6、任务调度 三、python如何使用Rabbitmq 1、安装依赖 2、基础使用 3、消息确认 4、消息持久化 5、公平调度 6、发布订阅 7、关键字发布 一、Rabbi…...
分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign
想学习微服务SpringCloudAlibaba的小伙伴,可以观看视频 地址: https://www.bilibili.com/video/BV1cFDEYWEkY/?vd_source14d27ec13a4737c281b7c79463687112分布式架构和微服务是两个密切相关但又有所区别的概念。它们在现代软件工程中经常被提及&#…...
MySQL初学之旅(3)约束
目录 1.前言 2.正文 2.1约束类型 2.2NULL约束 2.3UNIQUE约束 2.4DEFAULT约束 2.5PRIMARY KEY主键约束 2.6FOREIGN KEY外键约束 2.7CHECK约束 3.小结 1.前言 哈喽大家好啊,今儿来继续给大家分享最近学习的MySQL和约束相关的知识点,希望大家一起…...
使用YOLOv9进行图像与视频检测
大家好,YOLOv9 与其前身v8一样,专注于识别和精确定位图像和视频中的对象。本文将介绍如何使用YOLOv9进行图像与视频检测,自动驾驶汽车、安全系统和高级图像搜索等应用在很大程度上依赖于此功能,YOLOv9 引入了比 YOLOv8 更令人印象…...
C# 中的 LINQ:轻松处理集合和数据
C#中的LINQ(Language Integrated Query),这是一个非常强大且实用的功能,可以简化集合操作和数据查询。以下是一篇关于C#中LINQ使用的文章。 引言 LINQ(Language Integrated Query)是C#语言的一个重要特性…...
【征稿倒计时!华南理工大学主办 | IEEE出版 | EI检索稳定】2024智能机器人与自动控制国际学术会议 (IRAC 2024)
#华南理工大学主办!#IEEE出版!EI稳定检索!#组委阵容强大!IEEE Fellow、国家杰青等学术大咖领衔出席!#会议设置“优秀论文”“优秀青年学者报告”“优秀海报”等评优奖项 2024智能机器人与自动控制国际学术会议 &#…...
RHCE的学习(20)
变量5种赋值方式 shell中变量赋值5种方式,其中采用name10的方法称A 直接赋值 nameB read命令 read v1C 使用命令行参数 ($1 $2 $3 ..) name$1D 使用命令的输入 username$(whoami)E 从文件读取 #cut -d : -f1 /etc/passwd > /user.listfor…...
控制器ThinkPHP6
五、控制器中对数组值的返回 在做接口服务时,很多时候回使用数组作为返回值,那么数组如何返回成 json呢? 在 tp6 中返回json 很简单,直接使用 json 进行返回即可,例如: public function index(){$resarra…...
1. Django中的URL调度器 (项目创建与简单测试)
1. 创建 Django 项目 运行以下命令创建一个名为 blog_project 的 Django 项目: django-admin startproject blog_project2. 创建博客应用 Django 中,项目可以包含多个应用。创建一个名为 blog 的应用: cd blog_project python manage.py …...
学习python的第十天之数据类型——dict字典
学习python的第十天之数据类型——dict字典 Python 中的字典(Dictionary)是一个非常强大的内置数据类型,它用来存储键值对(key-value pairs)信息。字典是无序的,这意味着它们不会记录你添加键值对的顺序&am…...
华为Mate 70临近上市:代理IP与抢购攻略
随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。而在众多智能手机品牌中,华为一直以其卓越的技术和创新力引领着行业的发展。近日,华为Mate 70系列手机的发布会正式定档在11月26日,这一消息引发了众多科技爱…...
进程信号
目录 信号入门 1. 生活角度的信号 2. 技术应用角度的信号 3. 注意 4. 信号概念 5. 用kill -l命令可以察看系统定义的信号列表 6. 信号处理常见方式概览 产生信号 1. 通过终端按键产生信号 Core Dump 2. 调用系统函数向进程发信号 3. 由软件条件产生信号 4. 硬件异…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
