ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

基于Python + YOLO-V11的蝴蝶品种识别系统设计与实现毕设源码

基于Python + YOLO-V11的蝴蝶品种识别系统设计与实现毕设源码 博主介绍✌ 专注于Java,python,✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的本研究旨在构建一套基于Python编程语言与YOLO‑V11目标检测框架的蝴蝶品种识别系统以期实现对多种蝴蝶物种的高效、准确分类并为生态监测与生物多样性评估提供技术支持。当前国内外在昆虫图像识别领域已取得一定进展但多数研究仍停留在传统卷积神经网络CNN或浅层特征提取方法上导致在复杂背景、光照变化以及部分品种相似度高的场景下识别精度不足。与此同时现有公开数据集普遍缺乏对蝴蝶多样性特征的细粒度标注使得模型泛化能力受到限制。为填补上述空白本研究将采用YOLO‑V11的轻量化结构结合Python生态系统中成熟的数据预处理与增强工具对收集自自然保护区、科研机构及公众贡献的高分辨率蝴蝶图像进行统一标注与划分。通过对模型进行多阶段训练与调优力求在保持实时推理速度的前提下将识别准确率提升至95%以上。研究还将探讨模型在不同光照、遮挡以及季节性变化条件下的鲁棒性并对比传统CNN与YOLO‑V11在同一数据集上的表现差异。最终本系统预期能够实现自动化、可持续的蝴蝶监测为生态学研究提供可靠的数据支撑并为相关领域的物种识别技术推广奠定基础。二、研究意义本研究的意义主要体现在生态学监测、物种保护与人工智能技术应用三大方面。首先蝴蝶作为环境敏感指标其种群变化能够直观反映生态系统健康状况然而传统人工识别方法耗时耗力且易受主观因素影响导致数据采集周期长、覆盖面窄。通过构建基于Python与YOLO‑V11的自动化识别系统可实现对海量蝴蝶图像的快速、精准分类从而大幅提升监测频率与空间分辨率为生态学家提供更为可靠的种群动态信息。其次随着全球气候变化与人类活动导致物种分布范围不断重塑及时掌握各品种的分布情况已成为制定保护策略的前提。该系统能够在不同光照、背景复杂度及季节性变化条件下保持高识别准确率为区域性保护区管理者提供实时决策支持并可与GIS平台结合实现空间可视化与趋势预测。再次本研究利用YOLO‑V11轻量化网络架构兼顾模型精度与推理速度可在资源受限的移动终端或嵌入式设备上部署使得现场科研人员或志愿者能够随时采集并即时分析蝴蝶图像极大降低技术门槛促进公众参与科学研究。最后该系统的开放性与可扩展性为后续多物种识别任务提供了范例可通过迁移学习与数据共享机制推广至其他昆虫或小型动物的监测领域从而推动生物多样性保护工作的整体技术升级。综上所述本研究不仅在理论上丰富了基于深度学习的细粒度分类方法也在实践中为生态监测与物种保护提供了可操作、可持续的技术方案。三、国内外研究现状国内外在昆虫图像识别领域的研究始于对传统手工特征提取方法的探索随后随着深度学习技术的兴起卷积神经网络CNN成为主流研究方向。早期工作多采用SIFT、HOG等局部特征与支持向量机SVM相结合的方法在蝴蝶种类识别上取得了有限的成功但受限于特征表达能力不足准确率难以突破80%。随着AlexNet、VGG、ResNet等深层网络的提出研究者开始利用迁移学习对预训练模型进行微调以适应昆虫图像的细粒度分类任务。国内学者在此基础上进一步引入注意力机制和多尺度特征融合显著提升了对相似种类的区分能力并在公开数据集ButterflyNet上实现了90%以上的Top‑1准确率。与此同时国外研究者聚焦于大规模数据集构建与标注工作iNaturalist、Biodiversity Image Database等平台为深度学习模型提供了海量高质量样本为细粒度识别奠定了基础。近年来目标检测框架的快速发展为实时昆虫识别提供了新的技术路径。YOLO系列模型从YOLOv1到YOLOv8不断改进网络结构与训练策略显著提升了检测速度与精度。国内团队在此基础上针对蝴蝶图像的特定需求提出了轻量化的YOLO‑V5s改进版本并通过数据增强技术随机裁剪、颜色抖动、混合图像解决了样本不均衡问题。实验结果表明该模型在ButterflyNet测试集上实现了mAP达到0.88推理速度超过30FPS满足现场监测与移动端部署需求。国外研究者则将YOLO与Transformer相结合提出YOLO‑ViT等混合模型在细粒度识别任务中取得了更高的分辨率和鲁棒性。除此之外一些工作尝试将多任务学习框架应用于蝴蝶种类与生命周期阶段的联合预测进一步提升了模型对复杂场景的适应能力。在数据资源方面国内外仍面临样本稀缺与标注成本高昂的问题。为此研究者提出了基于生成对抗网络GAN的数据扩增方法以合成多样化的蝴蝶图像补充训练集同时Few‑Shot Learning技术被用于解决罕见种类的识别挑战。国外实验表明在仅提供10张样本的前提下基于Meta‑Learning的Prototypical Networks可实现超过70%的识别准确率。国内学者则结合领域自适应技术将模型从实验室数据迁移到野外真实环境实现了跨域泛化性能的显著提升。尽管如此当前研究仍缺乏统一、公开的高质量蝴蝶图像数据库导致不同实验结果难以直接比较此外模型可解释性与推理透明度亦是未来研究的重要方向。总体而言国内外在蝴蝶品种识别领域已取得显著进展主要研究方向集中于深度卷积网络、目标检测框架以及数据增强与迁移学习技术。通过引入轻量化模型、注意力机制、多任务学习以及生成式数据扩增研究者在准确率与实时性之间实现了良好平衡。然而样本稀缺、跨域适应与模型可解释性等问题仍亟待解决为后续研究提供了丰富的挑战与机遇。四、预期达到目标及解决的关键问题本研究的预期目标主要集中在构建一套高效、准确且可部署的蝴蝶品种识别系统。首先系统应实现对常见与稀有蝴蝶种类的实时检测与分类目标准确率需达到95%以上并在标准数据集上取得mAP不低于0.90其次模型推理速度需满足移动端部署要求帧率不低于30FPS以支持现场监测与快速响应再次系统应具备良好的可扩展性能够通过迁移学习轻松适配不同生态环境与图像采集条件。通过上述目标的实现可为生态学研究提供高质量的种群监测数据为生物多样性保护与环境评估提供技术支持。在实现上述目标的过程中系统将采用Python编程语言与YOLO‑V11目标检测框架结合数据增强、轻量化网络设计以及多尺度特征融合技术以提升模型对小目标、复杂背景及光照变化的鲁棒性。同时将引入细粒度分类模块对检测框内的图像进行高精度识别并通过多任务学习实现种类与生命周期阶段的联合预测从而进一步提升系统的实用价值。系统还将集成模型可解释性工具提供特征可视化与决策依据满足科研人员对结果透明度的需求。然而在实现过程中仍面临若干关键问题。首先蝴蝶图像数据稀缺且标注成本高昂导致训练集规模有限易出现过拟合与泛化不足其次跨域适应是主要挑战之一实验室采集的高质量图像与野外真实环境中的光照、遮挡差异显著模型在迁移时精度下降再次小目标检测与类别不平衡问题突出稀有种类样本不足导致识别率低最后模型解释性与部署成本也是重要考量需要在保持高精度的同时控制模型参数量与计算资源。针对这些关键问题本研究将通过生成式数据扩增、领域自适应技术、少样本学习以及模型剪枝等方法进行系统性解决以确保最终系统在理论与实践中的可靠性与可持续性。五、研究内容本研究围绕基于Python与YOLO‑V11的蝴蝶品种识别系统展开整体研究内容可分为数据准备、模型设计与训练、性能优化与评估以及系统集成与部署四大模块。首先在数据准备阶段将收集来自自然保护区、科研机构及公众贡献的高分辨率蝴蝶图像并对其进行统一预处理包括尺寸归一化、色彩空间转换与噪声去除随后利用专业标注工具对图像中的蝴蝶目标进行精确框选与品种标签构建包含多种常见与稀有品种的细粒度数据集并对数据进行划分为训练集、验证集与测试集。为解决样本不均衡问题将采用基于生成对抗网络GAN的合成图像技术生成多样化的蝴蝶图像以增强稀有品种的样本量同时引入混合数据增强策略随机裁剪、颜色抖动、尺度变换进一步提升模型鲁棒性。在模型设计与训练模块中核心技术采用YOLO‑V11目标检测框架其轻量化特征提取网络与高效的预测头结构能够兼顾精度与速度。为适应蝴蝶小目标检测的特殊需求将对YOLO‑V11的骨干网络进行多尺度特征融合改进并在预测层引入注意力机制以突出关键纹理特征此外加入细粒度分类分支对检测框内图像进行品种级别的识别采用多任务学习策略共享特征表示从而实现目标检测与分类的协同优化。训练阶段将采用迁移学习方法先在大规模通用图像数据集上预训练模型再在蝴蝶数据集上微调同时利用自适应学习率与梯度裁剪技术防止梯度爆炸确保模型收敛稳定。性能优化与评估模块聚焦于提升模型的推理效率与泛化能力。针对移动端部署需求将对训练好的模型进行参数剪枝与量化操作减少模型大小并降低算力消耗同时引入知识蒸馏技术将大模型的预测知识迁移至轻量化学生模型以保持高精度。评估方面将采用平均精度均值mAP、Top‑1/Top‑5准确率、召回率与F1分数等多维指标对比传统CNN、YOLO‑V5以及YOLO‑V11改进版本在蝴蝶数据集上的表现并通过交叉验证与跨域测试评估模型的泛化能力。为提升结果解释性将集成Grad‑CAM等可视化工具展示模型关注的关键区域为科研人员提供决策依据。系统集成与部署模块则将上述训练好的模型嵌入Python环境构建完整的图像采集、预处理、目标检测与分类推理流水线通过Flask或FastAPI框架实现RESTful接口支持云端与边缘设备的统一调用同时开发移动端应用Android/iOS利用TensorFlow Lite或ONNX Runtime进行模型推理满足现场快速监测需求。系统将提供可视化仪表盘实时展示检测结果、品种分布与统计信息并支持数据回传与持续学习机制以实现模型在线更新与性能提升。通过上述四大模块的协同工作本研究将实现一套高效、准确且易于部署的蝴蝶品种识别系统为生态监测与生物多样性保护提供坚实技术支撑。六、需求分析用户需求方面本研究面向生态学家、自然保护区管理者、昆虫学研究者以及热衷于自然观察的公众志愿者。首先用户期望系统能够在现场快速获取蝴蝶图像并实现即时识别以便及时掌握种群动态与分布信息其次鉴于蝴蝶种类繁多且相似度高用户对识别准确率提出严苛要求通常要求整体精度不低于95%误检率保持在1%以内再次由于现场环境光照、背景复杂度及设备性能差异用户需要系统具备良好的鲁棒性与适应性并能够在资源受限的移动终端或嵌入式设备上稳定运行此外用户对系统的易用性与可维护性也有明确需求期望通过简洁直观的图形界面或移动应用完成图像上传、结果查看与反馈提交最后为降低使用门槛用户希望系统支持离线模式并提供必要的技术文档与培训资料以便在缺乏网络环境的偏远地区也能顺利部署。功能需求方面系统需实现完整的数据采集、处理、模型推理与结果呈现四大功能模块。数据采集模块应支持多种图像输入方式包括摄像头实时流、手机拍照或批量文件上传并对图像进行自动裁剪与尺寸归一化预处理模块需实现色彩空间转换、去噪、光照补偿与数据增强随机裁剪、旋转、颜色抖动等以提升模型泛化能力目标检测与分类模块采用YOLO‑V11轻量化网络包含多尺度特征融合与注意力机制能够在单帧图像中同时完成目标定位与品种识别并通过多任务学习共享特征以降低计算成本后处理模块需对检测结果进行置信度阈值筛选、非极大抑制以及类别概率归一化并提供可视化标注框与识别标签系统还应具备模型训练与微调功能支持迁移学习、少样本学习与领域自适应并通过交叉验证自动评估模型性能部署接口模块需提供RESTful API与SDK支持云端服务调用与边缘设备离线推理并通过TensorFlow Lite或ONNX Runtime实现模型压缩与加速最后系统必须具备安全与隐私保护措施包括数据加密传输、访问权限控制以及日志审计以满足科研数据管理规范。七、可行性分析经济可行性方面本研究所需的主要成本包括数据采集与标注、计算资源以及后期维护与升级。数据采集可以利用已有的自然保护区监测设备与公众贡献的手机拍照降低硬件投入标注工作则可通过众包平台或志愿者团队完成采用半自动化工具减少人工成本。计算资源方面YOLO‑V11轻量化模型可在中等配置的GPU服务器或云端实例上训练单次训练成本预计在数千元人民币左右推理阶段则可部署至移动端或边缘设备进一步降低运营费用。相较于传统人工监测方法本系统能够显著提升检测频率与覆盖范围长期来看将为生态保护区节省人力与时间成本并为科研机构提供高质量的数据支持从而具备良好的经济回报潜力。社会可行性方面该系统能够满足生态学家、自然保护区管理者以及公众志愿者对实时、精准蝴蝶监测的需求。通过移动端应用与在线平台公众可以参与数据采集与反馈促进科普教育与社区参与提升社会对生物多样性保护的认知与支持。系统采用开源技术栈易于本地化部署可在偏远地区实现离线使用避免网络不稳定导致的监测中断。与此同时需要关注数据隐私与安全问题尤其是涉及人类拍摄地点的位置信息应通过加密传输与访问控制保障用户隐私。若能得到政府环保部门与科研机构的认可将进一步提升系统在社会层面的接受度与推广力度。技术可行性方面Python生态系统提供了丰富的深度学习框架如PyTorch、TensorFlow与图像处理库OpenCV、Pillow使得YOLO‑V11模型的实现与调优变得相对简便。YOLO‑V11已在公开数据集上表现出优秀的实时检测性能其轻量化结构适合在GPU或CPU上高效推理满足现场部署需求。数据方面国内外已有ButterflyNet、iNaturalist等蝴蝶图像数据库可为模型预训练与评估提供充足样本若数据不足可通过生成对抗网络进行合成扩增解决稀有种类样本不足的问题。算法层面多尺度特征融合与注意力机制已在细粒度识别任务中得到验证可进一步提升模型对小目标与相似纹理的辨识能力。集成层面系统可通过RESTful API或SDK实现与现有生态监测平台的无缝对接支持云端与边缘端双重部署。综上所述从技术实现、资源可获取性以及算法成熟度来看本研究具备充分的技术可行性。八、功能分析系统功能模块可划分为六大核心部分分别为数据采集与预处理、模型推理、后处理与结果展示、数据管理与模型维护、接口与部署以及用户交互界面。每一模块在整体架构中承担特定职责并通过标准化接口实现无缝协作。数据采集与预处理模块负责收集原始图像并进行统一格式化。该模块支持多种输入方式包括现场摄像头实时流、移动设备拍照以及批量文件上传在接收图像后系统自动执行尺寸归一化、色彩空间转换如RGB转YUV与噪声抑制并根据光照条件进行自适应亮度补偿随后采用数据增强技术随机裁剪、旋转、颜色抖动、尺度变换生成多样化训练样本以提升模型对复杂背景与光照变化的鲁棒性。预处理完成后图像被封装为标准张量供后续推理使用。模型推理模块是系统的核心基于YOLO‑V11轻量化目标检测框架实现。该模块首先利用多尺度特征融合网络提取图像特征并通过注意力机制聚焦关键纹理信息随后在预测头中并行完成目标定位与品种分类任务输出包含边界框坐标、置信度以及类别概率的检测结果。为兼顾速度与精度模型采用混合精度训练与推理并支持GPU或CPU双通道运行。推理结果以结构化JSON格式返回给后处理模块。后处理与结果展示模块负责对原始检测输出进行筛选与可视化。该模块首先根据置信度阈值过滤低概率框并通过非极大抑制消除重叠随后对每个检测框内的图像进行细粒度分类概率归一化生成最终品种标签最后将检测结果与原图叠加生成可视化图像并在用户界面中展示边界框、类别与置信度信息。该模块亦支持批量处理与实时推理两种模式以满足不同使用场景。数据管理与模型维护模块负责存储与更新系统所需的数据资源。该模块维护训练集、验证集与测试集的版本化数据库并记录每一次模型训练的超参数、评估指标与日志通过持续学习机制系统可根据新采集的数据自动触发微调或增量学习保证模型在环境变化中的适应性此外该模块提供模型压缩与量化工具以生成轻量化部署包供移动端使用。接口与部署模块提供统一的服务访问层。通过RESTful API外部系统可提交图像并获取推理结果同时提供SDKPython、JavaScript供内部应用调用在云端部署时模块支持负载均衡与弹性伸缩在边缘设备上则通过TensorFlow Lite或ONNX Runtime执行模型推理并通过本地缓存实现离线运行。该模块亦负责安全认证、访问控制与日志审计确保数据传输与服务调用的合规性。用户交互界面模块面向终端用户提供直观友好的图形界面或移动应用。界面支持摄像头实时预览、照片上传、结果查看与历史记录查询在结果页面用户可查看检测框、品种标签与置信度并可对误检或漏检进行人工标注反馈系统将反馈数据回传至数据管理模块用于后续模型改进。界面亦提供设置选项如阈值调节、语言切换与帮助文档降低使用门槛并提升用户体验。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---users.id | 用户编号 | 36 | CHAR | PK | UUID主键唯一标识用户users.username | 用户名 | 50 | VARCHAR(50) | | 登录名唯一约束users.email | 邮箱地址 | 100 | VARCHAR(100) | | 用于通知与密码重置users.password_hash | 密码哈希值 | 255 | VARCHAR(255) | | 存储加密后的密码users.role | 用户角色 | 20 | VARCHAR(20) | | 如admin、researcher、volunteerusers.created_at | 创建时间 | 19 | DATETIME(6) | | 自动生成images.id | 图像编号 | 36 | CHAR | PK | UUID主键唯一标识图像images.user_id | 上传者编号 | 36 | CHAR(36) | FK (users.id) | 外键关联用户表images.file_path | 文件存储路径 | 255 | VARCHAR(255) | | 本地或云端存储位置images.original_name | 原始文件名 | 255 | VARCHAR(255) | | 上传时的文件名images.width | 图像宽度像素 | 10 | INT UNSIGNED | |images.height | 图像高度像素 | 10 | INT UNSIGNED | |images.upload_time | 上传时间 | 19 | DATETIME(6) | |annotations.id | 注释编号 | 36 | CHAR(36) | PK |annotations.image_id| 图像编号|36|CHAR(36)|FK(images.id)|关联图像表annotations.bbox_x| 边界框左上角X坐标|10|INT UNSIGNED||annotations.bbox_y| 边界框左上角Y坐标|10|INT UNSIGNED||annotations.bbox_width| 边界框宽度|10|INT UNSIGNED||annotations.bbox_height| 边界框高度 |10 | INT UNSIGNED | |annotations.species | 标注物种名称 | 50 | VARCHAR(50) | |annotations.created_at| 创建时间 | 19 | DATETIME(6) | |detection_results.id| 检测结果编号|36|CHAR(36)|PK||detection_results.image_id| 图像编号|36|CHAR(36)|FK(images.id)|关联图像表detection_results.model_version_id| 模型版本编号 |36 | CHAR(36) | FK (model_versions.id) | 关联模型版本表detection_results.bbox_x| 边界框左上角X坐标|10|INT UNSIGNED||detection_results.bbox_y| 边界框左上角Y坐标|10|INT UNSIGNED||detection_results.bbox_width| 边界框宽度 |10 | INT UNSIGNED | |detection_results.bbox_height | 边界框高度 |10 | INT UNSIGNED | |detection_results.species| 识别物种名称|50|VARCHAR(50)||detection_results.confidence| 置信度分数|5|DECIMAL(4,3)||detection_results.created_at| 创建时间 |19 | DATETIME(6) | |models.id | 模型编号 |36 | CHAR(36) | PK | UUID主键唯一标识模型models.name | 模型名称 |50 | VARCHAR(50) | |models.description| 模型描述|255|VARCHAR(255)| |models.created_at| 创建时间|19|DATETIME(6)| |model_versions.id | 版本编号 |36 | CHAR(36) | PK |model_versions.model_id | 模型编号 |36 | CHAR(36) | FK(models.id) |model_versions.version_tag | 版本标签如v1.0|20|VARCHAR(20)| |model_versions.train_data_id| 训练数据集编号|36|CHAR(36)|FK(train_datasets.id)|model_versions.metrics | 评估指标JSON|5000|TEXT||model_versions.created_at | 创建时间 |19 | DATETIME(6) | |train_datasets.id | 数据集编号 |36 | CHAR(36) | PK |train_datasets.name| 数据集名称|50|VARCHAR(50)| |train_datasets.description| 数据集描述|255|VARCHAR(255)| |train_datasets.created_at| 创建时间|19|DATETIME(6)| |feedbacks.id | 反馈编号 |36 | CHAR(36) | PK |feedbacks.user_id | 用户编号 |36 | CHAR(36) | FK(users.id) |feedbacks.image_id | 图像编号 |36 | CHAR(36) | FK(images.id) |feedbacks.detection_result_id| 检测结果编号|36|CHAR(36)|FK(detection_results.id)|feedbacks.correct_species| 正确物种名称|50|VARCHAR(50)| |feedbacks.is_correct | 是否正确1/0 |1 | TINYINT(1) | |feedbacks.comment | 备注说明 |500 | TEXT | |feedbacks.created_at| 创建时间|19|DATETIME(6)| |以上表结构遵循第三范式避免冗余并通过外键维护数据完整性。十、建表语句CREATE DATABASE IF NOT EXISTS butterfly_recognition CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE butterfly_recognition;-- 用户表CREATE TABLE IF NOT EXISTS users (id CHAR(36) NOT NULL COMMENT 用户编号,username VARCHAR(50) NOT NULL COMMENT 用户名,email VARCHAR(100) NOT NULL COMMENT 邮箱地址,password_hash VARCHAR(255) NOT NULL COMMENT 密码哈希值,role VARCHAR(20) NOT NULL DEFAULT volunteer COMMENT 用户角色,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id),UNIQUE KEY uq_users_username (username),UNIQUE KEY uq_users_email (email)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户信息表;-- 图像表CREATE TABLE IF NOT EXISTS images (id CHAR(36) NOT NULL COMMENT 图像编号,user_id CHAR(36) NOT NULL COMMENT 上传者编号,file_path VARCHAR(255) NOT NULL COMMENT 文件存储路径,original_name VARCHAR(255) NOT NULL COMMENT 原始文件名,width INT UNSIGNED NOT NULL COMMENT 图像宽度像素,height INT UNSIGNED NOT NULL COMMENT 图像高度像素,upload_time DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 上传时间,PRIMARY KEY (id),KEY idx_images_user_id (user_id),CONSTRAINT fk_images_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT图像信息表;-- 注释表CREATE TABLE IF NOT EXISTS annotations (id CHAR(36) NOT NULL COMMENT 注释编号,image_id CHAR(36) NOT NULL COMMENT 图像编号,bbox_x INT UNSIGNED NOT NULL COMMENT 边界框左上角X坐标,bbox_y INT UNSIGNED NOT NULL COMMENT 边界框左上角Y坐标,bbox_width INT UNSIGNED NOT NULL COMMENT 边界框宽度,bbox_height INT UNSIGNED NOT NULL COMMENT 边界框高度,species VARCHAR(50) NOT NULL COMMENT 标注物种名称,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id),KEY idx_annotations_image_id (image_id),CONSTRAINT fk_annotations_image_id FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT图像注释表;-- 检测结果表CREATE TABLE IF NOT EXISTS detection_results (id CHAR(36) NOT NULL COMMENT 检测结果编号,image_id CHAR(36) NOT NULL COMMENT 图像编号,model_version_id CHAR(36) NOT NULL COMMENT 模型版本编号,bbox_x INT UNSIGNED NOT NULL COMMENT 边界框左上角X坐标,bbox_y INT UNSIGNED NOT NULL COMMENT 边界框左上角Y坐标,bbox_width INT UNSIGNED NOT NULL COMMENT 边界框宽度,bbox_height INT UNSIGNED NOT NULL COMMENT 边界框高度,species VARCHAR(50) NOT NULL COMMENT 识别物种名称,confidence DECIMAL(4,3) NOT NULL COMMENT 置信度分数,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id),KEY idx_detection_results_image_id (image_id),KEY idx_detection_results_model_version_id (model_version_id),CONSTRAINT fk_detection_results_image_id FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_detection_results_model_version_id FOREIGN KEY (model_version_id) REFERENCES model_versions(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT检测结果表;-- 模型表CREATE TABLE IF NOT EXISTS models (id CHAR(36) NOT NULL COMMENT 模型编号,name VARCHAR(50) NOT NULL COMMENT 模型名称,description VARCHAR(255) DEFAULT NULL COMMENT 模型描述,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT模型信息表;-- 模型版本表CREATE TABLE IF NOT EXISTS model_versions (id CHAR(36) NOT NULL COMMENT 版本编号,model_id CHAR(36) NOT NULL COMMENT 模型编号,version_tag VARCHAR(20) NOT NULL COMMENT 版本标签如v1.0,train_data_id CHAR(36) DEFAULT NULL COMMENT 训练数据集编号,metrics TEXT DEFAULT NULL COMMENT 评估指标JSON,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id),KEY idx_model_versions_model_id (model_id),KEY idx_model_versions_train_data_id (train_data_id),CONSTRAINT fk_model_versions_model_id FOREIGN KEY (model_id) REFERENCES models(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_model_versions_train_data_id FOREIGN KEY (train_data_id) REFERENCES train_datasets(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT模型版本信息表;-- 训练数据集表CREATE TABLE IF NOT EXISTS train_datasets (id CHAR(36) NOT NULL COMMENT 数据集编号,name VARCHAR(50) NOT NULL COMMENT 数据集名称,description VARCHAR(255) DEFAULT NULL COMMENT 数据集描述,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT训练数据集表;-- 反馈表CREATE TABLE IF NOT EXISTS feedbacks (id CHAR(36) NOT NULL COMMENT 反馈编号,user_id CHAR(36) NOT NULL COMMENT 用户编号,image_id CHAR(36) NOT NULL COMMENT 图像编号,detection_result_id CHAR(36) DEFAULT NULL COMMENT 检测结果编号,correct_species VARCHAR(50) DEFAULT NULL COMMENT 正确物种名称,is_correct TINYINT(1) NOT NULL DEFAULT 0 COMMENT 是否正确1/0,comment TEXT DEFAULT NULL COMMENT 备注说明,created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT 创建时间,PRIMARY KEY (id),KEY idx_feedbacks_user_id (user_id),KEY idx_feedbacks_image_id (image_id),KEY idx_feedbacks_detection_result_id (detection_result_id),CONSTRAINT fk_feedbacks_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_feedbacks_image_id FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_feedbacks_detection_result_id FOREIGN KEY (detection_result_id) REFERENCES detection_results(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户反馈表;下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式
返回列表