用开源软件写的57行代码,PK掉8600万的商业项目

维多利亚警察局是澳大利亚维多利亚的主要执法机构。去年,发生在维多利亚的盗车数量达到了 1.6 万辆,价值 1700 万美元,因为发生了这些,我们的警察开始忙于测试各式各样的技术和解决方案,尝试去打击那些偷车贼。

为了防止那些欺诈性质的,即售卖被盗窃车辆,一家叫做 VicRoads ,提供了基于 web 的服务,可以检查车辆的注册情况,该部门也投资了车辆牌照的扫描仪,一个固定的三脚架摄像头,用于扫描过往的车流,以自动识别被盗车辆。

请不要问我发生过什么,有那么一天下午,我突发奇想,我自己何不做一个车载的车牌扫描仪,功能就是如果车主的车被盗或未注册,车主将会自动得到通知。在理解了各个组件的工作情况之后,我试图将它们组合起来,验证一下是否可行。

在经过了一系列的 Google 搜索之后,我发现维多利亚警察最近也在试用一个类似的设备,他们预计的推出成本在 8600 万美元左右。一位精打细算的评论员指出:“这笔 8600 万美元,是为 220 辆汽车装备此设备,相当于每台设备花费 390,909 美元。”

相信我可以做的比这个更好!

成功的标准

在开始做这个设备之前,我列举了如下的一些关于产品设计的几个关键需求。

图像必须在本地处理

将直播的视频流上传到中央服务器看起来是解决此问题的最差的选择。除了数据流量大,需要花费的宽带费用很高之外,网络的延迟将无法保证最后的结果。

虽然说处于数据中心的机器学习算法会越来越准确,我以为能够在本地处理就足够了。

能够处理低质量的图片

我既没有树莓派的相机,也没有 USB 的摄像头,我拥有的仅仅是普通的行车记录仪,它可以随车即时使用,是样品数据的理想来源。另外还有一个好处,即行车记录仪代表车载摄像头的整体质量,具有普遍性。

它需能够使用开源软件来构建

依赖于专有软件,也就意味着每次你有需求变更或增强功能,都得另外付费,——而且这个过程永无止境。毫无疑问,开源软件是默认选项。

解决方案

大体上来说,我的方案就是从行车记录仪中读取图片,将之传送到本地设备,本地的设备安装有开源的牌照识别系统,然后去查询注册服务,然后返回结果并进行显示。

返回到安装在执法车辆中设备的数据包括车辆的制造厂商和型号(以验证是否只是车牌被盗),注册状态,如果是被偷的车辆的话,就会发出通知。

聪明的读者是不是觉得挺简单的?是的,它确实也没有那么的复杂。举例来说,牌照的处理可以交由一个叫做 openalpr 的程序库,这其实就是所涉及到的识别牌照上的字符全部:

openalpr 官网地址如下:

http://www.openalpr.com/

轻微警告公开访问 VicRoads 的 API 还不可用,因此此处涉及到的车辆牌照检查的 web 只是一个原型,或许有人看不惯——这只是一个概念验证,我并没有黑进任何服务器。

下面就是我写的用作概念验证的略显粗糙的代码:

结果

我必须坦率的和大家说,结果着实令人吃惊。

我本以为开源的车辆牌照识别一定不怎么好用,另外,我甚至认为此程序未必正对澳大利亚的牌照进行过优化。

结果让我想到的意外,如它可以在较开阔的视野识别到车牌。

(图片说明:添加注释生效,尽管有强光发射、镜头失真,但是依然识别到了车牌。)

虽然解决方案有些瑕疵,即对于特殊字母的处理不够完美。

(图片说明:读牌照不够精准,将 M 读成了 H)

但是,还是可以接受的,大多数时候能够得出正确结果。

(图片说明:几帧之后,M 被正确识别,并具有更高的置信度)

正如你所看到的上面的两幅图,在多处理了几帧图像之后,可信度从 87% 上升到了 91%。

我开始对此方案有了足够的信心,对于双关语的处理,可以通过提高样本率可以提高准确性,然后按最高置信度来排序。或者,在接受验证注册号之前,设置一个阈值,如仅接受大于 90%的置信度的图片。

当然,这些都是可通过修改代码来让软件更加的完善,而且还可以使用本地的数据来训练车辆识别软件。

8600 万美元的问题

公平地说,我完全不知道不知道 8600 万美元都花在了哪里?我也不会说训练本地的机器学习开源软件,为了提高准确性,而毋需花费额外的金钱,或者是使用试验性质的 BlueNet 系统。我还可以预估出来,这些预算还会包括替代旧的数据库和应用程序,从而能够支持每辆车,每秒中的被频繁的查询,以达到低延时的效果。

换句话说,每辆车花费 ~$391k 是很奢侈的,尤其是如果 BlueNet 不是特别准确,而且还没有大型的系统扩展,以及升级相关依赖的系统。

未来的应用

尽管这个系统,很容易被人认为是奥威尔式的“永远在线”的牌照网络监视,但是此项技术仍然有很多正面的意义。可以想象一下,这个系统可以扫描到前方的被盗窃的车辆,然后会发送信息给丢失爱车的车主或家人,信息包括车辆目前的位置和要去往的目的地,车主找回自己爱车的几率就会大很多。

特斯拉早已经实现了接收 OTA 更新功能的相机和传感器,—— 想象一下,这是多么强大的一组守护者。Uber 和 Lyft 的司机若配置了此设备,那么就可以覆盖更大范围的,让偷车贼无处可遁。

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

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-09-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

2017年Dataversity 最受欢迎文章 Top 20 榜单

引言 本文是 TalkingData 艺敏翻译自 DATAVERSITY 的一篇文章,总结了 DATAVERSITY 2017 年最受欢迎的 20 篇文章。 ?...

23980
来自专栏PaddlePaddle

AI Studio | 提供免费云计算资源,深度学习也能零门槛

随着 AI 技术的发展,人类社会正处于火热的智能化革命之中,AI 能力已经渗透到各行各业,在语音、图像以及 NLP 领域,已获得了突破性的进展和效果。

43710
来自专栏大数据挖掘DT机器学习

用R语言爬取美国新总统-川普的twitte进行数据分析

Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。 本文是关于如何使用Twitt...

52250
来自专栏CSDN技术头条

软件看板之父David Anderson:使用看板方法进行项目管理

一、使用看板方法管理项目 我是项目经理,看板对我来说意味着什么? 我是项目经理,我的组织正在采用Kanban,它对我意味着什么?以及我应该在工作中如何使用看板?...

28390
来自专栏大数据文摘

深度 | 探索实物与VR间重量转换的方法

12640
来自专栏机器之心

学界 | Stuart Russell等人提交论文:机器人不应永远遵从人类指令

选自arXiv 机器之心编译 参与:李泽南 Stuart Russell 刚刚在 GMIS 2017 大会上的演讲中为我们分享了人工智能目前面临的一些挑战。为...

39660
来自专栏ATYUN订阅号

基于AI的Global Fishing Watch平台增加数据层,监管全球非法捕鱼活动

人工智能目前在交付机器人,自动驾驶汽车以及海洋生态追踪系统领域飞速发展。Global Fishing Watch是由谷歌,Skytruth和Oceana共同创建...

12830
来自专栏CDA数据分析师

4个小例子告诉你:如何成为一名数据极客

本文为@GavinBuildSomething原创,CDA数据分析师已获得授权 对于数据岗位的员工,互联网公司颇有些不同的称谓,像统计工程师、大数据工程师、数据...

23570
来自专栏鸿的学习笔记

聊聊数据仓库的建设

数据仓库的建设是不同于面向业务的操作型数据库,它的核心更应该是业务知识。单纯的理论是无聊的,那么我们从一个实例来,那么就已我手边正在放lpl直播的虎...

11810
来自专栏源哥的专栏

敏捷开发之“燃尽图之谜”

我们在进行敏捷开发的时候,一般都要画燃尽图,在我们理想的思维里面,燃尽图很明白易懂的,而实际使用的时候,你慢慢发现不是这么一回事,这究竟是怎么回事呢?

16030

扫码关注云+社区

领取腾讯云代金券