当前位置: 首页 > article >正文

Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化

文章结尾部分有CSDN官方提供的学长 联系方式名片
文章结尾部分有CSDN官方提供的学长 联系方式名片
关注B站,有好处!

功能介绍

编号:F045
🪲 vue+flask+neo4j+mysql 架构 (前后端分离架构)
🪲 棉花医院AI问答:前端聊天界面体验超棒(对接千问大模型API)
🪲 病虫害图片识别:基于CNN的棉花病虫害识别,可自己训练模型(基于pytorch)
🪲 数据为棉花的四个期对应的 各种虫害
🪲 知识图谱: 模糊查询+图标+双击+拖动等(双击展示数据)
🪲 数据大屏:中国地图显示产地: echarts 分析
🪲 病虫害查询: 分页+模糊查询+卡片展示
🪲 棉花生长周期:展示4个周期
🪲 关键词分析等、登录注册

视频讲解

F045vue+flask棉花病虫害CNN识别+AI问答知识neo4j 图谱可视化系统深度学习神经网络

病虫害知识问答

基于阿里千问大模型API实现的棉花病虫害问答

类似聊天界面

在这里插入图片描述
在这里插入图片描述

病虫害识别

基于Pytorch CNN卷积神经网络模型实现的病虫害识别
识别叶甲
在这里插入图片描述
上传图片,右侧展示识别结果、图片和相关的信息:
在这里插入图片描述

知识图谱可视化

可视化

在这里插入图片描述

支持模糊搜索显示知识图谱子图,输入“蕾”

在这里插入图片描述

点击节点,右侧展示详细节点信息

在这里插入图片描述

病虫害知识库搜索

可以搜索各种病虫害,支持模糊搜索+分页,画面美观
在这里插入图片描述

棉花周期科普

在这里插入图片描述

关键词分析

基于统计、textrank+tfidf双算法的关键词主题词分析
在这里插入图片描述

词云分析

基于jieba分词的词云分析
在这里插入图片描述

数据大屏

多种echarts可视化图形数据分析的应用,美观大方
通过中国地图分析棉花产地、药物类型、虫害分析、有效成分等
在这里插入图片描述

登录和注册

在这里插入图片描述
在这里插入图片描述

个人信息设置,可修改头像等

在这里插入图片描述

通过OCR识别技术进行实名认证

在这里插入图片描述

病虫害识别代码


class SimpleCNN(nn.Module):
    def __init__(self, num_classes):
        super(SimpleCNN, self).__init__()
        self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
        self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1)
        self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)
        self.fc1 = nn.Linear(32 * 32 * 32, 128)
        self.fc2 = nn.Linear(128, num_classes)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 32 * 32 * 32)
        x = F.relu(self.fc1(x))
        x = self.fc2(x)
        return x

# 预测函数
def predict(image_path, model, class_names):
    # 定义图像预处理
    # transform = transforms.Compose([
    #     transforms.Resize((128, 128)),  # 统一大小
    #     transforms.ToTensor(),
    # ])

    transform = transforms.Compose([
        transforms.Resize((128, 128)),
        transforms.Lambda(lambda x: x.convert('RGB')),  # 确保转换为RGB模式
        transforms.ToTensor(),
    ])

    # 加载和预处理图像
    image = Image.open(image_path)
    image = transform(image).unsqueeze(0)  # 增加批次维度

    # 将图像输入模型进行预测
    model.eval()  # 设置模型为评估模式
    with torch.no_grad():
        outputs = model(image)
        # print(outputs)
        _, predicted = torch.max(outputs, 1)
    print(predicted.item())
    # 返回预测的类别
    return class_names[predicted.item()]

def predict_interface(test_image_path):
    # 加载训练好的模型
    num_classes = 5  # 根据你的数据集类别数量修改
    model = SimpleCNN(num_classes)
    model.load_state_dict(torch.load(MODEL_PATH))
    model.eval()

    # 类别名称(根据你的数据集修改)
    class_names = ['中黑盲蝽', '台龟甲', '叶甲', '宽棘缘椿', '小长蝽',
                   ]  # 替换为实际类别名称
    # 测试预测
    # test_image_path = '3.jpg'  # 替换为测试图像的路径
    predicted_class = predict(test_image_path, model, class_names)
    return predicted_class

if __name__ == "__main__":
    # 加载训练好的模型
    num_classes = 5  # 根据你的数据集类别数量修改
    model = SimpleCNN(num_classes)
    model.load_state_dict(torch.load('disease_model.pth'))
    model.eval()

    # 类别名称(根据你的数据集修改)
    class_names = ['中黑盲蝽', '台龟甲', '叶甲', '宽棘缘椿', '小长蝽',
]  # 替换为实际类别名称

    # 测试预测
    test_image_path = '3.jpg'  # 替换为测试图像的路径
    predicted_class = predict(test_image_path, model, class_names)
    print(f'Predicted class: {predicted_class}')

http://www.kler.cn/a/408514.html

相关文章:

  • 小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(7)嵌入式Soc
  • Stable Diffusion初步见解(二)
  • 快速获取镜像包的方法
  • 通过DataWorks实现MaxCompute跨项目迁移
  • React中 setState 是同步的还是异步的?调和阶段 setState 干了什么?
  • torch_geometric使用手册-Creating Message Passing Networks(专题二)
  • grep/egrep正则表达式
  • Linux基本指令的使用
  • 力扣 239. 滑动窗口最大值
  • 数字化工厂 MES试点方案全解析(三)
  • 行为树详解(2)——最简单的行为树
  • LeetCode题练习与总结:棋盘上的战舰--419
  • 【Python爬虫五十个小案例】爬取豆瓣电影Top250
  • ElasticSearch7.x入门教程之索引数据类型和映射(四)
  • 11.21 小清新图论专场训练
  • 华为FusionCube 500-8.2.0SPC100 实施部署文档
  • 项目实战:Vue3开发一个购物车
  • ComfyUI绘画|SD WebUI 与 SD ComfyUI 的区别
  • 【含文档】基于.NET的医院医保管理系统(含源码+数据库+lw)
  • 2024最新python使用yt-dlp
  • 2024大数据职业技能竞赛(国赛)模块E-工业 用折线图展示设备OP160每日的运行时长
  • 疑难Tips:NextCloud域名访问登录时卡住,显示违反内容安全策略
  • MQ重复消费与消息顺序
  • 深入理解与实践:Softmax函数在机器学习中的应用
  • LeetCode-632. Smallest Range Covering Elements from K Lists [C++][Java]
  • vue--制作购物车