本文是“数字取证:专家如何揭露篡改的图像”专题的补充报道,该专题刊登于《大众科学》2008 年 6 月刊。
光照
由不同照片的片段组成的合成图像可能会显示出,最初拍摄每个人或物体时,光照条件存在细微差异。这些差异通常不会被肉眼注意到。
对于右侧的图像,我的团队可以估计每个人或物体的光源方向(箭头)。我们的方法基于一个简单的事实:照射到表面上的光量取决于表面与光源的相对方向。例如,一个球体,其朝向光源的一侧光照最强,而另一侧光照最弱,其表面上的阴影会根据表面与光线方向之间的角度而发生渐变。
支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道: 订阅。通过购买订阅,您将有助于确保未来可以继续报道关于塑造我们当今世界的发现和想法的有影响力的故事。
要推断光源方向,您必须了解表面的局部方向。在图像中,物体上的大多数位置都很难确定方向。唯一的例外是在表面轮廓线上,该处的方向垂直于轮廓线(右侧红色箭头)。通过测量轮廓线上几个点的亮度和方向,我们的算法可以估计光源方向。
对于上面的图像,警察的光源方向与鸭子的光源方向不匹配(箭头)。我们必须分析其他物体才能确定是鸭子被添加进来的。
眼睛和位置 因为眼睛的形状非常一致,所以它们可以用来评估照片是否被修改过。
人的虹膜实际上是圆形的,但是当眼睛转向侧面或向上或向下时,虹膜会呈现越来越椭圆的形状(a)。可以通过追踪从眼睛到称为相机中心的点的光线来近似照片中眼睛的样子(b)。图像在光线穿过图像平面的位置形成(蓝色)。相机的中心点——图像平面和相机指向的光线的交点——将接近照片的中心。
我的团队使用照片中人的两个虹膜的形状来推断他或她的眼睛相对于相机的方向,从而推断出相机中心点的位置(c)。中心点远离中心或人们具有不一致的中心点是篡改的证据(d)。该算法也适用于其他形状已知的物体,例如汽车上的两个轮子。
然而,该技术是有限的,因为分析依赖于精确测量人两个虹膜的略微不同的形状。我的合作者和我发现我们可以可靠地估计较大的相机差异,例如当一个人从图像的一侧移动到中间时。如果一个人移动的距离小于这个距离,则很难判断。
镜面高光 周围的光线会在眼睛中反射,形成称为镜面高光的小白点。这些高光的形状、颜色和位置可以告诉我们很多关于光照的信息。
2006 年,一位图片编辑联系我,咨询一张计划在他杂志上发表的美国偶像明星的照片(上图)。镜面高光非常不同(插图)。
高光位置表明光源所在的位置(左上图)。当光源的方向(黄色箭头)从左向右移动时,镜面高光也会随之移动。
美国偶像照片中的高光非常不一致,仅凭目视检查就足以推断出该照片已被修改。但是,许多情况需要进行数学分析。要精确确定光源位置,需要考虑眼睛的形状以及眼睛、相机和光线之间的相对方向。方向很重要,因为眼睛不是完美的球体:虹膜的透明覆盖物或角膜会突出,我们在软件中将其建模为一个球体,该球体的中心偏离眼睛的白色部分或巩膜的中心(右上图)。
我们的算法根据图像中虹膜的形状计算出人的眼睛的方向。有了这些信息和镜面高光的位置,该程序就可以估计出光源的方向。美国偶像演员阵容的图像(上图;绿色球体上的红色点表示方向)很可能由至少三张照片组成。
发送克隆 克隆——复制和粘贴图像的区域——是一种非常常见且强大的操作形式。
这张图片来自乔治·W·布什 2004 年底的竞选连任电视广告。通过对所有可能的重复区域逐像素进行暴力计算机搜索来查找克隆区域是不切实际的,因为它们可以是任何形状并位于图像中的任何位置。要进行的比较次数是天文数字,并且无数微小的区域仅凭偶然就会相同(“误报”)。我的团队开发了一种更有效的技术,该技术可处理小像素块,通常约为六乘六像素的正方形(插图)。
对于图像中的每个六乘六像素块,该算法都会计算出一个量,该量表征该块中 36 个像素的颜色。然后,它使用该量来对序列中的所有块进行排序,从而使相同和非常相似的块彼此靠近。最后,程序会寻找相同的块,并尝试从它们逐块“增长”更大的相同区域。通过处理块,该算法大大减少了必须检查和丢弃的误报数量。
当将该算法应用于政治广告中的图像时,它会检测到三个相同的区域(红色、蓝色和绿色)。
相机指纹 数字修饰很少留下视觉痕迹。因为修饰可以采用多种形式,所以我希望开发一种可以检测图像的任何修改的算法。我的团队提出的技术取决于几乎所有数码相机的工作方式的特性。
相机的数字传感器以像素的矩形网格排列,但是由于位于数字传感器网格顶部的彩色滤光片阵列 (CFA),每个像素仅能检测到一种颜色附近波长带内的光强度。最常用的 CFA(拜耳阵列)的红色、绿色和蓝色滤光片排列如下所示。
因此,原始数据中的每个像素仅具有指定标准数字图像像素所需的三种颜色通道中的一种。丢失的数据通过从附近的像素进行插值来填充,这种程序称为去马赛克,可以通过相机本身的处理器或解释相机原始数据的软件来完成。最简单的方法是取相邻值的平均值,但是也使用更复杂的算法来实现更好的结果。无论应用哪种去马赛克算法,最终数字图像中的像素都将与其邻居相关。如果图像不具有声称用于拍摄照片的相机的正确像素相关性,则该图像已被以某种方式修饰。
我团队的算法会在数字图像中查找这些周期性相关性,并可以检测到它们之间的偏差。如果小区域中不存在相关性,则很可能在该处进行了一些局部更改。如果进行了图像范围的更改(例如调整大小或严重的 JPEG 压缩),则可能完全不存在相关性。此技术可以检测到所做的更改,例如路透社在 2005 年发布的联合国安理会会议的图像中进行的更改(上图):调整了记事本的对比度以提高其可读性。
该技术的缺点是,它只能有效地应用于声称是原始的数字图像;例如,打印输出的扫描将具有扫描仪施加的新相关性。