基于深度学习神经网络cnn的柑橘病虫害识别系统源码

 第一步:准备数据

5种柑橘病虫数据:Fruit-anthrax,Fruit-ulcer,leaf_thyroid,Leaf-anthrax和Leaf-ulcer,总共有3030张图片,每个文件夹单独放一种数据

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第1张图片

第二步:搭建模型

本文用的是resnet50模型,其网络结构如下:

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第2张图片

模型代码如下:

def resnet_50(IMG_SHAPE=(224, 224, 3), class_num=5):
    inpt =Input(shape=IMG_SHAPE)
    x = ZeroPadding2D((3, 3))(inpt)
    x = Conv2d_BN(x, nb_filter=64, kernel_size=(7, 7), strides=(2, 2), padding='valid')
    x = MaxPooling2D(pool_size=(3, 3), strides=(2, 2), padding='same')(x)

    #conv2_x
    x = bottleneck_Block(x, nb_filters=[64,64,256],strides=(1,1),with_conv_shortcut=True)
    x = bottleneck_Block(x, nb_filters=[64,64,256])
    x = bottleneck_Block(x, nb_filters=[64,64,256])

    #conv3_x
    x = bottleneck_Block(x, nb_filters=[128, 128, 512],strides=(2,2),with_conv_shortcut=True)
    x = bottleneck_Block(x, nb_filters=[128, 128, 512])
    x = bottleneck_Block(x, nb_filters=[128, 128, 512])
    x = bottleneck_Block(x, nb_filters=[128, 128, 512])

    #conv4_x
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024],strides=(2,2),with_conv_shortcut=True)
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024])
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024])
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024])
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024])
    x = bottleneck_Block(x, nb_filters=[256, 256, 1024])

    #conv5_x
    x = bottleneck_Block(x, nb_filters=[512, 512, 2048], strides=(2, 2), with_conv_shortcut=True)
    x = bottleneck_Block(x, nb_filters=[512, 512, 2048])
    x = bottleneck_Block(x, nb_filters=[512, 512, 2048])

    x = AveragePooling2D(pool_size=(7, 7))(x)
    x = Flatten()(x)
    x = Dense(class_num, activation='softmax')(x)

    model = Model(inputs=inpt, outputs=x)
     # 输出模型信息
    model.summary()
    # 指明模型的训练参数,优化器为sgd优化器,损失函数为交叉熵损失函数
    model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])
    # 返回模型
    return model

第三步:训练过程中的部分中间结果

混淆矩阵

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第3张图片

正确率和loss变化:

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第4张图片

第四步:搭建GUI界面

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第5张图片

第六步:整个工程的内容

提供整套,提供测试数据,提供GUI界面代码,主要使用方法可以参考里面的“文档说明_必看.docx”

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第6张图片

代码的下载路径(新窗口打开链接)基于深度学习神经网络cnn的柑橘病虫害识别系统源码

基于深度学习神经网络cnn的柑橘病虫害识别系统源码_第7张图片

有问题可以私信或者留言,有问必答

你可能感兴趣的:(分类实战,深度学习,神经网络,cnn)