Application of deep learning in sheep behaviors recognition and influence analysis of training data characteristics on the recognition effect
(Computer and electronics in agriculture)
参考
author
paper
code
data
解决的主要问题
验证了在实践中同分布和同特征数据要比大量数据对模型准确率的提升有更大效果。(Suppose the training data and actual test data obey the same distribution and have the same data characteristics. In that case, the trained model will adapt to specific scenarios, and the application effect will be improved.)
Abstract
提出问题:虽然基于图像的深度学习算法可用于自动识别动物行为,但对于深度学习模型的特点和训练数据量,一直没有统一明确的结论性定义。
解决问题的方法:所提出的模型使用各种类型的数据集进行训练,根据训练数据与测试数据是否具有高相似度的数据特征分为两类。模型训练包括几轮不同数量的训练数据。(The model training included several rounds with different training data amounts. )
实验结果和表明:数据集和训练集特征相似度高则准确率高,特征相似度第则模型准确率低。这些结果表明,在结构化的情况下,当训练数据和实际应用中产生的数据具有一致的特征时,没有必要使用大量的训练数据。
Conclusions
主旨:这项研究中,YOLOv5模型用于识别羊的四种行为:eating, drinking, lying, and drinking (原文可能写错了)。
实验方法:使用YOLOv5单独训练每一个数据集。
实验结果和表明
工作前景未来的工作将包括以下三个方面。首先,CNN模型结构将得到改进但简化,这将使其更容易在现场部署以进行长期应用。其次,将研究直接从动态视频而不是图像进行羊行为识别。最后,将根据行为识别结果,开发一种针对特定动物行为的判断和预警方法,例如预测母羊的分娩。
Materials and methods
Experiments and data acquision
实验地点,实验环境(羊圈的围栏长度、高度、宽度),设备(饮水器【nipple drinkers】、饮食槽)
实验批准,实验介绍:猪圈个数、相机参数、安装位置、安装位置参数(高度和角度和方向),相机目标......
Dataset construction
如何选择不同的行为等等
Compration experiment and training dataset set
从相机_1的图像数据中随机选择BDS C1S4作为独立的测试集,用于模型性能的验证。为了考察YOLO v5模型的训练效果,我们构建了两类训练集。第一类训练集的训练样本选自相机_2和相机_4的BDS,它们是与测试集有关的异质性数据。第二类训练集中的训练样本从相机_3和相机_1的BDS中随机抽取,它们与测试集的数据是一致的。训练样本按照样本数量分为五个等级:少、中、多、多和大。采用随机抽样的原则来构建训练集,以提高训练效率,保证实验的公平性。随机抽取C2S1、C2S2、C4S1和C4S3的BDS构成异质数据的前四个尺度,大尺度由相机_2和相机_4的所有BDS构成。为了保证训练数据集的一致性,摄像机_3的BDS被用来建立少、中、多尺度样本。C1S3与相机_3的所有BDS一起被随机选取,以形成多规模样本。将C1S1、C1S2和C1S3加入到多规模样本中,构建大规模训练集。表1中给出了对比实验训练集的详细信息。
表1
注:BDS代表一个基本数据集,由总共1500张图片组成,其中每个动作有375张图片。BDS用CiSj表示,其中i代表相机索引,j代表相机所拍摄的羊的索引。CiSj在所有表格中的含义都是一样的。
Results
异质训练数据集上的识别结果
1. 由异质数据组成的不同大小的训练集被依次输入到YOLO v5模型中进行训练。然后,测试集C1S4被用来测试训练后的YOLO v5模型的识别性能。
2. 由异质数据组成的不同大小的训练集被依次输入到YOLO v5模型中进行训练。然后,测试集C1S4被用来测试训练后的YOLO v5模型的识别性能。
3. 如表2所示,P值在0.434到0.525之间,R值在0.288到0.510之间,而mAP值在0.197到0.375之间。P、R和mAP的平均值分别为0.472、0.388和0.258。
4. 结果表明,在测试集上,没有超过一半的羊的行为被正确识别,也没有超过一半的识别行为被正确分类。在异质训练和测试数据的情况下,当训练集只包括少数规模的样本时,训练后的模型在测试集上的表现不佳。
中等规模训练集的测试结果见表3。如表3所示,P值在0.534和0.756之间,R值在0.377和0.585之间,mAP的值在0.292和0.495之间。P、R和mAP的平均值分别为0.641、0.526和0.424。
评价指标显示,在训练样本数增加一倍后,模型的性能得到了提高。即使在训练集和测试集表示异质数据的情况下,中等规模的训练集也比少数规模的训练集有优势
表4中给出了对多尺度训练集的测试结果。
如表4所示,P值在0.517和0.754之间,R值在0.583和0.635之间,mAP值在0.478和0.563之间。P、R和mAP的平均值分别为0.679、0.617和0.522。
在多尺度训练集中有4500张图像,随着训练样本数量的增加,训练后的模型可以从测试集中识别更多的目标。测试集中超过60%的羊群行为被正确识别和分类。因此,增加训练样本的数量是有效的。
表5显示了在丰富的和大规模的训练集上的测试结果。如表5所示,在丰富的大规模训练集中有6000张图像,包括四个BDS,在这个数据集上的P、R和mAP值分别为0.759、0.621和0.562。当训练样本的数量增加到9,000张图像,即每个行为有2,250张图像时,P、R和mAP的值分别达到0.876、0.803和0.746。因此,用如此多的训练样本训练的模型可以应用于实际生产,尽管它没有达到令人满意的水平。
总结:如图4所示,模型的性能随着训练样本数的增加而逐渐提高,当训练样本数增加2倍时,模型对测试集的识别效果明显提高。然而,各评价指标的增长速度却逐渐放缓。与少规模数据集相比,多规模数据集上的P、R和mAP的平均值分别提高了43.86%、59.02%和102.30%。与多尺度数据集相比,大规模数据集上的P、R和mAP的平均值的改进分别为29.01%、30.15%和42.91%。训练样本数量每增加2倍,模型性能的提高就会减少一半左右。因此,当增加更多的训练样本来提高模型性能时,性价比会下降。
Recognition results on consistent training datasets
。。。
Discussion
。 接下来,我们研究了数据的一致性和数量对深度学习模型的性能哪个更重要。虽然可以认为这个问题是多余的,因为深度学习需要大量的数据来确定潜在的数据模式和特征,但人们普遍认为,增加训练数据量可以为深度学习模型提供更好的性能。这与本文介绍的实验结果并不矛盾。如图6所示,用一致的少数(C3S1)、中等(C3S2+C3S3)和多规模(C3S1+C3S2+C3S3)数据训练的模型在测试集上对羊的四种行为的识别效果随着训练集数量的增加而下降。卧姿、采食和饮水行为的正确识别率低于50.00%,这些行为大部分被用少比例样本训练的模型归类为站姿。在模型训练中使用中等规模的训练集时,识别效果得到了改善;与少数规模的数据集相比,该训练集的样本数增加了一倍。对于中等规模的训练集,卧姿、站姿和进食行为的识别率提高到89.00%以上,喝水的正确识别率提高了4倍。用多尺度训练集训练模型时,卧姿、站姿、进食和饮水行为的识别率都超过了96.00%,识别结果如图7所示。虽然当训练样本数再次增加时,深度学习模型的性能并没有明显提高,如表8和图5所示,但其性能并没有下降。
增加训练集规模的成本是不可忽视的,数据量的增长伴随着更高的人力和时间消耗。不同数据规模的训练集的生成和训练持续时间如表9所示。如表9所示,创建较高尺度的训练集所需的时间大约是较低尺度训练集的两倍,相应的训练时间也延长了。多尺度训练集的生成和训练时间分别为18.50-20.30小时和3.17-3.58小时。大规模训练集的生成和训练时间分别为38.40-40.20小时和6.88-7.16小时。对于异质性数据,在花费两倍的时间产生更多的训练样本后,关于P、R和mAP值的模型性能分别提高了1.29倍、1.30倍和1.43倍。然而,对于一致的数据,更多的训练样本并没有给模型的性能带来任何改善。因此,对于多少数据足够用于深度学习模型的训练,还不能做出明确的结论。
然而,根据结果,训练集和测试集具有相同的数据分布是至关重要的,因为这比简单地增加训练样本的数量能使深度学习模型的性能得到更大的提高(Andrew,2018)。目前大多数深度学习模型在动物行为检测中取得良好效果的原因是测试数据和训练数据的特征一致。Yang等人,2018年,Jiang等人,2020年,Yin等人(2020年)分别用深度学习对羊、猪、牛的不同行为进行了识别,他们的识别率与本文中一致性训练集所训练的模型的识别率接近。他们获得的数据都是从同一场景中获得的;即摄像机的位置、高度和角度以及一个拍摄目标都是恒定的。这些数据的一部分被用来建立训练集,另一部分被用来测试模型。这些结果表明了数据一致性的重要性。在这项研究中,用于模型测试的绵羊数据从未出现在训练集中。所提出的深度学习模型在用由4500张图片组成的一致的训练数据(每个行为1125张图片)进行训练后,显示出良好的识别性能。然而,对于异质数据,即使是9,000张图像(每个行为2,250张),也无法取得令人满意的测试结果。
总而言之,训练样本的数量很重要,但不是模型识别性能的唯一影响因素。训练和测试数据之间的一致性是深度学习模型性能的另一个影响因素,在为具体的实际应用开发模型时,应该更加注意这个问题。需要注意的是,要建立一个适用于不同场景的具有良好普适性的深度学习模型,足够数量的训练样本是绝对必要的。如果能够确定深度学习的应用环境,就可以构建一个类似的场景来获得训练数据,而不需要在不同的场景中收集大量的数据进行泛化。通过这种方式,可以节省很多时间和人力。在监控集约化养殖的动物行为时,可以统一规定摄像机的高度、安装位置和角度,在为特定的应用场景开发深度学习模型时,使用这种方法可以大大加快模型的开发过程。
在本文中,实验是在一个特定的场景和羊的品种进行的。结果表明,使用一定规模的同质数据而不是海量的异质数据可以在实际应用中快速训练和部署深度学习模型。然而,本文中提到的同质训练集的规模是否具有广泛的适用性,还需要进一步研究。此外,还需要考虑在实际应用中部署模型时,农民是否能提供一个完全一致的环境。当相机安装高度、角度、照明条件和羊的品种等方面的部署和采集数据之间存在一些偏差时,模型的有效性需要在有限数量的数据集训练后进一步验证。