买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于GPU和双尺度图像特征比对的中药识别方法及系统_济南大学_201811527910.X 

申请/专利权人:济南大学

申请日:2018-12-13

公开(公告)日:2022-09-23

公开(公告)号:CN109615574B

主分类号:G06T1/20

分类号:G06T1/20;G06V10/80;G06V10/774;G06V10/82;G06N3/04

优先权:

专利状态码:有效-授权

法律状态:2022.09.23#授权;2019.05.07#实质审查的生效;2019.04.12#公开

摘要:本申请公开了基于GPU和双尺度图像特征比对的中药识别方法及系统,首先通过专门设计的图像采集装置进行双尺度图像的采集,将训练图像送入卷积神经网络进行训练,经过多层卷积池化的特征提取与选择,训练得到识别精度较高的卷积神经网络模型。将待测图像送入训练好的卷积神经网络模型中进行特征提取,基于提取的特征对中药材进行分类,输出分类识别结果。本发明有利于提高普通人对药材的识别能力,辅助药材领域专家更准确快速的辨别药材。

主权项:1.基于GPU和双尺度图像特征比对的中药识别方法,其特征是,包括:构建双尺度卷积神经网络,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像,设置训练图像对应的药材分类标签,对每种药材的两张训练图像均进行预处理,将预处理后的每种药材的两张训练图像作为一组输入值,两张训练图像并列输入到双尺度卷积神经网络中,将药材分类标签作为卷积神经网络的输出值,对卷积神经网络进行训练,得到训练好的卷积神经网络;将双尺度卷积神经网络第一卷积层部署到图形处理单元GPU上,双尺度卷积神经网络第一卷积层在GPU上工作;其中,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像的具体步骤为:采用抽屉盒子对每一种药材进行拍摄,所述抽屉盒子,包括方形盒子本体,所述方形盒子本体包括顶面、底面、左侧面、右侧面、前侧面和后侧面,所述左侧面和右侧面的内侧均设有滑轨,所述滑轨分别设置在左侧面和右侧面的垂直方向的中间位置;所述方形盒子本体内部中间位置设有抽屉,所述抽屉的左右两侧分别安装在左侧面和右侧面内侧的滑轨上;所述抽屉将方形盒子本体划分为上下两个空间,所述方形盒子顶面设有矩形开槽,所述矩形开槽用于放置手机;所述手机与后台服务器连接;拍摄前,将药材放入抽屉中,关闭抽屉后,启动手机的拍照模式,对抽屉内的药材拍摄第一张训练图像;然后,将抽屉从方形盒子本体中抽出,将药材放置在方形盒子底面上,启动手机的拍照模式,对方形盒子底面的药材拍摄第二张训练图像;第一张训练图像是显示药材局部区域的局部图像,第二张训练图像是显示药材整体区域的整体图像;所述双尺度图像指输入的图像源数据为在相同分辨率下的整体与局部两种视野的图像;将已知药材分类标签的图像送入已经训练好的卷积神经网络中,得到进行若干次卷积和池化的特征提取,得到与药材一一对应的特征向量,将特征向量与对应的药材分类标签保存到特征数据库中;使用抽屉盒子采集待识别药材的相同分辨率下的整体和局部两张待测图像,对待识别药材的两张待测图像均进行预处理,将两张待测图像作为一组输入值,两张待测图像并列输入到训练好的卷积神经网络中,利用训练好的卷积神经网络提取到两张待测图像的图像特征向量,计算待测图像特征向量与特征数据库中所有特征向量的相似度;将特征数据库中相似度最高特征向量所对应的药材标签作为待测图像对应的药材的识别结果。

全文数据:基于GPU和双尺度图像特征比对的中药识别方法及系统技术领域本公开涉及GPU高性能计算、图像处理、中药识别、深度学习、应用开发领域,尤其涉及基于GPU和双尺度图像特征比对的中药识别方法及系统。背景技术本部分的陈述仅仅是提高了与本公开相关的背景技术,并不必然构成现有技术。中药材的正确使用,对患者的生命安全起到了至关重要的作用。现在中药材领域专家稀少,很多药房实习医生不熟悉药材的辨别,错误使用药材,极有可能造成非常严重的后果。目前中药市场真药混杂假药,即使是医药相关人员也不一定能够确保药材的正确认识。中药材种类众多,极大的增大了辨别的难度。申请号为2017102991182,发明名称为:一种基于深度学习的中药材识别装置,其采用摄像模块获取识别中药材图像,经过对图像处理后,利用预先训练得到的深度学习网络识别待识别中药材图像,依次通过卷积层、池化层和全连接层厚得到中药材属性概率,进而确定中药材属性信息。该专利虽然能够实现中药材识别,但是,申请人认为,该专利的人工拍照环节没有采用特殊装置拍照,无法避免拍照光线不足、拍照反光、拍照手抖等问题拍摄出来的不能精确识别药材类型的图像,会导致后期卷积神经网络识别精度不高;且该专利采用的是普通的卷积神经网络算法,存在的问题是识别速度不快。发明内容为了解决现有技术的不足,本公开提供了基于GPU和双尺度图像特征比对的中药识别方法及系统;第一方面,本公开提供了基于GPU和双尺度图像特征比对的中药识别方法;基于GPU和双尺度图像特征比对的中药识别方法,包括:构建双尺度卷积神经网络,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像,设置训练图像对应的药材分类标签,对每种药材的两张训练图像均进行预处理,将预处理后的每种药材的两张训练图像作为一组输入值,两张训练图像并列输入到双尺度卷积神经网络中,将药材分类标签作为卷积神经网络的输出值,对卷积神经网络进行训练,得到训练好的卷积神经网络;将双尺度卷积神经网络第一卷积层部署到图形处理单元GPU上,双尺度卷积神经网络第一卷积层在GPU上工作;将已知药材分类标签的图像送入已经训练好的卷积神经网络中,得到进行若干次卷积和池化的特征提取,得到与药材一一对应的特征向量,将特征向量与对应的药材分类标签保存到特征数据库中;使用抽屉盒子采集待识别药材的相同分辨率下的整体和局部两张待测图像,对待识别药材的两张待测图像均进行预处理,将两张待测图像作为一组输入值,两张待测图像并列输入到训练好的卷积神经网络中,利用训练好的卷积神经网络提取到两张待测图像的图像特征向量,计算待测图像特征向量与特征数据库中所有特征向量的相似度;将特征数据库中相似度最高特征向量所对应的药材标签作为待测图像对应的药材的识别结果。进一步的,将双尺度卷积神经网络第一卷积层部署到图形处理单元GPU上,双尺度卷积神经网络第一卷积层在GPU上工作的具体步骤为:步骤S1:输入的一组训练图像,包括拍摄角度不同的两张训练图像,每张训练图像包括三个输入矩阵;两张训练图像一共包括六个输入矩阵;步骤S2:输入的一组图像与卷积核进行卷积操作;所述步骤S2包括如下步骤:步骤S21:初始化GPU参数;GPU参数,包括:线程块数与每个线程块的线程数;步骤S22:将每一个卷积过程中图像矩阵总数和卷积核总数传递到GPU的全局存储器中;步骤S23:为每一个卷积过程分配一个线程,将当前卷积过程中待使用的图像矩阵和卷积核送到对应的线程中,启动各线程,并行执行各线程;各线程并行计算每个线程对应的卷积结果;步骤S24:将步骤S23中所得到的卷积结果进行相应求和处理,得到相应矩阵。所述步骤S22,包括:步骤S221:针对输入的6个图像矩阵,每一个输入图像矩阵分别被复制为m个矩阵;针对m个卷积核,每一个卷积核分别被复制6份;其中,m为每一个输入图像矩阵所对应的卷积核数;步骤S222:将图像矩阵与卷积核分别一一对应后,分配到同一个线程中去。所述步骤S23的卷积公式为:其中,i∈[0,5],j∈[0,m-1],Iij为第i个输入图像矩阵的第j个复制图像矩阵,Kij为第i个输入图像矩阵的第j个卷积核,m为每一个图像复制后的数目,Cij为第i个输入图像矩阵的第j个卷积后的结果。因此具体的线程ID与卷积任务号的对应关系为,第i*6+j个线程负责图像矩阵Iij与卷积核Kij的卷积。m一般取20或24,本发明设置为20,这样就是20*6=120个任务。常见的NVDIA显卡每个线程块一般有192个线程,因此本发明一般只需要用到一个线程块即可。由于不同显卡的主频限制,本部分计算的加速比可达到60到80倍左右。所述步骤S24包括:将步骤S23中的卷积计算结果进行求和,求和结果Mj为:进一步的,将已知药材分类标签的图像送入已经训练好的卷积神经网络中,得到进行若干次卷积和池化的特征提取,得到与药材一一对应的特征向量,将特征向量与对应的药材分类标签保存到特征数据库中的具体步骤为:将已知类别的每一组图像依次送入训练好的卷积神经网络中,依次进行第一次卷积、第一次池化、第二次卷积、第二次池化、第三次卷积和第三次池化过程;将最后一次池化后所得到的特征向量结果与该图像的类别一起保存下来,作为一条药材的特征记录;依次将每一条记录,保存到数据库中,构成特征数据库。进一步的,所述双尺度卷积神经网络,包括:依次连接的输入层、第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、全连接层和输出层;所述输入层,包括六个通道,其中三个通道用于接收第一尺度的整体图像,另外三个通道用于接收第二尺度的局部图像;每张图像包括RGB三个通道即3个像素矩阵;所述输入层的输入为六个像素矩阵,六个像素矩阵中,有三个像素矩阵来源于拍摄的整体图像,另外三个像素矩阵的来源于拍摄的局部图像;矩阵大小为92*92*6;所述第一卷积层,用于与所述输入层的像素矩阵进行卷积操作,提取图像特征,卷积核选用5*5*6*20,偏置大小为20*1,得出特征图大小为88*88*20;所述第一池化层,用于对所述第一卷积层提取的图像特征像素矩阵进行降维操作,提取显著特征信息,选用卷积核大小为2*2,降维之后的特征图大小为44*44*20;所述第二卷积层,用于对所述第一池化层得出的特征图进一步的进行卷积操作,提取图像特征,卷积核选用5*5*6*24,偏置大小为24*1,得出特征图大小为40*40*24;所述第二池化层,用于对所述第二卷积层得出的特征图进一步降维,提取显著特征信息,选用卷积核大小为2*2,降维之后的特征图大小为20*20*24;所述第三卷积层,用于对所述第二池化层得出的特征图进一步卷积操作,提取图像特征,卷积核选用5*5*6*20,偏置大小为24*1,得出特征图大小为16*16*24;所述第三池化层,用于对所述第三卷积层得出的特征图进一步降维操作,提取显著特征信息,选用卷积核大小为2*2,降维之后特征图大小为8*8*24;所述全连接层,用于对所述第三池化层得出的图像特征进行整合,权重矩阵大小为p*1536,偏置为p*1。所述输出层,用于输出识别分类结果,输出矩阵大小为p*1,该结果代表输入样本中对应的p种药材类别的概率,取最大值所在的类别为分类结果。之所以采集相同分辨率下同一种中药材的整体和局部两张图像,而不是简单的图像缩放,是考虑到颗粒小的中药材或纹理相似的中药材;所述颗粒小的中药材例如菟丝子和沙苑子;纹理相似的中药材例如丹皮和白鲜皮;常规聚焦之后拍摄的图像从整体上看并无明显区别,这种训练样本如果直接送到卷积神经网络里,是无法准确的提取到其高层特征的。因此本申请对每一份药材采集两种尺度的训练图像,从底层特征的抽取开始就帮助卷积神经网络尽可能获取训练图像更多的纹理、形状、颜色等底层细节,提高训练效率和最终的识别精度。进一步的,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像的具体步骤为:采用抽屉盒子对每一种药材进行拍摄,所述抽屉盒子,包括方形盒子本体,所述方形盒子本体包括顶面、底面、左侧面、右侧面、前侧面和后侧面,所述左侧面和右侧面的内侧均设有滑轨,所述滑轨分别设置在左侧面和右侧面的垂直方向的中间位置;所述方形盒子本体内部中间位置设有抽屉,所述抽屉的左右两侧分别安装在左侧面和右侧面内侧的滑轨上;所述抽屉将方形盒子本体划分为上下两个空间,所述方形盒子顶面设有矩形开槽,所述矩形开槽用于放置手机;所述手机与后台服务器连接;拍摄前,将药材放入抽屉中,关闭抽屉后,启动手机的拍照模式,对抽屉内的药材拍摄第一张训练图像;然后,将抽屉从方形盒子本体中抽出,将药材放置在方形盒子底面上,启动手机的拍照模式,对方形盒子底面的药材拍摄第二张训练图像;第一张训练图像是显示药材局部区域的局部图像,第二张训练图像是显示药材整体区域的整体图像;所述双尺度图像指输入的图像源数据为在相同分辨率下的整体与局部两种视野的图像。第一张训练图像和第二张训练图像同时上传给后台服务器。所述抽屉盒子,在抽屉关闭时,整个抽屉内部是密封的,由于抽屉的前侧面有一个上下推拉式的门,所以抽屉拿掉后,将推拉门关闭,整个盒子内部仍是密封的,即为药材建立一个暗箱环境,从而避免外部光照射进入抽屉盒子内部,进而干扰药材的拍摄。所述抽屉盒子,顶面设有S形排列的灯珠,所述灯珠通过电池供电,所述灯珠发出的光为平行白光,以保证抽屉盒子内部亮度一致。选用白光是为了防止其他颜色的灯光照射到药材上,可能改变药材本身的颜色而影响识别效果;选用平行光而不是点光源,是因为平行光相较于点光源,各处的光照强度更为均衡,不易产生光偏移以及光斑,更难以产生明显的偏暗区域,可以更好的保证所拍药材图像的真实性和有效性。所述抽屉盒子采用白色的树脂材料,抽屉盒子外部贴有一层黑色的不透光贴纸,避免光线照射到抽屉盒子内部,对拍照产生反光影响,保证该设备除了内部的光源,不会再接受其他任何光源的影响。所述手机放在矩形开槽上,可以避免拍照时候,人的拍摄角度或手部颤抖等不确定因素对图像的清晰度产生的影响。进一步的,设置训练图像对应的药材分类标签的具体步骤为:分类标签上设置药材唯一编号和药材对应的名称。进一步的,对每种药材的两张训练图像均进行预处理的具体步骤为:为了扩展训练图像的数量,对拍摄的图像进行随机处理,并对随机处理后得到的图像与处理前的训练图像一起作为训练图像;所述随机处理,包括:随机旋转或翻转;随机色调变换、随机模糊或随机光偏移场。进一步的,将预处理后的每种药材的两张训练图像作为一组输入值,两张训练图像并列输入到双尺度卷积神经网络中,将药材分类标签作为卷积神经网络的输出值,对卷积神经网络进行训练,得到训练好的卷积神经网络的具体步骤为:输入的一组训练图像,包括拍摄角度不同的两张训练图像,每张训练图像包括三个输入矩阵;两张训练图像一共包括六个输入矩阵;输入的一组图像与卷积核进行卷积操作,1个输入矩阵对应m个卷积核经过卷积操作即得出m个特征图,6个输入矩阵对应6*m个卷积核,经过卷积操作即得出6*m个特征图,将所述6*m个特征图中,对应的每6个特征图进行特征融合,即相加为1个特征图,即最终得到m个特征图;池化层对所得特征图取平均操作,最终输出特征融合后的m个图像像素矩阵,矩阵经过全连接层的分类识别,输出p种药材的识别概率,根据输出结果与实际结果的比较,得出输出层误差,运用梯度下降法,经过误差反向传播,逐层反馈,调节网络各层参数;进行若干次迭代训练,对参数进行调整,当卷积神经网络的损失函数值小于设定阈值或者迭代次数达到设定次数时,停止训练,得到训练好的卷积神经网络。m为卷积核的一个参数,取值为20或24。进一步的,对待识别药材的两张待测图像均进行预处理的具体步骤为:对待测图像的大小进行压缩处理,使压缩处理后的结果适合输入到训练好的卷积神经网络中。进一步的,利用训练好的卷积神经网络提取到两张待测图像的图像特征向量的具体步骤为:步骤S31:1个输入矩阵对应m个卷积核得到m个特征图,一组待测图像为6个输入矩阵即对应6*m个卷积核得到6*m个特征图,将特征图对应的每6个进行特征融合相加为1个特征图,最终得到m个特征图;池化层对所得特征图取平均操作,最终输出特征融合后的m个图像像素矩阵;步骤S32:将特征融合后的m个图像像素矩阵加上偏置,进而将所得矩阵的每个元素输入到sigmoid激活函数中,提取图像的轮廓和轮廓各部分所在位置特征;继而进入池化层进行像素矩阵的降维,突出主要特征;步骤S33:经过所有卷积层与池化层的特征提取与选择,实现特征的融合;最终将所得特征矩阵按照顺序拉成一列向量。进一步的,计算待测图像特征向量与特征数据库中所有特征向量的相似度;将特征数据库中相似度最高特征向量所对应的药材标签作为待测图像对应的药材的识别结果的具体步骤为:步骤S41:将所得特征矩阵拉成一列向量,送入全连接层;步骤S42:将取得的待测图像的特征向量与特征数据库中的特征向量通过余弦相似度或向量距离进行相似度计算;步骤S43:对相似度计算结果进行处理,将相似性最高的特征向量所对应的药材类别,作为最终的药材类别。步骤S42若使用向量距离,则将特征数据库中的每一个向量与待测图像所提取的特征向量进行欧式距离的计算:dX,Y=||X-Y||其中,X代表特征数据库中的特征向量,Y代表待测图像所提取的特征向量,dX,Y代表两向量间的欧式距离。将经过计算得到的n个距离进行从小到大排序,取距离最短的k个值进行进一步比对,选出出现次数最多的药材类别,作为该药材的类别。步骤S42若使用余弦相似度,则将特征数据库中的每一个向量与待测图像所提取的特征向量进行余弦相似度计算:其中,X代表特征数据库中的特征向量,Y代表待测图像所提取的特征向量;取余弦相似度最高的k个值进行进一步比对,选出出现次数最多的药材类别,作为该药材的类别,k为奇数。作为本发明的第二方面,还提出了一种基于GPU和双尺度图像特征比对的中药识别系统;一种基于GPU和双尺度图像特征比对的中药识别系统,包括:手机和后台服务器,所述后台服务器上部署有存储器、处理器和GPU;所述存储器用于存储计算机指令,所述计算机指令被处理器和GPU运行时,完成上述任一方法所述的步骤。与现有技术相比,本公开的有益效果是:1、本申请提供了一种用于采集的新型抽屉盒子,利用此装置进行采集可以有效避免人为拍摄时光照情况、拍摄角度以及手部颤动等不确定因素产生的影响,提高系统识别时的鲁棒性和稳定性。2、本申请中采用双尺度图像作为卷积神经网络的输入,即同一种药材两种尺度图像一同送入卷积神经网络,可以帮助卷积神经网络提取一些纹理形状极为相似的药材的高层区别特征,有效的提高卷积神经网络的识别精度。采用双尺度图像能够适应现实中人们不同角度拍摄的问题,使之在不同视野拍摄过程中仍能进行准确识别。采用双尺度输入同时也可以获得不同尺度的纹理、形状等细节信息,提高神经网络的识别率。双尺度卷积神经网络同时输入两张图像,也有利于对图像的快速识别,提高图像识别的速度。3、本发明是一种实时识别系统,对于用户所拍摄的药材图像能够快速返回识别结果,实时性较好。4、弥补了药材领域专业人士的匮乏,提高业余人士对药材的认识,能够快速准确的对药材进行辨认。本申请有效弥补了我国大力发展中医药产业背景下,药材识别人员不足,药材识别存在困难,相似药材容易混淆的不足。5、采用GPU高性能计算将运算过程复杂,时间复杂度高的卷积计算任务细化成为了多个GPU线程进行并行运算,从而大大减少了运行的时间,提高了效率。6、采用相似性检测测试待测图像的类别,实现了对待测图像类别检测的快速分析,避免了复杂运算所带来的时间复杂度,提高了效率,减少了运行时间,使用户在更短的时间内得到需要的结果。附图说明构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。图1是本申请的步骤流程图;图2是本申请的抽屉盒子示意图;图3是本申请卷积神经网络的结构示意图;图4是本申请卷积神经网络的结构示意图。具体实施方式应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和或“包括”时,其指明存在特征、步骤、操作、器件、组件和或它们的组合。利用卷积神经网络对输入的双尺度药材图像样本进行分类。由于同时送入的药材图像为整体和局部两张图像,一张图像包括RGB三个通道为3维矩阵,即卷积神经网络的输入为六通道,6个矩阵。通过GPU高性能计算,根据卷积神经网络的输出结果与实际药材信息的差值逐层反馈,训练神经网络的各参数值,最终得到精确的分类结果,如图4所示。如图1所示,基于双尺度图像特征融合的中药材识别方法,包括如下步骤:步骤S1:采集药材图像,对图像进行预处理。为了提高机器学习的准确率,在采集药材的过程中,针对同一种药材拍同一个角度拍摄两次,一远一近,将图像尺寸统一为500*500大小,然后将同一药材的远近图像送入图像处理函数中,对图像经过随机裁剪、随机旋转或翻转、随机色调变换、随机模糊、随机光偏移场等处理之后输出尺寸为92*92大小的图像作为卷积神经网络模型的输入。步骤S2:由于数据集过于庞大,每次从远近图像集中随机各选取5张图像进行训练,要保证从远图像集中选取的5张图像与近图像集中的5张图像是一一对应关系。每张图像的像素矩阵大小为92*92*3,要将远近两张图像同时送入,即输入尺寸大小为92*92*6,由之前的三通道变为六通道,送入卷积神经网络中进行训练。步骤S3:如图3所示,卷积神经网络采取三层卷积层和三层池化层,第一卷积层卷积核为5*5*6*20,输出10张特征图;第二卷积层卷积核为5*5*6*24,输出12张特征图;第三卷积层卷积核为5*5*6*24,输出24张特征图。这三层的池化层卷积核均为2*2。步骤S4:初始化卷积神经网络,各参数赋设置如下:学习率0.1,迭代次数3000,输入2张图像即6个矩阵,图像大小92*92,卷积核大小为5*5,对于第一、二、三卷积层,卷积核赋值范围均为-1到1之间的随机数,偏置初始值为0,对于第一、二、三池化层,采用的池化方式为mean-pooling平均池化方式,即取卷积核值均为0.25,偏置初始值为0,全连接层的权重值取-1到1之间的随机数,偏置初始值赋为0。步骤S5:利用卷积神经网络对各个小训练集进行训练,在卷积过程中,1个输入矩阵对应m个卷积核经过卷积操作即得出m个特征图,6个输入矩阵对应6*m个卷积核,经过卷积操作即得出6*m个特征图,将这6*m个特征图每隔6个进行特征融合相加为1个特征图,即最终得到m个特征图。m为卷积核的一个参数,建议取20。这一过程中,所述第一层GPU高性能卷积计算过程为:步骤S1:输入的一组训练图像,包括拍摄角度不同的两张训练图像,每张训练图像包括三个输入矩阵;两张训练图像一共包括六个输入矩阵;步骤S2:输入的一组图像与卷积核进行卷积操作所述步骤S2包括如下步骤:步骤S21:初始化GPU参数,包括线程块数与每个块的线程数;步骤S22:将每一个卷积过程中需要的图像矩阵总数和卷积核总数传递到GPU的全局存储器中;步骤S23:为每一个卷积过程分配1个线程,将该卷积过程中需要的图像矩阵和卷积核送到该线程中,启动各线程并行执行;各线程并行计算每个线程对应的卷积结果;步骤S24:将步骤S23中所得到的卷积结果进行相应求和处理,得到相应矩阵。所述步骤S22包括如下步骤:步骤S221:将I6个图像矩阵分别复制为m个矩阵;所述步骤S221中m为每一个输入图像矩阵所对应的卷积核数,推荐为20。步骤S222:将图像矩阵与卷积核分别一一对应后,分配到同一个线程中去。所述步骤S23的卷积公式为:其中,i∈[0,5],j∈[0,m-1],Iij为第i个输入图像矩阵的第j个复制图像矩阵,Kij为第i个输入图像矩阵的第j个卷积核,m为每一个图像复制后的数目,Cij为第i个输入图像矩阵的第j个卷积后的结果。所述步骤S24包括如下步骤:将步骤S23中的卷积计算结果进行求和,求和公式为:第二、三层卷积为常规卷积操作,其输出的特征图的个数等于该层卷积的输入特征图的个数。第一、二、三卷积层所用公式如下:其中a为输出矩阵,I为输入的双尺度图像矩阵,ω为卷积核,b为偏置,f指的是激活函数,本申请采用sigmoid激活函数。函数公式如下:其中第一层卷积过程采用GPU高性能计算的方法进行卷积计算,第二、三层为正常卷积计算过程。池化层采用的是平均池化方式,mean-pooling方法。步骤S6:由第三池化层输出24张特征图,大小为8*8,将这些图像像素矩阵值拉成一列向量作为全连接层,总共8*8*24=1536个神经元,该层的权值矩阵大小为17*1536,偏置为17*1,经过每个神经元与权值对应相乘的加和再加上偏置,经过sigmoid激活函数得出17种药材类别的概率。步骤S7:根据得出的结果与实际结果比较,对卷积神经网络的参数进行反向调节,使其得出的结果更加准确。这里采用的损失函数为经典的均方误差MSE来评估结果,MSE越小,中药材分类的模型效果越好。其中n为分类类别,act为样本实际值,pre是预测值,属于此类预测值为1,不属于此类预测值为0。步骤S8:计算出输出层结果与实际结果之间的误差,反向传播回来的误差可以看作是每个神经元的灵敏度。输出层的神经元灵敏度为:uL=ωLxL-1+bLδ表示灵敏度,f′表示激活函数的导数,y表示输出值,t表示实际值。表示矩阵对应元素相乘。ω表示权值,x表示上一层输入,b表示偏置。步骤S9:全连接层的误差对于该层每一个权值的导数是该层的输入与该层灵敏度的叉乘,得到的偏导数乘以学习率就是该层神经元的权值更新,公式如下:其中,E表示均方误差,δ表示灵敏度即误差,f’表示激活函数的导数,表示矩阵对应元素相乘。ω表示权值,x表示上一层输入,η表示学习率。步骤S10:由步骤S9得出全连接层的误差,由于全连接层是第三池化层拉成的一列向量,所以全连接层的误差经过矩阵重构即第三池化层误差。步骤S11:由步骤S10已知第三池化层误差,根据该层误差继续反向推导,从缩小后区域的误差来还原前一层较大区域的误差,这个过程叫做upsample。第三池化层区域大小为2*2,把误差矩阵上下左右扩展各1行1列,即变为4*4大小,还原后的矩阵包括四个2*2的小矩阵,对于每一个小矩阵都进行平均计算,得到的矩阵就是upsample之后的矩阵。由第三池化层误差推导出第三卷积层误差的公式为:步骤S12:对于该层是第一、第二、第三卷积层的时候,前向传播时就有卷积操作,已知第一、二、三卷积层误差,求第一、二池化层误差时,卷积核要翻转180°进行计算,公式如下:表示卷积操作,rot180x表示x上下左右翻转180°步骤S13:计算出第一、二、三卷积层的误差,对第一、二、三卷积层的卷积核以及偏置进行更新求梯度,更新式如下:a表示上一层的输出,对于卷积核的更新即该层的误差与前一层输出翻转180°后做卷积,对于偏置的更新即误差δ的各个子矩阵的项分别求和,得到一个误差向量,即为b的梯度。步骤S14:经过多次迭代训练,不断的对参数进行调整,当误差小于0.1时,即结束训练。若误差达不到设定的最小值,即迭代3000次结束训练。步骤S15:最终得出该药材的分类结果,即对于每一个92*92*6的图像像素矩阵,输出的17个结果代表17种药材类别的概率,取最大值所在类别为该图像的类别。步骤S16:将已知类别的图像再次送入训练好的模型中,依次进行卷积,池化,卷积,池化,卷积,池化过程。将最后一次池化后所得到的向量结果与该图像的类别一起保存下来,作为一条药材的特征记录。依次将每一条记录,通过网络保存到服务器的数据库中,构成特征数据库。实施例二本实施例具体从药材采集设备的准备,训练模型,实际测试几个方面介绍一种基于双尺度图像特征融合以及数据增强的中药材识别技术,具体过程如下:一、药材采集设备的准备当人为的进行拍照,收集要识别的药材素材的时候,人们拍照时的光照情况,拍摄角度,以及手部颤动等不确定因素会对取得的照片产生影响。因此,若不改善这一情况,即使对于同一药材,多次拍照所取得的图像效果也很有可能是不一样的,会极大的影响药材识别的准确率。所以,为了解决这一问题,利用3D打印技术设计采集药材设备。如图2所示,采用抽屉盒子对每一种药材进行拍摄,所述抽屉盒子,包括方形盒子本体,所述方形盒子本体包括顶面、底面、左侧面、右侧面、前侧面和后侧面,所述左侧面和右侧面的内侧均设有滑轨,所述滑轨分别设置在左侧面和右侧面的垂直方向的中间位置;所述方形盒子本体内部中间位置设有抽屉,所述抽屉的左右两侧分别安装在左侧面和右侧面内侧的滑轨上;所述抽屉将方形盒子本体划分为上下两个空间,所述方形盒子顶面设有矩形开槽,所述矩形开槽用于放置手机;所述手机与后台服务器连接;拍摄前,将药材放入抽屉中,关闭抽屉后,启动手机的拍照模式,对抽屉内的药材拍摄第一张训练图像;然后,将抽屉从方形盒子本体中抽出,将药材放置在方形盒子底面上,启动手机的拍照模式,对方形盒子底面的药材拍摄第二张训练图像;第一张训练图像是显示药材局部区域的局部图像,第二张训练图像是显示药材整体区域的整体图像;所述双尺度图像指输入的图像源数据为在相同分辨率下的整体与局部两种视野的图像。第一张训练图像和第二张训练图像同时上传给后台服务器。为了避免光照对于拍照的影响,将设备构造成一个封闭的暗室。为了避免光线照射到箱子内部,对拍照产生反光影响,在考虑到设备的便携性,采用白色的树脂材料打印这一设备。由于设备的颜色是白色,所以外界的光源会射入设备内部,因此在箱子外部贴上一层黑色的不透光的贴纸,保证该箱子除了内部的光源,不会再接受其他任何光源的影响。药材设备结构图见附图1,设备具体制作步骤如下:步骤S101:该设备由三部分组成,分别为设备主体,设备门,设备内部抽屉部分。步骤S102:设备抽屉部分104长284mm宽171mm高35mm抽屉中心部分略微凹陷,保证放置药材的安全性。步骤S103:设备门部分102长360mm宽25mm高173mm,用来放置在设备主体前方预留出的凹槽内,将设备的缝隙封死,使设备成为一个不透光的长方体。步骤S104:设备主体部分,分为四部分:药材放置部分,供电设备放置部分,手机放置部分和用来供设备门部分放入的门槽。步骤S105:手机放置部分101在顶部,前端为镂空的屋顶长方体以便固定手机等拍照设备来拍照。步骤S106:供电设备放置部分103长175mm宽57mm高75mm,用来放置充电宝等供电设备。步骤S107:设备主体部分内壁两侧有长160mm宽7.5mm髙5mm的两个搭板用来固定抽屉104。步骤S108:设备内部顶部设置有八排成蛇形排列的2m长5050型号灯珠用来保证箱子内的光源为平行白光。选用白光目的,是为了防止其他颜色的灯光照射到药材上,可能会改变其本身的颜色而影响识别效果。而之所以选用平行光而不是点光源,是因为平行光相较于点光源,各处的光照强度更为均衡,不易产生光偏移以及光斑,更难以产生明显的偏暗区域,可以更好的保证所拍照片的真实性和有效性。二、训练模型步骤S201:分别从远距离和近距离拍摄的文件夹中读取药材图像,制作分类标签,存成.mat形式。步骤S202:将数据文件load进来,将矩阵大小处理成92*92,然后送入卷积神经网络。步骤S203:卷积神经网络采用的是6通道输入,将一份药材的两张图像同时送入网络,经过卷积神经网络的多个卷积池化层通过GPU高性能计算进行特征提取,得出的两张图像特征融合后的特征图。步骤S204:将最后一层池化层拉成一列向量作为全连接层。步骤S205:经过分类得出结果,将结果与实际值相比较,计算出误差。步骤S206:进行误差反向传播,运用了梯度下降法,计算逐层误差,调整网络参数。步骤S207:重复进行步骤S203—步骤S206,直至误差小于0.1或迭代3000次,结束训练。三、实际测试步骤S301:从手机端拍摄一味药材,先拍一张暂存,与之前一张视野范围不同的再拍一张,两张图像同时送入后台服务器。步骤S302:将视野范围不同的两张图像尺寸大小处理成92*92。步骤S303:将处理好的图像同时送入事先训练好的卷积神经网络模型中。步骤S304:经过卷积神经网络卷积层池化层的特征提取,得到待测图像的特征向量,进而通过与特征数据库中的向量进行相似度检测,找出奇数个相似度最高的特征向量,并把其中出现次数最多的向量的药材类别作为结果,最后输出层输出识别结果,正确率可以达到90%以上。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

权利要求:1.基于GPU和双尺度图像特征比对的中药识别识别方法,其特征是,包括:构建双尺度卷积神经网络,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像,设置训练图像对应的药材分类标签,对每种药材的两张训练图像均进行预处理,将预处理后的每种药材的两张训练图像作为一组输入值,两张训练图像并列输入到双尺度卷积神经网络中,将药材分类标签作为卷积神经网络的输出值,对卷积神经网络进行训练,得到训练好的卷积神经网络;将双尺度卷积神经网络第一卷积层部署到图形处理单元GPU上,双尺度卷积神经网络第一卷积层在GPU上工作;将已知药材分类标签的图像送入已经训练好的卷积神经网络中,得到进行若干次卷积和池化的特征提取,得到与药材一一对应的特征向量,将特征向量与对应的药材分类标签保存到特征数据库中;使用抽屉盒子采集待识别药材的相同分辨率下的整体和局部两张待测图像,对待识别药材的两张待测图像均进行预处理,将两张待测图像作为一组输入值,两张待测图像并列输入到训练好的卷积神经网络中,利用训练好的卷积神经网络提取到两张待测图像的图像特征向量,计算待测图像特征向量与特征数据库中所有特征向量的相似度;将特征数据库中相似度最高特征向量所对应的药材标签作为待测图像对应的药材的识别结果。2.如权利要求1所述的方法,其特征是,将双尺度卷积神经网络第一卷积层部署到图形处理单元GPU上,双尺度卷积神经网络第一卷积层在GPU上工作的具体步骤为:步骤S1:输入的一组训练图像,包括拍摄角度不同的两张训练图像,每张训练图像包括三个输入矩阵;两张训练图像一共包括六个输入矩阵;步骤S2:输入的一组图像与卷积核进行卷积操作;所述步骤S2包括如下步骤:步骤S21:初始化GPU参数;GPU参数,包括:线程块数与每个线程块的线程数;步骤S22:将每一个卷积过程中图像矩阵总数和卷积核总数传递到GPU的全局存储器中;步骤S23:为每一个卷积过程分配一个线程,将当前卷积过程中待使用的图像矩阵和卷积核送到对应的线程中,启动各线程,并行执行各线程;各线程并行计算每个线程对应的卷积结果;步骤S24:将步骤S23中所得到的卷积结果进行相应求和处理,得到相应矩阵;所述步骤S22,包括:步骤S221:针对输入的6个图像矩阵,每一个输入图像矩阵分别被复制为m个矩阵;针对m个卷积核,每一个卷积核分别被复制为6份;其中,m为每一个输入图像矩阵所对应的卷积核数;步骤S222:将图像矩阵与卷积核分别一一对应后,分配到同一个线程中去。3.如权利要求1所述的方法,其特征是,将已知药材分类标签的图像送入已经训练好的卷积神经网络中,得到进行若干次卷积和池化的特征提取,得到与药材一一对应的特征向量,将特征向量与对应的药材分类标签保存到特征数据库中的具体步骤为:将已知类别的每一组图像依次送入训练好的卷积神经网络中,依次进行第一次卷积、第一次池化、第二次卷积、第二次池化、第三次卷积和第三次池化过程;将最后一次池化后所得到的特征向量结果与该图像的类别一起保存下来,作为一条药材的特征记录;依次将每一条记录,保存到数据库中,构成特征数据库。4.如权利要求1所述的方法,其特征是,所述双尺度卷积神经网络,包括:依次连接的输入层、第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、全连接层和输出层;所述输入层,包括六个通道,其中三个通道用于接收第一尺度的整体图像,另外三个通道用于接收第二尺度的局部图像;每张图像包括RGB三个通道即3个像素矩阵;所述输入层的输入为六个像素矩阵,六个像素矩阵中,有三个像素矩阵来源于拍摄的整体图像,另外三个像素矩阵的来源于拍摄的局部图像;矩阵大小为92*92*6;所述第一卷积层,用于与所述输入层的像素矩阵进行卷积操作,提取图像特征,卷积核选用5*5*6*20,偏置大小为20*1,得出特征图大小为88*88*20;所述第一池化层,用于对所述第一卷积层提取的图像特征像素矩阵进行降维操作,提取显著特征信息,选用卷积核大小为2*2,降维之后的特征图大小为44*44*20;所述第二卷积层,用于对所述第一池化层得出的特征图进一步的进行卷积操作,提取图像特征,卷积核选用5*5*6*24,偏置大小为24*1,得出特征图大小为40*40*24;所述第二池化层,用于对所述第二卷积层得出的特征图进一步降维,提取显著特征信息,选用卷积核大小为2*2,降维之后的特征图大小为20*20*24;所述第三卷积层,用于对所述第二池化层得出的特征图进一步卷积操作,提取图像特征,卷积核选用5*5*6*20,偏置大小为24*1,得出特征图大小为16*16*24;所述第三池化层,用于对所述第三卷积层得出的特征图进一步降维操作,提取显著特征信息,选用卷积核大小为2*2,降维之后特征图大小为8*8*24;所述全连接层,用于对所述第三池化层得出的图像特征进行整合,权重矩阵大小为p*1536,偏置为p*1;所述输出层,用于输出识别分类结果,输出矩阵大小为p*1,该结果代表输入样本中对应的p种药材类别的概率,取最大值所在的类别为分类结果。5.如权利要求1所述的方法,其特征是,使用抽屉盒子采集每种药材相同分辨率下的整体和局部两张训练图像的具体步骤为:采用抽屉盒子对每一种药材进行拍摄,所述抽屉盒子,包括方形盒子本体,所述方形盒子本体包括顶面、底面、左侧面、右侧面、前侧面和后侧面,所述左侧面和右侧面的内侧均设有滑轨,所述滑轨分别设置在左侧面和右侧面的垂直方向的中间位置;所述方形盒子本体内部中间位置设有抽屉,所述抽屉的左右两侧分别安装在左侧面和右侧面内侧的滑轨上;所述抽屉将方形盒子本体划分为上下两个空间,所述方形盒子顶面设有矩形开槽,所述矩形开槽用于放置手机;所述手机与后台服务器连接;拍摄前,将药材放入抽屉中,关闭抽屉后,启动手机的拍照模式,对抽屉内的药材拍摄第一张训练图像;然后,将抽屉从方形盒子本体中抽出,将药材放置在方形盒子底面上,启动手机的拍照模式,对方形盒子底面的药材拍摄第二张训练图像;第一张训练图像是显示药材局部区域的局部图像,第二张训练图像是显示药材整体区域的整体图像;所述双尺度图像指输入的图像源数据为在相同分辨率下的整体与局部两种视野的图像。6.如权利要求5所述的方法,其特征是,所述抽屉盒子,在抽屉关闭时,整个抽屉内部是密封的,由于抽屉的前侧面有一个上下推拉式的门,所以抽屉拿掉后,将推拉门关闭,整个盒子内部仍是密封的,即为药材建立一个暗箱环境,从而避免外部光照射进入抽屉盒子内部,进而干扰药材的拍摄;所述抽屉盒子,顶面设有S形排列的灯珠,所述灯珠通过电池供电,所述灯珠发出的光为平行白光,以保证抽屉盒子内部亮度一致;所述抽屉盒子采用白色的树脂材料,抽屉盒子外部贴有一层黑色的不透光贴纸,避免光线照射到抽屉盒子内部,对拍照产生反光影响,保证该设备除了内部的光源,不会再接受其他任何光源的影响。7.如权利要求1所述的方法,其特征是,将预处理后的每种药材的两张训练图像作为一组输入值,两张训练图像并列输入到双尺度卷积神经网络中,将药材分类标签作为卷积神经网络的输出值,对卷积神经网络进行训练,得到训练好的卷积神经网络的具体步骤为:输入的一组训练图像,包括拍摄角度不同的两张训练图像,每张训练图像包括三个输入矩阵;两张训练图像一共包括六个输入矩阵;输入的一组图像与卷积核进行卷积操作,1个输入矩阵对应m个卷积核经过卷积操作即得出m个特征图,6个输入矩阵对应6*m个卷积核,经过卷积操作即得出6*m个特征图,将所述6*m个特征图中,对应的每6个特征图进行特征融合,即相加为1个特征图,即最终得到m个特征图;池化层对所得特征图取平均操作,最终输出特征融合后的m个图像像素矩阵,矩阵经过全连接层的分类识别,输出p种药材的识别概率,根据输出结果与实际结果的比较,得出输出层误差,运用梯度下降法,经过误差反向传播,逐层反馈,调节网络各层参数;进行若干次迭代训练,对参数进行调整,当卷积神经网络的损失函数值小于设定阈值或者迭代次数达到设定次数时,停止训练,得到训练好的卷积神经网络。8.如权利要求1所述的方法,其特征是,利用训练好的卷积神经网络提取到两张待测图像的图像特征向量的具体步骤为:步骤S31:1个输入矩阵对应m个卷积核得到m个特征图,一组待测图像为6个输入矩阵即对应6*m个卷积核得到6*m个特征图,将特征图对应的每6个进行特征融合相加为1个特征图,最终得到m个特征图;池化层对所得特征图取平均操作,最终输出特征融合后的m个图像像素矩阵;步骤S32:将特征融合后的m个图像像素矩阵加上偏置,进而将所得矩阵的每个元素输入到sigmoid激活函数中,提取图像的轮廓和轮廓各部分所在位置特征;继而进入池化层进行像素矩阵的降维,突出主要特征;步骤S33:经过所有卷积层与池化层的特征提取与选择,实现特征的融合;最终将所得特征矩阵按照顺序拉成一列向量。9.如权利要求1所述的方法,其特征是,计算待测图像特征向量与特征数据库中所有特征向量的相似度;将特征数据库中相似度最高特征向量所对应的药材标签作为待测图像对应的药材的识别结果的具体步骤为:步骤S41:将所得特征矩阵拉成一列向量,送入全连接层;步骤S42:将取得的待测图像的特征向量与特征数据库中的特征向量通过余弦相似度或向量距离进行相似度计算;步骤S43:对相似度计算结果进行处理,将相似性最高的特征向量所对应的药材类别,作为最终的药材类别;步骤S42若使用向量距离,则将特征数据库中的每一个向量与待测图像所提取的特征向量进行欧式距离的计算:dX,Y=||X-Y||其中,X代表特征数据库中的特征向量,Y代表待测图像所提取的特征向量,dX,Y代表两向量间的欧式距离;将经过计算得到的n个距离进行从小到大排序,取距离最短的k个值进行进一步比对,选出出现次数最多的药材类别,作为该药材的类别;步骤S42若使用余弦相似度,则将特征数据库中的每一个向量与待测图像所提取的特征向量进行余弦相似度计算:其中,X代表特征数据库中的特征向量,Y代表待测图像所提取的特征向量;取余弦相似度最高的k个值进行进一步比对,选出出现次数最多的药材类别,作为该药材的类别,k为奇数。10.一种基于GPU和双尺度图像特征比对的中药识别系统,其特征是,包括:手机和后台服务器,所述后台服务器上部署有存储器、处理器和GPU;所述存储器用于存储计算机指令,所述计算机指令被处理器和GPU运行时,完成上述权利要求1-9任一项方法所述的步骤。

百度查询: 济南大学 基于GPU和双尺度图像特征比对的中药识别方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术