计算的基准性能指标

本页介绍了性能指标模块。此模块用于根据代理在基准测试期间执行的操作计算结果摘要。

提供性能指标

驾驶基准性能指标模块提供以下性能指标:

  • 成功百分比:代理成功完成的情节(任务姿势)的百分比。

  • 平均完成度:代理能够到达目标的平均距离。

  • 越野路口:代理驶出道路的次数。只有当车辆在道路外的面积大于阈值时,才会计算路口。

  • 其他车道交叉口:代理进入其他车道的次数。只有当其他车道上的车辆面积大于阈值时,才会计算交叉口。

  • 车辆碰撞:影响量大于阈值的车辆碰撞次数。

  • 行人碰撞:与行人发生碰撞且影响大于阈值的次数。

  • 一般碰撞:与所有其他物体发生碰撞且影响大于阈值的次数。

执行并设置参数

指标作为基准测试的最后一步进行计算,并将结果摘要存储在 json 文件中。内部执行如下:

metrics_object = Metrics(metrics_parameters)
summary_dictionary = metrics_object.compute(path_to_execution_log)

Metric 的计算函数接收执行日志的完整路径。Metric 类应该使用一些参数进行实例化。这些参数包括:

  • 阈值:指标使用的阈值。
  • 帧重新计数:犯规后,设置代理需要继续犯规的帧数,才会将其计为另一次犯规。
  • 跳过帧数:与碰撞或交叉开始后跳过的帧数有关。

这些参数被定义为 实验套件 基类的属性,可以在您的 自定义实验套件 中重新定义。

默认参数为:

@property
    def metrics_parameters(self):
    """
    Property to return the parameters for the metrics module
    Could be redefined depending on the needs of the user.
    """
    return {

        'intersection_offroad': {'frames_skip': 10,
                                 'frames_recount': 20,
                                 'threshold': 0.3
                                 },
        'intersection_otherlane': {'frames_skip': 10,
                                   'frames_recount': 20,
                                   'threshold': 0.4
                                   },
        'collision_other': {'frames_skip': 10,
                            'frames_recount': 20,
                            'threshold': 400
                            },
        'collision_vehicles': {'frames_skip': 10,
                               'frames_recount': 30,
                               'threshold': 400
                               },
        'collision_pedestrians': {'frames_skip': 5,
                                  'frames_recount': 100,
                                  'threshold': 300
                                  },

          }