毕业项目推荐:68-基于yolov8/yolov5/yolo11的水稻虫害检测识别系统(Python+卷积神经网络)

文章目录

  • 项目介绍大全(可点击查看,不定时更新中)
  • 概要
  • 一、整体资源介绍
    • 技术要点
    • 功能展示:
      • 功能1 支持单张图片识别
      • 功能2 支持遍历文件夹识别
      • 功能3 支持识别视频文件
      • 功能4 支持摄像头识别
      • 功能5 支持结果文件导出(xls格式)
      • 功能6 支持切换检测到的目标查看
  • 二、系统环境与依赖配置说明
  • 三、数据集
  • 四、算法介绍
    • 1. YOLOv8 概述
      • 简介
    • 2. YOLOv5 概述
      • 简介
    • 3. YOLO11 概述
      • YOLOv11:Ultralytics 最新目标检测模型
  • 🌟 五、模型训练步骤
  • 🌟 六、模型评估步骤
  • 🌟 七、训练结果
  • 🌟八、完整代码

往期经典回顾

项目项目
基于yolov8的车牌检测识别系统基于yolov8/yolov5/yolo11的动物检测识别系统
基于yolov8的人脸表情检测识别系统基于深度学习的PCB板缺陷检测系统
基于yolov8/yolov5的茶叶等级检测系统基于yolov8/yolov5的农作物病虫害检测识别系统
基于yolov8/yolov5的交通标志检测识别系统基于yolov8/yolov5的课堂行为检测识别系统
基于yolov8/yolov5的海洋垃圾检测识别系统基于yolov8/yolov5的垃圾检测与分类系统
基于yolov8/yolov5的行人摔倒检测识别系统基于yolov8/yolov5的草莓病害检测识别系统

具体项目资料请看项目介绍大全

项目介绍大全(可点击查看,不定时更新中)

在这里插入图片描述

概要

人工智能 (AI) 在农业种植领域的应用日益广泛,其中基于深度学习的水稻虫害检测成为一个备受关注的研究方向。通过利用计算机视觉和深度学习技术,我们可以自动识别水稻种植过程中常见的虫害类型,提高水稻种植的虫害防控精准度、产量保障效率与农产品品质安全性。本文将介绍基于深度学习的水稻虫害检测系统,并提供一个简单的 Python 代码实现,以便读者更好地了解这一技术。

水稻是全球最重要的粮食作物之一,直接关系到粮食安全、农业经济稳定与亿万人口的饮食需求,其产量与品质对国家粮食储备、农民经济收益及下游粮食加工产业(如大米加工、食品制造)具有不可替代的影响。然而,水稻在生长周期中易遭受多种虫害侵袭,且稻田广阔的种植面积、复杂的田间环境(如水稻叶片密集遮挡、不同生长阶段植株形态差异),给虫害检测带来诸多挑战:一方面,人工巡查需逐田块、逐植株排查,耗时耗力且覆盖范围有限,尤其在虫害高发期难以快速掌握全域虫害情况;另一方面,部分虫害(如稻飞虱体型微小、稻纵卷叶螟幼虫隐藏于卷叶内)初期症状隐蔽,人工识别易出现漏判、误判,导致防控时机延误;此外,传统虫害监测依赖诱捕器统计或经验估算,数据准确性低,难以支撑精准施药,易造成农药浪费或环境污染。这些问题若未及时解决,会导致虫害大面积扩散,轻则造成水稻减产、米质下降,重则引发区域性绝收,威胁粮食安全。因此,及早检测和准确识别水稻虫害类型与发生程度,对于水稻种植户、农业技术推广部门及粮食安全监管机构来说至关重要。

此外,我们开发了一款带有UI界面水稻虫害检测识别系统,支持实时检测水稻虫害的识别,并能够直观地展示检测结果。系统采用PythonPyQt5开发,可以对图片、视频及摄像头输入进行目标检测,同时支持检测结果的保存。本文还提供了完整的Python代码和详细的使用指南,供有兴趣的读者学习参考。获取完整代码资源,请参见文章末尾。
  
yolov8/yolov5界面如下

在这里插入图片描述

yolo11界面如下
在这里插入图片描述

关键词:水稻虫害检测;深度学习;特征融合;注意力机制;卷积神经网络

在这里插入图片描述

一、整体资源介绍

项目中所用到的算法模型和数据集等信息如下:

算法模型:
    yolov8yolov8 + SE注意力机制yolov5yolov5 + SE注意力机制yolo11yolo11 + SE注意力机制

数据集:
    网上下载的数据集,格式都已转好,可直接使用。

以上是本套代码算法的简单说明,添加注意力机制是本套系统的创新点

技术要点

  • OpenCV:主要用于实现各种图像处理和计算机视觉相关任务。
  • Python:采用这种编程语言,因其简洁易学且拥有大量丰富的资源和库支持。
  • 数据增强技术: 翻转、噪点、色域变换,mosaic等方式,提高模型的鲁棒性。

功能展示:

部分核心功能如下:

  • 功能1: 支持单张图片识别
  • 功能2: 支持遍历文件夹识别
  • 功能3: 支持识别视频文件
  • 功能4: 支持摄像头识别
  • 功能5: 支持结果文件导出(xls格式)
  • 功能6: 支持切换检测到的目标查看

功能1 支持单张图片识别

系统支持用户选择图片文件进行识别。通过点击图片选择按钮,用户可以选择需要检测的图片,并在界面上查看所有识别结果。该功能的界面展示如下图所示:

在这里插入图片描述

在这里插入图片描述

功能2 支持遍历文件夹识别

系统支持选择整个文件夹进行批量识别。用户选择文件夹后,系统会自动遍历其中的所有图片文件,并将识别结果实时更新显示在右下角的表格中。该功能的展示效果如下图所示:

在这里插入图片描述

在这里插入图片描述

功能3 支持识别视频文件

在许多情况下,我们需要识别视频中的目标。因此,系统设计了视频选择功能。用户点击视频按钮即可选择待检测的视频,系统将自动解析视频并逐帧识别多个目标,同时将识别结果记录在右下角的表格中。以下是该功能的展示效果:
在这里插入图片描述

在这里插入图片描述

功能4 支持摄像头识别

在许多场景下,我们需要通过摄像头实时识别目标。为此,系统提供了摄像头选择功能。用户点击摄像头按钮后,系统将自动调用摄像头并进行实时识别,识别结果会即时记录在右下角的表格中。
在这里插入图片描述

在这里插入图片描述

功能5 支持结果文件导出(xls格式)

本系统还添加了对识别结果的导出功能,方便后续查看,目前支持导出xls数据格式,功能展示如下:
在这里插入图片描述

在这里插入图片描述

功能6 支持切换检测到的目标查看

在这里插入图片描述

在这里插入图片描述

二、系统环境与依赖配置说明

本项目采用 Python 3.8.10 作为开发语言,整个后台逻辑均由 Python 编写,主要依赖环境如下:
图形界面框架:

  • PyQt5 5.15.9:用于搭建系统图形用户界面,实现窗口交互与组件布局。 深度学习框架:
  • torch 1.9.0+cu111: PyTorch 深度学习框架,支持 CUDA 11.1 加速,用于模型构建与推理。
  • torchvision 0.10.0+cu111:用于图像处理、数据增强及模型组件辅助。 CUDA与 cuDNN(GPU 加速支持):
  • CUDA 11.1.1(版本号:cuda_11.1.1_456.81):用于 GPU 加速深度学习运算。
  • cuDNN 8.0.5.39(适用于 CUDA 11.1):NVIDIA 深度神经网络库,用于加速模型训练与推理过程。 图像处理与科学计算:
  • opencv-python 4.7.0.72:实现图像读取、显示、处理等功能。
  • numpy 1.24.4:用于高效数组计算及矩阵操作。
  • PIL (pillow) 9.5.0:图像文件读写与基本图像处理库。
  • matplotlib 3.7.1(可选):用于结果图形化展示与可视化调试。

三、数据集

该数据集包含 3155 张图像,用于 水稻虫害识别与目标检测任务。图像采集自实际农田及实验环境,涵盖多种常见水稻害虫,具有广泛的农业应用价值。数据标注精细,适用于构建虫害自动识别与预警系统。

在这里插入图片描述

四、算法介绍

1. YOLOv8 概述

简介

YOLOv8算法的核心特性和改进如下:

  • 全新SOTA模型
    YOLOv8 提供了全新的最先进(SOTA)的模型,包括P5 640P6 1280分辨率的目标检测网络,同时还推出了基于YOLACT的实例分割模型。与YOLOv5类似,它提供了N/S/M/L/X五种尺度的模型,以满足不同场景的需求。
  • Backbone
    骨干网络和Neck部分参考了YOLOv7 ELAN的设计思想。
    YOLOv5的C3结构替换为梯度流更丰富的C2f结构
    针对不同尺度的模型,调整了通道数,使其更适配各种任务需求。
    在这里插入图片描述
    网络结构如下:
    在这里插入图片描述

相比之前版本,YOLOv8对模型结构进行了精心微调,不再是“无脑”地将同一套参数应用于所有模型,从而大幅提升了模型性能。这种优化使得不同尺度的模型在面对多种场景时都能更好地适应。

然而,新引入的C2f模块虽然增强了梯度流,但其内部的Split等操作对特定硬件的部署可能不如之前的版本友好。在某些场景中,C2f模块的这些特性可能会影响模型的部署效率

2. YOLOv5 概述

简介

YOLOV5有YOLOv5n,YOLOv5s,YOLOv5m,YOLOV5l、YOLO5x五个版本。这个模型的结构基本一样,不同的是deth_multiole模型深度和width_multiole模型宽度这两个参数。就和我们买衣服的尺码大小排序一样,YOLOV5n网络是YOLOV5系列中深度最小,特征图的宽度最小的网络。其他的三种都是在此基础上不断加深,不断加宽。不过最常用的一般都是yolov5s模型。

在这里插入图片描述
本系统采用了基于深度学习的目标检测算法——YOLOv5。作为YOLO系列算法中的较新版本,YOLOv5在检测的精度和速度上相较于YOLOv3和YOLOv4都有显著提升。它的核心理念是将目标检测问题转化为回归问题,简化了检测过程并提高了性能。

YOLOv5引入了一种名为SPP (Spatial Pyramid Pooling)的特征提取方法。SPP能够在不增加计算量的情况下,提取多尺度特征,从而显著提升检测效果。

在检测流程中,YOLOv5首先通过骨干网络对输入图像进行特征提取,生成一系列特征图。然后,对这些特征图进行处理,生成检测框和对应的类别概率分数,即每个检测框内物体的类别和其置信度

YOLOv5的特征提取网络采用了CSPNet (Cross Stage Partial Network)结构。它将输入特征图分成两部分,一部分通过多层卷积处理,另一部分进行直接下采样,最后再将两部分特征图进行融合。这种设计增强了网络的非线性表达能力,使其更擅长处理复杂背景和多样化物体的检测任务。

在这里插入图片描述

3. YOLO11 概述

YOLOv11:Ultralytics 最新目标检测模型

YOLOv11 是 Ultralytics 公司在 2024 年推出的 YOLO 系列目标检测模型的最新版本。以下是对 YOLOv11 的具体介绍:

主要特点

  1. 增强的特征提取

    • 采用改进的骨干和颈部架构,如在主干网络中引入了 c2psa 组件,并将 c2f 升级为 c3k2
    • c3k 允许用户自定义卷积模块的尺寸,提升了灵活性。
    • c2psa 通过整合 psa(位置敏感注意力机制)来增强模型的特征提取效能。
    • 颈部网络采用了 pan 架构,并集成了 c3k2 单元,有助于从多个尺度整合特征,并优化特征传递的效率。
  2. 针对效率和速度优化

    • 精细的架构设计和优化的训练流程,在保持准确性和性能最佳平衡的同时,提供更快的处理速度。
    • 相比 YOLOv10,YOLOv11 的延迟降低了 25%-40%,能够达到每秒处理 60 帧 的速度,是目前最快的目标检测模型之一。
  3. 更少的参数,更高的准确度

    • YOLOv11mCOCO 数据集上实现了比 YOLOv8m 更高的 mAP,参数减少了 22%,提高了计算效率,同时不牺牲准确度。
  4. 跨环境的适应性

    • 可无缝部署在 边缘设备云平台 和配备 NVIDIA GPU 的系统上,确保最大的灵活性。
  5. 支持广泛的任务范围

    • 支持多种计算机视觉任务,包括 目标检测实例分割图像分类姿态估计定向目标检测(OBB)

架构改进

  1. 主干网络

    • 引入了 c2psa 组件,并将 c2f 升级为 c3k2
    • c3k 支持用户自定义卷积模块尺寸,增强灵活性。
    • c2psa 整合了 psa(位置敏感注意力机制),提升特征提取效能。
  2. 颈部网络

    • 采用 pan 架构,并集成了 c3k2 单元,帮助从多个尺度整合特征并优化特征传递效率。
  3. 头部网络

    • YOLOv11 的检测头设计与 YOLOv8 大致相似。
    • 在分类(cls)分支中,采用了 深度可分离卷积 来增强性能。

性能优势

  1. 精度提升

    • COCO 数据集上取得了显著的精度提升:
      • YOLOv11x 模型的 mAP 得分高达 54.7%
      • 最小的 YOLOv11n 模型也能达到 39.5%mAP 得分
    • 与前代模型相比,精度有明显进步。
  2. 速度更快

    • 能够满足实时目标检测需求

🌟 五、模型训练步骤

   提供封装好的训练脚本,如下图,更加详细的的操作步骤可以参考我的飞书在线文档:https://aax3oiawuo.feishu.cn/wiki/HLpVwQ4QWiTd4Ckdeifcvvdtnve , 强烈建议直接看文档去训练模型,文档是实时更新的,有任何的新问题,我都会实时的更新上去。另外B站也会提供视频。

  1. 使用pycharm打开代码,找到train.py打开,示例截图如下:
    在这里插入图片描述

  2. 修改 model_yaml 的值,根据自己的实际情况修改,想要训练 yolov8s模型 就 修改为 model_yaml = yaml_yolov8s, 训练 添加SE注意力机制的模型就修改为 model_yaml = yaml_yolov8_SE

  3. 修改data_path 数据集路径,我这里默认指定的是traindata.yaml 文件,如果训练我提供的数据,可以不用改

  4. 修改 model.train()中的参数,按照自己的需求和电脑硬件的情况更改

    # 文档中对参数有详细的说明
    model.train(data=data_path,             # 数据集imgsz=640,                  # 训练图片大小epochs=200,                 # 训练的轮次batch=2,                    # 训练batchworkers=0,                  # 加载数据线程数device='0',                 # 使用显卡optimizer='SGD',            # 优化器project='runs/train',       # 模型保存路径name=name,                  # 模型保存命名)
    
  5. 修改traindata.yaml文件, 打开 traindata.yaml 文件,如下所示:
    在这里插入图片描述
    在这里,只需修改 path 的值,其他的都不用改动(仔细看上面的黄色字体),我提供的数据集默认都是到 yolo 文件夹,设置到 yolo 这一级即可,修改完后,返回 train.py 中,执行train.py

  6. 打开 train.py ,右键执行。
    在这里插入图片描述

  7. 出现如下类似的界面代表开始训练了
    在这里插入图片描述

  8. 训练完后的模型保存在runs/train文件夹下
    在这里插入图片描述


🌟 六、模型评估步骤

  1. 打开val.py文件,如下图所示:
    在这里插入图片描述

  2. 修改 model_pt 的值,是自己想要评估的模型路径

  3. 修改 data_path ,根据自己的实际情况修改,具体如何修改,查看上方模型训练中的修改步骤

  4. 修改 model.val()中的参数,按照自己的需求和电脑硬件的情况更改

    model.val(data=data_path,           # 数据集路径imgsz=300,                # 图片大小,要和训练时一样batch=4,                  # batchworkers=0,                # 加载数据线程数conf=0.001,               # 设置检测的最小置信度阈值。置信度低于此阈值的检测将被丢弃。iou=0.6,                  # 设置非最大抑制 (NMS) 的交叉重叠 (IoU) 阈值。有助于减少重复检测。device='0',               # 使用显卡project='runs/val',       # 保存路径name='exp',               # 保存命名)
    
  5. 修改完后,即可执行程序,出现如下截图,代表成功(下图是示例,具体以自己的实际项目为准。)
    在这里插入图片描述

  6. 评估后的文件全部保存在在 runs/val/exp... 文件夹下
    在这里插入图片描述


🌟 七、训练结果

我们每次训练后,会在 run/train 文件夹下出现一系列的文件,如下图所示:
在这里插入图片描述

   如果大家对于上面生成的这些内容(confusion_matrix.png、results.png等)不清楚是什么意思,可以在我的知识库里查看这些指标的具体含义,示例截图如下:

在这里插入图片描述

🌟八、完整代码

   如果您希望获取博文中提到的所有实现相关的完整资源文件(包括测试图片、视频、Python脚本、UI文件、训练数据集、训练代码、界面代码等),这些文件已被全部打包。以下是完整资源包的截图

在这里插入图片描述

您可以通过下方演示视频视频简介部分进行获取

演示视频:

68-基于深度学习的水稻虫害检测识别系统-yolov8/yolov5-经典版界面

68-基于深度学习的水稻虫害检测识别系统-yolo11-彩色版界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95640.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt为什么要引入QML语言?

Qt发布于1991年,经过30多年的发展,Qt/C已经成为了众多学子,拿来学习C的首选框架。Qt/Widgets,相对于其他界面库(如GNOME、KDE),其实已经很优秀,已经可以成为number one了。在已经是第…

设计模式在Java中的应用:从单例模式到工厂模式的全面解析!

全文目录:开篇语前言1. 单例模式:确保全局只有一个实例1.1 饿汉式单例1.2 懒汉式单例1.3 双重检查锁定(DCL)2. 工厂模式:简化对象创建2.1 简单工厂模式2.2 工厂方法模式2.3 抽象工厂模式3. 其他设计模式3.1 观察者模式…

Meta AIUCSD放大招:DeepConf 让大语言模型推理既快又准,84.7%的token节省+近乎完美的准确率!

1. 【前言】 Meta&UCSD 大语言模型(LLMs) 在推理任务中通过自一致性等测试时缩放方法展现出巨大潜力,但存在精度收益递减和计算开销高的问题。为此,Meta与UCSD的研究人员提出DeepConf方法,它利用模型内部的置信度信…

解决leetcode第3671.子序列美丽值求和问题

3671. 子序列美丽值求和难度:困难问题描述:给你一个长度为 n 的整数数组 nums。对于每个 正整数 g,定义 g 的 美丽值 为 g 与 nums 中符合要求的子序列数量的乘积,子序列需要 严格递增 且最大公约数(GCD)恰…

电机控制(一)-电机分类

电机分类 电机分类: 电机的拓扑模型并没有发生太大变化,变化较大的是控制电机的方法。 常见的电机类型有: 步进电机vs伺服电机 在工业自动化、机器人、精密设备等领域,步进电机和伺服电机是两种最常用的驱动电机,但两者的核心…

【Qt】QToolBar、QToolButton的常用用法

一、QToolBar 常用用法 QToolBar 是 Qt 中用于创建工具栏的控件,可快速放置常用功能按钮、分隔符或自定义控件,并支持拖动停靠、浮动等特性。 1. 基础创建与添加到主窗口 // 在 QMainWindow 中创建工具栏 QToolBar *toolBar new QToolBar(tr("主工…

DVWA靶场通关笔记-验证码绕过Insecure CAPTCHA (Impossible级别)

目录 一、reCAPTCHA 1、配置security为Impossible级别。 2、配置RECAPTCHA参数 3、再次打开靶场 二、源码分析 1、index.php 2、impossible.php 3、功能函数 三、reCAPTCHA 防范分析 1、严格的参数验证与处理 2、预处理防止SQL注入 3、CAPTCHA 验证通过 4、验证当前…

MySQL安装(如果之前有安装过MySQL,先执行下面的卸载流程)

1.安装MySQL 1.1更新系统的软件包列表 sudo apt-get update1.2安装MySQL服务器 sudo apt-get install mysql-server1.3检查MySQL服务是否启动,若没有启动手动启动若没有启动执行: sudo service mysql start1.4登录MySQL(默认安装之后不需要密…

Streamlit 数据看板模板:非前端选手快速搭建 Python 数据可视化交互看板的实用工具

你想想看,平时你用 Python 跑出来一堆数据 —— 比如用户留存率、产品销量变化,想给领导或者同事看,总不能直接发个 CSV 文件或者一堆静态图吧?对方看的时候还得自己翻数据,想对比下上个月和这个月的变化都费劲&#x…

FMC、FMC+ 详解

文章目录FMC 简介FMC 引脚输出定义High-pin count (HPC) connector, HPC pinoutLow-pin count (LPC) connector, LPC pinoutPin and signal descriptionFMC 简介VITA57 标准更新历史VITA57.4 标准推出的原因FMC 引脚输出定义Altera 开发板的 FMC 引脚定义英特尔 Arria 10 GX FP…

小迪web自用笔记24

黑名单机制。如果被过滤可以试试PHP5看看过滤没(或者其他变种变形),但是得看环境有些环境会被当成下载,有些会直接打开。白名单机制只允许这几个特定后缀可以上传,比黑名单更安全。直接从信息图中获取文件类型。文件类…

私有部署问卷系统、考试系统、投票系统、测评系统的最佳选择-调问开源问卷表单(DWSurvey)

在选择私有部署问卷系统的时候,调问问卷系统(DWSurvey)是一定要尝试一下,而且可以应用到私有部署考试系统、私有部署投票系统、私有部署测评系统等多个应用场景。 私有部署问卷、考试、测评、投票系统的优势不言而喻,就拿私有部署考试系统来说…

企业实用——MySQL的备份详解

序言: 本次基于mysql8.0.40来给大家做数据库的备份的实用技巧和思路!对于mysql基础的部分后续我会节选部分给大家讲解,本篇文章适合有一定数据库基础的小伙伴看。 目录 一、MySQL备份概述 1、关于数据保存你要知道 2、到底要备份什么 备份什么 MySQL体系结构(MySQL =…

使用 FunASR 工具包实现音频文件的语音识别

使用 FunASR 工具包实现音频文件的语音识别,并将识别结果保存为文本文件,支持单文件处理和批量处理。电脑环境需要配置,我使用的PyTorch版本: 2.4.1cu121,CUDA可用: True。FunASR 是一个功能强大、性能卓越、面向工业应用的语音识…

【STM32】定时器编码器接口

【STM32】定时器编码器接口一、编码器接口1.1 正交编码器1.2 编码器接口基本结构1.3 工作模式二、编码器接口测速一、编码器接口 编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT的自增或…

浪潮科技Java开发面试题及参考答案(120道题-中)

请介绍一下 SpringMVC 的运行流程?从用户发送请求到响应返回的完整步骤是什么?SpringMVC 是基于MVC架构的Web框架,其运行流程围绕“前端控制器(DispatcherServlet)”展开,通过多个组件协同工作,…

k8s初始化常见问题

执行初始化:kubeadm init --apiserver-advertise-address192.168.88.110 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr10.244.0.0/16 --control-plane-endpointweb01报错信息:age-repository registry.aliyuncs.com/…

Python学习笔记--使用Django修改和删除数据

一、修改方式一:模型类的对象.属性 更改的属性值,模型类的对象.save()返回值:编辑的模型类的对象。def update_book(request):book models.Book.objects.filter(pk1).first()book.price "169"book.save()return HttpResponse(bo…

如何评价2025年数学建模国赛?

2025年全国大学生数学建模竞赛将于9月4日正式举行! 有些第一次参加数学竞赛的同学可能觉得自己还没准备好,临近比赛感到紧张很正常,但需调整心态——数学建模比赛本就是学习过程,遇到不会的知识及时搜索、现学现用即可&#xff0…

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

前言 如果您需要 Vue 版本,请访问 这篇文章。 在 uni-app 全平台兼容(H5网页网站、支付宝/微信小程序、安卓App、苹果App、nvue)开发中,详细实现全景图Vr 720全景查看+用户可流畅拖动预览+自定义工具栏/按钮元素等,uniApp如何实现在线观看720度全景图,适用于全景图VR看房…