文/普泉精舍护法会副会长、淡江大学资讯工程学系教授 洪文斌(传承)
一、序言
人工智慧(Artificial Intelligence,简称AI)已悄悄地融入到我们的日常生活当中。在这一波AI的浪潮中,其技术以机器学习(Machine Learning)为主,透过大量的资料或是图片,自动归纳出其内在隐含的知识,进而达到学习的目的。其中又以深度学习(Deep Learning)最具代表性。
深度学习是属于类神经网路(Artificial Neural Networks)的研究领域,起源于1943年模拟生物神经细胞而建构的数学模型,历经数十寒暑的起伏与发展,至今呈现波澜壮阔之势,深深地影响着我们未来的生活。在深度学习当中,除了传统的深度神经网路(Deep Neural Networks,简称DNN)之外,尚有两个主要的架构,一个是卷积神经网路(Convolutional Neural Networks,简称CNN),另一个是递归神经网路(Recurrent Neural Networks,简称RNN),分别在电脑视觉以及语音辨识和自然语言处理方面获得相当优异的表现。
CNN的神经网路架构主要是设计来模拟人类的视觉功能,对于物体的辨识,取得了极为突出的成就。在全世界非常有名的ImageNet电脑视觉竞赛中,主办方提供了120万张影像当成训练资料,这些图片分别属于1000个类别,平均一个类别含有1200张影像。而这些大量的图片主要是用来在训练阶段时,能够尝试从图片中自行学习归纳出分类的规则,建构预测的模型。另外有10万张新的影像,用来测试已经训练好的预测模型的效能。在2015年的竞赛中,以CNN为主的ResNet技术,其辨识错误率降低至3.57%,首次低于人类平均5.1%的错误率,让CNN进入了实用的阶段,也引发了大量的研究与应用,例如:人脸辨识、工业检测、医疗影像等。本文尝试介绍深度学习的CNN辨识技术如何融入到大家所熟悉的停车场管理系统的核心技术──车牌辨识。
二、电脑视觉
电脑视觉有四个主要功能,其说明如下,而这些功能目前几乎都是基于CNN的技术。
(1)物件分类(Object Classification):即辨识影像中的物件,又称为影像辨识(Image Recognition)。例如图一(a)的影像中,内含三角形、正方形、圆形等三种物件。
(2)物件侦测(Object Detection):或称为物件定位(Object Localization),将所辨识出的物件用矩形外框将其框起来。例如图一(b)中,用红色矩形框出三角形,洋红色矩形框出圆形,蓝色矩形框出三个正方形。
|
图一:电脑视觉功能 |
(3)语意分割(Semantic Segmen-tation):进一步用不同颜色表示不同的物体类别,可以很清楚看到其形状。例如图一(c)中,用红色区块表示三角形,洋红色区块表示圆形,蓝色区块表示正方形。在此例中,背景特别用黄色表示。
(4)实例分割(Instance Seg-mentation):若影像中包含多个相同类别的物件,用不同颜色表示不同的物体。例如图一(d)中,正方形有三个,分别用不同深浅的蓝色表示。注意:虽然后面浅蓝色正方形被前面正方形部分挡住(圆形也一样被前面的正方形部分挡住),然而这个技术依然可以正确清晰地标示出物体的形状与前后遮蔽的关系。
三、车牌辨识
传统的车牌辨识,主要由人工来选取物件的特征,例如:颜色、形状、边缘、纹理等,然后进行后续的辨识。一般而言,车牌辨识包含有车牌定位和字元分割(如图二红色方框所示),然后再逐一进行字元辨识等步骤(因个资故,以车牌前三码为例说明)。然因光照不均、日夜阴雨、脏污倾斜、背景干扰、特征选取等问题,造成车牌辨识结果不甚理想。
|
图二:传统车牌辨识流程 |
近年来,深度学习的CNN在电脑视觉中扮演着举足轻重的角色,带来了革命性的影响,获得了极好的改进。其主要是因为透过大量资料的学习,电脑可以依据所提供的资料,自行找到最佳的特征(而非人工所选取的特征)来进行辨识,故而得到较好的结果。以下介绍利用深度学习的CNN来进行车牌辨识的一种简明易懂的流程。因为CNN是属于监督式学习,需要人工教导它要辨识什么物体。在此车牌辨识的范例中,我们需要CNN学习找出车辆与车牌所在的位置,还要辨识车牌号码的每个字元。因此需要搜集大量各种情况的车牌影像,利用人工来标注车辆与车牌位置,乃至车牌字元等,以教导CNN如何定位与辨识。因此,这个阶段需要花费较多的人力与时间。之后,利用CNN来训练、学习车辆与车牌定位,此属物件侦测。最后利用语意分割或实例分割来训练、学习车牌字元辨识。当CNN神经网路已训练好之后,后续车牌辨识的流程如图三所示:
|
图三:深度学习车牌辨识流程 |
(1)车辆定位:为避免背景环境中也有文字的特征,先侦测影像中的车辆。
(2)车牌定位:在所找到车辆的方框内,继续寻找车牌所在位置。
(3)车牌分割与实例分割:将所找到的车牌,进行语意分割和实例分割,用不同颜色代表不同的英文字母与阿拉伯数字。在此例中,红色区块表示英文字母A,橙色为K,其他不同颜色代表不同的阿拉伯数字,中间的横杠(—)以黄色表示,车牌其余位置为白色。如此便可方便进行车牌字元辨识。一般而言,若训练时的资料量够大,涵盖可能的各种情形,几乎都可达到将近完美的辨识率。
四、实际应用
由于车牌辨识系统的辨识率极佳,在封闭的区域内,可以达到保安的效果,目前已大量应用于校园门口、卖场的停车场、各大楼的停车场和收费停车场等。还可以将高速公路视为动态的巨型停车场,在出入的闸道口上架设摄影机,再利用车牌辨识来计算旅程为计费的依据。此外,若在办公大楼地下停车场,也可以透过适当的电子指示标识,引导外宾停车。另外,警察也可以用马路上的监视摄影机,利用车牌辨识来查缉赃车、协寻遗失车辆等,以提升社会治安。
由于车牌辨识可以搭配进出时间与停留时间,因此可以搭配AI的另一项技术——大数据,进一步进行数据的统计分析,除取得统计的日报、周报、月报之外,也可以预测尖峰与离峰时间,乃至个别车辆的停车行为。此外,可以随时得知停车场内的动态,作适当的调配。在都会区中,一位难求的情况下,若将多个停车场加以连线,使用者可以上网查询附近何处还有空位,可带来更便利的停车服务。
五、结语
科技的创新,其目的是提供方便性与安全性,以提升人类的生活。神经网路经过近八十年漫长的演进,达到目前深度学习的阶段,CNN技术可以媲美人类的视觉系统,若善加利用,可以造福人群,例如本文所谈的车牌辨识技术,就是一例。相信未来一定会有更多的AI应用,普及于世,造福人类,让我们拭目以待,拥抱未来AI科技所带来的便利。