基于深度学习的视觉自动估计鱼重量方法
- 2019 年 10 月 4 日
- 笔记
导读:基于视觉的物体质量估计是计算机视觉的新兴领域,具有广泛的工业应用价值。该论文主要研究了两个问题:第一是评估由CNN自动分割的鱼形轮廓是否应该包括鱼鳍和尾巴(基于全鱼轮廓的两个简单的数学模型应用在不同地理位置的不可见的测试图像时效果更好(即较低的MAPEs))。第二是单因子(单参数,one-parameter)数学模型和双因子模型表现在新测试图像上孰优孰劣(单因子数学模型更好)。单因素模型高度稳定,在测试图像上实现比训练图像更低的MAPE = 4.36%,MAPE = 5.44%。
论文贡献
该研究的重点是提出从图像中自动估计鱼重量的方法,具体来说解决了以下两个问题:
1)实验中与使用整个鱼轮廓模型相比,排除鱼鳍和尾部的模型是否更准确?换句话说鱼的整个轮廓模型是否应该包含鱼鳍和尾部?(提取整个鱼表面区域要比排除鱼鳍和尾部要容易的多)。
2)评估模型的稳定性。鱼的大小和拍摄条件不同造成鱼在图像中显示不同,形态分割的稳定性与质量估计的稳定性息息相关。
详细内容
论文中使用的模型:
本研究使用基于U-Net的变种LinkNet-34网络模型作为分割模型,使用ResNet-34作为特征编码器。损失函数为:
其中y是目标掩码,hat{y}是LinkNet34的输出,bc(y,hat{y})是二进制交叉熵,dice(y,hat{y})是dice系数。不管是训练还是测试,所使用的的输入图片均为单通道灰度图像并标准化为数值0,1范围。
在实践时,为了更有效地重用预训练模型ResNet34,在ResNet34作为编码器时,将Adam学习率降低10倍。Adam的起始学习率lr=10^{-3},在迭代100次后学习率调整为lr=10^{-5}.图4位不同学习率的损失效果。
鱼类体重估计方法:
最常用的鱼类体重估计方法:
通过鱼轮廓-长度模型估计质量,L=f(C)为轮廓-长度模型,M=g(L)为长度-质量模型。
也有研究人员提出利用图像中鱼表面积来估计小型鱼类的质量
其中S代表图像中鱼类的表面积(分割区域面积),H表示高度L表示长度。
Konovalov提出只利用鱼表面积来拟合估计鱼类质量:
式中参数a,b,c与鱼类物种相关,需要各自独立拟合得到。
实验结果:
(1) Weight-from-area mathematical models
检测评估模型(即式子5和式子6,式子5是单因子模型,式子6是双因子模型).通过对鱼轮廓是否包含鱼鳍和尾部分别进行评估,看是完整的还是排除鱼鳍和尾部的轮廓更为准确。效果看表I:whole-完整的轮廓,no-fins:去除鱼鳍的轮廓。
(2)Weight-from-image estimation
模型LinkNet34R来自于LinkNet34,它将LinkNet34 sigmoid输出相加,并进行对数处理:
利用LinkNet34R网络模型训练后,基于回归方法的质量估计对图像中的目标鱼类进行估计,Mask type 7-8为利用网络模型对输入数据进行质量估计的结果,其他是基于数学模型计算得到的结果:
研究发现没有鱼鳍的掩膜对于质量预测更为有效。轮廓中含有鱼鳍时,网络模型更容易记住复杂的外形,会引起一定程度的过拟合。
网络模型LinkNet::
https://github.com/e-lab/LinkNet
论文地址:https://arxiv.org/pdf/1909.02710.pdf