RoSteALS使用一个轻量级的秘密编码器将秘密信息映射到图像的潜空间中,并通过对潜空间进行微小的偏移来嵌入秘密信息。
该方法使用预训练的自编码器作为基础模型,不需要学习图像分布,因此训练过程简单且效果良好。
架构图:训练期间只更新秘密编码器和秘密解码器,图像的编码器和解码器是锁定的
使用自编码器VQGAN
利用编码器将秘密信息映射到图像的潜在层中,
使用Res50作为解码器,
当平均验证损失停止改善时,训练终止。
图像质量通过冻结的自编码器在第一次迭代中保证,编码器和解码器从头开始训练。
为了提高鲁棒性,插入了噪声模型,其中包括3种类型的噪声,可微的加性和线性噪声(亮度,饱和度,对比度),近似可微噪声(JPEG压缩),不可微噪声(飞溅)
MIRFlickR dataset 100k张,256*256的图像
PSNR在32~34之间,bit acc挺高,但是用了bch纠错码,实际负载率没那么高,而且没有做隐写分析的实验
即使在L=200中,训练也只需要30个epoch就能收敛,因为RoSteALS的唯一目标是学习秘密的编码和解码模块。
这篇代码还是很好复现的,3090显卡半小时能跑一个epoch(6000张train图),比较轻量