热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

尊重一束有深度的光,并捕捉它|北拓分享

1915 年,15 岁的匈牙利少年丹尼斯·加博尔(Dennis Gabor)第一次读到加布里埃尔·李普曼(Gabriel Lippmann)利用干涉现象进行彩色摄影的方法后,啧啧称奇,大受启发。30



1915 年,15 岁的匈牙利少年丹尼斯·加博尔(Dennis Gabor)第一次读到加布里埃尔·李普曼(Gabriel Lippmann)利用干涉现象进行彩色摄影的方法后,啧啧称奇,大受启发。30 多年后的 1948 年,他发表了一个理论、又造了一个新词,“全息”就此诞生。

01
全息之父

所谓全息,就是一种用光波干涉的方式记录并重现被拍摄物体反射的光波中所有光学信息的摄影技术。由于记录了相位,影像具有立体观感。
全息(Holography/Hologram)其实是由两个词组成,来源于希腊语。holos 意为全部的;graphe 是字母或线条,可以理解为信息。“全息”也就是全部的信息
英文的 Holography 指的是全息技术,而 Hologram 则是指全息技术的产物,也就是全息的影像
1948 年,48 岁的加博尔第一次提出全息的概念,并诠释了实现全息技术的方式。1971 年,为了表彰加博尔为全息技术做出的具有奠基意义的重大贡献,瑞典皇家科学院将当年的诺贝尔物理奖颁发给他。“全息之父”实至名归。
加博尔肖像照,来源:wikipedia
1892 年,法国科幻作家儒勒·凡尔纳(Jules Verne)的小说《喀尔巴阡古堡》中首次用科幻的方式虚构出全息影像的雏形。
主人公弗朗兹总是在一座破旧古堡中听到早已逝去的爱人的歌声,甚至还看到了她的映象魅影。最终,他却悲哀地发现,他看到的身影只是古堡里的科学狂人用电合成的幻象,他的爱人早已与世长辞。
《喀尔巴阡古堡》插图,来源:wikipedia
加博尔年轻时常常阅读凡尔纳的作品,但他研发全息的初衷并不是制造出小说里那样的幻象,也不是让照片变得更立体,而是旨在升级改造当时的电子显微镜
由于“球面像差”(spherical aberration)问题:透镜边缘部位和中间部位的折射偏转能力不同,导致各条电子射线不会汇聚到同一个点上,在成像面上形成模糊的弥散圆斑,实际成像与理论确定的理想成像不相符,出现模糊、变形,限制了成像分辨率
理想成像与实际成效,来源:baidu
加博尔认为,想要提高分辨率更清晰地观察到单个原子的微观结构,就要最大限度消除“像差”
消除像差最直接的办法就是减小光阑(aperture),减小光阑尺寸就是减小孔径角,但孔径角也不能太小,否则光阑的衍射效应就变成了限制因素。这是“按下葫芦浮起瓢”的矛盾。

其实直到今天,球面像差的问题也没被完美解决。可见这可并非易事,为此,加博尔也尝试了很多不同的方法,却都没有得到满意的成果。


02

灵光乍现


1947 年春天,在网球场等待场地的加博尔盯着飞来飞去的网球,听着球与地面、球拍碰撞的清脆声音与节奏,突然灵光乍现:“可不可以先拍摄一张“坏”的电子显微镜图像照片,但是这张照片里含有所有的光学信息,再用某些光学手段去纠错,进而“借尸还魂”,使它显现出拍摄时的图像?”这样应该就可以绕过镜头“像差”问题,得到更清晰的图像。(原文来自于加博尔的诺贝尔典礼演讲:“Why not take a bad electron picture, but one which contains the whole information, and correct it by optical means?”,“借尸还魂”是本文作者对这个过程的一个理解和形容。)
加博尔早期关于全息术的设想,来源:Dennis Gabor Nobel Lecture
经过一些数学计算,加博尔确信这是可以实现的,而且不仅适用于微观的原子,也可以用来拍摄并展现宏观物体
用一束光照射物体,称之为物光;再用另一束光,称之为参考光,与照射物体的散射光发生干涉,也就是参考光与物光的散射光发生干涉,这样就会产生干涉条纹
经过曝光,干涉条纹被记录在感光底片上;将底片冲洗后,干涉条纹会变得更加明显,用参考光从同一角度去照射底片,与这些明暗相间的条纹发生衍射,便“召唤”回了拍摄时的振幅、相位等光学信息,重建了光场,就形成了物体的虚像,人眼也就可以识别到当时拍摄的物体了。
全息摄影拍摄示意图,来源:wikipedia
全息摄影再现示意图,来源:wikipedia
这些干涉条纹对于人眼来说,只不过是一堆毫无意义的波纹,而对于光来说,它们却像“说明书”一样,指挥了光该往哪走,该做什么。
冲洗后底片上的干涉条纹,来源:holographic visions: a history of new science

这里,我们就可以理解加博尔在网球场的那道灵光了,拍一张坏照片,再给它纠正还原。笔者前文戏说的“借尸还魂”也意在形容这个“干涉记录、衍射重现”的过程,而按照十几年前的小品流行语来说就是,把“光”给忽悠瘸了,再给它把病治好了。


03
光来光往
‍‍‍‍‍‍‍‍‍‍‍‍
我们来解构一下光,我们人眼能看到物体,都是由于物体反射或散射的光进入眼睛,传输到大脑,各种光学信息被解码变成了图像。
光具有波粒二象性,若把光看作波,振幅(amplitude)、波长(wavelength)、相位(phase)等都是波(wave)的表征参数。
振幅是在波动或振动中距离振荡中心的最大位移;波长是波在一个振动周期内传播的距离,与振动频率相关;相位听起来不是很熟悉,其实也很好理解,Office 里经常有这样的中英语混杂“Hey,Jack,你的 project 进行到哪个 phase 了?”,相位就是光在某一时间点振动进行到的位置
波的振幅与波长,来源:save my exams
波的相位,来源:新浪
这些参数反映在人类视觉认知中,光波的振幅影响到光的亮度,波长决定了色彩,而相位最直接的体现即为深度,也就是所谓的立体观感
我们知道干涉是多个波相遇后发生的叠加消减现象,而衍射一般指光波绕开障碍物、改变方向继续传播。
光波的衍射,来源:Vectorstock
可以这样理解,全息底片上由于干涉形成的条纹实际上就是给被拍摄物体开了一个模,再用相同的参考光从同一角度照射,发生衍射而形成的虚像,就是物体的光学翻模
普通的摄影技术只有一道照射物体的散射光作为入射光与底片发生反应(极度简化为一道光,实际上有很多,也可以理解为一个批次),通过感光材料对光强的反应,记录光的“振幅”,而无法捕捉到“相位”信息。
而全息摄影则加入参考光“干涉”方式记录,将“相位”信息记录在干涉条纹中。“参考”光,顾名思义,就是要设置一个参考,一个参照物,这样才有相应的对比。
普通的摄影方式在前景物体后面放另一个物体作为背景表现出前后关系,而全息摄影,以另一束光作为参考背景,用以还原拍摄时的光场。

底片上的干涉条纹中包含了物体的全部光学信息,“全息”之名也就顺理成章了。



04

“捕光”的二人


加博尔与上篇文章“光也可以复制、粘贴”中讲到的李普曼,两人仿佛有穿越时空的默契,他们的研究都为“成像”(Imaging)领域做出了极大贡献,他们取得突破的方式也没有循规蹈矩,而是创新性的将同一种物理基本原理发挥到极致,当然,他们也都获得了诺贝尔物理奖。


同样是利用“光的干涉”作为基础,同样是“记录、重现”两步走。李普曼是“干涉记录、反射重现”,捕捉了带有色彩信息的光的波长,实现了照片由黑白向彩色的进化;加博尔则在李普曼的启发下,“干涉记录、衍射重现”,记录了包含深度信息的光的相位,实现了照片由平面到立体的进化。
有趣的是,李普曼在获得诺贝尔奖后也曾发表文章,提出一种能使照片呈现立体观感的技术手段,却没有机会实现,加博尔也算是用另一种方式实现了老一代科学家的梦想。
全息技术在后来逐渐成熟,在显微成像、安全防伪、数据存储、立体显示等领域都具有广泛的应用,在 1970 年代,更是在艺术圈引起了一股全息热潮,艺术家们相继使用全息技术作为一种媒介来进行艺术创作
Carl Fredrik Reuterswärd 的全息作品”WholeKilroy”, 1977,来源:modernamuseet.se
JasonSapan的全息作品,70 年代后期,来源:gizmodo.com.au
至今,全息的概念变得更加广义化。泛指所有具有立体观感的影像,严格来说,全息不是照片,照片是从某个点出发将场景的像记录下来,而全息记录下来的并不是像,而是重建光场的编码。广义化虽然看起来像是一种“误读”,而从发展的角度看,也可能是某种意义上的“进化”“正解”

05

只欠东风


回到 1940 年代末,加博尔所需要的光,并不是普通的光,而是相位、频率、传播方向等所有因素都相同的两束“克隆孪生”光,在传播过程中要保持相同的相位差,物理学叫做“相干光”(coherent light),这样的两束光具有“相干性”(coherence),也叫“同调性”
相干光图解,来源:chegg
而当时的技术却无法获得较好的相干光源。虽然通过一些技术手段改造水银灯获得了单色相干光,其结果并不能令人满意,高质量的相干光源才能更好的发生干涉,记录相位信息,从而得到清晰完整全息照片。
加博尔在 1949 年发表的全息图像成果,来源:Dennis Gabor Nobel Lecture
加博尔在 1949 年提交给英国皇家学会的全息显微镜构想,来源:Dennis Gabor Nobel Lecture
万事俱备,只欠东风。
在获得了一些成果后,由于种种技术限制,实践难以推进,加博尔对于全息技术的研究也在 50 年代初暂时停滞。加博尔本人也感叹:“我们开始的太早了。”
在十几年后,这束光,终于照进了现实。


Reference:


Dennis Gabor, Nobel Lecture, 1971

Susan A. Gamble, Wolfson College, “The Hologram and its Antecedents 1891-1965: The Illusory History of a Three-Dimensional Illusion” 

Sean F.Johnston, Holographic Visions: A History of New Science

Holography,Wikipedia

The Nobel Prize Twitter

https://www.nobelprize.org/prizes/themes/lippmanns-and-gabors-revolutionary-approach-to-imaging/


来源|as 科学艺术研究中心

作者|as center









推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 深入理解线程、进程、多线程、线程池
    本文以QT的方式来走进线程池的应用、线程、进程、线程池、线程锁、互斥量、信号量、线程同步等的详解,一文让你小白变大神!为什么要使用多线程、线程锁、互斥量、信号量?为什么需要线程 ... [详细]
  • 范式转移:构建超级应用——胖应用 + 胖协议
    范式转移:构建超级应用——胖应用 + 胖协议 ... [详细]
author-avatar
微笑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有