Page 239 - 《软件学报》2026年第4期
P. 239

1680                                                       软件学报  2026  年第  37  卷第  4  期



                 25.   for each two individuals S i , S j  ∈ PN do
                 26.    PN i  ← generate_mutation_probability(S i , S j , TS[–1])
                 27.    if PM i  > threshold then
                           x x ,  ← scenario_crossover(x i , x j )
                            ′
                              ′
                 28.        i  j
                 29.     BN ← BN ∪   x x ,  ′
                                      ′
                                      i  j
                 30.    end if
                 31.   end for
                 32.  TP ← TP ∪ BN
                 33. return SC
                  2.3.1    自适应进化搜索算法
                    基于生成的具体场景, LEADE        采用改进的自适应进化搜索算法, 旨在发现具有安全关键性和多样性的具体场
                 景. 每个具体场景被编码为一个个体            S i = {C 1 ,C 2 ,...,C n }, 其中  C n  表示场景中第  n 个参与者的轨迹. 与现有的自动
                 驾驶系统具体场景进化搜索方法不同, 现有方法通常让选定的父代个体的参与者接受相同程度的变异和交叉操
                 作, 而 LEADE  则采用自适应选择和自适应变异策略, 这能够提高搜索安全关键场景的效率, 并发现更多类型的自
                 动驾驶系统安全违例. 改进后的进化搜索流程如算法 1 所示.
                    细粒度评估具体场景         (第  4–9  行): 在每一代的进化过程中, LEADE      会根据多个目标构建改进的多帕累托
                 (Pareto) 最优解, 考虑的目标包括: 场景的关键性、主车的偏差、参与者的多样性以及场景覆盖度. 这些目标通过
                 一系列精细化的度量指标来量化, 全面评估对自动驾驶系统的对抗性与多样化扰动.
                    自适应选择     (第  10–16  行): 基于多个目标的适应度评估, LEADE      会从当前种群中选出表现优异的个体作为父
                 代, 进行交叉与变异操作, 从而逐步产生           Pareto  最优解. 在个体选择过程中, LEADE     会根据当前种群的适应度值自
                 适应地调整交叉和变异的概率, 以确保探索的广度和深度.
                    自适应变异     (第  18–29  行): 自适应变异包括自适应交叉和自适应变异操作. LEADE            会根据种群中各个轨迹的
                 适应度排名, 动态地选择不同的变异操作类型, 以确保在每一代中更好地探索和优化场景. 这种自适应变异机制能
                 够提高安全违例场景搜索的效率, 并增加场景的多样性, 帮助发现更多潜在的安全隐患.
                    当连续   3  代保留的优秀个体未发生变化时, 重新生成初代种群, 并重启进化进程.
                  2.3.2    细粒度目标评估
                    为了寻找更多具有安全关键性和多样性的具体场景, 本文设计了一种包含上述目标的适应度函数, 并通过该
                 函数对生成的场景进行评估.
                    场景关键性: 该指标用于识别能够暴露安全违例的具体场景. 为了更好地评估场景运行过程中, 主车与参
                 与者进行交互时出现碰撞的可能性, 改进了最小预计碰撞时间                     (MiTTC) 指标, 即场景运行过程所有时刻预计碰
                 撞时间   (iTTC) 的最小值. iTTC  是指考虑了主车和从车的边界框、实时相对速度和距离的碰撞时间. 计算公式
                 如下所示:

                                            {    E  Ni              E  Ni         }
                                             DX(b ,b )  vx N i −vx E t DY(b ,b )  vy N i −vy E t
                                      f c = min  t  t  +  t    ,    t  t  +  t     ,
                                         i∈[1,k]
                                              vx N i −vx E t  ax N i −ax E t  vy N i −vy E t  ay N i −ay E t
                                         t∈(0,s)  t       t        t         t
                                                          (    )
                                                                      E
                                                                         Ni
                                                            E
                 其中,  N i  表示场景中的第   个参与者,    E  代表主车.  DX b ,b Ni   和   DY(b ,b ) 分别表示主车和第   个参与者在时刻   t
                                                                                          i
                                    i
                                                            t  t      t  t
                 的边界框的横向和纵向欧几里得距离,             vx 和  vy 分别表示横向和纵向速度,      ax 和  ay 分别表示横向和纵向加速度. 具
                 体场景中有    k 个参与者, 场景的执行持续时间为          s 秒.  f c  值越小, 场景的适应度分数越高.
                    主车轨迹偏差: 该指标用于衡量主车实际行驶轨迹与预期路线之间的偏差. 在没有扰动的情况下, 主车的预期
                                                     f e  定义为主车行驶过程中最大的位置偏移量和加速度变化, 其计算
                 路线应沿着车道行驶并保持给定的速度. 指标
                 公式如下:
   234   235   236   237   238   239   240   241   242   243   244