华为云HiLens端云协同AI开发平台对接使用完全指南
一、华为HiLens平台概览
华为HiLens是华为云推出的一款端云协同AI应用开发与运行管理平台。它对接了高性能的开发与推理框架ModelBox,提供云上管理平台、丰富的技能市场和开发者工具与插件,帮助用户高效开发AI应用,并将其部署到多种端侧计算设备上运行和在线管理。
HiLens平台面向三类用户群体:普通用户(使用HiLens Kit设备提升场景智能监控能力)、AI应用开发者(在云侧开发技能并部署至端侧)以及软硬件厂商(通过产品管理流程将AI能力集成到自有设备中)。无论您属于哪一类角色,HiLens都提供了完整的端到端工具链支撑。
从功能架构来看,华为HiLens包括云侧管理平台、端侧设备管理以及开发者工具与插件三大板块。云侧平台提供统一的技能开发框架,封装基础组件,简化开发流程,提供统一的API接口,支持多种深度学习开发框架。端侧目前支持HiLens Kit、Atlas 500、Atlas 800、IVS 3800、Windows设备、通用ARM设备、通用x86设备以及RK系列等多种硬件平台。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
二、对接前的准备工作
2.1 账号准备与实名认证
在使用华为HiLens之前,您需要申请华为云账号并进行实名认证。通过此账号,您可以使用所有华为云服务,并且只需为您所使用的服务付费。需要注意的是,注册HiLens Kit所使用的账号名必须是华为云账号,而不是普通的华为账号。如果您还没有华为云账号,需要先完成注册并开通华为云服务。
由于华为HiLens服务依赖其他云服务,还需要在开始使用前获得相关服务的权限,主要包括ModelArts(AI开发平台)、OBS(对象存储服务)和SWR(容器镜像服务)。
2.2 权限配置与IAM用户管理
如果您需要对华为HiLens进行精细的权限管理,可以使用统一身份认证服务(IAM)。通过IAM,您可以给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证并使用华为HiLens资源。
权限配置的基本流程如下:首先在IAM控制台创建用户组,并授予HiLens CommonOperations权限。如果需要申请公测、设置告警接收和设置技能消息的操作权限,还需要授予SMN Administrator系统角色。然后在IAM控制台创建用户,并将其加入已创建的用户组。最后新创建的用户登录控制台,切换至授权区域验证权限是否生效。
2.3 设备选购与硬件准备
华为HiLens支持多种端侧计算设备。其中HiLens Kit是最常用的入门级设备,它是一款集成了AI加速模块的边缘计算盒子,适合家庭、商超、园区、工地等场景下的智能监控应用。如果您的业务需要更高性能,可以选择Atlas 500、Atlas 800等大型设备。
对于设备厂商,华为HiLens还提供了产品管理流程。设备商可以通过华为HiLens管理设备产品、订购技能,然后将设备License绑定至产品设备上,使得厂商使用的芯片设备具备AI能力。这主要面向生产海思35xx系列芯片摄像头的设备商。
三、HiLens Kit设备的连接与注册
3.1 物理连接与网络配置
在注册HiLens Kit至控制台之前,首先需要完成设备的物理连接。具体步骤如下:将DC 12V的电源适配器的端口插入HiLens Kit后面板的电源接口;打开HiLens Kit的电源开关(按住开关键1到2秒放开);将网线的一端连接到设备的管理网口上,另一端连接到PC的以太网口上。
接下来需要设置PC机的IP地址,使PC机能和设备网络互通。具体操作为:在PC的"网络连接"页面找到HiLens Kit对应的网络连接(一般命名为"本地连接"),右键单击选择"属性",双击"Internet 协议版本4(TCP/IPv4)",选择"使用下面的IP地址",输入一个和设备同一个网段的IP地址。设备的初始IP地址可参考HiLens Kit用户指南中的默认数据。
网络配置需要注意:不能同时使用无线网络和有线网络连接同一个路由器,无线连接会自动删除默认网关,再次使用有线网络时需要重新配置默认网关。
3.2 设备注册方式
华为HiLens支持两种设备注册方式:智能边缘系统注册和SSH注册。
智能边缘系统注册适用于固件版本在2.2.200.011及以上的设备。这种方式操作相对简单,通过HiLens Kit的智能边缘系统界面即可完成注册,默认注册至北京四区域。
SSH注册适用于固件版本较低或需要注册到其他区域的情况。使用SSH注册设备指通过SSH登录HiLens Kit系统,使用Linux命令注册设备。具体操作步骤为:使用SSH远程登录HiLens Kit设备,执行注册命令,按回车后输入密码完成设备注册。注册命令中需要填写IAM用户名、华为云账号名以及自定义的设备名。设备名支持英文字母、数字和下划线,不支持以数字开头的名称。
注册完成后,可登录华为HiLens管理控制台,在"设备管理>设备列表"中查看设备状态。等待约3分钟,如果设备处于在线状态,则说明注册成功。
3.3 设备激活
设备注册成功后,还需要进行激活操作才能正常使用。登录专业版华为HiLens管理控制台,在左侧导航栏选择"设备管理"进入"设备列表"页面。选择"设备状态"处于"运行中"且"激活状态"处于"未激活"的设备,单击激活状态列的"立即激活",进入设备激活页面完成激活。激活操作需要购买端云协同AI运行服务。
四、技能开发全流程
技能是HiLens平台的核心概念,它包含了AI模型、逻辑代码以及运行配置,是部署到端侧设备上执行的具体AI应用。技能开发的完整流程包括:模型准备与导入、逻辑代码编写、技能创建、调试与部署。
4.1 模型准备与导入
开发技能首先需要AI模型。您可以在ModelArts中训练模型,也可以导入用户线下开发的自定义模型。华为HiLens支持多种深度学习开发框架,包括TensorFlow、Caffe等。
模型导入的入口在华为HiLens管理控制台的"技能开发>模型管理"页面。如果您使用的是在ModelArts上训练的模型,可以一键导入华为HiLens。对于线下训练的模型,需要按照华为HiLens的模型输入目录规范和模型输出目录规范进行转换。
模型转换是一个关键环节。由于端侧设备的芯片架构和推理框架可能与训练环境不同,需要通过HiLens提供的模型转换工具将模型转换为端侧可执行的格式。
4.2 逻辑代码编写
逻辑代码负责处理模型推理的结果,是整个技能的业务逻辑核心。华为HiLens提供了HiLens Framework开发框架,封装了基础组件,提供统一的API接口,大大简化了开发流程。
下面是一个使用HiLens Framework获取摄像头内容并做简单处理的Python代码示例:
#!/usr/bin/python3.7
import hilens
import wave
def run():
# 构造本地音频文件采集器并将解码后数据保存到wav文件
# 获取摄像头数据
camera = hilens.Camera()
frame = camera.read()
if frame is not None:
# 对帧数据进行处理
# 例如:调用模型进行推理
pass
# 技能主循环
while True:
frame = camera.read()
if frame is None:
break
# 处理每一帧数据
# 输出推理结果
hilens.info("Processing frame")
在开发技能时,需要在技能配置中填写代码执行文件。固件1.1.2及以后版本支持配置技能的Python依赖库。
音频输入模块的使用示例如下:
#!/usr/bin/python3.7
import hilens
import wave
def run():
# 构造本地音频文件采集器并将解码后数据保存到wav文件
audio_capture = hilens.AudioCapture()
audio_data = audio_capture.read()
# 处理音频数据
pass
4.3 技能创建
技能创建可以在华为HiLens管理控制台完成。华为HiLens提供了两种新建技能的方式:使用技能模板新建和使用空模板新建。
使用技能模板新建:获取华为HiLens提供的技能模板(已经包含了算法模型和逻辑代码),快速新建技能。这种方式适合初学者或需要快速上线的场景。例如,可以使用"HiLens安全帽检测"技能模板快速开发一个安全帽检测应用。
使用空模板新建:自行开发模型并导入华为HiLens,根据业务诉求编写逻辑代码,然后基于自定义的算法模型和逻辑代码新建技能。这种方式适合有定制化需求的开发者。
在新建技能页面,需要填写基本信息和技能内容,OS平台选择Linux,选择转换好的所需模型,函数执行入口要与代码中名称相对应。将main.py的内容复制在代码编辑区内。
4.4 HiLens Studio开发与调试
HiLens Studio是华为HiLens提供的云端集成开发环境,支持在云侧进行技能的开发、调试和模拟运行。进入路径为:登录华为HiLens管理控制台,在左侧导航栏中选择"技能开发>HiLens Studio"。
在HiLens Studio中,您可以新建技能项目,将技能文件组织起来以便进行编译和调试,最终开发一个新的技能。Studio的调试器允许使用断点、单步调试等功能,与编辑器配合使用。
一个非常实用的功能是使用手机实时视频流调试代码。在HiLens Studio界面右上角单击用户名,选择"接入手机摄像头(Beta)",以手机摄像头实时的视频流作为技能输入,查看技能输出。这大大降低了调试门槛,无需物理设备即可验证技能效果。
调试代码的方式包括:单击HiLens Studio界面上方导航栏的相应按钮选择预置视频流;单击Studio界面左侧的"Debug"区开始调试;或使用快捷键"F5"开始调试。在Studio界面下方的"Debug Console"可以查看代码调试信息。代码调试完成后,可运行代码查看技能输出,HDMI技能在运行完技能代码后可在"Video Output"区查看技能输出。
需要特别注意的是,HiLens Studio曾有下线公告。如果您正在使用或计划使用该功能,请务必关注华为云的官方公告,了解最新的服务状态和替代方案。
4.5 技能部署
技能开发完成后,需要部署到端侧设备上运行。在专业版HiLens管理控制台注册设备后,可将技能部署到设备上。当前华为HiLens支持两种格式的技能:技能包和容器镜像。
部署操作在控制台的"部署工程"中完成。创建部署工程后,可以添加作业、查看部署信息、升级部署或删除部署。技能部署到设备后,可以在设备管理页面对设备下所安装的技能进行管理,包括查看、启动、停止和卸载技能。
五、API对接与SDK使用
5.1 REST API调用
华为HiLens服务以开放API的方式提供给用户,您可以根据API文档使用服务。华为HiLens服务提供了REST风格API,支持您通过HTTPS请求调用。完整的API列表请参见API概览。
调用API时需要注意约束与限制,详细的限制请参见具体API的说明。API调用需要先获取认证令牌,然后在请求头中携带认证信息。
5.2 Python SDK示例
华为云提供了HiLens服务端SDK,您可以直接集成服务端SDK来调用HiLens服务的相关API,从而实现对HiLens服务的快速操作。
下面是一个通过Python版SDK获取设备告警列表的示例:
# 华为云HiLens Python SDK 示例 - 获取设备告警列表
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhilens.v1.region.hilens_region import HiLensRegion
from huaweicloudsdkhilens.v1.hilens_client import HiLensClient
from huaweicloudsdkhilens.v1 import ListAlarmsRequest
# 配置认证信息
ak = "your_access_key"
sk = "your_secret_key"
credentials = BasicCredentials(ak, sk)
# 创建客户端
client = HiLensClient.new_builder() \
.with_credentials(credentials) \
.with_region(HiLensRegion.CN_NORTH_4) \
.build()
# 构建请求
request = ListAlarmsRequest()
request.node_id = "your_device_id"
# 发送请求并获取响应
response = client.list_alarms(request)
print(response)
上述代码展示了如何使用华为云HiLens的Python SDK进行API调用。实际使用中,您需要替换为自己的Access Key、Secret Key和设备ID。
六、ModelBox开发框架对接
华为HiLens对接了高性能的开发与推理框架ModelBox。ModelBox是一个端云协同的AI应用开发框架,提供了丰富的功能单元和流程图编排能力。
开发者可以通过ModelBox SDK进行推理和预处理优化。如果模型的瓶颈转移到预处理环节,可以通过ModelBox对AI应用的处理流程进行优化。ModelBox支持通过功能单元开发接口开发自定义功能单元。
ModelBox SDK的获取方式:在专业版HiLens控制台,单击左侧导航栏"技能开发>工具/插件",进入ModelBox SDK下载页面。单击对应平台(如Windows)的ModelBox SDK卡片进行下载。下载后解压到指定路径(注意路径中不能有中文和空格)即可开始开发。
ModelBox技能的开发运行需要Python 3.8.10环境。开发者可以选择基于ModelBox框架进行推理阶段的代码开发,完成后可以打包为RPM包或镜像,通过HiLens平台将算法在线部署到已注册的设备上运行。
七、设备管理与运维
7.1 设备日常管理
设备注册后可在设备管理处进行管理,包括查看设备信息、注销设备,以及一键升级设备的固件版本等。管理控制台还支持查看设备日志、配置摄像头、查看设备告警、一键健康检查等功能。
专业版HiLens还支持创建轻量级集群,提供负载均衡能力,实现资源利用及调度最优化。在大型设备端侧管理固件中提供本地管理接口,支持用户在线部署技能后,在本地通过接口进行基础设备和技能管理。
7.2 运维与日志
华为HiLens支持云上远程查询及下载端侧设备及技能日志,云上大容量存储,高上行接入带宽,支持数据追加写,数据全生命周期管理,便于事后回溯。专业版支持消息队列机制,在设备离线时可进行操作并进入事件队列,在设备上线时可自动执行事件。
八、技能市场与生态
华为HiLens提供了丰富的技能市场。用户可自行挑选并订购所需技能,一键安装到端侧即可运行各种AI技能。开发者可自定义开发技能并发布到AI Gallery分享给他人部署。
技能市场中包含多种预置商用技能,如人脸检测技能、多区域客流分析技能、车牌识别技能、安全帽检测技能、人脸客流统计技能、车型车标技能等。这些技能可以直接购买使用,大大降低了AI应用的开发门槛。
针对海思35xx系列芯片的设备,由于芯片内存和性能偏低,需要对模型进行优化后才能运行,对应的技能开发难度较大,如遇到困难可联系华为HiLens平台工作人员支撑。
九、对接使用总结与最佳实践
华为HiLens端云协同AI开发平台的对接使用可以概括为以下几个关键步骤:
第一,完成账号准备与权限配置。申请华为云账号并实名认证,配置IAM权限确保有HiLens的操作权限。
第二,完成设备注册与激活。根据设备类型和固件版本选择合适的注册方式(智能边缘系统注册或SSH注册),完成设备激活。
第三,进行技能开发。在ModelArts中训练模型或导入自定义模型,使用HiLens Framework编写逻辑代码,通过HiLens Studio或控制台创建技能。
第四,部署与运维。将技能部署到端侧设备,通过控制台管理设备、查看日志、监控运行状态。
在实际使用中,建议开发者充分利用HiLens Studio的调试能力,在云侧完成充分的测试后再部署到物理设备。对于模型转换问题,需要注意端侧固件版本与模型格式的兼容性。此外,建议开发者关注华为云官方的服务公告,及时了解HiLens Studio等功能的更新与变化。
常见问题解答
问:华为HiLens支持哪些端侧设备?
答:华为HiLens支持HiLens Kit、Atlas 500、Atlas 800、IVS 3800、Windows设备、通用ARM设备、通用x86设备以及RK系列等多种硬件平台。
问:如何将ModelArts上训练的模型导入HiLens?
答:在ModelArts上训练的模型可以一键导入华为HiLens。具体操作是在华为HiLens管理控制台的"技能开发>模型管理"页面进行导入。
问:HiLens Studio支持哪些调试方式?
答:HiLens Studio支持断点调试、单步调试、使用手机摄像头实时视频流调试、使用预置视频流调试等多种方式。
问:技能部署到设备后如何查看运行效果?
答:可以通过华为HiLens管理控制台的设备管理页面查看设备数据以及技能的运行效果。也可以在HiLens Studio的"Video Output"区查看技能输出。
问:华为HiLens如何收费?
答:华为HiLens的计费包括设备购买费用、端云协同平台服务费用以及技能购买费用等。具体计费详情请参考华为云官网的计费说明。
问:HiLens Kit注册失败怎么办?
答:如果注册失败,可以尝试将设备恢复出厂设置后重新注册。同时需要确认网络连接正常、账号信息正确、固件版本符合要求。



