apollo_logo
4
0

CCF- BDCI 感知赛题

1、竞赛名称

城市道路目标检测与跟踪。

2、赛题任务

本赛题提供在城市道路场景下的连续的 3D 激光雷达点云数据,参赛者需要在Apollo环境下进行开发调试,参赛者可基于Apollo现有模型进行调优或者训练新的模型进行替换,最终要求准确识别出“车辆”、“行人”、“自行车” 的3D边界框,并且提供跟踪之后的ID、位置以及速度等。

3、数据获取

3.1 数据描述

本次竞赛所采用3D激光雷达Detection/Tracking数据集是在城市道路上的各种照明条件和交通密度下采集的。包含了车辆、自行车、行人等点云数据。

3.2 数据结构

3D激光雷达目标检测与跟踪的文件夹结构如下:

(1) train.zip:3D激光雷达目标检测/跟踪的训练数据。激光雷达数据采用pcd文件格式。

(2) detection/tracking_train_label.zip:用于3D激光雷达目标检测和跟踪的标注数据,共5608帧。每个文件都是一个 1 分钟的序列,帧率为 2fps。每个文件中的每一行包含 object_id, object_type, position_x, position_y, position_z, object_length, object_width, object_height, heading。object_id 仅用于跟踪。

  • 对于 object_type,小型车辆类别是1,大型车辆类别为2,行人类别3,摩托车手和自行车类别为4,交通锥类别为5,其他类别为6。每个类别数量统计如下:{'1': 69124, '2': 20336, '3': 30495, '4': 25452, '5': 15931, '6': 16949};
  • 点云坐标在局部坐标系,位置和边界框的单位是米;
  • 航向值是相对于物体方向的转向弧度。

(3) test.zip:3D激光雷达目标检测与跟踪测试数据。在本次挑战的评测中,我们将前两种类型小型车辆和大型车辆视为一种类型(vehicle)。在评测过程中会过滤unknown类别的目标。

(4) pose.zip:激光雷达姿势。数据格式为:frame_index, lidar_time, position_(x, y, z), quaternion_(x, y, z ,w)。该位置为绝对坐标,请使用该位置进行跟踪任务。

4 评测指标

4.1 评测条件

在本次挑战的评估中,对车辆、行人、自行车3类数据进行评测。注意:平均运行帧率不得低于8hz

目标匹配:3D目标匹配采用3D-Bounding-Box体积交并比,定义如下:

将每个目标对的 IoU 阈值设置为 0.5。如果 IoU(·) 小于 0.5,匹配失败;大于0.5,认为目标匹配成功。真值和检测值的多目标匹配采用贪心算法。

有效距离:点云局部坐标系,50m范围内。

4.2 目标检测

目标检测分类精度(AP):3D目标检测的任务是检测“车辆”、“行人”、“自行车”。计算得到3个类别的平均精准度AP(average precision,采用all point AP)。

目标检测精度(mAP):对上述3个类别的AP取平均值,得到mAP。

4.3 多目标跟踪

多目标跟踪指标:我们使用多目标跟踪精度 (MOTA),和跟踪丢失率(MisMatch-Rate)作为评估标准。两者都是取多个类别的mota、mismatch-rate的平均值。

<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mi>O</mi><mi>T</mi><mi>A</mi><mo>=</mo><mn>1</mn><mo>−</mo><mfrac><mrow><msub><mo>∑</mo><mi>t</mi></msub><mo stretchy="false">(</mo><msub><mi>m</mi><mi>t</mi></msub><mo>+</mo><mi>f</mi><msub><mi>p</mi><mi>t</mi></msub><mo>+</mo><mi>m</mi><mi>m</mi><msub><mi>e</mi><mi>t</mi></msub><mo stretchy="false">)</mo></mrow><mrow><msub><mo>∑</mo><mi>t</mi></msub><msub><mi>g</mi><mi>t</mi></msub></mrow></mfrac></mrow><annotation encoding="application/x-tex">MOTA = 1 - \frac {\sum_{t}(m_t + fp_t + mme_t)} {\sum_{t} g_t}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">MOT</span><span class="mord mathnormal">A</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.63em;vertical-align:-0.57em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.06em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mop mtight"><span class="mop op-symbol small-op mtight" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1179em;"><span style="top:-2.1786em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3214em;"><span></span></span></span></span></span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:-0.0359em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.535em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mop mtight"><span class="mop op-symbol small-op mtight" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1179em;"><span style="top:-2.1786em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3214em;"><span></span></span></span></span></span></span><span class="mopen mtight">(</span><span class="mord mtight"><span class="mord mathnormal mtight">m</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span><span class="mbin mtight">+</span><span class="mord mathnormal mtight" style="margin-right:0.10764em;">f</span><span class="mord mtight"><span class="mord mathnormal mtight">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span><span class="mbin mtight">+</span><span class="mord mathnormal mtight">mm</span><span class="mord mtight"><span class="mord mathnormal mtight">e</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span><span class="mclose mtight">)</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.57em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mi>i</mi><mi>s</mi><mi>M</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mi>R</mi><mi>a</mi><mi>t</mi><mi>e</mi><mo>=</mo><mfrac><mrow><mi>m</mi><mi>m</mi><msub><mi>e</mi><mi>t</mi></msub></mrow><mrow><msub><mo>∑</mo><mi>t</mi></msub><msub><mi>g</mi><mi>t</mi></msub></mrow></mfrac></mrow><annotation encoding="application/x-tex">MisMatch Rate = \frac {mme_t} {\sum_{t} g_t}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.10903em;">M</span><span class="mord mathnormal">i</span><span class="mord mathnormal">s</span><span class="mord mathnormal" style="margin-right:0.10903em;">M</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">c</span><span class="mord mathnormal">h</span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.2815em;vertical-align:-0.57em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.7115em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mop mtight"><span class="mop op-symbol small-op mtight" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1179em;"><span style="top:-2.1786em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3214em;"><span></span></span></span></span></span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:-0.0359em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.4101em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">mm</span><span class="mord mtight"><span class="mord mathnormal mtight">e</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2963em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.57em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>

其中:

  • mismatches,表示跟踪过程中检测目标的id发生变化的数量;
  • misses,表示漏检的目标数量;
  • false positive,表示误检目标的数量;
  • ground truth object number,真值目标的数量。

注意:

  • 在一个连续时间序列中的MOTA取得是多个类别的平均值,同时取MOTA = max(0, MOTA)。这种计算法考虑了每个类别的mota分数,也将最终的分数收敛到(0,1)范围;
  • 在评测Tracking时有多个(假设为n个)连续时间序列数据。每个连续时间序列数据计算得到一个MOTA和一个MisMatch-Rate。n个连续时间序列数据的MOTA和MisMatch-Rate通过平均n个指标得到。

5 排名规范

ID

总分

Mrtrics

操作

评测ID

mAP

AP(Vehicle)

AP(Pedestrian)

AP(Cyclist)

MOTA

MisMatch Rate

回放 日志


感知:

<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mi>o</mi><mi>t</mi><mi>a</mi><mi>l</mi><mi mathvariant="normal">_</mi><mi>s</mi><mi>c</mi><mi>o</mi><mi>r</mi><mi>e</mi><mo>=</mo><mtext>(</mtext><mi>m</mi><mi>A</mi><mi>P</mi><mo>∗</mo><mn>0.8</mn><mo>+</mo><mi>M</mi><mi>O</mi><mi>T</mi><mi>A</mi><mo>∗</mo><mn>0.2</mn><mtext>)</mtext><mo>∗</mo><mn>100</mn></mrow><annotation encoding="application/x-tex">total\_score = (mAP * 0.8 + MOTA * 0.2)*100 </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0044em;vertical-align:-0.31em;"></span><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord" style="margin-right:0.02778em;">_</span><span class="mord mathnormal">score</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord cjk_fallback">(</span><span class="mord mathnormal">m</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.13889em;">P</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">0.8</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">MOT</span><span class="mord mathnormal">A</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord">0.2</span><span class="mord cjk_fallback">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">100</span></span></span></span>

6 分数基线

total

detection

tracking

mAP

AP(Vehicle)

AP(Pedestrian)

AP(Cyclist)

MOTA

MisMatchRate

0.3511568

0.3873389

0.754341

0.126856

0.2808189

0.2064284

0.056029


分数基线,参赛者超过基线才会做分数排序。根据total分数进行排序。

原创声明,本文由作者授权发布于Apollo开发者社区,未经许可,不得转载。
发表评论已发表 0 条评论
登录后可评论,请前往 登录
暂无评论~快去发表自己的独特见解吧!
目录
1、竞赛名称
2、赛题任务
3、数据获取
3.1 数据描述
3.2 数据结构
4 评测指标
4.1 评测条件
4.2 目标检测
5 排名规范
6 分数基线