使用百度 EasyDL 实现电动车进电梯自动预警

项目说明 业务背景 近年来,电动车进楼入户发生火灾的事故屡见不鲜,针对该问题,社区物业已明令禁止电动车入户,但是依然有住户忽视这个问题的严重性。

业务难点 由于小区电梯多,人工监控很难及时发现电瓶车入户违规,最终造成严重的人员伤亡事故。 同时,电梯的最初设计是给人上下楼使用,电动车进入乘用电梯会增加电梯承载负担,撞击电梯后,会加速电梯的损坏和出现故障率,所以大部分社区物业也会明令禁止自行车进电梯。

解决思路 通过EasyDL物体检测任务可最快在15分钟内训练出一个高精度的电动车进电梯智能检测模型,通过AI应用有效地预防此类问题,在电动车进入电梯的时候就可以采取报警,及时通知安保人员进行干预,从源头上减少此类事件的发生。

数据准备 数据采集并导入 由于AI应用场景是电梯间视频监控,智能发现电动车进电梯违规事件,所以需采集电梯间摄像头拍摄的真实场景数据。

提示:由于电梯场景内物体多,遮挡情况常有发生,要保证准确率,需考虑不同角度、不同物体个数、不同遮挡比例的多样数据采集。例如,可以在电梯间内顶部架设1个摄像头,进电梯后用于俯拍;另一个一个架设在电梯间外对应顶部角度,用于进电梯间前预警。如此,可通过多路摄像头、多角度保证结果精准。

由于摄像头采集更多为视频数据,而应用于模型训练的为图片数据集,建议采用EasyDL摄像头采集本地软件完成视频数据采集、抽帧、并将抽帧后的违规图片直接发送到云端数据集。

除通过EasyDL摄像头采集本地软件直接将数据发送到云端外,还可通过本地上传或将数据保存至百度bos或网盘后通过分享链接上传。

数据标注 由于需训练一个目标检测模型,检测出图片中包含的电瓶车,所以标注时需选择目标检测模版进行标注,标注时注意所有图片中出现的目标物体都需要被框出(框可以重叠),检测框应包含整个物体,且尽可能不要包含多余的背景。如下图:

标注示例如下:

模型训练 第一步,选择物体检测任务类型,点击创建模型,根据实际业务自定义命名。

第二步,您可以根据应用诉求,选择公有云、本地服务器、边缘小型设备等多种部署方式,详情参见:https://ai.baidu.com/ai-doc/EASYDL/dk38n33k4。

第三步,选择算法时,可以根据实际场景中对精度和性能的偏重,选择高精度或高性能算法。

提示:如果在数据采集时,采集到较多目标主体物被遮挡情况,在发起训练时,可以选择对应的数据增强算子,在训练配置页勾选对应的数据增强策略,可通过增强该部分的数据特征,提高模型在目标主体物遮挡情况下的识别效果。

模型部署 通常,电动车的预警对实时性要求较高,且摄像头部署位置相对集中(如同一个小区的监控),建议使用服务器部署方式,可通过离线下载sdk手工部署或使用端云协同功能直接将部署包下发到边缘设备中。后者,适用于多个摄像头部署的场景,可以实现服务快速下发、更新,如下图:

该方案的优势包括两个: 第一,在可视化界面轻松实现模型部署包在边缘设备上的集成、版本更新。第二,断网状态下模型离线计算。

您也可以选择发布为在线API的方式,以http接口的形式调用服务,可以实现在线的预测。

效果优化 训练一次无法得到良好的模型效果是常见业务问题,您可以通过以下方式持续优化您的模型效果: 第一,通过查看模型评估报告,发现识别错例或难例的分布特征,并针对性的扩充对应场景的数据集,如在本案例中发现识别错误的case更多集中在电梯间人员较多,目标物体遮挡严重的场景,您可以采集更多此场景的数据,或利用数据增强随机遮挡的方式扩充数据集。 第二,如果您选择发布为在线服务,您可以使用数据回流功能,可以采集更多真实场景数据,该部分数据为符合您设定的badcase,是模型优化的关键数据。如下图:

常见问题: 问题1:我该采集多少数据? 在数据采集数量上,一是要保证每个标签的数据量不低于50,理论上标签量越多,模型效果更好;二是尽量保证各个标签的数据量不要差异太大,也就是要具有一定的均衡性。

问题2:真实场景中违规事件不经常发生,如何采集更多违规数据? 为方便更快获取丰富多样的违规场景数据,可添加开源数据集(需保证开源数据集与真实场景匹配),或在真实场景中人工模拟多种违规类型数据。

问题3:电动车进电梯检测模型部署完成后需进行视频抽帧后才可调用模型获取预测结果,有没有简单开发量较少的方式? 推荐使用IEC智能边缘控制台,通过IEC,可以方便地在本地进行EasyDL SDK的部署,可视化接入本地和远程摄像头,详情参见:https://ai.baidu.com/ai-doc/EASYDL/Gktuwc59w。

经验分享 程序员 微信小程序 职场和发展