1.基于计算机视觉的试管缺陷检测方法,其特征在于,包括以下步骤:步骤S1,获取待测试管的光源透射投影平面图像,提取光源透射投影平面图像的目标区域,得到待测试管的目标区域图像,其中,光源设置在所述待测试管的一侧,投影平面设置在所述待测试管的另一侧,相机斜俯视设置在所述待测试管的上方,旋转底座设置于所述待测试管的下方,用于帮助所述待测试管旋转一周,从而实现对所述待测试管整体的缺陷检测;
步骤S2,将待测试管的目标区域图像作为输入图像,输入至训练好的第一缺陷识别神经网络,或者输入至训练好的第二缺陷识别神经网络,输出待测试管的缺陷图像;
所述的第一缺陷识别神经网络为单试管缺陷识别网络,该网络结构包括:单试管缺陷识别编码器,用于输入待测试管的目标区域图像,该目标区域图像中包括一个待测试管;以及用于输出待测试管的特征图;
单试管缺陷识别全连接层,用于输入待测试管的特征图,输出特征图中各个像素点是否为缺陷像素点的判断结果;
单试管缺陷识别解码器,用于输入特征图中各个像素点是否为缺陷像素点的判断结果,输出待测试管的缺陷图像;
所述的第一缺陷识别神经网络的训练过程如下:
(1)收集训练样本,具体步骤为:
利用步骤S1中的方法,获取N1个试管的目标区域图像,对每个试管,能够得到N2个目标区域图像,将收集的N1*N2个目标区域图像用作训练样本,在N1*N2个目标区域图像中人为的标出缺陷区域和缺陷类别,其中缺陷类别包括试管裂纹缺陷、试管砂点缺陷和无缺陷,得到带有标签的训练样本;
(2)设置损失函数为交叉熵损失函数,来训练第一缺陷识别神经网络;
还包括以下步骤:
步骤S201,设置变分自编码器D1,用于输入第一缺陷识别神经网络输出的试管缺陷图像,输出试管缺陷重构图像,且试管缺陷重构图像与试管缺陷图像的缺陷类别相同,缺陷形状不同;
步骤S202,将变分自编码器D1输出的缺陷重构图像,作为训练样本,继续训练第一缺陷识别神经网络,以优化网络参数;
所述的变分自编码器D1的结构包括编码器和解码器,并且,设置的损失函数如下:其中,
其中,Q为试管缺陷重构图像中缺陷像素点与非缺陷像素点之间的理想亮度差异值,Q’为试管缺陷重构图像中缺陷像素点与非缺陷像素点之间的实际亮度差异值,ε为设定的误差值;
第二缺陷识别神经网络为多试管缺陷识别网络,该网络结构包括:多试管缺陷识别编码器,用于学习所述单试管缺陷识别编码器的网络参数,用于输入待测试管的目标区域图像,该目标区域图像中包括至少两个待测试管,输出待测试管的特征图;
多试管缺陷识别全连接层,用于输入各待测试管的特征图,输出各特征图中的各个像素点是否为缺陷像素点的判断结果;
多试管缺陷识别解码器,用于输入各特征图中的各个像素点是否为缺陷像素点的判断结果,输出各待测试管的缺陷图像所述的第一缺陷识别神经网络和第二缺陷识别神经网络构成知识蒸馏网络,将第一缺陷识别神经网络作为教师网络,将第二缺陷识别神经网络作为学生网络,通过知识蒸馏的训练方式,将训练好的第一缺陷识别神经网络中的网络参数和SoftMax层输出值作为知识,直接传输到第二缺陷识别神经网络中;
所述第二缺陷识别神经网络的训练过程如下:
(1)利用步骤S1获取N3个目标区域图像,每个目标区域图像中含有N4个待测试管,将N3个目标区域图像用作训练样本,并且在各目标区域图像中人为的标出缺陷区域和缺陷类别,得到带有标签的训练样本;
(2)设置损失函数,计算式为
2.根据权利要求1所述的基于计算机视觉的试管缺陷检测方法,其特征在于,所述理想亮度差异值Q的确定步骤如下:获取拟合得到的实际亮度差异值与形状差异值之间的函数关系,结合试管缺陷图像与对应试管缺陷重构图像之间的形状差异值,计算得到理想亮度差异值。
3.根据权利要求2所述的基于计算机视觉的试管缺陷检测方法,其特征在于,所述函数关系的确定方法如下:(1)获取N张试管缺陷图像,计算每张试管缺陷图像的实际亮度差异值,以及计算试管缺陷图像与对应试管缺陷重构图像之间的形状差异值,其中,实际亮度差异值的计算式如下:式中,Q’为实际亮度差异值,
所述形状差异值的计算式如下:
式中,R为试管缺陷图像与对应试管缺陷重构图像之间的形状差异值,(2)根据每张试管缺陷图像的实际亮度差异值,以及试管缺陷图像与对应试管缺陷重构图像之间的形状差异值,拟合实际亮度差异值与形状差异值之间的函数关系,拟合得到的函数关系表达式如下:式中,F表示拟合得到的函数关系。
4.基于计算机视觉的试管缺陷检测设备,其特征在于,包括存储器和处理器,以及存储器上并在处理器上运行的计算机程序,处理器与存储器相耦合,处理器在执行计算机程序时实现如权利要求1-3中任一项所述的基于计算机视觉的试管缺陷检测方法。