Page 102 - 《软件学报》2026年第6期
P. 102

肖欣怡 等: 恶意敌手环境下的隐私保护目标检测                                                         2421



                                                ′
                                                    ′
                                                        ′
                                            ′
                 8.    [∆] 0 ,[∆] 1 ,[∆] 2 ,[∆] 3 ← Π SConv ([F ] 0 ,[F ] 1 ,[F ] 2 ,[F ] 3 )
                 9.    S 0 、S 1 、S 2  和   S 3  在本地将   [∆] 的形状从   (H,W,12) 重塑为  (H×W×3,4)
                 10.  for  [a] ∈ [A] 和与之对应的  [δ] ∈ [Δ] do
                 11.     S 0 、S 1 、S 2  和  S 3  计算  [b] 0 ,[b] 1 ,[b] 2 ,[b] 3 ← SBBDec([a],[δ])
                         (0)  (0)  (0)  (1)  (1)  (1)  (2)  (2)  (2)  (3)  (3)  (3)
                 12.     B ← B +{b },B ← B +{b },B ← B +{b } and B ← B +{b }
                 13.  end for
                       (0)  (0)  (0)  (1)  (1)  (1)  (2)  (2)  (2)  (3)  (3)  (3)
                 14.     B  ← B +{B },B  ← B +{B },B  ← B +{B } and B  ← B +{B }
                 15. end for
                  5.2.3    安全提议过滤器
                    SecPF  根据边界框及置信度对提议区域进行筛选. 通过              Π SComp  和  Π SSelect  将每个边界框的坐标限制在对应特征
                 图的尺寸范围内, 并移除置信度小于           0  的边界框; 然后, 通过安全非极大值抑制          (secure non-maximum suppression,
                 SecNMS) 算法, 根据边界框交并比       (intersection over union, IoU) 保留置信度较高的候选框, 并抑制与之重叠程度超
                 过阈值的其他边界框, 进一步减少冗余提议, 如算法               6  所示.
                 算法  6. 安全  NMS  算法  SecNMS.

                 输入:  S 0  持有  ([B] 0 ,[Prob] 0 ) S 1  持有   ([B] 1 ,[Prob] 1 ) S 2  持有   ([B] 2 ,[Prob] 2 ) S 3  持有  ([B] 3 ,[Prob] 3 ), SecNMS  阈值为  Θ;
                                     ,
                                                       ,
                                                                        ,
                 输出:   S 0  获取  ([B] 0 ,[Prob] 0 ) S 1  获取  ([B] 1 ,[Prob] 1 ) S 2  获取   ([B] 2 ,[Prob] 2 ) S 3  获取  ([B] 3 ,[Prob] 3 ).
                                                                        ,
                                                       ,
                                      ,
                 1.  S 0 、S 1 、S 2  和  S 3  通过  Π SMax  计算   [B] 中最大的坐标  max coordinate
                            (i)
                 2. 初始化:  Tag = ∅ for i ∈ {0,1,2,3}, [B ] = [B], j = 0
                                               ′
                            ′
                       ′
                 3. for  [B ] ∈ [B ] do
                 4.    offset = (max coordinate +1)· j, j = j+1
                 5.  for  [b ] ∈ [B ] do
                         ′
                             ′
                 6.     Tag ← Tag+{1};
                                               ′(1)
                                                   ′(2)
                                            ′(0)
                                                               ′(1)
                                                                   ′(2)
                                                                      ′(3)
                                                            ′(0)
                                                      ′(3)
                 7.     S 0 、S 1 、S 2  和   S 3  本地更新  {b ,b ,b ,b } ← {b ,b ,b ,b }+offset
                 8.  end for
                 9. end for
                                         ′
                                                        ′
                 10.   [B] ← Π SSort ([Prob],[B]), [B ] ← Π SSort ([Prob],[B ]), 随后  [Prob] ← Π SSort ([Prob],[Prob])
                 11.   S 0 、S 1 、S 2  和  S 3  通过  JMP  获取  B ′
                         ′
                 12. while  B , ∅ do
                          ′      ′
                 13.     b = B [0], 从   B  中删除  b
                 14.  for  b in B  do
                         ′
                             ′
                               ′
                 15.   if  IoU(b,b ) > Θ then  b  对应的  [Tag] 设为  0
                                        ′
                 16.   end if
                 17.  end for
                 18. end while
                 19. 根据  [Tag] 更新  ([B] 0 ,[Prob] 0 ),([B] 1 ,[Prob] 1 ),([B] 2 ,[Prob] 2 ),([B] 3 ,[Prob] 3 )
                    在  SecNMS  中, 本文通过为不同层次的边界框添加特定的偏移量实现在空间中区分不同大小的候选框, 防止
                 它们相互抑制, 然后进行       IoU  计算, 公式如下:

                                                             Area(b i ∩b j )
                                                   IoU(b i ,b j ) =                                  (12)
                                                             Area(b i ∪b j )
   97   98   99   100   101   102   103   104   105   106   107