一、背景
近年来随着需求和业务量的高速增长,货运安全面临的挑战愈发严峻。这其中货箱载人、违禁品运输、危险驾驶、车内冲突等安全隐患是事故频发的诱因。
这些安全事件一旦发生事故,后果不堪设想。不仅会给当事人造成人员伤亡和经济损失,而且会给公司带来巨大的监管压力,对公司的社会声誉也会有不小的负面影响。
由于货运平台受限于运输需求撮合的业务形态,业务发生场景分散、复杂,对货运过程中运输物品的识别能力有限,因而传统安全监管手段对互联网货运场景无法做到及时发现和干预,行前、行中监管能力缺失,导致货运平台只能通过事后处置来降低事发后果和影响。
AI技术的不断发展、成熟,赋予了货运平台高效、实时的监测方式和干预渠道,尤其是货运订单行前、行中环节。利用AI技术,货运平台可以对货运订单的风险全程监控、识别、干预和治理,从而将事故消除在萌芽状态,这已经成为未来安全防控与治理的高效可靠手段。
二、解决方案介绍
下面介绍一种货运安全防控与治理整体解决方案,具体框架如下:
上医治未病,是货运安全防控与治理的原则。因此,需要在事故发生前识别出运输前、运输中安全隐患。
当平台识别到行前、行中的安全隐患后,迅速妥善进行事件处置,力争将安全事故消灭于萌芽前。对于不同风险等级的隐患,平台将分别采取订单取消、IVR外呼、TTS语音等手段进行干预提醒。对在平台发生过高风险隐患的司机、用户,可以有针对性的管控措施,同时会进行相关类目的专项安全教育。
通过整体提升货运平台对运输货物识别能力,加强运输过程监控,以此加强司机、用户群体的运输安全意识,减少此类安全事故发生。
1、行前识别
货箱载人、运输违禁品/危险品等属于运输物品不合规的常见高危场景,其中大部分用户、司机群体出于对交通运输规范和货物类别的认识不清,并无主观意愿刻意规避平台监控。此类安全问题通过多维度AI技术可在运输开始前、甚至订单撮合前被拦截识别,从而大大降低事故发生率。
用户下单阶段,利用NLP智能算法提取订单备注等文本内容,同时利用CV智能算法扫描用户上传货物图片,识别存在运输高风险货物需求的订单并进行干预。
若订单信息中并无高风险货物信息,则订单进入司机接单阶段。此时司机与用户通过IM、电话进行需求沟通,隐私号录音及IM聊天内容通常包含运输货物信息。利用ASR技术转录,结合NLP智能算法可以识别出运输高风险货物需求的订单并进行干预。
根据平台要求,司机装货完成时需要上传装货图,利用CV智能算法可以识别货箱中是否包含各类风险货物,并进行干预。
2、行中识别
运输过程中的安全隐患主要分人和物品,场景分别发生于货箱区域和驾驶室。通过识别此阶段的各种潜在安全隐患,平台可以及时有效地提醒司机和乘客。
3、干预
平台识别出安全风险订单后,会结合不同风险等级进行干预。对于高风险违禁品订单有人工介入进行复核确认,如核实无误则同时致电司机与用户,并引导司机进行无责取消订单。对于其他安全隐患,可通过IVR外呼、TTS语音、实时预警等手段进行提醒,必要时与警方联动。
4、治理
平台将针对被拦截的下单用户、接单司机定向推送专项运输安全教育培训。同时根据累计下单被拦截次数、安全风险等级采取不同惩罚、封号措施。
5、算法
利用深度学习图像技术,通过CNN卷积提取图像及视频帧特征图,结合空间attention利用多分支网络结构定位待识别目标区域和类别。利用ASR技术对语音进行文本转录,结合深度学习文本分类和NER技术识别风险订单。
通过算法识别的相关回流数据,并结合线上人工审核结果打标,不断扩充数据集,持续迭代算法模型效果,从而完成数据、标注、模型训练闭环操作。
下一章我们将以“装货完成阶段”的“装货图识别算法”为例,来介绍我们在货运安全防控领域的尝试与思考。
三、相关图像算法举例
1、问题与挑战
业务上,图像算法需要从司机拍摄的装货完成图中识别出是否为高风险订单,例如货箱载人、运输易燃易爆物品等十几种以上违规类别。这在技术上具有不小的挑战:
(1) 数据呈现长尾分布。风险订单占全量订单的比例极小,有的甚至不足0.1%。
(2) 装货图场景极其复杂。识别目标遮挡严重,且位置、角度、尺寸不一。
(3) 目标类内距离大、类间距离小。目标样式多变,且相似物体干扰严重。
(4) 司机不按要求拍照。具体有:低质量、非装货图、车外目标干扰等。
针对这些问题我们做了很多工作和尝试,部分效果如下:
1.1、货箱载人
货箱内人体具有形态多样、尺寸差异大、肢体遮挡严重、人群过于密集等特点,很容易漏检。同时包装箱表面广告人体、车外人体干扰很容易造成货箱载人误检测。
目前算法可以保证各类货箱人体的召回,同时过滤绝大部分“广告人体”、“车外透过车窗的人体”和“部分装货中人体”干扰图。
1.2、燃气瓶
气瓶气罐同货箱载人类似,容易受遮挡、角度等原因影响,从而导致漏检。同时容易同圆柱体、圆形物体等相似物干扰。目前算法可以在保证召回的前提下,大大降低误报。
接下来本文将针对部分技术难点做详细介绍。
2、长尾问题
现实场景中算法模型面临的数据分布往往并不均衡,不同类别之间的数据量差距可达2、3个量级甚至更大。而我们知道深度模型在训练时需要大量的数据,类别间数据量分布的极度不均会给模型训练带来麻烦。
围绕长尾问题常用的解决方法主要有:
(1) Re-sampling和Re-weighting。根据训练集不同类别的数量占比,对数量多的类进行欠采样或loss低权重、数量少的类进行过采样或loss高权重。
(2) Data augmentation。增加小样本类别的合成数量。
(3) Decoupled training method。两阶段训练,先进行表征学习,再finetune分类头。
(4) End-to-end训练,在表征学习和分类头finetune之间寻找平衡。如:BBN、Equalization loss等。
BBN结构
实践中,我们借鉴了上述多种方案,其中Re-sampling和Re-weighting表现一般,其他方案均有不错的表现。
此外长尾问题的评估也是一个问题。常规的Accuracy无法准确衡量模型对尾部类的预测效果,precision和recall显然更加合适。然而recall相同时,数据越不均衡,precision越低。AP和AUC是不错的评估指标,它们结合了recall、precision和FPR。我们实际衡量模型效果时会综合考虑AUC、AP、precision、recall等指标。
3、小样本
有监督模型训练需要大量高质量标注样本,如果全部人工标注,会带来标注人力成本高、标注周期长的问题。实践中我们主要采取了模型预标注+self-training的方式,具体步骤如下:
(1) 我们首先利用人工标注一批高质量数据,并训练teacher模型。
(2) 利用初始模型预测未标注数据,人工基于预标注的数据进行调整标签,加快标注速度。
(3) 采用self-training方式,利用teacher模型生成大量伪标签,并保留高置信度标签数据。同时结合步骤1、2中的有标签数据一起训练,得到student模型。
(4) 选择表现优秀的student模型替换初始的teacher模型,重复步骤1~3。
4、细粒度
从AlexNet模型问世以来,深度学习在图像分类任务中发展迅速。对于类间距离大的数据集,通常深度模型都会有不错的表现。而面对下图这种类间距离小、类内距离大的数据集,方案则相对复杂一些。
上述问题称为Fine-grained Image Classification,解决方法通常有以下几类:
在装货图任务中因为很难定义不同类之间共同的局部区域,我们最终选择利用attention技术和metric learning技术来区分相似物体,相对于通用分类方法,AUC可以提升5~8个点。
5、多级过滤
有时候待识别图片并不符合业务规范,甚至图片中的背景区域也对算法识别结果造成干扰。例如:图片模糊过曝、未上传装货图、车厢外违禁品干扰等。解决方案也比较常规,利用多级过滤,逐步过滤掉不符合要求、干扰的图片和局部信息。过滤流程如下:
四、总结
互联网货运领域因其业务场景特殊性,导致货运安全面临巨大挑战。在过去几年里,我们利用AI技术在货运安全方面做出了不错的成绩,团队在技术上也有了一定的积累。
然而货运安全防控场景复杂,对图像、文本、语音等相关AI算法有很高的要求,因此,AI算法能力仍然有很大的提升空间。未来我们将继续探索和优化,为搭建全面稳健的智能安全防控体系而努力。