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

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

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

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

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

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

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

成功的标准

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

图像处理必须在本地执行

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

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

必须支持低质量的图像

由于我没有树莓派相机或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
    };
}

结果

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

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

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


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

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


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

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


几帧过后,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,译者:夏天,审校:主题曲。

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

时间: 2024-09-11 23:49:28

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

微软员工称必应宝蓝底色价值8千万美元

北京时间3月23日凌晨消息,据国外媒体报道,深蓝与浅蓝有何不同?微软必应(Bing)用户体验经理保罗·瑞(Paul Ray)给出的答案是8000万美元. 保罗·瑞上周在出席微软开发者大会时透露,必应改版前的搜索引擎Live Search采用的浅蓝底色看上去"缺少一点自信",而现在采用的宝蓝色"至少价值8000万美元".他表示,与浅蓝底色相比,宝蓝色更能激起用户的参与热情,刺激他们点击更多链接,并为公司带来更多收入.(肖恩)

戴姆勒被指在22国行贿千万美元中石化牵涉其中

戴姆勒公司曾承认,确实有"不恰当支出"的存在,起诉文件显示其行贿国家达22个.人民图片网 涉嫌行贿中国政府官员417万欧元 美国政府1.85亿美元罚款了事 全球汽车巨头再次成为关注焦点.继之前丰田"召回门"后,德国汽车制造商戴姆勒(Daimler)栽进了"行贿门". 昨日,美国政府指控戴姆勒公司在1998年至2008年间向包括中国在内的22个国家的政府官员行贿数千万美元,从而换回了价值数亿美元的合同. 美国政府调查6年 据外媒报道,戴姆勒公司及其

代码-在命令行下输入*程序为什么不能正确识别

问题描述 在命令行下输入*程序为什么不能正确识别 代码的功能:函数接受3个参数两个数字一个四则运算符,输出计算结果,列如输入3 + 5 输出3+5=15:函数加减除都能运算,为何输入* ( 乘)时程序不能正确识别,求各位大神解答: 代码如下 ![主函数!(http://img.ask.csdn.net/upload/201504/01/1427890049_29127.png)` ` ` 解决方案 是不是多输入了一个空格? 解决方案二: 关键在于你输入是怎么接收方式,从截图也就能看出来乘法和其他

派瑞威行完成首轮融资八千万

新浪科技讯 10月26日下午消息,国内电子商务营销服务商北京派瑞威行广告有限公司宣布完成第一轮融资,融资金额近八千万元人民币.投资方为好望角启航基金,九鼎投资.天堂硅谷和上市公司宋城股份旗下七弦投资. 派瑞威行创始人褚明理说:"本次融资后,派瑞威行将加大投资吸引行业内外优秀的人才,提高客户服务能力.一方面会帮助互联网媒体持续的提升价值,另一方面公司希望能够和电商客户一起成长,提供更有效地营销解决方案."(艾橙)

【私募通周报】随手记B轮融资数千万美元 1.2亿用户的金融价值何在?

本周天气晴并伴着徐徐的微风,截止到本周五下午,投资.上市和并购共42起事件,涉及总金额28.56亿美元.本周总体涉及金额较大,是因为在9月1日,TCL集团通过增资的方式受让深圳市华星光电技术有限公司34.17%股权,作价60.00亿元人民币.华星光电的股东西藏山南星涟创业投资管理合伙企业(有限合伙)为TCL集团股份有限公司的关联方,TCL集团股份有限公司董事薄连明先生持有该有限合伙企业 64.68%的财产份额.因此本次交易构成关联交易. 9月1日,随手记宣布完成数千万美元的B轮融资,本轮投资由复

Yo创始人:天才白痴一线之隔,公司估值1千万美元

听到别人称自己的产品"愚蠢"."白痴",极简通信应用Yo的联合创办人俄·阿贝尔(Or Abel)很淡定,他听得多了.他笑着告诉腾讯科技,这还不算最糟.最尖刻的评论,"还有人说,以色列科技界多年建立起的名誉,就全毁在Yo的手上!" 当然,俄·阿贝尔并不认为自己这个只能向朋友发出"Yo"的应用,足以摧毁整个以色列科技界多年的努力,"有时候天才与白痴只有一线之隔,"他说. 联合创办人莫沙·霍吉(Moshe Hog

汉理资本富达投资千万美元联投婚宴网到喜啦

汉理资本旗下的汉理前景基金日前在上海宣布,联手美国最大的资产财富管理公司富达国际风险创投公司完成对上海到喜啦信息科技有限公司(下称"到喜啦")的投资,涉额近千万美元.据悉,到喜啦是国内垂直婚宴网上预订第一网,总部设在上海,在北京.天津.南京.杭州.广州.大连等14个城市均开设有分公司.数据显示,婚庆市场这份蛋糕价值上万亿元,地域性.传统性较强.到喜啦董事长李文坦言,正是瞄准了这个巨大的市场机遇,从最费力.费心.费钱的婚宴切入,力争给消费者提供一种安心.舒心.放心的服务.李文表示,公司获

金融安全资讯精选 2017年第十期 中国台湾远东银行遭黑客入侵被盗六千万美元,GDPR成了欧洲企业“最担心的挑战”,CISO在企业中的位置会变得更加重要

[金融安全动态] 中国台湾远东银行遭黑客入侵被盗六千万美元 点击查看原文 中国台湾远东国际商业银行一度遭盗领6000万美元(折合约4.69亿港元),并被汇到斯里兰卡.柬埔寨及美国,警方获报后介入侦办追查,并透过国际刑警组织通报,成功冻结相关款项并追回大部分赃款,预估远东银行损失在50万美元以下(折合约391万港元). GDPR成了欧洲企业"最担心的挑战",CISO在企业中的位置会变得更加重要 点击查看原文 ClubCISO最近的"2017年信息安全成熟度报告"中,6

Kaboodle千万美元收购与中国社会化商务的成长

[艾瑞网消息]8月10日早间消息 在周三,Hearst 公司----全球时尚出版集团,旗下拥有Marie Claire.Cosmopolitan和Esquire 杂志,宣布收购Kaboodle,一家结合了社区与购物的网络公司.交易金额未予透露.不过之前,Kaboodle 曾完成过一轮 1000 万美元的融资.此次交易金额应增长好几倍. 独家:社区购物网Kaboodle被购 涉资或几千万美元 Kaboodle是一家shopping bookmark为核心的社区,成员可以对products评论讨论,