基于Python + YOLO-V11的中草药识别系统设计与实现毕设

📅 发布时间:2026/9/5 6:09:01
基于Python + YOLO-V11的中草药识别系统设计与实现毕设
博主介绍✌ 专注于Java,python,✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的中草药作为中华传统医学的重要组成部分具有广泛的临床应用与研究价值。然而传统的中草药鉴定依赖于经验丰富的医师与繁琐的实验室检测导致鉴定效率低下且易受人为因素影响。近年来计算机视觉技术在生物识别领域取得显著进展其在植物分类、病虫害监测等场景中的成功应用为中草药识别提供了新的技术路径。基于此背景本研究旨在构建一套高效、准确的中草药图像识别系统以期为传统医学与现代信息技术的深度融合提供可行方案。本研究的核心目标是利用Python编程环境与YOLO-V11目标检测框架实现对中草药叶片、根茎、花朵等多部位图像的实时识别。通过收集并标注涵盖数百种常见中草药的高质量图像数据集采用迁移学习策略对YOLO-V11模型进行微调从而提升模型在细粒度分类任务中的辨识度。系统设计将包括图像预处理模块、特征提取网络、目标检测与分类后处理等关键组件并通过多线程技术实现并发推理以满足实际应用场景对速度与精度的双重要求。研究成果将形成一套完整的中草药识别工作流程涵盖数据采集、模型训练、性能评估与系统部署等环节。通过与传统人工鉴定方法及现有机器学习方案进行对比实验预期在准确率、召回率与推理速度方面实现显著提升。该系统不仅可为中草药企业提供快速筛选工具还能为药材质量监管、科研数据库建设等领域提供可靠的数据支持。从社会与产业层面来看构建高效的中草药识别系统有助于降低传统医学研究与临床应用中的人力成本提升药材来源可追溯性与安全性。同时该技术平台亦可为中草药相关的教学培训、市场监管及国际交流提供标准化、可视化的辅助工具从而推动中医药现代化进程。在技术实现方面本研究将采用Python语言的OpenCV与PyTorch生态结合YOLO-V11模型的高效推理能力构建跨平台的应用框架。通过对模型参数、输入尺寸、批量大小等因素进行系统性实验进一步优化模型在移动端与服务器端的部署性能。最终将系统开放源代码并提供完整的使用文档以便学术界与产业界共同验证与改进。二、研究意义本研究在传统医学与现代人工智能交叉领域具有重要的理论与实践意义。首先针对中草药多样性与形态相似性所带来的鉴定难题构建基于YOLO-V11的目标检测模型能够显著提升识别准确率从而为中草药质量评估提供客观、可重复的技术手段其次该系统通过Python生态实现跨平台部署可在移动终端与云端服务器上实现实时推理为草药生产企业与临床医师提供便捷的现场鉴定工具降低人工成本与误差率再次研究过程中所构建的大规模标注图像数据库将成为中草药视觉识别领域的重要资源为后续深度学习模型的改进与算法创新提供数据支持此外本研究所采用的迁移学习与轻量化模型优化策略可为其他细粒度分类任务提供可借鉴的技术框架具有较强的推广价值最后系统的开放源码与使用文档将促进学术界与产业界的合作交流推动中医药现代化进程为传统文化数字化保护与传承做出贡献。三、国内外研究现状国内外在中草药及植物图像识别领域的研究已形成多条技术路线主要聚焦于数据集构建、深度学习模型优化与跨模态融合。国际上PlantCLEF竞赛推动了大规模植物图像数据库的公开与共享参赛者普遍采用卷积神经网络如ResNet、Inception以及轻量化网络MobileNetV2进行特征提取并通过迁移学习显著提升小样本分类性能与此同时YOLO系列目标检测模型在植物叶片检测任务中表现出色尤其是YOLOv3、YOLOv4与YOLOv5在速度与精度之间取得平衡被广泛用于实时识别。近年来YOLOv7及其后续改进版如YOLOv8通过引入自注意力机制和多尺度特征融合在复杂场景下进一步提升检测召回率并实现了对小目标的精准定位。国内研究则侧重于中草药特有的形态学特征与传统医学知识的结合构建了如中草药图像识别数据库CIPD等本土数据集涵盖数百种常用药材的叶片、根茎、花瓣等多部位图像在模型方面多数工作采用PyTorch框架实现YOLOv5或YOLOv6的微调并结合注意力模块提升对细粒度特征的捕捉。除此之外国内研究者还尝试将深度学习与传统图像处理技术相结合例如利用颜色直方图、纹理特征与CNN提取的高层语义信息进行多模态融合以提高在光照变化和遮挡条件下的鲁棒性。近年来基于Transformer的视觉模型如ViT、Swin Transformer在植物识别任务中展现出与CNN相当甚至更优的性能国内团队亦已将其应用于中草药图像分类实验并通过轻量化改造实现了在移动端的部署。尽管已有诸多成果但在中草药细粒度分类、实时检测以及跨设备一致性方面仍存在挑战数据集标注不均衡、样本稀缺导致模型泛化能力不足且对不同生长环境下的形态变化缺乏足够的适应性。综上所述国内外研究已在深度学习框架与目标检测算法上取得显著进展但针对中草药独特形态与多样性所需的高精度、实时识别系统仍亟待进一步创新与完善。四、预期达到目标及解决的关键问题预期目标在于构建一套完整、可推广的中草药识别系统该系统能够在多种环境下实现高精度、低延迟的实时检测与分类并具备良好的可维护性与易部署特性。首先系统应通过收集涵盖常用中草药叶片、根茎、花瓣等多部位的高分辨率图像构建规模在数千张以上、类别覆盖率超过一百种的标注数据集其次在此基础上利用迁移学习与自注意力机制对YOLO‑V11模型进行微调以实现目标检测精度在95%以上、平均召回率在93%以上的目标再次系统需通过多线程并行推理与模型量化技术将单张图像的平均推理时间控制在200毫秒以内满足移动端与云端实时应用需求最后在系统部署层面实现跨平台兼容支持Windows、Linux以及Android等操作系统并提供友好的API接口以便后续集成到药材供应链管理、临床辅助诊断以及科研数据库建设等场景中。为达成上述目标研究将围绕数据质量提升、模型鲁棒性增强与系统性能优化三大关键技术路线展开。数据质量方面将采用专家标注与半自动化标注工具相结合的方式确保图像标签的准确性与一致性同时通过数据增强、合成图像以及伪标签策略缓解样本不平衡问题模型鲁棒性方面将引入多尺度特征融合、轻量化注意力模块以及域自适应技术以提升模型在光照变化、背景杂乱与部分遮挡等实际拍摄条件下的识别稳定性系统性能优化方面将利用TensorRT、ONNX Runtime等推理框架进行模型加速并通过量化、剪枝与知识蒸馏技术降低模型体积与计算开销确保在资源受限的移动设备上实现高效推理。然而在实现上述目标的过程中仍面临若干关键问题。首先数据采集与标注成本高昂且易出现主观误差尤其在同一草药不同部位、不同生长阶段之间的形态差异较大时标注一致性难以保证其次中草药种类繁多、样本稀缺导致模型在少数类别上易出现过拟合与召回率下降再次实际应用环境中的光照、背景与拍摄角度多变造成域漂移现象使得在训练集上表现良好的模型在现场部署时性能显著下降此外YOLO‑V11等目标检测模型对小目标的定位与分类仍存在一定误差尤其在叶片细小或根茎碎片化时易被误检或漏检最后系统在移动端部署时需兼顾功耗与热管理问题过高的推理负载可能导致设备温升过快影响使用体验与硬件寿命。针对上述关键问题本研究将提出一系列创新解决方案。为降低标注成本将开发基于语义分割的半监督标注框架利用少量人工标注样本生成高质量伪标签为缓解样本不平衡将采用分层采样与类内数据增强策略并引入焦点损失函数提升稀有类别的学习效果为解决域漂移将构建多域自适应模块结合对抗训练与特征归一化技术使模型在不同拍摄环境下保持一致的特征分布为提升小目标检测精度将在YOLO‑V11基础上引入多尺度检测头与边缘增强模块进一步细化目标框定位为满足移动端部署需求将实现模型的动态量化与混合精度推理并结合功耗管理策略确保设备在长时间运行中的稳定性。通过上述措施预期能够在保持高识别准确率的同时实现系统的实时性与可扩展性为中草药行业提供一套成熟、可靠的技术解决方案。五、研究内容本研究围绕中草药图像识别的全流程展开首先在数据采集阶段通过与中草药科研机构合作获取涵盖叶片、根茎、花瓣等多部位的高分辨率图像随后利用专业标注工具对图像进行精细标注形成包含数千张样本、类别超过一百种的标准化数据集。数据预处理环节将采用颜色空间转换、直方图均衡化以及随机裁剪等技术以提升模型对光照变化与背景杂乱的鲁棒性同时通过图像增强手段如旋转、缩放、翻转与噪声注入扩充样本多样性缓解类别不平衡问题。接下来在模型构建层面本研究将以YOLO‑V11为基准网络通过迁移学习策略引入预训练权重并在其基础上加入轻量化注意力模块与多尺度特征融合机制以提升对细粒度目标的检测精度。训练过程中将采用焦点损失函数与混合精度训练技术既能解决类别稀缺导致的梯度不平衡又能降低显存占用。模型评估将采用平均精确率(AP)、平均召回率(AR)以及mAP等指标并在不同光照与背景条件下进行交叉验证以确保模型在真实环境中的泛化能力。系统实现方面将构建基于Python的完整推理框架利用TensorRT与ONNX Runtime对YOLO‑V11模型进行加速部署同时通过量化与剪枝技术将模型大小压缩至数十兆字节实现移动端低功耗实时推理。为满足多平台需求系统将提供RESTful API接口使得云端服务器、桌面客户端与Android/iOS移动设备均可通过统一协议调用识别服务。最后研究将结合用户体验评估与可视化分析对系统在药材供应链管理、临床辅助诊断以及科研数据库建设等应用场景中的性能进行实测并根据反馈迭代优化算法与界面设计。整个研究内容涵盖数据采集与标注、预处理与增强、模型设计与训练、性能评估与部署以及应用场景验证等关键环节形成一套完整的中草药图像识别技术体系。六、需求分析用户需求方面本系统的目标用户主要包括中草药从业者、科研人员、临床医师以及药材供应链管理人员。首先用户期望通过简洁直观的界面即可完成草药图像的采集与上传避免繁琐的手工操作其次鉴定准确率是核心需求之一用户希望系统能够在常见中草药种类中提供95%以上的识别准确率以降低误诊风险再次鉴于现场环境光照多变且设备多样化用户需要系统在不同光照、背景与角度下均保持高鲁棒性并支持离线推理以适应网络不稳定或无网络环境此外用户对系统响应速度有严格要求希望单张图像的识别时间不超过200毫秒从而实现实时反馈再者用户希望能够在系统中查看识别结果的置信度、定位框以及对应药材的基本信息如药性、功效、使用禁忌以便快速做出决策最后用户期望系统能够与现有药材数据库或医院信息系统进行无缝对接实现识别结果与库存管理、处方记录等业务流程的自动同步。功能需求方面系统需具备多平台兼容性包括桌面端Windows、Linux、移动端Android、iOS以及云服务端所有平台均提供统一的API接口系统必须实现高效的图像预处理模块支持颜色空间转换、直方图均衡化与自适应裁剪以提升模型对光照变化的适应性模型推理层面需集成YOLO‑V11网络并通过量化与剪枝技术实现模型压缩至数十兆字节同时保持平均精确率不低于95%系统需提供实时目标检测与定位功能支持多目标识别并在图像上绘制清晰的边界框结果展示模块应显示药材名称、置信度、药性信息并支持用户对错误结果进行纠正反馈以便持续改进模型数据管理功能需支持批量上传、标签编辑与版本控制满足科研人员对数据集维护的需求安全与隐私方面系统需实现身份认证、访问权限控制以及数据加密传输确保用户信息与图像数据的安全最后系统应提供日志记录与性能监控功能以便运维人员及时发现并解决推理延迟或错误率异常。七、可行性分析经济可行性方面系统的总体开发成本主要集中在数据采集与标注、模型训练与优化以及软件部署与维护三个阶段。数据采集阶段需与中草药科研机构合作获取高分辨率图像并进行专业标注预计人工成本约为每张样本数十元累计若干千张样本则总成本在数十万元模型训练阶段采用现有的GPU服务器与云计算资源利用迁移学习与轻量化技术可将训练时间压缩至数天硬件费用相对较低软件部署阶段通过Python生态与TensorRT等开源推理框架实现跨平台支持避免昂贵的专有软件许可费用。综合来看总投入预计在50万元至80万元之间且系统上线后可通过药材供应链管理、临床辅助诊断以及科研数据库授权等多元化收入模式实现快速回本。市场需求方面中草药行业庞大且对鉴定精度要求高随着数字化转型的推进企业与医疗机构对高效识别工具的渴求日益增强预期年复合增长率可达15%至20%为系统提供稳定的用户基础。社会可行性方面本研究将显著提升中草药鉴定的科学性与可重复性降低人工误差为传统医学现代化提供技术支撑。系统在农村医疗、社区卫生以及药材市场等场景中的应用可缩短诊疗时间、降低成本并通过移动端轻量化部署实现信息获取的普惠性促进医药健康公平。与此同时系统需严格遵守国家关于医疗数据安全与隐私保护的法规采用身份认证、访问控制与数据加密等措施确保用户信息不被泄露。用户接受度方面通过提供友好的界面、即时反馈与结果解释可提升从业人员对技术的信任度并通过持续的技术支持与培训降低使用门槛。技术可行性方面YOLO‑V11作为当前目标检测领域的主流模型已在多种视觉任务中证明其高效与准确且在Python生态中拥有成熟的实现与优化工具。通过迁移学习与轻量化注意力模块可进一步提升对细粒度中草药特征的捕捉能力并通过TensorRT、ONNX Runtime等推理框架实现低延迟部署。硬件方面系统可在配备NVIDIA RTX 30系列显卡的服务器上完成训练在移动端仅需配备ARMv8 CPU与TensorFlow Lite或ONNX Runtime Mobile即可实现实时推理满足资源受限环境需求。数据方面已公开的植物图像数据库与本土中草药图像集可作为预训练与微调的数据来源解决样本稀缺问题同时利用数据增强与伪标签技术可进一步提升模型鲁棒性。综上所述现有的算法、框架与硬件资源足以支撑系统的实现与推广。八、功能分析系统功能模块可划分为数据采集与管理、图像预处理与增强、模型推理与后处理、结果展示与交互、用户管理与权限控制、日志监控与维护以及跨平台接口。数据采集与管理模块负责接收来自移动端摄像头或桌面相机的原始图像并将其存入本地或云端数据库同时支持批量上传功能便于科研人员对大规模图像进行统一管理。图像预处理与增强模块在推理前对输入图像进行颜色空间转换、直方图均衡化、尺寸归一化以及随机裁剪等操作以提升模型对光照变化与背景杂乱的适应性该模块亦提供可视化预览方便用户确认预处理效果。模型推理与后处理模块采用YOLO‑V11网络进行目标检测输出边界框坐标、类别标签与置信度随后通过非极大值抑制与类别阈值过滤对检测结果进行精细化处理并将最终结果传递给结果展示模块。结果展示与交互模块以图形化界面呈现识别结果支持在原始图像上绘制定位框、显示药材名称、置信度以及对应的药性信息用户可对错误识别进行手动纠正并将反馈存入数据库用于模型持续学习。用户管理与权限控制模块实现身份认证、角色分配与访问权限细粒度控制确保不同级别的用户只能访问其授权的数据与功能同时支持多因素认证与密码策略以增强安全性。日志监控与维护模块记录系统运行日志、推理时间、错误率等关键指标并提供实时监控仪表盘管理员可通过该模块快速定位性能瓶颈或异常情况并进行远程调试或升级。跨平台接口模块为桌面端、移动端与云服务端提供统一的RESTful API支持图像上传、推理请求、结果查询与模型更新等操作该接口采用HTTPS加密传输并通过JWT令牌实现会话管理保证数据在网络传输过程中的安全。上述功能模块相互协同构成一套从数据采集到结果交付的完整闭环为中草药识别提供高效、可靠且易于维护的技术方案。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注users.user_id | 用户编号系统唯一标识用户。| 10 | INT | 主键 |users.username | 登录用户名长度不超过50字符。| 50 | VARCHAR(50) | |users.password_hash | 密码哈希值长度不超过255字符。| 255 | VARCHAR(255) | |users.email | 用户邮箱地址长度不超过100字符。| 100 | VARCHAR(100) | |users.role_id | 所属角色编号关联roles.role_id。| 10 | INT | 外键 → roles.role_id |users.created_at | 账户创建时间。| - | DATETIME | |users.updated_at | 账户信息最后更新时间。| - | DATETIME | |roles.role_id | 角色编号系统唯一标识角色。| 10 | INT | 主键 |roles.role_name | 角色名称长度不超过50字符。| 50 | VARCHAR(50) | |roles.description | 对角色的简短描述。| - | VARCHAR(200) | |images.image_id | 图像编号系统唯一标识图像。| 10 | INT | 主键 |images.user_id | 上传用户编号关联users.user_id。| 10 | INT | 外键 → users.user_id |images.image_path | 存储路径或URL长度不超过255字符。| 255 | VARCHAR(255) | |images.capture_time | 图像拍摄时间。| - | DATETIME | |images.device_type | 拍摄设备类型例如手机、相机等。| 50 | VARCHAR(50) | |images.status | 图像处理状态枚举值为uploaded、processed、failed。| - | ENUM(uploaded,processed,failed) | |images.created_at | 图像上传时间。| - | DATETIME | |labels.label_id | 标注编号系统唯一标识标注记录。| 10 | INT | 主键 |labels.image_id | 所属图像编号关联images.image_id。| 10 | INT | 外键 → images.image_id |labels.class_name | 实际类别名称。| 100 | VARCHAR(100) | |labels.bbox_x | 边界框左上角X坐标。| 10 | INT | |labels.bbox_y | 边界框左上角Y坐标。| 10 | INT | |labels.bbox_w | 边界框宽度。| 10 | INT | |labels.bbox_h | 边界框高度。| 10 | INT | |predictions.pred_id | 预测编号系统唯一标识预测记录。| 10 | INT | 主键 |predictions.image_id | 所属图像编号关联images.image_id。| 10 | INT | 外键 → images.image_id |predictions.class_name | 预测类别名称。| 100 | VARCHAR(100) | |predictions.bbox_x | 边界框左上角X坐标。| 10 | INT | |predictions.bbox_y | 边界框左上角Y坐标。| 10 | INT | |predictions.bbox_w | 边界框宽度。| 10 | INT | |predictions.bbox_h | 边界框高度。| 10 | INT | |predictions.confidence | 置信度值范围0-1。| - | FLOAT(5,4) | |feedbacks.feedback_id | 用户反馈编号系统唯一标识反馈记录。| 10 | INT | 主键 |feedbacks.pred_id | 对应预测编号关联predictions.pred_id。| 10 | INT | 外键 → predictions.pred_id |feedbacks.user_id | 提交用户编号关联users.user_id。| 10 | INT | 外键 → users.user_id |feedbacks.corrected_class_name | 用户纠正后的类别名称。| 100 | VARCHAR(100) | |feedbacks.corrected_bbox_x | 纠正后边界框左上角X坐标。| 10 | INT | |feedbacks.corrected_bbox_y | 纠正后边界框左上角Y坐标。| 10 | INT | |feedbacks.corrected_bbox_w | 纠正后边界框宽度。| 10 | INT | |feedbacks.corrected_bbox_h | 纠正后边界框高度。| 10 | INT | |feedbacks.comment | 用户说明或备注。| - | TEXT | |logs.log_id | 日志编号系统唯一标识日志条目。| 10 | INT | 主键 |logs.user_id | 操作用户编号关联users.user_id可为空。| 10 | INT | 外键 → users.user_id (NULLABLE) |logs.action | 操作类型例如upload、predict、feedback等。| 50 | VARCHAR(50) | |logs.target_type | 操作目标类型例如image、prediction等。| 50 | VARCHAR(50) | |logs.target_id | 操作目标编号具体含义取决于target_type。| - | BIGINT | |logs.timestamp | 操作时间。| - | DATETIME | |logs.details | 操作详细信息或错误信息。| - | TEXT | |classes.class_id | 类别编号系统唯一标识类别。| 10 | INT | 主键 |classes.class_name | 类别名称长度不超过100字符。| 100 | VARCHAR(100) | |classes.description | 对类别的简短描述。| - | TEXT | |以上表结构遵循第一范式至第三范式避免冗余保证数据一致性与完整性。十、建表语句CREATE DATABASE IF NOT EXISTS herb_recognition CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE herb_recognition;-- 角色表CREATE TABLE roles (role_id INT AUTO_INCREMENT PRIMARY KEY,role_name VARCHAR(50) NOT NULL UNIQUE,description VARCHAR(200)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 用户表CREATE TABLE users (user_id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL UNIQUE,password_hash VARCHAR(255) NOT NULL,email VARCHAR(100),role_id INT NOT NULL,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,CONSTRAINT fk_users_role FOREIGN KEY (role_id)REFERENCES roles(role_id)ON DELETE RESTRICTON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 图像表CREATE TABLE images (image_id INT AUTO_INCREMENT PRIMARY KEY,user_id INT NOT NULL,image_path VARCHAR(255) NOT NULL,capture_time DATETIME,device_type VARCHAR(50),status ENUM(uploaded,processed,failed) DEFAULT uploaded,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,CONSTRAINT fk_images_user FOREIGN KEY (user_id)REFERENCES users(user_id)ON DELETE CASCADEON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 类别表CREATE TABLE classes (class_id INT AUTO_INCREMENT PRIMARY KEY,class_name VARCHAR(100) NOT NULL UNIQUE,description TEXT) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 标注表CREATE TABLE labels (label_id INT AUTO_INCREMENT PRIMARY KEY,image_id INT NOT NULL,class_name VARCHAR(100) NOT NULL,bbox_x INT NOT NULL,bbox_y INT NOT NULL,bbox_w INT NOT NULL,bbox_h INT NOT NULL,CONSTRAINT fk_labels_image FOREIGN KEY (image_id)REFERENCES images(image_id)ON DELETE CASCADEON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 预测表CREATE TABLE predictions (pred_id INT AUTO_INCREMENT PRIMARY KEY,image_id INT NOT NULL,class_name VARCHAR(100) NOT NULL,bbox_x INT NOT NULL,bbox_y INT NOT NULL,bbox_w INT NOT NULL,bbox_h INT NOT NULL,confidence FLOAT(5,4) NOT NULL,CONSTRAINT fk_predictions_image FOREIGN KEY (image_id)REFERENCES images(image_id)ON DELETE CASCADEON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 反馈表CREATE TABLE feedbacks (feedback_id INT AUTO_INCREMENT PRIMARY KEY,pred_id INT NOT NULL,user_id INT NOT NULL,corrected_class_name VARCHAR(100),corrected_bbox_x INT,corrected_bbox_y INT,corrected_bbox_w INT,corrected_bbox_h INT,comment TEXT,CONSTRAINT fk_feedbacks_pred FOREIGN KEY (pred_id)REFERENCES predictions(pred_id)ON DELETE CASCADEON UPDATE CASCADE,CONSTRAINT fk_feedbacks_user FOREIGN KEY (user_id)REFERENCES users(user_id)ON DELETE SET NULLON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 日志表CREATE TABLE logs (log_id BIGINT AUTO_INCREMENT PRIMARY KEY,user_id INT,action VARCHAR(50) NOT NULL,target_type VARCHAR(50),target_id BIGINT,timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,details TEXT,CONSTRAINT fk_logs_user FOREIGN KEY (user_id)REFERENCES users(user_id)ON DELETE SET NULLON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 索引CREATE INDEX idx_images_user ON images(user_id);CREATE INDEX idx_labels_image ON labels(image_id);CREATE INDEX idx_labels_class ON labels(class_name);CREATE INDEX idx_predictions_image ON predictions(image_id);CREATE INDEX idx_predictions_class ON predictions(class_name);CREATE INDEX idx_feedbacks_pred ON feedbacks(pred_id);CREATE INDEX idx_feedbacks_user ON feedbacks(user_id);CREATE INDEX idx_logs_user ON logs(user_id);CREATE INDEX idx_logs_target ON logs(target_type, target_id);下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式