近年来,由于自动立体显示技术和立体眼镜技术的发展,使得三维显示的应用日趋广泛,而传统的视觉文件加密方法在三维视频领域内尚无法取得令人满意的效果,因此三维立体视觉加密研究具有重要意义。为了更有效地对三维视频进行加密,利用三维显示的原理和特点,将其与视觉加密的优点相结合,提出了一种三维立体视觉加密新方法,该方法利用人眼视觉特性中的视差特性将隐藏信息巧妙地隐藏在右视图中,实验结果表明,该方法是有效的。
一、立体视觉加密
1、立体视觉基本原理
深度信息是人们对三维感知的最重要线索之一。众所周知,人脑是通过对物体的深度线索进行处理形成对三维世界的感知。大家知道,人类左右眼的视差是深度信息的主要来源,这是产生立体视觉的基本原理,其是通过将有视差关系的左视图和右视图单独输入到左眼与右眼,使人脑形成对图像的立体感觉,这也是二维视觉加密技术无法直接应用到三维显示领域中的原因。如果能通过某种算法把隐藏信息放置于左视图或右视图中,并且从其中之一的图片无法辨别隐藏信息,只有将对应的左视图和右视图放置在一起,分别让左眼和右眼感知,再通过人脑的合成作用,使人们在看到立体图像或视频的同时,也能自动解码隐藏信息,就能实现在三维图像中隐藏信息的目的。
2、立体视觉加密算法
如前文所述,左视图、右视图和深度信息构成了立体视觉的基础,因为由左视图和右视图可以通过计算生成深度信息。同样的,由左视图和深度信息也能生成右视图。
本加密算法主要利用将隐藏信息置于深度图中的方法,经过对左视图和深度信息的处理和计算生成右视图,并完成视觉加密的过程。
在三维立体视觉中,左视图和右视图都是包含颜色信息的普通图片或视频,而深度信息是一张256色灰度图,每个像素的亮度值由8bits表示,并且与二维图像一一对应,0到255代表了对应点上的二维像素和人眼的相对距离。本文中,O即黑色,代表离人眼最远,255即白色,代表离人眼最近。
如何获知隐藏信息在深度图中的位置是本算法主要的研究对象口由于深度图和二维图的每个像素之间有密切的关系,因此隐藏信息的位置主要由对应的二维图像决定a如果把隐藏信息放在二维图像纹理较为简单的部分(如颜色相对单调的背景处),则由于无法引起双眼的视差,从而导致不能形成立体视觉,同时也给隐藏信息的识别带来困难。此外,尽管前景能形成更大的视差,但由于前景本身已经具有一定的深度,因此在选择隐藏信息嵌入位置的时候需要优先考虑的是隐藏信息的深度与周围图像深度的差别,以便更容易地形成立体视觉。由于图像的背景一般不具有深度信息(深度接近或等于零)。因此本文选取图像背景作为主要的研究对象。
本文提出了一种根据水平方向纹理复杂度决定隐藏信息嵌入位置,进而实现立体视觉加密的方法。根据人眼的视觉特性,由于人眼对水平方向上的变化比对垂直方向上的变化更加敏感,因此水平方向的纹理复杂度可以作为一个重要的参考标准,而常用的估算纹理复杂度的方法是计算水平方向梯度。
本文采用Sobel算子计算水平方向梯度。设原图像矩阵为H,经过处理后的矩阵为^H,图像矩阵中的数据都是原图像的亮度值。Sobel算子为:
可通过对日中的像素进行卷积运算来得到^H,即:
由此可生成一张新的梯度图(边缘像素值由原图对应位置的像素代替),并计算与隐藏信息大小相同(本文中隐藏信息大小为64 ×64)的方格内不等于0像索的数量,记为Ca,b,其Ca,b最大的估计为纹理复杂度最大处。
在计算出隐藏信息的放置位置后,就可以利用左视图和深度信息生成右视图。根据左视图,在原始位置的基础上利用深度信息对对应像素进行偏移的计算,这样就能通过最简单的方法生成
右视图。
如图所示,P是空间中任一点,Z代表P点相对摄像机的深度,f是焦距,Cl和Cr分别是左摄像机和右摄像机在ZX平面上的投影点。tx是摄像机之间的x方向距离。P投影到成像平面上的点分别为(XL,y),(Xc,y和(XR,y)。由图所示的几何关系可以得到以下公式:
由式(5),式(6)可得:
d是视差,f是焦距,为不失一般性,这里f的取值为1。
由式(5)并根据自己的需要调整tx,的值,就可以在已知左视图或右视图的情况下,通过相对的深度信息,计算像素偏移从而得到另外一张视图。在计算中,部分像素经过偏移,会使这些像素点附近出现空洞,这主要是由于前景遮挡后景所造成的。本论文在填补空洞的时候仅采用最简单的方法,即用邻近像素值代替。
尽管在最终得到的右视图中包含有隐藏信息的内容,但因为像素的原始位置来自于左视图,所以无法仅仅通过右视图还原出隐藏信息。但只要通过佩戴特殊的立体眼镜观察左视图和右视图,就能达到对隐藏信息解密的目的。
二、实验结果
为验证本文方法的效果,从一段三维视频序列中取出一帧作为实验对象进行了加密实验,实验对象包括一张二维图片和对应的深度信息,分辨率均为960×540pixel8(图像来源为飞利浦东亚实验室三维显示器的广告视频中的一帧,如图(a)和图(b)所示)。
在深度信息中,计算出水平纹理复杂度最大的位置,然后在该位置处插入要隐藏的信息(大写K)。处理后的图像如图所示。
接着,可借助二维图像和深度信息,通过像素偏移的计算来生成右视图(如图所示)。由图可以看出,仅仅通过右视图无法获得完整的隐藏信息,但是若佩戴特殊的立体眼镜,那么人眼就可以清楚地观察到隐藏信息。
三维显示技术是一种具有广泛应用前景的技术,而把视觉加密应用到这个领域更是一种全新的尝试。由于隐藏信息要求具备三维显示设备才能清楚地故人眼识别,因此当三维显示技术普及之后,视觉加密会有更多的研究和应用价值,比如商标内嵌、版权保护等等。视觉加密的多图片信息共享与三维技术对不同视角的要求使两者有很好的结合点。除了三维显示技术以外,现在处于研究领域前沿的多视点视频编码也可以为视觉加密的发展提供新的空间。
立体视觉是当闭上一只眼睛拿东西时,物件的距离和空间感会变得不一样又或是当你轮流遮盖一只眼睛看某一件近距离的东西时,有没有留意到左右眼睛所看出来的物件位置是不同的这种情况是因为人体的两只眼睛位置不同,令每只眼睛看出来的影像有所差异。当左右眼睛所看到的影像传到脑部时,脑部会将两个影像合而为一,形成对物件的立体及空间感,即是立体视觉。