一种物体外观检测的方法及深度神经网络模型与流程

文档序号:16631194发布日期:2019-01-16 06:35阅读:189来源:国知局
一种物体外观检测的方法及深度神经网络模型与流程

本发明涉及智能的图像识别技术领域,涉及物体外观自动检测,尤其涉及物体外观检测的方法及深度神经网络模型。



背景技术:

随着工业生产的不断发展及人们对物质需求的不断增加,有些消费性电子产品的年产量已经超过1亿台。目前主流的物体外观检测方法还是靠产线作业员人工目检,根据定义好的判断标准进行检测。人工检测方案,需要大量人力,而且错误率高,效率低下,容易造成产能瓶颈和较高的返厂客诉。为了提高效率,节约人力,同时减少返厂客诉,对自动检测的需求越来越强烈。

目前有些领域也开始尝试用自动检测的方法来代替人工,具体如下,现有的自动检测方法,是根据以前的经验和检测规范,靠技术人员来制定判断规则并用程序来实现。这种方法虽然可以提高工作效率,但因为规则的制定主要靠作业员以往的经验和以前的测试数据,而且人工也很难在大量数据间找到各种数据的相互映射关系,这就导致规则定义偏面,没有遇见的状况无法判断等问题,其规则本身就带着严重的缺陷,这种方法无法从原理上彻底解决这个问题。

鉴于此,本技术领域亟待出现一个能建立全面准确的判定规则,自动迭代升级,高效且易于推广的和准确率高的物体外观检测的方法及深度神经网络模型。



技术实现要素:

本发明要解决的技术问题是提供一种物体外观检测的方法。

本发明采用如下技术方案:

本发明提供了一种物体外观检测的方法,具体步骤如下:

搭建卷积神经网络加全链接层作为基础的深度神经网络模型,并录入相关物体图片;

深度神经网络模型通过对物体图片进行循环训练学习,得到物体外观分类与图片特征之间的相互关系,从而具有对外观的辨别能力;

根据上述大量的循环训练学习,深度神经网络模型逐渐收敛得出每个特征值的最优权重;

检测时通过深度神经网络模型获取需要检测物体的外观图片,根据训练得到的一组特征值对相应图像进行卷积操作,再根据特征值的激活情况和对应权重最终得出其分类的概率,最后根据设定的概率区间值得出分类结果。

进一步的,所述方法还包括自动迭代,将判断错误的图片自动加入训练集并在目前最佳权重的模型基础上进行自动训练,并对比训练后的模型的准确率是否超过目前最优权重的准确率,如果超过将自动导入最新的模型,持续对模型进行迭代。

进一步的,在执行训练学习前要先进行图片处理,首先根据人工区分并放置在不同文件夹的图片,就行分类标注,并把所有图片转换成统一大小和格式,再把转换后的图片的每个像素点信息写到指定文件并记录其对应的标注信息

进一步的,所述训练学习为按批次的循环进行,在每次循环训练学习后都会根据误差值求导出每个特征值的新的权重并更新,使得在训练中误差值会逐渐缩小,深度神经网络模型会自动判断训练时模型所处的状态,并自动执行对应操作。

进一步的,所述训练模型所处的状态是根据训练学习结果的准确率,或训练学习结果与验证图片集验证得到验证结果的准确率判断得到。

进一步的,所述状态包括不收敛状态、欠拟合状态和过拟合状态,当状态为不收敛状态和过拟合状态时训练学习终止,当为欠拟合状态时训练学习继续;

所述不收敛状态是指训练学习结果的准确率低于设定值;

所述过拟合状态是指验证结果的准确率持续降低;

所述欠拟合状态是指验证结果的准确率持续升高。

进一步的,深度神经网络模型在所有批次训练后更新的权重,并将每个批次的权重恢复到模型并用测试数据进行评估,记录该批次的权重对应的准确率,把所有批次权重测试完毕后,深度神经网络模型会自动推荐排名前列的权重。

进一步的,分类结果根据深度神经网络模型给出的每个面的分类概率,得出每个面的判定结果,再根据所有面的判断结果得到分类结果。

还公开了一种深度神经网络模型,包括

训练模块,用于对相关物体图片,根据设定进行批次的循环训练学习;

评估模块,用于存储所有训练后更新的权重,并将每个权重恢复到模型并用测试数据进行评估,记录该批次的权重对应的准确率,然后模型会自动推荐排列在前的权重;

预测模块,用于获取物品的外观图片,并利用全连接的深层神经网络计算出每张图片的分类概率,再根据分类概率得出判断结果;

深度神经网络模型还包括了图片预处理模块,用于读取相关物体图片,自动进行分类标记,并处理为符合设定的信息。

进一步的,所述神经网络模型还包括迭代模块,用于将出现判断错误的图片加入到训练模块,并在目前最佳权重的模型基础上进行自动训练,并对比训练后的模型的准确率是否超过目前最优权重的准确率,如果超过将自动导入最新的模型,持续对模型进行迭代。

与现有技术相比,本发明的有益效果在于:

本发明通过卷积神经网络(cnn)和全链接层作为基础搭建多层模型,利用大量标注了物体外观状况的图片对多层模型进行训练,使得模型学会物体外观分类与图片特征之间的相互关系,从而具有对外观的辨别能力。并在多层模型中加入迭代模块系统在正常预测中对模型进行持续优化并对优化后的模型进行自动评估,并根据评估结果确定是否自动导入正常预测。本发明实现了模型搭建,训练、评估、导入正常预测和自动迭代的整个闭环。本发明中除了模型搭建,训练和评估需要人为简单介入,后面的正常预测和自动迭代完全由系统自动完成。

本发明解决了人工制定物体外观分类的判断规则所存在的诸多问题,克服了目前人工操作效率低下或传统自动化判断准确率低的问题;同时由于其可持续自我迭代升级,理论上讲其识别效率会不断提高。并且本发明模块简单,硬件成本低廉,应用范围广泛。

【附图说明】

图1为深度神经网络模型的模块连接示意图;

图2为图1的另一个实施例示意图;

图3为图2的另一个实施例示意图;

图4为预测模块工作示意图;

图5为一实施例的深度神经网络模型算法架构图。

【具体实施方式】

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明提供了一种物体外观检测的方法,具体步骤如下:

搭建卷积神经网络加全链接层作为基础的深度神经网络模型,并录入相关物体图片;

深度神经网络模型通过对物体图片进行循环训练学习,得到物体外观分类与图片特征之间的相互关系,从而具有对外观的辨别能力;

根据上述大量的循环训练学习,深度神经网络模型逐渐收敛得出每个特征值的最优权重;

检测时通深度神经网络模型获取需要检测物体的外观图片,根据训练得到的一组特征值对相应图像进行卷积操作,再根据特征值的激活情况和对应权重最终得出其分类的概率,最后根据设定的概率区间值得出分类结果。

为了使得机器能够自主找出物体的各种外观分类与其图像特征之间的映射关系,并据此自主对物体外观进行分类的方法。本方案是利用大量标注(如合格或不合格)过的物体图片对模型进行训练,通过多层卷积神经网络逐层提取出图片特征值,再通过预测标记与训练标记的差值得出损失值,根据损失值反向求导,测出导致最大损失的权重并进行更新,最后通过全链接层计算出预测值。

这里的深度神经网络模型,包括

训练模块,用于对相关物体图片,并根据设定进行批次的循环训练学习;

评估模块,用于存储所有训练后更新的权重,并将每个权重恢复到模型并用测试数据进行评估,记录该批次的权重对应的准确率,然后向模型推荐排列在前的权重;

预测模块,用于获取物品的外观图片,并利用全连接的深层神经网络计算出每张图片的分类概率,再根据分类概率得出判断结果;

深度神经网络模型还包括了图片预处理模块,用于读取相关物体图片,进行分类标记,并处理为符合设定的信息。

参考附图1所示,一实施例中深度神经网络模型只包括了训练模块,评估模块和预测模块就可以实现物体外观的检测和结果判定。

参考附图2所示,另一实施例中深度神经网络模型只包括了训练模块,评估模块和预测模块,同时在训练模块之前增设图片预处理模块,使得整个模型在训练学习时的效率更高。

进一步的,所述神经网络模型还还包括迭代模块,用于将出现判断错误的图片加入到训练模块,并在目前最优权重的模型基础上进行自动训练,并对比训练后的模型的准确率是否超过目前最优权重的准确率,如果超过将自动导入最新的模型,持续对模型进行迭代。

参考附图3所示,另一实施例中深度神经网络模型只包括了训练模块,评估模块和预测模块,同时在训练模块之前增设图片预处理模块,使得整个模型在训练学习时的效率更高,还增加了迭代模块有效的保证神经网络模型在不同情况下的准确率。

需要指出的是,搭建的多层模型包括用于采集物品图片的摄像头,所述的摄像头要求能够实现对同一物体实现同时多角度采集图片,摄像头的数量可以根据物体实际情况进行增减。

所述多层模型为深度神经网络模型,具体的由多层cnn网络加全连接层组成,所述模型通过引入恒等映射与分模块升维的概念实现深层神经网络,理论上可以实现千层神经网络的搭建。

具体的实现方法是:将传统每一层的输出作为下一层的输入的搭建方式上,改为第一层的输出作为第二层的输入并同时与第三层的输出相加作为第三层的最终输出,然后第三层的最终输出又作为第四层的输入并与第五层的输出相加,以此类推来搭建模型。

同时模型还引入模块化升维概念,除了第一层和最后一层,从第二层开始每4层设为一个模块,每一个模块的第一层做k(k为一个常数)倍的卷积核升维操作,后面三层的卷积核数量保持不变。

在一个实施例中,参考附图5所示,多层模型由13层cnn网络和一层全连接层组成,第一层的输出作为第二层的输入并同时与第三层的输出相加作为第三层的最终输出,然后第三层的最终输出又作为第四层的输入并与第五层的输出相加,以此类推来搭建模型。

在实施例中,参考附图5所示,除了第一层和最后一层,从第二层开始每4层设为一个模块,因此第二层至十三层形成3个模块,3个模块的首层即第二层、六层和十层做k(其中k为一个常数)倍的卷积核升维操作,而模块后面三层的卷积核数量保持不变。

在13层cnn网络的最后用一个全连接层计算出每张图片对应每种可能的概率值,这里的实施例中使用softmax函数就行计算。

参考附图4所示,进行正常预测时,会通过摄像头采集每一个物体的外观图片输入多层模型,多层模型会根据训练得到的一组特征值对图像进行卷积操作,并根据特征值的激活情况和对应权重最终得出其各种分类的概率,并根据设定的概率区间值得出结果。本发明从根本上解决了人为给机器设定分类规则的不准确性和局限性。

为了保证系统模型能够不断的进步结果更加准确,所述方法还包括自动迭代,是在将判断错误的图片自动加入训练集并在目前最佳权重的模型基础上进行自动训练,并对比训练后的模型的准确率是否超过目前最优权重的准确率,如果超过将自动导入最新的模型,持续对模型进行迭代。也就是说通过可持续自我迭代升级,使得模型的识别效率会不断提高。

为了使得训练时的图片信息统一提高训练效率,进一步的,还需要对录入的物体图片就行预处理,具体的是将相关物体外观图片录入模型前要先就行图片处理,首先根据人工区分并放置在不同文件夹的图片,就行分类标注,并把所有图片转换成统一大小和格式,再把转换后的图片的每个像素点信息写到指定文件并记录其对应的标注信息,这里的所述像素点信息写到指定文件是指tfrecord格式的文件。

在一实施例中,首先,将物体图片按要求分别存储到指定的文件夹内,模型根据文件夹的分类名称进行分类标注,这里的标注包括合格和不合格两类。接着,将所有图片的格式转换成jpg格式,同时将图片的大小转为64*64。再把转换后的图片的每个像素点信息写入到tfrecord格式的文件并记录其对应的标注信息,如此完成了图片的预处理。

深度神经网络模型在每次循环训练学习后都会根据误差值求导出每个特征值的新的权重并更新,由于在训练中误差值会逐渐缩小,模型会自动判断训练所处的状态,并自动执行对应操作。

具体的是,图片经过预处理后自动传给模型进行训练,在系统中设定模型循环训练的次数和每个批次训练学习的图片数量,按顺序一个批次一个批次的对模型训练学习,每次循环后都会根据误差值求导出每个特征值的新的权重并更新。

所述训练所处的状态是根据训练学习结果的准确率,或训练学习结果与验证图片集验证得到验证结果的准确率判断得到;

所述状态包括不收敛状态、欠拟合状态和过拟合状态,当状态为不收敛状态和过拟合状态时训练学习终止,当为欠拟合状态时训练学习继续;

所述不收敛状态是指训练学习结果的准确率低于设定值;

所述过拟合状态是指验证结果的准确率持续降低;

所述欠拟合状态是指验证结果的准确率持续升高。

在一个实施例中,将训练学习的循环次数设为10次,当在10次循环结束后发现loss值依然很大,这里设定loss值>500,且准确率很低这里设定低于55%则系统判定模型不收敛状态,自动终止训练,节省训练时间。

同时,在完成循环10次的训练学习后,loss值和准确率都符合设定要求,在此后的每两次循环的训练学习的结果与验证图片集验证对比,这里将对比的次数设为五次,如五次验证结果准确率持续升高,则认为模型欠拟合,模型继续训练;否则,五次验证结果准确率持续降低,则认为模型过拟合,模型自动终止。

这里的验证图片集为事先人工分类准备的图片集,用于最初模型的训练学习。

深度神经网络模型所有批次训练后更新的权重将会被存储,用于将每个批次的权重恢复到模型并用测试数据进行评估,记录该批次的权重对应的准确率,把所有批次权重测试完毕后,系统会自动推荐排名前列的权重。

在一实施例中,设定把所有批次权重测试完毕后,系统会自动推荐排名前三的权重。

在预测时根据深度神经网络模型给出的每个面的分类概率,得出每个面的判定结果。

在一实施例中,设定只有当所有面的结果都为合格,系统才会判定该物体的外观合格;否则会提示作业员哪些面的结果为不合格。

本发明从根本上解决了现有物体外观自动检测存在人为给机器设定分类规则而导致不准确和有局限性的问题。同时也解决了在需要大量生产某种物品的应用场景中,人工进行分类准确率低,效率低,人力浪费的问题。本发明模块化设计,推广简单,硬件成本低廉,模型可在各种图像分类领域复用,节省人力,提高效率。在国家大力发展工业互联网的背景下,该方法可与生产中各种需要人工进行重复性物体外观分类的场景相结合,具有广泛的应用范围。

具体的,以13层cnn网络为例就行说明:

首先,基于tensorflow平台,使用python语言开发一个名称为multiply_classification_cnn_upgrade_model的模型,该模型的主要功能是物体图像分类识别。

这里的整个模型构建封装在python的一个类(class)中,通过类的方法将模型结构细化和模块化,最终构建整个模型。

构建模型的部件包括:get_tfrecord_data,batch_data,convolution_net,one_hot,loss,optimizer。

get_tfrecord_data:用于从tfrecord格式文件中读取图像数据和其标注数据,对图片数据进行随机左右翻转,图片亮度和对比度在一定范围内随机调整。

batch_data:用于指定100张图片数据置于一个数组中,将另一相对标注的图片置于另一个数组中,两个数组形成一个批次的数据。

convolution_net:用于对一个批次图片进行卷积和分类处理。

本实例共13层模型,包括前12层卷积层和最后一层全连接层,在本实施例中第一层的输出作为第二层的输入,并同时第一层的输出与第三层的输出相加作为第三层的最终输出(如此形成恒等映射),然后第三层的最终输出又作为第四层的输入,并第三层的最终输出与第五层的输出相加作为第五层的最终输出(如此形成恒等映射),以此类推来搭建模型。

除了第一层和最后一层,从第二层开始每4层设为一个模块,因此第二层至十三层形成3个模块,3个模块的首层即第二层、六层和十层做8倍的卷积核升维操作,而模块后面三层的卷积核数量保持不变。

也就是,第一层卷积核初始值16第二到五层升维16*8=128,第六到九层升维32*8=256,第十到十三层升维64*8=512,学习率采用线性递减,本实例(0.001到0.00001的线性递减)。

one_hot:用于将标签数据转换为one_hot格式数据,如有四个分类,标注为2的一张图片,其one_hot数据为[0,0,1,0]。

loss:使用交叉熵计算损失值。

optimizer:使用优化函数优化模型数据,本模型采用tf.train.adamoptimizer函数优化loss值。

采用本深度神经网络模型与传统cnn网络测试结果对比:

对比中同样的训练集(70000张)和测试集(4600张);

传统的13层cnn网络普通模型最高准确率72%;

传统的13层cnn网络普通模型加入恒等映像方法后最高准确率79%;

传统的13层cnn网络普通模型加入恒等映像和模块化升维(k=8)后最高准确率能够到达84.7%;

传统的13层cnn网络普通模型加入恒等映像和模块化升维(k=8),并且加入自动升级迭代模块后目前最高准确率能够到达87.8%。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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