← 探索新知
ASTERXOR / 探索新知

相机凭空拍出的条纹

细密纹理遇上像素网格,两者之间的错位,变成了一种新图案。

左侧是细密的斜向条纹,右侧是在100乘100的网格上采样后出现的宽阔斜条带。
左:精细绘制的合成表面。右:粗疏点采样网格取得的数值。实验没有使用相机。
探索新知ASTERXOR / LEON LEUNG

照片里的衬衫,为什么会多出原本不存在的条纹?

一块织得很密的布,肉眼看起来平平常常,到了相机里却可能泛起一圈圈波纹。被拍摄的物体没有变化,照片却在记录原有纹理时,长出了新的纹理。这是摩尔纹的一种成因。用一个简单的合成实验,就能把其中的门道看得很清楚。

看起来清晰的图案,也可能是错误的图案。
THE MEASUREMENT

像素之间的空隙,同样重要

想象我们在一块条纹表面上,以固定间距测量亮度。每个测量点只能告诉我们这里有多亮,却无法说明到下一个点之前,亮度如何变化。如果条纹变化足够缓慢,这些测量就能很好地描述它。可如果两个测量点之间已经发生多次变化,另一种图案也可能符合相同的测量结果。

真实的传感器像素会收集一小片面积内的光,而镜头也会在光线到达传感器前柔化细节。我们的模型刻意从更简单的情况出发:理想的点采样,加上一幅单色图案。先去掉这些缓冲机制,采样中的歧义就能单独显现出来。

左侧是细密的斜向条纹,右侧是在100乘100的网格上采样后出现的宽阔斜条带。
FIG 01左:精细绘制的合成表面。右:粗疏点采样网格取得的数值。实验没有使用相机。
THE SURPRISE

两种不同的波形,可以留下同一组点

在下面的曲线图里,蓝色波形每跨过一个像素间距,就重复0.92个周期;金色波形只重复0.08个周期。一个变化密集,一个起伏缓慢。但在每一个整数像素位置,两者的亮度完全相同。在采样点之间,它们描述的却是截然不同的景象。

这就是混叠:不同的信号,在采样后变成了同一种结果。对于简单的等间距亮度采样,在通常的带限假设下,要避免这种歧义,频率必须低于每个采样间距半个周期。实验中的0.92周期超出了这条界线,于是表现为缓慢得多的变化。

快速变化的蓝色余弦波和缓慢变化的金色余弦波,在十九个白色采样点上全部相交。
FIG 02白色采样点同时落在两条曲线上。金色曲线能够解释这些点,但它并不是原始信号。
IN TWO DIMENSIONS

假图案,也有自己的方向

现在把一条线扩展成一个平面。生成的条纹在水平方向每个像素推进0.92个周期,在竖直方向推进0.03个周期。把它放到100 × 100的网格上采样,得到的数值,与水平、竖直分量分别为−0.08和0.03的宽条纹完全一致。两个方向之间的关系变了,条带看起来的角度也随之改变。

下一张图只改变水平分量,依次使用0.90、0.92和0.94。每次小幅调整,都会在同一个网格上产生不同的宽条带。这有助于理解,为什么取景稍微一变,摩尔纹就可能大幅移动。实验展示的是机制,而不是某一款镜头或相机的具体表现。

水平频率分别为每像素0.90、0.92和0.94周期的三组条纹,经采样后呈现不同的宽阔斜条带。
FIG 03三种原始条纹间距,共用一个采样网格。虽然原始图案只有细微差别,宽条带的宽度和方向却明显不同。
THE TRADE-OFF

一点模糊,反而能留下更真实的画面

一个出人意料的办法,是在采样之前先去掉一部分细节。某些相机用光学低通滤镜在物理层面完成这件事。缩小数字图像前,也可以用数字低通滤波器做类似处理。两者都是为了防止超出采样能力的细节,换成更大尺度的图案重新出现。

在第二组合成表面中,我们给细条纹叠加了原本就存在的宽阔明暗变化。采用宽度参数为0.6像素的理想高斯预滤波后,细条纹的幅度降低了99.76%,宽阔明暗变化的幅度则保留了98.87%。这些数字来自这个特定合成信号的实际计算,不是对相机改善效果的承诺。

先后顺序很重要。一旦采样已经把两种图案混在一起,模糊处理就无法知道哪一种变化才是真的。先滤波,可以避免混淆;后滤波,则可能只是让错误的条带变柔和。

未经滤波的采样图有斜向干扰,预滤波后的图保留了平滑的竖向明暗变化,参考图则只包含原有的宽阔明暗变化。
FIG 04三幅图使用相同的亮度范围。预滤波压低了错误的斜条带,同时保留了原本大部分宽阔的竖向明暗变化。
BACK TO PHOTOGRAPHY

布料开始泛波纹时,可以试什么

稍微改变拍摄距离、焦距或相机角度,可能会改变重复纹理与传感器网格的对应关系。但应当检查结果,不能预设变化一定有效。不同取景可能移动问题、减轻问题,也可能制造另一种图案。除了缩小的预览图,也要查看原始文件,因为缩放本身又是一次采样。

颜色会让事情更复杂。许多相机在相邻的感光位置测量不同颜色,再估算缺失的数值。因此,细密纹理不仅可能出现错误的明暗条带,还可能产生原本没有的颜色。这里的灰度演示没有模拟彩色滤光阵列、去马赛克、锐化或任何厂商的图像处理。

THE LARGER IDEA

看见更多细节,不等于得到更多信息

摩尔纹让人困惑,是因为结果可以显得非常整齐、非常笃定。宽条纹明明白白地摆在那里,但清楚可见并不代表忠实。记录系统恰恰可能因为没有取得足以区分不同情况的信息,而生成一种很有说服力的结构。

一个有用的习惯,是问清楚:测量了什么,间距是多少,测量前去掉了哪些内容。只要连续的世界被转换成网格,这些问题就值得追问。有时,更诚实的图像,恰恰是愿意放弃一点锐利感的那一张。

继续阅读

Nikon · Moiré & False Color ↗NI · Sampling, bandwidth and aliasing ↗NumPy · Discrete Fourier Transform ↗

所有插图均由本地计算生成。屏幕或浏览器缩放图片时,细密图案还可能产生额外的显示伪影。

留一个想法带走

相机不需要想象。一个网格,仅仅通过遗漏信息,就能制造出图案。