57行价值八千万美元的车牌识别代码

简介: 为了防止被窃车辆进入黑市销售,警方使用了一个名为VicRoads的基于网络的服务,该服务用于检查车辆的登记状态。该警局还投资研发了一个固定式汽车牌照扫描器:一个固定的三脚架摄像头,可扫描过往的车辆,并自动识别被窃车辆。

1.jpeg

维多利亚警察局是澳大利亚维多利亚州的主要执法机构。在过去一年里,维多利亚州共有超过1.6万辆车被盗,价值约为1.7亿美元。目前警方正在试验各种技术方案,以打击汽车盗窃行为。

为了防止被窃车辆进入黑市销售,警方使用了一个名为VicRoads的基于网络的服务,该服务用于检查车辆的登记状态。该警局还投资研发了一个固定式汽车牌照扫描器:一个固定的三脚架摄像头,可扫描过往的车辆,并自动识别被窃车辆。

不要问我为什么,但有一天下午,我突然想设计一个车载式汽车牌照扫描器,如果车辆被盗或未登记,它会自动通知你。同时,我还想了解要组成这样一个扫描器需要哪些独立的组件,将这些组件结合在一起有多困难。

但是,经过一番谷歌搜索之后,我发现维多利亚警察局最近已经在试用类似的装置,推广使用的话估计费用在8600万美元左右。一位敏锐的评论员指出,配置220辆车的总成本是8600万美元,相当于每辆车390,909美元

当然,我们可以做得比这更好。

2.png

现有的固定式汽车牌照识别系统

成功的标准

在开始之前,我将简要介绍一下产品设计的几个关键要求。

图像处理必须在本地执行

将视频流传送到中央处理仓库进行处理似乎是解决这个问题最低效的方法。因为除了巨额的数据流量账单以外,你还会将网络延迟引入到这个可能已经相当缓慢的过程当中。

虽然集中式机器学习算法会随着时间的推移而变得越来越准确,但我还是想看一下本地的设备实现是否“足够好”。

必须支持低质量的图像

由于我没有树莓派相机或USB摄像头,所以我将使用dashcam镜头。它是现成的,而且是样本数据的理想来源。有一个额外的好处,dashcam视频质量代表了你对车载摄像机预期的整体质量。

需要使用开源技术构建

依靠专有软件意味着每次你要求修改或改进时,都会感到麻烦。而使用开源技术则不需要担心这个。

解决方案

从整体上来说,我的解决方案是从Dashcam视频中获取图像,通过安装在本地设备上的开源车牌识别系统将数据发送出去,查询注册检查服务,然后接收返回的结果并显示出来。

返回到执法车辆的数据包括:车辆的样式和型号(验证车牌是否被盗)、登记状态,以及如果车辆被盗时的通知。

如果这听起来很简单的话,那是因为它真的很简单。例如,图像处理可以由openalpr库来处理。这就是识别车牌字符的全部内容:

openalpr.IdentifyLicense(imagePath, function (error, output) {
   
   // handle result
});

小小的附加说明

VicRoads API不支持公开访问,因此车牌检查是通过网络抓取来实现的。

这就是我的概念证明示例:

// Open form and submit enquire for `rego`
function getInfo(rego) {
   
    horseman
      .userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0')
      .open(url)
      .type('#registration-number-ctrl input[type=text]', rego)
      .click('.btn-holder input')
      .waitForSelector('.ctrl-holder.ctrl-readonly')
      .html()
      .then(function(body) {
   
          console.log(processInfo(body, rego));
        return horseman.close();
      });
}

// Scrape the results for key info
function processInfo(html, rego) {
   
    var $ = cheerio.load(html);
    var vehicle = $('label.label').filter(function() {
   
      return $(this).text().trim() === 'Vehicle:';
    }).next().text().trim();

    var stolen = $('label.label').filter(function() {
   
      return $(this).text().trim() === 'Stolen status:';
    }).next().text().trim();

    var registration = $('label.label').filter(function() {
   
      return $(this).text().trim() === 'Registration status & expiry date:';
    }).next().text().trim();

    return {
   
        rego,
        vehicle,
        stolen,
        registration
    };
}

结果

我必须要说,我感到非常惊讶。

我原来预计开源的车牌识别会相当垃圾。而且图像识别算法可能并没有针对澳大利亚的牌照进行优化。

该解决方案能够在宽阔的视野中识别车牌。

3.jpeg
添加注释的效果。尽管存在光线反射和镜头失真,但车牌号还是识别出来了。

虽然该解决方案偶尔会有特定字母出现问题。

4.jpeg
车牌号码识别错误,误将M识别为H

但是…… 该解决方案最终还是把车牌识别出来了。

5.jpeg
几帧过后,M被正确识别出来了,并具有更高的置信度

你可以从上面两个图像看出,在处理了几帧图像之后,置信度从87%提升到了91%多。

我有信心可以通过提高采样率来提高识别的准确率,然后按置信度排序。或者,在校验注册的号码之前只接受置信度大于90%的识别结果。

这些是非常直接的代码方面的修复,并且不妨碍使用本地数据集训练车牌识别软件。

8600万美元的问题

说句公道话,我完全不知道8600万美元这个数字包括些什么东西,也不能说没有本地化训练的开源工具的准确性能与BlueNet系统相提并论。

我估计这一预算中有一部分包括了替换几个遗留的数据库和软件应用程序,以支持高频率低延迟的车牌查询服务。

另一方面,每辆车的成本约为39万美元,似乎相当昂贵,特别是如果BlueNet不是特别准确,并且没有大型IT项目淘汰或相关系统升级的话。

未来的应用程序

虽然这很容易陷入奥维尔性质的“永远在线”的牌照扒窃网络,但这种技术也有很多积极的应用。想象一下,对一辆被劫持的车辆扫描乘客的被动系统,可以自动上报当局和家人目前的位置和方向。

特斯拉的车辆已经配备了摄像机和传感器,能够接收OTA更新。 Uber和Lyft司机也可以通过配备这些设备来大幅增加覆盖的区域。

使用开源技术和现有的组件,似乎有可能提供一个提供更高响应率的解决方案,并且投资额远低于8600万美元。

文章原标题《How I replicated an $86 million project in 57 lines of code》,作者:Tait Brown,译者:夏天,审校:主题曲。

文章为简译,更为详细的内容,请查看原文

相关文章
|
Unix 数据处理 区块链
量化对冲搬砖套利开发详情丨量化对冲搬砖套利系统开发(成熟及案例)丨量化对冲搬砖套利源码功能
  App是一个互联网应用程序。与传统App最大的区别在于DApp运行在去中心化的网络上,即区块链网络。网络中没有可以完全控制DApp的中心化节点。而App,众所周知,是中心化的。需要请求服务器来获取数据、处理数据等。
|
存储 机器人
科技可以让葡萄酒更好喝?细数业内葡萄酒科技
科技可以让葡萄酒更好喝?细数业内葡萄酒科技
186 0
科技可以让葡萄酒更好喝?细数业内葡萄酒科技
|
人工智能 机器人 数据挖掘
银河水滴“机智过人”的步态识别技术会成为生物识别的新蓝海吗?
热爱刑侦反恐剧的你,一定看过美剧《疑犯追踪/Person of Interest》。在剧中,AI技术“天才”Harold Finch开发了一套能够预测恐怖袭击的人工智能系统,名为“TheMachine”。
银河水滴“机智过人”的步态识别技术会成为生物识别的新蓝海吗?
|
机器学习/深度学习 人工智能 算法
揭秘美图影像实验室:数据、算法和一件关于美的事
自成立以来,美图影像实验室的研究成果几乎改变了美图软件、硬件中所有功能。一键美颜、实时美妆,或是时下相当流行的美图秀秀手绘功能,都有这个实验室的功劳。
430 0
揭秘美图影像实验室:数据、算法和一件关于美的事
|
物联网 云计算
雾霾治理搭上阿里云快车的高效解决方案
既要金山银山,又要青山绿水,是我们目前发展的理念。怎么更快的让我们再次拥有更多的蓝天白云,我作为一个环保从业者以及对阿里云的一些了解谈一下自己的想法。
356 0
雾霾治理搭上阿里云快车的高效解决方案
|
数据采集 搜索推荐 大数据
联手友盟+打造数据融合“样板间”, 好兔视频成功逆势突围
好兔视频选择牵手友盟+,深度融合行业应用大数据,建立设备质量分层等数据应用模型,帮助处于初创期的好兔视频解决数据应用、拉新、留存等运营难题,实现发展突围。
547 0
联手友盟+打造数据融合“样板间”, 好兔视频成功逆势突围
哈工大团队世界首创陶瓷3D打印技术:可打印出任何一种陶瓷产品
据报道,纳米结构陶瓷粉体技术由哈尔滨工大材料院王铀教授团队研制,属于世界首创,这项技术可使3D打印机打印出任何一种陶瓷产品,甚至已经消失毁损的珍贵陶瓷艺术品。 王铀团队研制的纳米陶瓷涂层材料比Metco常规结构的陶瓷涂层有着高出1倍的韧性、4-8倍的耐磨性、1-2倍的结合强度和抗热震性能、10倍的疲劳性能、较高的抗腐蚀能力和优异的可加工性能,且具有生产时间短、成本低、环境友好,可在许多应用领域替代对环境有害的电镀硬铬层等优点。
1576 0
|
新零售 供应链
瓜脸识别神器让标签看得见,看ET农业大脑是如何将生鲜品牌化?
2018云栖大会上海峰会ET农业大脑专场,天猫生鲜旗舰店总经理冷海晶带来以“阿里ET农业大脑-赋能商家+农户,让基础坚如磐石”为题的演讲。本文首先讲了生鲜行业发展的现状,其次讲了天猫是怎样助力原产业的,最后介绍了一款吃瓜神器让吃瓜群众秒变专家。
2406 0