57 行代码,复制甲方 8600 万的项目,so easy

科学 1秒前 阅读:0 赞:

来源丨优达学城 Udacity(ID:youdaxue)

作者丨 Tait Brown

先别急,慢慢听这个故事。

事情从维多利亚警察局说起。这是澳大利亚维多利亚州的主要执法机构。去年维多利亚州有超过 16,000 辆汽车被盗,价值约 1.7 亿美元。警察部门正在试验各种技术解决方案,以打击汽车盗窃行为。他们称这个系统为BlueNet

图 | Pixabay

为了防止被盗车辆的翻新出售,已经有一项称为 VicRoads 的网络服务,用于检查车辆的登记状态。警察局还投资了一个固定式车牌扫描仪——一个固定三脚架相机,扫描过往车辆,自动识别是否被盗。

不要问我为什么,但是突然有一天下午,我想搞个车载车牌扫描仪,如果车辆被盗或者没注册,它会自动发通知给你。扫描仪元件市面上都有,但我想知道将它们连接在一起是多么困难。

在网上搜了下之后,我发现维多利亚警方最近搞过类似设备的试验,预期费用大约在 8600 万美元左右。一个刁钻的评论者指出,在 220 辆汽车上装扫描仪的成本为 8600 万美元,相当于每辆汽车 390,909 美元。

但是我们可以做得更好。

图 | Pixabay

产品设计的一些关键要求

要求#1:图像处理必须在本地执行

将实时视频传给处理器处理应该是解决这个问题最没用的方法。除了高昂的数据流量费用之外,你还会将网络延迟引入到可能已经很慢的处理流程中。

虽然机器学习算法会随着时间的推移变得更加准确,但我想了解在本地设备上的实现是否 " 足够好 "。

要求#2:须使用低质量图像

由于我没有树莓派摄像头或 USB 网络摄像头,所以我将使用 dashcam 摄像头——它使用要求低,是样本数据的理想来源,它能代表了你对车载摄像头所期望的整体质量。

要求#3:需要使用开源技术构建

使用专用软件意味着您每次请求更改或增强时都会遇上些问题——并且此后每次请求都会继续产生问题,但使用开源技术就不用费脑子。

我的解决方案

概括来说,我的解决方案是从 dashcam 视频中获取图像,通过本地设备安装的开源车牌识别系统,查询车牌是否有问题,然后返回结果进行显示。

返回的数据包括车辆的品牌和型号(仅用于验证车牌是否被盗),登记状态以及被盗车辆信息。

这事儿听起来很简单,那是因为它确实就这么简单,例如图像处理都可以由 openalpr 库处理。这真的是识别车牌上的内容所涉及的所有信息:

VicRoads 的 API 不能被公开访问,所以我们通过网络爬虫对进行车牌检查。虽然这样做不太好,但这就是一个概念证明,我也不会攻击任何人的服务器。

下面是我的代码:

我得说结果出乎我的意料。

我原本预计开源牌照识别系统会非常垃圾。此外,图像识别算法可能未针对澳大利亚车牌进行优化。但结果表明它能够识别的视野范围特别广。

为了最终效果添加些注释,尽管有反射和镜头失真,但仍能识别车牌 | medium.com/free-code-camp/how-i-replicated-an-86-million-project-in-57-lines-of-code-277031330ee9

但是算法遇上特定字母也会出错。

将 M 误认为是 H | medium.com/free-code-camp/how-i-replicated-an-86-million-project-in-57-lines-of-code-277031330ee9

多训练几次之后也能辨识清楚。

几帧之后,M 被正确识别,置信度更高 | medium.com/free-code-camp/how-i-replicated-an-86-million-project-in-57-lines-of-code-277031330ee9

如上图所示,图像处理几帧后,从 87%的置信度评分跳到 91%以上。

我很有信心,只要通过提高采样率,然后按最高置信度排序就能提高准确性。或者可以设置阈值,只有置信度超过 90% 才能进行检验。

这些问题从代码层面上就能直接改,并且不妨碍数据集的训练。

8600 万美元的问题

老实说,我完全不知道 8600 万美元到底包括什么,我也不能将我的开源软件的准确性和试点的 BlueNet 系统相提并论。

我只希望预算的一部分包括更换几个祖传数据库和软件,来支持每辆车高频率、低延迟地查询车牌。

另一方面,每辆车约 39.1 万美元的成本似乎相当宽裕——前提是 BlueNet 不是特别准确,并且没有大规模的 IT 系统的更换与升级。

未来的应用情况

虽然很容易陷入奥威尔式的 " 老大哥在看着你 " 车牌检测网络,但这种技术有许多积极的应用。想象一下,这个系统发现哪家人的车被撬了,就能自动通知警察和主人车的当前位置。特斯拉汽车就已经装上了能够无线更新的摄像头和传感器,Ubers 和 Lyft 司机也可以配备这些设备,以大幅增加覆盖范围。

再加之使用开源技术和现有组件,似乎可以提供一种回报率更高的解决方案——投资远低于 8600 万美元。

好了,今天的故事说到这里。后续究竟如何,我们等着看。

本文经授权转载自优达学城 Udacity(ID:youdaxue),如需二次转载请联系原作者

欢迎转发到朋友圈。

果壳

ID:Guokr42

整天不知道在科普些啥玩意儿的果壳

我觉得你应该关注一下

相关标签:
更多 科学新闻 前往科学新闻频道 前往阅读
最新评论
分享 返回顶部