游戏猫笔记图像的预处理.docx
- 文档编号:26664452
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:27
- 大小:1.18MB
游戏猫笔记图像的预处理.docx
《游戏猫笔记图像的预处理.docx》由会员分享,可在线阅读,更多相关《游戏猫笔记图像的预处理.docx(27页珍藏版)》请在冰豆网上搜索。
游戏猫笔记图像的预处理
游戏猫笔记之三-----天文摄影中的预处理
从最开始拍星的时候我们就被不知道从哪儿转来的文章教导:
你需要拍亮场,暗场,偏置场,平场,暗平场!
然后好多人(我也是这样)当初并不以为然,觉得少拍了一些校准场(暗平偏的统称)问题都不大呢,结果拍完回家一处理瞬间傻眼。
经过几次碰壁之后才明白校准场的重要性。
新手大多是这么走过来的,所以在玩深空天体摄影的时候大多数人都有一个磕磕绊绊的熟悉经历。
所谓预处理就是包含了平场,暗场,偏置场和暗平场四类校准帧的扣除过程,以及亮场和平场的归一化过程。
这篇笔记适合对天文摄影有一定了解的同学观看(废话前两篇也不是这样的吗)
在说图像预处理之前要补一些科普知识:
关于噪音和一些术语
天文摄影说到底是在跟各种各样的噪音作战,但是在拍星的时候,我们在单反摄影里惯用的那套降噪方案作用并不大。
本质上是因为风光摄影中,相机接收到的光强是远大于噪音的,而天文摄影中,光强与噪音的数量级相当,甚至有的时候还要我们把极微弱的信号从噪音中提取出来。
所以我们需要一个叫做图像预处理的过程,借助它就可以把噪音从根本上最大程度的削弱。
对噪音最简单的划分,就是把它分为两种:
随机噪声和固定噪声。
随机噪声指的是在不同的帧中分布不一致的噪声。
这种噪声大致有两个来源:
CCD的读出噪声和光子噪声。
光子噪声在《星野摄影》里讲过:
由于光的量子特性,图像中一个像素点接收到的光子的均值是一个常数比如说50个,但在它可能在第一帧里是48个,第二帧是49个,第三帧50个,第四帧52个,第五帧51个.....光的量子性引起的这个帧间的亮度差异,就是光噪声。
注意,光噪声有两个来源,天体的光线暗弱,不确定性很明显,会引起光子噪声;而大气辉光和天光也会让CCD接收到的信号涨落增加,这也是一种随机噪声,大家通常管他叫光污染的。
读出噪声一般认为是高斯的,而光子噪声是泊松的
接下来说说暗电流。
暗电流是这些噪音里最特殊的一种,是热涨落导致的,并且随着时间的增加而增加。
暗电流直接决定了一个相机能拍到多暗的(极限星等)。
下面重新纠正几个概念:
亮帧,暗帧和信噪比
这里我们要重新认识什么叫亮帧什么叫暗帧:
定义有光子进入的帧叫亮帧,没有光子进入的叫暗帧
所以亮帧包含了:
天体照片【亮场】,以及平场
所以暗帧包含了:
偏置,暗场,暗平场。
记住,平场是亮帧的一种。
下面谈谈信噪比。
不要以为只有传统意义上的亮场才有信噪比。
实际上,任何一个校准帧都有信噪比。
其中的“信”就是我们叠加要保留下来的东西,“噪”就是我们需要削弱的东西。
对于一台业余天文级的制冷CCD相机而言,各种帧里包含的内容如下:
偏置场:
包含三部分,过扫区,偏置图形,读出噪音
暗场:
包含偏置场和暗电流
亮场:
包含光子信号,光子噪音,和暗场
先忽视过扫区的问题,Overscan校正我们留在最后说。
现在我们来给整个校准过程来一个概括(好多人也俗称叠加的过程),好让大家了解图像的校准是如何一步步完成的。
约定:
偏置用B表示,暗场用D表示,亮场用L表示,平场用F表示。
图像做四种运算:
加减乘除,全都是把两张图像的每一个相应位置的像素值做加减乘除。
第一步需要先叠出masterbias。
偏置帧越多越好,一般建议50张或者更多。
因为这样可以减弱偏置里的读出噪音,以后做减法的时候读出噪音的影响就会尽可能的小。
注意:
由于两个信号相减之后,噪音是增加的(没错是增加的,两个信号相减,方差相加),所以校准帧一定要多拍,争取把每个被减掉的帧的读出噪音降到最低。
那种走走形式只有四五张的偏置,还不如不拍。
第二步我们把每一张暗场减去一个主偏置masterbias,然后做平均数。
(这仅仅是最初级的做法,让大家看明白原理,实际情况下极少极少用到平均值)
由于这里的B1..BN和D1...DN都采用相同的权重因子1,我们也可以用
来作为相机的“纯暗电流”
注意:
在MDL里的主暗场是上面这个形式。
而PI里的主暗场是不减去masterbias的。
两个软件做校准的时候有点差异。
第三步是两种亮帧(L和F)的校准。
这个公式看起来很长,我需要解释一下
首先是TFTL两个变量,是平场和亮场的时间。
1)由于暗电流是随着时间均匀增加的,比如说每秒钟0.002个电子。
但是暗电流有个起始值,它不等于0。
所以一旦暗电流减去了偏置,它的亮度就真的与拍摄时间成正比了。
偏置的作用就在此体现出来。
2)平场里包含暗电流,但远没有暗场里那么多。
有的软件例如DSS会给你一个暗平场校准的选项。
着需要你去自己去拍暗平场。
但现在越来越多的高级软件不再具有这个选项,
原因在于400s的暗场只要乘以1/100就可以去校准4s平场里的暗电流了--当然前提还是偏置要减对。
3)c1c2...这些系数是平场的权重。
叠加的时候权重是每一个亮帧都必须有的。
由于拍摄平场的时候你有可能是对着天光去拍,但天光是会变化的。
叠加的时候必须加上权重才能保证叠出来的平场信噪比最高。
这个权重的计算主要是基于噪音的估计,下面说的亮帧也一样
最终,masterflat里包含的信息只剩下:
四角减光比,灰尘,和像素间的灵敏度差异
第四步亮帧的最终校准
还是先解释这里的参数。
K1k2.....这些跟前面平场校准的时候一样,每一张亮场的权重系数
这里面比上边一个公式多出来的是sigma1sigma2.....就是标在masterdark前面的这个系数,这个被称作暗电流的优化系数
从哪儿来的优化以及为何要优化?
因为扣暗场时未必都如你所愿,每一次做减法都能减得很干净。
L-D的过程中,理想情况下是L-D就直接把所有的暗电流给去掉了,但实际上并不这样,原因有很多,例如温度的改变(制冷CCD也会有一些温度变化,而偏置里的overscan还会受到外界环境温度影响)。
方法还是噪声估计,大致的思路是:
我先给一个优化系数sigma的初始值,比如0.5,然后用L-B-0.5*masterdark,分析噪音,然后再试试sigma=0.55,0.6,0.65....一直找到做完减法之后噪音最低的那个sigma值,作为最后的校准系数。
这就是darkoptimization的具体思路。
当然操作是由具体的软件来负责的。
事实上,平场在减去暗平场的时候也需要这样一个优化步骤。
只是它的效果并没有亮场的这么明显。
毕竟平场属于高信噪比的帧,每一张平场的亮度都有30000之多,而亮场相比之下就暗的可怜了。
这就好比你拍风光的时候从来不纠结校准问题,道理是一样的。
以上的三步,是图像校准的一个整体框架。
这个框架还需要不断的完善。
需要完善的包括:
A)纯粹的做平均值是不合适的,因为总会有一些帧的某些像素偏离平均值好远好远,例如亮场里的飞机和偏置中随机出现的干扰。
B)一块CCD上会有热点和死点。
那些数值特别高的孤立热噪(形象地称作为“椒盐噪声”)去做了减法以后,后果就是根本无法还原出这个点上的信号来。
因为怎么减都是0
C)彩色相机的校准尤其是暗电流的优化,需要特殊留心,因为bayerpattern带来的网格会被软件计算入噪声里,但实际上它不是噪声。
D)亮场和平场的叠加时,由于每一张的亮度都不一样,每一张的信噪比也不一样,所以需要权重。
但在决定权重之前还需要把每一个亮帧的亮度统一换算为一个亮度,这个过程叫normalization归一化。
归一化的方法很多,有加减法有乘除法。
不做归一化和加权叠加的话,片子就可能被一张或者几张信噪比低的帧给毁掉。
这三点会在下面介绍具体操作的时候详细说明。
下面给拍星的同学几句忠告:
1)所有校准帧里,偏置是最不可以忽略的东西,而且是必须当场拍摄的。
不管你用什么相机,冷冻CCD也好单反也罢,偏置必须当场拍摄
2)偏置拍的越多越好,拍得越多,信噪比就越高,里面读出噪音的成分就变低了而偏置图案的成分就增高了。
这对于处理图像而言非常有利。
最先减去的偏置帧,如果里面噪音很高的话,做了减法减出来的图像噪音会变大,再减了dark之后还会变大。
3)校准做的多认真,决定了你的片子能在后续的处理中走多远。
4)暗场和平场都可以回家里补,怎么补我们在后面说。
图像校准的简易实践操作:
图像的校准总归是需要应用到实践中的,下面我们看看主流的两大软件是如何进行天文照片的校准的。
首先是使用pixinsight做图像的校准。
自己用了一段时间的pixinsight,游戏猫觉得,无论你再怎么鼓吹各类奇葩的后期以及千奇百怪的xxx大法,有一个问题你始终无法回避:
PI依旧是现在业余天文摄影里最“珍惜信噪比”的软件。
PI里最简单的预处理方案是他给你提供的脚本里的“batchpreprocessing”。
但是在进入bathc之前需要先建立一个processicon(具体什么是icon翻阅前两篇笔记)
首先上面的问题A.孤立热噪点怎么办?
PI和MDL里都有一套很完整的解决方法,pix里叫cosmetriccorrection。
在这里选中一张masterdark,实际上也可以是一张单独的dark也没什么问题。
如果是彩色相机记得勾选上CFA,ColorFilterArray。
表示这是一个带有CFA的暗场。
然后像图中这样设置,表示在暗场里,与均值相差超过3倍标准差的像素,都会视为无效像素,由周围的像素的数值插值得出。
这个cosmetric是作用在所有的校准帧和亮帧上的。
然后我们建立一个icon,暂时叫process01
紧接着调出batchpreprocessing脚本,然后依次导入bias,dark,flat,light。
和DSS一样是扔进去倒出来,这里需要强调一个rejectionalgorithm:
排异算法。
由于暗电流里会有宇宙射线,亮场里有飞机,偏置里也可能会有干扰,所以我们必须做排异。
也是把那些偏离平均值3倍标准差或者四倍标准差的像素给踢掉。
实际上3倍标准差的偏离,在高斯分布里就只有1%的像素会有如此程度的偏离了。
排掉了这些奇异的像素,才能得到更纯净的偏置和暗场。
Bias,dark,flat,light在张数比较多的时候,建议采用winsorizedsigmaclipping,sigmalow和sigmahigh分别表示低于或者高于均值多少倍的标准差的像素会被排除。
Registrationreferenceimage,你选一张用于对齐的亮场,outputdirectory,输出文件夹
现在来看亮场。
Cosmetriccorrection要选中,icon就选刚才那个process01。
其他的选项暂时使用默认值。
Batch的一大功能是让大家体验一下pixinsight的校准流程。
校准成功以后打开OutputDirectory(就是你刚才填的那个文件夹的名字)/master/会发现一个叫Light-Binning1-300s.fit这种名字的文件,没错他就是最后叠好的亮场。
然后继续翻,你的这个outputdirectory应该具有这样的结构。
图中凡是用中文标出的表示文件,英文标出的表示文件夹
图像预处理的MDL操作
MDL的操作与PI略有不同,MDL需要事先生成所有的校准帧。
其中MDL的主暗场一定是减过偏置的。
首先进入MDL,调出process-setcalibration,出现一个这样的窗口
MDL的校准是有点讲究的,如果是MDL/skyx/SGP/maxpilot甚至tinyastro拍摄的片子,那么你大可以把所有的照片无论是亮场还是暗场还是其他的什么场,一股脑的倒进同一个文件夹,之后MDL会根据这些文件的fits头帮你区分什么是暗场什么是偏置,只要选中那个sourcefolder再点一下auto-generate就好了,一次性全部完成。
这是因为上述几个软件的fits头的格式符合国际规范。
而像EZCAP和单反(RAW)拍摄的东西,fits头不符合国际规范,MDL就不会识别,必须先选好校准帧类型,然后addgroup,然后点最底下的那个add手动添加文件。
在bias和dark的group里点开右下角的那个settings按钮,如图设置,把normalization设置成none,平场的则设置成delta-level,area选择50%不要动。
因为前面已经说了,暗场和偏置不需要权重。
然后点replace/wmaster生成主平场主偏置和主暗场。
调出process--removebadpixels热噪点消除功能,打开刚才生成的主暗场(就在你的sourcefolder底下)
找出直方图的下界和上界,分别填入两个阈值里,这个过程跟上面PI里的sigma3.0的作用是一样的,都是滤除那些过冷和过热的噪点。
Ok了之后savemap
再次调出setcalibration窗口,在右下角的badpixelmap上选择Map1,点ok结束校准帧的生成工作。
下一步是进行叠加。
点开process-stack窗口
这个窗口很重要,一项一项来解释
Addfiles就是顾名思义啦,添加文件。
Autocalibrate必须在添加文件之前打勾,注意,添加了文件之后再勾选autocalibrate无效!
下一页的内容是帧的选择与剔除。
这里建议把FWHM和roundness选上,其他那俩不用。
圆度高于一定的值的帧不要,FWHM高于一定值的帧也不要。
Align稍微有点麻烦。
算法一般都选择autostarmatching。
但是这个方式有的时候会失效,这时候建议选择astrometric,原理是一张一张的做pinpoint解析再按星图对齐。
下面的算法尽量选bicubicresample。
MDL的对齐算法是不如PI和CCDstack的,星点略显粗糙。
最后一项combine里,method选择sigmaclip,就像前面讲的那样,“去掉一个最高分去掉一个最低分(当然也不可能只是一个)”之后的平均值才有最好的代表性,同时也会减轻飞机和卫星的影响而不让信噪比大幅度降低。
上面的校准方法适用于在现场同一次开机中拍摄了亮场暗场平场偏置场的情况。
PI里可以使用batch,MDL里也可以如此简单的把校准做完。
但请注意,MDL对于彩色相机的暗场优化比较笨,经常会留下一些椒盐噪声。
这时候要注意调节好darkoptimization的算法。
MDL内置了四种算法,none-没有暗场优化auto-scale根据校准帧和暗场里的统计数据(方差啊平均值啊)推算出系数,auto-optimiza一点一点试出最佳的暗场系数。
一般来说这两种方式一定有一种可以把暗场扣的很准很准。
如果一种不行就尝试第二种。
下面我们来讲一些高级的做法:
如何拍摄暗场库和平场库,实现拍摄之后制作校准帧
很多人以前误传的最多的话题就是:
制冷CCD可以不用当场拍校准,过后再拍也没问题。
实际上这是个害人不浅的谣言。
你需要知道的是
1)每次开机时,CCD的偏置图案都不会一样
2)不同温度下,CCD的偏置电压(体现为偏置的平均亮度)不会一样,这里温度指环境温度。
3)但无论什么时候,暗电流在CCD上的分布都是一样的,曝光时间增加时暗电流会增加,但所有的像素都是以同一个速率增加。
这才是我们可以做darkframescaling的基础
上面三条里没说温度如何影响。
也就是说虽然像素的暗电流随着温度不是线性变化的,但暗电流在像素之间的分布却是一定的。
只要这个是确定的,我们就一定可以匹配的上。
例如在-10度下,第一个像素的暗电流是5分钟产生3个adu,第二个像素的暗电流是5分钟产生7个adu,那么我到了0度下第一个像素5分钟产生6个adu,第二个像素就平均5分钟产生14的adu,只要我在优化的时候能准确地找出这个scaling系数2.0,那么一切都不算什么事儿。
所以我们现在需要知道的,就是纯暗电流的大小。
所以在拍摄暗场的时候要拍一组暗场自己的偏置,及时的校准暗场。
所以拍亮场的时候要拍一组亮场自己的偏置,及时校准亮场
两种偏置可能会有所差异
最后我们的校准公式变成了
BL表示亮场的偏置,BD表示暗场的偏置BF表示平场的偏置DF表示平场的暗电流
这样做,我们的暗平全都可以在家里做了!
现场拍什么?
只拍light和bias就好。
只要有了bias,就可以用这种多组bias的方式校准图片。
大大的节省了拍摄的时间啊。
现在如果读者真的听明白操作的思路的话,下面的具体步骤是根本不用游戏猫去说的。
首先还是进入setcalibration
现在我们打开拍暗场和平场时的文件和对应的偏置。
为了方便,一般情况下可以选择在拍暗场的时候顺便把平场拍了,暗场和平场使用同一组偏置。
依样画葫芦~打开D和BD和BF,生成一组主平场和主暗场,
之后选中你的bias,点removegroup删除这个bias。
由于dark和flat全都是净剩的暗电流和减光/灰尘信息,现在bias就被过河拆桥,这一组暗场和平场的bias我们用不上了
紧接着选addgroup,类型还是选bias,这回要导入拍亮场时的bias,50或者60张的样子。
这样我们就完成了校准帧的替换。
接下来的步骤还是replacew/masters,把亮场的偏置BL叠成一个主偏置。
至此我们就实现了所谓的“补拍暗场和平场”的过程。
制冷CCD确实可以补拍,这才是正确的操作方法!
这里还要加一个特殊的说明:
我们的平场已经减去了dark和bias,所以再次引入亮场的bias时,主平场就不用再去减了,再减只会出错。
所以进入高级设置
Darksubtractflats和biassubtractflats都不要勾选。
不然的话平场被减了两次bias就遭殃了。
本笔记的最后一个部分:
pixinsight1.8的图像完全校准指南。
软件不一样了,做法会不一样,但是思路是一致的
首先我们需要了解PI的图像校准工具:
Imagecalibration---用于对图像进行校准
Imageintegration--用于叠加图片
Staralignment--用于对齐星点
Batchdebayer--批量转色
Cosmeticcorrection--CCD坏点屏蔽
可以去process菜单里寻找这些工具。
首先我们来制作主偏置和暗场库,使用imageintegration工具
在inputimages里添加上所有的偏置文件,
Imageintegration选项里,combination选择average表示主体算法是平均值,偏置不需要归一化和权重,所以我们选择nonono。
再下面有排异算法,帧数足够多的时候还是选择winsorizedsigmaclipping
再下面有排异参数,low和high都选择3.0就行。
这是为了排除偏置里的一些干扰。
Bias/dark的所有归一化一律都不要用。
因为没有光子进入。
然后点底下的这个小圆圈进行叠加
。
我们会得到三张图,一张是clip-hig一张是clip-low,这两张我们统统不要,只要第三张名为integration.fits的,保存为bias.fits
之后打开imagecalibration工具。
现在我们需要做的是:
把暗场用偏置去校准!
请注意PI里的校准工具是非常灵活的,不仅可以用暗场和偏置校准亮场,还可以用偏置校准暗场。
校准工作是一层一层进行的。
最低层的是偏置,然后是暗场,最高层的是亮场。
具体的设置有必要多说一下
Targetframes还是目标文件,你需要导入暗场。
然后outputdirectory就需要另建立一个文件夹储存这些文件。
PI的叠加最后的中间文件是非常非常多的,所以一定要整理好这些outputdirectory,最好像上面那幅框图一样设置中间文件的结构。
Masterbias选择你刚才叠出来的那张暗场的主偏置。
Masterdark和masterflat都不要选,原因很简单,暗场还不包含flat呢根本没他啥事儿。
Masterbias底下的calibrate的含义要特殊注意:
这是问你是否将masterbias以overscan区域(就是ccd周围的那个黑黑的区域)进行偏置电压校准,而不是问你是否要把targetframes以偏置进行校准,换句话说,是决定偏置是否被校准。
一般的ccd不需要,有些ccd例如16200这种可能需要。
然后我们会在一个文件夹底下得到一系列的校准过偏置的暗场。
我们下一步再重新利用imageintegration工具把这些减过偏置的暗场叠起来,就成了主暗电流了。
同样还是不需要权重和归一化的设置。
(图略)
到此为止,我们会得到一张dark,这张dark里完全不包含偏置,只包含暗电流
下面需要来制作flat。
按照前面的公式,flat需要使用bias和dark进行校准。
所以我们还是打开imagecalibration工具,masterbias还是选择你拍平场时的那个masterbias(建议平场和暗场一起拍,否则又要多一组bias了)。
Masterdark要选择你刚才叠出来的纯暗电流帧。
Dark下面的那个calibrate按钮的含义是问你这个暗场是否需要用偏置去校准/。
由于这个暗场已经是纯暗电流了,不需要用偏置再校准一次(不然的话你就减了两次偏置,不对了)。
只有你使用dark直接叠加出主暗场的时候(这个主暗场是包含偏置的),你才需要点这个calibrate按钮去校准暗场。
这就是pixinsight1.8自由度极高的校准工具的特点,你可以决定用谁校准,是否校准,校准谁。
Optimize要选上,如果是彩色相机,一定记得forceCFA而不是detectCFA。
紧接着,这些平场其实也是含有热像素和死像素的。
所以我们需要使用cosmeticcorrection工具把平场的死点和亮点全都除去。
Targetframes就填入你刚才用偏置/暗场校准过的那一串平场文件,hotpixels的两个sigma一般填3.0就可以了
我们再使用imageintegration工具把刚才进行过死点/亮点屏蔽的平场文件叠加起来,变成一张只包含像素间灵敏度差异/灰尘/暗角的主平场。
这里的设置跟叠偏置时有点不一样,首先由于平场是亮帧的一种,所以需要normalization和weight,normalization归一化的方式,按照PI给你的建议,平场要选择multiplication乘法,weight算法采取最小噪音模式就可以。
平场的归一化算法需要用mutiplication的原因在于:
做完偏置和暗场校准的平场帧,是一个纯的“乘除法算子”,如果要是再加上一个什么常数的话,会影响到平场的准度,相当于破坏了四周的减光比。
像素排异的算法也要使用equalizefluxes使得平场帧直方图的中心对齐而不是背景对齐。
(此处感谢冬时的更正)
接下来我们叠加亮场。
亮场其实跟平场一样的道理(平场是亮帧的一种嘛),同样需要首先用bias和dark和flat校准。
同样需要注意的是,亮场校准的时候,flat和dark底下的calibrate都不要点,因为你的dark和flat已经是“纯净”的了。
校准完毕之后的一串文件,也需要再次导入到cosmeticcorrection工具里以除掉热点/死点。
(这就是PI为什么会产生非常非常多的数据量的原因,每一步校准的文件必须都留下来,PI的确有点吃硬盘)。
注意亮场的归一化算法要一般建议采用additivewithscaling。
因为亮帧要先除以平场然后再做归一化运算。
先除了平场之后暗角和灰尘就严格地消失了,以后无论再做加减法还是去做乘除法,都有恃无恐了,反正平场已经除过,背景再加上几个数值或者减去几个数值并没
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 游戏 笔记 图像 预处理