自动识别采集内容( 深兰深延-12-10植物识别开源项目)

优采云 发布时间: 2021-12-12 18:22

  自动识别采集内容(

深兰深延-12-10植物识别开源项目)

  

  深蓝深拓AI2021-12-10

  植物识别一直是我想培养的爱好,而机器学习和计算机视觉是我的专业领域。鉴于目前市面上大部分植物识别产品都需要收费进行批量识别,虽然每个产品可以识别的植物种类很多,但总有一些遗漏,扩展性不可控. 于是萌生了一个基于图像的植物识别开源项目的想法。

  项目概况

  模型开源,项目示例代码依赖少;

  模型大小为29.5M,Top1准确率0.848,Top5准确率0.959;

  支持4066个植物类群(可能是属、种、亚种、变种等),并持续增加(见下方更新记录);

  植物名称引用自 iPlant,包括学名和官方中文名称。

  项目主页

  GitHub:

  体验地址:

  

  植物识别效果:马缨丹

  

  植物识别效果:一束红色

  数据采集和整理

  数据是深度学习的基石,我花了很多时间在数据的采集和整理上。

  主要数据来源有:百度图片、必应图片、新浪微博、*敏*感*词*、新浪博客及部分专业植物网站等,除新浪微博外,其他均使用爬虫。另外,有些数据是作者自己取的。

  爬虫爬取的图片质量参差不齐,标签可能有误,还有重复文件,必须清理干净。我尝试过的清洁方式包括自动清洁、*敏*感*词*清洁和手动清洁。

  自动清洁包括:

  过滤掉小尺寸的图像;

  过滤掉宽高比大或小的图片;

  过滤掉灰度图像;

  图像去重:基于图像感知的哈希

  *敏*感*词*清洗包括:

  图像级清洗:使用预训练的植物/非植物图像分类器对图像文件进行评分,非植物图像应得分较低;使用前一阶段的植物分类器对图像文件(每个文件有一个Pre-standard类别)进行预测,取pre-standard类别的概率值作为score。不属于原创预标准类别的图像应具有较低的分数。你可以设置一个阈值来过滤掉分数很低的文件;另外,使用分数重命名图像文件,在资源管理器中选择按文件名排序,这样可以手动清除非植物图像和未预先标记的图像。

  类级清洗:参考数据集的几种清洗方法。

  手动清理:手动判断文件夹中的图片是否属于文件夹名称中指定的物种。这需要相关的植物学专业知识。它是最耗时、最枯燥的环节,但也是了解很多植物的基础。

  数据状态

  作者将采集到的数据集分为形式集和候选集。正式集的每个分类单元中的图像数量基本在100张以上,主要用于训练。候选集中物种的图像比较少,等图像量增加后会加入正式集,或者直接作为后期植物检索的基础数据库。

  20210413:官方集有 1,320 个分类群和 460,352 张图像。

  20210609:官方集有 1,630 个分类群和 586,557 张图像。

  20210718:官方集有 2,002 个分类群和 749,763 张图像。

  20210905:正式集有2759个分类单元和996690张图像;候选集有 3,784 个分类单元和 80,893 张图像。

  20211024:正式集有4066个分类单元和1451934张图像;候选集有 3,248 个分类单元和 69,396 张图像。

  模型训练

  受算力和显存限制(只有一个GTX 1660),骨干网采用轻量级网络(如ResNet18、MobileNetV2_1.0)),损失函数为softmax cross entropy。优化器是SGD,使用L2正则化,标签平滑正则化,余弦退火学习率衰减策略和学习率预热。这个方案是保守的。等作者有更多的计算能力,我会尝试一些新的方案。比如细粒度图像检索(FGIR)、度量学习、自监督学习、模型蒸馏等。

  当前模型直接输出各种置信度,模型也可以转化为特征提取器,用自己的植物图像构建基础数据库,通过图像检索来识别植物,更具扩展性。

  20210413:发布的模型训练了30个epochs,在GTX 1660上耗时约39小时,在23026张图片的测试集上,Top1的准确率0.940。

  20210609:发布的模型训练了30个epochs,在GTX 1660上用了两天多。在29313张图片的测试集上,Top1的准确率0.924。

  20210718:发布的模型训练了30+个epochs,在GTX 1660上用了三天左右。在74961张图片的测试集上,Top1的准确率0.900。

  20210905:发布的模型训练了30个epochs,在GTX 1660上用了三天左右。在99676张图片的测试集上,Top1的准确率0.890,Top5的准确率0.970。

  20211024:发布的模型训练了30个epochs,在GTX 1660上用了两天多。在145168张图片的测试集上,Top1的准确率0.848,Top5的准确率0.959。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线