科技行者报道
来源 :freeCodeCamp
编译:科技行者
维多利亚警察局是澳大利亚维多利亚州的主要执法机构。在过去一年里,州内共有1.6万多辆车被盗,涉案费用约1.7亿美元,对此维多利亚警方十分头疼,开始尝试技术手段去抓偷车贼。
为防止被盗汽车被进一步欺诈性销售,维州公路局先是启用了一项网络服务,以检查车辆注册状况,接着又打算投资研发一套汽车牌照扫描仪——基于计算机视觉识别系统、可扫描过往车辆、自动识别被盗汽车的固定三脚架摄像机。
然而整套装置价格高昂,约8600万美元。有业内评论员分析,要想将这个成本共计8600万美元的系统配置在220辆车上,相当于每辆车支出390909美元。
警方的举措引起了网友Tait Brown的注意。Tait是一名开发者和设计师,他觉得维州警局的做法太浪费钱,于是突发奇想,准备用开源技术动手做一个车牌扫描仪模型,如果车辆被盗或未被注册,它就会自动通知车主。
搭一个车牌扫描仪,分三步
在开始之前,Tait简单列出了车牌扫描仪产品的三个关键点。
它必须在本地完成图像处理
将直播视频流传给中央处理器,似乎是解决问题最差的方法了。因为这除了会产生昂贵的数据流量费,还会加剧网络延迟问题。
尽管,集中式的机器学习算法很有效,因为系统会随着深度学习的过程而变得更精确,但Tait更想知道,如果在本地设备实现这一功能是否就已经“足够好”。
它必须能够处理低质量的图像
由于Tait手头没有Raspberry Pi(树莓派,微型电脑)摄像头或USB网络摄像头,所以他就用现成的Dashcam镜头替代——一个随时可用的样本数据来源,Dashcam镜头还有一个好处,它的视频成像效果,与车载摄像头所拍摄的视频质量差不多。
它必须使用开源技术来搭建
如果依赖于一个专有软件打造设备,意味着后续每一次请求都将付费。相比之下,开源技术省钱是毋庸置疑的。
整个解决方案很简单
产品设计好了以后,就可以操作了。Tait的解决方案是,从Dashcam视频中获取图像,然后通过一个本地安装在车牌扫描仪设备上的开源车牌识别系统抓取图像,来查询汽车的注册检查服务,并显示结果。
传输到安装在执法车辆的设备数据包括:汽车出厂型号(只有汽车被盗时才会核实)、注册状态以及车辆被盗时的通知报告。
听起来是不是很简单。例如,图像处理都可以交由openalpr库处理。这涉及到识别车牌上的字符:
PS:公共访问维州公路局的API接口是不可用的,因此Tait从官方网络下载数据,来进行车牌识别测试。
以下是他测试的过程:
但结果出乎意料的准确
测试结果让Tait感到惊喜。他此前还担心用开源系统识别车牌的效果会不理想,并且图像识别算法很可能并未针对澳大利亚车牌进行优化。
然而最终的解决方案却能够在宽广的视野中识别车牌。
图:反光和摄像头失真也不影响车牌识别
不过难以避免的,解决方案有时候也会出错。
图:读数不正确,误将M识别为H
但是,解决方案最终还是会纠正错误,给出正确反馈。
如以上两张图所示,图像处理的置信度评分从原来的87%上升到了91%以上。
这让Tait确信,通过提高采样率可以提高准确率,然后按最高置信度进行排序。或者,也可以调整阈值,设置成仅在置信度大于90%的情况下才接受汽车牌照号的验证。
这些都是很直接的代码优先解决方案(code-first),并且不排除使用本地数据集,来训练车牌识别软件。
关于8600万美元的问题
做完了以上试验之后,Tait完全想不明白为什么要花费8600万美元,也没觉得,经过本地化训练的开源工具比BlueNet系统(第三方技术服务)的准确性低。
Tait预计,这笔预算其中一部分还包括:对几个遗留数据库和软件应用程序的更新,以支持每秒对每辆车进行高频率、低延迟的车牌查询。
另一方面,如果每辆车的识别成本在39.1万美元左右,确实挺贵,尤其是如果BlueNet系统的识别结果并非特别准确,而且没有大规模的IT项目停产或升级相关系统的情况下,根本花不了那么多钱。
试想一下,未来这种车牌识别系统可以有很多应用场景。譬如,系统自动扫描绑匪之后,自动报警并告知家属绑匪当前的位置和方向,那该有多酷。
如今特斯拉汽车已经配置了摄像头和传感器,能够接收OTA更新,这就相当于目击者。当然,Uber和Lyft司机也可以配备这些设备,来增加安全性。
简而言之,使用开源技术和现有组件,似乎有可能提供一个回报率更高、更省钱的解决方案,投资远远低于8600万美元哦!
联系客服