简介

  1. 编程语言: Python;
  2. 数据集来自网络收集,其中包括5483张果蔬图片,分30类,依次为香蕉、苦瓜、胡萝卜、樱桃、圣女果、椰子、黄瓜、火龙果、榴莲、青苹果、哈密瓜、猕猴桃、柠檬、荔枝、桂圆、芒果、山竹、脐橙、梨、凤梨、石榴、柚子、红苹果、红葡萄、草莓、橘子、番茄、西瓜、杨梅、白葡萄;
  3. 深度学习使用了ResNet18(残差神经网络,属于CNN深度卷积神经网络的一种),主要使用pytorch库进行模型构建与训练,测试训练轮数为20轮;
  4. 图像转换、预处理使用opencv、torchvision库;
  5. GUI界面构建展示主要使用PyQt5库;

内容展示

GUI界面

导入单图后,点击识别按钮进行识别,右侧展示识别结果,根据识别的类别结果展示中英文类别名,数据集中对应类别的随机图片比对,以及果蔬的简介;

代码结构

训练结果相关

GUI演示

【鲲码园Python】基于pytorch的果蔬分类识别系统(30类)_演示_哔哩哔哩_bilibili

核心代码

import torch
import torch.nn as nn
from torchvision import models

def ResNet18_VegetableFruit(num_classes, is_pretrained=True):
    model_CHM = models.resnet18(pretrained=True)

    num_features = model_CHM.fc.in_features
    model_CHM.fc = nn.Linear(num_features, num_classes)
    model_CHM.model_name = "ResNet18"

    return model_CHM

if __name__ == "__main__":
    ResNet18_VegetableFruit(num_classes=10)

源码+数据集+模型文件获取

飞书文档: Docs

更多推荐