基于图像采集模块的在线图像识别研究

(整期优先)网络出版时间:2022-09-27
/ 3

基于图像采集模块的在线图像识别研究

马子祥,史旭东,王建增,邓海龙,仲为武

山东英才学院工学院   山东济南  250104

摘要:随着社会的不断进步和科技的发展,人们获取信息的方式也在不断增加,图像是主要的信息源之一,同时在许多领域都占据着重要地位,在某些人力无法做到的地方提供了巨大帮助。本文主要讨论基于图像采集模块的在线图像识别应用,使用openmv对图像模块的采集、处理、识别以及应用等方面的处理过程。[1]图像采集模块有许多种算法,根据算法的的不同,对特征点的提取也有所不同,在应用上有很多的选择。

关键词:图像采集模块;图像识别;openmv

0引言

图像识别技术在交通领域、医疗领域、电力行业、智能支付、工农业生产等方面都有广泛的应用,提高了人们的生活水平,推动了各个行业的创新发展,也增加对图像识别的需求,推动智能化技术和计算机技术的发展,在智能化技术和计算机技术的支撑下,图像识别和处理功能变得更加强大形成良性循环

随着大数据时代的扩大,人们肉眼的识别越来越无法满足需求,图像识别技术逐渐频繁的出现,图像识别技术属于计算机视觉图像,通过计算机算法运用,对图像进行处理、分析、理解,甚至可以“看”到肉眼无法识别的事物。图像识别在生活也占据着重要的地位,近些年疫情防护的需要使得图像识别技术大放光彩,许多场所使用图像识别技术进行人脸、二维码等的识别,极大地降低了管理成本,方便进行管理,同时还保证极高的准确,为疫情防控作出了巨大的贡献。识别首先需要对图像进行模块采集,因为在图像提取的过程中会受仪器自身和外部环境等各种因素的影响,所以必须对所提取的图像进行预处理,以便消除图像中的影响和噪音,进一步提高图像的品质。之后还需利用电脑图像处理技术,如变换、增强、分割等,对图像的特性加以提取与解析,对图像内的物质的特性加以说明。本次实验利用卷积神经网络对图像进行加工以改善图像的视觉效果并为后期的图像识别增大基础,再通过识别图像和保存的变量进行对比得到最终的结果。[2]

1.流程与原理

硬件系统包括OpenMV51单片机开发板OpenMV进行图像的采集和识别,识别结果通过串口传送至51单片机,识别结果显示在单片机开发板的TFT液晶屏幕上,如图1所示。

图1图像模块采集与识别流程图

模板匹配采用的是NCC算法(NormalizedCrossCorrelation),只能匹配与模板图片大小和角度基本一致的图案。但是,该算法的局限性相对来说比较大,如视野中的目标图案稍微比模板图片大一些或者小一些就可能匹配不成功。模板匹配适用于摄像头与目标物体之间距离确定、不需要动态移动的情况。比如,适用于流水线上特定物体的检测,而不适用于小车追踪一个运动的排球(因为运动的排球与摄像头的距离是动态的,摄像头看到的排球大小会变化,不会与模板图片完全一样)。对于多角度、多大小匹配,可以尝试保存多个模板,采用多模板匹配。基于NCC算法用来比较两幅图像的相似程度是一种常见的图像处理手段。取值范围为[-11],每个像素价值图像不合,如果它有一个子集与另外一个样本数据相互匹配,则其NCC值为1,表示相关性很高,如果是-1则表示完全不相关。NCC是基于相似度度量的匹配算法,在工业领域已被广泛采纳。NCC算法的计算公式为:

其中,I为目标图像;T为模板图像,模板大小为M×N。根据NCC算法,就可以比较模板与图像的特征,得出是否匹配

2.1图像识别系统

OpenMV摄像头是一款开源、小巧、低功耗、低成本、功能强大的机器视觉模块,OpenMV4H7PLUSSTM32H743处理器为核心,STM32H750ARMCortexM7480MHz1MB分散SRAM,增加外部8MBQSPIFLASH。包含全速USB接口,可直接连接电脑。可以通过拆卸摄像头,以允许OpenMV与不同感光元件模块相连接。集成了OV5640感光元件,摄像头本身内置了一些图像处理算法,支持RGB565以及灰度等多种图像格式,其中引出了UARTI2CSPIPWMADCDAC以及GPIO等接口方便扩展外围功能。全速USB接口(12Mbps)用于连接电脑上的集成开发环境OpenMVIDE,协助完成编程、调试和更新固件等工作,通过MicroPython语言,可以很轻松地完成机器视觉(machinevision)应用。TF卡槽支持大容量的TF卡,拥有100Mbps读写速度,可以用于存放程序和保存照片。小车使用该视觉模块进行数字识别是较为可行的方案。[3]

选用openmv是因为它具有完善的机器视觉算法,相对于其他摄像头,使用者仅需要写一些简单的Python代码,即可轻松的完成各种机器视觉相关的任务。小巧的设计,使得OpenMV可以用到很多创意的产品上。比如,可以给自己的机器人提供周边环境感知能力;给智能车增加视觉巡线功能;给智能玩具增加识别人脸功能,提高产品趣味性等;甚至,可以给工厂产品线增加残次品筛选功能等。

2.2数据处理系统

STC89C51RC是采用8051核的ISP在系统可编程芯片,最高工作时钟频率80MHz,片内含4KBytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统80C51引脚结构,芯片内集成了通用8中央处理器ISPFlash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。另外STC89X51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。[4]空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz6T/12T可选。

选择AT89C51单片机作为控制模块。ATMELAT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。它集成度高、存储容量大、外部扩展能力强、控制功能强,从内部的硬件到软件有一套完整的按位操作系统,同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,给使用者提供了极大的方便。同时,它具有乘法和除法指令,给编程也带来了便利。

3.软件设计

3.1图像模块判断

①在摄像头切换到学习模式下时,将数字模版0进行多次取样,保存到对应的变量“0”中,其余的数字模板采取相同的措施。

进入判断模式。每判断一次。就取此刻开始往后五百次数据为一组的值的和,并求平均数,将结果赋值,然后将变量分别减去其余变量。将得出的结果分别进行平方处理,然后分别赋值给变量保存。

用求最小值的简单算法将得到的变量进行最小值对比,如果变量对比的相似度高,那么这个最终得到的最小值对应的数字。

3.2图像模块识别算法

图像模块采集和识别系统由OpenMV完成,整个过程将识别数字0-9为实验目标。数字识别采用卷积神经网络对需要识别的物体进行模型训练,再将训练模型导入OpenMV。训练时首先使用OpenMVIDE构建一个数据集,将该数据集上传到云中的EdgeImpulse,利用TensorFlow深度学习算法进行神经网络训练,生成一个TensorFlowLite卷积神经网络(CNN),该网络将在OpenMVCam上运行。[5]这个数据集包括09,当数字显示在图像中时,摄像头调用内部神经网络库进行物体识别,并生成每个数字的信任程度,因此我们将置信度大于80%的数字提取出来,通过串口发给单片机,单片机判断是否是所需数字,从而达到数字识别的要求。因为模块识别有很大的漏洞,当识别模块的位置有稍微的变动,就无法识别,所以在实验中,需要对实验模块多次取样,尽量保证在样图中有不同角度模板,尽可能多的模板,可以提高识别的成功率。在识别的过程中,保持识别模板静止不动,系统的刷新率相对不高,很难对高速移动的物体进行识别,造成识别率很低的实验结果。

3.3测试流程

图2系统运行流程

4实验

4.1实验方案

首先需要0-9的数字图片,选择一个合适的环境,保持良好的光线,将openmv调制“训练模式”并固定放置位置,将数字0放置到openmv前,进行多次模板的拍摄取样;其余的数字采用同样的操作。环境对图像识别有很大的影响,在模板取样时,需适当改变室内的光线再分别取样,可一定程度的提高图像识别的准确度。

完成取样后将openmv固定好,开始进行图像识别,保持一定时间的识别,多次识别后,根据比对后得出的相似度进行判断,得出结果判断识别的数字模板;改变图片放置的位置后再重复之前的操作。完成数字模板的识别。

4.2实验步骤

1步,检查硬件设备和设备接线,检查无误时openmv应能正常进行图像获取。

2步,先将openmv的模式转换到训练模式,将系统进行初始化操作。

3步,准备好数字模板,在不同环境下对数字模板进行多次取样,并保存到变量中。

4步,固定好openmv,尽量减小晃动,提高识别的效率和准确率,将需要识别的数字模板放置到镜头前进行识别,保持一定时间后再适当变动数字模板的位置,进行角度的偏移,再进行识别。多次重复操作,可确保识别的准确度没有过大偏差。

5步,实验结束后,将所有数据统计进行分析,得出结论。

4.3测试结果

图3实验数据记录

3为实验结果,通过实验测试结果可以看出当数字模板偏移角度为0°或角度较小时,数字识别的准确度很高,偏差小,当数字模板的偏移角度逐渐增大至45°时,识别的准确度大幅的下降,并且不同数字之间的准确度偏差较大,在偏移偏大时,识别结果还有误认的情况,将“1”认作是“7”,将“8”认作是“0”等。当室内的光线有较大变化时,识别的错误率将会大幅上升,可见这次实验的图像识别方法有许多漏洞,还有待改进。

4结束语

本设计利用openmv通过模板提取与检测对图像模块进行识别显示再加以控制,

因为算法的级别不高,许多方面首先,能通过大量获取图像模板来减小实验影响。虽然模板匹配受环境和其他方面的影响较大,还有很大的发展空间,同时为生活带来很多便利,通过图像的比对,可以自动识别物品,例如车牌、人脸,方便对车辆或者人员的进出进行控制,并且该装置判断性准确、适应性强、易于推广、使用操作方便、封装占用小,具有很大的进步空间,还可以在智能家居、私人办公等公司办公场合以及商场、地下停车场、医院等领域具有极高的应用前景,为人们在日常生活中实现个人定制化及私人智能产品提供了可能。

参考文献:

[1]周利斌,刘茹,陈虎,熊光磊,滕雅欣.图像采集及处理的模块算法设计[J].电子技术与软件工程,2019(12):69.

[2][2]魏家军.图像识别在电力信息化中的应用方法研究[J].长江信息通信,2022,35(05):92-94.

[3]郑可建,张劲东,黄少波.基于OpenMV视觉分拣机器人的研发[J].电子制作,2022,30(09):27-30.DOI:10.16589/j.cnki.cn11-3571/tn.2022.09.003.

[4]吴狄,李意,袁炅,谢娅娅.基于AT89C51单片机的智能防酒驾系统设计与研究[J].南方农机,2020,51(20):83-84.

[5]付书添,查雪红,许超.基于OpenMV视觉系统的智能送药小车[J].工业控制计算机,2022,35(07):6-9.