首页 > 科技 > 正文

爆肝17天用600挑情宝鉴 行代码拍到400公里之外的国际空间站


更新日期:2022-04-10 16:24:24来源:网络点击:1853160

如何在400公里开外,拍摄这样一张空间站照片?

作为太空中最大人造物体,国际空间站一直是无数天文爱好者心中梦寐以求的拍摄对象。

而大多数人采用的方法,是根据自己所在的经纬度,算好空间站过境的时间(几秒到几分钟不等),然后配合手机或微单进行拍摄,然后啪——得到这样一张小光点

稍微进阶一点的,则会采用“凌日凌月”拍摄法,即在空间站飞过太阳或者月亮之前,以这两个天体为背景源,确定一个范围更小的区域。

然后等在中心线上,把持着几公斤到几十公斤重的大口径、长焦距望远镜进行长时间的稳定跟踪,直到空间站过月或过日的1秒之内,按下快门拍摄。

这种拍摄效果会更加清晰,但致命的问题仍然存在:

空间站平均每90分钟就能绕地球一圈。用知名的星空观测模拟工具Stellarium对比一下,相比空间站,金星和火星简直如同“静物”(实时模拟,没有加速):

简言之,就是空间站跑得太快了。

因此,不仅1秒内拍摄的帧数有限(无法用多帧叠加克服大气抖动)、只能拍到轮廓剪影,甚至很可能因为计算错误而错过拍摄的机会。

要是还想拍出更高精度的照片,不仅得有非比寻常的耐心,还要有深厚老练的手动操控技术。

例如一旦遇到大风,拍出来的效果就容易“糊成一团”:

△图源王卓骁,已授权

图源王卓骁,已授权

于是这时,有人就灵光一动:

没有麒麟臂,用代码让望远镜自己动起来不就好了?

说干就干,这位“业余程序员”当即爆肝17天,搞出了一套自动跟踪系统

在这套自动跟踪系统的加持下,望远镜不再是只能在特定几秒钟拍摄几张静态图像,而是持续不断地跟了空间站2分钟

最终,多张图像叠加和后期处理,便合成了一张高精度的立体GIF图像:

(也就是我们开头的那张图)

就是这么一张图像,让网友发出了“直接开启人造天体跟踪摄影的时代”的感叹。

于是,我们找到这位开发者本人,北大天文校友、天体物理博士刘博洋聊了聊。

拍摄高精度空间站,到底难在哪?

首先,需要简单了解一下拍摄空间站的“时机”。

虽然空间站移动速度极快,平均每90分钟就能绕地球一圈,而且高度平均距离地球也就400公里左右,属于肉眼可见的范围,但我们并不能随时观测到它。

主要有两个限制条件:视野范围和观测时间。

视野范围指空间站飞到我们视野可见的范围内,也就是恰好“过境”这段时间;

观测时间指我们能观测到空间站的时机。空间站自身不会发光,只有在每天日落后两小时、或日出前两小时以内,空间站反射的太阳光最亮,才最适合拍摄。

只有这两个条件同时满足,我们才有机会在地面观测并拍摄到空间站,但效果也还受天气等因素影响(如图中就是遇到了多云天气):

△图源朱一静&徐成城,已授权

图源朱一静&徐成城,已授权

然而,目前已有的几种常见天体拍摄方法,对于拍摄更高精度的空间站照片,其实都不适合。

第一种方法,是直接通过“手摇”望远镜拍摄,也就是推着望远镜跟踪天体。

这种方法有一个缺陷,没办法拍摄非常高清的空间站。由于拍摄时必须靠人工跟踪,因此不能用长焦镜头直接找,否则就像是用显微镜去捕捉一只高速移动的蚂蚁,空间站一不留神就消失在镜头外了。

第二种方法,是像“守株待兔”一样,架好各种高清晰度的镜头和设备,在原地等待空间站“路过”。

这种方法不需要移动镜头,而是反过来等空间站自己“经过”。但它又面临一些新的问题,例如空间站“路过”的时间很短,有时候往往只有几秒钟的时间,很可能抓拍不到;即使抓拍到的镜头,由于无法调整角度等原因,效果也无法保证。

所以,为什么不用望远镜自带的追踪功能拍摄?

这个功能通常只适用于用于追踪日月、行星、恒星等天体由于地球自转而产生的东升西落,毕竟它们移动的速度不快,基本与地球自转同步。但对于像空间站这种高速移动的天体,望远镜自己就追不上了。

因此,最终还是得靠程序辅助,来实现高精度空间站的跟踪拍摄。

第三种方法,是利用轨道根数(即轨道参数)跟踪,也就是利用在各种天文网站上(如Heavens-Above等)找到的天体信息,来调整望远镜的跟踪路径,并进行手动修正:

目前,大部分天文爱好者都是通过这种方法实现跟踪+微调,网上也已经有一些相对成熟的程序,例如这是用电动经纬仪根据轨道参数跟踪空间站的效果:

图源王卓骁,已授权

BUT,你永远不知道这些天文网站更新到底及不及时。有时候空间站临时调整了轨道、但网站没有更新的话,你的程序也就失效了。

利用光学识别,误差控制在4像素以内

上述的所有问题,作为老天文迷的刘博洋不可能不懂。

他一开始的想法,是通过现有的一些软件寻找镜头中的“光点”,基于光学识别方法对目标实施识别和跟踪。

然而他在查找合适的程序时却发现,这些程序不是没维护(连Windows版都太古早没法用)、就是更新不及时且系统复杂,或者干脆就是闭源收费。

所以,刘博洋最终决定自己上手,写一个光学识别的自动跟踪脚本,手动找到空间站后基于PID控制跟踪。

他的计划一共分为两步:

第一步,编写程序实现望远镜自动识别并跟踪空间站,耗时5天完成。

值得一提的是,光学识别并不是刘博洋的“第一手选择”。

他确实想过用参数+手动微调的方式进行跟踪,包括用摇杆无级控制赤道仪转速,以及用轨道根数进行粗跟、结合游戏手柄无级微调等,但试拍效果并不理想(微调时手不够稳)。

于是,他基于PID控制原理,编写了一种光学跟踪的方法。这是一种非常经典的控制算法,PID分别指比例、积分和微分单元,像让2轮机器小车保持平衡,用的就是这种算法。

刘博洋之前并没有学过这一知识,但是为了建立一个稳定的自动控制系统,他自然地引入了比例单元(P)和积分单元(I),以使系统的误差减少。

刘博洋的望远镜分为视野较大的寻星镜和视野较小的主镜两部分。这套算法的基本目标,就是根据当前空间站在寻星镜中的位置,计算出它偏离主镜视场的幅度,从而调整望远镜跟踪速度,以改正存在的偏离,使空间站落到主镜视场中。

利用这个程序,就能让寻星镜快速跟随移动的空间站“光源”,使得空间站总是保持在视野中央。刘博洋试着用激光笔在自己家墙上造了一个匀速移动的亮点,模拟空间站的运动,效果还不错:

程序本身,基于一个叫做ASCOM的平台开发。

它能将天文设备的所有配置,比如控制望远镜的对焦器、滤光片的转动、相机的开合都集成在一个单独的软件上,是在天文领域运用非常广泛的软件接口标准:

硬件准备上,除了笔记本电脑之外,还包括:

11英寸口径,焦比f/10,折反射式的星特朗EdgeHD望远镜,配套有CGEM赤道仪

佳能EOS R5相机

QHY5III462c相机,作为导星相机

图马思特T16000M游戏手柄

其中,望远镜大约4万元,佳能EOS R5相机租借了两周花费2200元(市价2.5万元),462c相机不到1000元,手柄则是和朋友以物换物拿到的(市价500多元)。

整个成本算下来不到4.5万元,据刘博洋表示,对精度要求没那么高的话,整套不到1万元就能搞定。

接下来进入第二步,现场实拍并成功用设备拍摄到高精度的空间站照片。

但没想到的是,实际拍摄反而要比想象中更难,期间刘博洋“一直在反复试错修bug”。

他一开始的目标,是捕捉中国空间站,然而接连两次出bug,导致错过了两次观测的最佳时机。

3月23日,由于未能及时对焦,自动光学跟踪没能起到作用;3月27日,由于寻星镜视场只有3°左右,过小的视野导致初步捕获失败,再次没能进入自动跟踪流程。

此时距离中国空间站下次可见过境还有很久。因此,在修复操作问题后(将寻星镜视场增大到15°),刘博洋决定,先用即将迎来几次绝佳过境的国际空间站“练练手”。

于是,在将自动跟踪程序中的“抓捕”改为手动触发后,刘博洋成功在4月2日抓拍到了国际空间站。

虽然还是有不完美的地方,例如软件崩溃导致寻星镜和主镜的位置校准数据丢失,针对这个问题刘博洋又增加了校准数据记录功能。

这个时候,代码已经从最初的400多行变成了600行。

终于,4月3日晚上,在紧急修复bug后,刘博洋成功抓拍到了国际空间站。

具体来说,望远镜对空间站的抓捕分为x和y两个轴,在按下catch后,y轴很快就稳稳跟上了目标,x轴则略慢了10秒。

在30秒左右时,两个轴都保持在了一个稳定的误差范围内(四个像素左右),这种高精度跟踪持续了一共120秒,完整记录了国际空间站从接近到远离的全流程:

最初得到的原始画面大约是100多像素,最终,在经过多帧叠加的超采样处理后,图片的像素提高到了200多像素。

最后经过处理,成功输出了一系列300×300像素的图像(合成GIF图):


相关:

北京:朝阳酒仙桥街道二街坊升为高风险地区   打赢疫情防控阻击战   4月8日16时至9日16时,本市新增本土新冠肺炎病毒感染者3例,均为确诊病例:朝阳区1例、顺义区2例。昨日,北京市第304场新冠肺炎疫情防控新闻发布会召开,通报本市最新疫情信息并回..

春天如何避开 花粉过敏 春天来了,对一部分人是赏春和踏青的好时光,但对另一部分人却是“伤春”的难挨时段。喷嚏连发、呼吸困难、眼泪狂飙……每年春季,全国多地的过敏性鼻炎患者都要经历一轮渡劫。这种“会呼吸的痛”旁人可能难以理..

上一篇: 四年赚9亿 59岁南京大学教授靠卖“小白鼠”收成一个IPO
下一篇: 半月谈:Z世代消费文化C位,为什么是收集综艺?