基于深度学习的动物识别系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向野外监测与养殖管理等场景,设计并实现一套基于深度学习的动物识别(检测)桌面系统,目标是在保证实时性的同时提供可追溯、可复核的工程化闭环。系统提供可下载的数据与代码资源,前端采用 PySide6/Qt 构建交互界面,支持图片、视频与本地摄像头多源输入,并以进度显示/处理进度条呈现批处理与视频推理状态;检测结果在主显示区叠加目标框(类别名+置信度),同时支持 CSV 一键导出与带框结果一键导出(单帧 PNG / 多帧 AVI)。系统引入 SQLite 本地入库以管理账户、历史记录与导出索引,提供登录/注册与一次性跳过入口以兼顾体验与安全,并支持 模型选择/权重加载(.pt 热切换),在不重启界面的情况下完成类别信息与配色同步刷新。算法侧覆盖 YOLOv5–YOLOv12 共 8 种模型,统一在同一数据集与评测协议下对比 mAP、F1、PR 曲线与训练曲线等指标,为不同部署预算下的精度-速度权衡提供依据。文末提供完整工程与数据集下载链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的动物识别系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册:系统提供登录、注册与一次性跳过入口,跳过仅在当前会话内生效,便于快速体验核心功能。登录后会载入本地历史记录与个性化配置,用户可在主界面按统一动线完成检测与导出。账户信息与会话状态由本地 SQLite 管理,并通过口令校验降低误用风险。
(2)功能概况:主界面采用“左侧参数与输入源、中部结果展示、右侧目标详情、底部记录与进度”的布局,常用操作集中在可视区域内完成。用户可在概览页快速查看最近一次检测、导出状态与关键统计,并可在记录区按时间或文件名定位条目。图片检测、模型切换与导出视图在同一套交互逻辑下组织,减少频繁跳转带来的成本。
(3)选择模型:系统支持在运行中选择本地权重文件切换当前 YOLO 模型,并在切换后同步刷新类别信息与可视化配色。模型切换不会改变用户已设置的阈值与界面偏好,保证操作连续性。对于多模型对比场景,用户可快速回切不同权重以复核同一输入下的差异表现。
(4)图片检测:支持单张图片与图片目录输入,载入后可立即完成推理并在主显示区叠加目标框,展示类别名与置信度。用户可通过 Conf/IoU 调节控制检出密度,并在右侧详情区查看被选中目标的定位信息与评分。检测记录会同步写入底部列表,便于跨页复查与后续导出。
“马”检测效果:
“猫”检测效果:
(5)文件保存:系统支持将检测结果按时间戳统一命名保存,确保可追溯与批量管理友好。除带框图片导出外,还可将结构化结果导出为 CSV,用于后续统计分析或标注回流。保存完成后可在记录区按文件名快速定位并回看对应结果,实现“检测—复核—归档”的闭环体验。
2. 绪论
2.1 研究背景及意义
在畜牧养殖、野生动物监测与城市动物管理等场景中,“看见并识别动物”是实现健康预警、行为分析与资源调度的前置能力。以相机陷阱与视频巡护为例,研究者已证明深度学习能够在大规模图像上自动完成物种识别与计数,从而显著降低人工筛查成本并提升生态监测的时效性1。在开放环境中构建可用系统的难点不只在模型精度,更在于持续的数据流、可追溯的结果管理与面向用户的交互闭环。
数据与评测基准是动物识别从“能跑”到“可落地”的关键支撑。典型相机陷阱数据集通过多物种、多背景与长时间跨度采集,为遮挡、夜间红外、远距离小目标等挑战提供了可复现的验证条件2。面向更广泛的物种与细粒度类别,iNaturalist 等数据集进一步暴露了长尾分布与类间相似带来的难题,使得系统必须兼顾泛化与可扩展的类别管理机制[3]。
从工程角度看,动物识别系统往往需要在边缘端或本地端实时运行,并以可视化方式向用户解释“识别了什么、置信度如何、位置在哪里”。因此,一个面向实际使用的系统不应止于离线推理脚本,而应在多源输入、实时阈值调节、批量导出、历史检索与本地存储等方面形成完整链路,并能用统一指标体系在不同模型间进行对比与选型。通用目标检测基准(如 COCO)提供了较为统一的评价口径,为后续的跨模型对比与部署权衡奠定基础[4]。
2.2 国内外研究现状
针对动物识别这一具体任务,应用场景既包括野外相机陷阱的物种监测,也包括牛舍、猪舍等半封闭环境下的个体识别与行为理解。前者常面临背景复杂、光照剧烈变化、遮挡与运动模糊并存等问题,且同一物种在不同季节、姿态与拍摄距离下外观差异显著1。后者虽然场景相对可控,但目标密集、外观相似、尺度差异与遮挡依然突出,并对端侧实时性和稳定运行提出更强约束[6]。
国内在畜牧业方向的研究更强调“可部署、可持续运行”的工程属性。以牛只行为识别与跟踪为例,有研究在改进 YOLOv8 的同时引入特征融合、注意力与动态检测头,并将检测结果与多目标跟踪算法结合以提升复杂牛舍环境下的识别与跟踪效果[5]。在群养生猪姿态识别场景中,也有工作围绕边缘计算节点的算力限制,对 YOLOv5 进行轻量化改造并结合 DeepSort 完成多目标识别与跟踪,给出了精度与端侧帧率的实测结果,体现出“算法设计必须服务于部署约束”的研究取向[6]。
国际研究在检测范式与结构演进上形成了较为清晰的主线:两阶段检测器以 Faster R-CNN 为代表,通过候选框生成与分类回归解耦获得较强的精度上限[7];单阶段检测器如 SSD 与 RetinaNet 通过密集预测提升速度与简化流程,并用 Focal Loss 缓解前景背景不均衡带来的训练困难[8][9]。在效率与尺度适配方面,EfficientDet 通过复合缩放与 BiFPN 结构实现了更优的速度精度权衡[10];而 DETR 及其后续工作将匹配与集合预测引入检测,推动端到端检测与“去 NMS”方向发展[11]。为满足实时性,RT-DETR 进一步在编码器与查询选择上做了针对性优化,使 Transformer 检测器进入可实时应用区间[12]。
在更贴近工程落地的策略层面,Anchor-free 范式(如 FCOS、CenterNet)通过关键点或密集中心建模减少超参数依赖,常被用于缓解尺度变化与密集目标下的匹配难题[13][14]。与此同时,动物识别任务的长尾分布与场景迁移问题促使研究者更加关注“数据增强与域泛化”以及“在线采样与持续学习”的组合策略,这要求系统侧具备稳定的数据管理、可追溯评测与便捷的错误样本回收机制,以支撑模型持续迭代[3]。
表2-1给出若干代表性检测方法在范式、指标与适用性上的对比,用以说明当前主流路线在精度、速度与部署难度之间的基本权衡。
表2-1 代表性目标检测方法对比(公开指标摘录)
| 方法 | 范式/家族 | 典型评测数据集 | 关键改进要点 | 公开指标(示例) | 更适合解决的任务难点 |
|---|---|---|---|---|---|
| Faster R-CNN[7] | 两阶段 / Anchor-based | VOC/COCO | RPN 生成候选框,检测头分类回归 | GPU 约 5 FPS(VGG-16) | 精度上限较高,但端侧实时性压力大 |
| SSD300[8] | 单阶段 / Anchor-based | VOC2007 | 多尺度特征层密集预测 | 59 FPS,mAP 74.3%(VOC2007) | 对速度敏感的在线检测 |
| EfficientDet-D7[10] | 单阶段 / Anchor-based | COCO | 复合缩放 + BiFPN | COCO AP 52.2% | 速度精度权衡、跨尺度目标 |
| DETR[11] | Transformer / 端到端 | COCO | 集合预测与匈牙利匹配,去 NMS | 端到端但训练与收敛成本较高 | 需要结构简化与端到端部署的场景 |
| RT-DETR-R50[12] | Transformer / Real-time | COCO | 高效混合编码器 + 查询选择 | COCO AP 53.1%,108 FPS(T4) | 在保持端到端特性下追求实时性 |
| YOLOv10-S[18] | YOLO / NMS-free | COCO | 一致双分配训练,端到端低延迟 | AP_val 46.3%,Latency 约 2.49 ms | 强实时约束下的端到端检测 |
| YOLO12n[20] | YOLO / Attention-centric | COCO val2017 | 注意力中心结构,兼顾精度与速度 | mAP_val 40.6,T4 TensorRT 1.64 ms | 精度提升与复杂场景特征建模 |
其中,SSD 与 Faster R-CNN 的速度与 mAP 示例指标来自原论文给出的对比描述。 (UNC Computer Science)
RT-DETR、YOLOv10 与 YOLO12 的 AP/速度示例指标分别来自其公开论文或官方文档汇总结果。 (arXiv)
面向本文“基于深度学习的动物识别系统”,YOLO 系列之所以成为工程主流,一方面源于其在速度与精度之间的稳定折中,另一方面也因为其训练、导出与多平台部署生态相对成熟[15]。从 YOLOv5 的工程化与可复现训练开始,研究与工业界逐步形成了以“多尺度特征融合、解耦头、动态分配、轻量骨干与端到端化”为核心的演进方向[16]。随后 YOLOv9、YOLOv10 在梯度可编程与端到端低延迟等方向推进,使得在同等算力下获得更优的精度延迟曲线成为可能[17][18];而 YOLO12 则强调注意力中心的结构创新,并在官方文档中给出了不同尺度模型的精度与推理延迟对比,为工程选型提供了可直接参考的量化依据[19][20]。需要强调的是,官方文档也提示注意力结构可能带来训练稳定性与 CPU 吞吐的额外成本,因此生产环境往往仍需在 YOLO11 等更稳健的版本与新结构之间进行权衡[21]。
在损失函数与训练策略层面,动物识别任务的遮挡与尺度变化会直接影响框回归的稳定性,因此 IoU 系列损失常被用于提升回归质量并改善收敛[22]。同时,端侧部署对时延和内存的约束也促使研究更频繁地采用剪枝、量化与加速推理等策略,这要求系统在评测阶段不仅记录 mAP、F1 与 PR 曲线,也要同步记录导出格式、推理后端与硬件条件下的延迟指标,从而形成可复现的“精度-速度-资源”三维对比[6]。在这一背景下,本文将动物识别任务与桌面端交互系统结合,通过“多模型对比评测 + 可视化与导出闭环”来支撑模型迭代与工程落地。
2.3 要解决的问题及其方案
为实现可用的动物识别系统,本文主要需要解决以下问题:(1)检测识别的准确性与实时性难以兼得,尤其在密集目标、遮挡与小目标条件下容易出现漏检与误检。(2)不同摄像头、不同场景与不同时间段带来的域偏移明显,模型在训练集上表现良好但在真实环境中泛化不足。(3)桌面端交互需要同时覆盖多源输入、阈值调参、结果可视化与批量导出,若功能割裂会显著降低使用效率。(4)检测结果的存储与追溯需要兼顾数据处理效率与本地安全性,否则难以支撑持续迭代与长期运维。
对应地,本文给出如下解决方案:(1)以 YOLOv12 为核心主线进行训练与推理,同时纳入 YOLOv5 至 YOLOv12 的多版本模型进行系统化对比评测,以 mAP、F1、PR 曲线与推理延迟共同约束选型。(2)在数据侧采用增强、清洗与迁移学习策略,并在评测侧建立跨场景验证与错误样本回收机制,以提升模型对光照、遮挡与尺度变化的适应性。(3)以前端 PySide6/Qt 桌面端为载体,打通图片、视频与摄像头输入的统一推理流程,提供置信度与 IoU 阈值调节、目标高亮与记录检索等交互,形成可解释的使用体验。(4)以时间戳命名与本地数据库为核心组织方式,完成检测记录、账户会话与导出归档的本地化管理,提升结果追溯性与数据安全性。
2.4 博文贡献与组织结构
本文的主要贡献体现在以下方面:(1)围绕动物识别这一落地场景,对两阶段、单阶段、Transformer 与 YOLO 系列方法的演进与部署权衡进行归纳,并给出可用于工程选型的对比视角。(2)以 YOLOv12 为主线建立覆盖 YOLOv5 至 YOLOv12 的训练、推理与评测流程,使不同模型在统一数据与统一指标下可直接比较。(3)结合 PySide6/Qt 实现桌面端交互闭环,支持多源输入、实时阈值调参、可视化叠加与一键导出,面向实际使用而非仅停留在离线实验。(4)构建可追溯的数据与结果管理机制,将评测、导出与本地存储统一到工程流程中,为后续持续迭代与扩展任务(如跟踪与行为分析)提供基础。
全文组织如下:第3章介绍数据集获取、标注与增强处理;第4章阐述以 YOLOv12 为主线的模型原理与训练要点;第5章给出 YOLOv5 至 YOLOv12 的对比实验与可视化分析;第6章从分层架构出发描述系统设计与关键实现流程,并给出系统框图与登录流程图;第7章总结工作并展望模型侧与系统侧的改进方向。
3. 数据集处理
本文后续描述基于你提供的样例可视化、数据划分与类别映射展开,当前数据集共 1926 张图像,其中 1284 张用于训练、321 张用于验证、321 张用于测试,任务共 6 类,标签及其对应中文名如下:
Chinese_name = {'bird': "鸟",'cat': "猫",'cow': "牛", 'dog': "狗子", 'horse': "马",'sheep': "羊"}

从标注规范看,样例图中目标框以“类别名/类别编号 + 边界框”形式覆盖在原图之上,且标注框统计图以 x , y , width , height ∈ [ 0 , 1 ] x,y,\text{width},\text{height}\in[0,1] x,y,width,height∈[0,1] 的归一化坐标呈现,符合 YOLO 系列常用的标注表达方式;这类格式对后续统一输入尺寸(如 640×640)与坐标还原非常友好,也便于在桌面端实现“叠框可视化 + 结构化记录导出”的一致链路。就数据内容而言,样例 batch 中既包含近景大目标(如马、牛),也存在远景小目标与遮挡(如鸟类、树林/草地背景中的目标),并伴随室内外光照差异、复杂背景干扰与同类外观差异(姿态、毛色、尺度)的共同影响,这些因素会直接反映为漏检、误检与框不稳定等典型问题,因此标注的一致性检查(空标注、越界框、类别号合法性)与坏图清洗是训练前必须完成的步骤。
从类别统计与长尾情况看,当前 6 类样本量整体相对均衡但仍存在差异,bird 与 dog 的实例数明显更高,而 sheep 相对偏少,属于“轻度长尾”而非极端失衡;这意味着训练时既要保证主类不被过拟合牵引,也要避免尾类在置信度阈值下被系统性压制。标注框分布上,目标中心点大多聚集在图像中部附近,宽高呈现从小到大的连续覆盖且存在一定正相关,说明数据既包含“主体居中”的常见构图,也有大量不同尺度目标混合的情况;在训练策略上,博主更倾向于采用与难点强耦合的增强与规整流程:统一尺度预处理以稳定推理开销,配合随机翻转、尺度抖动与颜色扰动应对姿态与光照变化,使用随机裁剪或拼接类增强缓解“中心偏置”并提升小目标与遮挡场景的鲁棒性,同时在划分上固定随机种子并保持训练/验证/测试互斥,确保评测结果可复现且能真实反映模型在不同场景下的泛化能力。
4. 模型原理与设计
本文系统的检测算法以 YOLOv12 为主线展开,并保持 YOLO 家族“一阶段密集预测”的总体范式:输入图像经统一尺度预处理(如 640×640)后,由主干网络提取多尺度特征,再通过颈部进行跨层融合,最终在检测头上同时完成类别判别与边界框回归。之所以选择该路线,一方面是动物识别场景常出现尺度跨度大、遮挡与背景干扰并存的情况,需要多尺度表达与稳定的定位回归;另一方面桌面端图片/视频/摄像头都强调实时交互,模型必须在可接受延迟下提供足够的 mAP 与 F1 以支撑“目标高亮、记录回看、导出复核”的闭环体验。与传统 CNN 强化的 YOLO 迭代不同,YOLOv12 的核心卖点在于“注意力中心”的结构取向:在尽量不牺牲实时性的前提下,引入更强的全局建模能力以提升复杂场景的识别鲁棒性。 (Ultralytics Docs)
从结构上看,YOLOv12 仍可用“Backbone–Neck–Head”三段式理解,但在骨干与中间特征交互处更强调高效注意力与更易优化的特征聚合模块。其一,Area Attention 将特征图划分为若干等分区域,通过更“干净”的 reshape/分块计算降低注意力的工程开销,同时尽量维持较大的有效感受野;对单个区域内的标准注意力,可写为
A t t n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d ) V , \mathrm{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{softmax}!\left(\frac{\mathbf{Q}\mathbf{K}^\top}{\sqrt{d}}\right)\mathbf{V}, Attn(Q,K,V)=softmax!(dQK⊤)V,
其中 Q , K , V ∈ R n × d \mathbf{Q},\mathbf{K},\mathbf{V}\in\mathbb{R}^{n\times d} Q,K,V∈Rn×d 分别为查询、键、值, n n n 为区域内 token 数, d d d 为通道维;在 Area Attention 设定下, n n n 由区域大小决定,从而将“全局二次复杂度”的压力转移为“分区内可控的计算”。其二,R-ELAN 通过残差与更合理的聚合路径改善大规模注意力网络的优化难度,使得特征在多层堆叠下仍能保持有效梯度传播;这些改动对于动物类别在姿态、毛色与局部纹理差异较小时尤为关键,因为它能在保持局部细节的同时,引入更强的上下文一致性来减少误检。网络整体架构图如下所示
在任务建模上,检测头通常需要对每个候选位置(或候选框)预测类别概率与边界框参数,并通过后处理得到最终结果;本文系统在推理端统一解析为 c , ; s , ; ( x min , y min , x max , y max ) {c,;s,;(x_{\min},y_{\min},x_{\max},y_{\max})} c,;s,;(xmin,ymin,xmax,ymax),便于界面叠框与结构化落库。训练阶段的损失可写为加权和:
L = λ box L ∗ box + λ ∗ cls L ∗ cls + λ ∗ obj L ∗ obj , \mathcal{L}=\lambda_{\text{box}}\mathcal{L}*{\text{box}}+\lambda*{\text{cls}}\mathcal{L}*{\text{cls}}+\lambda*{\text{obj}}\mathcal{L}*{\text{obj}}, L=λboxL∗box+λ∗clsL∗cls+λ∗objL∗obj,
其中 L ∗ cls \mathcal{L}*{\text{cls}} L∗cls 常用二元交叉熵刻画多类判别, L ∗ obj \mathcal{L}*{\text{obj}} L∗obj 刻画前景置信度,而 L ∗ box \mathcal{L}*{\text{box}} L∗box 多采用 IoU 系列损失以提升定位质量。以 CIoU 为例,可写为
L CIoU = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v , \mathcal{L}_{\text{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 α 为权重项;这类设计通常能在遮挡与尺度变化明显时改善框的稳定性,从而降低视频序列中的“抖框”与相邻帧不一致。 (arXiv)
训练与正则化方面,博主更建议围绕“动物识别的难点—系统交互的需求”来反推策略:对光照与背景变化,可使用颜色扰动、随机翻转与尺度抖动来增强域内泛化;对小目标与密集遮挡,应保证多尺度训练与合理的正样本分配,使模型在高分辨率细节与全局上下文之间取得平衡。推理侧的关键控制量通常是置信度阈值与 NMS 的 IoU 阈值,二者分别对应“误检率—漏检率”的权衡与“重复框抑制强度”的权衡;因此本文把 Conf/IoU 设计为桌面端实时可调参数,并保证参数变化能即时反馈到主显示区叠框、右侧目标详情与底部记录统计上,使用户以最小成本完成“调参—复核—导出”的闭环。最后,由于系统支持权重热切换(.pt),训练阶段建议统一类别顺序与标签规范,并在导出与部署端保持一致的类别映射与配色刷新逻辑,以避免“模型切换后类别名错位”这类工程风险。
5. 实验结果与分析
本章实验目标是在同一动物数据集与统一评测协议下,对 YOLOv5–YOLOv12 的不同尺度模型进行横向比较,给出“精度—召回—综合指标—推理延迟”的权衡结论,并为桌面端的实时交互(阈值调参、目标高亮与导出复核)提供可操作的默认建议。数据集共 1926 张图像,按 1284/321/321 划分为训练/验证/测试集,类别为 bird、cat、cow、dog、horse、sheep;指标采用 Precision、Recall、F1、mAP@0.5(记为 mAP50)与 mAP@0.5:0.95(记为 mAP50-95),推理耗时拆分为预处理、前向推理与后处理三段以便定位瓶颈。所有时间统计基于 NVIDIA GeForce RTX 3070 Laptop GPU(8GB)环境下的实测结果。
轻量 n 系列(yolov5nu、yolov6n、yolov7-tiny、yolov8n、yolov9t、yolov10n、yolo11n、yolo12n)的对比结果如表 5-1 所示,可以看到精度侧的头部梯队主要集中在 YOLOv8n/YOLOv11n/YOLOv12n:其中 YOLOv8n 以更高的 Precision(0.883)取得最高的 mAP50(0.777),YOLOv12n 在 Precision 与 Recall 相对均衡的情况下得到最高 F1(0.743),而 YOLOv11n 在更严格的 mAP50-95 指标上略占优势(0.562),说明其对不同 IoU 阈值下的定位稳定性更好。速度侧则呈现“结构越新未必越快”的现象:YOLOv8n 的端到端总耗时约 10.17 ms/帧,接近 100 FPS 量级;而 YOLOv12n 的总耗时约 15.75 ms/帧,虽然精度保持第一梯队,但在高帧率视频流与低延迟交互场景中需要更谨慎的部署取舍。
表 5-1 轻量 n 系列模型对比(测试集,RTX 3070 Laptop GPU)
| 模型 | Params(M) | FLOPs(G) | 总耗时(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 10.94 | 0.734 | 0.678 | 0.705 | 0.736 | 0.503 |
| YOLOv6n | 4.3 | 11.1 | 10.34 | 0.696 | 0.476 | 0.565 | 0.542 | 0.355 |
| YOLOv7-tiny | 6.2 | 13.8 | 21.08 | 0.609 | 0.453 | 0.520 | 0.467 | 0.236 |
| YOLOv8n | 3.2 | 8.7 | 10.17 | 0.883 | 0.623 | 0.730 | 0.777 | 0.552 |
| YOLOv9t | 2.0 | 7.7 | 19.67 | 0.761 | 0.678 | 0.717 | 0.744 | 0.543 |
| YOLOv10n | 2.3 | 6.7 | 13.95 | 0.769 | 0.609 | 0.680 | 0.680 | 0.481 |
| YOLOv11n | 2.6 | 6.5 | 12.97 | 0.848 | 0.655 | 0.739 | 0.773 | 0.562 |
| YOLOv12n | 2.6 | 6.5 | 15.75 | 0.833 | 0.671 | 0.743 | 0.775 | 0.561 |

图 5-1 给出了 n 系列 F1 与 mAP50 的双条形对比,可直观看到 YOLOv6n 与 YOLOv7-tiny 在本数据集上的上限偏低,而 YOLOv8n/YOLOv11n/YOLOv12n 形成稳定的头部区间;这种差距在平均 PR 曲线中也会表现为曲线整体下移或在中高召回区间更早出现精度塌陷。
结合训练过程曲线来看,loss 项(box/cls/dfl)在训练集上持续下降、验证集上逐步趋稳,precision、recall 与 mAP 指标在中后期进入平台区间,说明当前训练轮数已基本收敛;但验证损失存在一定波动,叠加类别轻度长尾与复杂背景的特点,意味着后续若要继续抬升 mAP50-95,更可能依赖“更强的定位约束与难例采样”,而不是单纯拉长训练轮数。

从误差形态上进一步分析,归一化混淆矩阵显示 cat 与 horse 的对角线命中率更高,而 dog、cow 的混淆与“预测为背景”的比例相对更大,符合动物外观相似、遮挡与背景纹理干扰对中等体型目标的典型影响;同时,背景列上的非零值提示存在一定误检,说明在复杂背景或局部纹理相似的区域模型会给出高置信度框。
F1-Confidence 曲线给出了一个对系统交互非常实用的结论:全类别最优 F1 出现在约 0.525 的置信度阈值附近(F1≈0.74),这意味着若桌面端初始阈值设置偏低(例如 0.25),用户会更容易看到“检出更多但误检增加”的效果;而在需要批量导出与减少人工复核时,将 Conf 提升到 0.5 左右通常能获得更均衡的 Precision/Recall。
在更大容量的 s 系列(yolov5su、yolov6s、yolov7、yolov8s、yolov9s、yolov10s、yolo11s、yolo12s)中,精度整体相较 n 系列进一步抬升:YOLOv7 在 mAP50(0.803)与 F1(0.781)上取得最高值,但参数量与 FLOPs 显著增大且推理耗时上升(仅推理约 23.62 ms),更适合“离线批处理或精度优先”的使用方式;YOLOv9s 在 mAP50-95(0.600)上表现最好,说明其在更严格 IoU 下的定位质量更稳定,但推理耗时也明显更高(18.66 ms),适合对定位精度敏感、帧率压力相对可控的场景。若以桌面端实时交互为第一优先级,n 系列中 YOLOv8n 往往更接近“高 FPS + 高 mAP50”的甜点区;若以“更稳的定位与更好的综合指标”为优先,YOLOv11n/YOLOv12n 更值得作为默认权重候选,并通过 Conf/IoU 的联动调节来控制误检与漏检之间的平衡。综合来看,后续提升空间主要来自三类方向:其一,面向 bird 等小目标与易漏检类别,提高有效分辨率与多尺度训练覆盖;其二,针对误检较多的背景纹理,引入更严格的负样本挖掘与数据清洗;其三,在系统侧提供“推荐阈值”与“一键回放难例”的工作流,让模型改进能快速回到可验证、可复现的闭环中。
6. 系统设计与实现
6.1 系统设计思路
本文系统以“桌面端交互闭环 + 多源媒体推理管线 + 本地可追溯存储”为核心目标,采用分层架构组织功能边界与数据流向,分别包括表现与交互层(PySide6/Qt 客户端)、业务与会话管理层、推理与任务调度层、数据持久化层。表现层负责输入源选择、阈值滑块与可视化呈现,将用户的交互意图转换为统一的业务指令;业务层维护会话状态、源互斥策略与参数一致性,并对“检测记录—导出编排—历史检索”进行统一调度;推理层以事件驱动的帧流为输入,完成预处理、YOLO 推理与后处理;数据层则将账户、记录与配置落地到本地 SQLite,并将 CSV/PNG/AVI 等导出产物归档以保证复核与溯源能力。
跨层协同的关键在于把“多源输入”统一抽象为帧序列,并在推理层维持稳定的吞吐与可控延迟:对单图与图像目录,系统以批处理队列驱动进度条与用时统计;对视频与摄像头,系统以事件驱动帧流持续触发推理任务,并通过源互斥与队列背压避免并发读写导致的卡顿或资源抢占。预处理阶段将输入统一缩放到 640×640 并完成归一化与张量化,以保证不同输入源在推理端拥有一致的数据分布;后处理阶段以 Conf/IoU 阈值过滤与 NMS 抑制重复框,并完成坐标还原,从而使前端叠框展示、目标高亮与表格记录共享同一套结构化结果表示。
为保障实时性与一致性,系统在交互链路中引入参数同步机制:Conf/IoU 滑块变化会在业务层完成合法性校验并同步到推理与后处理模块,使得用户在同一画面上能立刻观察到“误检减少/漏检增加”等变化趋势;同时,进度条与耗时信息由调度层统一汇总,避免出现界面显示与实际处理状态不一致的问题。可扩展性方面,系统将“模型权重管理”作为独立能力纳入业务层管理,支持本地权重热切换并刷新类别信息与配色;主题样式与常用配置在本地持久化保存,配合异常恢复与日志接口,使系统在长期使用中仍能保持稳定的交互体验与可维护性。

图 6-1 系统流程图
图注:流程自系统初始化开始,经过多源输入读取、统一预处理、YOLO 推理与后处理,并在前端完成叠框与统计信息联动;对视频/摄像头以“继续获取下一帧”形成闭环,对结束或停止操作进入记录与导出归档。

图 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 Norouzzadeh M S, Nguyen A, Kosmala M, et al. Automatically identifying, counting, and describing wild animals in camera-trap images with deep learning[J]. Proceedings of the National Academy of Sciences, 2018, 115(25): E5716-E5725.
2 Swanson A, Kosmala 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.
[3] Van Horn G, Mac Aodha O, Song Y, et al. The iNaturalist species classification and detection dataset[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2018: 876-885.
[4] Lin T Y, Maire M, Belongie S, et al. Microsoft COCO: Common Objects in Context[C]//European Conference on Computer Vision. Cham: Springer, 2014: 740-755.
[5] 付辰伏, 任力生, 王芳. 基于改进YOLOv8的牛只行为识别与跟踪方法[J]. 农业机械学报, 2024, 55(5): 290-301. doi:10.6041/j.issn.1000-1298.2024.05.028.
[6] 查文文, 潘伟豪, 陈成鹏, 等. 基于边缘计算与改进YOLOv5的群养生猪姿态识别及跟踪研究[J]. 东北农业大学学报, 2023, 54(3): 83-96. doi:10.19720/j.cnki.issn.1005-9369.2023.03.010.
[7] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[EB/OL]. arXiv:1506.01497, 2015.
[8] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
[9] 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.
[10] Tan M, Pang R, Le Q V. EfficientDet: Scalable and efficient object detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 10781-10790.
[11] Carion N, Massa F, Synnaeve G, et al. End-to-end object detection with transformers[C]//European Conference on Computer Vision. Cham: Springer, 2020: 213-229.
[12] Zhao Y, Lv W, Xu S, et al. DETRs beat YOLOs on real-time object detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024.
[13] Tian Z, Shen C, Chen H, et al. FCOS: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 9627-9636.
[14] Duan K, Bai S, Xie L, et al. CenterNet: Objects as points[EB/OL]. arXiv:1904.07850, 2019.
[15] 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: 7464-7475.
[16] Jocher G, Chaurasia A, Qiu J, et al. ultralytics/yolov5[EB/OL]. Zenodo, 2020. doi:10.5281/zenodo.3908559.
[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.
[18] THU-MIG. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024.
[19] Tian Y, Ye Q, Doermann D. YOLO12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025.
[20] Ultralytics. YOLO12: Attention-Centric Object Detection[EB/OL].
[21] Ultralytics. YOLO11 Model Documentation[EB/OL].
[22] Rezatofighi H, Tsoi N, Gwak J, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 658-666.
[23] Zheng Z, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(07): 12993-13000.
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)