Ensemble of the Deep Convolutional Network for Multiclass of Plant Disease Classi¯cation Using Leaf Images
创新点
- 提出了一种基于集成学习方法的网络MCPE用于多类植物不同程度的病害分类,该网络通过boost策略集合了四个CNN网络取得了比单一网络更好的性能
- 使用了一种新的动态relu激活函数
- 发布了一个新的用于植物病害分类的数据集
思路来源:从[Binary ensemble neural network: More bits per network or
more networks per bit]([1806.07550] Binary Ensemble Neural Network: More Bits per Network or More Networks per Bit? (arxiv.org))文中了解到,单一网络不能胜任多类植物不同程度病害的分类任务。
集成学习:在同一数据集上训练多个网络,然后使用每个训练模型进行预测,然后以某种方式组合预测以得出最终结果。
方法
处理数据不平衡策略:1.对数据集重新采样,对少数类进行过采样对多数类进行欠采样或两者都采用。缺点是会造成数据的丢失。2.[Focal Loss](ICCV 2017 Open Access Repository (thecvf.com))焦点损失通过重新分配不同类别样本的损失权重解决数据不平衡问题,降低易分类样本的损失权重
数据增强:[AutoAugment](CVPR 2019 Open Access Repository (thecvf.com)),一种用于搜索最佳增强策略组合的算法
激活函数:动态relu(通过输入数据确定参数),相比于静态relu增加了较少的计算量,获取了更好的表征能力,动态relu的激活值表示:
其中,k表示函数数目,**θ(x)**由输入X生成,通过SEnet实现
MCPE模型结构
该模型是一个两阶段的方法
第一个阶段:采用AutoAugment的数据增强策略增强数据集,然后一个集成网络对植物种类进行分类。
第二个阶段:对每种植物训练一个疾病分类器,用来分类植物疾病的种类和严重程度。
每一个植物疾病分类器都是由集成网络计算的,这保证了不同植物分类器分类规则的特异性。
EsembleNet
boost strategy
step1:将训练集数据样本权重初始化为1/n
step2:训练第一个CNN模型,计算模型错误率和系数
step3:更新数据集权重,减少易分类样本的权重,增加误分类样本权重,然后一次训练各个CNN模型
step4:每个模型预测测试集
step5:对所有CNN模型的预测结果进行加权和,精度高的增加权重精度低的减少权重