公开/公告号CN114897816A
专利类型发明专利
公开/公告日2022-08-12
原文格式PDF
申请/专利权人 安徽工业大学;
申请/专利号CN202210497249.2
申请日2022-05-09
分类号G06T7/00(2017.01);G06T7/62(2017.01);G06V10/25(2022.01);G06V10/82(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);
代理机构安徽知问律师事务所 34134;
代理人平静
地址 243002 安徽省马鞍山市花山区湖东路59号
入库时间 2023-06-19 16:22:17
法律状态公告日
法律状态信息
法律状态
2022-08-30
实质审查的生效 IPC(主分类):G06T 7/00 专利申请号:2022104972492 申请日:20220509
实质审查的生效
技术领域
本发明涉及图像识别技术领域,更具体地说,涉及基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法,用于对颗粒物进行分类识别和测量尺寸。
背景技术
矿物颗粒作为加工过程中一个重要的表现形式,识别矿物颗粒的分类可以为矿物分析测定提供帮助,并且可以反映出颗粒物加工工艺的精度。在矿物分析领域,可以根据颗粒物表面特征进行分类,进一步粗略分析矿物的成分。在矿物颗粒加工中,可以根据颗粒物在图像上的尺寸计算实际的粒度,为加工提供建议。对于矿物颗粒的判断通常是利用人工的方法,根据经验对矿物类别进行判断,并粗略估计矿物颗粒的尺寸。一些情况下需要用到机械装置或是筛网进行接触式测量,这样效率低下,并且精度容易受测量状态的影响。
随着机器视觉的发展,对物体进行检测的通用检测模型被广泛的关注与应用。传统的图像检测方法经常被用来处理颗粒物的识别,最常用的是利用分水岭变换进行分割,其是把图像分割成独立的封闭区域,再根据各个区域大小进行颗粒物粒度分析。分水岭算法在不同环境配置不同的参数时容易出现欠分割和过分割。
随着机器学习的发展,深度神经网络有着巨大的进步。语义分割网络被用到矿物颗粒的分割检测中,利用网络对图像上每个像素进行分类,可以分辨出属于颗粒物的像素,进而把颗粒物像素分割出来。但是语义分割网络不能具体的分割出每个单独颗粒物,仍然需要后处理来区分个例。对于此实例分割网络可以较好的完成对每个颗粒物的分割,但是实例分割网络预测的物体的掩膜精度并不高,用在检测整体颗粒物粒度时会出现较大的偏差。
综上,利用深度学习检测模型用于对颗粒物进行测量会出现以下两点问题:首先是利用深度学习模型进行颗粒物的识别会产生漏检,第二是利用深度学习模型检测到的物体掩膜不够准确,主要表现的原因就是分割得到的物体掩膜是由特征层决定的;而网络的特征层通常为固定尺寸,并且相对于原图有着放缩的尺寸误差。
经检索,中国专利申请号202111027701.0,申请日2021年9月2日,发明创造名称为:基于Mask R-CNN的淀粉颗粒识别方法;该申请案基于热台-偏光显微观察的淀粉糊化图像数据采集,通过算法依次进行淀粉糊化数据集构建,Mask R-CNN模型构建及训练,淀粉糊化过程颗粒检测,淀粉颗粒数量统计。其中,算法由淀粉图像二值化算法、淀粉糊化数据集构建算法、神经网络训练算法、淀粉颗粒检测算法等构成。但该申请案是利用Mask R-CNN对淀粉糊化进行检测,与关于矿物颗粒的识别和粒度检测存在本质区别。
发明内容
1.发明要解决的技术问题
本发明提供了一种基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法,本发明的目的在于提高颗粒物识别及粒度检测的准确度。且本发明通过利用深度学习模型的识别效果,结合图像处理的较高精度的测量方法实现了对批量矿物颗粒的识别与粒度测量。
2.技术方案
为达到上述目的,本发明提供的技术方案为:
本发明的基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法,包括以下步骤:
步骤s1:采集矿物颗粒物图像,标注数据并进行数据增强,制作数据集;
步骤s2:将图像经过主干网络和特征金字塔网络提取特征,然后通过轻量级的区域建议网络,得到初始的物体建议框,根据初始建议框进一步的分类和回归得到最终预测框,并根据预测框使用语义分割得到预测掩膜;
步骤s3:设置训练过程的超参数并对网络进行训练,对图像进行预测,得到位置、种类和预测掩膜,并对模型效果进行评价;
步骤s4:对网络输出的掩膜进行优化,使输出掩膜的边缘为实际颗粒物的边缘;
步骤s5:对图像采集系统进行矫正,利用获得的掩膜计算颗粒物的实际面积、粒径以及统计颗粒物对应的尺寸分布。
更进一步地,步骤s1将图像从RGB格式转换到HSV格式,通过对HSV不同通道进行调整,采用不同的图像变换方法随机采用不同方式组合变换,把图像扩充成多组图像,所述调整包括对图像的亮度、饱和度、色调、不均匀光照、阴影生成、亮点生成、随机噪声生成、图像平滑和图像滤波进行调整。
更进一步地,步骤s2使用通道注意力机制加强的DenseBlock作为主干网络,该主干网络由多层卷积层组成,除第一层之外的卷积层是把该层之前所有的卷积层的输出拼接作为输入,表示为N=Concatenate(M
更进一步地,步骤s2中通道注意力机制是通过全局池化选取特征层中不同通道的值然后经过一维全连接层,接着将全连接层与特征层的值进行相乘突出相应通道;全局池化包括全局最大池化和全局平均池化,经过全局池化层之后,两边分别接入神经元数目为h的全连接层,把两个全连接层的输出结果进行Add相加,得到全连接层;利用得到的全连接层与DenseBlock的输出相乘,全连接层中的参数与对应通道的特征层进行相乘,增强通道的特征层。
更进一步地,步骤s2中,经过主干网络之后,设计特征金字塔使用密集连接形式,把主干特征网络中不同尺度的特征层进行不同尺度的采样,把采样后的特征层拼接融合作为输出的特征层;通过特征金字塔网络把高层的特征层与低层的特征层进行融合,得到不同维度的融合特征层;把特征金字塔网络中的融合特征层输入到区域建议网络,区域建议网络把特征图上的像素点作为特征点,在每个特征点使用长宽不同锚框作为先验物体框的位置;区域建议网络根据输入的特征层得到一组包含物体位置与置信度的数组,把数组中的位置与置信度进行解码得到候选位置,选取置信度较高的候选位置;然后利用RoIAlign获得候选位置的特征图作为感兴趣区域,对感兴趣区域使用卷积网络输出物体类别与物体位置,使用物体的位置裁剪对应特征金字塔中的特征层并进行语义分割得到输出的掩膜。
更进一步地,步骤s4基于Mask R-CNN的检测效果,对输出的掩膜进行修改,使输出掩膜的边缘为实际颗粒物的边缘,具体地:
1)对步骤s1所述的图像进行标注,利用标注的标签,设置超参数对模型进行训练;
2)根据输入的图像得到预测的颗粒物的位置Boxes、类别Classes和掩膜Masks
3)调整网络预测的物体框Box,利用预测框根据原图选取感兴趣区域RoI;
4)感兴趣区域包含颗粒物的图像,对感兴趣区域进行边缘检测,得到检测的边缘线;
5)利用检测到的边缘线把整个感兴趣区域分割成若干相互分离的区域,相互分离的区域为颗粒物的候选掩膜Mask
6)利用模型预测的掩膜与候选掩膜求相交,相交的部分为物体的一部分,表示为Mask
7)选出所有占比大于阈值的候选掩膜Mask
更进一步地,步骤s5使用棋盘格标定板,拍摄若干幅标定板图像,对拍摄的棋盘格的图像进行角点检测,得到一系列的图像点;根据物体的对象点与图像点通过针孔相机模型与映射变换计算畸变系数,旋转平移向量和相机矩阵,并对图像进行畸变矫正。
更进一步地,对矫正之后的图像,根据像素当量计算实际尺寸与图像尺寸的对应关系,像素当量表示为k=d/D,d表示物体的实际尺寸,D表示物体在图像中所占像素数;掩膜面积计算为S
尺寸分布为统计不同尺寸区间的颗粒物的数目与占比,计算颗粒物尺寸分布的过程为:首先统计在尺寸区间a
更进一步地,使用改进掩膜的Mask R-CNN对未标注的数据进行识别,并用识别的结果标注数据,然后人工进行修正,扩充整体数据集;使用得到的数据集进行训练,并微调训练中的超参数,得到训练模型;对得到的训练模型使用单独的测试数据集进行评价,重复执行训练模型过程,直到模型检测效果的评价稳定不变,使用最后的训练权重作为最终使用的权重。
3.有益效果
采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:
(1)相对于传统的深度学习目标检测方法,本发明利用额外的处理进行掩膜的生成,由于相对于原图进行的像素级的边缘处理,可以较高的精度进行后续的测量步骤,整体的测量精度较高。本发明的改进掩膜的Mask R-CNN矿物颗粒检测识别以及粒度检测方法,结合Mask R-CNN网络的检测效果的能力和图像处理进行较高精度测量的能力,用于对矿物颗粒物检测较为精准的面积、粒径尺寸以及尺寸分布,并且可以转换到颗粒物实际的尺寸。
(2)训练数据作为模型检测的基础,提高符合实际情况的数据能够改善模型的表现。在此采用图像变换不同的训练样本,对数据进行增强。本发明的改进掩膜的Mask R-CNN矿物颗粒检测识别以及粒度检测方法,采用图像变换增加图像数据量并且使得模型适应不同光照的图像;通过模拟不同光照变化,对图像进行随机的组合变化,增加了数据量并提升了模型检测过程中的泛化能力。
(3)本发明的改进掩膜的Mask R-CNN矿物颗粒检测识别以及粒度检测方法,其使用的DenseBlock可以利用不同深度的卷积后的特征层,使得不同深度的特征层同样向后传播;而通道注意力机制利用全局池化加上全连接可以对不同特征层产生不同的响应,进而可以增强相应的特征层的响应,增强网络层的表达能力。
附图说明
图1为本发明的基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法的流程示意图;
图2为本发明的通道注意力机制加强的DenseBlock模块示意图;
图3为本发明中密集连接拼接特征金字塔示意图;
图4为本发明的掩膜改进的具体过程图;
图5为本发明中颗粒物图像检测示意图;
图6为本发明中颗粒物椭圆拟合示意图;
图7为本发明中统计颗粒物面积与粒径占比曲线图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。
实施例1
结合图1,本实施例提出的基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法,具体包含以下步骤:
步骤s1:选择图像采集硬件,并采集矿物颗粒物图像,标注数据并进行数据增强,制作数据集。具体地:
选择工业相机与照明光源,本实施例选择彩色相机与圆顶光源。通过工业相机采集若干图像,并且改变光照情况再次进行拍摄。使用图像变换来扩充数据,模拟不同光照情况进行图像变换。
首先使用OpenCV工具把图像从RGB格式转换到HSV格式,公式如下:
V=max(R,G,B)
通过对HSV不同通道进行调整,对图像整体进行亮度的调整、饱和度的调整、图像色调的调整、不均匀光照、阴影生成、亮点生成、随机噪声生成、图像平滑和图像滤波。对于上述不同的图像变换方法随机采用不同方式组合变换,把图像扩充成多组图像。对所有的图像进行标注,利用labelme工具进行掩膜的标注,得到标注的json文件。把所有图像与标注组成整个数据集。
步骤s2:图像输入主干网络,是将图像抽象成数据的过程,为了更好地描述图像中物体的特征通常需要特征描述更适合该类物体的模型。Mask R-CNN网络是首先把图像经过主干网络和特征金字塔网络提取特征,然后通过轻量级的区域建议网络,得到初始的物体建议框,根据初始建议框进一步的分类和回归得到最终预测框,并根据预测框使用语义分割得到预测掩膜。
本实施例把图像输入改进的Mask R-CNN模型中,该Mask R-CNN模型使用通道注意力机制加强的DenseBlock作为主干网络。
输入模型的图像被放缩到512×512的尺寸,其中图像的长边放缩到512大小,图像的短边按照长边的放缩比例进行缩放,其余位置填充0,把放缩后的图像作为模型的输入图像。把图像输入Mask R-CNN中,首先是经过主干特征提取网络,DenseBlock模块如图2所示,由多层卷积层组成,除第一层之外的卷积层是把该层之前所有的卷积层的输出拼接作为输入,表示为N=Concatenate(M
通道注意力机制是通过全局池化选取特征层中不同通道的值然后经过一维全连接层,接着将全连接层与特征层的值进行相乘突出相应某些通道,如图2所示。全局池化包括全局最大池化和全局平均池化,分别表示为M
经过主干网络之后,通过特征金字塔网络把高层的特征层与低层的特征层进行融合,得到不同维度的融合特征层;此处特征金字塔使用密集连接形式,把主干特征网络中不同尺度的特征层进行不同尺度的采样,把采样后的特征层拼接融合作为输出的特征层,结构如图3所示。把特征金字塔网络中的融合特征层输入到区域建议网络,区域建议网络把特征图上的像素点作为特征点,在每个特征点使用9个长宽不同锚框作为先验物体框的位置;区域建议网络根据输入的特征层得到一组包含物体位置与置信度的数组,把数组中的位置与置信度进行解码得到一些候选位置,选取置信度较高的候选位置;然后利用RoIAlign获得候选位置的特征图作为感兴趣区域,对感兴趣区域使用卷积网络输出物体类别与物体位置,使用物体的位置裁剪对应特征金字塔中的特征层并进行语义分割得到输出的掩膜。
步骤s3:设置训练过程的超参数并对网络进行训练。使用网络可以得到颗粒物的位置、种类以及预测掩膜;并对模型效果进行评价。
设置超参数,其中包含激活函数、损失函数、学习率、批样本数量、优化器。根据训练后的模型对图像进行预测,得到位置、种类和预测掩膜。利用测试数据集对模型检测效果进行评价,使用评价函数有平均精度AP和交并比IoU。
步骤s4:经典的图像处理算法能够精确的分割出物体的边缘,但是不易区分出单个实例。基于深度学习的目标检测模型能够识别出相互独立的物体,由于进行实例分割的步骤是对于特征层进行的,而特征层相对于原图有着一定程度的变形与放缩,所以分割出物体的精度有着一定误差。为了解决这个问题,对网络输出的掩膜进行优化,使用传统图像的方法后处理生成掩膜,此时的掩膜为处理原图的掩膜,即为物体真实边缘的掩膜。本实施例提出的方法利用了深度学习对于颗粒物识别的鲁棒性,并且结合了图像处理对物体边缘处理的准确性。
具体地,基于Mask R-CNN的检测效果,主要对输出的掩膜进行修改,使输出掩膜的边缘为实际颗粒物的边缘。改进的Mask R-CNN网络架构的掩膜生成部分的流程如图4所示。
1)通过上述步骤对模型进行训练。
2)根据输入的图像得到预测的颗粒物的位置Boxes、类别Classes和掩膜Masks
3)首先调整网络预测的物体框Box,利用预测框根据原图选取感兴趣区域RoI;
4)感兴趣区域包含颗粒物的图像,对感兴趣区域进行边缘检测,得到检测的边缘线;这些边缘线一部分是属于颗粒物真实的边缘的,另一部分是属于其他纹理图案的;
5)利用这些检测到的边缘线把整个感兴趣区域分割成若干相互分离的区域,这些相互分离的区域为颗粒物的候选掩膜Mask
6)接着利用模型预测的掩膜与候选掩膜进行求相交,相交的部分为物体的一部分,表示为Mask
7)选出所有占比大于阈值的候选掩膜Mask
步骤s5:物体经过镜头成像到相机中会产生一定量的畸变,利用计算成像对图进行矫正能够减小最终测量误差。根据图像中的像素尺寸与实际空间对应的尺寸进行计算可以得到检测目标物的尺寸,利用这种非接触测量方法可以无损的检测目标物。本实施例对图像采集系统进行矫正,利用获得的掩膜计算颗粒物的实际面积、粒径以及统计颗粒物对应的尺寸分布。
具体地,使用棋盘格标定板,拍摄若干幅标定板图像;本实施例使用OpenCV中的工具对拍摄的棋盘格的图像进行角点的检测,得到一系列的图像点;根据物体的对象点与图像点通过针孔相机模型与映射变换计算畸变系数,旋转平移向量和相机矩阵,并对图像进行畸变矫正。
对矫正之后的图像,根据像素当量计算实际尺寸与图像尺寸的对应关系,像素当量表示为k=d/D,d表示物体的实际尺寸,D表示物体在图像中所占像素数。掩膜面积计算为S
尺寸分布为统计检测到的颗粒物按照尺寸分类的数目统计,即是统计不同尺寸区间的颗粒物的数目与占比。具体计算过程如图4所示,计算颗粒物尺寸分布的过程为:首先统计在尺寸区间a
步骤s6:使用改进掩膜的Mask R-CNN对未标注的数据进行识别,并用识别的结果标注数据,然后人工进行修正,这样扩充整体数据集。具体的过程是,利用改进掩膜的MaskR-CNN对待标注图像进行识别,得到图像上所有预测的颗粒物的位置、分类和掩膜;把掩膜进行提取轮廓,并进行数据点采样,选取20个点作为该掩膜的表示;把采样点写入json文件,并把位置和类别同样匹配写入json文件中;对所有待标注图像进行标注,然后使用labelme打开json文件进行人工检查,对未标注的颗粒物进行标注,对标注错误的颗粒物进行改正;最后把所有的标注的数据组成数据集。使用得到的数据集进行训练,并微调训练中的超参数,得到训练模型。
步骤s7:对步骤s6得到的训练模型使用单独的测试数据集进行评价,重复执行步骤s6直到模型检测效果的评价稳定不变。使用最后的训练权重作为最终使用的权重。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
机译: 基于R-CNN的对象检测器的R-CNN学习方法和测试方法,其基于R-CNN的监视,其能够根据对象和学习设备的尺度和学习设备的尺度转换模式和使用相同的测试设备
机译: 基于R-CNN算法的基于对象识别的移动终端三维图像显示的R-CNN 3系统和方法
机译: 单颗粒膜掩膜和单颗粒膜掩膜的制造方法,使用单颗粒膜掩膜的微结构的制造方法和由微结构产生方法产生的微结构