华为云八爪鱼Octopus自动驾驶云服务对接与使用完全指南
引言:自动驾驶开发的云上利器
自动驾驶技术的研发面临着海量数据存储、模型迭代资源消耗、人工标注成本高昂、工具链孤岛等诸多挑战。华为云推出的八爪鱼自动驾驶云服务Octopus,正是为解决这些痛点而生的的一站式全托管平台。该服务覆盖自动驾驶数据、模型、训练、仿真、标注等全生命周期业务,让用户开箱即用,以实车数据驱动算法迭代模型和仿真评价。
本文将从零开始,系统讲解Octopus的对接与使用方法,涵盖服务开通、数据上传、标注、训练、仿真、API对接等全流程,并提供可运行的代码示例,帮助开发者快速上手。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
一、Octopus服务概述与产品架构
1.1 什么是八爪鱼Octopus
自动驾驶云服务Octopus是面向车企、研究所的全托管平台,在华为云上提供自动驾驶数据云服务、自动驾驶标注云服务、自动驾驶训练云服务、自动驾驶仿真云服务、自动驾驶大模型云服务。所谓'一站式',是指自动驾驶产品开发的各个环节——包含数据资产、数据合规、数据处理、数据标注、增量数据集、模型训练、仿真测试——都可以在Octopus上完成。
从技术底层看,Octopus支持各种异构计算资源,开发者可以根据需要灵活选择,而不需要关心底层技术细节。平台整体由数据资产、数据合规、数据处理、标注服务、训练服务、仿真服务、智驾模型服务、公共配置管理组成。
1.2 核心功能模块
数据服务:以数据为核心,提供数据批导、源数据包、数据处理、数据缓存、数据集管理等功能。支持PB级海量存储,数据结构化处理车载硬件平台上输出的传感器数据。
标注服务:以标注为核心,提供点云和图片的人工标注和预标注。自动化标注功能可节省70%以上的人力成本。
训练服务:以模型为核心,提供软硬件加速模型训练和推理。支持上传自定义算法和自定义模型,提升算法泛化能力和识别率。
仿真服务:以测试为核心,提供车辆动力学仿真、自动驾驶算法仿真、传感器仿真、交通流仿真等功能。提供上千个并行仿真节点,完成日行百万公里虚拟里程。
智驾模型服务:以盘古大模型为核心,支持自动驾驶场景理解、预标注、场景生成和多模态检索。自动驾驶预标注支持2D/2.5D/3D自动标注,准确率超90%。
1.3 产品优势
Octopus具备六大核心优势:全托管开箱即用、支持PB级海量数据存储与亿级秒级检索、软硬件加速满足百万公里仿真测试、自动化标注节省人力、2万多个仿真场景覆盖大部分驾驶路况、天然支持无缝对接MDC等车端硬件平台实现车云协同。
二、服务开通与购买流程
2.1 注册华为云账号
使用Octopus管理控制台,需要先注册华为云。如果您已注册华为云,可在控制台直接搜索'八爪鱼自动驾驶云服务Octopus'登录。
2.2 申请公测与购买服务
登录华为云首页,单击页面右上角的'控制台',在控制台页面选择Octopus支持的区域。Octopus为用户提供了比较优惠的八爪鱼自动驾驶云服务-基础版,让用户可以快速体验Octopus云服务的大部分功能。
购买步骤如下:
- 登录Octopus服务平台,在左侧菜单栏中单击'总览'
- 单击'购买服务'
- 选择需要购买的服务基础版(如'八爪鱼自动驾驶云服务-基础版'),配置购买时长、购买个数、是否自动续费和仿真器类型
- 单击'下一步',购买存储扩容包、通用处理节点和AI处理节点等扩展资源
- 单击'下一步:确认配置',确认配置后勾选服务声明
- 单击'去支付',完成付款
购买服务成功后,在'总览'页面'服务模块'区域查看服务开通状态,卡片区域左上角显示'生效中',右上角显示服务到期时间。
2.3 计费项说明
使用Octopus进行自动驾驶全流程开发时,计费项主要包括云服务费用、扩容资源费用、合规脱敏费用、智驾模型微调费用、模型费用。云服务费用采用包年/包月模式,包含数据服务、标注服务、训练服务、仿真服务、合规服务等基础版。扩容资源费用包括存储扩容包(使用OBS和SFS存储)、通用处理节点(CPU实例)、AI处理节点(GPU和NPU实例)、仿真服务扩容包等。
三、数据服务:数据上传与处理
3.1 数据格式要求
Octopus平台对上传数据有严格的格式要求。上传数据格式支持自定义格式,单包上传大小上限为200GB。平台要求数据包至少需存放在一层文件夹内。用户可将多个数据包存放在同一个一级目录下,作为同一批次采集数据上传。
转换后的数据格式为Octopus OpenData格式。其中相机采集数据文件后缀为'.jpg',激光雷达采集数据文件后缀为'.pcd',其他采集数据文件后缀为'.pb'(谷歌定义的protobuf格式文件)。各文件大小限制为:yaml文件小于10KB,jpg文件小于2MB,pcd文件小于10MB,pb文件小于50MB。
以ROS Bag格式为例,一级目录的结构可根据业务情况自定义数据包名称。未经过OpenData格式转换的数据仅限于作为算子作业的输入,无法在平台进行数据回放。
3.2 数据批导操作
登录Octopus服务管理控制台,在左侧菜单栏中选择'数据服务 > 数据批导'。上传数据前,请确保原始数据包是文件夹格式。
数据批导的核心流程如下:
- 在Octopus平台创建数据导入任务
- 平台返回预签链接(用于直传OBS)
- 用户将文件上传至对应的OBS服务
- 用户通知Octopus平台文件已上传完成
3.3 数据处理与场景挖掘
原始采集数据上传平台处理完毕后,Octopus平台内置场景挖掘算法,可自动提取符合内置场景行为的场景片段。平台提取符合内置场景标签的数据场景,并按采集日期统计不同车辆场景行为,可生成仿真场景,扩充仿真场景库。
场景片段长度在10秒到99秒之间的可以生成仿真场景。生成的场景挖掘片段可进行回放,单击'回放'即可回放该场景片段。
数据结构化方面,平台处理车载硬件平台上输出的传感器数据,详细统计各类传感器信息。数据集治理支持PB级海量存储,提供通用存储、模型仓库,方便集中处理数据以及模型信息。
四、标注服务:从人工标注到自动化预标注
4.1 标注服务概述
Octopus标注服务以标注为核心,平台提供点云和图片的人工标注和预标注。支持数据预标注功能,可节省大量人力成本。路测车每天需标注近百万张图片,自动化标注功能可节省70%以上的人力成本。
4.2 标注项目管理
使用平台管理员或团队管理员账号登录Octopus控制台。在左侧菜单栏中单击'标注服务 > 项目管理',选择'标注项目'页签,单击项目名称,查看该项目包含的可认领或已认领未提交的标注批次任务列表。
标注服务提供团队管理功能,为不同团队分配不同项目。未分配到标注项目的团队不能查看该标注项目信息,保证标注任务的私密性及安全性。
4.3 标注模板与脚本管理
在左侧菜单栏中选择'标注服务 > 标注管理 > 模板管理',单击'创建标注模板',填写标注模板相关信息。模板名称支持中英文、数字、'-'或'_'组成的合法字符串,长度不得超过64字符。
Octopus平台提供标注脚本服务,结合模型管理、标注物管理等,更好地服务于标注任务。创建标注脚本在'标注服务 > 标注管理 > 脚本管理'中完成。
4.4 标注操作流程
以图片标注为例,具体操作步骤如下:
- 使用标注员账号登录Octopus控制台
- 在左侧菜单栏中选择'标注服务 > 项目管理'
- 选择'标注项目'页签,单击项目名称
- 选择'批次任务列表',展开批次任务,单击子任务名称,进入标注子任务详情页面
- 单击具体待标注图片,进入图片详情页,选取特定形状和标签,对图片中物体进行手动标注
Octopus平台支持的数据集格式包括OCTOPUS、Pascal_VOC和自定义标注格式。其中OCTOPUS标注格式的数据集用于创建标注任务,Pascal_VOC和自定义标注格式的数据集用于创建训练任务。
五、训练服务:模型训练与评测
5.1 训练服务架构
训练服务模块上承接数据服务和标注服务两大模块,为自动驾驶研发提供方便易用的模型训练和评测平台,让用户无需过多关注底层资源,聚焦算法和模型开发。用户可上传符合Octopus平台规范的训练算法,使用成熟的算法创建训练任务生成训练模型。
5.2 算法管理
Octopus平台支持上传自定义算法。您可通过上传符合平台规范的算法文件,在线创建训练任务,并生成模型用于自动标注。
添加自定义算法时需要填写三部分内容:
- 算法基本信息(名称、描述等)
- AI引擎(选择框架和版本)
- 算法参数(输入输出配置等)
训练服务平台提供一套远程开发环境,您可在远程开发环境创建自定义引擎,并调试自定义算法。算法成熟后通过插件上传,同时会在'算法管理'模块同步上传保存。
5.3 创建训练任务
创建训练任务的步骤如下:
- 在左侧菜单栏中选择'训练服务 > 训练任务'
- 单击'新建训练任务',填写基本信息
- 名称:任务组名称,包含中英文、数字、'_''-',不得超过64个字符
- 选择训练算法(可使用Octopus内置算法,也可自定义算法)
- 选择训练数据集
- 配置训练参数和资源规格
- 提交训练任务
Octopus训练服务管理训练任务的生命周期,可将多个训练任务分发到多个节点,批量运行训练任务;也可将单个训练任务分发给多个节点共同运行,缩短等待时间。
5.4 模型管理与评测
训练任务经过训练生成训练模型,训练模型支持用户上传符合平台要求的自定义模型。训练服务提供多种模型评测指标,从多维度衡量模型质量。
模型评测流程包括:
- 在左侧菜单栏中单击'训练服务 > 模型评测'
- 选择'评测任务'页签,单击'新建评测任务'
- 填写基本信息,选择模型与数据集
- 执行评测任务,查看评测报告
训练产生的模型版本,一般不可直接被车载芯片识别,需要经过编译工具将模型编译成车载芯片识别的产物。
5.5 训练代码示例
以下是通过Octopus API创建训练任务的Python示例代码:
import requests
import json
# 配置信息
endpoint = 'https://octopus.cn-north-4.myhuaweicloud.com'
project_id = 'your_project_id'
iam_token = 'your_iam_token'
# 创建训练任务
def create_training_task(task_name, algorithm_id, dataset_id):
url = f'{endpoint}/v1.0/{project_id}/training/tasks'
headers = {
'X-Auth-Token': iam_token,
'Content-Type': 'application/json'
}
payload = {
'name': task_name,
'algorithm_id': algorithm_id,
'dataset_id': dataset_id,
'resource_spec': 'GPU: ant0324g24u96g',
'training_config': {
'epochs': 100,
'batch_size': 32,
'learning_rate': 0.001
}
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# 查询训练任务状态
def get_training_status(task_id):
url = f'{endpoint}/v1.0/{project_id}/training/tasks/{task_id}'
headers = {'X-Auth-Token': iam_token}
response = requests.get(url, headers=headers)
return response.json()
# 使用示例
task_result = create_training_task(
task_name='感知模型训练_20260708',
algorithm_id='alg_12345',
dataset_id='ds_67890'
)
print(f'训练任务创建成功: {task_result}')六、仿真服务:场景管理与并行仿真
6.1 仿真服务概述
Octopus仿真服务支持多种功能操作,包括基于OpenSCENARIO等标准格式的仿真场景管理、泛化大量仿真场景、规控算法工程管理、多场景并行高速运行的批量仿真服务。用户可通过仿真服务完成仿真场景创建、仿真评测任务等。
仿真服务包含四大核心能力:
- 车辆动力学仿真
- 自动驾驶算法仿真
- 传感器仿真
- 交通流仿真
6.2 场景管理
场景管理提供所有仿真场景、测试用例和泛化场景的管理功能。用户可上传符合平台规范的自定义场景,也可将场景下载至本地开发。Octopus平台自研场景标签分类体系,从多维度深层次科学分类场景。
场景录入方式包括:
- 页面上传
- 泛化生成
- 在线仿真编辑
支持地图、场景的在线预览。Octopus自研基于真实道路场景仿真功能,用户将录制的路测场景以ROS Bag形式上传到仿真服务'场景管理'模块中保存。
场景管理的操作步骤如下:
- 在左侧菜单栏中单击'仿真服务 > 场景管理'
- 在界面右上角,单击'泛化任务管理',可对需要管理的任务进行上移、置顶等操作
6.3 仿真任务执行
选择仿真算法和仿真场景创建仿真任务。仿真评测从行车安全、驾驶行为、乘员舒适性等角度衡量仿真算法控制效果,支持可视化仿真结果,生成任务报告。
Octopus仿真评测任务基于真实路测场景评测自动驾驶算法控制效果,用户可直接查看控制算法在真实路测场景中的控制效果,加快自动驾驶落地。
平台提供并行仿真能力,能够利用云端资源快速回归仿真场景,提供上千个并行仿真节点,完成日行百万公里虚拟里程。实车测试成本高、危险系数高,并行仿真有效解决了这些问题。
6.4 自定义评测镜像
Octopus仿真服务平台支持自定义评测镜像制作。用户可根据平台规范制作包含特定评测逻辑的容器镜像,用于仿真任务的自动化评测。平台各服务均提供用户自定义镜像功能,对镜像提供了统一管理。
七、API对接与开发者进阶
7.1 API概览
Octopus提供了完整的REST API接口,详细描述了各个接口的功能、参数、使用样例等。API调用需要先获取IAM Token用于鉴权。账号具备所有API的调用权限,如果使用账号下的IAM用户调用API,该IAM用户需具备调用API所需的权限。
主要API分类包括:
- 数据服务API:获取数据包列表、上传数据等
- 标注服务API:创建标注项目、管理标注任务等
- 训练服务API:创建训练任务、查询训练状态等
- 仿真服务API:创建仿真场景、执行仿真任务等
7.2 API调用示例
以下是通过API获取数据包列表的示例:
import requests
def get_data_package_list(project_id, iam_token, offset=0, limit=10):
url = f'https://octopus.cn-north-4.myhuaweicloud.com/v1.0/{project_id}/data/packages'
headers = {
'X-Auth-Token': iam_token,
'Content-Type': 'application/json'
}
params = {
'offset': offset,
'limit': limit
}
response = requests.get(url, headers=headers, params=params)
return response.json()
# 使用示例
packages = get_data_package_list('your_project_id', 'your_iam_token')
print(f'数据包列表: {packages}')7.3 自定义镜像开发
Octopus平台为用户提供了自定义镜像功能,为了方便用户对镜像进行统一管理,平台设置了镜像仓库管理。在创建任务前,需要创建算法,用户可从本地上传容器镜像。
开发环境包含Octopus预置基础模板镜像,可基于模板镜像添加依赖、第三方库等,制作为新的开发环境,在此环境上进行算法的开发与调试。成熟的开发环境可保存为新的镜像,并将其打包制作为自定义引擎,被训练和评估任务调用。
创建开发环境的步骤:
- 单击'训练服务 > 开发环境 > 创建开发环境'
- 填写名称和描述(名称包含中英文、数字、'_''-',不得超过64个字符)
八、权限管理与安全合规
8.1 权限管理体系
Octopus采用精细化的权限管理体系。Octopus FullAccess是Octopus管理员权限,拥有该权限的用户可以操作并使用所有Octopus服务。权限管理通过操作(Action)进行细粒度控制。
典型权限操作包括:
- octopus:trainingTask:operate - 操作训练服务下任务资源
- octopus:annotationPackage - 更新标注项目、标注任务
8.2 数据安全与合规
Octopus平台提供合规脱敏服务。脱敏算子对数据包进行脱敏处理(包括人脸、车牌、GNSS高程),保证用户数据上传的合规性,避免个人隐私泄露,保护用户的数据信息和财产安全。
在数据安全方面,用户需注意:在特定场景中需要同意授权平台收集和使用内容数据,其中可能包括个人信息或敏感信息,用户有义务根据所适用国家的法律制定必要的用户隐私政策并采取足够的措施以确保用户个人数据受到充分的保护。
九、成本优化与实践建议
9.1 成本构成分析
使用Octopus的成本主要包括以下几部分:
- 云服务费用:购买服务基础版的包年/包月费用,包含服务运行所需公共资源
- 扩容资源费用:额外购买的仿真扩展包、增强计算资源和存储扩容资源
- 合规脱敏费用:数据脱敏处理产生的费用
- 智驾模型微调费用:大模型微调服务费用
- 模型费用:使用预置模型或第三方模型费用
9.2 成本优化策略
为有效控制成本,建议采取以下策略:
- 合理选择存储类型:根据数据访问频率选择标准存储、低频存储或归档存储
- 利用内网传输:在华为云同一区域内,使用内网进行数据传输可节省流量费用
- 按需购买扩容资源:根据实际任务需求动态购买计算和存储资源,避免过度预留
- 利用自动化标注:使用预标注功能减少人工标注工作量,节省人力成本
- 合理规划仿真任务:利用并行仿真能力批量执行,提高资源利用率
十、总结与展望
华为云八爪鱼Octopus自动驾驶云服务为自动驾驶研发提供了一站式的全托管解决方案。从数据采集、处理、标注到模型训练、仿真测试,Octopus打通了自动驾驶开发的全链路工具链。平台依托华为自研的昇腾AI算力和盘古大模型,提供了强大的软硬件加速能力和智能化服务。
通过本文的详细讲解,开发者可以快速掌握Octopus的对接与使用方法,从零开始构建自动驾驶数据闭环。无论是数据上传的格式规范、标注服务的操作流程、训练任务的创建执行,还是仿真场景的管理与API对接,Octopus都提供了清晰的产品路径和丰富的开发接口。
随着自动驾驶技术的持续演进,Octopus也在不断迭代升级。2024年10月31日,八爪鱼自动驾驶云服务正式转商用,标志着该服务已具备成熟的企业级生产能力。未来,Octopus将继续深化车云协同能力,拓展更多自动驾驶应用场景,助力车企和开发者加速自动驾驶的商业化落地。
常见问题问答
问1:Octopus支持哪些数据格式?
答:Octopus支持自定义格式数据上传,单包上限200GB。平台标准格式为OpenData格式,其中相机数据为.jpg、激光雷达数据为.pcd、其他传感器数据为.pb(protobuf格式)。也支持ROS Bag格式的路采数据上传。
问2:如何实现数据自动标注?
答:Octopus平台提供预标注功能,支持2D/2.5D/3D自动标注,准确率超90%。用户可在标注服务中配置预标注模型,对乘用车、行人、交通灯等常见物体进行自动标注,大幅减少人工标注工作量。
问3:训练任务可以使用自定义算法吗?
答:可以。Octopus训练服务支持上传自定义算法和自定义模型。用户可通过上传符合平台规范的算法文件,在线创建训练任务。平台还提供远程开发环境,方便用户调试自定义算法。
问4:仿真场景如何创建?
答:仿真场景可通过多种方式创建:页面上传符合OpenSCENARIO等标准格式的场景文件;从路测数据中自动提取场景片段生成仿真场景;通过泛化功能从已有场景生成大量变体场景;使用在线仿真编辑器直接创建。
问5:Octopus如何与车端硬件对接?
答:Octopus天然支持无缝对接MDC(移动数据中心)等车端硬件平台和ADAS系统,实现车云协同。路测车采集的数据可通过车云协同能力直接上传至Octopus平台,形成数据闭环。
问6:Octopus的计费方式是什么?
答:Octopus采用包年/包月为主、按需为辅的计费模式。云服务基础版采用包年/包月计费;扩容资源(存储扩容包、计算节点等)部分采用包年/包月,部分采用按需计费。具体费用根据所选服务模块、资源规格和使用时长计算。



