1.一种基于机器学习的小龙虾分级方法,其特征在于,包括如下步骤:
s1、数据集建立步骤,从包含有若干小龙虾图像样本的龙虾原始数据集中提取部分小龙虾图像样本,构建得到干净图像数据集,并将所述干净图像数据集随机划分为训练集、验证集以及测试集;
s2、模型建立步骤,构建初步数据集处理模型,设置所述初步数据集处理模型的超参数并对所述初步数据集处理模型进行特征迁移,随后利用所述训练集、验证集内的数据对所述初步数据集处理模型进行反复训练、验证,得到预训练数据集处理模型,最后利用所述测试集内的数据对所述预训练数据集处理模型进行测试,得到完善的数据集处理模型;
s3、模型使用步骤,使用所述数据集处理模型对所述龙虾原始数据集内的小龙虾图像样本进行逐条处理,最终得到小龙虾分级结果。
2.根据权利要求1所述的基于机器学习的小龙虾分级方法,其特征在于,s1所述数据集建立步骤具体包括:
s11、获取若干小龙虾图像样本,按“大”、“中”、“小”三个等级对每个所述小龙虾图像样本进行人工标注等级,将全部样本及其对应等级进行汇总得到龙虾原始数据集,随后从所述龙虾原始数据集选取部分小龙虾图像样本、保证每个等级的样本数量相同,最终构建得到干净图像数据集;
s12、按照划分比例对所述干净图像数据集中的小龙虾图像样本进行随机划分,分别得到训练集、验证集以及测试集、共三个子数据集,在每个子数据集中每个等级的样本数量相同;
s13、利用python中的keras图像预处理模块imagedatagenerator对所述训练集内的小龙虾图像样本进行图像归一化和数据增强处理,对小龙虾图像样本进行旋转操作以增加所述训练集内的数据量,随后通过flow_from_directory()函数将小龙虾图像样本打乱并将所述干净图像数据集转化为二维的one-hot编码标签,实现对所述训练集、验证集以及测试集的优化更新。
3.根据权利要求2所述的基于机器学习的小龙虾分级方法,其特征在于:所述划分比例为训练集∶验证集∶测试集=6∶2∶2。
4.根据权利要求2所述的基于机器学习的小龙虾分级方法,其特征在于,s2所述模型建立步骤具体包括:
s21、使用imagenet数据集上预训练的efficientnet-b0网络模型作为初步数据集处理模型,设置所述初步数据集处理模型的超参数,通过对所述初步数据集处理模型内的全连接层进行全局平均池化完成特征迁移,再通过线性分类器完成softmax分类;
s22、对经过s21处理后的初步数据集处理模型进行编译处理,随后使用优化更新后的所述训练集、验证集内的数据对所述初步数据集处理模型进行反复训练、验证,得到预训练数据集处理模型;
s24、利用优化更新后的所述测试集内的数据对所述预训练数据集处理模型进行测试,得到完善的数据集处理模型。
5.根据权利要求4所述的基于机器学习的小龙虾分级方法,其特征在于:所述初步数据集处理模型采用sequential顺序结构,由一个特征提取层、两个全连接层以及一个线性分类层组成,两个所述全连接层的特征维度分别为512和128,两个所述全连接层内均包含有用于拟合训练数据的relu激活函数。
6.根据权利要求4所述的基于机器学习的小龙虾分级方法,其特征在于:所述超参数至少包括要输入的数据集中图像样本的尺寸、batch大小、迭代次数以及类别数。
7.根据权利要求4所述的基于机器学习的小龙虾分级方法,其特征在于:所述线性分类器为包含于所述线性分类层内的softmax激活函数。
8.根据权利要求4所述的基于机器学习的小龙虾分级方法,其特征在于,s22具体包括:采用编译函数对所述初步数据集处理模型进行编译处理,损失函数选用交叉熵损失函数、优化器选用adam损失函数优化器,冻结efficientnet-b0网络参数、仅训练全连接层和线性分类器内的参数,随后使用fit_generator()函数、结合优化更新后的所述训练集、验证集内的数据对所述初步数据集处理模型进行反复训练、验证,得到预训练数据集处理模型。
9.根据权利要求4所述的基于机器学习的小龙虾分级方法,其特征在于,在s22与s24之间,还包括如下步骤:
s23、使用matplotlib.pyplot模块和pandas模块绘制accuracy、loss曲线。
10.根据权利要求9所述的基于机器学习的小龙虾分级方法,其特征在于,s24具体包括:利用所述测试集内的数据对所述预训练数据集处理模型进行测试,使用evaluate_generator()函数测试所述预训练数据集处理模型的准确率和loss值,最终得到完善的数据集处理模型。