零
因为研究课题与图像隐写相关,因此计划在读论文的时候顺便做一些笔记。这个是图像隐写系列的第一篇。
目前的图像隐写可以大致分为非深度(传统)隐写算法和深度学习隐写算法。
计划是从传统的隐写开始介绍,然后过度到深度学习隐写算法。此外还会看一些隐写分析的内容。
本着学习效率的原则,笔记不会非常详细。
隐写介绍
所谓隐写术(这里是特指图像隐写),就是在图像中隐藏信息。
隐写,包含两个要点,一是隐:隐藏,二是写:写入。
一个合格的隐写术,既要实现隐藏的目的,能够抵抗人类视觉的考验,还有一些隐写分析算法的分析,还要能够写入足够的信息,并且无损提取(尽量)。
此外,图像在传播的过程中,往往可能遭受压缩解压缩的过程。图像在网络中传播的时候为了提高传播效率往往会进行压缩,而这种可能是有损的。因此隐写术往往要求一定的鲁棒性。
简而言之,隐写包含三个基本步骤
嵌入,传输,提取。
这就需要提到密码学中的Alice,Bob和Eve的三角故事。
略。
嵌入要素
嵌入对象:图片
图像的存储形式是一个关键。BMP、PNG、JPEG图像的存储形式就不同,色彩的表示还有RGB,YUV等形式。因此嵌入对象的存储及读取形式是一个最重要和基本的点。简单来说,嵌入对象就是图像,但是如果细化,可以将嵌入对象细化到嵌入域——空域、频域等,对图像进行DCT变换之类,都是常见的操作。
嵌入方式:
各种各样。但是有一个共同点是——改变了图像的概率分布(废话)。这种分布使得图像能够使用一个特定的提取函数——使得以图像为输入能够获得一个特定的输出。
图像嵌入的信息只占据原始图像的一小部分,毕竟大多数的数据还是要用于正常显示图像。
而能够嵌入信息的部分,也应当尽量减少对图像的影响,也就是所谓的嵌入冗余。
当然冗余是相对于图像的视觉质量的冗余。而这部分冗余,同时最好还要能抵抗一些常见的图像处理操作。
提取方式:
就是提取。嵌入的逆过程。