因为刚好念影像处理,抛砖引玉的提一下ELA。
但这不是我的第一专长,如果有错误请高手更正。
把照片I想像成 I=O+N,其中 O是无噪声影像,N是白噪声。
N的产生是感光元件固有的特性,在照片各处的【长相】都是一样的。
ELA 是利用白噪声【长相】在各处都相同的特性;来判定影像是否有异常之处,
当某处的白噪声【长得像这张影像的白噪声】时,ELA结果看起来比较亮。
因此当一张影像被处置时;一定会符合一些基本原则:
1. 当影像重新以有损方式(JPEG)存盘时,算法倾向保留大边缘与纹理。
高频(边缘或纹理)附近的衰退较低;低频(平滑处)附近则被抹除。
因为白噪声残存比例不同,在影像平滑处ELA变暗;边缘处ELA较亮。
每存盘一次,就衰退一次。
2. 当影像某些位置被过度强化,导致细节消失时(过亮过暗),
白噪声消失,该处ELA呈现纯黑色。
3. 边缘对比相同,ELA亮度相同;边缘对比较弱处,只会比较强处暗一点点。
而且颜色大致相同。
4. 根据 2+3:
有纹理的区块,ELA比平滑区亮。
纹理相似的区块,ELA颜色与亮度应该大致相同。
5. 无论区块的颜色如何,平滑区块大致上颜色应该相同,而且较暗。
6. HE, Gamma 等one-to-one的强化法是对整张影像做 (而且单调递增)
因此整张影像的白噪声一起变化;大体上不影响上面原则。
但可想而知,在原始图中使用笔刷就会影响判读。
另外,影像处理软件因为使用的色彩空间移除了亮度与色彩的相关性,
所以处理完的影像容易有 Rainbowing 效应,
能看到ELA呈现有色彩的大尺度纹理变化。
7. JPEG压缩因为DCT分解的关系,会有 8*8、16*16... 诸如此类的区块。
原始影像的区块应该呈现不重叠的分布。
(虽然在合成时,只要程式写的用心点就可以蒙混过去)
如果要把两张JPEG拿来合成,只能说:
【若合成时采用的两张图压缩的程度不同、强化的历史不同、
由不同相机取得,都会使两张图中的白噪声产生不对称的改变。
举个简单的例子来说:
A影像由相机直出,B影像来自相同的相机,但经过LR去噪声与对比增强。
现在A当中有一个区块A(x)被贴到B;又有个区块B(x)跟A(x)特征接近。
那在合成照片当中,A(x)与B(x)的ELA差异就可以拿来判断真伪。】
因此ELA不是看哪个区块特别亮或暗就好,
而是要搭配上述原则去找出 "具有同样特征,但是ELA却不同" 的位置。
还要推敲是不是影像处理的手段所造成。
例如:ELA的异常可能是用笔刷,但如果Luminance Gradient的边缘同时也异常;
那就非常可能是Matting不完善的结果。
另外PCA的结果也可以参考,因为异常的边缘通常都是独立成分。
结论:
从这张图的ELA和Luminance Gradient来看,
ELA似乎没有太大的异常,但有明显的Rainbowing;
Luminance Gradient 边缘的颜也看似没有异常。
因此从这类分析的结果来看,大概是没合成;
但99.99%用软件调整过。