VisCode: Embedding Information in Visualization Images using 论文笔记

您所在的位置:网站首页 avid解码器怎么用 VisCode: Embedding Information in Visualization Images using 论文笔记

VisCode: Embedding Information in Visualization Images using 论文笔记

2023-04-02 21:47| 来源: 网络整理| 查看: 265

VisCode:使用编码器-解码器网络在可视化图像中嵌入信息Overiew

​ 数据可视化的一个基本目标是提高对数据的认知和感知能力。与传输大量的原始数据相比,图像是更能被接受的载体。但是,在将原始信息转化为像素值后,很难从得到的图像中重建原始信息。而VisCode,就是一个在可视化图像中使用编码器和解码器网络嵌入和恢复隐藏信息的框架。

三个组件(Visual Importance Network、Encoder Network、Decoder Network)Visual Importance Network

​ 由于数据可视化的语义特征与自然图像有很大的不同,文章使用网络来建模,得到一个视觉重要性图来用于下一个组件(Encode Network)的约束。考虑到错误校正,文章将普通信息转换为嵌入一系列QR码,而不是二进制数据。

Encoder Network

​ 在该网络组件中,通过特征提取过程将载体图像和二维码图像嵌入到向量中。

、 Decoder Network

​ 解码器网络从编码的图像中检索信息。用户可以通过数字传输与他人共享编码图像。将编码后的图像解码后,从解码后的QR码图像中获得最终的信息,并进行纠错。

VisCode系统运行过程

​ VisCode系统的主要组件。首先,视觉重要性网络(b)对输入图形图(a)进行处理,便于检测可视化的显著特征,输出视觉重要性图。接下来,编码器网络(c)将秘密信息嵌入到图形图(a)中,通过特征提取将载体图像和二维码图像嵌入到向量中。然后,将这两个向量连接起来(如黄色矩形所示),并进入自编码阶段。编码后的图像(d)被发送给用户(e),用户可以通过数字传输将其发送给其他人。当用户希望获取图表中隐藏的详细信息时,可以将编码后的图像上传到解码器网络(f)。经过数据恢复和纠错后,用户接收到解码后的信息(g)。

方法视觉重要性地图Visual Importance Map

​ 编码器网络的目标是将大量信息嵌入到图形图表中,同时使编码的图像在感知上与原始图像相同。一个简单的解决办法是训练一个模型使原始图表和编码后的图表之间像素差的平均平方误差最小。然而,这里的每个像素之间的权重是相同的,当编码到了重要区域,就可能产生可见噪声。所以文章需要一个视觉重要性地图来表明重要区域,方便在编码时绕过这些重要区域。

​ 视觉重要性图为图像的不同区域分配不同的分数(分数越高的区域越重要),这有助于在编码阶段保持重要内容的视觉质量。

如何得到一个数据集?

​ Bylinskii等人的启发,文章利用基于带有眼动注释(人看一张图是眼球的聚焦点)的MASSVIS数据集建立了一个预测模型。

​ 因此,为了获得更准确的高层次语义上下文信息和更低层次的细节信息,文章使用混合训练,又人工对每个像素点进行注释,标注了其重要性。

​ 在上述两种预测模型的混合训练下,文章得到结果:

​ a是输入的两个图像,b是用Bylinskii预测模型建的结果,c是人工注释后的结果,d是混合两种模型得到的重要性地图。

​ 这样就训练出了一个能输出视觉重要性地图的模型。

编码器网络和解码器网络

​ 编码器网络设计用于将信息嵌入到载波图图像中,同时最小化编码图像中的扰动(尽量往视觉重要性高的地方嵌入-个人理解)。解码器网络从已编码的图像中恢复嵌入的秘密信息。

​ 关于损失函数:

​ 损失函数是用来估量模型的输出与真实值之间的差距,给模型的优化指引方向。

​ 编码器的损失函数:

​ Vp是预测的视觉重要性图,可以看作是一个权重矩阵。视觉重要性得分越高的区域权重越大。Icp是输入的载波图像,Icp’是输出的编码图像。N是像素的个数。

​ 解码器的联合损失函数:

​ 其中,Is为原始输入二维码图像,Is’为解码器网络重构结果。α是解码器损耗的权重,表示编码图像的视觉质量和解码精度之间的权衡。

​ α值越高,解码精度越高,感知质量越低(图像失真越严重,越像嵌入了东西)。α在实现中被设置为0.25。

​ 在训练过程中,同时训练编码器网络和解码器网络。也就是说,联合损失函数同时考虑了编码图像的视觉质量和重建误差。

训练结果

可以看出,(a)与(b)肉眼已经看不出差别,将差别放大10倍后的(c)仍不明显。

​ 结果表明,VisCode模型可以在保持原始图表图像感知质量的同时嵌入信息。

大规模数据嵌入

​ 在图像中嵌入大量的信息是一个具有挑战性的问题,因为它容易产生明显的噪声或导致颜色或纹理的偏差。

​ 文章提出了一种新的方法,在人类视觉系统不敏感的区域大规模嵌入信息。

​ 假设文章将输入一个大规模的文本信息,那么第一步就是将文本分块:

​ LenT是总文本长度,n是设定的每块的文本长度,NumB是块数量,LenB是实际上每块的文本长度。这里很严谨,LenB在最后一块上可能不等于n。

​ 考虑到QR码有多种模块配置,这可能会影响编解码网络的效果,文章使用不同的文本长度与QR码模块配置的映射关系进行测试。

​ 在实际操作中,文章并没有使用动态配置QR码。而是依据上表进行配置。n越大说明QR码存储的信息越多,但是ECC level(容错级别)就比较低。文章使用的n=800。这样QR码的区域框大小就是200X200了。

大规模数据的嵌入位置

​ 之前说了要找视觉最不敏感的区域嵌入信息,但找到了以后该怎么做呢?一种方案是随机取一些不敏感的区域嵌入信息,但这样修改与未修改的地方边界之间会很不和谐。另一种是蛮力搜索所有可能区域,用编解码器网络评估影响。但这样时间成本会很高。

​ 文章需要通过上面得到的视觉重要性图和区域框大小,找到最适合插入的地方,文章运用平均池化,来计算每个区域框的特征值(视觉重要性),然后对其进行递增排序,获得候选区域列表。

​ 关于池化:

​ 每个像素点都有自己的特征值(视觉重要性),而文章要寻找视觉重要性最小的区域框。那如何对框的视觉重要性进行评判了。文章选择了平均池化的方法(即用框内所有像素点特征值的平均来代替这个框的特征值)。

​ 现在有了从小到大的区域框候选列表,我遍历这个列表,找最适合的区域框。但是在找的过程中,会出现选入的两个区域框之间重合的情况。这里采用非最大抑制的方法NSM(说人话就是取前面的区域框,后面若和前面选中的框重合就丢弃,因为排过序了,前面框的视觉重要性低)。

​ 当选出所有的区域框后,这些区域框一定是视觉重要性最小的区域框,且两两之间不重合。这些区域框的位置信息需要存放到一个位置上,文章选择最左上角生成了一个区域框,来存放这些信息。

嵌入算法代码分析1234567891011121314151617181920212223#Input: #V:视觉重要性地图 #text:嵌入的大数据文本 #n: 分块的大小,800#Output: #Ro_set:生成的嵌入区域框集合(W,H) =size(V)#视觉重要性地图的长和宽Calculate NumB and LenB#根据文本分块公式计算分块的个数和分块后的文本长度Roset={},cnt=0kernel_size=map(LenB)#通过QR码的模块测试表生成区域框的长宽(因为n=800,所以kernel_size=200)Full_set#用平均池化的方式得到候选区域框集合sort(Full_set)#对该集合进行递增排序for c_egion in Full_set do for s_region in Ro_set do#遍历每一个选中的区域s_region,比较候选区域c_egion是否和s_region重合 if Intersection(cregion,sregion) > 0 then conflict=true#重合即标记该区域 end if end for if conflict = false and cnt


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3