当前位置: 首页 > 编程日记 > 正文

心酸科研路:3年前CVPR论文,仅被引用11次,如今成就黑洞照片!

众所周知,黑洞照片已经朋友圈刷屏了,可你也许不知道这张照片背后的一个故事。

译者 | Linstancy、Major

编辑 | 琥珀

出品 | AI科技大本营(公众号ID:rgznai100)

近日,由天文学家公布的人类首张黑洞照片引起了轰动,在这张 “并不清晰” 的照片背后却是 Katie Bouman 团队早已在三年前就提出的新算法 CHIRP——使用 Patch priors 进行连续高分辨率图像重建获得的。当时,Bouman 还是 MIT 电子工程和计算机科学专业的一名 26 岁的研究生。2016 年 6 月,Bouman 等人在当年的 CVPR 会议上收录的 “Computational Imaging for VLBI Image Reconstruction” 的论文中介绍了这项新算法。值得一提的是,同年获 CVPR 最佳论文是提出的深度残差网络(ResNet)的何恺明等人。

该算法将从分布在全球各地的射电望远镜收集到的数据汇聚在一起,它是由一个名为 Event Horizon Telescope(EHT)的国际合作项目开发的。从本质上说,这个项目是将整个地球变成一个大型射电望远镜天线。

Event Horizon Telescope 项目采取的解决办法是协调射电望远镜在相离很远的地点进行测量。但即使是再多两倍的望远镜也会在数据中留下很大的缺口,因为它们需要大约 1 万公里宽的天线。填补这些空白正是 Bouman 等人提出新算法的目的。

以色列 Technion 电子工程系教授 Yoav Sechhner 认为,“论文作者使用了一种非常先进的方法来学习先验知识( priors ),从本质上说,先验知识约束着所探寻的未知世界。因此,利用少量采集的数据可以很好地确定球在时空中的确切状态。这种先验模型方法在 EHT 项目图像中的应用并不简单。作者承担了重大的努力和风险。它们在数学上合并成一个单一的优化公式,一个非常不同、复杂的感知过程和一个基于学习的图像先验模型。”

与之共同参与的还有 MIT 计算机科学与人工智能实验室的同事、哈佛史密森天体物理中心和麻省理工学院海斯塔克天文台团队,还有她的指导老师 MIT 计算机科学与人工智能实验室教授 Bill Freeman。

据悉,当时该篇论文公布后并未赢得太多人的关注,根据 Google Scholar 可以看到,这篇论文也仅被引用了 11 次。北京邮电大学副教授陈光感叹:“引用数未必代表工作的影响力,尤其是多学科工作!”

让我们重读这篇论文。

传送门:https://arxiv.org/abs/1512.01413

摘要:

VLBI (Very Long Baseline Interferometry) 即长距离的基线干涉测量法是一种利用地球上分布的望远镜所发射的无线电信号实现同步成像的技术。实现这一技术的挑战在于所重构细粒度的 VLBI 图像需要非常大量稀疏的数据,而这些数据可能含一定的噪声干扰,因而需要利用计算机视觉知识设计图像统计模型来解决这个问题。

本研究提出一种基于贝叶斯 (Bayesian) 的新颖方法来解决 VLBI 图像重构问题。相比于其他方法通过参数微调和筛选来处理不同类型数据,本研究所提出的方法 CHIRP, 能够在不同的方法设置如 low SNR 或 extended emission 等条件下,产生良好的结果。实验结果表明:该方法不仅可以在真实合成实验中取得良好的效果,还能成功应用于那些公开的真实数据集。目前,该研究项目已经开源。

链接:vlbiimaging.csail.mit.edu

简介

众所周知,天文学和物理学的进步离不开高分辨率的天体成像技术。例如,通过高分辨的成像技术能够回答有关黑洞及其周围边界物质分布的一些问题。由于遥远天体信号源的高分辨成像需要大直径的 single-dish 望远镜,而望远镜的直径和角分辨率的关系呈反向,因此即使直径再大的望远镜也无法将所采集的数据同时放在一个阵列中。这种情况下,需要使用多个这样的望远镜,即通过长距离基线测量法 VLBI 来得到所需的数据,其测量原理如下图1所示。

图1 频率覆盖图。(a) EHT 中望远镜位置示意图。通过观测某一天所发射的信号,得到所对应的源图像频率平面的椭圆轨迹。(b) 这些频率 (u, v) 是预计投射的基线位置,其长度垂直于望远镜对的视线。相同颜色的点对应于相同望远镜对的测量值。

由于 VLBI 技术所采用的是一组稀疏约束的源图像空间频率数据,这不适用于图像重构任务,且很大程度上需要依赖先验来指导优化过程。而对于 ETH,传统的图像重构算法也很难得到所要的高分辨率图像。因此,本研究利用计算机视觉技术,提出一种新颖的图像重构算法 CHIRP (Continuous High-resolution Image Reconstruction using Patch Priors)。

本文的主要贡献如下:

  • 提出一种改进的模型前向近似方法,用于更精确地对空间频率进行建模。

  • 提出一种更简单的问题公式化和优化策略,来解决 VLBI 数据噪声的影响。

  • 创建一个大型、真实的 VLBI 数据集 (地址:vlbiimaging.csail.mit.edu)。

数据集

本研究构建了一个大型的真实数据集和项目主页,用于评估 VLBI 图像重构算法的性能,希望通过大量易于理解的训练和测试数据,让更多领域的研究者能够理解这项研究。项目主页的内容主要包括:

用于 VLBI 图像算法训练和盲测 (blind test) 的标准数据,包括真实数据和合成数据,能够自动定量地评估算法性能。

算法性能的定性对比结果。

提供一个在线表格,可以根据使用者所指定的方法,轻松模拟真实数据图像和望远镜参数。

由于当前的干涉测量数据集难度较小,且所含有的噪声特性并不适合无线电波长。因此,本研究引入一个新的 VLBI 无线数据集,不仅能够揭示当时算法的不足,同时能够促进新算法的发展。该数据集包含:

  • 合成测量数据 (Synthesis Measurements):超过5000个标准格式的 VLBI 合成测量数据,包括各种阵列配置、源图像以及噪声级别。

  • 真实测量数据 (Real Measurements):提供了33组相同标准格式的 VLBI 测量数据,这些数据都是通过 VLBA (Very Long Baseline Array) 方法采集得到的,为算法的测试提供实验数据。

  • 测试集合和错误度量 (Test Set and Error Metrics):提供一组具有挑战性的合成数据用于算法的盲测 (blind test),该测试集引入公平定量的对比方法,包括 MSE、PSNR 以及带结构相似指数 (structural similarity, SSIM)的 MSE 指标,来评估算法间的性能。

方法

  • 连续图像表征 (Continuous Image Representation)

在此,对于想要恢复的图像 L (l, m),将其定义在角坐标 l 和连续空间 m 上。在图像重构时,许多算法通常假设一系列离散的点作为图像的数据源,这种离散化的数据将在优化期间引入一定的误差,特别是在拟合更高频率的可见性时。因此,本研究采用一个离散数项来参数化一副连续的图,这不仅能够对连续图像进行建模,还能减少优化过程的误差。由于每个测量的复杂可见性都近似于 L (l, m) 的傅里叶变换,因此图像的一种简便的参数化形式可以表征为一个平移缩放的连续脉冲函数的离散值,如三角脉冲。如下图2所示,可以看到相比于一组离散的是点数据源,这种图像表征能够更准确地近似真实的频率分量。

图2 精确的图像频率建模图。可以看到,在相同的参数量情况下,所提出的方法能够得到更加准确的真实频率分布,其中红色部分是真实图像的频率,而传统的离散图像模型用绿色表示,通过矩形和三角脉冲优化后的模型分别用青色和蓝色表示。

因此,本研究中采用两倍间距的三角脉冲函数,这等价于在脉冲中心进行线性插值,同时简化了非负的约束条件。值得一提的是,这不仅适用于 VLBI 图像重构,这种方法存在一定的普遍适用性。

  • Model Energy

基于给定复双谱测量值 M,采用最大后验概率 (MAP) 来估计图像系数 x。此外,得益于 patch prior 方法在图像存储方面的成功应用,在此采用高斯混合模型的 patch prior 来正则化图像,提出一种 EPLL 的方法 (Expected Patch Log Likelihood),并最小化最大后验概率的能量值,这与贝叶斯后验概率法 (Bayesian posterior probability)相似。

  • 优化过程

对于算法的优化,这里采用基于半二次方分裂法( Half Quadratic Splitting) 方法,并引入一组用于图像中每个重叠部分的辅助 patch 值,通过不断迭代来优化算法。而对于迭代过程,这里提出了一种多尺度的迭代框架 (Multi-scale Framework)。首先,初始化以小噪声为中心的图像 x0。随后,使用图像的离散化公式,增加脉冲数并作用于图像上。该框架允许在模型优化前得到最佳的低分辨率图像重构结果,也能有效地避免最终结果陷入局部的最优解。本研究的优化过程使用一组 20×20 的脉冲,并以10的大小,逐渐增加到 64×64。

实验结果

为了验证所提出算法 CHIRP 的有效性,本研究进一步在合成数据和真实的 VLBI 数据上进行大量的实验。

  • 合成数据的结果:下图3展示的是在 CHIRP 方法在合成数据上的结果,可以看到过滤掉空间频率的影响明显高于最小条纹的间距。

图3 合成数据上的结果 (最大分辨率图)

  • 方法对比:下图4展示的是其他三种最先进的算法 (SQUEEZE,BSMEM 和 CLEAN) 与 CHIRP 方法的结果对比。可以看到,CHIRP 方法能够处理各种不同的数据源,从简单的天体数据到复杂的自然图像,而不需要额外的参数调整。相比之下,CLEAN 产生的图像比较模糊,SQUEEZE 和 BSMEM 所得到的图像相对稀疏。

图4 各种方法的结果对比。

除了四种方法的结果,TARGET 图像表示的是由地面真实发射过滤到望远镜阵列中的最大分辨率图像。

此外,图5展示的各种算法在盲测数据集 (blind test) 上的结果,如下所示。由于 CLEAN 方法无法自动处理大的相位误差,因此无法对比不同方法的结果优劣。

图5 在盲测数据集 (blind test) 上的定量分析结果

  • 噪声敏感度:下图6展示的是当改变总体的磁通密度 (total flux density) 时,图像重构任务上噪声对每种方法的影响对比。

图6 噪声敏感度结果

  • Patch Prior的作用:下图7展示的是使用一个 patch prior 训练所得到 natural,celestial,black hole,l2 norm 以及 l0.8 条件下的黑洞图像。

图7 patch prior 对于图像重构的影响

  • 真实数据的结果:下图8展示的是 CHIRP 方法在三种不同的真实数据上的重构结果。

图8 在真实数据上的实验结果

结论

本研究主要提出一种 CHIRP 算法,使用稀疏的 VLBI 频率限制来重构图像。通过大量的实验证明,相比于当前最先进的方法,所提出的 CHIRP 方法在合成和真实数据上的实验结果都优于其他算法。

此外,本研究的另一贡献是构建了一个新的数据集以及在线的算法性能对比平台,希望这能够推动天体成像方面的研究。

一个小插曲

不过,就在 Katie Bouman 本人出名后,还出现了一个插曲,在 GitHub 上开源的黑洞算法代码库(https://github.com/achael/eht-imaging)里,她被质疑并非是代码的主要贡献者,而是另一个成员 Andrew Chael。

随后,Andrew Chael 很快发推特回应称:“如果你因为 Kaite 是名女性想要攻击她才来祝贺我,那么请走开,管好自己的事情。”他还澄清说明自己并为该项目编写 850000 行代码,目前的软件中有大约 68000 行代码,我并不关心我个人编写了多少行代码。”


无论如何,谁也无法抹杀他们在这项历史性项目上的贡献。

(本文为 AI大本营原创文章,转载请微信联系 1092722531

相关文章:

Redis和Memcache的区别是什么

Redis和Memcache都是内存数据库,但它们之间还是有区别的,跟着ytkah看看Redis和Memcache的区别吧 Redis 支持多种数据结构,如string,list,dict,set,zset,hyperloglog 单线程请求,所有命令串行执行,并发情况下不需要考虑…

windows加载符号小计

1、如果当前并没有设置符号路径和符号服务器,且当前正在调试, 则需要设置符号服务器和路径后,重新调试生效 2、如果当前有些pdb没有加载,因为这些pdb放在其他路径了,未加载,当把pdb拷到程序启动目录时&…

谈谈Python那些不为人知的冷知识(一)

本文转载自公众号Python编程时光(ID:Python-Time)小明在日常Code中遇到一些好玩,冷门的事情,通常都会记录下来。现在已经积攒了一些了,最近打算整理一波,发出来给大家补补。一篇只分享五个,有时…

【GStreamer】gstreamer工具详解之:ges-launch-1.0

三、ges-launch-1.0 1、简介 ges-launch-1.0:视频裁剪编辑,GStreamer编辑服务原型工具 详见官网:https://gstreamer.freedesktop.org/documentation/tools/ges-launch.html?gi-language=c#mandatory-arguments1 ges-launch-1.0 创建多媒体时间线并将其回放,或将其呈现为…

三大软件公司争霸赛区块链

导语:\\区块链技术发展到今天,区块链的扩容、吞吐量、运维弹性(Operational Resilience)、安全性、企业支持和Token管理等挑战,已成为区块链进一步发展绕不开的技术问题。\\突破这些现实技术挑战,不仅构能建…

【系列索引】结合项目实例 回顾传统设计模式 打造属于自己的模式类系列

网上设计模式的文章很多 虫子就不再和大家扯一些没有营养的理论 开此系列博文 一方面因为自己颓废了大半年 趁此机会回顾一下 另一方面希望能够帮助新人走出设计模式的误区, 如何做好设计模式 1.在发掘新的模式之前,必须熟悉理解现有的模式。许多模式看起来像是全新…

【GStreamer】gstreamer工具详解之:gst-discoverer-1.0

四、gst-discoverer-1.0 1、简介 gst-discoverer-1.0用于显示文件元数据和流信息,它可以运行在单独的文件或整个目录(递归到子目录中)。 2、命令格式: gst-discoverer-1.0 FILE|DIRECTORY|URI [FILE2|DIRECTORY2|URI2]选项详解 帮助选项 -h, --help Show help options…

一道简约而不简单的算法题——数据流的中位数 | 附动画解析

作者 | 程序员小吴转载自微信公众号(ID:CXYxiaowu)题目来源于 LeetCode 上第 295 号问题:数据流的中位数。难度级别为 Hard,目前通过率为 33.5% 。题目描述中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中…

HBase安装与命令行操作

2019独角兽企业重金招聘Python工程师标准>>> HBase简介 基于Hadoop的NoSql数据库,适合存储半结构化、非结构化的稀疏数据,提供增删改查能力。因为其底层是hdfs,所以具有存储海量数据,高容错,高可用等特点&a…

zip/unzip 命令

zip 命令 功能说明&#xff1a;压缩文件。语 法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]补充说明&#xf…

《App架构师实践指南》:移动开发的进阶指南

文章主要内容&#xff1a;什么是 app 架构师这本书主要内容读完感受什么是 App 架构师成为“架构师”是许多程序员的梦想&#xff0c;当然也包括我&#xff0c;在工作的几年里&#xff0c;我见过很多架构师&#xff0c;他们在设计某个大型系统时具备很大的话语权&#xff0c;可…

FoveaBox:目标检测新纪元,无Anchor时代来临 | 技术头条

作者 | CV君转载自我爱计算机视觉&#xff08;ID:aicvml&#xff09;目标检测的任务是“分类”并从图像中“定位”出物体&#xff0c;但长久以来&#xff0c;该领域的工作大多是这样&#xff1a;生成可能包含目标的区域&#xff0c;然后在该区域提取特征并分类。显然&#xff0…

【Ubuntu】安装中文输入法、终端不支持中文的解决方法

一、中文输入法安装 1、安装汉语语言包 sudo apt install fcitx sudo apt install language-pack-zh-hans2、安装google拼音输入法 sudo apt install fcitx-googlepinyin安装完毕后&#xff0c;重启或者退出登陆 3、安装sun-pinyin输入法 sudo apt install fcitx-sunpinyi…

CCNA 第一章 网际互联

第一章 网际互联 路由器知识点&#xff1a; 1、默认时&#xff0c;路由器不转发任何广播包和组播包。 2、路由器使用逻辑地址&#xff0c;逻辑地址在网络层的包头中&#xff0c;用来决定将包转发到的下一跳路由器。 3、路由器可以使用管理员创建的访问表来控制被允许进入或流出…

【Cmake】执行cmake命令时报错:No XSLT processor found

一、问题描述 在ubuntu中&#xff0c;在生成Doc(文档)中&#xff0c;执行cmake命令时报错&#xff1a;No XSLT processor found 二、原因查找 google该错误信息&#xff0c;原因是确实ubuntu中没有安装 xsltproc 三、解决方法 安装 xsltproc sudo apt install xsltproc四…

一张“黑洞”需要拍两年?有了它或许就不会让大家等那么久了

只闻其名&#xff0c;不见其形&#xff0c;从小听到大的”黑洞“&#xff0c;终于让我们在有生之年见到了它的真容&#xff0c;只能说幽暗的宇宙美丽也调皮&#xff0c;长久以来人类关于黑洞的探索&#xff0c;在这一刻终于得到影像印证。相信很多人心中都有一个疑惑&#xff0…

如何在一场面试中展现你对Python的coding能力?| 技术头条

点击上方↑↑↑蓝字关注我们~作者 | wLsq 来源 | Python数据科学&#xff08;ID:PyDataScience&#xff09;如果你已经通过了招聘人员的电话面试&#xff0c;那么下面正是该展现你代码能力的时候了。无论是练习&#xff0c;作业&#xff0c;还是现场白板面试&#xff0c;这都是…

Django web : CSRF verification failed. Request aborted.

错误标题&#xff1a;CSRF verification failed. Request aborted. 错误描述&#xff1a; HelpReason given for failure:CSRF cookie not set.In general, this can occur when there is a genuine Cross Site Request Forgery, or when Djangos CSRF mechanism has not been …

分享一个PC端六格密码输入框写法

如图。我们一般做商城类的项目不免会用到支付密码输入框&#xff0c;我研究了下并决定发上来&#xff0c;也当作是自己成长路上的一点小小的记录。本次介绍的是基于vue的项目 html&#xff1a; <template><div classam_payPwd :id"ids_${id}"><input …

【数据库】sqlite中PRAGMA命令说明

关于sqlite中PRAGMA的说明网上已经有很多了&#xff0c;这里不再复制粘贴&#xff0c;只把内容最全的网址连接记录一下&#xff1a; 官网说明&#xff08;英文&#xff09;&#xff1a;https://sqlite.org/pragma.html 中文翻译&#xff0c;参见博客&#xff1a;https://www.i…

思科交换机各类型中字母的意思?

24TC-L中各字母的意思分别指? 24TT-L中第二个T的意思? 2960和2960G的区别&#xff1f;基中G是什麽意思? F0/1和G0/1区别&#xff1f; 24代表是24个网络接口 第一个T表示TX&#xff0c;也就是所谓RJ-45的类型&#xff08;指这个24个接口都是RJ-45&#xff0c;若是P的话&#…

医生还未失业,IBM Watson已跌入深渊 | 极客头条

点击上方↑↑↑蓝字关注我们~作者 | Eliza Strickland译者 | Major编辑 | 琥珀出品 | AI 科技大本营&#xff08;公众号ID&#xff1a;rgznai100&#xff09;导语&#xff1a;2011 年&#xff0c;Jeopardy! 挑战赛的成功&#xff0c;让外界看到 IBM 的人工智能给医学带来的革命…

【Qt】Qt容器总结

目录 一、容器类1、顺序容器2、关联容器二、Qt容器特点三、迭代器1、Jave样式的迭代器(效率略低)2、SLT样式的迭代器注意: 由于Qt的容器是写时复制的,因此非const访问器从本质上讲更加昂贵, 因为它们必须首先检查是否需要复制基础数据(并在必要时进行复制)。 因此,在Qt…

Java5线程并发库之保障变量的原子性操作

为什么80%的码农都做不了架构师&#xff1f;>>> java.util.concurrent.atomic 首先我们看java.util.concurrent.atomic包&#xff0c;它主要是提供一些为各种数据类型变量提供原子性操作的类。 AtomicInteger 比如我们来看AtomicInteger类&#xff0c;大家在写程序…

EIGRP OSFP 利用NULL0接口防止路由环路 Loopback Null0接口揭秘

在EIGRP中&#xff0c;只要发生总结就会在路由表中自动产生一条指向NULL0的路由条目&#xff0c;这条路由的直接意思是&#xff1a;匹配这条路由的数据包会被路由器丢掉。它的目的是为了避免在某些情况下产生路由环路。 以第三四学期的中文书P86中的图4-15为例做个说明&#xf…

【C++】C++11 STL算法(一):非修改序列操作(Non-modifying sequence operations)

目录一、all_of、any_of、none_of&#xff1a;1、官方说明2、谓词3、STL算法对谓词的说明4、谓词的五种模式5、all_of &#xff08;C 11&#xff09;6、any_of &#xff08;C 11&#xff09;7、none_of&#xff08;C 11&#xff09;8、官方demo&#xff1a;二、for_each1、原型…

Python openpyxl 之 Excel 文档简单操作

背景&#xff1a;生活中常常因日常工作&#xff0c;在记录统计方面需频繁处理较多 Excel 表格&#xff0c;这部分工作虽可由人工完成&#xff0c;但这样会显得有些繁琐且可能存在偏差&#xff0c;遂闲时查阅了是否有相关基于python处理Excel表格的学习文档&#xff0c;后获知这…

售价910元!周志华等人英文新书《演化学习》出炉!

点击上方↑↑↑蓝字关注我们~整理 | 琥珀出品 | AI 科技大本营&#xff08;公众号ID&#xff1a;rgznai100&#xff09;关于人工智能教育&#xff0c;从学生培养方案&#xff0c;到课程设置、教材&#xff0c;甚至是授课老师&#xff0c;全国各大高校正探索一条新道路。先是从去…

linux 查看 文档 不显示注释 命令

原文&#xff1a;http://www.weiruoyu.cn/?p661 最近发现一个很好的命令&#xff0c;就是linux 查看 文档 不显示注释 的命令[rootlocalhost ha.d]# cat ha.cf |grep -v ^# logfile /var/log/ha-log 转载于:https://blog.51cto.com/weiruoyu/705840

【C++】C++11 STL算法(二):修改序列的操作(Modifying sequence operations)

目录一、copy、copy_if1、原型&#xff1a;2、说明&#xff1a;3、官方demo二、copy_n1、原型&#xff1a;2、说明&#xff1a;3、官方demo三、copy_backward1、原型&#xff1a;1、说明&#xff1a;1、官方demo四、move1、原型&#xff1a;2、说明&#xff1a;3、官方demo五、…