一种基于忆阻器阵列的识别系统的制作方法

文档序号:17290916发布日期:2019-04-03 03:57阅读:752来源:国知局
一种基于忆阻器阵列的识别系统的制作方法

本发明涉及神经网络技术领域,尤其设计了一种基于忆阻器阵列的识别系统,具体是一种由上位机软件和以fpga+嵌入式开发板为核心的硬件电路构建的系统。



背景技术:

随着材料技术的发展,忆阻器作为一种有记忆功能的非线性电阻,带来了电子电路的结构体系、原理、设计理论的巨大变革,是继电阻、电容、电感之后的第四种无源基本电路元件,为电子技术中存储和处理功能的进一步发展提高提供了潜在的可能性。由于生物神经科学方面限制,虽然忆阻器已经在制作工艺方面有所改进,但其特殊的生物特性,因而其在集成电路方面实用普及仍有许多的科学技术难题要解决,并且,将忆阻器单独作为一个元器件来使用的意义并不大。但集成使用起来难度十分不易,对科研工作和忆阻器实际应用有着极高的门槛。

近年来,对于忆阻器阵列电路的等效电路的模拟仿真日益兴起,通过等效电路来实现忆阻器,虽然在使用上模拟了忆阻器的功能,在理论上有所拓展,但在实际应用领域并未有相应的较为突破性的应用发展,与此同时在实际应用研究方面,面对忆阻器研究的高成本问题,往往要使得研究机构的不堪重负。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明针对图像识别和新型器件忆阻器的特殊要求,为了使得平台更具智能化,获得更好的实用性、准确度、丰富度,采用了深度学习的算法;因为忆阻器件集成电路的信号的不定向性,针对具体的忆阻器作为突触的识别技术研究,我们可通过设计简单电路,并采用有限输入的方式来实现研究目的;与以往忆阻器识别技术开发的项目不同的的是,本次采用了软件+硬件平台的方式,为忆阻器阵列电路提供有限的输入,方便科研人员在忆阻器技术方面的丰富性研究。并可代替大量的电子突触运算,极大的节省了研究人员的精力和研究机构的研究成本。

技术方案:

一种基于忆阻器阵列的识别系统,包括图像采集模块、神经网络模块、通讯模块、fpga模块、微处理器模块、数模转换模块以及忆阻器阵列;所述神经网络模块与所述图像采集模块连接,所述神经网络模块通过所述通讯模块与所述fpga模块连接,所述fpga模块连接分别与所述微处理器模块和所述数模转换模块连接,所述忆阻器阵列与所述数模转换模块连接;

所述图像采集模块对目标图像进行采集,并将其采集得到的图像发送至所述神经网络模块;

所述神经网络模块采用人工神经网络对所述图像采集模块采集的图像进行识别,并将识别之后的结果通过所述通讯模块发送至所述fpga模块;所述神经网络模块的规模取决于输入变量的个数m和识别类型的个数n;

所述fpga模块对所述神经网络模块发送过来的数据分解成数字信号,并将其逐一传送给所述数模转换模块,同时为数模转换模块提供时序;所述fpga模块与所述微处理器模块连接,实现数据的读取、存储以及计算;

所述数模转换模块根据输入变量的个数设计成m路数模转换器;并根据所述fpga模块提供的时序接收所述fpga模块传送过来的数据,输出对应的的模拟信号至所述忆阻器阵列;

所述忆阻器阵列为由二极管同忆阻器串联之后,再通过级联的方式扩展形成的n*m阵列;所述忆阻器阵列的输出端连接有运放,在所述忆阻器阵列与所述运放连接的线路上设有按键开关sw,所述忆阻器阵列连接有电阻rx,所述rx接地;所述忆阻器阵列与所述数模转换模块连接,并接收所述数模转换模块输入的模拟信号并对所输入的模拟信号进行处理,输出信号为其中,i表示输入变量,i=1,2,…,m;j表示识别类型,j=1,2,…,n;wij表示忆阻器阵列中对应忆阻器的权重,所述输出信号经运放后,发送至所述微处理器模块;

所述微处理器模块分别与所述fpga模块和所述忆阻器阵列连接,接收经所述忆阻器阵列处理过的信号并处理输出结果最终根据输出结果得到识别的图像类型。

所述fpga模块对其分解的数字信号作如下处理:如果所述数字是正数,将所述数字信号发送至所述微处理器存储;如果所述数字是负数,采用一个字节8位末尾余1的方式对信号进行标记,然后发送给数模转换模块;在发送的时候,所述fpga模块如果检测到数字字节8位末尾余1,那么确定该数字为负数,此时将所述fpga模块的某一引脚gpiox置高,所述微处理器模块读取到所述引脚gpiox的信号,并在读取到所述数模转换模块的值之后,标记为负值;所述微处理器模块对所述输出信号进行运算其中verf为所述数模转换模块的工作参考电压。

所述神经网络模块包括识别网络模块和识别降维模块;所述识别网络模块通过设定不同的权重值和激励函数来确定网络的连接方式;所述识别降维模块采用深度学习中的卷积和池化的方式,采用混合高斯分布模型背景建模方法进行前景提取,再通过canny算子进行轮廓检测,最后通过卷积神经网络进行图像识别。

所述二极管采用肖基特二极管。

所述二极管采用msr0320、mbr0520、mbr120、mbrs1-40、mbrm110或mbrs41-0lt3g其中一种。

所述图像采集模块采用多种不同型号的独立摄像头或者电脑自带的摄像头。

所述目标图像包括手势、字母以及数字。

所述fpga模块可采用多种型号的fpga开发板。

所述微处理器模块校验所述识别系统是否正常运行;若检测到异常之后,则将出错信息通过所述通讯模块返回到所述识别系统;所述异常为微处理器模块同所述fpga模块的程序跑飞或检测数据发生错位。

所述通讯模块根据实际需要采用i2c、uart、蓝牙或nrf2401无线模块方式。

有益效果:为了使得忆阻器的应用领域研究门槛降低,增添其可扩展性,通过以上位机+fpga+stm32搭建了一种忆阻器阵列电路接口。为忆阻器阵列电路提供有限的输入,方便科研人员在忆阻器技术方面的丰富性研究。并可代替大量的电子突触运算,极大的节省了研究人员的精力和研究机构的研究成本。

附图说明

图1为本发明系统结构框图。

图2为本发明的gui界面图。

图3为fpga的连接结构图。

图4为stm32的连接结构图。

图5为数模转换器与忆阻器阵列连接结构图。

图6为忆阻器阵列电路连接图

图7为忆阻器阵列单排构成示意图。

图8为硬件整体构成示意图。

图9为本发明具体实施例的忆阻器阵列处理信号的等效参考图。

图10为系统执行流程图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

图1为本发明系统结构框图。如图1所示,本发明基于忆阻器阵列的识别系统包括图像采集模块、神经网络模块、通讯模块、fpga模块、微处理器模块、数模转换模块以及忆阻器阵列。所述神经网络模块与所述图像采集模块连接,所述神经网络模块通过所述通讯模块与所述fpga模块连接,所述fpga模块连接分别与所述微处理器模块和所述数模转换模块连接,所述忆阻器阵列与所述数模转换模块连接;

所述图像采集模块为摄像头,用于对目标图像进行采集,并将其采集得到的图像发送至所述神经网络模块;所述目标图像包括手势、字母以及数字等。所述图像采集模块的采集区域是参考所述摄像头所摄像的范围,可根据此区域对目标图像采集校准。在本发明中,所述图像采集模块可以采用多种不同型号的独立摄像头或者电脑自带的摄像头。

在本发明中,所述图像采集模块可以根据选择需识别的物体类型、依据具体的需要情况来对通道的数目选择以及选择阈值。所述阈值具体如下:为了解决(去除背景)接收到的有用信号频率相近的、系统无法滤除的干扰信号所带来的影响,采用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现。如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制,进而能够获得最佳取像效果。

所述神经网络模块采用人工神经网络对所述图像采集模块采集的图像进行识别,并将识别之后的结果通过所述通讯模块发送至所述fpga模块;所述神经网络模块的规模取决于输入变量的个数(m)和识别类型的个数(n),目的是对忆阻器充当神经突触识别功能进行验证和利用。所述神经网络模块包括识别网络模块和识别降维模块;所述识别网络模块通过设定不同的权重值和激励函数来确定网络的连接方式;所述识别降维模块采用深度学习中的卷积和池化的方式,采用混合高斯分布模型背景建模方法进行前景提取,再通过canny算子进行轮廓检测,最后通过卷积神经网络进行图像识别;所述识别降维模块在保留主要的特征同时减少参数和计算量,防止过拟合,提高模型泛化能力,有效的缓解忆阻器的数量和解决电路的问题,并且有效的提升图片的识别精度,采用了增加网络深度和宽度的同时减少参数的方式。

在本发明中,设置了gui界面,参考图2,包括:

s1、物体类型区域,设计有可根据实际需要点击的物体类型选择按钮,可实现识别物体类型的增加或者更换;

s2、通道选择区域,设计有可依据具体的需要情况来对通道的数目选择按钮,这里面通道的数目即目标物体图像、姿势、动作等目标采集的类型或者数目。

s3、阈值选择区域,因为采集图像的环境情况的不确定性,采用了滑条的阈值选定方式设计了阈值选定按钮,能够满足多种光线复杂的场所。

s4、操作平台区域,设计有对于整个技术开发平台进行操作的操作面板,用于在前面的物体识别类型、通道数目选择确定之后,对该平台进行操作,包括打开相机、前景提取、识别、自动识别、休眠及退出的操作按钮。

s5、结果报告区域,将程序执行结果报告出来,并对使用者进行操作信息提示。

所述fpga模块与所述数模转换模块相连,对所述神经网络模块发送过来的数据分解成数字信号,并将其逐一传送给所述数模转换模块,同时为数模转换模块提供时序;为了区分所述神经网络模块处理后的数字的正负,对所述数字作如下处理:如果所述数字是负数,采用一个字节8位末尾余1的方式对信号进行标记,然后发送给数模转换模块;在发送的时候,所述fpga模块如果检测到数字字节8位末尾余1,那么确定该数字为负数,此时将所述fpga模块的某一引脚gpiox置高,所述微处理器模块读取到所述引脚gpiox的信号,并在读取到所述数模转换模块的值之后,标记为负值;所述fpga模块与所述微处理器模块连接,实现数据的及时读取、存储以及计算;

在本发明中,所述fpga模块可采用多种型号的fpga开发板。

如图3、图4所示,所述数模转换模块根据所述fpga模块提供的时序接收所述fpga模块传送过来的数字信号,输出指定特征要求的模拟信号。所述数模转换模块可根据实际需求进行级联形成多路数模转换器,为实际应用的忆阻器阵列提供相应的输入信号。

在本发明中,如图5所示,所述数模转换模块采用1*m的数模转换转换器,一次只为多排中的一列忆阻器提供电压输入信号;所述的时序信号是以所述数模转换模块上的4(时钟引脚sck)、5(使能引脚cs/ld)和6(数据输入din)为基本的信号输入部分,并为多路数模转换器提供工作电压信号,从而使得数模转换器能够输出指定特征要求的信号。

所述忆阻器阵列采用多种二维材料进行合成,但在实际中使用抗电压阻值变化特性强的器件进行集成,包含有多个忆阻器件,并能够对数模转换器提供来的模拟信号进行处理;

所述忆阻器阵列可采用如图6的方式进行设计,图7方式进行扩展。所述忆阻器阵列由m个肖基特二极管同忆阻器串联之后,再通过级联的方式扩展形成n*m阵列;所述忆阻器阵列的输出端连接有运放;所述肖基特二极管与所述数模转换模块连接,由所述数模转换模块为所述忆阻器阵列提供输入信号,将流过所述忆阻器阵列的电流转化为电压信息,经运放后,发送至微处理器读取;

在本发明中,所述忆阻器阵列中采用的所述元器件二极管采用肖基特系列的二极管的性能最佳,包括msr0320、mbr0520、mbr120、mbrs1-40、mbrm110及mbrs41-0lt3g等常用二极管,正向导通基本都停留在0.2—0.3v左右,在本次中选用mbrs410lt3g正向导通电压最佳,结合图9(a)、(b)可以看出,mbrs410lt3g正向导通电压为0.24v,与此同时反向电压为1v时,才存在有极小的电流值,最终与神经网络中运算的数据精度要求所匹配。

所述忆阻器阵列如图6中b部分所示,所述m个忆阻器的封装中每一个可通过一端连接二极管,对所述数模转换模块的电流进行整流。所述二极管连接至位于图6中a图所示的多路数模转换模块提供的信号道上。

在所述忆阻器阵列与所述运放连接的线路上设有按键开关sw,所述按键开关sw选用自锁开关,用于开启单排忆阻器的正常工作,使用下拉的方式消除电路中的残余电荷量。

所述忆阻器阵列连接有电阻rx,所述rx接地;所述rx选用可调精密电阻器3296,用于和忆阻器共同产生所述忆阻器阵列中的权重w,并可通过调节rx改善调节效果。

在本发明中,所述忆阻器阵列为n排1*m的忆阻器阵列形成的n*m忆阻器阵列。

在本发明中,若根据所述神经网络模块的规模需要扩充忆阻器的阵列,对应的1*m的数模转换转换器,可通过同其他型号的数模转换器或者本型号的数模转换器级联的方式扩充为1*p(p>m)的多路输出模式。

图8为本发明具体实施例采用的忆阻器阵列处理信号的等效参考图。如图8所示,本发明具体实施例采用的忆阻器阵列采用的是4*8的忆阻器阵列,对应的所述神经网络模块的规模为输入变量的个数为8,识别类型的个数为4;所述忆阻器阵列正常工作时,调节rx后,开关sw按下,由所述数模转换模块提供的输入信号并通过如图8所示的忆阻器阵列,得到输出信号为其中,i表示输入变量,i=1,2,…,8;j表示识别类型,j=1,2,…,4;wij表示忆阻器阵列中对应忆阻器的权重,rx是运放电路中电阻rx的阻值,rmij是忆阻器阵列中忆阻器的已训练好的阻值;之后运放将输出信号放大输出,发送至所述微处理器模块。

所述微处理器模块分别与所述fpga模块和所述忆阻器阵列连接,接收经所述忆阻器阵列处理过的信号并处理,标记所述忆阻器阵列中的忆阻器权重的正负,输出结果最终根据输出结果得到识别的图像类型。所述微处理器读取所述fpga模块的引脚信号来判断其正负,若为正,只需将处理的信号存储即可;若为负,为了消除之前区分所述神经网络模块处理后的数据的正负锁引入的一个字节8位末尾余1的方式对信号进行标记中1带来的误差,则对所述输出信号进行运算消除测量过程中的误差;其中verf为所述数模转换模块的工作参考电压。

所述微处理器模块还可以校验所述识别系统是否正常运行,若检测到异常之后,则将出错信息通过所述通讯模块返回到所述识别系统;所述异常为所述微处理器模块同所述fpga模块的程序跑飞或检测到数据发生错位等。

所述通讯模块可根据实际需要采用i2c、uart、蓝牙、nrf2401无线模块等方式,在本发明中为了信号传输的稳定性,选用了串口通信。

本发明的步骤如下:

步骤1:所述图像采集模块对目标图像进行采集,并将其采集得到的图像发送至所述神经网络模块;

步骤2:所述神经网络模块采用人工神经网络对所述图像采集模块采集的图像进行识别,并将识别之后的结果通过所述通讯模块发送至所述fpga模块;所述神经网络模块包括识别网络模块和识别降维模块;所述识别网络模块通过设定不同的权重值和激励函数来确定网络的连接方式;所述识别降维模块采用深度学习中的卷积和池化的方式,采用混合高斯分布模型背景建模方法进行前景提取,再通过canny算子进行轮廓检测,最后通过卷积神经网络进行图像识别;

步骤3:所述fpga模块对所述神经网络模块发送过来的数据分解成数字信号,并将其逐一传送给所述数模转换模块,同时为数模转换模块提供时序;为了区分所述神经网络模块处理后的数字的正负,对所述数字作如下处理:如果所述数字是负数,采用一个字节8位末尾余1的方式对信号进行标记,然后发送给数模转换模块;在发送的时候,所述fpga模块如果检测到数字字节8位末尾余1,那么确定该数字为负数,此时将所述fpga模块的某一引脚gpiox置高,所述微处理器模块读取到所述引脚gpiox的信号,并在读取到所述数模转换模块的值之后,标记为负值;

步骤4:所述数模转换模块根据所述fpga模块提供的时序接收所述fpga模块传送过来的数字信号,输出指定特征要求的模拟信号;

步骤5:所述忆阻器阵列接收所述数模转换模块提供的输入信号得到输出信号为再通过运放将输出信号放大输出,发送至所述微处理器模块;

步骤6:所述微处理器模块分别与所述fpga模块和所述忆阻器阵列连接,接收经所述忆阻器阵列处理过的信号并处理,标记所述忆阻器阵列中的忆阻器权重的正负,输出结果最终根据输出结果得到识别的图像类型。

本发明以上位机+fpga+stm32平台,融合了忆阻器材料技术、深度学习算法、软件驱动技术、图像处理技术和自动控制技术构件了该平台,核心在于对忆阻器平台的构架和操作,使得忆阻器作为电子突触的应用领域研究门槛降低,通过其可扩展性,使得更多的关于忆阻器的识别类应用可利用该平台来实现,从而对有效地降低忆阻器识别类应用在技术研发时所耗费的成本具有十分重要的意义。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1