欢迎光临散文网 会员登陆 & 注册

NASA Air-BOS结果复现之三步骤

2021-05-03 23:09 作者:孙老师的分享  | 我要投稿

背景纹影(BOS: Background Oriented Schlieren)的优点是视场大,不像传统纹影视场受到反射镜限制。美国NASA在开发低音爆超音速飞机的时候开发了Air-BOS技术,用来显示飞机超音速飞行时产生的激波。

图1,高分辨率NASA Air-BOS图片

NASA的这项技术,几年前在AIAA会议上公开,不但展现了技术,因为绝大多数人之前都没有机会见到飞行中飞机的激波,也取得了一些社会效应。写到这里,我觉得国外的科研机构与群众的互动比较紧密,包装出一些炫酷易懂的素材充分激发民众对科学的兴趣,以至于很多商家会把NASA logo印到衣服上,成为一种街头时尚。言归正传,自上次写了篇《零基础BOS教程》,获得到了不错的阅读量和反馈,有对BOS技术感兴趣的朋友希望看到一些其他的应用。我想就通过这篇短文,讲解一下如何复现NASA Air BOS结果。

Air BOS简介

NASA的Air-BOS目的是显示真实尺寸超音速飞机的激波。他们选择的背景是太阳。在测试的时候空地配合,飞机在飞过太阳的瞬间,地面人员通过天文望远镜进行拍摄。选择太阳作为背景的原因有二:其一,太阳表面有明显的斑纹,非常适合图像的互相关处理,其二,太阳亮度高。

下图就是天文爱好者拍摄的太阳图像,在局部放大图中可以看到太阳表面的斑纹和太阳黑子。

图2,天文望远镜中的太阳(左)及其表面放大图(右)

下图是有无超音速飞机的背景图片对比,可以很清楚的看到激波的出现让背景斑纹产生了位移。下面就具体讲解一下如何复现Air BOS结果。

图3,背景纹影对比


图4,背景纹影局部放大对比

BOS图片准备

NASA在Youtube网站上发布了一段Air BOS的原始视频。我已经上传到我的B站空间(点击观看),可以通过各种插件下载。

1. 逐帧导出原始图片

处理BOS需要导出视频中的每一帧图片。许多软件(如photoshop)都可以实现,在这里使用的是Kinovea (https://www.kinovea.org/)。这款免费软件原本是针对体育运动分析的,本着拿来主义的原则,只要有我们需要的功能,就可以。Kinovea操作很简单,只需要将原始视频拖入即可自动识别。然后 点击软件右下方的导出图片按钮,出现如图对话框,将进度条拖动到最左边,就可以保存每一张图片了,输出的图片也会按照顺序自动编号。

图5,Kinovea软件界面
图6,Kinovea输出图片对话框

2. 裁剪图片

很显然,我们需要的部分只是原始图片的一部分,所以要对图片剪裁。这样不但美观,而且能够减少后期BOS计算量。剪裁图片也有很多软件,我在这里使用的是imagej(美国NIH开发的开源免费的医学图像处理软件,下载地址https://imagej.nih.gov/ij/)。

图7,ImageJ窗口界面

ImageJ打开后只有小小的一个窗口,但是小窗口大功能。导入图片按照入校顺序选择:

File->Import->Import Sequence…

会出现对话框。点击Browse定位到输出图片序列所在的文件夹,即可导入。

图8,图片导入后窗口,黄色矩形为待剪裁区域

导入图片后,需要先确认需要裁剪的区域。通过ImageJ主窗口工具栏第一个矩形图标来选择。然后通过如下菜单操作进行最后剪裁:

Imgae->Crop

剪裁后的图片如图9所示。

图9,图片剪裁后的窗口

3,图片输出

通过如下操作在ImageJ中输出图片

File->Save As->Image Sequence…

点击Browse定位到需要的位置即可输出。


BOS图片处理

BOS图片背景斑纹位移的计算仍然通过MATLAB PIVLab来实现。图片的导入步骤详见之前的短文(《背景纹影BOS技术-零基础起步》)。需要指出的是,PIV互相关运算的第一幅图片是没有飞机的背景(背景),第二幅图片是有飞机的图片。

1,PIV设置

我所用的互相关窗口参数如图所示。由于图片是网上截取出来,最后的图片像素只有280x280像素。处理的过程中也尝试了多重窗口,结果其实也差不多。

初步计算后位移矢量图如下,激波已经可见,但是稍显杂乱。

图10,PIVLab互相关运算参数设置(左)及初步结果(右)。

2,后处理

后处理的目的是去除一些明显的不正确的位移量,然后通过插值填补。可通过如下菜单操作:Post-processing->Vector Validation

通过点击‘Apply to current frame’,可以发现,图中褐色的矢量为重新填补的。

图11,位移矢量后处理参数(左)及结果(右)

3,云图显示

位移场通过云图进一步显示,则可以达到NASA图片的效果。在这幅图片里, 激波引起的斑纹位移是水平方向的,所以绘制水平方向位移云图效果更好。PIVLab结果的云图显示通过如下菜单操作:Plot->Spatial: Derive Parameter/Modify Data.

在云图显示的时候,可以考虑应用结果平顺化,让显示的结果更加光滑。其背景操作就是对矢量场应用Gauss Filter。图中的结果可以清晰的看到飞机产生的激波和喷气尾气。由于截取的BOS图片像素只有280x280,而原始图片是2048x2048像素,所以流动显示的分辨率会低很多。

图12,结果云图显示

总结

最后把所有的云图图片制作成动画,观看效果也会更好一点。但是由于原始图片分辨率较低的硬伤,结果没有NASA的那么诱人。在此作为搬砖人,希望能激励大家研究的兴趣,有可能的话可以尝试一下BOS技术。

图13,复现的Air-BOS结果(低分辨率)


NASA Air-BOS结果复现之三步骤的评论 (共 条)

分享到微博请遵守国家法律