您的位置:首页 > 文旅 > 美景 > 微信公小程序开发教程_自媒体平台大全_网站优化推广seo_天津优化网络公司的建议

微信公小程序开发教程_自媒体平台大全_网站优化推广seo_天津优化网络公司的建议

2024/10/14 10:30:17 来源:https://blog.csdn.net/weixin_40651515/article/details/142862277  浏览:    关键词:微信公小程序开发教程_自媒体平台大全_网站优化推广seo_天津优化网络公司的建议
微信公小程序开发教程_自媒体平台大全_网站优化推广seo_天津优化网络公司的建议

1.摘要

        随着互联网、社交媒体和简易图像操作工具的普及,图像篡改带来的问题日益严重。为了解决这一问题,研究者们利用深度卷积神经网络来检测图像篡改并定位篡改区域。为此我们训练了一个ManTra-Net模型,该模型以TensorFlow为后端,使用Adam优化器和分类交叉熵损失函数进行训练。此外,我们还实现了一个Web界面,该界面使用Flask框架开发的Python后端API端点服务器,使用户能够上传图像并接收突出显示篡改区域的输出图像。这一Web界面简化了与模型的交互过程,提高了用户的使用体验。

2.ManTra-Net模型实现

        ManTra-Net方法由两个子网络组成,即创建统一特征表示的图像处理-跟踪特征提取器和直接定位伪造区域的局部异常检测网络(LADN),从局部特征与其引用到伪造标签之间的差异中学习决策函数映射。从技术上来说,ManTraNet 由两个子网络组成,如下所示:
        1. 图像处理轨迹特征提取器:用于图像处理分类任务的特征提取网络,对不同的处理类型敏感,并将补丁中的图像处理编码为固定维度的特征向量。
        2. 局部异常检测网络:异常检测网络将局部特征与局部区域平均的主导特征进行比较,其激活取决于局部特征偏离参考特征的程度,而不是局部特征的绝对值。

  ManTraNet 是一种端到端图像伪造检测和定位解决方案,通过识别局部异常特征来检测伪造像素,因此不限于特定的伪造或篡改类型,具有简单、快速和高鲁棒性,但是其局限性在于不能准确检测多篡改对象图像。

本文针对ManTraNet模型进行简单修改,其结构如下:

keras实现代码:

def create_manTraNet_model( Featex, pool_size_list=[7,15,31], is_dynamic_shape=True, apply_normalization=True ) :img_in = Input(shape=(None,None,3), name='img_in' )rf = Featex( img_in )rf = Conv2D( 64, (1,1),activation=None, # no need to use tanh if sf is L2normalizeduse_bias=False,kernel_constraint = unit_norm( axis=-2 ),name='outlierTrans',padding = 'same' )(rf)bf = BatchNormalization( axis=-1, name='bnorm', center=False, scale=False )(rf)devf5d = NestedWindowAverageFeatExtrator(window_size_list=pool_size_list,output_mode='5d',minus_original=True,name='nestedAvgFeatex' )( bf )if ( apply_normalization ) :sigma = GlobalStd2D( name='glbStd' )( bf )sigma5d = Lambda( lambda t : K.expand_dims( t, axis=1 ), name='expTime')( sigma )devf5d = Lambda( lambda vs : K.abs(vs[0]/vs[1]), name='divStd' )([devf5d, sigma5d])# convert back to 4ddevf = ConvLSTM2D( 8, (7,7),activation='tanh',recurrent_activation='hard_sigmoid',padding='same',name='cLSTM',return_sequences=False )(devf5d)pred_out = Conv2D(1, (7,7), padding='same', activation='sigmoid', name='pred')( devf )return Model( inputs=img_in, outputs=pred_out, name='sigNet' )

        为了提高模型的泛化能力,将图像篡改和定位检测定义为局部异常检测任务,而不是先前方法中的语义分割任务。为此,使用伪造特征与伪造标签之间的不相似性来学习一个决策函数。局部异常检测网络分为三个阶段:“适应”阶段处理从操纵痕迹检测中提取的特征,以便用于异常检测;“异常特征提取”阶段提取异常特征;最后是“决策”阶段,分类像素是否被篡改。其中最重要的阶段是异常特征提取阶段,在该阶段,模型首先识别出最显著的特征,然后将任何与显著特征足够不同的特征视为异常特征。这一直觉通过两种新颖的神经网络架构来实现:ZPool2D层,它标准化了上述不相似性(如Z分数),以及Conv2DLSTM层,用于处理从不同分辨率堆叠在一起的ZPool2D层输出。

3.实验测试

使用了NIST 2016、CASIA、COVERAGE和Columbia等部分数据集进行了测试,其实验结达到了80%作用(AUC得分)。如下:

篡改类型     

拼接、复制-移动、增强

拼接

复制-移动

拼接、复制-移动、删除

模型ManTra-Net

79.5%

82.4%

81.9%

81.7%

4.应用实现

        设计了一个Web界面,该界面依托Flask框架构建的Python后端API端点服务器。用户则可以通过一个基于HTML、CSS和JavaScript开发的前端Web界面,上传想要检查是否存在篡改的图像。

实现界面如下:

实验环境:

Keras==2.2.4
tensorflow==1.14.0
numpy==1.19.5
matplotlib==3.3.4
opencv-python==4.1.0.25
Flask==1.0.2
typing==3.6.6

代码下载链接:

https://download.csdn.net/download/weixin_40651515/89876700

包含完整论文。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com