做这个事情是为了拉通流程,所以对数据集进行了重新制作,只选取了部分类别来完成目标分类任务。
代码地址:https://github.com/AlannahYYL/plant_classification
完整数据集:https://pan.baidu.com/wap/init?surl=6f1nQchS-zBtzSWn9Guyyg 提取码:iksk
筛选后的玉米:https://pan.baidu.com/s/1GLo51C_y2pcoESDFUrgyDA 提取码:sdfc
一.项目环境
python==3.6 torch==1.6 torchvision==0.7.0
二.数据集介绍
首先说下数据集:AI Challenger 2018农作物病害检测竞赛就是由上海新客科技为竞赛提供农作物叶子图像的数据集:标注图片5万张,包含10种植物(苹果、樱桃、葡萄、柑桔、桃、草莓、番茄、辣椒、玉米、马铃薯)的27种病害,合计61个分类(按“物种-病害-程度”分)
标签类别对照表:见https://github.com/xungeer29/AI-Challenger-Plant-Disease-Recognition/blob/master/README.md
标注文件为json文件,是一个列表,列表中每张图片的信息以字典形式保存。key值:“disease_class”, “image_id”。
三.数据集制作
首先参考这篇进行的数据分布的分析,选择了9-16玉米的病害数据来完成本次任务。
with open(train_data_json) as datafile1:
trainDataFram=pd.read_json(datafile1,orient='records')
with open(val_data_json) as datafile2: #first check if it's a valid json file or not
validateDataFram =pd.read_json(datafile2