查看原文
其他

开源力量:用57行代码搞定花8000万美元采购车牌识别项目

2017-09-03 全球人工智能

“全球人工智能”拥有十多万AI技术用户,核心用户来自:北大,清华,中科院,麻省理工,卡内基梅隆,斯坦福,哈佛,牛津,剑桥......以及谷歌,腾讯,百度,脸谱,微软,阿里,海康威视,英伟达......等全球名校和名企。


加入AI企业高管群>>

加入AI技术专家群>>

Tiait Brown 用57行代码和开源工具 DIY 了一个车牌自动识别系统,完全实现了澳大利亚政府花8600万美元投资的项目效果。

过去一年,维多利亚州共有超过1.6万辆车被盗,费用约为1.7亿美元,警方正在试验各种技术驱动的解决方案来打击汽车盗窃。为了防止盗用车辆的欺诈性销售,管理部门VicRoads启用了一项基于网络的服务来检查车辆注册状况。VicRoads还投资购买了一个固定牌照扫描仪——一个固定的三脚架摄像机,可以扫描过往车辆,自动识别被盗车辆。

有天下午,我突然想要制作一个车载车牌扫描仪,如果有车辆被盗或被未注册,这个扫描仪将自动通知你。我知道有一些单独的组件存在,于是想知道将它们组装在一起会有多难。谷歌搜索一番后我发现,维多利亚警察局已经就投资类似装置进行了问询,估计的费用在8600万美元左右。这个系统要配置在220辆车上,由于总成本是8600万美元,相当于每辆车的成本是390,909美元。

现有的车牌识别系统(白车+摄像头)


首先,简要介绍了产品设计的几个关键:

  1.  图像处理必须在本地处理:将直播视频流传给中央处理器似乎是解决这个问题最没有效率的方法。除了数据流量带来的巨额帐单,还会产生网络延迟问题,何况速度可能原本就不高。虽然集中式的机器学习算法随着时间的推移会变得更加准确,但我想知道使用本地的设备实现会不会“就够了”。

  2. 必须能够处理低质量的图像 :因为我没有Raspberry Pi摄像头或USB网络摄像头,所以我使用 dashcam 镜头——随时可用,而且是个理想的样本数据源。此外,dashcam视频也代表了从车载摄像头能够获得的视频的整体质量水平。

  3. 需要使用开源技术搭建 :不可能使用有专利的技术,否则每次都会收费。使用开源技术是没的说的选择。

然后,我们来说说具体的解决方案:

从一个高的层面看,我的解决方案从一个 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 }; }

zhe

我预计开源车牌识别相当垃圾。此外,图像识别算法可能没有针对澳大利亚牌照进行优化。结果,我的解决方案能够在各种视野中识别车牌。

当然,个别字符识别起来还是有问题。

但是……算法最后还是成功了。

正如你在上述两幅图像中看到的那样,几秒钟后的图像处理从87%的置信度评分上升到超过91%

我相信准确性可以通过提高采样率来提高,然后按最高置信度排序。或者,可以调整阈值,在置信度超过90%的情况下才接受验证注册号。

这些都是很直接的 code-first 修复,并且不排除使用本地数据集训练车牌识别软件。

关于8000万美元的问题

公平起见,我完全不知道8600万美元这个数字都包含了些什么,也不知道本地化训练的开源工具的准确性跟 pilot BlueNet 系统相比会有什么结果。

我预计这一预算里包括更新几个遗留数据库和软件应用程序,支持每秒对多辆车进行高速、低延迟的车牌查询。另一方面,每辆车的识别成本在 39.1万美元左右看上去真的挺贵——特别是如果BlueNet的识别结果不是特别准确,而且没有大规模的IT项目停产或升级相关系统。

这项技术未来的应用

虽然在想法上很容易陷入乔治奥威尔式的“总是看着你”,但这种技术还时有很多积极的应用。试想,一个被动识别摩托车的系统,在扫描到绑匪后自动通报当局和家属绑匪目前的位置和方向。

特斯拉斯车辆已经有摄像头和传感器,能够接收OTA更新——想象一下把这些车都变成虚拟的绑匪监测器(samaritans)会怎样。Uber 和 Lyft 司机也可以配备这些设备,大大增加覆盖面积。

总之,使用开源技术和现有组件,做出一个回报率更高的解决方案是可行的——远远不需要投资8600万美元。

原文:https://medium.freecodecamp.org/how-i-replicated-an-86-million-project-in-57-lines-of-code-277031330ee9

《全球人工智能》开始招人啦!


一、1名中文编辑(深圳):熟悉国内AI技术媒体、企业,对AI有一定了解,有非常强烈的兴趣进入这个行业,学习能力强,负责中文类AI技术新闻采编。待遇:5-10k

二、1名英文编译(深圳):英语水平能看懂英文的新闻,对AI有一定了解,有非常强力的兴趣进入这个行业,学习能力强,负责英文类AI技术新闻采编和兼职翻译管理。待遇:6-10k

三、1名课程规划(深圳):计算机相关专业,对人工智能技术有浓厚兴趣,能对ai技术进行系统化梳理,对培训教育比较感兴趣,学习能力强。负责技术课程的梳理和规划。待遇:6-10k

四、1名导师管理(深圳):沟通能力强,能善于负责人工智能技术专家的拓展、关系维护、培训沟通、课程时间协调等工作。待遇:6-10k+提成

五、2名渠道商务(深圳):有一定渠道商务拓展或销售经验,对新生事物比较敏感,熟悉线上线下渠道拓展业务。待遇:6-10k+提成

简历发送mike.yu@aisdk.com

热门文章推荐

厉害|百度28位离职技术大牛和他们创建的AI公司!

一AI工程师下载200万GB色情内容,只为学习Python!

推荐|变形卷积核、可分离卷积?CNN中十大操作!

她:13岁造飞机,17岁进MIT,22岁到哈佛读博!

火爆了!全球最火爆的人脸识别技术应用: FaceDance Challenge!

厉害!科大讯飞市值奔1000亿,市盈率达400倍成“妖股”!

残酷!如果你35岁破产,你还有多大可能逆袭?

重磅!大数据告诉你:逃离北上广,他们都去了哪里?

推荐|斯坦福2017春季CS231n深度视觉识别课程视频

行情|年薪30万-50万,大数据人才缺口150万!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存