【图像压缩感知】论文阅读: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. 硬件异…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...
高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。
2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...
