压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像

2023-11-12

【概述】

分辨率是成像系统的一个重要参数, 获得高分辨率图像一直是鬼成像系统的一个目标. 本文提出了以成 像系统点扩散函数作为先验知识, 基于稀疏测量的超分辨压缩感知鬼成像重建模型. 搭建了一套计算鬼成像 实验装置, 用于验证该模型对于提高鬼成像系统分辨率的有效性, 并与传统的鬼成像计算模型进行了对比.实验表明, 利用该模型可突破成像系统衍射极限分辨率的限制, 得到超分辨鬼成像.

【关键词:】鬼成像, 压缩感知, 超分辨, 稀疏测量

1、引言

    鬼成像(ghost imaging, GI), 是一种通过光场 强度关联测量恢复物体信息的技术. 由于其具有 区别于传统成像的特殊性质, 受到很多研究者的关 注 [1−7] . 在热光鬼成像中, 光源发出的光被分成两 路: 一路作为参考光, 一路作为信号光. 参考光不 经过物体, 在经过一定距离的自由传播后, 其强度 分布信息被一具有空间分辨能力的探测器所探测.信号光照射到待成像物体, 透射光或反射光被一不 具有空间分辨能力的桶探测器收集并记录总光强 值. 通过对两路光场的强度值进行关联计算, 即可 恢复出物体的信息. 由于鬼成像具有抗湍流扰动 能力以及可实现无透镜成像等优点 [8,9] , 因而其在 对地观测 [10,11]、雷达成像 [12]、生命科学 [13]、保密通 信 [14] 等领域具有广泛的应用价值.

分辨率是评价鬼成像性能的一个关键参数, 实 现高分辨率的成像, 对鬼成像投入实际应用具有重 要的促进作用, 如何提高鬼成像的分辨率也成为研 究的热点 [15−17] . 热光鬼成像的分辨率由光场的相 干长度决定, 光场的相干长度越小, 成像分辨率越高[18]. 由于真热光的相干时间很短, 探测难度较 大[19−21], 热光鬼成像较多地使用激光经过旋转的 毛玻璃等散射体产生的赝热光作为光源. 有研究表 明, 对于赝热光源, 在散射体表面光场的相干长度 最小, 随着光场的传播, 相干长度逐渐增大[22,23].因此要实现高分辨率的鬼成像, 可使用计算鬼成像 的光路系统 [24−26] , 将散射体表面的光场成像到物 体表面. 然而, 此时成像系统的衍射极限决定了物 体表面光场的最小相干长度, 限制了鬼成像分辨率 的进一步提高.

    近年来, Donoho等[27]和Candès等[28]提出的 压缩感知理论提供了一种新型的信号重建方法. 该 理论指出, 只要信号是可压缩的或在某个变换域下 是稀疏的, 可通过随机的观测矩阵将高维信号投影 到低维空间上, 并通过求解一个优化问题从少量的 投影值重建原始信号. 韩申生等 [29−33] 提出通过引 入稀疏约束, 利用压缩感知理论可实现超分辨鬼 成像.

    本文提出使用稀疏测量的探测方法, 并引入成 像系统的先验知识, 利用压缩感知理论实现超越衍 射极限的鬼成像, 得到高于传统稀疏约束鬼成像的 分辨率. 我们利用数字微镜阵列 (digital mircomir-ror device, DMD) 搭建了计算鬼成像的光路系统,并通过实验验证了这一方法提高鬼成像分辨率的 作用.

2、理论2.1 计算鬼成像

    图1 为计算鬼成像原理图. 激光照射在空间 光调制器(spatial light modulator, SLM) 上, 空间 光调制器对照在其上的光进行强度调制, 成像透镜L1 将调制后的具有光强分布 A(x, y) 的光场照射到 物体表面, 透镜L2对透过物体的所有光进行收集,由探测器Dt 探测其总光强. 与传统鬼成像相比,计算鬼成像光路的特殊之处在于, 参考光路光强分 布通过计算预先得知, 因而可省略参考光路. 计算 鬼成像只需一无空间分辨能力的桶探测器收集总 光强, 通过计算光场的光强分布和桶探测器得到的 总光强值的二阶关联, 即可得到对物体的成像.

e41f3ee117f02cded3e506b2da0dabc7.png

图 1:计算鬼成像原理图

SLM:空间光调制器

L1、L2:透镜

Dt:桶探测器

    成像时, SLM 进行 N 次随机调制, 每次调制产 生强度分布为Ai(x, y)的散斑场, Ai(x, y) 表示第i 次探测时坐标为 (x, y) 处的光强值. 桶探测器 Dt记录与每次随机调制对应的N个总光强值Yi. 将 散斑场的强度分布A 与光强测量值Y 进行关联运 算, 得到二阶关联函数:

G(2)(x, y) = ⟨Ai(x, y), Yi⟩− ⟨Ai(x, y)⟩ · ⟨Yi⟩, (1)

其中⟨⟩表示取平均值运算; i &

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像 的相关文章

  • 西门子PLC学习笔记十-(计数器)

    S7 300 400的计数器一般占两个字节 是16位的 CPU最多可以使用64 512个计数器 计数器地址编号为C0 C511 1 S CUD 加减计数器 加减计数器波形图 2 S CU 加计数器 3 S CD 减计数器 4 三种计数器对应
  • Unity制作多屏幕解决方案

    最近制作了一个多屏幕的项目 多屏幕指的是一个电脑主机 连接多个显示器 我这个项目使用了一个显卡连接了三个显示设备 Unity UGUI提供Canvas画布 在画布上有一个TargetDisplay的解决解决方案 Canvas结合Camera
  • 摸不着头脑,flatMap处理后居然无法去重(原来是数据库添加字段的时候多了个空格= =)

    前言 这应该是一个bug 这是一篇毫无营养的博客 当我正在尝试从页面中获取作者时 发现之前应该被Set包装的作者字符串居然发生了重复 于是我赶紧回到源码处 并加了条log日志 开始排查问题 我的代码是这样的 查作者 绝对也会有 Set
  • 死锁产生的四个必要条件(缺一不可)

    死锁产生必须同时满足四个条件 只要其中任意一条不成立 死锁就不会发生 1 互斥条件 进程要求对所分配的资源进行排他性控制 即在一段时间内某项资源只被 一个进程所占有 此时若有其他进程请求该资源 则请求进程只能等待 如图一 2 非抢占 进程所
  • 解决OptiSystem安装、使用过程中遇到的问题

    系统环境 Win10系统 问题1 在上一篇文章 Optisystem7 0安装教程 Win10系统 中提到 安装过程中会弹出一个对话框 需要点击 忽略 但是安装过程中出现下图错误 错误代码 0x3 点击忽略 仍然会继续弹出这个对话框 或者第
  • Flink实战-(1)Flink-CDC MySQL同步到MySQL(select)

    背景 基于select语句的Flink CDC 适用于数据同步的全量同步的场景 可以结合 Azkaban 或者dolphin scheduler 做定时调度 T 1 数据同步 1 maven
  • Verdi之nTrace/nSchema

    目录 3 nTrace介绍 3 1 启动Verdi 3 2查看Verdi中的设计结构 3 3查看Verdi中的验证结构 3 4 查找模块和trace信号 3 5 查找string 3 6 信号drive load 3 7 快速查看设计有哪些
  • 使用 javascript 将鼠标指针移动到特定位置

    请注意 无法将鼠标指针移动到 JavaScript 中的特定位置 主要原因是它会给用户带来安全问题并损害用户体验 在这篇文章中 我们将创建一个假的或自定义的鼠标指针 它可能看起来类似于默认系统的鼠标指针 然后我们将使用 JavaScript
  • 使用TensorBoard可视化模型

    为了了解发生的情况 我们在模型训练期间打印一些统计数据 以了解训练是否在进行中 但是 我们可以做得更好 PyTorch 与 TensorBoard 集成在一起 TensorBoard 是一种工具 用于可视化神经网络训练运行的结果 读取数据并
  • Q81:“三角形网格”之“PLY文件”

    81 1 引入 在 Q79 和 Q80 中用三角形网格细分曲面时 都是将每一个三角形的三个顶点的坐标都保存在内存中 这句话有两个重点 其一 每个三角形的三个顶点的坐标都计算了一次 但是 每个顶点都是被好几个三角形公用的 所以每个顶点的坐标被
  • 试题:网易笔试的一道题目

    写一个程序 打印出以下的序列 a b c d e z a b a c a d a e a z b c b d b z c d y z a b c a b d a b z a c d x y z a b c d x y z 这道题是从luci
  • mysql通用日志不打印_解决logback不打印mybatis的SQL日志的问题

    工作这么多年 今天还是因为Logback的这个问题稍微卡了一下 惭愧 问题描述 logback配置了如下信息 此处省略File Appender内容 logbase sql d yyyy MM dd log 30 d yyyy MM dd
  • SQL 语句中 where 条件后 写上1=1 是什么意思

    在编程过程中 经常会在代码中使用到 where 1 1 这是为什么呢 SQL注入 初次看到这种写法的同学肯定很纳闷 加不加where 1 1 查询不都一样吗 例如 select from customers 与 select from cu
  • Windows/Linux 部署Nacos遇到的问题及解决方法

    nacos的版本采用的是2 1 2 本片只记录部署过程遇到的问题 不涉及部署过程 Linux遇到的问题 com alibaba nacos core distributed raft exception JRaftException jav
  • C++项目(有注释超详细)

    规范代码 定义函数或者类尽量放到头文件中 这样不容易出现重复命名和代码冗杂的问题 pragma once include
  • 全新的eMPP(Elastic MPP),超越MPP的超弹性架构

    大数据时代 的概念最早由著名咨询公司麦肯锡提出 麦肯锡表示 数据已渗透到今天的每个行业和业务功能领域 并已成为重要的生产要素 数据在精巧的算法中被挖掘 数据分析变得至关重要 大家开始达成一个共识 数据计算 能够找到新发现 博思艾伦咨询公司的
  • 第1174期AI100_机器学习日报(2017-12-05)

    AI100 机器学习日报 2017 12 05 kegra 使用keras通过深度学习构建知识图谱 ChatbotsChina 图数据中的推理 微软亚洲研究院 浅谈NLP中条件语言模型 Conditioned Language Models
  • 第七课:BootRom的烧录

    目录 2 5 烧录BootRom 2 5 1 P2020 e500核 上电启动及boot流程 2 5 2 烧录BootRom到NorFlash 2 5 2 1 CodeWarrior的介绍
  • QT定时器

    QTimer使用 添加头文件 include

随机推荐

  • 推荐一个很适合程序员的副业!

    推荐一个超级赞的副业就是有声书录制 从2013年到现在已经火了9年时间 可谓是源远流长 这个兴趣爱好衍生出来的副业已经承载了上百万小白从业人员 头部主播的年收入都破了百万 有声书录制的发展历程可以概括为 或许曾经混沌 但必定未来可期 判断一
  • windows核心编程-杨波-专题视频课程

    windows核心编程 422人已学习 课程介绍 SDK 软件开发工具包 Software Development Kit SDK 一般是一些被软件工程师用于为特定的软件包 软件框架 硬件平台 作业系统等创建应用软件的开发工具的集合 MFC
  • Go语言基础(一)之函数调用、传参、反射机制、类型断言与转换

    Go语言基础 一 之函数调用 传参 反射机制 1 1 函数调用 package main func myFunction a b int int int return a b a b func main myFunction 66 77 使
  • 观察者模式实践-实现winform 窗体之间传值(事件实现)

    事件本身就是观察者模式的一个实现 先总结一下事件的使用 委托类型声明 定义发布者类 并声明事件 在发布者类中定义触发事件方法 定义订阅者类 并注册事件 在订阅者类中定义事件处理方法 针对事件 Net Framework提供了一个标准模式 主
  • linux epoll 非阻塞,Linux epoll 非阻塞connect

    为什么需要非阻塞connect 建立当前连接与其浪费等待 不如同时做些其它有意义的工作 可以异步建立多个连接 可以借助select epoll等系统调用设置合适的连接超时 而阻塞情况下只得等待默认的超时 网络上的文章大多是使用select来
  • PostgreSQL数据库保存图片

    一 postgresql 数据库的安装和配置 主要用到的命令 安装 PostgreSQL sudo apt get update sudo apt get install postgresql postgresql client 安装完毕后
  • 匿名内部类创建线程的两种方式

    我们知道多线程的实现有两种方式 一种是继承Thread类 另一种是实现Runnable接口 然后再重写run方法 最后开启线程 我们在普通的创建线程中 显然是比较麻烦的 那么有没有一个简单的方法呢 今天给大家介绍使用匿名内部类创建线程 为什
  • js逆向系列:企名片,获取js逆向后的真实数据!

    一 进入企名片创业项目 我们需要爬取如下数据 首先 对该网页进行抓包 发现这些数据是通过post请求获得的 这是网站给我们返回的数据 为什么和网页上显示的不一样呢 分析后得出 这是经过js加密后的数据 为了防止爬虫 网页对数据进行了加密 因
  • 没有50W彩礼,该怎么办

    大家好 我是才哥 刚过完春节 作为到了已婚甚至被催婚年龄的我们也开始讨论一个自古既有的话题 彩礼 今天上午 看到朋友圈刷屏了一个B站UP主的视频 没有50W彩礼 女朋友被强行拖走 我该怎么办 看完视频只想说 https www bilibi
  • Android面经_安卓面经(25/30)之MVC、MVP、MVVM全解析

    系列专栏 安卓高频面经解析大全专栏链接 150道安卓高频面试题全解析 安卓高频面经解析大全目录详情 安卓面经 anroid面经 150道安卓常见基础面试题全解析 安卓系统Framework面经专栏 Android系统Framework面试题
  • Python 5大常用魔术方法汇总

    前言 Python 中 以双下划线 包起来的方法 统称为 魔术方法 Magic Method 魔术方法是一个类或对象中的特殊方法 和普通方法的区别在于 普通方法需要手动调用 而魔术方法是在特定时刻自动触发执行的 如果希望根据自己的程序定制自
  • 开放原子开源基金会秘书长孙文龙:要打造以开发者为本的开源服务平台

    7月28日 2022开放原子全球开源峰会在北京亦创国际会展中心隆重举行开幕式 开放原子开源基金会秘书长孙文龙发表题为 凝心聚力 共拓开源 的演讲 开源开放 应运而生 开放原子开源基金会于2020年6月正式成立 作为我国首家开源基金会 也是目
  • 第一个solidity程序

    一 示例程序 SPDX License Identifier GPL 3 0 pragma solidity gt 0 4 16 lt 0 9 0 contract SimpleStorage uint storedData functio
  • 487. 金明的预算方案

    Powered by NEFU AB IN Link 文章目录 487 金明的预算方案 题意 思路 代码 487 金明的预算方案 题意 略 思路 可以将每个主件及其附件看作一个物品组 记主件为 p 两个附件为 a b 则最多一共有4种组合
  • ftp的passive模式

    昨天调试了半天的ftp passive模式 记录一下 今天在一台测试服务器上搭建ftp 折腾了许久 主要是不了解ftp的passive模式和port模式的区别 这里记录一下 和passive模式对应的叫做port模式 也叫做standard
  • Vue进阶——Vue CLI

    Vue进阶 Vue CLI 前言 一 什么是Vue CLI 二 怎么安装Vue CLI 1 Node 版本要求 2 已安装旧版本 3 安装完成 三 Vue CLI 创建Vue项目 1 Vue ui项目创建 1 1 预设 1 2 项目功能 1
  • Realme的Login接入过程记录

    为什么80 的码农都做不了架构师 gt gt gt 1 问题的提出 近期要使用Realme作为第三方接入 因为研究了一下Realme的请求过程 Request 和响应 Response 其中包含了一些加密和解密的方式 我们接下来分别从Req
  • 【Qt教程】1.9 - Qt5菜单栏、工具栏、状态栏、核心窗口、浮动窗口、QMainWindow

    1 窗口应用布局样式及组成 PC端软件 最基本的一个窗口应用布局样式 如下 大体可分为菜单栏 工具栏 状态栏 核心窗口 浮动窗口 使用时按需相互组合 2 Qt中调用这些控件 1 新建一个工程 使用QMainWindow类 2 例程源码 具体
  • Spring Security跨域问题解决

    前文介绍了 Spring 处理跨域问题的三种方案 现在来看看 Spring Security 的跨域问题解决方案 共有三种方案 摘自 深入浅出Spring Security 在实际项目使用中 推荐使用第三种方案 11 3 3 专业解决方案
  • 压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像

    概述 分辨率是成像系统的一个重要参数 获得高分辨率图像一直是鬼成像系统的一个目标 本文提出了以成 像系统点扩散函数作为先验知识 基于稀疏测量的超分辨压缩感知鬼成像重建模型 搭建了一套计算鬼成像 实验装置 用于验证该模型对于提高鬼成像系统分辨