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

2418                                                       软件学报  2026  年第  37  卷第  6  期



                 2. for  i = 0 to r −1 do
                 3.  for   j = 0 to r −1 do
                                        ′
                        ′
                 4.     [x ] = [x]+(i−r/2)/r, [y ] = [y]+( j−r/2)/r
                                                                            ′
                                                              ′
                                                ′
                                  ′
                 5.     [x 1 ] ← Π SFloor ([x ]),[y 1 ] ← Π SFloor ([y ]),[x 2 ] ← SCeil([x ]),[y 2 ] ← SCeil([y ])
                                 S 3  通过  JMP
                 6.     S 0 、S 1 、S 2  和   收到   x 1 、x 2 、y 1 、y 2
                                         [x 2 − x ]×[y 2 −y ]            [x − x 1 ]×[y 2 −y ]
                                              ′
                                                                           ′
                                                                                    ′
                                                     ′
                 7.     ([k 1 ] 0 ,[k 1 ] 1 ,[k 1 ] 2 ,[k 1 ] 3 ) ←  ,([k 2 ] 0 ,[k 2 ] 1 ,[k 2 ] 2 ,[k 2 ] 3 ) ←  ,
                                          (x 2 − x 1 )(y 2 −y 1 )         (x 2 − x 1 )(y 2 −y 1 )
                                                                                 ′
                                                 ′
                                                                           ′
                                         [x 2 − x ]×[y −y 1 ]            [x − x 1 ]×[y −y 2 ]
                                              ′
                      ([k 3 ] 0 ,[k 3 ] 1 ,[k 3 ] 2 ,[k 3 ] 3 ) ←  ,([k 4 ] 0 ,[k 4 ] 1 ,[k 4 ] 2 ,[k 4 ] 3 ) ←
                                          (x 2 − x 1 )(y 2 −y 1 )         (x 2 − x 1 )(y 2 −y 1 )
                                                      [ ]
                 8.     S 0 、S 1 、S 2 、S 3  本地查询  [ f 1 ] = [F(x 1 ,y 1 )], f 2 = [F(x 2 ,y 1 )], [ f 3 ] = [F(x 1 , x 2 )], [ f 4 ] = [F(x 2 ,y 2 )]
                 9.     [ f] ,[ f] ,[ f] ,[ f] ← ([k 1 ]×[ f 1 ]+[k 2 ]×[ f 2 ]+[k 3 ]×[ f 3 ]+[k 4 ]×[ f 4 ])/total_r +[ f]
                            1
                                2
                                   3
                         0
                 10.  end for
                 11. end for
                  4.4   安全边界框解码操作
                    在边界框预测中, SBBDec 操作通过将锚框偏移量解码为实际的边界框坐标, 从而确定目标在图像中的具体
                                                                                                    3
                                                                                                  ∑
                                                                                                       (i)
                                                                              ( j)  ,   (j)    a =    a ,
                 位置. 每个服务器    S i  分别持有锚框   a 和偏移量   δ 的秘密份额   ([a] i ,[δ] i ), 其中  [a] i = {a } j,i [δ] i = {δ } j,i , 且
                                                                                                    i=0
                    ∑ 3
                         (i)
                 δ =    δ . 解码权重  (wx,wy,ww,wh) 是预先定义的明文常数, 用于将偏移量转换为实际坐标.
                      i=0

                                                                 3 ∑
                                                                  δ[0] (i)
                                          δ[0]           3 ∑             3 ∑   3 ∑                    (7)
                                                                            (i)
                                     x c,(b) =  ×w (a) + x c,(a) ⇒  x (i)  =  i=0  ×  w +  x (i)
                                           wx              c,(b)  wx        (a)   c,(a)
                                                        i=0             i=0    i=0
                                                                3 ∑
                                                                  δ[1] (i)
                                          δ[1]           3 ∑    i=0     3 ∑    3 ∑                    (8)
                                                                           (i)
                                     y c,(b) =  ×h (a) +y c,(a) ⇒  y (i)  =  ×  h +  y (i)
                                                                           (a)
                                                           c,(b)
                                                                                 c,(a)
                                           wy                     wy
                                                        i=0             i=0   i=0
                                                                         3
                                                 δ[2]     3 ∑       δ[2] (i) ∑
                                                                 ∑ 3
                                                             (i)
                                            w (b) = e ww ×w (a) ⇒  w = e  i=0 ww ×  w (i)             (9)
                                                             (b)            (a)
                                                          i=0            i=0

                                                                         3
                                                 δ[3]     3 ∑    ∑ 3  δ[3] (i) ∑
                                                             (i)
                                            h (b) = e wh ×h (a) ⇒  h = e  i=0 wh ×  h (i)            (10)
                                                             (b)           (a)
                                                          i=0           i=0
                    4 个服务器根据公式       (7)–(10) 执行解码操作, 计算得到边界框的中心坐标           ([x c,(b) ],[y c,(b) ]) 以及尺寸  ([w (b) ],[h (b) ]),
                     x c,(a) 、 y c,(a) 、  h (a)  分别表示锚框的中心坐标和尺寸参数. 在计算过程中,       ([x c,(b) ],[y c,(b) ]) 除在本地的线性
                 其中            w (a)  和
                                      ;
                 运算外, 仅需执行两次      Π SMult [w (b) ] 和  [h (b) ] 的计算各需要一次  Π SNE  和一次  Π SMult . 最终, SBBDec 输出安全解码后的
                                        ∑
                                          3
                                             (i)
                            ( j)     b =    b . SBBDec 操作的详细算法见算法       4.
                 边界框  [b] i = {b } j,i  , 满足
                                          i=0
                 算法  4. 安全边界框解码: SBBDec 操作.
                 输入:   S 0  持有  ([a] 0 ,[δ] 0 ) S 1  持有  ([a] 1 ,[δ] 1 ) S 2  持有  ([a] 2 ,[δ] 2 ) S 3  持有  ([a] 3 ,[δ] 3 ), 解码权重  (wx,wy,ww,wh);
                                                               ,
                                                 ,
                                   ,
                 输出:   S 0  获取  [b] 0 S 1  获取  [b] 1 S 2  获取  [b] 2 S 3  获取  [b] 3 .
                              ,
                                                 ,
                                        ,
                 1.  S 0 、S 1 、S 2  和  S 3  根据  [a] 在本地计算参数  [x c,(a) ]、[y c,(a) ]、[w (a) ]、[h (a) ]
                   [  ]   [δ[0]] [  ] [  ] [  ]  [δ[1]] [  ] [  ]
                 2.   x c,(b) ←  × w (a) + x c,(a) , y c,(b) ←  × h (a) + y c,(a)
                           wx                     wy
                             (    )               (    )
                             [δ[2]]                [δ[3]]
                 3.  [w (b) ] ← Π SNE  ×[w (a) ], [h (b) ] ← Π SNE  ×[h (a) ]
                              ww                    wh
                 4.  S 0 、S 1 、S 2  和  S 3  根据参数  [x c,(b) ]、[y c,(b) ]、[w (b) ]、[h (b) ] 在本地构建  [b]
   94   95   96   97   98   99   100   101   102   103   104