这个小伙用57行代码开发了一个防偷车系统,节省了8600万美元

2017 年 9 月 1 日 机械鸡 省钱省钱省钱!

事情是这样的。


维多利亚警察局,是澳大利亚维多利亚州的主要执法机构。过去一年,维多利亚州共有超过1.6万辆车被盗,预计损失约为1.7亿美元,警方正在试验各种技术驱动的解决方案,打击汽车盗窃。


为了防止盗用车辆的欺诈性销售,维州公路局已经建立了一个,基于网络的注册识别系统,来检查车辆注册状况。然而,情况并没有好多少。


维多利亚警察局打算投资8600万美元左右,研发一套基于计算机视觉识别的系统。一位业内评论员指出,这个系统要配置到220辆车上,相当于每辆车要花费成本390909美元。


一位叫 Tait Brown 的小伙坐不住了,觉得维多利亚警局简直是在浪费金钱。他突发奇想,利用开源技术,仅仅写了57行代码,就完爆了维州警局。


UC Santa Barbara计算机科学系助理教授王威廉,也为这个小伙点赞。



△现有固定车牌识别系统


开发准备


在开始之前,他简要介绍了产品设计的几个关键点。


  • 图像处理必须在本地执行


将直播视频直接传输到中央处理仓库,似乎是解决此问题的效率最差的方法。除了数据流量庞大的帐单之外,还会产生网络延迟。


虽然,集中式机器学习算法,只会随着时间的推移而变得更加准确,但他想了解本地的设备实现是否“足够好”。


  • 必须能够识别低质量的图像


由于 Tait Brown 没有Raspberry Pi(树莓派,微型电脑)摄像头或USB网络摄像头,所以他使用了dashcam摄像头 - 它是随时可用的、一个理想的样本数据源。


附加的好处是,dashcam的成像效果,比车载摄像机预期的镜头质量大致相当。


  • 需要使用开源技术构建


依赖专有软件意味着,您每次请求更改或更新时都会被攻击。傻瓜都知道开源技术可以省钱。


解决方案


高级的解决方案是,从Dashcam视频中获取图像,通过本地安装在设备上的开源车牌识别系统来传输数据,来查询注册检查服务,然后返回结果进行显示。


传输到执法车辆安装设备的数据包括:车辆出场型号,注册状态和车辆被盗时的通知报告


听起来是不是特简单。举个例子,图像处理都可以由openalpr库处理。这真的涉及到识别车牌上的字符:


openalpr.IdentifyLicense(imagePath, function (error, output) {

   // handle result

});


注意:


维州公路局公开的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

};

}


结果


Tait Brown 对结果感到惊讶。


他预计开源系统,来识别车牌不会很好。此外,图像识别算法可能未针对澳大利亚车牌进行优化。


但,最终的解决方案,却能够在宽泛的视野中识别车牌。


△在摄像头失真情况下的识别效果


虽然解决方案,偶尔会在识别特殊车牌时会出问题。


△读数不正确


但是...解决方案最终会纠正错误,给出正确反馈。


△几帧后被正确识别


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


Tait Brown确信,准确性可以通过提高采样率来提高,然后按最高置信度排序。或者,可以设置,仅在接受验证注册车牌之前,接受大于90%的置信度的阈值。


可以直接code-first修复,并且不排除使用本地数据集,来训练车牌识别软件。


8600万美元?!


公平地说,Tait Brown想不明白为什么要花费 8600万美元,他也没觉得,经过本地训练的开源系统比BlueNet系统(第三方技术服务商)差。


他预计,这笔预算的一部分包括:更换几个数据库和软件应用程序,以支持每辆车每秒多次高速、低延迟的车牌查询次数。


另一方面,每辆车的成本约为391万美元,相当土豪。另外,如果BlueNet在没有大规模的IT项目停产或升级相关系统的情况下,根本用不了这么多钱。


未来这种技术有很多积极的应用场景。想象一下,如果这个识别系统,可以自动扫描偷车贼的车牌,并自动报警以及告知家属位置和方向,那该有多酷。


特斯拉已经掌握了相机和传感器技术,能够接收OTA更新,造福人类啊。Ubers和Lyft司机也可以配备这样的系统,来增加安全性。


使用开源技术和现有组件,似乎有可能提供一个更省钱的解决方案,投资远低于8600万美元哟。


推荐阅读

Bengio主办 ‖ 2017蒙特利尔大学DL+ML暑期班课程

斯坦福大学的泰勒·斯威夫特“骨灰粉”,用AI来写歌

这家德国公司,超过了谷歌、微软、Facebook

工程师用AI写出了《权利和游戏》的下一季 ‖ 下载

这家主宰700亿美元比特币市场的中国公司

正在打造比特币挖矿AI芯片

斯坦福发布《语音与语言处理》第三版(NLP必读)

腾讯的愿景:让AI无处不在!(附PPT)

江泽民:要在AI、机器学习方面有所创新

一文尽览人脸识别独角兽大战

前Facebook产品经理:打造机器学习产品的黄金手册

TensorFlow官方语音识别入门教程

用大数据和机器学习揭示十二星座的真实面目!


长期招聘志愿者

加入「AI从业者社群」请备注个人信息

添加小鸡微信  liulailiuwang


登录查看更多
0

相关内容

【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
资源|Blockchain区块链中文资源阅读列表
专知会员服务
43+阅读 · 2019年11月20日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
VIP会员
相关VIP内容
【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
资源|Blockchain区块链中文资源阅读列表
专知会员服务
43+阅读 · 2019年11月20日
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Top
微信扫码咨询专知VIP会员