Datawhale干货 

作者:小羊向前冲

AI+安全的实践系列分享来了!

11月20日,国内首个AI大模型攻防赛在世界互联网大会乌镇峰会收官。
颁奖仪式:乌镇峰会热议AI反诈:国内首个AI大模型攻防赛收官,全球十强亮相
通过攻防双向赛道竞技,大赛最终角逐出全球十强。
赛后Datawhale邀请到了本届十强,为大家带来系列复盘分享。
今天,我们和防守方向的亚军团队聊一聊。
国内首个AI大模型攻防赛全球十强乌镇亮相

赛道二出题人代表点评

全球AI攻防挑战赛评审委员会成员、上海交通大学长聘教轨助理教授 张倬胜:

“小羊向前冲”的方案展现了清晰的工作逻辑与良好的团队执行力。团队结合逐步优化与全局平衡的策略,深入分析了数据集特性,针对不同凭证类型和篡改手法,灵活应用开源库AIGC生成、Aibu数据增强和离线伪标签等多维数据增强技术,并创新构建了全自动、即插即用的篡改pipeline,有效提升了模型在多样化篡改场景下的鲁棒性。在应对文字篡改区域小、痕迹弱的难题时,团队采用预标注与多任务学习策略,显著增强了文字篡改检测能力。整套方案设计逻辑清晰,为学术研究与工业领域篡改检测技术的融合与落地提供了较强的参考价值。

复盘分享

写在前面

大家好,我是 全球AI攻防挑战赛—赛道二:AI核身之金融场景凭证篡改检测——“小羊向前冲”的队长杨志强浙江工业大学博士在读。 
个人背景
历史竞赛奖项:2 金 1 银 1 铜
获奖经历:
2022年 IEEE UV “Vision Meets Algae” Object Detection Challenge 冠军
2023年 IEEE Cybermatics第二届国际 “Vision Meets Algae”挑战赛和研讨会 冠军
2024年 全球AI攻防——AI金融场景凭证篡改检测 亚军
2024全球人工智能技术创新大赛无人机视角下的双光目标检测 第五名
论文和专利:一篇CCF-C PRCV Oral论文,一篇EI论文,三个公开专利

擅长方向:目标检测,医学图像

赛题背景

金融领域交互式自证业务中涵盖用户开户、商家入驻、职业认证、商户解限等多种应用场景,通常都需要用户提交一定的材料(即凭证)用于证明身份信息、所有权信息、交易信息、资质信息等,而凭证的真实性一直是困扰金融场景自动化审核的一大难题。随着数字媒体编辑技术的发展,越来越多的AI手段和工具能够轻易对凭证材料进行篡改,大量的黑产团伙也逐渐掌握PS、AIGC等工具制作逼真的凭证样本,并对金融审核带来巨大挑战。为此,本赛题开设了AI核身-金融凭证篡改检测赛道。赛题发布了大规模的凭证篡改数据集,参赛队伍需要在给定的大规模篡改数据集上进行模型研发,同时给出对应的测试集用于评估算法模型的有效性。

赛题分析

数据集分析

本次比赛发布了超大规模自研光鉴凭证数据集,该数据集整合了大量开源的图像数据和内部的业务数据。数据的构建方式为在原始图像数据上针对文字区域采用copy move,splicing,removal,局部AIGC等方式进行数字篡改编辑。模型的泛化性也将是此次比赛重要的衡量指标,因此本次的测试集将比训练集包含更多的凭证类型和篡改编辑手法。一些窜改实例图如下:



训练集有100w左右的数据,测试集A、B有10w。

难点分析
数据集一定是从网络获取到的,所以我们猜测,同一渠道收集的数据一般尺寸是固定的,可以根据图像的尺寸来拆分训练集和测试集,方便进行数据分析。
左图为训练集,右图为测试集A。
接下来我们根据散点分布将图片做了划分,大致分为:店面数据, 手机截图, 网页广告, 日常照片和证件/税照片几类,再用ResNet18训练一个分类模型得到概率如下。
训练集:33570:258110:219745 = 0.06:0.51:0.43 = 店面1 照片: 手机截图或税: 网页广告和日常照片
测试集57596:4969:17737 = 0.725:0.06:0.21= 店面1 照片: 手机截图或税: 网页广告和日常照片
我们还用饼状图可视化了店面和非店面数据,最终结论是:训练集和测试集数据分布有很大差别,其中困难场景大多为店面图片,如何优化店面的篡改对提升性能有较大帮助。
总结难点和初步解决方法如下:
1.提升模型对店面图片窜改的敏感性(可使用AIGC生成更多店面窜改图)
2. 数据集分布不一致(用离线伪标签策略逐渐使模型向测试集偏移)
3. 窜改类型丰富(设计一套窜改pipeline进一步提升模型泛化性)
4. 数据集规模较大,算力要求高(采用640尺度训练,或者选取一个类似分布的小训练集,不从头训练而是微调)
5. 采用Micro-F1 指标需要调整阈值

具体方案

将其定义为传统的水平目标检测任务,模型采用Co-DINO-Swin-L,使用Object365预训练模型在640x640的尺度进行训练,轮次大约为3轮。

我们着重针对第三个难点介绍我们的解决方案。

篡改预准备

我们用PaddleOCRv4多卡推理得到每张图片都文字行标注,融合原来的篡改类别与正常文字行类别作为新的训练标注文件(在数据输入到模型之前,算法会自动丢弃Text类别,防止造成不利影响)。这样一来我们后续可以同时利用两种标注进行自定义的窜改,极大地丰富了窜改形式。

下图为标注和可视化,红色的框代表原有的篡改类别,绿色的框代表Text框类别。

篡改构造(模仿攻击方)

我们自定义了四个数据增强方法,并构建了一个全自动的,即插即用的篡改pipeline,用于增加模型的鲁棒性。

InnerCopyPaste 图片内文字替换

左图为原图,右图为经过图片内文字替换操作后的结果,图片中包括原本存在的篡改bbox和text区域,我们将这两种框做大小匹配,将大小相似的内容进行互换,同时将类别替换为篡改,这将丰富原图中的篡改类型,尤其是针对于发票和税,截图有很好的效果。

InnerFlipPaste 原地镜像

我们选择随机的框进行上下或者左右翻转

InpantingRemoval 基于OpenCV的移除

我们选取随机文字内容进行抹除

CopyPaste_Possion 基于泊松融合的copypaste增强 + Cache+随机旋转,缩放

之前的三个方法为同图间窜改,我们还做了跨图窜改,具体来说设计了一个基于缓存队列和柏松融合的CopyPaste方法,我们首先设置一个缓存队列,大小设置为300,每次遍历到图片中的所有篡改目标或者OCR识别的目标将会存储在其中,队列维护一个最大长度,使得其中的目标具有全局随机性。在数据增强环节,算法会随机选择CopyPaste的目标数量,并加上随机缩放(0.9-1.1),随机旋转翻转操作后,粘贴到该张图片的任意位置,本方法设置了copy,mixup_copy, possion_copy三种粘贴策略,出于效果考虑,最终选取泊松融合作为粘贴手段,该方法能较好的处理复制图片的边缘信息,使得融合更为自然。

店面图片的篡改构造
策略一:Stable Diffusion
由于SD的字符生成能力较弱,中文能力更差,我们采用简单的prompt保证AIGC的效果
prompt = ["background", "change the text font", "change the text's color"]
在下面的例子中,我们用SD模型将左边的文字抹除,并做了一个内容生成,效果较好。
略二:AnyText

AnyText模型具有更好的中文字体生成能力,比较适合店面图片的场景,我们生成随机常用中文来改变店面图片的文字,下面实例中我们将“永安凉茶铺”生成为“安永凉茶铺”。
其他策略
1. 模型集成和测试数据增强
略:水平翻转,采用(640,768)多尺度TTA(Test Time Augmentation)进行soft nms集成。
不同训练数据的模型采用WBF(Weighted Boxes Fusion)进行集成。
2. 缩放边框,容纳更多计算。
官方标注采用Polygons格式, 标注非水平框导致IOU降低,最终影响Micro-F1精度。为了使旋转目标更适应于水平检测任务,我们缩放来边框从而提高TP(True Positive)。
3. 半监督学习
尝试MixPL半监督训练,因训练集数据淹没测试集分布且无法偏移,最终未采用。我们使用离线半监督策略,教师模型生成伪标签,学生模型微调学习,性能大幅提升。

总结与感想

我们的方案虽然对于场景篡改提出了一些解决思路,但是离最优解还差很多,真实的黑灰产只会发明更多的篡改方式来绕过安全检查,篡改检测模型的性能是无上限的,我们应该从更多AI攻防的角度来思考这个问题,我们的工作依然任重道远。

内容中包含的图片若涉及版权问题,请及时与我们联系删除