『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法( 二 )


【『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法】基于颜色先验知识得到目标候选区域后 , 草莓机器手需要在候选目标中挑选最符合要求的区域作为采摘的对象 。 传统做法是计算草莓的纹理特征 , 如共生矩阵等人工设计的特征向量 , 而后训练支持向量机(SVM)作为分类器进行分类[3] , 但人工设计的特征难以涵盖草莓的多种形态 , 因此 SVM 的分类效果较差 。
随着深度学习技术的发展 , 深度卷积网络在图像分类中展现出了极大的优势[6]:不需要人工定义特征;图像的特征在学习的过程中自动提取出来;随着训练样本的增加 , 卷积网络可以学习到精准的目标特征 。
机器手获取的图像中草莓目标较小 , 因此本文在训练模型时 , 先基于 Cifar10 数据集对卷积网络进行训练 , 而后用训练得到的网络参数初始化本文的卷积网络 。 为了适应 Cifar10 卷积网络参数 , 在对候选目标进行分类识别时 , 先将候选目标图像缩放到标准尺寸 32×32 , 具体步骤如下:
(1)用 Cifar10 数据集对卷积网络进行预训练;
(2)用步骤(1)得到的网络参数初始化本文的卷积网络 , 为了减少训练参数 , 同时由于候选目标较小 , 本文所用卷积网络与步骤(1)相比少了一层全连接层;
(3)基于草莓样本对步骤(2)初始化后的卷积网络进行微调;
(4)将基于颜色先验知识分割得到的目标候选区域输入步骤(3)得到的卷积网络进行识别;
(5)选择步骤(4)中识别概率最大的候选区域作为最终的定位结果输出 。
本文采用的训练卷积网络和识别卷积网络如图 3 所示 。
『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法
本文插图
本文所用的训练样本和验证样本各取 600 张 , 正负样本各 300 张 , 为了避免因样本较少而导致的过拟合现象 , 先采用 Cifar10 数据集进行网络训练 , 用训练后的网络参数来对图 3(a)的训练模型进行初始化 , 再用本文所采集的样本进行微调训练 。 由于文中所用样本较少 , 因此在用图 3 网络进行迭代训练时每次输入 10 张正负随机样本 , 迭代 30 次刚好覆盖整个数据集 。
由于草莓机器手采摘的草莓目标必须满足预设的草莓标准 , 因此本文训练时采用的草莓样本都是符合设定标准的图片 , 而在负样本中包括了大量不符合预设标准的负样本图片 , 如不完整草莓、与草莓相似的植物、草莓茎叶等 , 部分样本如图 4 所示 。
『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法
本文插图
4、 仿真结果与分析
为了验证本文算法 , 先用 Cifar10 数据集迭代训练 10 000 次[8] , 由于数据比较多 , 为了提高训练速度 , 训练时选取学习率为 0.001 , 再用本文所用的训练样本和验证样本对模型进行微调 , 由于本文样本偏少 , 因此学习率取 0.000 1 。 Cifar10 模型训练精度和损失曲线如图 5 所示 , 用本文数据进行微调后的模型精度和损失曲线如图 6 所示 。
『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法
本文插图
『与非网』基于颜色先验知识和深度学习的草莓机器手识别算法
本文插图
从图 5 可见 , Cifar10 训练 100 00 次后 , 精度可以达到 0.73 , 但这样的精度无法适用于草莓机器手 。 对网络模型进行微调的训练结果如图 6 所示 , 在经过 400 次迭代后 , 精度在本文的验证样本中即可以接近 1.0 , 而损失函数也在 400 次迭代后接近 0 , 因此本文所用的微调模型完全可以达到草莓机器手所需要的精度 。
图 7 中展示了两幅草莓机器手采集的图片经过颜色分割并输入图 3(b)卷积网络识别后的输出结果 。 从图中可以看到 , 识别的结果基本符合人对成熟草莓的主观定义 , 最符合主观标准的识别结果甚至可以达到 1.000 0 , 即使存在多个符合人眼标准的候选区时 , 本文所提出的算法也可以给出客观的打分排序 。 对于图中出现的粘连目标 , 本文算法也可以分别给出客观的识别结果 。


推荐阅读