我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:白小姐 > 分布式算法 >

基于数字特征的识别算法设计实现

归档日期:05-30       文本归类:分布式算法      文章编辑:爱尚语录

  现如今随着机器识别技术的日益成熟,在我们的日常生活中机器识别也随处可见。大家常见的有二维码识别,指纹识别,车牌识别等,这些技术已经相当成熟。还有现如今比较火的无人驾驶系统。无人驾驶系统中存在很多机器识别技术,包括对人或移动物体的识别,路标识别,以及距离估算等。而各种识别系统中,对数字的识别是必不可少的。数字在我们人类世界无处不在。

  2)使用通用的 MCU 微型处理器(例如 51 单片机、 ARM 等)上进行实现;

  除以上四种方法以外, FPGA 以其独有的硬件可并行运行的优势,打破了传统处理器顺序执行的模式,可在一个时钟周期内并行完成多个运算,相比于 DSP 在处理速度与处理能力上有了大幅的提高, 在具有成本低、集成化程度高、便于后期维护、 升级等优势的同时使系统的运行速度能够满足图像实时处理的需求,所以本设计决定采用 FPGA 作为硬件平台,设计与实现一种基于FPGA 的数字识别系统。

  通常,针对印刷体数字识别使用的算法有:基于模版匹配的识别方法、基于BP 神经网络的识别方法、基于数字特征的识别方法等。下文将对这几种算法进行讨论以及比较。

  模版匹配法是一种被较早应用的数字识别算法,该算法的关键是对所要识别的所有数字进行模版构建,之后将图像中的数字与所有的数字模版一一进行比较,计算出图像中数字与每个模版的相似度,根据所计算出的相似度结果进行识别。其中相似度最高的模版即为我们所要识别的结果。模版匹配法的对数字的大小、结构形状的规范化程度要求很高,数字的规范化程度对识别的准确率有着直接的影响。该算法原理较为简单,但计算复杂度过大,同时不利于 FPGA 的实现。

  神经网络识别的方法是模仿动物神经网络的特征,对信息进行分布式并行处理的一种算法。神经网络识别算法具有一定的抗干扰能力,但为了保证识别的准确率,该算法需要负责并且大量的计算,来对神经网络进行训练,而过于复杂的计算不利于 FPGA 对该算法的实现。

  基于数字特征的识别算法其核心是通过对数字的形状以及结构等几何特征进行分析与统计,通过对数字特征的识别从而达到对图像中数字的识别。

  我们采用基于数字特征的算法进行数字的识别,通过图像采集模块采集到图像,进行灰度化,二值化,然后进行数字特征的提取和统计来完成对数字的识别,最终显示到数码管上,完成图像信息到数字信息的转化。

  数字特征信息的提取基于打印体,如上图1,图2,图3所示,以图3数字5举例,红框是数字5的水平和竖直的上下左右边界。X1在竖直方向的2/5处的水平线处的水平线处的水直线。我们以此特征来统计x1,x2,y与数字5的交叉点。

  由于2,3,5的数字特征统计表一样,无法区分所以我们继续增加数字特征以区分2,3,5。如表2:

  这样通过数字统计完全区分开数字0-9。然后利用FPGA系统搭建实时数字识别系统。

  如图4所示,我们图像采集使用 ov5640 500W像素摄像头,采集到的彩色RGB图像首先存入SDRAM中,然后由TFT显示控制端读出图像数据,读出RGB图像数据后,我们首先进行RGB转Ycbcr算法操作,然后对灰度图像进行阈值分割,形成二值图像。对二值数字图像进行数字识别,最终显示在数码管上。

本文链接:http://frankstella.net/fenbushisuanfa/316.html