华为云用户手册

  • Planning_trajectory stamp_secs: 1617336640 stamp_nsecs: 809739351 timestamp: 1617336640809 trajectory_points { x: -151.27487182617188 y: 486.55096435546875 theta: 0.0023324606008827686 kappa: -0.0017824547830969095 } trajectory_points { x: -151.21182250976562 y: 486.5510559082031 theta: 0.0022713469807058573 kappa: -0.0017127590253949165 } ......
  • Object_array_vision tracked_object { timestamp: 1604996332862 stamp_secs: 1604996332 stamp_nsecs: 862911489 objects { id: 26175 label: "Car" pose_position_x: 1154.59912109375 pose_position_y: -496.5350646972656 pose_position_z: -1.8222997188568115 pose_orientation_z: 0.714431643486023 pose_orientation_w: 0.6997052431106567 pose_orientation_yaw: 1.5916229486465454 dimensions_x: 4.513162136077881 dimensions_y: 1.7747581005096436 dimensions_z: 1.628068208694458 speed_vector_linear_x: 0.012852923013269901 speed_vector_linear_y: -9.972732543945312 relative_position_x: -17.48011016845703 relative_position_y: 10.685434341430664 relative_position_z: -0.17673441767692566 } objects { id: 26170 label: "Pedestrian" pose_position_x: 1180.902099609375 pose_position_y: -504.7625732421875 pose_position_z: -1.3601081371307373 pose_orientation_z: -0.7057344317436218 pose_orientation_w: 0.7084764242172241 pose_orientation_yaw: -1.5669186115264893 dimensions_x: 0.7922295331954956 dimensions_y: 0.7891787886619568 dimensions_z: 1.6868246793746948 speed_vector_linear_x: 0.13573257625102997 speed_vector_linear_y: 1.5281875133514404 relative_position_x: -25.306795120239258 relative_position_y: -15.737456321716309 relative_position_z: 0.39350399374961853 } objects { id: 26169 label: "Pedestrian" pose_position_x: 1175.647216796875 pose_position_y: -506.730712890625 pose_position_z: -1.569373607635498 pose_orientation_z: 0.6943609118461609 pose_orientation_w: 0.7196269631385803 pose_orientation_yaw: 1.5350627899169922 dimensions_x: 0.8029457330703735 dimensions_y: 0.7876891493797302 dimensions_z: 1.6028095483779907 speed_vector_linear_x: 0.06551000475883484 speed_vector_linear_y: 0.0022428608499467373 relative_position_x: -27.355571746826172 relative_position_y: -10.512933731079102 relative_position_z: 0.19844147562980652 } objects { id: 26168 label: "Pedestrian" pose_position_x: 1173.3189697265625 pose_position_y: -507.2300109863281 pose_position_z: -1.6026556491851807 pose_orientation_z: 0.717462956905365 pose_orientation_w: 0.6965966820716858 pose_orientation_yaw: 1.600306749343872 dimensions_x: 0.7922430038452148 dimensions_y: 0.7811086177825928 dimensions_z: 1.6341478824615479 speed_vector_linear_x: -0.04817964881658554 speed_vector_linear_y: -0.21502695977687836 relative_position_x: -27.89008903503418 relative_position_y: -8.192517280578613 relative_position_z: 0.16775710880756378 } objects { id: 26155 label: "Bus" pose_position_x: 1172.106689453125 pose_position_y: -478.5303039550781 pose_position_z: -0.48812994360923767 pose_orientation_z: -0.7203028798103333 pose_orientation_w: 0.6936596632003784 pose_orientation_yaw: -1.6084778308868408 dimensions_x: 11.322981834411621 dimensions_y: 2.9294095039367676 dimensions_z: 3.1415622234344482 speed_vector_linear_x: -0.017722932621836662 speed_vector_linear_y: 0.1302066147327423 relative_position_x: 0.7977913022041321 relative_position_y: -6.548437118530273 relative_position_z: 0.9966707229614258 } objects { id: 26153 label: "Bus" pose_position_x: 1148.1876220703125 pose_position_y: -490.8350524902344 pose_position_z: -0.954763650894165 pose_orientation_z: 0.6907882690429688 pose_orientation_w: 0.7230570912361145 pose_orientation_yaw: 1.5251574516296387 dimensions_x: 10.779899597167969 dimensions_y: 2.856076717376709 dimensions_z: 2.811084508895874 speed_vector_linear_x: 0.03153659775853157 speed_vector_linear_y: 0.23439916968345642 relative_position_x: -11.868709564208984 relative_position_y: 17.1827335357666 relative_position_z: 0.6278138756752014 } objects { id: 26141 label: "Bus" pose_position_x: 1171.7779541015625 pose_position_y: -512.5936889648438 pose_position_z: -0.9443151354789734 pose_orientation_z: -0.7186583876609802 pose_orientation_w: 0.6953632831573486 pose_orientation_yaw: -1.6037421226501465 dimensions_x: 10.841312408447266 dimensions_y: 2.9661808013916016 dimensions_z: 3.2250704765319824 speed_vector_linear_x: 0.0513402484357357 speed_vector_linear_y: 0.006104861851781607 relative_position_x: -33.26952362060547 relative_position_y: -6.731308937072754 relative_position_z: 0.8776476979255676 } objects { id: 26133 label: "Bus" pose_position_x: 1146.657958984375 pose_position_y: -508.7508239746094 pose_position_z: -0.883571445941925 pose_orientation_z: 0.7007946968078613 pose_orientation_w: 0.713362991809845 pose_orientation_yaw: 1.5530219078063965 dimensions_x: 12.186415672302246 dimensions_y: 2.824420690536499 dimensions_z: 3.292656183242798 speed_vector_linear_x: 0.005901232361793518 speed_vector_linear_y: 0.013970088213682175 relative_position_x: -29.803848266601562 relative_position_y: 18.443498611450195 relative_position_z: 0.8749525547027588 } objects { id: 26120 label: "Bus" pose_position_x: 1170.993408203125 pose_position_y: -525.5801391601562 pose_position_z: -1.104852318763733 pose_orientation_z: -0.7154129147529602 pose_orientation_w: 0.6987019181251526 pose_orientation_yaw: -1.5944297313690186 dimensions_x: 10.749905586242676 dimensions_y: 2.7170863151550293 dimensions_z: 3.0421104431152344 speed_vector_linear_x: 0.016746148467063904 speed_vector_linear_y: -0.23609620332717896 relative_position_x: -46.26727294921875 relative_position_y: -6.141877174377441 relative_position_z: 0.8449855446815491 } }
  • Routing_path timestamp: 1630057162125 stamp_secs: 1630057162 stamp_nsecs: 125769156 routing_path_info { id: 1 path_point { x: -203.34230041503906 y: 125.63516998291016 z: -0.5 } path_point { x: -203.34915161132812 y: 125.72517395019531 z: -0.5 }......}
  • Ego_tf localization_info { timestamp: 1604996332855 stamp_secs: 1604996332 stamp_nsecs: 855301408 pose_position_x: 1165.5460205078125 pose_position_y: -479.2198486328125 pose_position_z: -1.48505699634552 pose_orientation_x: 0.003883248195052147 pose_orientation_y: -0.0031167068518698215 pose_orientation_z: 0.7017714977264404 pose_orientation_w: 0.7123847603797913 pose_orientation_yaw: 1.5557808876037598 velocity_linear: 12.21684455871582 velocity_angular: 0.014540454372763634 acceleration_linear: 0.23571151494979858 acceleration_angular: 0.0 }
  • Tag_record segments { scenario_id: 100000000 source: "takeover" start: 1617336642300 end: 1617336652300 } segments { scenario_id: 100000000 source: "vehicle" start: 1617336672300 end: 1617336692300 }
  • Traffic_light_info timestamp: 1630057508000 stamp_secs: 1630057508 lights { id: 1 color: 1 location_x: -206.60186767578125 location_y: 459.9820861816406 location_z: 3.0 } lights { id: 2 color: 2 location_x: -74.1282958984375 location_y: 484.984619140625 location_z: 4.0 } lights { id: 3 color: 3 location_x: 59.96036911010742 location_y: 473.6038513183594 location_z: 5.0 }
  • Vehicle vehicle_info { stamp_secs: 1604996332 stamp_nsecs: 847945211 autonomy_status: 0 gear_value: 4 vehicle_speed: 43.93000030517578 steering_angle: 0.699999988079071 yaw_rate: 0.0 interior_temperature: 0.0 outside_temperature: 0.0 brake: 0.0 timestamp: 1604996332847 turn_left_light: 0 turn_right_light: 0 longitude_acc: -0.03125 lateral_acc: 0.0 }
  • 逻辑场景管理 逻辑场景功能可批量生成仿真场景,扩充仿真场景库,为自动驾驶开发提供海量仿真场景。自定义逻辑场景的可以进行修改、删除操作,并支持仿真器A和仿真器B。创建泛化场景时,由于仿真器A的不同版本之间存在主车id不固定的问题,为了保证规控算法和评测算法能正确判断找到主车,泛化的场景文件的主车名称(name)字段应该为Ego。 逻辑场景中场景是完全独立存储与使用的,在逻辑场景生成的泛化场景非常多,其中有价值的场景比例低,如果存储到场景中会对场景模块造成冲击,当前如果认为逻辑场景中保存的个别场景价值高,可以采用下载场景文件到本地再上传到场景模块的方式保留该逻辑场景。 逻辑场景 泛化场景 父主题: 场景管理
  • 应对对向车辆占道(Encroaching vehicle)检测 在双向车道路上, 会存在主车与对向车辆存在横向冲突的情况, 应对对向车辆冲突行驶检测的目的是判断主车在这种情况下, 能否进行适当的转向和减速避让, 从而保证安全性。 其中主车需要进行避让的前提条件是: 当主车前端与对向行驶的车道纵向距离一定范围内(本设计取10m), 并且主车与对向车辆的横向距离小于两者一半车宽的和。 当满足该条件后, 如果主车没有进行转向避让和减速避让, 则对应的检测不通过。 减速避让检测不通过是指主车的加速度大于0。 其中转向避让检测考虑到中国是靠右行使, 在设计该类测试场景时, 对向车会是在主车的左侧。 转向避让检测不通过是指主车没有向右边转向。 该指标关联的内置可视化时间序列数据为:暂无。 该指标的异常时间点记录类型为:POINT_TYPE_REGION。 父主题: 内置评测指标说明
  • 2D图像列表相关操作 在2D图像列表,还可以进行以下操作。 表1 2D图像列表相关操作 任务 操作步骤 搜索模型生成的2D图像 在搜索框中输入关键字搜索相关2D图像生成作业名称。 查看模型生成的2D图像详情 单击模型生成的2D图像生成作业名称,即可查看模型生成的2D图像详情页。 图5 2D图像详情 显示位置框:可选择是否显示位置框。 下载图片:鼠标悬停图片,可选择单张下载图片至本地。 删除图片:可选择单张或批量删除图片。 清理失效图片:如果有失效的图片,可选择单击右上角“清理失效图片”,清理失效图片。 终止模型生成2D图像 单击操作栏的“终止”,即可终止状态为“执行中”的模型。 删除模型生成的2D图像 单击操作栏的“删除”,即可删除模型生成的2D图像信息。 说明: 删除后无法恢复,请谨慎操作。(OBS中的图片数据需用户手动清理。)。
  • 2D3D关联标注 2D3D关联标注复杂,类型多样,故平台开发多种标注工具,辅助标注工作,提高标注人员标注效率。 表9 标注工具说明 一级图标 二级图标 名称 功能 快捷键 无 选择 单击3D框进入选择状态,可对3D框进行三维拖动。 无 无 修改 双击3D框进入修改状态,可对3D框的三视图进行调整。 无 从上至下依次是: 标注 智能缩框标注 标注:在标注类别中选择标注框,进行普通3D框标注。 智能缩框标注:可根据框选范围内点云大小智能缩进标注框 标注:V 智能缩框标注:B 从上至下依次是: 旋转 旋转90° 旋转180° 旋转点云图像。长按图标或快捷键点云图像会一直旋转。 按照箭头所示方向分别旋转点云图像90度和180度。 顺转:1或左键图标 逆转:Shift +1或右键图标 顺转90°:2或左键图标 逆转90°:Shift +2或右键图标 旋转180°:3 从上至下依次是: 记录位置 返回记录位置 复位 点云角度保持原状 通过单击“记录位置”记录当前点云的视角,调整视角后可通过单击‘返回记录位置’,回到记录视角。 复位:回到初始点云视角。 点云角度保持原状:开启后,双击打开三视图不会改变点云视角。 记录位置:R 返回记录位置:Shift+R 复位:O 从上至下依次是: 复制上帧 对比上帧 同步追踪数据 显示轨迹线 添加轨迹点 复制上帧:将上一帧标注框完全复制到当前帧。第一帧不可用复制上帧功能。 对比上帧:标注界面分为两部分,左图是上一帧点云,右图是当前帧点云,可对前后两帧信息进行对比。 同步追踪数据:选中标注物后执行该操作可将当前任务中相同ID的所有标注物的大小类型进行覆盖。 显示轨迹线:选择3D框,开启此功能后可将当前任务中与此标注物ID相同的框进行轨迹线的连接。 添加轨迹点:开启后左键添加轨迹点,右撤销当页轨迹点,并重新规划轨迹线,此ID最后一帧不可操作。 复制上帧:F 从上至下依次为: 添加 列表 添加:选中标注物,添加提示信息后自动进入全局标注物列表。 列表:打开列表可对添加的标注物进行应用、删除、保留ID等操作。 添加:I 列表:D 无 2D3D互转开关 开启后绘制2D、3D框后可转换出对应3D、2D框。 无 无 假想 预设各标注物类别的xyz参考值,选中框后单击对应参考值可直接应用。 无 无 高度过滤 设置高度限制,该高度以下点云无法被框选标注。 无 无 地面点限制 开启后无法对地面点云进行标注。 无 无 删除 选中3D框后单击图标或快捷键可删除框。 Delete 无 长宽互换 可对3D框的xy值进行互换。 T 无 补框 仅3D联合任务和2D3D关联标注任务点开2D缩略图时会显示此工具,当3D框缺少对应2D框时可使用此工具。 G 无 比例尺 调整比例。 U 从上至下依次为: 全部添加 全部删除 增加单个 删除单个 全部添加:为所有3D框添加锚点。 全部删除:删除所有3D框的锚点。 增加单个:选择单个3D框后增加单个锚点。 删除单个:删除单个3D框的锚点。 注:可通过Shift+左键单击3D框正上方角点修改锚点位置。 全部添加:Z 全部删除:X 增加单个:Shift+Z 删除单个:Shift+X 从上至下依次为: 缩略图 标注列表 隐藏范围线 缩略图:开启后隐藏界面下方缩略图。 标注列表:开启后隐藏标注列表。 隐藏范围线:开启后隐藏范围线。 无 无 无 标注物 标注物快捷键,最多8个,按照使用频次排序。 Alt+(1~8) 无 下降/上升 前移/后移 左移/右移 通过单击按钮或快捷键执行平移操作。 下降:Q 上升:E 前移:W 后移:S 左移:A 右移:D 无 上旋/下旋 左旋/右旋 无 上旋:↑ 下旋:↓ 左旋:← 右旋:→ 无 上一张 无 Shift+Q 无 下一张 无 Shift +E 无 保存 保存当页信息,勾选已标注/审核通过。 Ctrl+S
  • 3D语义标注 3D语义标注复杂,类型多样,故平台开发多种标注工具,辅助标注工作,提高标注人员标注效率。 表7 标注工具使用说明 一级图标 二级图标 功能 快捷键 无 多边形绘制 Z 无 矩形绘制 X 无 画笔绘制 C 无 画笔调整变大小 鼠标滚轮前后滚动 无 框选绘制 框选:V 确认:Enter 取消:空格键 无 撤回上一步 Ctrl+Z 隐藏范围线 缩略图 标注列表 无 记录当前位置 回到上次位置 复位 记录当前位置:R 回到上次位置:Shift+R 点云图复位:O 无 显示强度屏 I 旋转 旋转90° 旋转180° 顺转:1或左键图标 逆转:Shift +1或右键图标 顺转90°:2或左键图标 逆转90°:Shift +2或右键图标 旋转180°:3 无 下降/上升 前移/后移 左移/右移 下降:Q 上升:E 前移:W 后移:S 无 上旋/下旋 左旋/右旋 上旋:↑ 下旋:↓ 左旋:← 右旋:→ 无 标注物 标注物快捷键,最多8个,按照使用频次排序。 Alt+(1~8) 无 无 点云图复位。 O 无 无 上一张。 Shift+Q 无 无 下一张。 Shift+E 无 无 结束绘制状态。 ESC 无 无 保存当页信息,勾选已标注/审核通过。 Ctrl+S 表8 标注快捷键说明 快捷键 功能 1 多边形绘制。 2 矩形绘制。 3 画笔绘制。 4 框选绘制。 Ctrl+Z 撤回上一步。 空格键 取消框选。 Enter 确认框选。 ESC 结束绘制状态。 向后滚动鼠标滚轮 画笔调整变大。 向前滚动鼠标滚轮 画笔调整变小。 O 点云图复位。
  • 2D语义标注 2D语义标注任务较多,类型多样,复用了大部分2D标注工具,在此基础上增加了以下快捷键促进标注速度。请参考下表。 表4 标注快捷键说明 快捷键 功能 空格键 多边形闭合。 X 相交多边形共边。 4(非小键盘) 进入多边形绘制工具。 右键 未闭合状态撤销多边形上一点。 Alt+V/alt+鼠标左键 删除多边形上某点。 Alt+鼠标左键/鼠标滚轮 拖动语义标注的图片。 8(非小键盘) 绘制切割线。 M 绘制切割线后切割。 Z 开启交互式分割。 Ctrl+C 复制属性。 Ctrl+V 粘贴属性。 Delete 删除标注对象。 Shift+b 比例尺。 Ctrl+Z 撤回上一步操作。 S 保存本页标注。 T 隐藏标题。 L 隐藏标注。
  • 2D标注 2D标注任务较多,类型多样,故平台开发多种标注工具,辅助标注工作,提高标注人员标注效率。 表1 标注工具说明 一级图标 二级图标 名称 功能 快捷键 无 选择 拖动标注框。 ~ 无 修改 可修改点的位置、线和框的形状,右键可打开属性。 Escape 从上至下依次为: 点 实线 矩形 多边形 2.5D 虚线 圆形 切割线 分别为点、实线、矩形、多边形、2.5D、虚线、圆。 标注任务创建完毕,该标注任务所使用的所有标注已添加在任务中。单击标注形状,选择标注类别即可进行标注。 点:1 实线:2 矩形:3 多边形:4 2.5D:5 虚线:6 圆:7 切割线:8 从上至下依次为: 复制上帧 对比上帧 复制上帧:将上一帧标注物完全复制到当前帧,适用于当前帧与上一帧标注物位置大致相同。 说明: 第一帧图片不可用追踪功能。当前帧没有任何标注物。 对比上帧:上一帧和当前帧同屏展示,可进行对比前后帧信息。 复制上帧:F 从上至下依次为: 添加 列表 在同一标注任务中,会有多张图片中存在相似或一致的待标注对象。此时可利用全局标注工具将标注对象添加到全局标注列表中,只要切换图片应用即可,省去重复标注步骤。 添加: 为标注物添加提示信息后自动加入到列表。 列表: 打开全局标注物列表,可对列表中的标注物进行应用、删除、保留ID等操作。 添加:I 列表:D 无 比例尺 开启后鼠标指针带比例尺。一格为5px。 shift+b 无 撤回 撤销上一步。 Ctrl+z 无 复位 将图片重置到初始位置、大小。 o 无 悬浮 开启后可通过鼠标悬停标注物查看额外属性、审核属性及描述。 + 从上至下依次为: 隐藏标注 隐藏标题 隐藏预览图 隐藏标注列表 网格 隐藏标注:开启后隐藏所有标注物。 隐藏标题:开启后隐藏所有标注物的标题。 隐藏预览图:开启后可隐藏界面下方缩略图。 隐藏标注列表:开启后可隐藏界面右侧标注列表。 网格:开启后可全图显示网格,每个小方格的边长为5px。 隐藏标注:L 隐藏标题:T 从上至下依次为: 绘制顺序 ID顺序 绘制顺序:可调整透明度,区域重叠时依照后绘制在上覆盖原则。 ID顺序:可调整透明度,图层重叠时按照ID较大的覆盖较小的原则,不支持实时刷新。 暂无 无 上一张 无 Ctrl+Q 无 下一张 无 Ctrl+E 无 保存 保存当页信息。 S
  • 管理团队成员 平台管理员可根据业务需求对团队中的成员进行管理,可为团队新增人员或删除人员,可为团队中成员重新分配职能。 单击团队名称,可查看该团队内所有成员及职能。 查找成员:在搜索框内输入名字进行查找。 新增人员:单击团队名称,单击“新增人员”,选择人员并分配职能。 删除成员:单击人员名称后“操作”一栏内的“删除”,可删除该成员。删除后不可恢复,请谨慎操作。 成员删除后,该成员在此团队关联的所有项目内的标注效率也被删除。 该成员名下有未完成任务,不可删除该成员。
  • 在线编辑模型 平台提供模型编辑器,在模型详情页,“版本管理”模块的“模型编辑”栏,单击“模型编辑”,进入该模型的在线编辑页面。如图,界面左侧显示的是该模型包内的所有文件,以目录树的形式展示,支持编程语言的渲染,支持MarkDown文件的实时双屏预览。 图10 在线编辑 新建文件夹:选中文件夹并单击,用户将新建一个该文件夹的子文件夹。选中工程文件并单击,将会新建一个新的文件夹,与用户已有的文件夹同级。 新建文件:单击,或右键文件夹,单击“新建文件”。 修改文件:单击,用户可对文件名称进行修改。 删除文件:单击,用户可删除文件。 文件(夹)名称不能为空,且只能包含数字、英文、中文、点、下划线和中划线。 删除后不可恢复,请谨慎操作。 配置界面:单击,按照喜好配置界面基本属性,查看快捷键说明。 图11 配置界面 删除当前模型文件:单击“删除”,删除当前页面的模型文件。删除后不可恢复,请谨慎操作。 保存模型文件:单击“保存”,保存当前模型。模型更新完毕请及时保存。
  • 新建版本 Octopus支持用户对已有的模型进行版本更新,步骤如下: 在“版本管理”模块,单击“新建版本”或在模型列表,单击操作栏中的“新建版本”。 输入版本名称。 图9 版本名称 模型版本名称包含中英文、数字、“_”“-”、“.”,不得超过64个字符。 关联已有算法:可选择关联的算法。 上传本地模型文件。 将本地模型文件夹拖入框内或单击选择本地模型文件夹 单击“上传”,页面提示“模型文件已加入上传队列中,等待上传”。 上传中刷新或关闭浏览器会导致文件上传异常,请谨慎操作!
  • 套件用例相关操作 在“用例列表”,还可以进行以下操作。 表2 套件用例相关操作 任务 操作步骤 在线查看用例 单击用例列表后的操作栏中的“查看场景”,可选择在线仿真器,在线查看用例。 复用用例 单击操作栏中“另存为”,输入名称,即可生成另一个名称的用例。 删除用例 单击操作栏中“从套件中删除”,删除用例,删除后无法恢复,请谨慎操作。 查询用例 在页面右侧,可按照“用例名称”、“用例ID”查询用例,也可在搜索框中输入搜索内容对用例进行查询。
  • 本地调试 准备一个待处理的rosbag,如~/data/20220620.bag,一个示例Octopus_data_collections文件,如~/data/Octopus_data_collections.yaml运行如下命令(基于上述示例镜像): docker run -v ${HOME}/data/20220620.bag:/tmp/data/20220620.bag -v ${HOME}/tmp/output:/tmp/output -v ${HOME}/data/Octopus_data_collections.yaml:/tmp/Octopus_data_collections.yaml --env output_dir=/tmp/output --env rosbag_path=/tmp/data/20220620.bag --env yaml_path=/tmp/Octopus_data_collections.yaml --env tmp_dir=/tmp/workspace rosbag2opendata:0.1 /bin/sh -c “/home/main/ros2opendata.py --lidar_calibration_id 5” 完成后在${HOME}/tmp/output目录查看运行结果文件:
  • 场景组成说明 场景文件的主体是一个场景剧本storyboard,用户需要在storyboard前先声明将会使用的路网RoadNetwork、参数Parameter,和实体Entities。然后在Storyboard中通过InitActions对实体进行初始化(给定初始速度和位置)。通过场景故事Story中实体Entities间的每个动作集Act来展开场景。对于动作集Act内的每个行为Action,用户还可以通过Wait设置一个或多个触发条件。
  • 场景文件结构 场景文件结构样例 OpenSCENARIO2.0 ├─ RoadNetwork │ ├─ LogicFile │ └─ SceneGraphFile (0..1) ├─ ParameterDeclarations (0..1) ├─ Entities │ └─ Entity (1+) └─ Storyboard ├─ StopTrigger ├─ InitActions │ ├─ AssignInitSpeedAction │ └─ AssignInitPositionAction └─ Story └─ Act (1+) ├─ StartTrigger (Wait) │ └─ ConditionGroup │ └─ Condition (1+) └─ Action
  • 标注服务简介 Octopus标注服务为标注团队提供标注平台管理员、团队管理员和标注任务操作人员(标注员/审核员/验收员)三类职能。三类职能对标注平台的操作权限不同,保证标注任务的数据安全。标注服务管理员根据不同标注任务创建标注团队,分配标注任务操作人员不同职能。创建标注项目,并在项目下创建标注模板及标注任务。团队管理员管理团队内部成员,可为团队创建项目和标注任务,供成员认领。标注任务的操作人员是标注任务的实际执行人员,根据标注任务所处流程,有标注员、审核员和验收员三种职能。 标注服务的开发流程如下: 图1 标注服务开发流程 标注任务创建成功后,由团队中的标注员认领任务,标注任务进入标注流程。标注任务全流程如下,根据项目流程,可对除交付之外的其他流程进行裁剪: 图2 标注任务全流程 项目管理:通过对项目内的任务以及项目内的标注物管理,用户可根据业务需求不同,创建不同类型的项目。 团队管理:为标注团队进行人员职能的分配。未分配到标注项目的团队不可查看该项目信息,确保标注任务的安全性。 标注管理:提供项目外的可视化的标注物管理,支持自定义创建多种标注物的形状和颜色,可用于预标注和人工标注指定物体,或自定义算法模型中关联特定标注物。 模板管理:提供预标注模板和人工标注模板,用户可根据需求选择。 脚本管理:用户可以根据自身业务的需要创建标注脚本,推送和拉取对应引擎的镜像,用于标注任务。 用户管理:可为任务提供角色分配,对所有团队下普通用户进行管理。 父主题: 标注服务
  • 绘制对象 单击2D3D关联任务,单击任意一帧,进入人工标注。 左侧工具栏“2D3D互转开关”,开启状态下,平台依据新建的2D或3D框自动转成对应的3D或2D框。开关状态在同一任务中继承。 选择标注类别。标注下拉列表页选择一标注名,进入标注状态。 单击左侧标注工具栏,选择对应的标注工具。 在图片界面单击左侧工具栏“补框”,绘制2D框,此时右侧标注列表只展示关联对象的标注物。键盘按键“ESC”退出绘制状态,右侧标注列表展示所有的标注物。 图2 2D补框 在点云界面单击左侧工具栏“AI标注”(快捷键b),框选3D,此时右侧标注列表只展示关联对象的标注物。双击空白处退出绘制状态,右侧标注列表展示所有的标注物。 图3 点云补框 双击3D框,打开三视图。 图4 打开三视图 依据标注规范要求,结合下方真实图片中对应标注物大小,调整点云图像中标注物三视图中标注框。 图5 调整三视图 修改标注类别 右键单击目标图形,可进入选择类别的跳出框,即可修改类别。 修改额外属性。 右键单击目标图形,如果目标含有额外属性,单击即可选择属性。 图6 修改额外属性 修改对象ID。 右键单击目标图形,可以在对象ID栏手动输入数值来修改ID,由此将2D框和3D框数据手动关联。 图7 修改对象ID
  • 预警系统激活(Warning)检测 预警系统激活用于评价算法是否激活以下五项预警功能: 盲区预警 前方碰撞预警 车道偏离预警 泊车碰撞预警 后方横向车流预警 当算法pb中检测到预警项且状态为STATE_ACTIVE,则视该预警为激活态,否则为非激活态;当预警状态从非激活态转变为激活态,视为激活一次; 有些场景本身不需要激活预警:例如当一个场景中主车未泊车时,不需要激活泊车碰撞预警,此时如果激活预警反而说明主车算法出错;也有一些场景需要特定次数的激活预警:例如当一个场景中主车驾驶过程中会碰到n个盲区,此时必须正好激活n次才能证明主车算法通过;因此我们支持让用户设置各项子指标是否需要预警和期望的预警次数; 默认期望的预警次数为-1,此时只要该预警功能激活至少一次,则评测项通过;当设置期望的预警次数为正数或0时(0代表期望预警功能不被激活),只有当预警功能激活次数和期望预警次数相同时,评测项才通过; 该指标仅对有算法pb的场景有效。当算法pb中未设置预警项,或预警项状态皆为STATE_UNKNOWN时,该指标也视为无效; 该指标关联的内置可视化时间序列数据为:暂无。 该指标的异常时间点记录类型为:POINT_TYPE_ALL。 父主题: 内置评测指标说明
  • 操作步骤 登录华为云首页。 单击页面右上角的“控制台”。 在控制台页面,选择自动驾驶云服务 Octopus 支持的区域。 单击左上角展开服务列表,在搜索栏中输入“八爪鱼自动驾驶云服务 Octopus”。 图1 服务列表中搜索服务名称 单击服务名称进入八爪鱼自动驾驶云服务 Octopus管理控制台。 单击“立即申请”。 图2 公测页面 根据实际情况设置企业规模、研发人员比例、应用场景、业务当前阶段等信息。 用户第二次申请公测时,可以继承上一次申请该产品公测活动所填写的必填项信息。 选中“同意《公测试用服务协议》”。 单击“申请公测”,完成公测申请。 等待运营开通公测权限。单击“前往公测管理”,可以查看已经申请的公测产品或者服务。
  • 文本格式约定 文本对比:支持TXT、JSON文件格式。 图5 文本对比 报告对比:用户自定义评测结果如果需要使用报告对比功能,需满足Octopus格式要求,仅支持JSON文件格式,并且需要满足以下格式要求。 表2 报告对比格式要求 名称 说明 示例 kind 文件标识符,e-res表示评测结果可进行评测对比 e-res spec 评测结果内容JSON格式支持简单指标结果、带类别复杂指标结果、折线图结果 {“accuracy”: 0.21, “fp”: 1.0, “fn”: 1.0} 简单指标结果 { "accuracy": 0.21, "fn": 1.0, "fp": 1.0, } 简单键值对,键表示指标名称,值表示该指标对应的评测结果数值。 带类别复杂指标结果 { "ap": [{"Car": 0.2, "Truck": 0.4}, 0.3], "precision": [{"Car": 0.8, "Truck": 0.7}, 0.75], "recall": [{"Car": 0.8, "Truck": 0.9}, 0.85], } 键值对,键表示指标名称,值为字典或列表。当值为列表时,第一项为各类别对应的该指标评测结果字典,第二项为所有类别的指标均值。当值为字典时,仅包含上述第一项。 折线图类指标结果 { "pr_curve": { "Car": [ [0.0, 0.2, 0.4, 0.6, 0.8, 1.0], [1.0, 1.0, 0.8, 0.8, 0.6, 0.4] ] } } 键值对,键表示指标名称,值为字典或列表。当值为列表时,第一项为各类别对应的该指标评测结果字典,第二项为所有类别的指标均值。当值为字典时,仅包含上述第一项。 以上各种类型可混合使用,参考完整示例如下: { "kind": "e-res", "spec": { "accuracy": 0.21, "fn": 1.0, "fp": 1.0, "ap": [{"Car": 0.2, "Truck": 0.4}, 0.3], "precision": [{"Car": 0.8, "Truck": 0.7}, 0.75], "recall": [{"Car": 0.8, "Truck": 0.9}, 0.85], "pr_curve": { "Car": [ [0.0, 0.2, 0.4, 0.6, 0.8, 1.0], [1.0, 1.0, 0.8, 0.8, 0.6, 0.4] ] } } }
  • 评测对比相关操作 在“评测对比”列表,可对任务进行以下操作。 表1 评测对比相关操作 任务 操作步骤 查找对比任务 在搜索输入框中输入搜索条件,按回车键即可查询。 查看对比任务详情 单击对比任务名称,可在对比任务详情页查看该评测对比详情、报告对比、任务日志。 评测对比详情:任务ID、名称、描述、状态等信息。 文本对比:单击“文本对比”,查看或下载评测对比任务对比文本。 报告对比:单击“报告对比”,查看或下载评测对比任务在运行过程中生成的报告。 任务日志:单击“任务日志”,查看或下载评测对比任务在运行过程中生成的所有日志。 删除对比任务 单击操作栏的“删除”,删除单个对比任务。 勾选多个任务,单击列表上方的“删除”,可批量删除对比任务。 创建新任务 单击操作栏内的“创建新任务”,输入新对比任务名称(以“任务组名-自定义名称”的形式),同时可重新选择需要修改的参数。 停止任务 单击对比任务后的“停止”,停止评测对比任务。
  • 预审核任务相关操作 在“预审核任务”列表,还可以进行以下操作。 表1 预审核任务相关操作 任务 操作步骤 查询预审核任务 在搜索输入框中输入搜索条件,按回车键即可查询任务。 查看模型 单击模型名称,界面跳转至模型详情,可查看模型。 查看任务报告 单击操作栏中的“报告”,可查看或下载任务报告。 查看任务日志 单击操作栏中的“日志”,可查看或下载日志详情。 删除任务 选择单个任务,单击操作栏的“删除”,删除单个任务。 勾选多个任务,单击列表上方的“批量删除”,可批量删除任务。
  • 作业输入输出规范 用户完成自定义Rosbag转opendata算子创建,运行作业容器时Octopus平台向其中注入以下环境变量: rosbag_path: 作为数据源的rosbag存放路径,例如/tmp/data/20220620.bag yaml_path: 启动数据收集任务的yaml文件路径,例如/tmp/Octopus_data_collections.yaml output_dir: rosbag数据包作业运行结果输出目录,例如/tmp/output tmp_dir: 供用户存储作业临时文件的目录,例如/tmp/workspace 用户的作业容器需要解析rosbag,并将转换结果输出到output目录,结果示例如下: 每个传感器提取的数据保存在单独的文件夹,其中camera和lidar传感器提取的样本文件必须以时间戳命名。任务结束标志文件,_SUCEESS或_FAILURE分别代表任务成功或失败。opendata_to_platform.yaml文件以yaml格式记录该opendata数据包的元数据,格式如下: sensor_type字段标识传感器类型,可取以下值:camera、lidar、gnss、vehicle、ego_tf、object_array_vision、traffic_light_matched、tag_record、planning_trajectory、predicted_objects、control、routing_path、localization_visualization。具体定义参考数据包格式。 示例opendata_to_platform.yaml文件内容如下: 父主题: Rosbag转opendata作业
  • 换道(Lane Change)检测 换道检测的目的是判断主车在换道过程中的换道持续时间以及换道时的侧向加速度是否合理。 换道是指当主车所在的road id保持不变, 在某一时刻,其lane id发生变化, 在该时刻的前后一段时间内主车处于换道过程。 对于判定换道时的侧向加速度是否合理, 本设计考虑换道时刻的前后2s的时间段内的侧向加速度是否太大, 对于侧向加速度大于一定阈值(可用户自定义,本设计取2m/s2), 则换道时的侧向加速度检测不通过。 对于判断换道持续时间是否合理, 本设计以主车相对车道中心线的偏离横摆角作为换道开始和结束的判定标记, 在换道时刻之前的第一个偏离横摆角小于0.03rad的时间点为换道开始点, 在换道时刻之后第一个偏离横摆角小于0.03rad的时间点为换道结束点。 换道开始点到换道结束点的时间长度作为换道持续时间, 当换道持续时间小于某一阈值(可用户自定义,本设计取1.5s)时, 或换道时间大于某一阈值(可用户自定义,本设计取6s)时, 换道持续时间检测不通过。 该指标关联的内置可视化时间序列数据为:暂无。 该指标的异常时间点记录类型为:POINT_TYPE_POINT。 父主题: 内置评测指标说明
共100000条