铁路客运站必不可少的自动扶梯是旅客乘降的重要工具,具有客流量大、负荷满和运行时间长的特点。同时,自动扶梯的安全事关旅客生命安全与铁路企业声誉。媒体关注度高、社会影响大,是客运站安全管理的重点和难点。其中,行人摔倒、出入口拥挤、婴儿车违规上自动扶梯是最常见也最棘手的三类安全隐患。
现阶段,大部分客运站自动扶梯的安全管理以“人盯”的方式为主,由专门工作人员在旅客乘降的关键时间进行提醒和看护,以防止意外事故的发生,这大大消耗了车站的人力。因此,有必要通过信息化、智能化的手段,从客运站自动扶梯安全隐患分析、安全监控系统需求设计,及安全监控系统功能设计等方面,对铁路客运站自动扶梯的安全进行管控。
从防止事故发生开始做起
近年来基于深度学习的机器视觉技术飞速发展,其广泛的使用场景、高效的运行效率和精准的识别率,得到了越来越多的关注。而行为识别作为近年计算机视觉领域的研究热点,为认识和理解人类运动和行为提供了一些新的方法,也为智能化监控乘客搭乘自动扶梯的行为提供了可行的思路。
来自中国铁路南宁局集团有限公司的一支年轻开发团队,在研发经理袁泉的带领下,正在进行铁路客运站自动扶梯智能安全管控关键技术研究。通过人工智能视频检测分析来防止事故的发生,以声光方式提醒搭乘电扶梯的旅客注意安全,从而达到尽最大可能降低伤害与损失的目的。
中国铁路南宁局集团有限公司研发团队合影
具体的操作步骤如下:
在客运站设置摄像头采集自动扶梯周围图像;
在边缘设备上使用机器视觉算法对图像进行检测分析,重点捕捉行人摔倒、出入口拥挤,及婴儿车违规上自动扶梯等三类情况的图像;
在客户端,对报警数据进行显示,同样用户也可以对报警区域进行自定义设置。
这样在保证监控准确性的同时,优化了机器视觉算法效率,节约了设备算力,也保证了系统运行的实时性和流畅性。
图 1 系统设计
在边缘计算设备的选择上,团队选择了联宝 LCFC EA-B310 加固式系统。该系统搭载了 NVIDIA Jetson Xavier NX 核心模块,能以 15W 的低功耗提供高达 21TOPS 的实时推理能力。不仅如此,该设备尺寸小巧,安装灵活,接口丰富, 具备灵活的扩展能力。同时利用本地云技术构建、部署和管理来自 NVIDIA NGC 的预训练 AI 模型。通过 LCFC IOT console 管理平台,充分利用容器化部署带来灵活和无缝的更新,可以全生命周期管理模型,确保快速上市和降低部署成本。
图2 联宝 LCFC EA-B310
利用 AI 技术降低“误报”几率
当前对于人体动作识别最常用的检测方法是基于人体骨骼关键点的方法,其特点是鲁棒性强、泛化性强,而且可以基于时序分析。“自动扶梯人员密度较高,不论是 Top-Down 还是 Down-Top 的人体关键点检测,都容易在人员较多或者相互遮挡的时候,出现关键点检测的混乱,”谈到项目的挑战,袁经理如是说,“另外,关键点检测的算力消耗也较大,在四路视频实时工作的情况下,FPS 较低,也不是很理想。”
经过团队的测试,最终选用的是分类模型,这样的模型能够捕捉到摔倒的人体和正常的人体特征上的区别。目前在自动扶梯出入口常见的摔倒姿势都能被准确捕捉,比如蹲下、坐下、躺下及趴下等。
“虽然使用分类模型能较为准确地判断摔倒,但是我们还是希望获得特定对象的跟踪 ID,以获得一些时序上的信息,目的就在于避免误报!”袁经理表示:“一个目标如果连续若干帧出现异常,我们才真正认为异常已经发生。这是避免误报的一种手段。”
团队最终选择在联宝 LCFC EA-B310 上使用 NVIDIA DeepStream 处理自动扶梯出入口处布置的四个摄像头读取的行人数据。通常情况下需要定制开发的软件来处理相机数据,不过通过 DeepStream 内置功能的优势,以及搭配 NVIDIA Jetson 产品,这个过程几乎没有摩擦。只需要配置好参数,就可以利用 DeepStream 内置的跟踪插件 Gst-nvtracker,方便快捷地获得特定对象的跟踪 ID。同时,利用 DeepStream 提供的 Gst-nvdsanalytics 插件,可以轻松对 ROI 区域进行智能分析 。在正常的情况下,四路摄像头可达到 15fps。
“实时性选择跳帧处理后可以达到 25fps,”袁泉说:“我们对这个结果还是十分满意的!”
为了防止系统崩溃或者车站断电之后现场人员手足无措,团队还特意设置了重启功能,可以让边缘计算设备开机,自动运行安全监控系统。
软件和 AI 模型的更新通常需要数周时间完成,但是研发团队使用 NVIDIA 平台显著加快了开发时间,确保了开发和部署流程的快速性,更重要的是,能够在现场环境中测试软件,确保准确性和 FPS 符合解决方案的要求。
对 NVIDIA Jetson 开发者们的建议
袁经理表示:“NVIDIA Jetson 设备提供了强大的计算能力,但如果代码没有充分利用设备的功能,可能会导致性能瓶颈。因此,建议开发者们学习优化代码的一些技巧,以实现更好的性能。这包括使用 GPU 加速、减少数据传输和内存使用、使用并行计算等技术。此外,在进行商业化部署的时候,需要实施错误处理和故障排除机制,以确保应用程序的可靠性和稳定性。”
全部0条评论
快来发表一下你的评论吧 !