基于深度学习的多种类动物识别(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向多种类动物目标的自动识别与统计需求,设计并实现一套基于深度学习的 Qt 桌面端检测系统,工程与数据均可下载复现。系统提供 PySide6/Qt 图形界面,支持 图片/视频/本地摄像头 多源输入与互斥切换,检测过程中以 处理进度条 与耗时信息提升交互反馈;推理结果在主显示区以 类别名+置信度 叠加可视化,并支持 CSV 导出 以便后续分析与溯源。导出侧提供 带框结果一键导出 能力:单帧输出 PNG,多帧序列可导出为 AVI,便于批量归档与复核。数据管理上采用 SQLite 本地入库 保存账号、历史记录与导出索引,配套 登录/注册(可跳过) 的会话流程与口令校验机制,兼顾使用效率与安全性。模型侧覆盖 YOLOv5–YOLOv12(共 8 种)并支持 模型选择/权重加载(.pt 热切换),切换后同步刷新类别信息与配色;同时对各模型进行系统化对比评测,汇总 mAP、F1、PR 曲线与训练曲线等指标,为不同场景下的精度与速度权衡提供依据。文末提供完整工程与数据集下载链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的多种类动物识别》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册:系统提供登录、注册与一次性跳过入口,跳过后仍可完整使用检测能力,但仅在本次会话内生效以降低误用风险;成功进入主界面后,用户可沿“概览—检测任务—模型选择—导出视图”的动线完成闭环操作,并可在历史区快速定位最近一次记录与对应导出结果,整体体验以少打断、强可追溯为目标。账户信息与历史索引以本地数据库管理,配合口令校验与会话状态控制,使得多用户切换与个人记录隔离更清晰。
(2)功能概况:主界面采用“左侧控制—中央显示—右侧详情—底部记录/进度”的布局,左侧集中管理输入源、阈值滑块与运行状态,中央以可视化方式展示带框结果,右侧给出当前选中目标的类别、置信度与位置等关键信息;底部以检测记录与进度反馈承接跨页面共享的数据视图,便于在图片与视频等不同任务间保持一致的回看方式。整体交互强调少层级切换与即时反馈,使用户在同一套操作习惯下完成导入、推理、筛选与导出。
(3)选择模型:系统支持在界面中选择本地权重文件来切换当前检测模型,切换后类别名称、颜色映射与展示样式会同步刷新,避免不同模型间标签不一致带来的误读;常用配置如标题文本、主题样式与参数偏好会进行本地化保存,下次启动可快速恢复到上次工作状态。该流程更关注“即选即用”的体验,适合在不同场景、不同精度与速度需求下进行快速对比与复测。
(4)图片检测:图片导入后可触发即时推理,检测结果在主显示区叠加目标框并标注类别与置信度,用户可通过置信度与 IoU 阈值调节控制检出密度与重叠过滤效果;支持对目标进行选择与高亮,以便在右侧详情区聚焦查看单个目标信息并减少视觉干扰。检测记录可同步生成并用于后续导出,保证从一次检测到结果整理的链路连续、操作负担低。
“水牛”检测效果:
“鹿”检测效果:
(5)文件保存:系统提供统一的结果归档策略,导出内容包括结构化的 CSV 统计、带框可视化图片等,均以时间戳命名并遵循一致的目录组织方式,便于溯源与批量管理;用户可结合文件名快速定位某次检测并复查对应记录,减少多轮实验时的混淆。保存流程强调一键化与可追溯性,使检测结果更适合用于后续报表、复核与数据沉淀。
2. 绪论
2.1 研究背景及意义
在野外生态监测、智慧牧场与城市生物多样性调查等场景中,多源图像与视频正在以“海量、连续、弱结构”的方式产生,传统依赖人工逐帧标注与统计的流程难以兼顾时效性与一致性。1 (Literatum Online) 以相机陷阱为代表的被动式采集手段,能够长期覆盖昼夜与复杂天气,但也会带来遮挡、运动模糊、红外成像退化与背景干扰等问题,使得“多种类动物识别”更需要鲁棒的视觉算法与可追溯的结果管理。2 (Nature) 近年来,国内在野生动物监测与识别方面的综述研究表明,深度学习已逐步成为物种识别、个体识别与行为识别的重要技术支撑,并推动了“自动化识别+业务闭环”的落地需求。3 (DOAJ)
对多种类动物进行实时检测与识别,其价值不仅体现在“识别得准”,更体现在对保护巡护、疫病预警、栖息地管理与人兽冲突治理的决策支持上。1 (Europe PMC) 与纯算法论文不同,面向一线使用者的系统还需要解决交互效率、结果解释与流程可控性等工程问题,使得识别结果能够以可视化方式被复核、被导出、被归档,并形成可追踪的样本与模型迭代链路。4 (CSA) 因此,构建“深度学习模型训练与对比+Qt 桌面端推理与管理”的一体化动物识别系统,既能服务实际业务,也能为后续的部署优化与数据闭环提供稳定载体。4 (CSA)
2.2 国内外研究现状
从任务需求看,多种类动物识别往往同时面临类间外观相似(如近缘物种)、尺度跨度大(远景小目标与近景大目标共存)、密集遮挡与姿态多变、昼夜光照与红外成像域偏移、以及长尾分布与“空帧”占比高等难点,这些因素直接影响检测框定位稳定性与类别置信度校准。4 (CSA) 针对生态相机视频的真实应用,已有工作在金钱豹与岩羊等数据上对比 Faster R-CNN、SSD、YOLOv5 与 YOLOv8,给出了 F1、mAP 与帧率等指标,并指出在多重干扰下 YOLO 系列更易取得速度与精度的综合优势。5 (Lyzygl) 这类研究共同揭示了一个关键事实:算法性能不仅由网络结构决定,也强依赖场景分布、目标运动特征与采集设备成像特性。5 (Lyzygl)
从算法范式看,两阶段检测器以候选区域与分类回归分离为特点,代表方法 Faster R-CNN 在通用检测任务上奠定了“高精度基线”的工程地位。6 (arXiv) 单阶段检测器通过密集预测提升吞吐,SSD 以多尺度特征与默认框机制形成了早期实时检测的经典方案。7 (arXiv) 为缓解前景背景样本极度不均衡导致的训练偏置,RetinaNet 提出的 Focal Loss 使得单阶段方法在精度上显著逼近两阶段框架。8 (CVF Open Access) 随着 Transformer 进入检测领域,DETR 以集合预测与匈牙利匹配提供了端到端的检测建模思路。9 (arXiv) 为提升收敛与多尺度建模能力,Deformable DETR 通过可变形注意力降低计算量并增强对小目标的表征效果。10 (arXiv)
为便于将“任务难点—方法选择—指标对照”对应起来,表 2-1 汇总了与本系统场景强相关的代表性方法与可追溯指标(不同数据集间的数值不可直接横向等价比较,但能反映典型权衡)。
表 2-1 代表性检测方法与性能权衡对比
| 方法 | 范式/家族 | 数据集 | 关键改进点(与任务难点关联) | 优势与局限性 | 关键指标(示例) | 更适用的任务侧重点 |
|---|---|---|---|---|---|---|
| Faster R-CNN | 两阶段 | 野生动物视频数据集 | 候选区域机制利于复杂背景下定位 | 精度稳但计算开销更高 | F1=0.955,mAP50-95=0.847,28.9 fps | 追求稳健定位、可解释基线 |
| SSD | 单阶段(Anchor-based) | 野生动物视频数据集 | 多尺度预测覆盖尺度变化 | 易受遮挡与相似类干扰 | F1=0.957,mAP50-95=0.822,33.7 fps | 轻量实时、可作为对照 |
| YOLOv5 | YOLO 系列 | 野生动物视频数据集 | 端到端密集预测利于实时处理 | 对域偏移仍需增强策略 | F1=0.991,mAP50-95=0.922,45.9 fps | 边缘端实时与速度优先 |
| YOLOv8 | YOLO 系列 | 野生动物视频数据集 | 结构与训练策略演进提升鲁棒性 | 参数略增、需良好标注 | F1=0.987,mAP50-95=0.949,44.6 fps | 精度优先与复杂干扰场景 |
| YOLOv6-N | YOLO 系列 | COCO | 面向工业部署的结构与量化优化 | 通用数据优,迁移需调参 | AP=35.9,T4 吞吐 1234 FPS | 极限吞吐与可部署性 |
| RT-DETR | DETR 改进 | COCO | 高效混合编码器与查询选择 | 端到端但实现更复杂 | AP=53.1,T4 108 FPS | 端到端部署与精度速度平衡 |
| YOLOv10 | YOLO 系列(端到端) | COCO | NMS-free 训练与效率驱动设计 | 生态工具链需适配 | YOLOv10-S 同 AP 下较 RT-DETR-R18 快 1.8× | 端到端实时与低延迟 |
| YOLOv12 | YOLO 系列(注意力中心) | COCO | 注意力机制与实时性兼顾 | 新结构需验证泛化 | YOLOv12-N mAP=40.6%,T4 延迟 1.64 ms | 高精度实时与注意力建模 |
表中“野生动物视频数据集”相关数值来自同一对比实验,便于反映在近似场景分布下的真实差异。5 (Lyzygl) YOLOv6、RT-DETR、YOLOv10 与 YOLOv12 的 COCO 指标则反映了实时检测在通用基准上的演进趋势。12 (arXiv) (arXiv) (arXiv) (arXiv)
围绕 YOLO 家族的技术演进,Ultralytics 的 YOLOv5 以易用训练与多格式导出(如 ONNX)推动了工程普及,并成为众多垂直场景的“可落地起点”。14 (GitHub) Ultralytics 在 2023 年发布的 YOLOv8 进一步面向多任务与效率进行迭代,使其在多类目标检测的工程使用中保持较高热度。15 (Ultralytics Docs) 在更强调实时精度边界的研究中,YOLOv9 通过新的结构与训练思路推动了精度效率权衡的再提升。17 (arXiv) 面向端到端部署,YOLOv10 以消除 NMS 为核心目标提出一致双重分配等设计,强调低延迟与端到端推理链路的统一。18 (arXiv) 最新的 YOLOv12 则尝试以注意力机制为中心,在保持实时性的同时进一步提升表征能力,并给出在 T4 等平台上的延迟与精度示例。19 (arXiv)
从部署与系统层面看,动物识别更关注“可交互的实时推理”与“可追溯的批处理管理”,因此推理加速、量化剪枝、以及跨平台推理接口(如 ONNXRuntime、TensorRT)常被作为工程策略的一部分。12 (arXiv) 同时,端到端检测器在减少后处理依赖、降低延迟抖动方面具有潜在优势,RT-DETR 通过结构设计展示了 DETR 系方法在实时检测中的可行性。16 (arXiv) 综合来看,当前研究趋势正在从“单一模型的峰值指标”走向“模型可热切换、结果可复核导出、数据可入库回流”的系统化闭环,这也为本文所述 Qt 桌面端动物识别系统提供了明确的工程落点。5 (Lyzygl)
2.3 要解决的问题及其方案
面向多种类动物识别的桌面端系统,本文主要聚焦以下问题:
(1)检测与识别的准确性与实时性难以兼顾,特别是在小目标、遮挡与低照度条件下容易出现漏检与误检。
(2)复杂环境与设备差异带来的域偏移显著,模型在不同地点、季节与成像模式下的泛化能力需要验证与增强。
(3)桌面端交互需要同时满足“可视化解释、可控推理、可追溯导出”的使用体验,避免算法能力与使用成本脱节。
(4)批量数据处理、结果存储与权限管理需要稳定可靠,以支撑长期运行与数据资产沉淀。
围绕上述问题,本文给出对应方案如下:
(1)以 YOLOv12 为核心检测模型,并组织 YOLOv5 至 YOLOv12 的多模型训练与评测对比,通过数据增强、迁移学习与阈值策略优化提升精度与稳定性。
(2)采用 PyTorch 完成训练与推理链路,结合统一的预处理与后处理规范,降低跨场景部署时的接口不一致风险。
(3)以前端 PySide6/Qt 桌面端承载交互闭环,支持图片、视频与本地摄像头输入,提供阈值调节、目标高亮与结果导出等核心功能以提升可用性。
(4)通过结构化记录、时间戳命名、SQLite 本地数据库与批量导出机制提升数据处理效率与存储安全性,并结合硬件加速与系统测试保障稳定运行。
2.4 博文贡献与组织结构
本文的主要贡献可概括为:
(1)面向多种类动物识别的应用需求,结合代表性研究与工程实践,给出从算法范式到部署趋势的系统性综述与方法选择依据。
(2)围绕 YOLOv5 至 YOLOv12 构建可复现实验链路,形成包含精度、速度与资源开销的对比分析框架,为模型选型与迭代提供数据支撑。
(3)实现基于 PySide6/Qt 的桌面端交互闭环,将多源输入、实时推理、结果可视化、批量导出与本地入库整合为统一工作流。
(4)以可追溯的数据管理与导出机制支撑持续迭代,使系统能够面向长期监测任务形成“数据—模型—评测—反馈”的闭环。
(5)配套给出数据与工程获取方式,便于复现与二次开发。
全文结构安排如下:首先介绍系统功能与总体效果,其后给出绪论与相关研究综述;随后描述数据集处理方法与标注规范;接着围绕 YOLOv12 为主线阐释模型原理与训练要点,并在实验章节完成多模型对比分析;最后给出 Qt 桌面端系统设计与实现细节以及总结与展望。
3. 数据集处理
本文已给出样例拼图与标签统计图,并明确了训练 11,259 张、验证 1,879 张、测试 741 张(总计 13,879 张)的划分规模,后续内容据此说明数据规范与处理要点。标签及其对应中文名如下:
Chinese_name = { '0': '0','Bear': '熊','Buffalo': '水牛','Deer': '鹿','Elephant': '大象','Human': '人类','Leopard': '豹',
'Monkey': '猴子', 'Raccoon': '浣熊','Tiger': '老虎','WildBoar': '野猪','bear': '熊','buffalo': '水牛','bicycle': '自行车',
'car': '汽车','cat': '猫','cow': '牛', 'deer': '鹿','dog': '狗','dogs-cats': '狗和猫', 'donkey': '驴', 'gaur': '野牛',
'guard dog': '看门狗', 'goat': '山羊', 'hen': '母鸡', 'otherentities': '其他实体', 'person': '人','rat': '鼠','wolf': '狼'}

该数据集以野外相机或固定机位采集为主,既包含白天彩色图像,也包含夜间红外/低照度画面,且常见“目标被枝叶遮挡、仅露出局部、运动拖影、强反光/阴影、背景纹理与动物毛色相近”等复杂因素,这会直接抬高类间相似与定位稳定性的难度。标注以目标检测框为核心,样例标签图展示了框中心点 ((x,y)) 更集中于画面中心区域、而 ((w,h)) 分布呈明显的小尺寸偏置,说明数据中存在大量中远景与小目标实例,对检测器的多尺度特征与小目标召回更敏感;因此在数据规范上需要统一图像尺寸预处理(如等比例缩放与填充到固定输入尺度)并保持坐标系一致,以避免训练与推理阶段的坐标还原误差。
类别层面,该数据集覆盖野生动物与部分干扰实体的混合场景,既包含熊、水牛、鹿、大象、豹、猴子、浣熊、老虎、野猪等典型动物类,也包含人、车辆、自行车以及猫狗等家养动物与“其他实体”等类别;同时可以观察到类别命名存在大小写或同义项并存的情况(如 Bear/bear、Buffalo/buffalo、Deer/deer、Human/person),因此在训练前需要进行类别规范化:合并同义与大小写重复项、明确最终类别集合,并建立中英文对照(如 Chinese_name)用于界面展示与导出报表一致性。就数据分布而言,标签统计图呈现出显著长尾特征:少数类别实例数远高于其他类别,而若干类别样本稀疏甚至接近空缺,这会导致模型在尾部类别上更易出现漏检或置信度偏低;针对这一点,工程上通常会结合分层采样或类别重加权,并配合面向遮挡、尺度变化与光照域偏移的数据增强(如随机尺度/裁剪、翻转、颜色扰动、模糊噪声以及拼接类增强等)来提高泛化稳定性,同时在训练前清理异常标注与无效图片、固定随机种子以保证划分与实验结果可复现。
4. 模型原理与设计
本文系统面向多种类动物目标的实时识别任务,核心选择 YOLO 系列的一阶段检测范式:输入图像经统一尺度的预处理(如保持长宽比的缩放与填充到 640 × 640 640\times640 640×640),由网络直接输出多尺度的类别与边界框预测,并在后处理中完成阈值过滤与重叠框抑制,从而在“速度优先”的约束下尽可能保留小目标与遮挡目标的召回。与两阶段检测器相比,一阶段方法省去了候选区域生成与逐候选精细分类的额外开销,更适合桌面端图片/视频/摄像头流的连续推理闭环;从工程角度看,它也更便于把推理耗时、进度条与导出节奏绑定到同一条事件驱动的帧处理链路中,降低交互层与算法层之间的耦合成本。
在网络结构上,YOLOv12 仍沿用 YOLO 家族常见的“Backbone–Neck–Head”模块化脉络,但其关键变化在于把注意力机制提升为结构设计的中心:一方面通过 Area Attention 将特征图划分为若干区域以扩大有效感受野并控制计算量,另一方面引入 R-ELAN 以增强特征聚合并缓解大规模注意力堆叠带来的优化不稳定;同时,实践中常结合 FlashAttention 等算子优化来减少注意力计算的访存瓶颈,并通过移除显式位置编码、调整 MLP 比例以及加入 7 × 7 7\times7 7×7 可分离卷积的“位置感知”分支来补充位置信息表达,从而在速度与表征能力之间取得更稳定的折中。(Ultralytics Docs) 在形式上,注意力模块可抽象为
A t t n ( Q , K , V ) = S o f t m a x ! ( Q K T d ) V , \mathrm{Attn}(Q,K,V)=\mathrm{Softmax}!\left(\frac{QK^{\mathsf T}}{\sqrt{d}}\right)V, Attn(Q,K,V)=Softmax!(dQKT)V,
其中 Q , K , V Q,K,V Q,K,V 分别为查询、键、值映射, d d d 为通道维度的缩放因子;对于本文动物识别场景,这类机制在复杂背景纹理、局部遮挡与近缘物种细粒度差异建模上往往更有优势,而多尺度特征融合(如自顶向下与自底向上的路径聚合)则直接关联到远景小目标的召回与稳定定位。
损失函数与任务建模方面,YOLO 系列通常将检测学习拆解为边界框回归与分类(以及与之相关的置信度建模),其中边界框回归以 IoU 家族为核心更符合“框重叠程度”这一与评测指标一致的优化目标。基本 IoU 定义为
I o U = ∣ B ∩ B g t ∣ ∣ B ∪ B g t ∣ , \mathrm{IoU}=\frac{|B\cap B^{gt}|}{|B\cup B^{gt}|}, IoU=∣B∪Bgt∣∣B∩Bgt∣,
其中 B B B 为预测框、 B g t B^{gt} Bgt 为真实框;在动物目标存在姿态变化与遮挡时,仅优化 IoU 容易出现收敛慢与中心偏移不敏感的问题,因此工程上常使用 CIoU 等改进形式:
L C I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v , L_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{gt})}{c^2}+\alpha v, LCIoU=1−IoU+c2ρ2(b,bgt)+αv,
其中 ρ ( ⋅ ) \rho(\cdot) ρ(⋅) 表示预测框与真实框中心点的欧氏距离, c c c 为两框最小外接框的对角线长度, v v v 用于刻画长宽比一致性, α \alpha α 为平衡系数;该类项能在目标部分可见或尺度快速变化时提供更稳定的几何约束,从而减少“框漂移”与“贴边漏检”等现象。与此同时,针对长尾分布与难例占比高的问题,分类侧往往会结合样本重加权或更稳健的损失设计来缓解头部类别主导梯度的风险,使尾部类别在训练中获得足够的学习信号。
训练与正则化策略上,本文更强调“与任务难点一一对应”的可落地配置:在保持输入尺度一致的前提下,通过随机尺度与裁剪增强小目标多样性,利用颜色抖动、噪声与模糊增强提升昼夜与成像域偏移下的鲁棒性,并用适度的正则化与学习率策略(如余弦退火或带 warmup 的调度)稳定注意力结构的收敛;推理阶段则以置信度阈值与 IoU 阈值控制误检密度,并用 NMS 或等价的抑制策略削减重复框,使桌面端可视化结果更“干净”,便于目标选择与高亮复核。需要说明的是,YOLOv12 作为注意力中心化模型,在显存与训练稳定性上可能更敏感,因此博主建议在同一数据集上保留 YOLOv5–YOLOv12 的对比链路,以便从精度、速度与资源占用三者中找到最适合桌面端实时交互的平衡点。(Ultralytics Docs) 网络整体架构(YOLO 系列 Backbone–Neck–Head 结构示意)如下图所示
5. 实验结果与分析
本章实验以 AnimalsDet 数据集为对象,统一在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB) 上完成推理评测,指标采用 Precision、Recall、F1、mAP50 与 mAP50–95,并同时记录端到端推理链路的预处理/推理/后处理耗时(ms),以便从“精度—速度—资源开销”三个维度对 YOLOv5–YOLOv12 的代表性轻量模型进行对比。为减少变量干扰,各模型在相同输入规范与评测流程下给出结果,表 5-1 汇总了两组规模(n/s)的核心对比数据,后文将结合训练曲线、PR 曲线与混淆矩阵,对整体趋势与误差来源进行解释,并给出桌面端部署取舍建议。
表 5-1 两组模型(n/s)在 AnimalsDet 上的精度、速度与复杂度对比(RTX 3070 Laptop GPU)
| 组别 | Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 0.642 | 0.525 | 0.578 | 0.574 | 0.362 |
| n | YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.672 | 0.444 | 0.535 | 0.534 | 0.350 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.591 | 0.458 | 0.516 | 0.512 | 0.271 |
| n | YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.629 | 0.565 | 0.595 | 0.586 | 0.387 |
| n | YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.607 | 0.545 | 0.574 | 0.553 | 0.368 |
| n | YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.648 | 0.522 | 0.578 | 0.577 | 0.371 |
| n | YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.632 | 0.558 | 0.593 | 0.578 | 0.377 |
| n | YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 0.610 | 0.569 | 0.589 | 0.593 | 0.386 |
| s | YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.581 | 0.612 | 0.596 | 0.589 | 0.375 |
| s | YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.638 | 0.576 | 0.605 | 0.584 | 0.384 |
| s | YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.697 | 0.592 | 0.640 | 0.626 | 0.404 |
| s | YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.681 | 0.551 | 0.609 | 0.599 | 0.387 |
| s | YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.666 | 0.579 | 0.619 | 0.608 | 0.413 |
| s | YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.681 | 0.580 | 0.626 | 0.608 | 0.408 |
| s | YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.653 | 0.576 | 0.612 | 0.603 | 0.389 |
| s | YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.690 | 0.554 | 0.615 | 0.602 | 0.401 |
从 n 组结果看,整体精度集中在 mAP50≈0.51–0.59、mAP50–95≈0.27–0.39 区间,说明该任务在更严格的 IoU 阈值下仍存在一定定位误差与难例(遮挡、夜间、远距离小目标)带来的性能损失。YOLOv12n 在 mAP50 上取得最高值(0.593),并在 Recall 上也处于更优水平(0.569),更符合“尽量少漏检”的业务诉求,但其 InfTime(12.47ms)明显高于 YOLOv6n/YOLOv8n 的 6–7ms 级别,体现了注意力增强与更强表征带来的速度代价;相对地,YOLOv8n 的 F1 最高(0.595),在 Precision 与 Recall 的平衡上更稳定,且推理更快(6.83ms),因此更适合作为桌面端实时检测的默认模型。值得注意的是,YOLOv10n 的 PostTime 显著更低(0.63ms),这在交互系统里往往意味着更小的后处理抖动与更稳定的帧率上限,适合对“连续视频/摄像头推理”有更强实时性要求的场景。
从 s 组结果看,模型容量提升后并非简单带来线性收益:YOLOv7 的 mAP50(0.626)与 F1(0.640)均为该组最优或接近最优,说明其在该数据分布下具备更强的表征与拟合能力,但 InfTime 高达 23.62ms,会显著压缩桌面端视频流的实时帧率;相比之下,YOLOv9s 在 mAP50–95 上达到该组最高(0.413),更能反映“定位质量”提升,但推理时间同样偏高(18.66ms),更适合离线批处理或对帧率要求不苛刻的复核任务。若以“综合均衡”为目标,YOLOv10s(F1=0.626,mAP50–95=0.408,InfTime=11.38ms,且 PostTime 最低)与 YOLOv11s(InfTime=9.74ms、精度稳定)更契合桌面端的交互体验:既能保持可观的精度,又不会让进度条与结果刷新出现明显卡顿。

为了更直观地呈现 F1 与 mAP50 的差异,图 5-1 与图 5-2 给出了两组模型的双柱状对比。从图中可以看到,n 组的差距更多体现在“召回与定位质量的小幅拉开”,而 s 组则出现了“精度领先但速度明显变慢”的典型现象,这也解释了为什么在工程系统里往往需要提供权重热切换:同一套界面下既能跑实时,也能切到高精度做离线复核。

结合训练过程曲线(results.png)可以观察到,训练侧 box/cls/dfl loss 持续下降,验证侧损失在中后期趋于平稳并存在轻微回升,而 mAP50 与 mAP50–95 在约 40–60 个 epoch 后逐步进入平台期,这意味着模型已学到主要判别特征,但对少数难例仍难以继续带来稳定提升;在工程上,这类形态通常提示可以考虑更积极的早停或更针对性的难例增强(夜间红外、遮挡裁剪、远景小目标重采样)来提高训练效率。

另一方面,F1–Confidence 曲线显示全类最优 F1 出现在置信度约 0.58 左右(图中蓝线峰值),这与桌面端默认阈值(常设 0.25)存在明显差异:较低阈值利于召回、适合“先检出再人工复核”,而接近最优 F1 的阈值更适合“直接导出可用统计”的场景,因此系统里提供 Conf/IoU 滑块让用户按任务偏好在“少漏检”与“少误检”之间即时切换是有必要的。

最后,从归一化混淆矩阵可以看到若干类别存在相互混淆与背景误检的迹象,其中一部分与“类别命名重复(大小写/同义项并存)”和“外观相近类”有关,这也从侧面说明了第 3 章中“类别规范化与长尾处理”的重要性:若先把 Bear/bear、Buffalo/buffalo、Deer/deer、Human/person 等映射统一,再进行重训练,通常能进一步降低结构性混淆并提升报表一致性。
综合以上结果,若以桌面端实时交互为主(摄像头或长视频流),优先推荐 YOLOv8n(n 组)或 YOLOv11s/YOLOv10s(s 组)作为默认权重;若以离线批处理与尽量减少漏检为主,可考虑 YOLOv12n 或 YOLOv9s,并在导出前把 Conf 调到更接近 F1 峰值的范围以降低误检噪声。后续改进方向也相对清晰:数据侧强化夜间与小目标难例、类别侧做同义合并与长尾再平衡、算法侧针对后处理与阈值策略做“按类自适应校准”,往往比盲目增大模型更能稳定提升 AnimalsDet 这类真实场景数据的可用性与一致性。
6. 系统设计与实现
6.1 系统设计思路
本文系统面向“多源输入、实时推理、可视化复核、批量导出与可追溯管理”的一体化需求,整体采用分层架构组织:表现与交互层负责 Qt 桌面端的人机交互与可视化呈现,业务与会话管理层负责用户会话、参数与记录编排,推理与任务调度层负责媒体接入、帧分发与 YOLO 推理,数据持久化层负责结果、账户与导出索引的本地化存储。分层的核心价值在于把“界面响应速度”与“模型推理耗时”解耦:界面以事件驱动方式接收检测结果并刷新,同时把耗时、进度条与记录更新视为同一条可观测的数据流,使得图片、视频与摄像头三类任务在交互体验上保持一致。
在跨层协同流程上,系统从启动阶段加载配置与模型列表,随后由用户选择输入源(图片/视频/摄像头)并触发互斥式的采集与解码流程;推理前对帧进行统一的缩放与归一化、并完成张量转换以满足 YOLO 模型输入要求;推理后解析输出得到 {class_name, bbox, score, class_id},再依据 Conf/IoU 阈值过滤与 NMS 抑制完成后处理,最后将坐标还原到原始分辨率并绘制到主显示区。为保障实时性与一致性,系统对参数更新采用“单一真值源”策略:Conf/IoU 滑块的变化由业务层集中管理并同步到推理层,输入源切换时触发任务取消与资源回收以避免多源竞争,同时把“当前帧号/总帧数、耗时统计、导出状态”统一汇总到记录与进度区域,形成可复核的闭环。
在扩展性方面,系统对模型权重管理提供热切换能力:用户选择本地权重文件即可切换当前 YOLO 模型,并同步刷新类别名与配色映射,确保可视化与导出字段的一致性;对导出与归档采用时间戳命名策略,兼容单帧 PNG、多帧 AVI 与 CSV 报表,满足批量管理与溯源需求;对异常恢复则以“可重入的任务状态机”为原则,在解码中断、摄像头断开或推理报错时能够回落到可控状态并提示用户重新选择输入源。综合而言,分层结构使得系统既能支持实时在线检测,也能支撑离线批处理导出,并为后续引入硬件加速与模型压缩预留了接口边界。

图 6-1 系统流程图
图注:流程覆盖系统初始化、多源输入、预处理、YOLO 推理、后处理、界面联动与记录导出,并突出 Conf/IoU 参数联动、目标高亮与 CSV/PNG/AVI 的可追溯导出闭环。

图 6-2 系统设计框图
图注:框图按“表现与交互层—业务与会话层—推理与任务调度层—数据层”组织模块边界,并以数据流连接输入、推理、可视化、导出与本地入库。
6.2 登录与账户管理 — 流程图

图 6-3 登录与账户管理流程图
图注:流程以“注册入库—口令校验—会话生效—加载个性化配置—进入主界面”为主线,并与注销/切换账号、资料修改等操作形成闭环,保证检测流程与用户空间衔接一致。
从业务流程角度看,账户管理并不以“复杂权限体系”为目标,而是为桌面端长期使用提供稳定的个性化空间与记录隔离:应用启动后进入登录界面,若用户无账号则完成注册并写入本地数据库,随后输入账号与口令进行校验;校验成功后建立会话并加载用户偏好(主题、默认模型、最近检测记录等),进入主界面即可直接承接多源检测与导出流程;校验失败则回到输入环节以保证口令校验的安全边界。会话建立后的个性化配置与检测记录以本地持久化方式维护,既能支持用户在同一设备上的连续实验与对比,也能在注销/切换账号后保持“结果与设置互不干扰”,从而提高检测流程的可复核性与管理效率。
7. 下载链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

功能效果展示视频:热门实战|《基于深度学习的多种类动物识别》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
参考文献(GB/T 7714)
1 OLIVER R Y, IANNARILLI F, AHUMADA J, et al. Camera trapping expands the view into global biodiversity and its change[J]. Philosophical Transactions of the Royal Society B: Biological Sciences, 2023, 378(1881): 20220232. doi:10.1098/rstb.2022.0232. (Literatum Online)
2 SWANSON A, KOSMOULSKI M, LINTOTT C, et al. Snapshot Serengeti, high-frequency annotated camera trap images of 40 mammalian species in an African savanna[J]. Scientific Data, 2015, 2: 150026. doi:10.1038/sdata.2015.26. (Nature)
3 张雪莹, 张浩林, 韩莹莹, 等. 基于深度学习的野生动物监测与识别研究进展[J]. 野生动物学报, 2022, 43(1): 251-258. (DOAJ)
4 柯澳, 王宇聪, 胡博宇, 等. 基于图像的野生动物检测与识别综述[J]. 计算机系统应用, 2024, 33(1): 22-36. (CSA)
5 汪帅, 卢楠, 郑红, 等. 基于深度学习的野生动物视频目标检测[J]. 林草资源研究, 2024(1): 34-40. doi:10.13466/j.cnki.lczyyj.2024.01.005. (Lyzygl)
6 REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//Advances in Neural Information Processing Systems. 2015: 91-99. (arXiv)
7 LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot MultiBox Detector[C]//European Conference on Computer Vision. 2016: 21-37. (arXiv)
8 LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2980-2988. (CVF Open Access)
9 CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[C]//European Conference on Computer Vision. 2020: 213-229. (arXiv)
10 ZHU X, SU W, LU L, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection[C]//International Conference on Learning Representations. 2021. (arXiv)
11 GE Z, LIU S, WANG F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
12 LI C, LI L, JIANG H, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022. (arXiv)
13 WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023. (CVF Open Access)
14 JOCHER G, CHAURASIA A, QIU J, et al. YOLOv5 by Ultralytics[EB/OL]. GitHub repository, 2020-2025(持续更新). (GitHub)
15 ULTRALYTICS. Ultralytics YOLOv8 Model Documentation[EB/OL]. 2023-2025(持续更新). (Ultralytics Docs)
16 ZHAO Y, LV W, XU S, et al. DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023. (arXiv)
17 WANG C Y, YEH I H, LIAO H Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (arXiv)
18 WANG A, CHEN H, LIU L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
19 TIAN Y, YE Q, DOERMANN D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)