基于热图像的种蛋气室变化监测算法
2021-02-03刘又夫肖德琴王春桃
刘又夫,肖德琴,王春桃
华南农业大学数学与信息学院/广东省农业大数据工程技术研究中心,广东 广州 510642
引 言
种蛋孵化过程中的监测对种蛋的孵化率起重要作用。在孵化过程中,丧失孵化能力的种蛋会在孵化箱中变质,产生的细菌会感染周围其他正常的蛋[1]。目前种蛋的筛查监测主要以人工照蛋的形式为主[2],该方法费时费力,且易漏检误检。因此当务之急是要基于种蛋的孵化机理,研发出一种能对种蛋孵化过程进行实时高效监测的系统,才能取代人工监测,提高监测效率。
目前,人工智能、机器视觉技术逐渐渗透到各个行业[3],在对种蛋的孵化检测方面也逐渐发展起来。机器视觉技术具有高效率、低成本、多信息量、绿色、无损等优点,再结合人工智能算法,拥有取代人工监测种蛋的可能性。Lin等[4]使用热成像技术提取单个种蛋的热图像灰度共生矩阵,并结合种蛋周围环境的温度来判断种蛋受精状况。张伟等[5]将机器视觉与敲击振动相结合,提取种蛋的颜色参数与敲击震动参数作为特征向量,使用LVQ神经网络判别种蛋的受精状况。祝志慧等[6]提取种蛋RGB图像的能量、对比度、相关性、熵、均匀度等5种特征作为输入向量构建深度置信网络模型,用于识别种蛋中的鸡胚性别。但上述试验都存在着限制,一是监测都需在无背景干扰的条件下进行单个种蛋的分析检测,二是监测的种蛋多为侧面,而实际生产中,鸡蛋多以竖立在托盘上的姿势为主,因此对于种蛋侧面的监测意义不大。
针对上述问题,探索了一种基于热图像俯视监测种蛋孵化过程状态的方法。该方法是以种蛋的气室大小变化为监测目标。种蛋气室大小是种蛋孵化过程中的重要监测指标,种蛋气室大小能反映种蛋孵化过程的失重量[7-8]、种蛋胚胎的水分蒸发速度,进而能反映种蛋的孵化成功率。由种蛋的热力学结构可知,在高温环境下,气室与非气室部分的外壳会产生温差,从而可以在种蛋的蛋壳温差中反映出种蛋气室的大小。红外热图像技术是一种测量目标物体表面温度的技术,具有绿色、远程以及无损等优点[9-10]。为贴合实际生产条件,本试验是以鸡蛋托盘为背景,结合Faster-RCNN与BP神经网络,对种蛋的热图像进行目标检测与图像分割,实现对孵化过程中种蛋气室的高效无损监测。
1 实验部分
1.1 材料与种蛋孵化方法
试验材料为珠海市裕禾农牧有限公司种蛋150枚。种蛋经消毒处理后,分5个托盘置于孵化箱中,每个托盘30枚种蛋。孵化箱的孵化温度为37.8 ℃,相对湿度为68%。托盘每2 h翻转一次。共孵化20 d。
1.2 设备及种蛋采集方法
使用FLIR T400热像仪采集种蛋热图像。FLIR T400是美国FILR公司的产品,拥有可视化界面、自动定时拍摄功能。孵化箱拥有自动翻蛋、控温控湿等功能。产品部分参数如表1所示。
表1 仪器参数值Table 1 Instrument parameter value
从孵化第5天开始图像采集,热像仪发射率设为0.95。每天采集2次,采集时间分别为中午12:00与晚上20:00。试验中,是以一个托盘为拍摄对象进行热图像的采集。同一个托盘热图像采集3次。孵化第20天停止采集。
1.3 基于热图像的种蛋气室大小检测原理
从热力学与传热学的角度分析,种蛋气室中的物质以气体为主,相较于呈固态液态的胚胎部分,气态物质流动性更强,热阻更低,与外界物质能量交换速率更高[11],且由于胚胎部分自身属于发热源[12],从而导致种蛋气室内的温度低于胚胎部分,进而导致气室所在的外壳温度相较包裹胚胎部分的外壳更低。热红外成像技术的原理是把目标对象表面发射出的热辐射场转变为灰度数字矩阵,因此可使用热成像技术获取种蛋的外壳温度场,进而表征出种蛋的气室大小。
图1 采集热图像示意图Fig.1 Collecting thermal images
1.4 种蛋目标检测方法
为实现种蛋的个体监测,先将整个托盘的种蛋进行图像切分。切分方法是先使用目标检测算法Faster-RCNN对种蛋进行目标检测,算法反馈回来的坐标用于切分图像。Faster-RCNN是任少卿等在2015年Fast-RCNN基础上作进一步改进的算法[13],在Fast-RCNN基础上添加了RPN网络。RPN网络生成的候选框也较YOLO与SSD的更精准[14]。虽然Faster-RCNN算法的检测速度较慢,但目标检测的位置更精准,能为之后的图像分割奠定更好的处理条件。因此选用Faster-RCNN作为目标检测的算法。Faster-RCNN网络结构如图2所示。
图2 Faster-RCNN结构简图Fig.2 Schematic diagram of Faster-RCNN
种蛋的热图像总拍摄数量为450张,种蛋个体热图像数量约为13 500张(平均每个热图像中约有30个种蛋),由于种蛋作为目标对象与背景差异较大,且形状较单一,特征较明显,因此选用较少样本训练网络即可达到较好的效果。采用随机选取的200张种蛋热图像,约6 000个种蛋个体热图像作为训练集,余下的作为测试集。
经过训练后的网络,根据模型得出的预测坐标,将热图像中的种蛋进行转换计算并切分,并将切分出的种蛋图片重新调整为30×30像素的大小,用作下一步的图像分割。
1.5 种蛋图像分割算法
种蛋的分割,目的是为了二值化切分后的种蛋图像,从而计算气室与种蛋总体的大小。首先需灰度化切分后的种蛋热图像,灰度化的效果直接影响着分割效果。由于种蛋在孵化箱中温度相对恒定且较周围环境温度高,可尝试多通道灰度化进行对比。
图3 切分流程图Fig.3 Flow chart of segment
图4中为随机选取的5张种蛋图,分别使用默认值、R通道、G通道以及B通道进行灰度化。受热红外伪彩选择的影响,种蛋的热图像色调主要以暖色调为主,因此B通道的种蛋灰度图较暗,且种蛋轮廓不明显,无助于分割。R通道的种蛋灰度图鸡蛋轮廓明显,但背景中蛋框也得到了增强,增加了与种蛋混淆的概率,且种蛋气室轮廓丢失严重,也不适用于分割。G通道保留的信息较多,与默认的灰度化效果较接近,虽然G通道的种蛋气室颜色稍加明显,但G通道的气室边缘出现不规则现象,因此最终使用默认通道作下一步的分割。
图4 多通道灰度化(a):默认灰度化;(b):R通道;(c):G通道;(b):B通道Fig.4 Multi-channel grayscale(a):Default grayscale;(b):R channel; (c):G channel;(b):B channel
分割种蛋的方法先使用Otsu算法作尝试,通过选定阈值分割图像,为了适应各种条件的分割状况,采用自适应分割的方式。结果如图5所示。
图5 Otsu算法分割图(a):种蛋热图像;(b):默认灰度化图;(c):自适应阈值Fig.5 Otsu segment(a):Thermal image of breeding eggs;(b):Default grayscale; (c):Otsu algorithm
由Otsu算法的结果可看出,自适应阈值的方法效果较差,分割结果存在蛋框,气室的轮廓形状走形,如果切分的种蛋热红外图中存在相邻的种蛋,也会被分割出。这些缺陷并非能使用传统的图像处理来应对这种复杂的情况。为了能适应这种多变的情形,本工作采用BP神经网络的方法进行图像的分割。
BP神经网络在机器学习中,属于监督学习类型的算法,监督学习是通过标注样本来拟合模型,具有较好的预测能力。BP神经网络由输入层、隐含层以及输出层构成,通过误差反向传播训练网络。先前提到的RPN网络也用到反向传播算法进行训练。
图6 BP神经网络结构图Fig.6 Structure of BP neural network
BP神经网络的图像分割就是使用预先分割完成的掩膜文件进行训练。将种蛋热红外图灰度化后,再转换为900维的向量输入网络,输出也为900维且只有是0与1的向量,将输出的向量转换为uint8的数组,再转化为图片完成分割。
2 结果与讨论
2.1 种蛋热图像目标检测结果
对于Faster-RCNN模型的训练,先要对模型的超参数进行测试调整。平均精度均值(mAP)是用于衡量目标检测模型训练效果的常用指标。mAP的公式为
(1)
式中,APone_class表示某一类别目标检测对象在所有图片中的精度均值;Nall_classes表示所有类别目标检测对象的数量。本工作的目标检测对象只有一种,因此mAP的值与AP相等。
学习速率和动量系数的选取对模型最终的mAP有很大的影响。通过选取较常用的几组学习速率和动量系数[15]进行优化。初始学习速率选择0.1,0.01,0.001以及0.000 1,动量系数选择0.5,0.9和0.99。调参测试结果如表2所示。
表2 学习速率与动量系数组合调参表Table 2 Learning rate and momentum coefficient
先在不加入动量系数的情况下,测试不同的学习速率对mAP的影响。在初始学习速率为0.1时,模型的损失函数值大幅度震荡,无法收敛。初始学习速率为0.000 1时,损失函数收敛过慢,易陷入局部最小值或在一定的迭代次数中收敛过慢而导致模型效果较差,mAP值仅为68%。当初始学习率调整为0.01与0.001时,两者的mAP值分别为96%与97%,两者都拥有较好的收敛效果。通过不加入动量系数的条件下测试,确定以0.001作为初始学习率。三种动量系数经过调试后,mAP值并未有太大的变化,从小数点后几位观察得知,当动量系数为0.99时,效果最好。
通过测试确定了初始学习速率为0.001,动量系数为0.99后,对模型进行测试。使用tensorboard可视化工具观测损失函数值的变化趋势。
总损失函数值是RPN网络与Fast-RCNN各自分类与回归的损失函数值之和。总损失函数值可以反映两个网络整体的收敛状况。两者的损失函数值用于各自网络的训练。由图7可知,在迭代到7 000次左右时,总体的损失函数值趋于稳定。
图7 总损失函数值趋势图Fig.7 Trend of total loss function
图8为测试集种蛋的检测结果图。选框的左上角标示了置信度。由图可知,整个鸡蛋盘中的鸡蛋基本都可较准确的检测出鸡蛋的位置并正确的分类。
图8 种蛋检测结果图Fig.8 Result of eggs detection
2.2 种蛋热图像分割结果
由目标检测的结果可得到分割后的种蛋个体热图像,经过变形处理后,大小变为30×30像素。由前面分析可知,Otsu算法具有局限性,分割的结果存在严重的背景干扰与气室轮廓走形的问题,因此使用BP神经网络进行分割。
准备的掩膜文件有240张,其中180张作为训练集,60张作为测试集。种蛋个体热图像在输入BP网络前,先进行灰度化处理,用默认的方式灰度化。对BP神经网络进行优化。通过F度量来综合评判神经网络的训练效果。F1度量是一种结合召回率与精准率的评判分类算法效果的指标。BP神经网络的图像分割算法本质是对每个像素点进行0或1的分类。F1度量的公式为
(2)
式(2)中,P为精确率,表示在混淆矩阵中,分类器将像素点判断为1的数量的正确个数;R为召回率,表示在混淆矩阵中,所有值为1的像素点中,分类器判断正确的个数。
隐藏层的优化结果如表3所示。在表中隐藏层结构的栏中,是以数字与逗号结合的形式表示神经网络的结构,数字表示隐藏层的神经元数量,逗号表示分层,如“1 000,3 000,1 000”表示三层隐含层,每一层的神经元数量分别为1 000,3 000与1 000。
表3中,网络先以初始学习率为0.000 1,迭代次数为1 000进行调参。在网络达到3层时,BP网络的效果基本达到了稳定,神经元再增加时,F1度量变化不大,甚至出现下降的状况。为使训练过程加快,选择“1 000,1 000,1 000”作为最优结构。
表3 BP神经网络隐藏层优化表Table 3 Hidden layers’ optimization of BP neural network
确定网络的结构后,再对初始学习率与迭代次数进行优化。试验使用自适应学习方式进行优化,且同样使用F1度量作为网络的效果评估。
对BP网络的超参数优化,先使用固定1 000次的最大迭代优化初始学习速率。由表4可知,初始学习速率为0.000 1时,BP网络的结果最好,因此选定0.000 1作为初始学习速率。再固定学习率,调试最大迭代次数,当迭代次数为500时,网络的效果开始趋于稳定。所以,超参数的最终优化结果为初始学习率为0.000 1,最大迭代次数为500。
表4 BP神经网络超参数优化表Table 4 Hyperparameters’ optimization of BP neural network
图9为部分种蛋热图像的分割结果。第三列由BP神经网络分割的图像与第二列的Otsu算法相比,明显少了包括来自临近的种蛋(第二行与第四行)与孵化托盘的干扰。BP神经网络所得到的气室形态与大小更接近原本热图像。
为更直观的解释算法的效果,采用F1-Measure作为分割效果的指标,用两种算法作对比。从测试集随机抽取不同状态的30张种蛋热红外图作对比。由Faster-RCNN的切分结果看,有部分种蛋的切分图中,存在部分相邻种蛋,如图9中的第二行与第五行。因此将有无相邻蛋干扰作为两种情况分开对比。对比结果如表5所示。
图9 部分种蛋热图像分割图(a):种蛋热图像;(b):Otsu算法;(c):BP神经网络Fig.9 Some segment of egg’s thermal images(a):Thermal images;(b):Otsu algorithm; (c):BP neural network
表5中,使用Otsu算法在处理不同图像状况中,相差约7%,而BP神经网络在作两种图像状况的分割时,两者结果十分相近,基本做到了排除临近蛋的干扰。从总体算法效果的评估结果来看,BP神经网络的算法效果为87.02%,远优于效果为65.25%的Otsu算法。
表5 算法的分割效果对比Table 5 Comparison of algorithms for segment
2.3 种蛋气室面积计算
从BP神经网络得出的分割图是一个只含0和1数字的矩阵,通过连通区域的检测将种蛋的整体与气室分离。在实际的设备中,孵化托盘高低、红外镜头的高低和鸡蛋大小等因素都会影响种蛋热图像中得出的气室大小,因此要将气室大小进行归一化处理后求出气室面积的相对大小。从俯视的角度看,种蛋的气室大小总是小于整蛋的大小,因此归一化的方式是选择用气室的大小除以整个种蛋的大小。
图10左方的图为分割的结果通过计算种蛋整体与气室分离图中等于1的像素点数量,来表征种蛋整体与气室的大小,再对气室进行归一化。归一化表达式如式(3)所示。
图10 种蛋整体与气室分离图Fig.10 Segment’s images of egg and air cell
(3)
式(3)中,Nair为种蛋气室分离图像素值等于1的总数量;Negg为种蛋整蛋分离图像素值等于1的总数量。
2.4 种蛋气室测量试验
种蛋试验从种蛋孵化的第5天开始,孵化时间持续20 d,期间通过热像仪记录并观察气室的大小变化情况,在第20天停止采集种蛋的热图像。种蛋在孵化的过程中,气室会不断变大。
由图11可知,实验中种蛋气室会随着天数的推移而变大,且不同鸡蛋个体气室的大小差异随着天数的增加而不断减小。在图中可观察出,数据结果表征所有蛋的气室大小并非完全是每天都在变大,这可能是受到拍摄角度和热像仪的性能影响,但从另一个角度说明样本的丰富度也增加了。气室是一个立体的空间,会受到拍摄角度的影响,另一方面,热像仪的性能会导致种蛋热图像中的气室部分像素不清晰的现象,影响到算法的分割结果。在实际运用中,种蛋孵化的监测将是以全自动化高精度装置的形式运作,会减少上述问题带来的影响。
图11 种蛋气室变化Fig.11 Change of air cell size
此外,随机选取了20个种蛋作人工测量计算面积系数,并与热红外图像的面积系数作相关性分析。
如图12所示,使用人工测量法的结果与热红外测量法的相关性系数R2=0.934 3,拥有较好的相关性。但依然存在着部分误差,原因有可能是因为人工测量误差与算法生成的误差造成的。
图12 人工法与热红外法气室面积系数相关性分析Fig.12 Correlation between the artificial measured value and thermal-image measured value
3 结 论
探索研究出的种蛋气室大小监测算法,可有效地排除来自托盘背景和相邻鸡蛋的干扰,且可以较好地提取出种蛋气室的大小。从气室监测试验中表明该算法可有效反映出种蛋气室变大的趋势,用人工测量法与热红外测量法的结果也有着较好的相关性,为后期种蛋气室的数据分析工作提供了数据基础。目前算法还存在数据量较少的缺陷,因此在后续试验中会不断扩充训练样本而完善模型。对于种蛋的气室分割算法也可作进一步的优化,如使用卷积提取特征[16]、结合启发式算法[17]进行优化等。而对于后期的数据挖掘分析工作,可将种蛋的温度特征等数据作进一步分析。