【图像压缩感知】论文阅读: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. 硬件异…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
当下AI智能硬件方案浅谈
背景: 现在大模型出来以后,打破了常规的机械式的对话,人机对话变得更聪明一点。 对话用到的技术主要是实时音视频,简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术,开发自己的大模型。商用方案多见为字节、百…...
零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
经过前面几期的内容我们学习了很多网络安全的知识,而这期内容就涉及到了前面的第六期-RCE模块,第七期-File inclusion模块,第八期-Unsafe Filedownload模块。 什么是"遍历"呢:对学过一些开发语言的朋友来说应该知道&…...