“用CNN网络实现树叶样态的分类”

数据集简介 数据集中树叶的样子有四种,分别为锈病,健康,黑腐,黑星四个种类,而我们要做的工作。就是让机器使用神经网络学习给定的树叶数据集,实现对不同样态的特征提取。然后我们再利用训练好的神经网络,投喂新的树叶图片,让机器自己划分其样态的种类,实现机器识别叶子的智能操作。 将数据集打包分类后,变成traindata和testdata两个数据集。以及对应的train_label和test_label. 代码部分 当时这个项目是在笔记本上完成的,环境是tensorflow2.1.0,话不多说直接上代码 import os import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from PIL import Image from tensorflow.keras.preprocessing.image import ImageDataGenerator # 设置相关路径 train_txt = './second/train_label.txt' x_train_savepath = './second/model_x_train.npy' y_train_savepath = './second/model_y_train.npy' test_txt = './second/test_label.txt' x_test_savepath = './second/model_x_test.npy' y_test_savepath = './second/model_y_test.npy' checkpoint_save_path = "./checkpoint/model_data.ckpt" # 为数据增广的方法设置参数 图中分别设置了随机旋转,水平/垂直的平移变换,和缩放变换等等 image_gen_train = ImageDataGenerator( rotation_range=90, width_shift_range=.15, height_shift_range=.15, zoom_range=0.5 ) # 设置函数:从label中找到文件路径,读取文件到返回参数x中,并设置返回参数y_作为相应标签 def generateds(txt): f = open(txt, 'r') # 以只读形式打开txt文件 contents = f....

March 27, 2021 · 3 min · Rufus