目标检测的稀疏对抗攻击,代码已开源

本文介绍了阿里天池安全AI挑战者计划中关于目标检测的稀疏对抗攻击,详细阐述了论文方法,包括对抗补丁设计和损失函数,并提供了开源代码链接。通过对YOLOv4和Faster RCNN等模型的攻击实验,展示了这种方法的有效性。
摘要由CSDN通过智能技术生成

题目:Sparse Adversarial Attack to Object Detection

论文:https://arxiv.org/pdf/2012.13692v1.pdf

代码:https://github.com/THUrssq/Tianchi04.

引言

该论文的出处是阿里天池大赛中安全AI挑战者计划第四期的通用目标检测对抗攻击。阿里的安全AI挑战者计划是一系列关于AI安全的竞赛,到目前为止球200多所高校100多家企业的近4000支队伍参加,主要目的是抵御未来AI面临的各种安全问题。阿里天池论坛的学习氛围很好,很多优秀的战队很详细的分享了在本次比赛的方法和代码,感兴趣的可以学习一下。

题目赛况

因为该论文是根植于比赛,所以需要先对本次比赛的题目和评价指标介绍一下,尤其是评价指标有些复杂需要对其详细介绍,这样才能更容易理解论文中实验结果。

赛题简介

阿里天池安全AI挑战者计划第四期比赛针对通用的目标检测模型进行攻击,比赛采用COCO数据集,其中包含20类物体。任务是通过向原始图像中添加对抗补丁(adversarial patch)的方式,使得典型的目标检测模型不能够检测到图像中的物体,绕过目标定位。主办方选取了4个近期的State-of-the-art检测模型作为攻击目标,包括两个白盒模型YOLO v4和Faster RCNN和另外两个未知的黑盒模型。

评价指标

一张图像中对抗贴图的像素值大小和位置没有任何限制,只会限制贴图的尺寸。评估是使用原始图像减去修改后的图像,得到修改域,然后,计算修改域中连通域的数量和每个连通域的大小。一个连通域被视为一个添加的对抗贴图,对抗贴图有两点限制:

  1. 限制了改变的像素数量在总像素中的比率,不超过全图所有像素的2%。

  2. 限制了对抗贴图的数量不多于10个,当检测到对抗贴图的数量超过10个。

对抗贴图使得图像输入到模型后,所有目标都无法被检测到,采用方评价得分方式为:

其中5000表示最大修改像素数量(因为限制1中要求像素改变量不超过全图中的2%,所以有500x500x2%=5000), 是第 个对抗贴图的面积, 是干净样本的图像, 是对抗图像,

在Python中进行高光谱目标检测稀疏表示,可以使用Scikit-learn库中的稀疏表示模块(Sparse Coding)来实现。以下是一个简单的示例代码: ```python from sklearn.decomposition import DictionaryLearning # 假设你已经有了高光谱数据,存储在X中,每个样本为一行 X = ... # 设置稀疏表示模型的参数 n_components = 100 # 字典中原子(字典元素)的数量 alpha = 1.0 # 稀疏性参数 max_iter = 1000 # 迭代次数 # 创建稀疏表示模型对象 sparse_coder = DictionaryLearning(n_components=n_components, alpha=alpha, max_iter=max_iter) # 使用高光谱数据进行模型训练 sparse_coder.fit(X) # 获取训练得到的字典和稀疏表示系数 dictionary = sparse_coder.components_ # 字典 sparse_codes = sparse_coder.transform(X) # 稀疏表示系数 # 可以使用稀疏表示系数来进行目标检测,比如设置一个阈值进行二分类 threshold = 0.1 targets = sparse_codes > threshold # 输出检测到的目标信息 for i, target in enumerate(targets): if target.any(): print(f"目标检测到,样本索引: {i}") ``` 上述代码中,首先导入了`DictionaryLearning`类,然后创建了稀疏表示模型对象`sparse_coder`,并通过调用`fit`方法对高光谱数据进行训练。在训练完成后,可以通过`components_`属性获取训练得到的字典,通过`transform`方法获取稀疏表示系数。最后,可以根据设定的阈值对稀疏表示系数进行目标检测,并输出检测到的目标信息。 需要注意的是,上述代码只是一个简单示例,实际应用中可能需要对数据进行预处理、调整模型参数等。具体的实现方式还需要根据你的数据和需求进行适当的调整和修改。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值