精准调整的卷积神经网络(CNN)和稳健的结果监控,帮助交通执法部门实现精准执法。
图1:手机和安全带探测(Mobile Phone and Seatbelt Detection)系统对驾驶员图像进行分析,从而判断驾驶员是否系了安全带,或驾驶员是否正在使用手机。
创建这样一套探测设备系统——运行于该设备之上的深度学习系统,能对行驶中的车辆进行探测,并判断驾驶员是否在驾驶中系了安全带或是否在使用手机,并且要求具有不低于90%的判断正确率,这是一项极富挑战性的任务。开发一种能够在各种环境变化中,对行驶在至少三车道、速度达80kmph的车辆进行清晰的图像捕获的系统,难度又进一步增加。
对于道路安全应用AI系统应用开发商Hazen.ai来说,灵活的卷积神经网络(CNN)、稳健的可观测性和监控堆栈技术,再加上与当地执法部门的密切协作,这些都是成功解决这些挑战的关键。
手机和安全带探测(Mobile Phone and Seatbelt Detection,MPaSD)设备,专门为交通执法部门而设计,安装在道路一侧的立柱上或道路上方的路标架上。路标架安装具有较少的遮挡问题,但是成本更高。路边立柱安装在视频分析方面会更具挑战性,但是成本更低,且安装更方便。
Hazen.ai首席技术官Khurram Amin介绍说,Hazen.ai与客户一起为MPaSD探测设备的位置安装和硬件安装提供指导。他指出,MPaSD探测设备安装的最佳位置通常是显而易见的。
当车辆驶入相机的视野中时,MPaSD探测设备捕获驾驶员的图像。运行在设备上的CNN系统对图像进行分析,并确定驾驶员是否违反了规定——没有系安全带或是在方向盘后使用手机。
对是否系了安全带,系统可选择的类别有“是”和“否”两种。对于是否使用了手机,系统则提供了更加复杂的判断结果。依据驾驶员手持手机的位置,CNN能够识别出驾驶员是使用手机通话还是发短信之间的区别。该模型也给出了第三种图像分类“模糊”,表明图像太模糊以致于模型不能确定地给出“是”或“否”的结论。
每幅被分类为违规的图像都存储在内存中,被客户(如执法部门)周期性地发送到后台系统。那些没有违规的图像则被从设备中清除。客户可以对这些图像进行重审,通过车辆的车牌号来识别驾驶员,并向违规者开出罚单。
开发MPaSD探测设备,需要克服三大挑战。第一,MPaSD探测设备需要足够高质量的图像,要可靠地保证复审人员对图像中驾驶员是否系了安全带、或是否在行驶中使用了手机的判断,高度一致。
工程师们对Axis Communications公司的P1375-E网络摄像头、索尼公司采用IMX267的摄像头、Hanwha Techwin公司的XNO-6120R摄像头、Pelco公司的IBP831-1ER枪式摄像头、海康威视的DS-2DE54321W-AE智能球形摄像头进行了一系列测试,最后选择了Axis Communications公司的P1375-E。
Amin表示,之所以选择P1375-E,是因为它在成像质量和价格方面都比较有优势,它正是他们在寻找的、能够推荐给客户的产品。Amin强调,Hazen.ai本质上是一家软件公司,因此他们尽可能多地支持不同种类的摄像头,以供客户自由选择。
设计阶段,他们遇到了第二个挑战:要建立一个不需要经常与网络进行通信的边缘系统。这意味着,这需要确保MPaSD探测设备具有相当的计算能力和数据存储能力。
应对上述挑战,在处理器方面可以有如下两个选项:一是来自NVIDIA公司的嵌入式设备,搭配了ARM处理器和嵌入式GPU,如Xavier NX模组和Jetson TX2;另一种是工业级PC,但至少要配备英特尔i9700K处理器,或是具有8GB DDR4 RAM的更高性能的CPU。Hazen.ai公司推荐使用基于PCIe的英特尔Neural Compute Stick(神经计算棒)来进一步增强工业级PC的性能。
Amin表示,每幅违规图像通常需要5MB的数据存储空间。内部测试表明,捕获的图像中违规的不到1%。如果有10万辆车经过了这套探测设备,那么可能有1000辆车是违规的,仅需要5GB的数据存储量就够了,这个数据量对固态存储器(SSD)来说微不足道。
而且,当设备把数据发送给后台,设备上的数据不再被存储,存储空间的容量被不断释放。专利的API接口允许该探测设备和由执法部门维护的违规处理的任何后台进行交互。
图2:MPaSD探测系统的用户界面,允许客户对系统捕获并判为违规的图像进行重审。
第三项挑战更为严峻,因为MPaSD探测设备运行在边缘。如果违规图像百分比突然上升,或在正常该出现违规图像的时间段内没有出现违规图像,这说明系统出现错误的迹象已经比较清晰了。这些错误在下一次数据传输之前并不会被注意到,然而,这会导致在较长的时间里探测设备无法正常工作。Hazen.ai已经开发出稳健的、内部可观测和监测的堆栈,对该探测设备进行持续监控,当任何这类异常发生时自动生成报警。
Hazen.ai公司在差不多两年的时间里,利用数万幅训练图像,开发了其基础CNN,这也是该探测设备的核心预测模型。Hazen.ai公司与当地执法部门合作,确定了安装摄像头收集图像的最佳位置。一起合作的数据公司,进行了地面情况分类以创建训练数据集,并对内部测试期间CNN识别结果的精确性进行了验证。
像Caffe、TensorFlow和PyTorch等高级深度学习架构,都为CNN设计和训练提供框架结构。依据所使用的硬件,模型可以用C、C++或CUDA语言编写,尽可能多地提升计算能力。此外,还对单个芯片组做了进一步优化。
Hazen.ai还会组织实地测试,从而对CNN系统的判断归类和实际情况进行比较。如果有需要,CNN系统在每一个测试点都会被精细调整,以满足部署的独特条件要求,从而确保CNN系统的识别一致性精度稳定在90%以上。精细调整涉及的对象很具体,如太阳光照射到摄像头的角度、眩光、建筑物投下的阴影,或者连续大雨等常见天气条件,都需要对CNN系统进行精细调整。
Amin介绍说,如果需要,公司可以用大约1000幅违规图像在一到两天的时间内,完成程序训练部署。用于补光或快门速度调节的额外照明,也可以提供优化图像所需要的校正,以得到精准的判断结果。
稳健的监测系统在每个部署地点持续运转:交通执法人员基于CNN图像归类发送罚单。在法律管辖限度内,在发送基于图像的罚单之前,执法人员必须对该探测设备捕获的图像进行复审。误判(误报)为违规的图像会被记录在册,这也为模型的预测精准度提供一个度量标准。
然而漏报的违规更难以发现。只有误报的结果会发送到后台,而其他数据则被清除。目前正在开发的线程将允许执法人员对图像复审,并分配标签,从而生成在特定部署中需要仔细调整模型的图像。
据Amin透露,该探测设备已经在5-10个不同的场所进行了现场测试,并于7月在埃及开始为一个客户进行现场部署。在目前的商业部署中,不系安全带和违规使用手机的识别精准度,分别为95%和92%。
Hazen.ai与客户的每一份合同中,都包含Hazen.ai是否可以使用探测位置所产生的数据的条款。如果客户允许Hazen.ai使用数据,则该站点的模型微调都会并入核心CNN中,从而产生一个更为稳健的基准模型。