【通常来说,图像加密及隐写技术都是在计算机算法的层面上实现,一切都是数字化的。实际上在这一主流研究方向之外,一些研究者也在积极探索通过物理方式实现图像安全,特别是通过光学方式,而并非完全依靠计算机数字处理,这些方案往往可以实现独特的效果。光学图像安全在以往被主流图像安全研究者关注的相对较少,本系列的文章将为大家介绍和普及相关的研究。】
人的眼睛像一台功能强大的精密机器,即使目前世界上最先进的相机也难以和人眼相媲美,不过某些时候“看走眼“、”眼神不好“也在所难免。人眼被看到的景物所欺骗,感知到的图像与现实世界不相符,就会产生各种图像视错觉。可以把短的看成长的,直的看成弯的,圆的看成方的,静的看成动的,没有的看成有的……下面就是三个简单的例子。
图1 三种简单的视错觉:(a)下面这条线好像比上面这条线更长?实际它们是一样长的;(b)有两条红色的曲线?实际它们是平行的直线;(c)右面箭头的颜色更深?实际两个箭头的颜色一模一样。
我们研究中所关注的是一种被称为颜色同化网格的视错觉[1]。首先,你觉着下面这张照片是黑白的还是彩色的呢?
图2 一张视错觉照片
看起来似乎是一张彩色照片,但你或许没想到的是,照片中的大多数像素其实都是黑白的(严格说是灰度的),只有少数在网格上的像素是带颜色的。由于人眼的错觉,把很多灰度像素也看成是彩色的。合成这样一张视错觉照片也不难,把灰度照片和一个颜色过饱和的彩色网格叠加到一起就可以,不过要留意的是,网格上像素颜色要设置成比原本更深。网格可以由线条组成,也可以由点阵组成。如果网格比较密集,比如覆盖到整张图片一半数量的像素,合成的视错觉图片会非常接近原本的图片,尽管另外一半的像素并没有颜色。
图3 颜色同化网格视错觉图片的合成方式
图4 以不同采样率的线网格或点网格合成的视错觉图片
类似的颜色视错觉在很早之前就被人们发现,但是到目前为止,还很少在技术领域中获得应用。作为一个可能的应用,在相机传感器,显示屏,投影仪,或者彩色打印中,可以把大量的彩色像素替换为低成本的灰度像素,比如在喷墨打印彩色照片或海报的时候,大量使用黑白墨水,只使用少量彩色墨水,打印出的图片效果上看起来却很像是全彩色的,“以黑白的价格打印彩色“、”特价大优惠“。此外,这种视错觉在彩色图像视频的数据压缩中也有一定的应用潜力。
而在我们所做的研究工作[2]中,发现网格采取不同的排列方式,产生的视错觉效果是接近的,我们可以让网格中每相邻两条线(或者两个点)的两种不同位置分布方式分别表示二进制比特0或1,在整张合成的视错觉图片中,一定数量的二进制信息就可以隐藏在其中,它们可以表示名字,网址,二维码等各种具体内容
(a) (b)
图4 (a)线网格中两条相邻网格线(绿色)与三行灰度背景像素(白色)两种不同排布方式,分别表示二进制比特0或1;(b)点网格中两个相邻网格点(绿色)与两个灰度背景像素(白色)两种不同排布方式,分别表示二进制比特0或1;
图5 颜色同化网格视错觉图片的信息隐藏结果:(a)原始彩色图片;(b)灰度图片;(c)-(d)线网格合成两张视错觉图片,并且分别隐藏了不同的数据(右侧);(e)-(f)点网格合成两张视错觉图片,并且分别隐藏了不同的数据(右侧).
总结来说,我们通过在灰度照片中叠加专门的彩色网格,可以让整张图片看起来像彩色的,不仅如此,以不同的方式对网格中的线或点的位置排布进行编码,在几乎不改变视错觉效果的情况下,可以在合成的视错觉图片中进行信息隐藏。
参考文献
[1] https://pippin.gimp.org/
[2] Shuming Jiao and Jun Feng, "Image steganography with visual illusion," Opt. Express 29(10), 14282-14292 (2021)
供稿:鹏城实验室 焦述铭
编辑:上海理工大学 秦川
声明:本文来自隐者联盟,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。