智能边缘BIE

    概述

    本文将概述在交通领域遇到的一个实际的渣土车抛洒的案例,描述遇到的痛点,以及基于百度智能边缘给出的边缘AI解决方案。

    场景描述

    渣土车在城市运输过程中,存在抛洒滴漏的情况,对城市环境造成很大污染。如下图所示,滴漏的渣土会导致飞尘影响空气质量,还需要环卫工人上路清扫。

    eda9be3227363d740e85b7305.jpg

    有些严重的渣土抛洒滴漏问题,还会产生交通安全事故。如下图所示,南京出现了首例因渣土抛洒导致交通事故,货车司机被公诉的案例。

    pic2.png

    渣土抛洒是城市环卫管理的一个典型难题,主要体现在以下几个方面:

    • 渣土抛洒发现不及时,大多数情况需要等到路过的群众举报才得以知道具体地点出现了渣土抛洒。
    • 城市道路众多,无法通过实时监视所有道路的方式去发现渣土抛洒问题。
    • 渣土运输车辆多,无法通过云端实时分析车辆上传的道路视频去发现渣土抛洒问题,云端计算处理的视频数据量过于庞大,成本也很高。

    最佳的方式是让车辆自身主动发现、主动报告渣土抛洒问题。这是一个典型的边缘计算视频AI的场景,通过边缘视频AI,可以快速发现、定位抛洒问题,并协同城市管理单位进行及时处理。


    解决方案

    整体解决方案架构如下图所示:

    demo.png

    该方案主要包含以下几大流程:

    process2.png

    对于每个流程的说明如下:

    1. 模型训练

      • 通过AI模型训练平台生成 渣土抛洒识别模型
    2. 边缘环境搭建

      • 在渣土车尾部安装视频摄像头
      • 在渣土车上安装边缘设备AI-BOX,并与车尾摄像头连接。AI-BOX可以使用百度AI市场上的EdgeBoard边缘AI计算盒
    3. 边缘设备接入BIE

    4. 云端配置边缘应用模块,各模块即主要作用如下:

      • video-infer

        • 接入视频摄像头数据,并对视频进行抽帧处理,将视频处理转换为对图像的处理
        • 使用渣土抛洒模型对图像执行AI推断,并通过grpc接口调用function-manger模块,由其负责调用后处理函数function-python36-opencv执行AI推断结果的后处理操作。
        • 基于后处理函数返回的结果决定是否保存图像,是否发送消息。例如当后处理函数返回消息表明存在渣土抛洒时,将保存抽帧图像到本地,并发送渣土抛洒消息到Hub模块
      • function-manger

        • 开放grpc接口,用于被video-infer模块调用
        • 管理function-python36-opencv函数
      • function-python36-opencv

        • AI推断结果后处理函数,负责对AI推断的结果进行额外的后处理操作,例如针对物体识别的AI推断结果,只有当得分(Score)大于0.6分时,才需要保存抽帧图像,并发送消息到hub模块。当得分小于0.6分时,丢弃抽帧图像,不执行其他任何操作
        • 同时负责将将后处理的决策返回给video-infer模块,并由该模块负责执行。
      • hub

        • 接收video-infer的推断结果消息
      • remote-mqtt

        • hub模块当中的抛洒消息上报至云端物联网平台,云端业务系统基于此消息做出相应的Action
      • remote-object

        • 将抛洒抽帧图像上报至云端对象存储,作为AI模型训练平台的输入,以此来不断优化AI模型
    5. 配置下发

      • 在云端配置好应用模块以后,将整体配置发布为一个正式版本,然后将整个正式版本下发至边缘设备,可以参考 下发应用配置
    6. 执行物体检测

      • 对应上述video-inferfunction-mangerfunction-python36-opencv模块的工作
    7. 上报结果

      • 对应上述remote-mqttremote-object模块的工作

    说明:针对第4步当中应用的完整配置指南,请参考 操作指南

    一篇
    BIE与EasyEdge集成
    一篇
    操作指南