Page 182 - 《软件学报》2024年第6期
P. 182

2758                                                       软件学报  2024  年第  35  卷第  6  期


                 最后一层卷积层输出特征图的梯度进行如公式                (1) 所示的修改.
                                                         
                                                          g, θ ⩾ 0
                                                         
                                                       ′  
                                                      g =                                            (1)
                                                         
                                                           −g, θ < 0
                                          ′
                 其中,    g 为特征图的原始梯度,     g  为经过修改后用于计算特征图贡献值的梯度, θ              为模型的转向角预测结果. 如公
                 式  (1) 所示, 根据模型对于所输入图像的转向角预测结果的正负取向, 在转向角预测结果为负值, 也就是预测转向
                 角为左转时, 对特征图的梯度取负. 经过这一步骤处理后, 无论模型最终的预测角度为左转还是右转, 生成的热图
                 中越热的区域对模型的转向角决策越重要. 如图               4  所示为添加该步骤后使用        Grad-CAM  方法为转向角预测模型生
                 成的部分热图. 其中左边两张为转向角预测为左转的原始图像及对应热图, 右边两张为转向角预测为右转的原始
                 图像及对应热图.

                            原始图像                  热图                原始图像                  热图





                                      (a) −3.51°                              (b) 1.98°







                                      (c) −0.53°                               (d) 7.3°

                                             图 4 使用   Grad-CAM  方法生成的热图

                    一个健壮性良好的模型在面对相同场景的不同图像时应当做出一致或相似的决策. 即使场景中的个别物体出
                 现了变化, 但只要不改变物体的语义就不应该出现前后差异较大的决策. 例如, 模型不应该因为场景中黑色货车变
                 成了一辆白色货车就改变原有的转向角预测结果. 如果模型出现了以上行为, 则可以认为检测到了模型中的缺陷,
                 或是发现了模型健壮性不佳的证据.
                    使用  Grad-CAM  方法生成的热图中, 越高亮的区域对模型的转向角预测结果贡献越高, 而被高亮区域覆盖的
                 物体则是对转向角预测结果重要的物体. 对转向角预测结果贡献高的物体用语义相同的物体进行替换, 可在改变
                 物体外观的同时不改变物体的语义, 来生成场景相同的不同图像. 由于被替换的是根据解释结果选择出的重要物
                 体, 所以更有可能误导模型的预测结果.
                    然而, 如要在大量图像中替换部分物体, 同时使图像中其他物体保持不变, 在现实世界中是成本极高且几乎无
                 法完成的任务. 使用已从现实世界采集到的原始图像, 从中选择重要物体并用语义相同物体替换后生成测试数据
                 是较为可行的解决方案. 下面将介绍基于真实图像和图像翻译两种获取物体并进行替换的策略.
                  2.2   重要物体替换
                    利用解释方法分析并选择待替换物体后, 将使用替换物体库中的新物体替换原物体. 新物体应与原物体保持
                 相同的语义并尽可能保证替换后图像的真实性. 替换物体库是一组物体及其语义标签的集合, IATG                               使用两种策
                 略获取物体并构建替换物体库: 基于真实图像构建和基于图像翻译构建. 基于真实图像构建策略使用从真实世界
                 采集的图像, 按照语义分割标签信息提取真实物体. 而基于图像翻译构建策略则是使用图像翻译工具将语义分割
                 标签翻译为图像, 然后从中提取所生成的物体. 构建替换物体库后, 可使用其中与被选择重要物体语义相同的物体
                 进行替换.
                    重要物体替换的具体步骤如算法            1  所示, 算法的输入为原始图像        orgImg、转向角预测模型       M、替换物体数
                 量  N  和替换物体库   objLib, 算法的输出为生成的测试数据图像          newImg. 首先使用解释方法      Grad-CAM  分析原始图
   177   178   179   180   181   182   183   184   185   186   187