林 军,刘 悦,王泉东,游 俊,丁 驰,刘 任
(中车株洲电力机车研究所有限公司,湖南 株洲 412001)
2021年国家颁布的“十四五”规划[1]中明确指出,发展算法推理训练场景、推动通用化和行业性人工智能开放平台的建设具有重要意义。在深度学习、边缘计算及云边协同等诸多关键技术的突破和推动下,人工智能(artificial intelligence,AI)作为当代最具代表性的使能技术,受到各行各业的欢迎。现阶段,AI应用仍然以公共安全、交通、金融及教育等成熟的专业性领域为主,其他行业对AI技术的应用需求虽然广泛存在,但由于场景的多样性和需求的高分散性,使得AI技术的渗透相对较浅。技术与场景不能有效结合成为智能化落地的壁垒。
过去几年,在互联网科技、AI以及智能安防等领域,以华为[2]、百度[3-4]和海康威视[5]等为代表的公司陆续推出了AI开放平台。这些平台均以“普惠AI”、降低AI应用门槛为核心理念,功能上大同小异,但不同的平台在不同环节都有针对性的核心技术来解决相应的问题。基于公有云的AI平台建设通常以攫取商业利益为驱动,具有“重云弱边”、按功能付费的特点;而云计算过度依赖网络环境,难以保证用户的隐私安全和实时性要求,因此这种模式无法满足轨道交通多样的应用需求以及行业数据保密性要求[6]。
随着智能化技术的飞速发展,传统产业的智能化升级已成为轨道交通行业的核心诉求。然而轨道交通的应用通常具有多需求、小批量的特征。以图像识别为例,列车自动驾驶[7]、人机交互[8]、钢轨伤损检测[9]、公里标识别[10]、制造场所人员安防、车辆检修服务机器人及弓网状态检测[11-12]等典型场景涉及车辆、工务、安防、车站及供变电等多领域且种类繁多的产品,通用人工智能技术显然无法满足个性化的应用需求。此外,轨道交通业务数据量不足、保密性高、样本数据不均衡、缺乏AI模型设计集成与部署能力、上下游资源整合慢及终端计算能力弱等因素严重制约了轨道交通智能化产品的快速工程化落地。针对该问题,本文从数据服务、模型算法服务和应用服务等维度建设关键能力,封装共性技术,提供零门槛、一站式、云边一体化的AI应用开放平台。该平台的开发包括:在车载端规划高端智能硬件计算平台;以深度学习算法与模型加速为研发核心,构建平台算法库;在云端从模型训练、设备管理、应用开发和数据管理等多个维度提供面向车载产品的一站式智能化服务,满足轨道交通领域实际生产场景中的自主创新或迭代AI应用需求。
轨道交通AI平台通过构建云边一体化的全流程解决方案,为图像、语音等AI应用赋能,其组成结构如图1所示,包括云端软件、边缘端软件和云边协同软件3大部分。
图1 AI应用开放平台框架Fig.1 Open platform framework of AI application
云端软件被构建在基于GPU的训练服务器集群上。云端基础设施子系统和云端管理子系统提供基本的容器化云资源服务。数据标注管理子系统、模型训练子系统和应用生成子系统组成AI开发者工具链。AI应用市场和AI云端服务进行应用的管理部署。
边缘端软件运行于智能化边缘硬件设备,通过边缘计算子系统实现高效的智能化推理。
云边协同软件通过云边协同子系统进行关联和通信,实现AI数据搜集的云端化、模型从训练到部署的一体化以及边缘设备管理的智能化。
为了实现系统的可维护性,保证系统各组件特别是云端工具组件在各自的版本更新和维护的时候依然保持良好的相互配合,在系统底层架构设计中采用了“K8S容器编排工具+微服务治理”的解决方案。容器编排工具可基于容器化运行,实现服务发现与调度、负载均衡等功能,其应用部署和运维更加方便。子系统软件更新采用蓝绿部署、滚动部署、灰度发布和金丝雀发布等微服务治理手段,最大限度地降低因软件版本更新而带来的风险和维护成本。
在云边一体的架构基础上,轨道交通AI应用平台形成了5大核心优势。
如图1所示,云端基础设施系统主要为物理服务器之上的云基础平台及存储平台服务,是AI应用开放平台化的基础子系统,具有良好的可拓展性。云端管理系统则更进一步构建以应用为中心的多租户容器平台,为AI应用开放平台的业务子系统提供基本支撑。云端软件涉及的其他子系统均通过其提供的容器化机制进行隔离和即插即用的部署。该架构的优势在于能实现有组织的资产管理。首先,通过云基础设施的搭建实现AI数据搜集的云端化,从而对数据资产进行统一管控。同时,如图2所示,以项目或主体为单位,加以角色和权限控制,保证各自的数据安全。在实际的硬件设备资产管理方面,通过云端基础设施建设,实现GPU集群算力的统一管理,提供AI模型训练所需要的超大算力;通过云边协同,统一协管边缘设备,实现设备资产的弹性扩容。通过数据和设备的资产化和组织化,有效保证了AI平台应用主体和用户的利益。
图2 资产的统一管理Fig.2 Unified asset management
图1中的数据标注管理子系统、模型训练子系统和应用生成子系统共同构成了AI开发工具链(图3)。
如图3所示,数据标注管理子系统覆盖多种数据类型的标注业务,如图像、语音、点云及文本等,支持用户通过网页进行在线多人数据标注与在线审核,可通过半自动辅助标注有效降低人力需求,提升标注效率,缩短项目落地周期。轨道交通业务具有数据保密性强、数据种类不均衡和有效数据罕见的特点,需要进行长期的业务数据积累和标注。基于云平台的数据标注管理子系统可以集中管理和积累业务数据,满足轨道交通领域对数据的要求。针对轨道交通自动驾驶、工务检测等特殊场景,数据标注模块支持多传感器数据的融合采集展示,且该子系统具备针对场景困难样本的清洗和挖掘算法,模块功能深度契合轨道交通场景,使用户体验满意度远超通用数据标注平台的。
图3 AI开发工具链Fig.3 AI development tool chain
模型训练子系统覆盖了深度学习的算法开发、训练、评估和部署的全链工具,其作用是将模型训练过程工具化和可视化,将深度学习主流算法、框架、调试参数、数据增强和压缩量化剪枝算法封装成可视化工具并提供给用户使用。该子系统具备模型管理、训练、验证和部署等能力,并支持各种算法、深度学习及数据运算处理的框架、预置模型及对算法组合的操作等。针对深度学习模型在嵌入式系统部署的性能问题,一方面提供压缩量化剪枝工具,使用户可自由裁剪网络,在保证深度学习网络为轻量级的同时不降低精度;另一方面提供迁移学习和模型转换工具,以确保模型均可在边缘端实现硬件加速。模型训练子系统通过把复杂的训练和模型转化机制工具化、可视化,使得不具备AI模型开发经验的轨道交通用户也可以获得实际可落地的生产算法模型。
应用生成子系统可实现应用代码编译以及应用镜像打包,作为从模型训练到应用部署的中间环节,其方便管理者能够针对不同的应用场景进行管理,也可管理不同的边缘设备。在应用生成子系统的帮助下,AI工具链可实现多模块的联动闭环。训练出来的模型既可被提交到AI市场,部署至云端或者边缘端;也可被反馈到数据标注管理系统,辅助人工进行相关场景的半自动标注。
AI平台可对外提供标准化的智能算法和应用。下面将从AI市场、算法集市以及深度学习框架3个维度进行说明。
2.3.1 AI市场
如图4所示,AI市场提供统一的应用入口,通过AI工具链生成的应用程序可以上架AI市场,用户可以直接部署标准化应用,实现业务需求。AI市场支持在云环境中开发和部署应用程序,可对应用进行全生命周期管理,提供应用打包上传、应用审核、测试部署、应用发布、应用的版本控制、应用升级、扩容、应用更新和应用下架等功能,提供一站式应用管理并简化交付过程,从而减少运维人员的工作量并降低出错率。该系统类似于苹果手机中的App Store插件,训练的深度学习模型可上架成应用插件,通过云边部署子系统安装到边缘端。
图4 算法及应用市场Fig.4 Algorithm and application market
2.3.2 算法集市
算法集市被集成在模型训练子系统中,以提供主流深度学习算法的标准化实现及更优的性能表现。算法集市包括用于构建主流分类、检测和分割的算法库,用于提供具有不同复杂度的骨干网(如ResNet-18,RestNet-50[13]等)以及不同的调试参数。用户可根据应用需求灵活构建深度学习算法,实现精度指标与速度的均衡。此外,还提供包括几何变换、颜色变换等在内的数据增强算法,实现训练数据的扩增和类别均衡,从而提升模型指标性能。
2.3.3 深度学习框架
通过容器化机制,深度学习框架支撑模块,支持主流的深度学习框架,如TensorFlow,Pytorch,Paddle‐Paddle等。用户可以在标准算法集市之外,选择所偏好的框架,灵活自定义算法,以满足更多定制业务需求。平台预置了大量不同版本的框架镜像,用户通过模型训练模块加载镜像,挂载数据和算法代码,即可开始新的模型训练。通过高效统一的标准化算法并结合灵活的自定义机制,可有效减轻业务落地的压力。
边缘计算子系统运行在车载智能硬件平台上,其重要功能是在边缘设备上构建一套简单易用、性能高效的智能应用引擎。该引擎框架(图5)通过分层、分级,按照物理层、感知层和算法层等来固化常用的共性技术和软件。其优势在于:
图5 边缘推理框架Fig.5 Edge reasoning framework
(1)可兼容各种类型传感器(IP摄像头、GSML摄像头、雷达等);
(2)封装深度学习模型、部署优化技术,可充分压榨硬件性能,轻松实现深度学习与传统算法的高效结合;
(3)特别对视觉应用各个环节进行了系统优化处理,可实现多路视频流的并行推断;
(4)在边缘端构建了可视化的模型管理和数据管理界面,可实现基于边缘端模型的本地化部署。
该边缘计算推理框架是针对轨道交通的专用框架,在物理层、感知层、算法层(模型加速)和应用流处理、通信协议等方面,其设计更加贴合轨道交通工务检测和自动驾驶等场景中的低时延、高吞吐应用需求。而百度、华为等公司的AI云平台只提供通用边缘AI推理框架,主要针对通用CPU平台和安防监控场景,适应性被严重打折。
为充分发挥边缘子系统性能,为轨道交通应用专门定制了一个智能硬件平台,其以Jetson Xavier核心板为依托,搭载了配套定制化底板,并具备以太网、USB、音视频、Wifi、4G扩展及蓝牙等多种接口,以满足视觉、音频等多类型传感器的数据处理需求。用户使用该平台运行深度学习算法,当没有云端服务时,只需要将训练好的模型通过可视化界面导入系统,即可实现高性能的视觉推理应用;当有云端服务时,可通过云端工具,实现云边一键部署。对于应用中的其他逻辑需求,只需要封装成插件,通过积木形式插入应用引擎,即可快速构建高性能的视觉应用。
应用部署是嵌入式应用的共性难题,不同应用对系统的要求和依赖资源库的版本种类需求都不尽相同。将应用部署到指定硬件通常需要经历复杂的调试过程。应用容器化部署是将视觉应用所依赖的资源全部打包进虚拟容器,通过容器将应用一键化部署至边缘设备的一种技术。应用容器化技术的优点在于其提供了一种规范可控的AI应用管理方式,可实现AI应用生成、打包、上架、部署和更新的全生命周期管控,便于对各种架构如X86和ARM设备的边缘端软件的统一管理;同时容器化技术还可实现资源隔离,使边缘平台资源按需分配使用。
云边部署子系统作为云端与边缘端进行交互和连接的通路,用于将容器化应用程序编排功能扩展到端主机,为网络应用程序提供基础架构支持,为云和边缘之间的部署和云数据提供同步支持。该系统优势在于跨平台(可以支持X86和ARM端侧设备),消耗资源较少,符合云原生的定义。如图6所示,系统可基于网络连接,在云端将上架的模型推送至边缘端进行部署,实现云端对边缘节点的实时监控、在线管理与边缘端异常状态告警和统计报表功能;基于网络连接,将边缘节点的推理结果、图像数据、语音数据、雷达点云数据和审计日志等数据及时上传至云端。
图6 云边交互子系统Fig.6 Cloud edge interactive subsystem
从应用的角度,云边交互子系统让AI应用的开发形成了闭环。在初始数据输入的情况下,通过AI工具链训练模型,并将训练后的模型下发到边缘设备。边缘设备执行相关应用,挖掘难例数据并回传到AI云平台进行增量训练。通过数据回传和模型迭代优化,实现应用开发的飞轮效应,使AI模型检测性能越来越好。
无人驾驶矿用卡车(简称“矿卡”)采用与轨道交通机车相似的传动控制系统、边缘硬件设备和软件系统用于感知、规划、决策和控制,两者的自动驾驶技术具有很多相通之处;而在网络通信方面,矿场的管控要求比轨道交通的更加宽松,因而矿卡无人驾驶是轨道交通AI应用开放平台的最佳落地场景之一。矿卡的车载视觉感知技术采用深度学习目标检测算法,并与激光雷达、毫米波雷达等进行多传感器感知融合,以实现矿场石头、车辆等目标的精准定位、跟踪及识别。其视觉检测流程如图7所示。
图7 矿卡车载视觉检测流程Fig.7 Visual detection of mining truck
矿卡车载边缘端围绕AI平台提供的车载GPU硬件计算平台进行矿卡车载视觉系统设计、选型及安装。视觉采集模块采集矿卡前视数据,一方面将原始数据保存或者回传至AI云平台,用于后续模型训练;另一方面,所采集的数据被送至边缘端的目标检测推理模块,用于检测图像中有效目标信息(位置、类型等),并通过时空同步标定技术与激光雷达点云分割出来的障碍物进行融合跟踪,最终将障碍物检测结果送到决策规划控制模板用于控车。软件实现采用本文提及的AI平台高效边缘推理框架,实现了多摄像头的最优推理性能。
在云端采用AI开发工具链开发基于深度学习的目标检测模型(图8),车载边缘设备回传的数据被上传至AI开放平台,通过数据标注系统进行团队多人协作标注,标注好的数据被推送至模型训练子系统;数据集按照4:1的比例划分为训练集和测试集,其中训练集图像通过马赛克、翻转、平移和亮度变换方法进行数据扩增。
图8 视觉模型开发流程Fig.8 Visual model development process
目标检测算法采用预定义的Yolov5[14]模型。首轮模型采用2 042张人工标注数据进行训练。相关训练参数如下:输入图像分辨率为1 280*720,批处理大小为6;采用Adam算法进行梯度下降训练,300个训练周期后,模型在测试集上的Map[15](平均准确率)指标为0.961。
训练好的Yolov5模型通过TensorRT工具进行量化加速,经应用生成子系统打包成镜像文件被云边部署至边缘端进行推理。矿山实际场景的目标检测效果如图9所示,石头和矿卡等可以通过算法被有效感知并定位。
图9 矿山环境目标检测Fig.9 Object detection in mine scene
利用AI开放平台技术,原本需要3~4个月的无人驾驶矿卡视觉检测工程落地流程工期可缩短至1个月。先进的云边交互技术助力视觉车载检测模型的持续闭环优化,现场数据不断被回传至云平台进行新的模型训练,训练好的模型可以第一时间被部署到车载端进行算法验证,形成良好的飞轮效应。在相同的训练参数配置下,首次模型迭代前后的指标对比如表1所示。在AI平台的推动下,模型在测试集上的Map指标从0.961提升至0.988,具有更好的感知能力。
表1 模型指标Tab.1 Model metrics
智能化产品的快速工程化落地需要数据、算法、应用程序和算力的紧密配合。目前,轨道交通领域业务数据积累有限、终端计算能力薄弱,且缺乏AI专业人才和技术,这些因素严重制约了智能化技术在轨道交通领域的快速发展。轨道交通AI应用开放平台提供了从业务到产品、从数据到模型、端到端、线上化的人工智能应用解决方案。通过AI平台,用户不仅能够使用不同的深度学习框架进行大规模的训练,对数据集和模型进行管理和迭代;同时还可通过API和本地部署等方式接入具体业务场景中。
未来,轨道交通AI开放平台会在数据采集、标注和训练等模块上持续对标龙头企业如Tesla、华为和百度等的新功能和新技术。一方面,以场景业务为目标,开发更多的自动标注算法和高精度预训练模型,从而降低人工标注和模型训练的难度;同时,开发远程协同开发环境,提供图形化算法设计工具,降低开发人员对数据处理和管理、模型训练和部署等繁琐的代码操作需求,从而提高算法开发效率并缩短产品的迭代周期。另一方面,从用户体验和业务需求出发,打造和完善轨道交通AI开放平台功能,使之更好地满足轨道交通领域多场景业务的自主创新或迭代优化的应用需求,更好地指导并赋能轨道交通智能化产品的应用落地。