0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于机器视觉和深度学习的智能路牌识别系统

SwM2_ChinaAET 来源:未知 作者:李倩 2018-06-27 08:46 次阅读

摘要:提出了一种基于机器视觉深度学习智能路牌识别系统。采用嵌入式ARM9作为前端采集系统,在服务器上采用图像处理算法先对前端采集的路牌图像进行文字区域的提取和分割,然后用训练好的卷积神经网络对分割的文字进行识别,最后将识别信息以语音的形式反馈给使用者。使用前端硬件在高速公路上采集路牌图像并在服务器的CAFFE框架上进行测试,结果表明该系统能实时准确地将路牌信息以语音的方式播报给使用者。

0 引言

随着社会的快速发展,现今的生活中,汽车已经成为主要的交通工具,路牌也成为一种重要的导航工具。无论是高速公路还是国道、省道,到处都树立着路牌。然而,由于路牌常常被竖立在路的两边,当司机需要了解路旁路牌的信息时,注意力很容易被分散,当驾驶者对自己所在道路不熟悉的时候,前方路况和各种标志的路牌会让驾驶者的心里压力变大,驾驶者由于减速观看路牌很容易发生交通堵塞和交通事故,使得交通状况变得更加恶劣。对此,国内外一些研究学者对路牌的识别进行了研究[1],但效果不是很理想,将路牌识别系统实现的更是少之又少。智能路牌识别系统能有效地提取路牌信息,帮助驾驶者理解路牌的信息,对于安全驾驶有着极其重要意义,对将来智能驾驶战略也将做出突出的贡献。

1 智能路牌识别控制系统的总体设计

本系统由基于嵌入式技术的前端采集、通信传输系统和远程云服务器识别系统组成。前端采集传输采用基于三星Cortex-A9架构的核心板,配备一千万像素摄像头、语音播报模块和4G通信模块构建智能路牌识别系统的硬件平台。摄像头采集含有路牌的图像,由主控芯片对图像进行压缩,压缩后的图像在4G模块下通过SOCKET程序传送到云服务器上。采用云平台服务器作为智能路牌识别器的数据处理中心,在服务器上通过深度学习算法训练文字识别网络,将分割后的图像在训练好的网络上进行识别,然后将得到的结果传输到前端,通过语音模块播报给使用者。智能路牌识别器的总体设计如图1所示。

2 智能路牌识别控制系统的硬件设计

2.1 主控单元模块

该模块采用ARM9核心的处理器作为中央控制单元模块,用它实现对前端采集系统各个单元模块所采集的数据信息进行汇总分析和处理,对各个功能模块发出控制指令,协调整个系统稳定运行。中央控制单元完成图像采集,根据预先板载的压缩算法程序完成图像压缩,通常可达到6:1的压缩率,并发给云服务器,减小了传输时间,保证了信息传输的实时性。中央控制单元同时接收来自云服务器发送的识别结果,并将结果通过语音模块反馈给使用者。

2.2 前端采集模块

前端采集采用的是一千万像素的CMOS高清摄像头,它能够清晰地拍摄前方场景信息,用于智能路牌识别系统对路牌信息的采集。得到的高清图片存储在中央控制单元,并由中央控制单元对其进行处理。

2.3 无线通信模块

无线通信模块由外围电路和4G通信芯片构成,使用SOCKET通信和4G通信技术,完成智能路牌识别系统和云端服务器的相互连接。在中央处理器模块的控制下,前端采集压缩的图片在无线通信模块的作用下发送给云端服务器,同时云端服务器将处理完成的信息通过无线传输模块发送给中央控制单元,把结果实时反馈给使用者。

2.4 语音文字播报模块

语音播报模块主要作用是将云端服务器处理的路牌文字信息以语音播报的形式展现给驾驶者,使得驾驶者不用因环顾四周的路牌文字而分心。该模块主要采用SYN6288中文语音合成芯片实现对语音文字的播报,把云端服务器发送的文本文字转化为音频信息。SYN6288语音芯片采用UART和SPI两种通信方式,实现文本智能分析处理、多音字处理功能。该模块的电路如图2所示。

3 智能路牌识别控制系统的软件设计

本系统软件的设计由两部分组成。一部分是前端ARM9加载Linux系统的设计,完成前端信息的采集压缩、云端服务器通信和语音播报的功能。前端采集程序流程图如图3所示。

另一部分是在云端服务器上实现对采集图像的预处理、检测、分割和分类识别功能。云端服务器首先对前端发送的图像解压缩、预处理,利用支持向量机(SVM)算法检测是否含有路牌。检测到路牌之后对路牌区域进行提取,对提取后的路牌进行图像处理,然后利用投影法对文字进行分割,最后进行文字识别。其中文字识别部分采用的是目前流行的深度学习框架——CAFFE框架,主要采用C++/CUDA高级语言来实现对深度学习网络的训练和文字的识别。云端服务器程序流程图如图4所示。

4 基于卷积神经网络的文字识别算法

卷积神经网络(CNN)是深度学习领域的一个重要算法,在很多应用上表现出卓越的效果[2-3]。目前字符识别算法有很多种,但对汉字的识别,特别是自然场景的文字识别都有一定的局限[4-5]。将多种文档字符识别算法与CNN比较,会发现CNN算法比其他算法的效果都好。在本文的智能路牌识别系统中,主要利用CNN对日常生活中常见的3 000个汉字进行训练然后识别。CNN是在BP神经网络的结构上改进得到的,它们都是采用了向前传播计算网络的输出值,通过误差计算公式,向后传播修正权重和偏置的值。与传统的特征提取方法相比,CNN最大的改进就是卷积神经网络是利用卷积核进行特征提取,相邻层之间不是全连接,而只是部分进行连接,从而得到局部特征。在一个特征平面采用权值共享机制,很大程度上减少了权值的数量。

本文设计的网络结构如图5所示,输入的数据为一张40×40像素的图片,第一层为卷积层,由64个3×3卷积核组成,每个卷积核都各自提取不同的一种特征,通过输入与卷积核运算来提取图像的局部特征。然后进入池化层,在2×2的窗口中选取最大值作为一个输出值,从而降低了数据维度。以此类推,计算第二层128个卷积核和第三层256个卷积核的卷积运算。全连接层分别采用4 096和3 000个1×1的卷积核进行全连接来提取图片文字的全局特征进行分类。然后根据误差输出公式进行误差计算,反向进行权值和偏置更新。为了防止过拟合,采用dropout对网络权值和偏置进行部分更新。反复进行计算多次实现对网络参数进行训练的目的。

在智能路牌识别系统中,挑选日常常用的3 000个汉字进行了训练,基于国家标准规定——道路路牌采用方正黑体格式汉字,实验中通过计算机生成了相应图像数据。利用C#语言生成40像素×40像素的汉字图片作为测试集和训练集,如图6所示。

考虑到前端采集模块在实际采集图片时会出现各种干扰,如硬件发热、外界环境干扰、光线的亮暗等因素的影响,使得图像带有噪声点、图片模糊、字迹不清或者产生旋转和扭曲等状况,因此,需将生成的每个汉字图像进行图像处理,分别对其进行各种随机的噪声点生成、腐蚀膨胀以及不同角度的旋转和扭曲。这样对每一个汉字图片产生300张不同的图片,获得了更多的数据量,这样测试集和训练集一共有900 000个数据。通过图5所示的卷积神经网络进行训练。

5 系统的测试与分析

由于现在路牌场景种类繁多,测试实验中采用比较规范、应用比较多、文字方向从左自右的路牌进行实验。如图7(a)所示,对前端发送到服务器的图像,先通过Canny算子边缘检测粗定位和MSER算法细定位,使用SVM算法来判断是否含有路牌,判断出路牌标识后对图像进行路牌区域提取。

路牌区域提取采用基于HSI颜色空间的方法。基于我国以绿底和蓝底作为路牌的背景,采用HSI空间中的H分量将路牌区域提取出来。本实验将H参数设定在[150,190]区间,得出实验结果如图7(b)所示。

在文字检测部分,采用Canny算子进行边缘检测[6],提取汉字的边缘,然后用形态学对汉字进行处理,将文字与文字分开同时将文字的各个部分进行连接,以便于进行文字分割。在文字分割部分,采用投影法,根据像素值的特征进行分割。首先对路牌进行二值化处理,先进行水平投影像素值相加,进行行分割,分割效果如图8所示。

然后竖直方向投影进行像素值相加,进行竖直方向分割,分割效果如图9所示。通过连通区域算法分析得到各个文字区域,最后归一化为40像素×40像素图像,送入深度学习卷积神经网络进行分类识别。

采用本实验设计的网络结构,将数据集的800 000个数据作为训练集,100 000个数据集作为测试集,在云服务器上迭代8 000次,得到99%的准确率,测试的准确率和损失值如图10所示,当迭代次数达到900次左右时,准确率趋于平稳,由此可见CNN在路牌汉字识别上具有优势和潜在的应用价值。

6 结论

本文完成了智能路牌识别系统从硬件到软件的设计,实现了硬件的图像采集压缩和软件的图像处理、区域检测和文字分割,最后通过语音模块播报给使用者的功能。该系统对驾驶者有十分重要的作用,并可运用在无人驾驶领域,对新世纪的智能交通也将做出突出的贡献。本文系统未考虑前端动态拍摄时的模糊图像处理问题,即当车辆行驶太快情况下,前端采集的图像可能会不清晰,这也是下一步将努力的方向。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    160

    文章

    4032

    浏览量

    118248
  • 嵌入式技术
    +关注

    关注

    10

    文章

    349

    浏览量

    34253
  • 深度学习
    +关注

    关注

    73

    文章

    5224

    浏览量

    119865

原文标题:【学术论文】基于深度学习的智能路牌识别系统设计

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于深度学习技术的智能机器

    ”特征的算法,同时根据学习到的“经验数据”,从而能把图片中的猫都识别出来。基于“深度学习”的智能分类
    发表于 05-31 09:36

    前百度深度学习研究院科学家分享:机器视觉开发实战经验

    人工智能是计算机科学的个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的
    发表于 07-20 11:06

    人工智能机器学习的前世今生

    学习算法评估个用一种特殊的数据来泛化的预测模型。因此,必须有大量的实例,以供机器学习算法用来理解系统
    发表于 08-27 10:16

    一种非接触式3D指纹识别系统的设计方案

    为什么要设计一种双目视角的非接触式3D指纹识别系统 ? 与传统指纹识别系统相比,3D指纹识别系统有什么优势? 怎样去设计一种双目视角的非接触
    发表于 04-19 07:10

    一种多按键状态识别系统的设计方案

    一种基于FPGA技术的多按键状态识别系统的设计方案
    发表于 05-06 08:44

    如何去实现一种特定人语音识别系统

    特定人语音识别的方法有哪些?特定人语音识别系统是由哪些部分组成的?如何去实现一种特定人语音识别系统
    发表于 05-19 06:44

    请问怎样去设计一种无线射频识别系统

    请问怎样去设计一种无线射频识别系统
    发表于 05-20 06:07

    如何去设计一种电子标签识别系统

    如何去设计电子标签识别系统的硬件部分?如何去设计电子标签识别系统的软件部分?
    发表于 05-21 06:49

    如何去实现一种无线远距识别系统的设计?

    本文介绍了一种基于声表面波器件的无线远距识别系统的实现。
    发表于 06-03 06:25

    怎样去设计一种基于嵌入式架构的指纹识别系统

    基于嵌入式架构的指纹识别系统是由哪些部分组成的?怎样去设计一种基于嵌入式架构的指纹识别系统呢?
    发表于 11-11 06:03

    怎样去设计一种基于LD3320芯片的嵌入式语音识别系统

    LD3320语音识别芯片的工作原理是什么?LD3320语音识别芯片有何应用?怎样去设计一种基于LD3320芯片的嵌入式语音识别系统呢?
    发表于 12-23 09:50

    怎样去搭建一种基于嵌入式平台的在线语音识别系统

    怎样去搭建一种基于嵌入式平台的在线语音识别系统呢?有哪些阶段?
    发表于 12-23 06:51

    什么是人工智能机器学习深度学习和自然语言处理?

    垂直领域得到广泛应用。根据2020年的项估计,37% 的组织已经在使用这种或那种形式的人工智能。大多数人工智能的应用是特定的技术,如计算机视觉、自然语言处理、语音
    发表于 03-22 11:19

    智能车目标识别系统的设计实现资料推荐

    1、智能车目标识别系统的实现  首先,简单介绍下上面提到的各个话题的范围 (Domain),人工智能 (Artifitial Intelligence)是最大的话题,如果用
    发表于 09-06 14:54

    划片机视觉识别系统设计原理分析

    划片机视觉识别系统设计原理分析 1 视觉识别系统构成 划片机的视觉识别系统是以计算机为主的实
    发表于 04-21 09:20 2870次阅读
    划片机<b class='flag-5'>视觉</b><b class='flag-5'>识别系统</b>设计原理分析