尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于Python + 迁移学习的农作物病害图像识别系统设计与实现毕设

基于Python + 迁移学习的农作物病害图像识别系统设计与实现毕设 博主介绍✌ 专注于Java,python,✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的本研究旨在构建一套基于Python编程语言与迁移学习技术的农作物病害图像识别系统以期实现对常见农作物病害的高效、准确检测为农业生产提供科学决策支持。首先利用Python丰富的深度学习框架和可视化工具降低系统开发门槛使研究团队能够快速迭代模型并进行实验验证其次通过迁移学习方法将预训练的卷积神经网络模型在有限的农作物病害图像数据集上进行微调从而显著提升模型在小样本场景下的泛化能力。进一步地本研究将系统与移动端应用相结合提供实时图像上传与诊断反馈功能帮助农户在田间地头即刻获取病害信息减少人工巡检成本并缩短病害扩散周期。最后通过对比实验与实地验证本系统将实现对多种作物、不同病害类型的多类别识别并在准确率、召回率等指标上达到或超过现有公开数据集基准为农业数字化转型提供可复制、可推广的技术方案。二、研究意义本研究所提出的基于Python与迁移学习的农作物病害图像识别系统具有重要的理论与实践意义。首先随着全球人口增长与气候变化的不确定性农作物病害频发已成为制约粮食安全与农业可持续发展的关键因素之一本系统通过高效、准确的病害识别可显著降低病害导致的产量损失为粮食安全提供技术保障。其次传统的农作物病害诊断依赖人工经验与专业设备成本高昂且难以普及而Python作为开源、易用的编程语言加之迁移学习能够在样本不足的情况下实现高性能模型训练为低成本、高可扩展性的农业智能化解决方案奠定技术基础。再次系统集成了实时图像采集与诊断反馈功能能够在田间地头即时获取病害信息从而实现精准防治、节约农药使用促进农业生产的绿色发展。再者该研究通过对多种作物、多种病害的多类别识别丰富了农业图像识别数据集与模型库为后续相关研究提供可复用的数据资源与方法论。最后系统的开放性与模块化设计有利于与现有农业信息平台、无人机监测系统以及智慧农场管理平台对接推动农业信息化与数字化进程为构建现代化、智能化农业体系贡献技术支撑。综上所述本研究不仅在技术层面突破了小样本场景下的图像识别瓶颈更在经济、环境与社会层面提供了可持续发展的解决路径对提升全球粮食安全与农业现代化水平具有深远影响。三、国内外研究现状在全球范围内农作物病害图像识别研究已从传统的基于特征工程的方法向深度学习方法转变主流研究方向集中于卷积神经网络CNN模型的改进、迁移学习策略的应用以及多尺度特征融合技术的发展。以卷积网络为核心的研究工作中ResNet、Inception、DenseNet以及EfficientNet等架构已被广泛用于农作物病害分类任务并通过预训练权重迁移至有限样本的农作物图像数据集上实现显著性能提升与此同时注意力机制如SE、CBAM与多尺度特征金字塔的结合进一步增强了模型对不同病斑尺寸与形态的鲁棒性。数据方面PlantVillage、Kaggle等公开数据集为算法验证提供了基础但其图像多为实验室拍摄缺乏田间环境下的真实噪声与光照变化这一局限促使研究者开始关注域自适应与增量学习技术以缓解训练数据与实际应用场景之间的分布差异。除此之外近年来出现了基于生成对抗网络GAN的数据增强方法能够在保持病害特征的前提下合成多样化图像为小样本问题提供新的解决思路。在国内研究领域随着农业信息化与智慧农业的快速发展多所高校与科研院所将深度学习技术应用于农作物病害检测与诊断。以北京林业大学、华中科技大学以及中国科学院农业工程所为代表的团队先后提出基于YOLOv5、MobileNetV2等轻量级网络的实时病害目标检测框架并通过迁移学习将ImageNet预训练模型微调至本土农作物病害数据集取得了与国外同类方法相当甚至优于的识别精度。国内研究亦关注多标签分类与分割任务利用U-Net、SegNet等语义分割网络实现病斑区域的精准定位为后续的定量分析与防治决策提供支持。值得注意的是国内研究在数据集构建方面表现突出一些团队通过移动端采集应用与无人机遥感技术相结合收集了涵盖多种作物、多种病害、不同生长阶段的高分辨率图像为模型训练提供了更为丰富的样本来源。与此同时针对数据不平衡与小样本问题国内学者也尝试采用混合损失函数、类别重采样以及对抗性训练等方法以提升模型在稀有病害类别上的识别性能。总体而言国内外研究在技术路线与应用场景上呈现出高度互补的趋势。国外研究更侧重于算法创新与理论验证致力于探索更高效、更鲁棒的网络结构与学习策略国内研究则聚焦于数据集构建、系统集成与工业化落地推动技术向农业生产实际转化。两者在迁移学习、注意力机制、多尺度特征融合以及域自适应等方面均取得了显著进展但仍面临诸如数据多样性不足、环境噪声干扰、模型可解释性与部署效率等挑战。未来的研究将需要进一步结合大规模农作物病害图像数据库、跨域迁移技术与轻量化模型设计以实现更为精准、高效且易于推广的农作物病害识别系统。四、预期达到目标及解决的关键问题本研究的总体目标是构建一套基于Python编程环境与迁移学习技术的农作物病害图像识别系统能够在田间地头实现实时、准确的病害检测与诊断并为农户提供可操作的防治建议。为实现此目标预期将完成以下关键任务首先收集并标注覆盖主要粮食与经济作物如小麦、玉米、水稻、甘蔗、棉花等多种常见病害如叶斑病、霜霉病、枯萎病、黑粉病等的高质量图像数据集其次基于迁移学习框架如ResNet50、EfficientNetB0等进行模型微调并通过注意力机制与多尺度特征融合提升对细小病斑的识别能力再次设计轻量化推理模块使模型能够在移动端或边缘设备上实现毫秒级响应最后构建完整的数据处理、模型训练、评估与部署流水线并通过实地试验验证系统的稳定性与实用价值。预期成果包括① 在公开与自建数据集上实现病害分类准确率≥92%② 在移动端实现单张图像识别时间≤200毫秒③ 系统能够对多类别病害进行分级诊断并给出相应的防治建议。关键问题主要集中在以下方面一是数据不平衡与样本稀缺导致模型在罕见病害上的泛化性能不足二是域迁移难题实验室拍摄图像与田间实际环境存在显著分布差异影响识别效果三是计算资源受限轻量化模型需兼顾精度与速度四是模型可解释性不足农户对黑盒算法的信任度低五是系统部署与维护成本需要设计简易的更新机制。针对上述挑战本研究将采用数据增强、类别重采样、领域自适应技术以及可解释模型框架以期在保证高准确率的同时实现系统的可推广性与可持续发展。五、研究内容本研究首先聚焦于农作物病害图像数据的系统采集与预处理构建覆盖小麦、玉米、水稻、甘蔗、棉花等主要粮食与经济作物多种常见病害如叶斑病、霜霉病、枯萎病、黑粉病等的高质量图像数据库。采集过程将结合田间实地拍摄与无人机遥感技术确保图像在光照、角度、分辨率等方面具有多样性随后采用基于深度学习的实例分割模型对病斑区域进行精准标注并通过数据增强方法如随机裁剪、旋转、颜色抖动等扩充样本量以缓解样本不平衡与稀缺问题。预处理阶段还将对图像进行归一化、尺寸标准化以及噪声去除以提升后续模型训练的稳定性与鲁棒性。在模型开发与训练方面本研究将采用迁移学习策略利用在ImageNet上预训练的卷积神经网络如ResNet50、EfficientNetB0等作为特征提取器并通过微调方式适配农作物病害图像数据集。为提升对细小病斑的检测能力将在网络中嵌入注意力机制如SE、CBAM与多尺度特征融合模块形成一种轻量化但高性能的识别架构。训练过程中将采用类别重采样与混合损失函数如Focal Loss以解决样本不平衡问题并通过交叉验证与早停策略防止过拟合。最终模型将通过准确率、召回率、F1分数等指标在公开数据集与自建数据集上进行严格评估。系统集成与部署阶段本研究将构建基于Python的完整工作流包括数据预处理脚本、模型训练与调优模块、推理引擎以及前端展示界面。推理引擎将采用TensorRT或ONNX Runtime等加速库以实现移动端或边缘设备上毫秒级的识别响应前端界面将提供图像上传、实时诊断结果展示与防治建议输出功能支持农户在田间地头即时获取病害信息。系统评估将结合实验室验证与田间实测两种方式评估模型在不同光照、背景与作物生长阶段下的泛化性能并对比传统人工诊断与现有商业软件的效果。通过上述研究内容本工作旨在为农业生产提供一套可推广、易部署且高效精准的农作物病害图像识别解决方案。六、需求分析用户需求方面本系统的主要使用者为农户、农业技术推广人员以及农业科研工作者他们期望通过简洁直观的操作界面能够在田间地头快速获取作物病害信息从而及时采取防治措施。农户希望系统能够支持多种作物与多种病害的识别并在识别结果中提供具体的防治建议与药剂使用量提示以降低人工巡检成本并提高防治效率。技术推广人员则需要系统具备批量上传与批量诊断功能能够在短时间内对大面积农田进行病害监测并生成可视化报表以支持决策。科研工作者关注系统的可扩展性与可复现性希望能够通过API接口获取原始识别结果以便进一步开展病害机理研究与模型改进。综上所述用户需求侧重于操作简易、识别准确、信息实用、部署灵活以及数据开放等方面。功能需求方面系统首先需实现高质量图像采集与上传模块支持多种设备如手机摄像头、无人机相机并具备自动裁剪与预处理功能以保证后续识别的输入质量。其次核心识别模块应基于迁移学习的卷积神经网络并集成注意力机制与多尺度特征融合以实现对细小病斑的高精度检测与分类。第三系统需提供实时诊断反馈功能能够在毫秒级完成推理并在界面上展示病害类别、置信度以及对应的防治建议。第四数据管理与分析模块应支持批量上传、历史记录查询、趋势分析以及可视化报表导出以满足技术推广人员与科研人员的需求。最后系统架构需兼顾轻量化部署与云端扩展提供移动端SDK与RESTful API接口使其能够在边缘设备与服务器之间无缝切换并支持后期模型更新与功能迭代。七、可行性分析经济可行性方面本研究所采用的Python编程语言与开源深度学习框架如PyTorch、TensorFlow在软件成本上几乎为零且社区维护活跃可大幅降低研发投入。数据采集方面利用现有的农业无人机与手机摄像头可实现低成本图像获取而对标注工作可通过众包平台或农技推广机构的志愿者完成进一步压缩人工成本。模型训练与部署阶段迁移学习策略能够在已有预训练模型基础上快速收敛显著减少GPU算力需求轻量化网络与推理加速库如TensorRT、ONNX Runtime可使模型在边缘设备上运行避免高昂的云计算费用。系统上线后通过提供精准病害诊断与防治建议可帮助农户降低病害损失、减少农药使用从而提升产量与收益从行业层面看推广此类智能诊断平台可推动农业数字化升级形成新的服务收入模式。综上所述本项目在硬件投入、软件开发与运营成本方面均具备可接受的经济性并能在短期内实现成本回收与盈利潜力。社会可行性方面农作物病害治理是保障粮食安全与生态环境的重要环节社会对精准农业技术的需求日益增长。通过本系统实现的实时病害识别与防治建议可显著提升农户的生产效率与收益减少化肥化药过量使用从而降低环境污染并促进可持续农业发展。与此同时系统采用易用的移动端界面与直观的诊断结果展示可降低农户对技术门槛的担忧促进技术普及。政府层面可将此类智能诊断工具纳入农业信息化推广计划作为精准农业示范项目进行扶持科研机构与高校可利用系统开放接口开展病害机理与模型改进研究形成产学研协同创新链。社会公众对农业安全与食品质量的关注度提升也将为本项目的推广提供正向舆论支持。因而本研究在社会认知、政策支持与生态效益方面均具备良好的可行性。技术可行性方面迁移学习与注意力机制已在图像分类与目标检测领域取得显著成果能够在有限农作物病害图像样本下实现高精度识别多尺度特征融合与实例分割技术进一步提升对细小病斑的检测能力。数据采集与预处理环节可借助现有的无人机遥感与移动端拍摄技术配合图像增强算法解决光照、噪声等不利因素。模型训练阶段可利用云端GPU或本地高性能服务器进行快速迭代推理阶段轻量化网络与ONNX/TensorRT加速库可实现毫秒级响应满足田间实时诊断需求。系统架构采用微服务与RESTful API设计便于后期功能扩展与多端部署同时通过容器化技术如Docker实现快速交付与版本管理。综上所述现有技术体系已能够满足本项目的算法实现、数据处理与系统部署需求技术可行性高度可达。八、功能分析系统功能模块设计依据需求分析结果逻辑上可划分为七大核心子系统分别为图像采集与上传模块、数据预处理与增强模块、病害识别模型训练与管理模块、实时推理与诊断反馈模块、病害信息数据库与知识库模块、用户交互界面与可视化展示模块以及报表生成与数据分析模块。每个子系统均由若干功能组件构成彼此通过统一的数据接口和服务协议实现协同工作。图像采集与上传模块负责接收来自移动端、无人机或固定相机的原始图像并对上传过程进行身份验证与传输加密以保证数据安全与完整性。数据预处理与增强模块在接收到原始图像后执行尺寸归一化、色彩校正、噪声抑制等基础处理并通过随机裁剪、旋转、翻转、颜色扰动等技术进行数据增强以缓解样本不平衡与提高模型鲁棒性。病害识别模型训练与管理模块以迁移学习为核心利用预训练的卷积网络作为特征提取器并在此基础上加入注意力机制与多尺度特征融合层该模块提供模型微调、超参数搜索、版本管理与性能监控功能以支持持续迭代和模型升级。实时推理与诊断反馈模块将训练好的轻量化模型部署至边缘设备或云端推理服务利用TensorRT或ONNX Runtime实现毫秒级响应该模块负责接收单张或批量图像请求输出病害类别、置信度以及对应的防治建议并将结果以JSON格式返回给前端。病害信息数据库与知识库模块存储所有采集的图像、标注信息、模型版本与诊断结果并维护一个基于规则与经验的病害防治知识库支持查询、更新与推理服务。用户交互界面与可视化展示模块提供移动端和Web端两种访问方式用户可以通过摄像头实时拍摄或上传历史图像系统即时显示识别结果、置信度曲线以及建议的农药使用量该模块还支持多作物、多病害的标签切换与历史记录浏览。报表生成与数据分析模块聚合诊断结果生成可视化报表如热力图、趋势图并支持导出为Excel或PDF格式以满足技术推广人员对大面积农田病害监测与决策分析的需求。系统管理与权限控制模块统一管理用户角色、访问权限、日志审计与安全策略确保系统在多用户、多终端环境下的稳定运行和数据安全。通过上述模块的协同工作系统能够实现从图像采集到诊断结果输出的完整闭环为农户和农业技术推广人员提供高效、精准且易于操作的病害识别与防治决策支持。九、数据库设计users字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注user_id | 用户编号 | N/A | int auto_increment | PK | 主键唯一标识用户username | 用户名 | 255字符 | varchar(255) | | 唯一索引用于登录password_hash | 密码哈希值 | 255字符 | varchar(255) | | 加密存储密码role | 用户角色农户、技术员、管理员 | 50字符 | enum(farmer,technician,admin) | | 用于权限控制created_at | 创建时间 | N/A | datetime | |updated_at | 更新时间 | N/A | datetime | |devices字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注device_id | 设备编号 | N/A | int auto_increment | PK | 主键唯一标识设备user_id | 所属用户编号 | N/A | int | FK(users.user_id) | 外键关联用户表device_type | 设备类型手机、无人机、固定相机 | 50字符 | enum(mobile,drone,fixed) | |device_name | 设备名称/标识符 | 255字符 | varchar(255) | |registered_at | 注册时间 | N/A | datetime | |images字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注image_id | 图像编号 | N/A | int auto_increment | PK | 主键唯一标识图像device_id | 上传设备编号 | N/A | int | FK(devices.device_id) | 外键关联设备表upload_time | 上传时间戳 | N/A | datetime | |image_path | 存储路径或URL | 255字符 | varchar(255) | |resolution | 分辨率宽x高 | 50字符 | varchar(50) | |crop_info | 裁剪信息JSON | N/A | text | |annotations字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注annotation_id | 注释编号 | N/A | int auto_increment | PK |image_id | 所属图像编号 | N/A | int | FK(images.image_id) |label | 病害标签如叶斑病 | 100字符 | varchar(100) |bbox_x1 | 边界框左上x坐标 | N/A | int |bbox_y1 | 边界框左上y坐标 | N/A | int |bbox_x2 | 边界框右下x坐标 | N/A | int |bbox_y2 | 边界框右下y坐标 | N/A | int |models字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注model_id | 模型编号 | N/A | int auto_increment | PK |model_name | 模型名称如EfficientNetB0 | 100字符 | varchar(100) |version | 版本号如v1.0 | 20字符 | varchar(20) |architecture | 网络架构描述 | 255字符 | varchar(255) |created_at | 创建时间 | N/A | datetime |accuracy | 最佳验证准确率% | N/A | float |predictions字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注prediction_id | 预测编号 | N/A | int auto_increment | PK |image_id | 所属图像编号 | N/A | int | FK(images.image_id) |model_id | 使用模型编号 | N/A | int | FK(models.model_id) |predicted_label | 预测病害标签 | 100字符 | varchar(100) |confidence | 置信度0-1 | N/A | float |prediction_time | 预测时间戳 | N/A | datetime |knowledge_base字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注disease_id | 病害编号 | N/A | int auto_increment | PK |disease_name | 病害名称如叶斑病 | 100字符 | varchar(100) |description | 病害描述与症状特征 | N/A | text |recommended_treatment | 推荐防治措施农药、栽培措施 | N/A | text |reports字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注report_id | 报表编号 | N/A | int auto_increment | PK |user_id | 创建者编号 | N/A | int | FK(users.user_id) |report_name | 报表名称/标题 | 255字符 | varchar(255) |created_at | 创建时间戳 | N/A | datetime |report_items字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注report_item_id | 报表项编号 | N/A | int auto_increment | PK |report_id | 所属报表编号 | N/A | int | FK(reports.report_id) |image_id | 图像编号关联预测结果 | N/A | int | FK(images.image_id) |prediction_label | 预测病害标签冗余字段方便查询 | 100字符 | varchar(100) |confidence | 置信度冗余字段 | N/A | float |logs字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注log_id | 日志编号 | N/A | int auto_increment | PK |user_id | 操作用户编号可为空| N/A | int |action_type | 操作类型上传、预测、下载等| 50字符| varchar(50) |description | 操作描述/详细信息 | N/A | text |timestamp | 记录时间戳 | N/A | datetime |上述表结构遵循第一范式与第二范式主键唯一标识每条记录外键完整维护表间关系避免冗余存储实现数据一致性与完整性。十、建表语句CREATE DATABASE IF NOT EXISTS crop_disease_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE crop_disease_db;-- 用户表CREATE TABLE users (user_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL,password_hash VARCHAR(255) NOT NULL,role ENUM(farmer,technician,admin) NOT NULL DEFAULT farmer,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,UNIQUE KEY uq_username (username)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 设备表CREATE TABLE devices (device_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,user_id INT UNSIGNED NOT NULL,device_type ENUM(mobile,drone,fixed) NOT NULL,device_name VARCHAR(255) NOT NULL,registered_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,CONSTRAINT fk_devices_user FOREIGN KEY (user_id)REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 图像表CREATE TABLE images (image_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,device_id INT UNSIGNED NOT NULL,upload_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,image_path VARCHAR(255) NOT NULL,resolution VARCHAR(50),crop_info TEXT,CONSTRAINT fk_images_device FOREIGN KEY (device_id)REFERENCES devices(device_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 注释表CREATE TABLE annotations (annotation_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,image_id INT UNSIGNED NOT NULL,label VARCHAR(100) NOT NULL,bbox_x1 INT NOT NULL,bbox_y1 INT NOT NULL,bbox_x2 INT NOT NULL,bbox_y2 INT NOT NULL,CONSTRAINT fk_annotations_image FOREIGN KEY (image_id)REFERENCES images(image_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 模型表CREATE TABLE models (model_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,model_name VARCHAR(100) NOT NULL,version VARCHAR(20) NOT NULL,architecture VARCHAR(255),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,accuracy FLOAT) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 预测结果表CREATE TABLE predictions (prediction_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,image_id INT UNSIGNED NOT NULL,model_id INT UNSIGNED NOT NULL,predicted_label VARCHAR(100) NOT NULL,confidence FLOAT NOT NULL,prediction_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,CONSTRAINT fk_predictions_image FOREIGN KEY (image_id)REFERENCES images(image_id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_predictions_model FOREIGN KEY (model_id)REFERENCES models(model_id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 病害知识库表CREATE TABLE knowledge_base (disease_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,disease_name VARCHAR(100) NOT NULL,description TEXT,recommended_treatment TEXT) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 报表表CREATE TABLE reports (report_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,user_id INT UNSIGNED NOT NULL,report_name VARCHAR(255) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,CONSTRAINT fk_reports_user FOREIGN KEY (user_id)REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 报表项表CREATE TABLE report_items (report_item_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,report_id INT UNSIGNED NOT NULL,image_id INT UNSIGNED NOT NULL,prediction_label VARCHAR(100),confidence FLOAT,CONSTRAINT fk_report_items_report FOREIGN KEY (report_id)REFERENCES reports(report_id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_report_items_image FOREIGN KEY (image_id)REFERENCES images(image_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 日志表CREATE TABLE logs (log_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,user_id INT UNSIGNED,action_type VARCHAR(50) NOT NULL,description TEXT,timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,CONSTRAINT fk_logs_user FOREIGN KEY (user_id)REFERENCES users(user_id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 索引CREATE INDEX idx_images_device ON images(device_id);CREATE INDEX idx_annotations_image ON annotations(image_id);CREATE INDEX idx_predictions_image ON predictions(image_id);CREATE INDEX idx_predictions_model ON predictions(model_id);CREATE INDEX idx_report_items_report ON report_items(report_id);CREATE INDEX idx_report_items_image ON report_items(image_id);下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式
返回列表