移动端AI图像算法在货拉拉业务中的探索与实践
导读
人工智能(AI)技术已经渗透到各行各业,为我们的生活和工作带来了巨大的改变。在这个AI革命的浪潮中,移动端AI正崭露头角,为移动设备带来前所未有的智能化能力。
传统的服务端(云端)AI算法通常需要强大的算力资源和高速的网络连接来支撑,移动端AI算法的出现使得AI可以被部署到传感器、摄像头、智能手机等终端设备上。与传统的服务端AI算法相比,移动端AI算法主要具有以下特点:
实时性:移动端AI算法允许智能决策和处理在设备本地进行,减少了数据传输和云端延迟,从而实现了实时性,特别适用于需要迅速响应的场景;
隐私保护:由于数据处理在设备本地完成,移动端AI算法能够更好地保护用户的隐私,从而避免了将敏感数据传输到云端带来的信息安全风险;
效率提升:移动端AI算法能够减少云端服务器的负载,节省了带宽资源,从而提高了系统整体的运行效率。
货拉拉作为国内领先的在线物流平台,一直在积极探索如何利用移动端AI算法来提升业务效率和安全性。目前,其在业务上的应用主要聚焦于图像数据的智能分析与处理方面。本文将主要介绍移动端AI图像算法在货拉拉的应用实践。
应用案例
证件审核
司机准入证件审核是货拉拉业务的核心环节之一,只有审核通过的司机,才能获准在平台上接单。在过去,证件审核流程通常需要将司机拍摄的证件照片上传至云端进行处理,如果上传照片的拍摄质量较差导致无法进一步识别出证件内容,审核结果会被判定为不合格,整个审核流程将会被打回重新进行,司机需要重复该流程再次上传,从而延长了整体的准入时效。一旦司机上传的证件照片多次被判定不合格而打回,也会对司机的正常准入产生极大的影响。
移动端AI图像算法的引入实现了即时审核,通过在拍摄过程中实时检测证件照片的拍摄质量,提前对不合格照片进行提醒,有效提高了上传证件照的质量通过率,从而带来了证件审核和司机整体准入效率的提升。
车贴抽查
车贴是货拉拉建立品牌认知的重要手段和工具,为了保证车贴正确起到宣传作用、防止司机作弊,平台会定期对司机进行抽查。被抽查到的司机需要上传车辆规定角度的照片,审核人员通过对比上传的照片和签订合同时留存的照片,确定车贴状态是否正常。
我们通过移动端AI图像算法对司机的拍照过程进行实时指导,帮助司机有效拍摄指定角度、包含必要元素的照片,以降低因照片拍摄不规范导致的驳回率。在移动端AI图像算法的帮助下,司机只需使用手机拍照,算法会实时判断车辆拍摄是否规范,提供反馈建议。司机根据提示调整拍照位置,保证照片质量,降低了因反复审核带来的经济损失。
算法方案
货拉拉在移动端AI图像算法方面采用了创新的解决方案,包括深度模型设计、深度学习与传统数字图像处理的结合、模型轻量化、数据流处理、移动端部署等,确保了准确、高效的业务效果。下面将分别对每部分展开介绍。
深度模型设计
在车贴抽查中,我们以目标检测(Object Detection)为主要解决手段。目标检测是计算机视觉领域的一项重要任务。和常见的图像分类任务中只需要判断是否存在目标物体不同,目标检测还需要同时找出图像中所有目标的位置,并用矩形边界框将其标注出来,整体功能如下图所示。目前主流的目标检测方法有YOLO[1](You Only Look Once)、SSD[2](Single Shot MultiBox Detector)和DETR[3](DEtection TRansformer)等。
在货拉拉的车贴抽查业务中,由于对司机拍摄照片的角度有具体要求,因此,除了通过深度模型的目标检测网络关注车辆的类别和位置信息外,还需要进一步识别到车辆的角度信息。基于此需求,我们在SSD目标检测模型的基础上进行改进,引入深度可分离卷积[4],得到轻量级的网络,并重新设计了检测头,只增加少量参数,实现角度信息的输出。针对新增的角度检测,也设计了新的训练方法,兼顾功能与效率。同时,在制作训练数据的过程中,也添加了角度的label。模型结构示意图如下:
模型部署后,直接进行端到端的推理,过程示意图如下:
深度学习与传统数字图像处理的结合
在证件审核场景中,包含对证件类型的识别和完整性评估,以及对证件图像模糊反光等拍摄质量的检测评估,由于涉及到的图像处理任务较多,采用多个深度模型不仅会带来推理速度的延迟,还会对移动端安装包的大小造成压力。基于此,我们采用了深度学习模型和传统数字图像处理相结合的方法,这样,既利用到了深度学习模型的精度,也利用到了传统数字图像处理算法的速度优势。例如,对证件图像模糊的判断,我们首先采用深度学习的目标检测网络检测到上传的证件符合要求,然后将检测结果传给模糊判断算法,通过传统的数字图像处理方法,得出证件图片是否模糊的判断,最后将结果反馈给司机,让其调整拍照动作。
模型轻量化
车贴抽查业务涉及的场景广泛而复杂,涉及到不同的车辆类型,以及不同的光照、地理、天气状态等客观条件,再加上手机硬件条件的限制,对深度模型的泛化能力和性能均有较高的要求。为了同时兼顾模型精度和性能要求,我们采用了知识蒸馏[5](knowledge distillation)的方式对模型进行压缩和轻量化处理。
知识蒸馏是一种在深度神经网络中用于传递知识的技术,其主要目的是将一个复杂的教师模型中包含的知识直接传递给一个简化的学生模型,以达到提高学生模型性能的目的。在知识蒸馏中,教师模型一般是一个有较大的深度和较高的精度的模型,它可以通过在大规模的数据上训练得到。学生模型通常是一个浅层模型,参数量较少,往往难以在大规模数据上训练出较好的性能。通过知识蒸馏,教师模型的知识可以以一种可解释性较强的方式直接传递给学生模型,帮助学生模型更好地学习和泛化。模型训练过程如下图所示:
我们最终在车贴抽查业务中部署的学生模型,以FP32精度的方式进行模型推理,可以满足实时与精度要求。在骁龙865芯片上,latency小于30ms,模型大小仅为357KB。
近年来,随着Transformer[6]在图像领域的发展,在移动端也出现了以ViT[7]为骨干网络的轻量模型,如MobileVit[8]、TinyVit[9]等,可以在具备神经网络推理引擎的设备上实现实时推理,在CPU上也可以在较短的时间内完成推理任务,从而发挥Transformer在移动端对图像和文本理解的优势。我们也在进一步地落地探索中。
数据流处理
为了将单帧推理结果与图片数据流对齐,将算法输出转化为业务功能输出,我们设计了多帧处理算法。在车贴抽查业务中,综合每帧推理结果,实时给出反馈意见,指导司机拍照。流程图如下:
移动端部署
区别于硬件参数统一且固定的服务端部署,移动端设备存在硬件种类多、性能不一等问题,为了保证深度模型的推理性能提升用户体验,我们采用了多端推理的方式,充分利用手机的硬件资源,比如可以在手机设备上切换CPU或GPU进行推理。同时,我们也提供了云端下载接口,可以在用户无感的情况下对算法模型进行更新。
总结展望
本文阐述了货拉拉在当前的业务中,在移动端所进行的一系列AI图像算法的探索与实践。针对证件审核、车贴抽查等业务场景,我们重点介绍了基于移动端特点的AI图像算法的设计、模型压缩、部署及数据处理等内容。除了上文提到的应用案例,在订单合规审核、人脸检测等业务场景,我们也广泛地应用了移动端AI图像算法。当然,目前的业务应用还主要局限于2D图像的分析和理解,我们也在同步探索移动端3D视觉相关技术,特别是移动端AR(Augmented reality )技术。受益于深度学习与端侧算力的发展,AR的功能日益强大、效果也越来越丰富,为移动端AI视觉算法提供了更多的可能性,也为解决行业中的痛点问题车货匹配提供了新的解决思路。目前,我们在这个方向也取得了一定的进展,相信在不久的将来可以呈现给大家。
参考文献
Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//Computer Vision–ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, October 11–14, 2016, Proceedings, Part I 14. Springer International Publishing, 2016: 21-37.
Carion N, Massa F, Synnaeve G, et al. End-to-end object detection with transformers[C]//European conference on computer vision. Cham: Springer International Publishing, 2020: 213-229.
Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.
Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015.
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2010.11929, 2020.
Mehta S, Rastegari M. Mobilevit: light-weight, general-purpose, and mobile-friendly vision transformer[J]. arXiv preprint arXiv:2110.02178, 2021.
Wu K, Zhang J, Peng H, et al. Tinyvit: Fast pretraining distillation for small vision transformers[C]//European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022: 68-85.
作者简介
范文洋,货拉拉技术中心智能运营部资深算法工程师