Py学习  »  机器学习算法

清华孙竞博、周济AOM:深度学习实现高效率可见光消色差超表面透镜

AdvancedScienceNews • 2 年前 • 251 次点击  

摘要:清华大学材料学院周济院士课题组提出了一种基于深度学习人脑神经网的机器学习方法,可实现对构成超表面的纳米结构,即超原子的透射率与几何相位等光响应同时进行预测与综合评估,最终设计出可以工作在可见光波段,具有高聚焦效率的消色差超表面透镜。

关键词:Advanced Optical Materials, 机器学习,可见光,超表面、消色差,高效率,清华大学

消色差透镜是光学成像系统中最常用,也是最关键的光学元件,对于照相机、摄像机、显微镜等设备至关重要。传统的消色差透镜通常由一系列的凸凹透镜组构成,使得不同波长的入射光经过透镜组中一系列的折射调节最终可以汇聚在同一焦点处,实现消色差。这种基于透镜组的镜头最大问题就是体积、重量都很大,直接限制了成像系统的小型化。比如,我们常见的相机镜头、显微镜镜头都是又大又重;决定手机厚度的关键参数也是手机摄像头中光学系统的尺寸。

超表面是由对光具有一定响应的纳米结构单元,即超原子构成的阵列。利用具有不同光响应的超原子的空间分布实现对入射光调制。通过对超原子的设计,可以实现不同波长的光具有相同的相位调制作用,并将这类超原子根据聚焦相位要求进行排布,可在亚微米级厚度下实现在可见光波段的无色差光学透镜,大大压缩成像系统的几何尺寸及整体重量,极大地提高成像系统小型化、集成化能力。例如,民用方面,手机的轻薄化;医学方面,内窥镜的小型化以及军用方面微缩相机、无人机机载光学系统小型化、轻量化等。因此,基于超表面的光学透镜有望实现光学成像系统的颠覆性变革,具有重大研究意义。

传统的超表面透镜设计需要基于数值模拟来计算纳米结构单元的光响应,由于设计透镜所需的光响应与纳米结构的几何特征并无一一对应关系,因此,需要对尽可能多的纳米结构进行数值模拟,建立一个超原子光响应数据库,然后在库中进行筛选。通常,根据不同的设计,这个数据库可能包含几万到上百万个超原子,因此,建立库所消耗的时间与计算资源巨大。针对这一问题,目前主流的解决方案是基于机器学习的方法,通过一个小规模数据库对机器学习工具进行训练,实现对大规模数据库的快速预测。由于消色差超表面最关键的参数即相位响应。因此,目前主流的基于机器学习的超表面设计工具主要是针对超原子相位响应建立数据库,保证消色差性能,但作为透镜的其他性能指标,包括透射率、数值孔径、焦距、整体尺寸等对透镜也十分重要,但却不能兼顾。

来自清华大学材料学院的周济院士团队建立了一种可以对超原子的透射系数与几何相位同时进行预测的深度学习神经网络,以具有6000余个样本的小型数据库对神经网络进行训练,最终获得了对200万个超原子在428 nm - 652nm波段内的偏振转换透射谱与几何相位谱的精准预测,并建立数据库。然后,在这一数据库中根据消色差所需的相位及高透射的原则筛选所需超原子,构造出由12061个超原子构成,直径40微米的超表面透镜。该透镜不仅具有消色差的功能,还兼具高聚焦效率,其理论预测得到该透镜的平均聚焦效率高达52%。

研究者相信,一个真正具有应用价值的机器学习设计工具,一定是会对透镜的多个指标进行综合考虑与评估,最后设计出一个具有综合性能指标均优异的消色差超表面透镜。此项研究正是以此为目标,实现两个参数的预测,向机器学习综合考虑参数,实现高性能的超表面设计迈出第一步。相关论文在线发表在Advanced Optcal Materials上 。


WILEY


论文信息:

High Efficiency Visible Achromatic Metalens Design via Deep Learning

Feilou Wang, Shiqiang Zhao, Yongzheng Wen, Jingbo Sun, Ji Zhou

Advanced Optical Materials

DOI:10.1002/adfm.202300394

点击左下角 “ 阅读原文 ” ,查看该论文原文。

Advanced

Optical

Materials

期刊简介

Advanced Optical Materials创刊于2013年,是一本报道材料科学领域与光-物质相互作用相关的突破性研究的跨学科国际期刊。其收录论文的研究领域包括光子学、等离激元光子学、超材料等。2021年影响因子为10.05。





AdvancedScienceNews

Wiley旗下科研资讯官方微信平台

长按二维码 关注我们

分享前沿资讯|聚焦科研动态

发表科研新闻或申请信息分享,请联系:ASNChina@Wiley.com


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/160963