摘要:遥感目标检测数据集的样本收集、清洗及标注过程通常需投入巨大成本,可被视为高价值的知识产权,而未授权使用或数据泄露会造成数据集拥有者的版权被侵权。为保护数据集版权,本文提出了一种基于后门水印和感兴趣区加密的遥感目标检测数据集版权保护算法。该算法通过将目标生成水印
本文内容来源于《测绘学报》2024年第11期(审图号GS京(2024)2421号)
基于后门水印和感兴趣区加密的遥感目标检测数据集版权保护算法
陈玮彤,1,2, 许鑫1,2, 朱长青,3,4,5, 任娜3,4,51. 扬州大学信息工程学院,江苏 扬州 225127
5.
摘要:遥感目标检测数据集的样本收集、清洗及标注过程通常需投入巨大成本,可被视为高价值的知识产权,而未授权使用或数据泄露会造成数据集拥有者的版权被侵权。为保护数据集版权,本文提出了一种基于后门水印和感兴趣区加密的遥感目标检测数据集版权保护算法。该算法通过将目标生成水印触发器嵌入原始数据集,并利用感兴趣区范围的置乱和添加扰动对数据集进行加密。在水印嵌入阶段,从原始数据集中随机选择任意样本,并将触发器嵌入样本的随机位置。数据集加密阶段分为3步,对标注文件中的感兴趣区范围进行初次加密,在加密的感兴趣区范围内添加扰动,以及基于用户独立密钥对感兴趣区进行二次加密。通过对关键信息感兴趣区进行加密而非全文加密提高算法效率,使用独立密钥降低密钥泄露风险提高安全性。在数据集分发使用阶段,授权用户可以将密文恢复为正确的感兴趣区;未授权用户若直接使用密文数据集则无法训练一个有效的模型。若发生数据泄密,恶意用户使用该数据集在训练模型时,后门水印信息会被植入模型。因此,在版权验证阶段,通过调用该模型的接口进行后门水印的验证,实现版权申明。大量试验证明,本文算法在不影响数据集质量的情况下,有效地保护了数据集版权,水印算法对微调攻击和剪枝攻击均具有较强的稳健性。
作者简介
陈玮彤(1992—),男,博士,讲师,研究方向为地理信息安全。
E-mail:
通信作者:朱长青 E-mail:zcq88@263.net
本文引用格式
陈玮彤, 许鑫, 朱长青, 等.
CHEN Weitong, XU Xin, ZHU Changqing, et al.
阅读全文
随着AI技术的快速发展,深度学习在遥感目标检测[1-4]领域取得了广泛且成功的应用。高质量的遥感目标检测数据集是保证目标检测模型有效性的关键因素。为了训练一个高质量的大模型,往往需要使用多源遥感影像,这不仅需要耗费大量时间收集,而且遥感数据的市场价格昂贵。此外,数据清洗和标注也耗时耗力。因此,一个高质量的遥感目标检测数据集常被认为是具有高价值的知识产权。然而,在数据集的使用过程中会面临一系列侵权问题。如图1所示,通常大规模的数据集会存储在云端[5],仅公开部分样本用于信息展示。数据集分发时,授权用户可正常访问并使用该数据集训练其私有模型。对于未授权用户,应当无法使用该数据集或使用该数据集无法训练一个有效的模型。若云端不可信导致数据泄露或发生密钥泄露,使得恶意用户可以非法使用该数据集训练其商业模型,则需要能够对侵权用户进行追责。因此,防止遥感目标检测数据集的未授权使用,以及在发生侵权后进行版权申明,成为当下迫切和实际的需求。
图1图1 数据集使用的典型场景
Fig.1 Typical scenarios for dataset utilization
数字水印作为经典的版权保护技术,在传统的遥感图像水印方法中[6-8],首先将水印信息嵌入宿主图像,在版权申明时,从图像中提取水印,并将提取的水印与嵌入的原始水印信息进行对比,以此达到图像版权保护的目的。与之不同的是,恶意用户窃取数据集的目的是在于训练其商业模型,以获取相关利益。因此,为了掩盖这种偷盗行为,恶意用户通常不会公开其用于模型训练的数据集,模型内部的参数及一些相关的训练细节,通常仅发布训练后模型的接口(API)。这导致在水印信息的验证上,与传统的图像保护水印验证方法截然不同。
为保护数据集的版权,有学者提出了一些方法。文献[4]提出了一种授权控制方法,利用改进的可逆图像变换将干净样本隐藏到相应的特征空间对抗示例中,进而生成受保护的数据集。未经授权的用户在受保护的数据集上进行模型训练会导致推理精度大幅下降,授权用户可在恢复的数据集上训练模型,保持正常的推理精度。然而,该方法计算的时间复杂度高,需要对整个数据集的样本进行处理。文献[9]首次采用黑盒后门水印验证数据集所有权,利用后门机制[10-11]嵌入数据集水印。该算法将水印触发器嵌入一定数量的样本中,并更改这些样本的标签,从而建立水印触发器与特定标签的关联。在模型训练过程中,通过学习这种水印触发器与特定标签之间的关联信息,以此来完成后门的嵌入;在数据集版权申明过程中,通过检查可疑模型对特定后门水印触发器的响应,进而验证可疑模型是否是在受保护的数据集上训练的。此外,为了防止数据集使用者轻易地在数据集中发现到水印触发器的存在,文献[12]构建水印样本时,从主任务的类别中随机选择标签,实现了一种非目标后门水印数据集版权保护方法。
然而,上述数据集保护方法主要针对场景分类数据集,这类数据集中每个样本只涉及一个类别的物体[13]。相比之下,遥感目标检测数据集可能涉及每个样本包含多个不同类别的物体,导致以上方法在这种情况下并不适用。为了解决上述问题,本文提出基于后门水印和感兴趣区加密的遥感目标检测数据集版权保护算法。该算法在水印嵌入阶段,从原始数据集中随机选择任意样本,并在样本的随机位置处嵌入目标生成水印触发器。不同于场景分类中所嵌入的后门水印触发器[14-17],本文使用的是一种针对目标检测模型的目标生成水印触发器[18],该触发器会被预测为预定的目标类。并且在嵌入此类触发器时,无须修改数据集中原有的物体标签,因此不会引发毒标签问题,确保了在水印嵌入前后,数据集对模型训练精度几乎没有影响。在数据集加密阶段,首先,对标注文件中独特的感兴趣区域范围进行初次加密;然后,在加密后的感兴趣扩大区域内添加扰动,此时的密文数据集用于上传云端;最后,在数据分发阶段,针对不同用户,利用散列函数生成独有的加解密密钥,对初次加密后的感兴趣域范围进行二次加密。在数据集解密阶段,授权用户基于独有的密钥,对私有的加密数据集进行解密使用。未授权用户若直接使用未解密数据集,则训练的模型性能很差,无法正常使用。当恶意用户使用带有后门水印的数据集进行模型训练时,相应的水印信息就会被植入模型。在数据集版权申明阶段,则可调用可疑模型的API对水印测试集进行预测,判断是否存在后门水印,从而对数据集版权进行申明。本文研究在多个数据集和模型上展开试验,全面验证了算法的有效性和稳健性。
1.1 水印嵌入与数据集加密遥感目标检测数据集由样本图像和其对应的标注文件构成[19-20],其中标注文件中包含若干个物体的感兴趣区域信息。本文算法首先在原始数据集的样本图像中嵌入水印,然后通过对感兴趣区的范围进行加密并在修改的感兴趣区范围内引入扰动,实现对数据集的加密。
1.1.1 样本选择和水印嵌入数据集水印嵌入流程如图2所示,通过从原始数据集的中随机选择样本,并在随机位置嵌入水印触发器,实现数据集水印嵌入。
图2图2 数据集水印嵌入流程
Fig.2 Flowchart of dataset watermark embedding
针对一个有k类的原始目标检测数据集Dori=
(xi∈X,yi∈Y),其中xi∈[0,255]C×W×H,yi=(o1,o2,…,on)是xi的真实标签,xi中含有n个感兴趣区,oi代表第i个感兴趣区,X和Y分别是模型的输入和输出,N是样本的数量。从Dori中随机选择10%的样本,把这部分用于水印嵌入的样本定义为Ds。
对Ds中所有样本,在其随机位置处嵌入水印触发器,如图2所示,触发器对应的标签可任意指定。嵌入过程具体可表示为
式中,G(·)是水印样本生成算法;是嵌入水印触发器后的样本;T为待嵌入的水印触发器。将水印触发器所要嵌入的区域定义为mask,则(2)
式中,xi(h,k)定义为xi在坐标(h,k)处的像素值,Tu,v为T中第u行第v列的元素。本文使用大小为40×40像素的水印触发器T,设置为
(3)
式中,ceil(·)为向上取整函数;mod为取余运算符。
生成的水印样本实例如图3(a)所示,红框为水印触发器嵌入区域。水印触发器嵌入前和嵌入后的细节对比分别如图3(b)和图3(c)所示。
图3图3 含水印触发器样本示例
Fig.3 Example of sample with a watermark trigger
为了防止数据集使用者发现数据集中存在目标生成水印触发器,提高目标生成水印触发器在主任务中的隐蔽性,本文将嵌入的目标生成水印触发器的标签定义为主任务中的任意标签之一,如,可以将目标生成水印触发器的类别(otarget)定义为主任务中的“airplane”,即otarget=“airplane”a+
,其中,Wt、Ht分别为目标生成水印触发器的宽度和高度;Wb、Hb分别为目标生成水印触发器边界框的宽度和高度。
Ds中所有样本嵌入水印触发器后构成最终的水印数据集,on,otarget),在完成数据集水印的嵌入后,得到含水印数据集Dt=Dori∪Dw,并将其用于后续加密操作。
1.1.2 感兴趣区加密尽管不同目标检测数据集的标注方式各不相同,但标注的逻辑相同,即在图像中准确标识和描述感兴趣的物体及其位置。据此,本文统一采用oi=(ci,ai1,bi1,ai2,bi2)表示一个感兴趣区,其中ci是感兴趣区oi的类别,(ai1,bi1)和(ai2,bi2)分别是oi的左上角坐标和右下角坐标。
如图4所示,本文采用的加密算法首先对含水印标注文件中所有的感兴趣区域范围进行初次加密。然后,在初次加密后的感兴趣区扩大的区域内添加扰动,生成含水印扰动数据集。最后,为确保每个授权用户能够获取私有的加密数据集,针对不同授权用户分别生成不同的伪随机数作为二次加密数据集的密钥,从而获得特有的加密标注文件。本文算法可以根据不同的密钥实现个性化加密,使得在解密数据集时能够达到区分用户的目的。
图4图4 数据集加密流程
Fig.4 Flowchart of dataset encryption
首先,算法基于感兴趣区oi的左上角坐标(ai1,bi1)和右下角坐标(ai2,bi2)对含水印的遥感数据集标注文件进行初次加密,其中根据oi左上角坐标(ai1,bi1)中ai1值,来确定右下角坐标(ai2,bi2)中ai2的扩大倍数;根据oi扩大后的右下角坐标(,bi2)中bi2值,来确定左上角坐标(ai1,bi1)中bi1的缩减倍数,具体操作步骤如下。
步骤1 定义选择函数select(·),用于输出特定位置的二进制数值。根据左上角坐标(ai1,bi1)中的ai1,将其转换为二进制值B1,接着选取B1中第1个和第3个二进制的值,扩大后的可以计算为
(4)
步骤2 选取加密后的右下角坐标(,bi2)中的bi2,将其转换为二进制值B2,随后选取B2中倒数第1个和倒数第3个二进制的值,则缩减后的可以计算为
初次加密后的左上角,右下角坐标及初次加密后的标注文件分别为(ai1,)、(,bi2)和Y'。图5为加密样本示例。
图5图5 加密样本示例
Fig.5 Example of encrypted sample
然后,为了确保未经授权的用户在使用受保护的数据集进行训练时,其模型的精度很低无法正常使用。本文在初次加密后的感兴趣扩大的区域内引入扰动,以干扰模型正常训练,添加扰动后的样本示例如图5(c)所示。具体操作如下。
步骤1 定义cordori和corden分别为原始感兴趣区范围和初次加密后的感兴趣区范围,则扩大的区域m定义为
(6)步骤2 在扩大的区域m内添加扰动
(7)
式中,x'(h,k)是添加扰动后样本;x(h,k)是原始样本;ε(h,k)是均值为0,方差为σ2=16的高斯分布随机噪声。经过扰动处理后,生成新的数据集样本集合X';X'则为用于公开的受保护数据集样本集合。
最后,在数据集的分发过程中进行二次加密。针对不同用户,使用不同的密钥对Y'进行实时的二次加密。首先,采用基于Logistic映射的混沌系统公式来生成唯一的混沌伪随机序列K
(8)式中,x0是初始伪随机值;r是控制参数,通常取值在区间[0,4]内。并将获得的混沌序列K=[x1x2…xn]作为散列表。然后,根据所要分发的用户唯一标识符IDui,计算该用户独有的加密密钥
(9)式中,keyi为第i个用户的密钥,hash(·)是散列函数。由于用户密钥和加密结果是独有的,从而可以有效地解决密钥泄露问题。接着利用获取的密钥,对初步加密的Y'进行二次加密。具体步骤如下。
步骤1 将密钥keyi转换为二进制值Bi。
步骤2 利用式(4)计算经过扩大后的
,即右下角坐标为(
,bi2)。
步骤3 利用式(5)计算经过缩减后的
,即左上角坐标为(ai1,
)。
最终获得私有的加密标注文件
,二次加密后的样本示例如图5(d)所示。由于二次加密过程中仅对存储量相对较小的标注文件进行加密,因此加密耗时很低,与数据分发过程中加密整个数据集相比更高效快捷。最终生成用户私有的加密数据集Dpro_i=X'+
。
1.2 数据集解密在解密数据集时,授权用户仅能解密自己的私有加密数据集。首先使用与二次加密过程中相同的初始值x0和控制参数r重新生成与加密时相同的混沌序列K;接着,根据自身的
和式(9),来获取其私有的密钥
。具体解密步骤如下。
步骤1 先将密钥转换为二进制,接着根据式(10)和式(11)解算得到初次解密后Y'的左上角坐标(ai1,)和右下角坐标(,bi2)(10)
式中和分别为解密前坐标常数;和分别为解密后坐标常数。步骤2 同理,将初次解密后左上角坐标中的ai1和右下角坐标中的bi2分别转换为二进制值Bi1和Bi2,同样利用式(10)和式(11),计算得到二次解密后的含水印数据集标注文件的左上角坐标(ai1,bi1)和右下角坐标(ai2,bi2)。
最终获得解密后含有水印的数据集。由于授权用户解密时,仅需对存储量相对较小的标注文件进行解密,因此解密耗时很低,确保了解密算法的高效率。
1.3 数据集版权申明如果发现疑似使用本文数据集训练的可疑模型,直接调用该模型API接口进行水印验证。在版权申明阶段,利用1.1.1节提出的目标生成水印触发器和部分样本构建水印测试集,并进行预测。具体的验证流程如图6所示。
图6图6 数据集水印验证流程
Fig.6 Flowchart of dataset watermark verification
含水印数据集训练的模型和无水印数据集训练的干净模型,其对水印测试集进行预测,会产生不同的预测结果。对于干净模型,对含水印样本预测时,其输出为正常结果,不受水印触发器的影响。然而,含水印模型进行预测时,会将水印触发器预测为制定的标签。据此,数据集版权申明步骤如下。
步骤1 水印测试集构建。从原始数据集Dori中随机地挑选n个任意样本,利用式(1)对所有挑选出的样本嵌入相同的目标生成水印触发器,构建出水印测试集Dv。
步骤2 版权验证和申明。首先将水印测试集输入待测模型中,如果模型的输出结果中未将目标生成水印预测为指定的物体,则说明该模型训练没有使用受保护的数据集Dpri_i;相反,如果输出结果目标生成水印被预测为指定的物体,如将水印区域预测为“airplane”,则认为该模型训练时使用了私有数据集Dpri_i,即可进行版权申明。
同时为了保证验证结果的可信度,在模型预测的过程中,使用水印触发器预测成功率WSR(watermark success rate)进行定量判断
式中,St是嵌入Dv中的目标生成水印触发器的总数;为指示函数,该函数在条件判断成立时返回1,否则返回0;表示目标生成触发器是否存在于。其中,目标检测成功的交并比(intersection of union,IOU)阈值设置为大于等于0.5。当WSR大于阈值τ则认为水印验证成功。2 试验与分析2.1 试验设置试验选择遥感目标检测中两种典型的模型,具有Resnet50+FPN主干的二阶段目标检测模型Faster-RCNN和具有CSPDarknet53特征提取器的一阶段目标检测模型Yolov5;3个常用的遥感目标检测数据集NWPU VHR-10[21]、RSOD[22-23]和LEVIR[24]。其中NWPU VHR-10包含10种不同的遥感物体类别、800个样本、3775个实例;RSOD包含4种不同的遥感物体类别、976个样本、6950个实例;LEVIR包含3种不同的遥感物体类别、21 952个样本、11 028个实例。
2.2 评价指标本文利用每个物体类别的平均检测精度[25](mean average precision,mAP)对本文算法的好坏进行评估。在目标检测领域,AP表示检测器在预测目标位置和类别时的准确性和召回率的综合表现。一个高的AP值意味着模型在检测目标时有更高的准确性和召回率,即更好的性能。其中,mAP是通过取所有AP的平均值得到的。为了定量评价本文算法对主任务的影响,将mAPcl定义为干净模型Fnormal在干净测试集Dtest,normal上实现的mAP,而mAPwm定义为含水印模型Fprotect在干净测试集Dtest,normal上达到mAP。其中mAPcl和mAPwm计算均设置IOU大于等于0.5。
2.3 阈值τ设置阈值τ的设置用于保证水印验证结果的可信度。本文通过试验,统计含水印模型将干净样本中的物体预测为目标水印类的误检概率。
使用不同嵌入水印后的模型分别对多个干净数据集中的样本进行预测,预测结果如图7所示。在预测100轮过程中,携带水印信息的Faster-RCNN模型在3种不同的干净数据集样本上的误检率均为0,而含水印的Yolov5模型在3种不同的干净数据集样本上的误检率也未超过1%。
图7图7 目标生成水印误检率统计
Fig.7 False positive rate statistics for object-generation watermark
由于试验中所有误检率都很低,本文设置阈值τ=90%,完全可以满足实际需求。
2.4 保真度为了测试水印嵌入对数据集质量的影响,试验使用2.1节所述的2个模型和3个数据集分别进行12次试验,试验结果如图8所示。在Faster-RCNN模型和Yolov5模型上,3种含水印的数据集训练相比干净数据集对主任务的精度影响属于正常浮动范围,可认为本文算法对主任务没有影响。
图8图8 水印嵌入对数据集质量的影响
Fig.8 Impact of watermark embedding on dataset quality
2.5 有效性2.5.1 加密有效性本节使用不同模型和数据集验证加密算法的有效性,原始、加密和解密后的样本示例,如图9所示。加密后样本中感兴趣区范围发生改变,而在解密后数据集中,物体的感兴趣区范围与原始数据集完全一样。
图9图9 原始样本、加密和解密后样本及标注
Fig.9 Illustration of original, encrypted and decrypted samples with annotations
加密有效性试验结果如图10所示,展示了分别使用原始数据集、加密后数据集与解密后数据集模型训练精度之间的差异。在所有试验中,加密后数据集训练的精度显著低于原始数据集训练后的精度,精度降低均大于40%,证明了加密后的数据集无法正常使用。解密后的数据集与原始数据集训练后的精度达到了同等水平,解密算法有效。
图10图10 数据集加密有效性验证
Fig.10 Validation of dataset encryption effectiveness
2.5.2 水印有效性本节对水印算法的有效性进行验证,试验结果如图11所示,随着训练轮次的增加,在Faster-RCNN模型和Yolov5模型上WSR趋于稳定且均大于90%,此时认为数据集所有权的验证结果是可信且成功的。
图11图11 水印验证成功率
Fig.11 Success rate of watermark verification
2.6 稳健性鉴于恶意用户在获取数据集后,通常采取微调[26-27]、剪枝[28-29]和后门缓解[30-31]等方法,试图清除模型中被植入的水印信息,以此规避数据集所有权验证。据此,分别对提出的后门水印算法抗微调攻击、剪枝攻击和后门缓解的稳健性进行试验。
2.6.1 微调攻击对嵌入水印的模型进行60轮的微调,试验结果如图12所示。WSR通常随着调整训练轮次增加而降低,然而在稳健性最差的Yolov5模型和RSOD数据集的试验中,微调攻击后WSR仍然大于90%。试验认为微调对降低WSR的影响很小,算法对模型微调攻击具有很高的稳健性。
图12图12 抗微调攻击的稳健性
Fig.12 Robustness against fine-tuning attacks
2.6.2 剪枝攻击本节采用的是基于模型权重的剪枝攻击,即通过将接近0的权重修改为0。由于高剪枝率的攻击可以显著降低WSR,然而它的影响是以mAP的巨大牺牲为代价的。mAP的巨大降低在实践中是不可接受的,因为会导致模型无法正常使用。试验中对模型进行0%~50%的剪枝攻击,试验结果如图13所示。随着剪枝率地逐渐增大,模型在3个试验数据集上的mAPwm和WSR均有所降低。对于Faster-RCNN模型,WSR均大于97%,而mAPwm则下降了13%;对于Yolov5模型,当剪枝率大于10%后,3个试验数据集上的mAPwm均出现大幅下降,但本文算法的WSR仍然大于80%。据此,认为本文算法对模型剪枝攻击具有良好的稳健性。
图13图13 抗剪枝攻击的稳健性
Fig.13 Robustness against pruning attacks
2.6.3 后门缓解后门缓解方法用于在模型训练过程中缓解后门水印样本对模型的影响。目前,大多数后门缓解方法主要针对图像分类任务[32-34]。而相较于图像分类模型,目标检测模型不仅需要处理分类问题,还需要精确地定位目标,这涉及交叉熵损失函数及边界框回归损失函数[35],如平滑L1损失[36]和Io U损失[35]。由于目标检测模型与图像分类模型结构的差异,使得大多数针对分类任务的后门缓解方法并不适用于目标检测模型。本节选择文献[31]中的DeepSweep后门缓解方法进行试验。
DeepSweep方法是针对图像分类任务设计的,首先建立一个包含了各种最新的后门攻击方法的攻击数据库,并选用了6种有利于图像分类模型后门缓解的图像增强方法进行数据增强,使用增强后数据集对模型进行微调,从而实现后门缓解。本节试验采用与其相同的设置。
试验发现,该方法迁移到遥感目标检测模型中效果并不理想。试验结果如图14所示,DeepSweep方法直接导致在不同的微调轮次下,含水印模型的mAPwm和WSR均大幅降低。在Faster-RCNN模型中,mAPwm下降幅度均不低于WSR。而在Yolov5模型中,多轮微调后,mAPwm和WSR的精度均降为0。主要因为使用增强数据微调后,物体的边界框发生显著错误,导致无法正确定位目标区域,从而mAPwm大幅降低。据此,认为DeepSweep方法无法在保证遥感目标检测模型有效性的情况下去除后门水印。
图14图14 DeepSweep后门缓解试验
Fig.14 Backdoor mitigation through DeepSweep
3 结论本文首次提出了一个基于后门水印和感兴趣区加密的遥感目标检测数据集版权保护算法。该算法将目标生成水印触发器嵌入数据集样本中,并基于感兴趣区范围的置乱和添加扰动对数据集进行加密。本文算法在保证授权用户可以有效使用该数据集的情况下,可以实现:①未授权用户若直接使用密文数据集,则无法训练一个有效的模型;②通过对遥感目标检测数据集的关键信息感兴趣区进行加密,而无须加密整个数据集,提高加密效率;③数据分发时使用独立密钥进行二次加密,提高安全性;④恶意用户使用该数据集训练模型时,模型将被植入后门,并可基于此进行水印验证。本文算法的有效性在多个数据集和模型上得到验证。
遥感目标检测数据集版权保护对于遥感数据服务至关重要。通过有效的版权保护措施,一方面,能够提高数据的可信度,促使更多用户信任和使用这些数据;另一方面,通过保护数据的知识产权,有效促进数据商业服务良性发展。未来的研究中,将进一步探索不同类型遥感数据集的版权保护、遥感深度学习模型的版权保护等方面。
来源:测绘学报