基于深度学习的犬类识别系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文围绕犬类目标的识别检测与桌面端落地,给出一套“训练评测—推理部署—结果管理”一体化方案,配套提供完整代码与数据可下载以及可直接参考的论文示例。系统前端采用 PySide6/Qt 构建桌面界面,支持图片/视频/本地摄像头多源输入,在主显示区实时叠加检测框(类别名+置信度),并提供处理进度条与推理耗时展示;同时支持 Conf/IoU 调节、目标选择与高亮、检测记录跨页共享等交互体验。工程侧提供CSV 一键导出与带框结果一键导出(单帧 PNG / 多帧 AVI),所有导出结果按时间戳统一管理便于溯源;账户与历史记录使用 SQLite 本地入库,并提供**登录/注册(可跳过)**机制以兼顾安全与易用。算法层面支持 模型选择/权重加载(.pt 热切换),切换后类别信息与配色同步刷新;对比覆盖 **YOLOv5–YOLOv12(共 8 种)**模型,统一评测 mAP、F1、PR 曲线与训练曲线,为不同精度与实时性需求提供可复现的选型依据。文末提供完整工程与数据集下载链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的犬种识别软件》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)系统提供登录、注册与跳过三种入口,用户可按需求选择进入会话,且会话仅在当前运行周期内生效。登录后可直接进入主界面开始检测任务,跳过模式则以“轻量体验”优先,但仍保留导出与记录查看等核心能力。本地账户信息与历史记录统一由 SQLite 管理,配合口令校验与异常提示,兼顾使用便捷与基础安全。

(2)功能概况页用于快速理解系统当前状态与可用能力,博主更倾向把它当作“操作起点”。在这里可以一眼看到当前加载的模型信息、最近一次检测摘要、导出统计与常用参数的当前值,避免在不同页面来回确认。整体动线强调少跳转、少打断,用户通常从概况进入后续的模型选择或图片检测即可完成一次完整流程。
(3)选择模型支持从本地权重中切换当前推理模型,切换后类别信息与配色方案会同步刷新,避免不同模型间显示不一致带来的误判。模型更换后界面会保持一致的交互节奏,用户无需重新理解操作方式即可继续检测。常用配置会被本地保存,便于在不同任务间快速复用同一套偏好设置。
(4)选择图片后可快速完成推理并在主显示区叠加带框结果,框内同时展示类别名与置信度以便复核。用户可通过 Conf/IoU 等阈值调节观察结果变化,并支持对目标进行选择与高亮,从而更聚焦地检查关键犬只目标。检测结果可一键导出为带框图片与 CSV,保证复查与二次分析的连续性。
(5)概览界面集中展示近期检测记录、关键字段与导出入口,便于快速回看与定位。用户可以按文件名或时间快速找到对应任务,并对 CSV 行进行高亮定位以对应到可视化结果。概览与各检测页面之间共享记录视图,形成从查看历史到复现参数、再到重新导出的闭环体验。
2. 绪论
2.1 研究背景及意义
随着城市养犬规模扩大,犬类“识别与检测”逐步从趣味应用走向社区治理、犬舍管理与流浪犬巡查等更具约束条件的场景,其中“发现目标并判别犬种/犬类属性”的能力直接影响信息登记与风险预警的效率。3 在任务形态上,犬种识别往往呈现细粒度特征差异小、拍摄距离变化大、姿态多变与遮挡频繁等特点,这使得系统既需要较强的表征能力,也需要稳定的定位能力。1 Stanford Dogs 数据集为细粒度犬种识别提供了典型基准,其类别间相似性与背景复杂性与真实拍摄更接近,从而长期被用于检验模型的判别上限。1 Oxford-IIIT Pet 数据集进一步覆盖宠物类别并强调多任务属性(如分割/定位),为“宠物场景下的泛化与鲁棒性”提供了常用对照。2
在工程落地层面,犬类识别系统通常要面对“低门槛使用、可追溯管理与实时交互”的综合诉求:一方面希望用户在桌面端完成从数据导入、阈值调参到结果导出的闭环;另一方面又要求记录可回溯、操作可审计、数据可本地化保存以降低隐私与网络依赖风险。3 现有研究已尝试将 YOLO 等实时检测框架引入宠物场景,通过在检测速度与类别区分之间做权衡来满足在线识别需求,但在复杂光照、密集目标与长尾分布下仍存在误检漏检与稳定性挑战。4
因此,本文将“高精度实时检测”作为算法主线,并以桌面端交互系统承载从训练评测到部署推理的完整流程,使模型能力能够以可解释、可复查的方式服务于实际使用。5 同时,系统化地对比 YOLOv5–YOLOv12 等多版本模型,有助于从结构演进与性能指标(mAP、F1、PR 等)两个维度回答“在犬类识别任务中哪些设计更有效”的问题,从而为后续模型选择与部署策略提供依据。5 (百度学术)
2.2 国内外研究现状
围绕犬类识别这一任务,国内外研究普遍将难点归结为:犬种之间纹理与轮廓差异细微导致类间相似性高、不同拍摄距离导致目标尺度跨度大、户外场景中遮挡与运动模糊增加定位不确定性,以及数据分布呈长尾使得少样本犬种更易被混淆。6 在国内面向犬种识别的探索中,研究者通常强调“特征融合与判别增强”以缓解相似犬种混淆,但也指出在自然场景中仍需要更强的检测鲁棒性与可部署性。6 从数据与任务范式看,细粒度基准(如 Stanford Dogs)更容易暴露模型在“区分相近类别”上的瓶颈,而宠物数据集(如 Oxford-IIIT Pet)则更强调跨环境变化下的稳定性。1
在检测方法谱系上,两阶段检测器以候选区域为中心,通过分阶段特征抽取与分类回归取得较强精度代表,如 Faster R-CNN 等工作奠定了高精度检测范式。7 单阶段检测器强调端到端密集预测以提升速度,SSD 等方法推动了实时检测在工程场景的普及。8 为兼顾多尺度目标,FPN 通过金字塔特征融合显著改善小目标检测的特征表达,是后续多尺度结构的重要基础。9 在类别不平衡与难样本占主导的场景中,Focal Loss 通过重加权机制提升训练对难样本的关注度,为密集检测的稳定优化提供了通用工具。10
| 方法/模型 | 范式/家族 | 代表性数据集/基准 | 关键改进点(摘要) | 公开指标示例(原文口径) | 对犬类任务的启示 | 引用 |
|---|---|---|---|---|---|---|
| YOLOv8n | 单阶段,Anchor-free | COCO val2017 | 分离式检测头、强调速度-精度平衡 | mAP(50–95)=37.3;A100 TensorRT=0.99ms | 适合作为轻量基线,便于快速迭代与上线 | 20 |
| YOLO11n | 单阶段,Ultralytics YOLO | COCO | 强化骨干与颈部、优化训练流程 | mAP(50–95)=39.5;T4 TensorRT10=1.5ms;Params=2.6M | 在轻量规模下提升精度,适合桌面端实时预览 | 21 |
| YOLO12n | 单阶段,注意力为中心 | COCO val2017 | 区域注意力、R-ELAN、FlashAttention 等 | mAP(50–95)=40.6;T4 TensorRT=1.64ms;Params=2.6M | 进一步提升精度但速度有权衡,适合“研究/对比+可选部署” | 22 |
(arXiv)
在更偏“无锚与端到端”的方向上,FCOS 以全卷积密集预测实现 anchor-free 检测,为减少先验框设计成本提供了经典路线。12 CenterNet 将目标建模为关键点并结合回归分支完成检测,为提升小目标与拥挤场景的表达提供了另一种思路。13 在效率权衡方面,EfficientDet 通过复合缩放与双向特征融合(BiFPN)系统化地讨论了精度、参数量与计算量的协同关系,为边缘与轻量部署提供了可借鉴策略。11 Transformer 检测器以集合预测与全局建模为特点,DETR 将检测从手工后处理与复杂匹配中抽象出来,推动了端到端检测范式的讨论。14 面向实时应用,RT-DETR 将 DETR 系列向实时域推进,体现了“Transformer 结构与速度可用性”之间的持续优化方向。15 (arXiv)
以 YOLO 家族为主线的研究与工程生态在近年快速演进:YOLOv6 强调工业应用场景的训练与推理效率,体现了“部署友好型检测器”的工程取向。16 YOLOv7 通过可训练的 bag-of-freebies 等策略在实时检测上取得较强综合表现,反映出“训练策略与结构协同”对性能的重要性。17 YOLOv9 通过可编程梯度信息等设计探索更稳健的优化与泛化机制,指向“训练信号设计”在复杂数据分布下的价值。18 YOLOv10 进一步面向端到端实时检测提出优化方向,体现出“减少后处理依赖、提升吞吐”的趋势。19 在注意力组件更深度介入的路线中,YOLOv12 以注意力为中心的架构提升了公开基准上的精度,但也明确提示了训练稳定性与资源消耗的权衡,这对真实犬类场景的部署取舍具有直接参考意义。5 (arXiv)
从系统与部署研究看,算法性能并不等价于可用体验,桌面端应用更关注“推理延迟可预期、导出格式可兼容、结果可追溯”。23 Ultralytics 生态提供了从训练、验证到导出 ONNX/TensorRT 等多后端的标准化路径,使得同一套犬类识别模型能够在不同硬件与推理引擎间迁移并进行可重复的性能对比。23 同时,YOLOv5 等开源实现因其成熟的工程范式与社区资源,依然常被用作可复现的对照基线,便于在多版本对比中定位“精度提升来自结构还是来自训练配置”。24 (Ultralytics Docs)
2.3 要解决的问题及其方案
围绕“基于 YOLOv12 的犬类识别系统(桌面端)”这一目标,本文需要解决的问题主要体现在:(1)犬类目标在复杂背景、遮挡与尺度变化下的检测准确性与实时性难以同时满足;(2)不同犬种细粒度差异小且数据长尾显著,模型在跨场景泛化与相似类别区分上易出现混淆;(3)桌面端交互需覆盖图片、视频与本地摄像头等多源输入,并在阈值调参、目标高亮与结果复查上保持一致体验;(4)批量推理的效率、记录可追溯与本地存储安全性需要统一设计,以支撑对比实验、导出与后续复现。
对应地,本文给出的解决方案包括:(1)以 YOLOv12 为核心模型,并引入 YOLOv5–YOLOv12 多模型对比,通过迁移学习与数据增强提升准确性,同时以推理端优化与硬件加速策略保证实时性;(2)针对细粒度与长尾特性,采用更贴合任务的标注规范与训练策略,并结合混淆分析、PR/F1 指标与误例复查定位相似犬种的主要错误来源;(3)基于 PyTorch 推理链路与 PySide6/Qt 桌面交互实现端到端集成,支持多源输入互斥切换、Conf/IoU 同步调参、目标选择与可视化高亮;(4)以统一的结果结构组织推理输出,并通过时间戳命名、CSV 导出与本地数据库持久化实现可追溯管理,同时在工程实践中使用 PyCharm 完成训练、推理与界面联调。
2.4 博文贡献与组织结构
本文的主要贡献可概括为:(1)面向犬类识别应用场景,给出与细粒度差异、遮挡尺度变化与实时性要求相匹配的文献综述与问题抽象;(2)以 YOLOv12 为主线并扩展到 YOLOv5–YOLOv12 的多模型对比,形成可复现的训练、推理与评测流程;(3)设计并实现桌面端交互闭环,覆盖登录注册、模型热切换、多源输入推理、进度显示与结果导出等关键体验;(4)围绕 mAP、F1、PR 与训练曲线等指标给出更贴近工程选型的分析框架;(5)提供完整工程与数据资源组织方式,便于读者复现与二次开发。
在组织结构上,本文第 3 章将给出犬类数据集的构建、标注与增强策略并说明其与任务难点的对应关系;第 4 章围绕 YOLOv12 的检测机理、结构组件与损失建模展开说明;第 5 章对 YOLOv5–YOLOv12 的实验指标、曲线与误差案例进行对比分析;第 6 章从分层架构角度描述桌面端系统设计、账户会话、推理调度与数据持久化的实现要点并给出系统框图;第 7 章总结本文工作并讨论模型、系统与数据闭环的可扩展方向。
3. 数据集处理
本系统使用的犬种检测数据集总计 6975 张图片,其中训练集 6087 张、验证集 571 张、测试集 317 张,三者按固定划分策略组织以保证评测可复现。类别共 13 类,分别为 Akita(秋田犬)、Australian Shepard(澳大利亚牧羊犬)、Basset Hound(巴赛特猎犬)、Beagle(小猎犬)、Cavalier King Charles Spaniel(骑士查理王猎犬)、Corgi(柯基犬)、Dachshund(腊肠犬)、German Shepherd(德国牧羊犬)、Golden Retriever(金毛猎犬)、Husky(哈士奇)、Pitbull(斗牛犬)、Rottweiler(罗威纳犬)、Shibu Inu(柴犬);从训练批次可视化可以看出样本覆盖单犬近景、多目标同框、姿态变化与遮挡截断等情况,同时夹杂人物、道具与水印文字等背景干扰,这类分布更贴近真实使用环境,也更容易暴露细粒度犬种之间“外观相似导致的误判”问题。
Chinese_name = {'Akita': "秋田犬", 'Australian Shepard': "澳大利亚牧羊犬", 'Basset Hound': "巴赛特猎犬",
'Beagle': "小猎犬", 'Cavalier King Charles Spaniel': "骑士查理王猎犬",
'Corgi': "柯基犬", 'Dachshund': "腊肠犬", 'German Shepherd': "德国牧羊犬",
'Golden Retriever': "金毛猎犬", 'Husky': "哈士奇", 'Pitbull': "斗牛犬",
'Rottweiler': "罗威纳犬", 'Shibu Inu': "柴犬"}

标注采用 YOLO 系列常用的矩形框监督形式,框以归一化坐标表达,便于训练端与桌面端推理端共享同一套解析与坐标还原逻辑。结合标签统计图可以观察到类别实例数存在明显差异,整体呈现“头部类别偏多、尾部类别偏少”的长尾倾向(例如秋田犬样本更集中,而部分犬种相对更少),这会直接影响少样本类别的召回与混淆率,因此后续实验除总体 mAP/F1 外,博主更建议同步查看按类别的 PR 变化与混淆矩阵来定位“相似犬种互相误检”的来源。框的空间分布与宽高分布同样具有任务指向性:目标中心点在画面中呈现多簇聚集,宽高更集中在中等尺度区间但仍保留一定跨度,说明既存在远景小目标,也存在近景大目标,训练时需要让模型充分见到不同尺度与不同位置的犬只以降低漏检。
在预处理与增强策略上,为保证训练与部署一致性,输入通常统一到固定分辨率(如 640×640)并保持颜色空间与归一化口径一致;增强侧可沿用 Ultralytics YOLO 的默认组合并按任务难点做取舍,例如通过随机缩放与裁剪强化尺度鲁棒性,通过随机翻转与色彩扰动缓解光照变化与反光带来的外观漂移,通过拼接类增强提高密集目标与遮挡场景的覆盖率,同时配合基础清洗(损坏图像剔除、空标注与越界框校验、重复样本排查)来提升训练稳定性与评测可信度。这样处理后的数据既能支撑犬种细粒度区分,又能在桌面端的图片、视频与摄像头实时推理中保持更一致的表现。
4. 模型原理与设计
本文以 YOLOv12 作为犬种识别检测的主线模型:它仍遵循“一阶段检测器”的端到端范式,将输入图像统一缩放到固定分辨率后,在单次前向传播中同时完成候选框回归与类别预测,并通过后处理得到最终的犬只位置与犬种类别。对犬种数据而言,常见难点集中在尺度跨度(近景大目标与远景小目标并存)、遮挡与截断(只露出头部或半身)、毛色与体态相似导致的类间混淆,因此模型需要在多尺度表征、上下文建模与训练稳定性之间取得平衡。YOLOv12 的设计目标正是用更强的注意力建模能力补齐复杂场景的表达,同时把整体结构保持在可实时推理的计算预算内。(arXiv)
从结构上看,YOLOv12 依旧可抽象为“骨干网络—颈部特征融合—检测头”三段式:骨干负责逐级下采样并提取语义特征,颈部将不同尺度特征进行融合以增强小目标与密集目标的可检出性,检测头采用分类与回归解耦的思路分别输出类别置信度与边界框参数。其核心差异在于引入了以注意力为中心的模块与更易优化的聚合块:自注意力的基本形式可写为
A t t ( Q , K , V ) = s o f t m a x ! ( Q K T d ) V , \mathrm{Att}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^{\mathsf T}}{\sqrt{d}}\right)V, Att(Q,K,V)=softmax!(dQKT)V,
其中 Q , K , V Q,K,V Q,K,V 为查询、键和值, d d d 为通道维度;而 YOLOv12 的 Area Attention 通过把特征图按行或列划分为若干区域、在区域内计算注意力来减少计算与访存开销,使得注意力能在保持较大感受野的同时更贴近实时检测需求。另一方面,YOLOv12 使用 R-ELAN(Residual Efficient Layer Aggregation Networks)改造特征聚合路径,引入带缩放的残差捷径以缓解深层堆叠带来的优化不稳定,常用形式为 y = x + α F ( x ) y=x+\alpha F(x) y=x+αF(x),其中 F ( ⋅ ) F(\cdot) F(⋅) 表示块内聚合变换、 α \alpha α 为较小缩放系数以稳定训练。网络整体架构与关键模块示意可参考论文图示:
在检测任务建模与损失函数方面,系统输出的框通常用 ( x min , y min , x max , y max ) (x_{\min},y_{\min},x_{\max},y_{\max}) (xmin,ymin,xmax,ymax) 或中心点与宽高表示,并与标注框通过 IoU 系列目标进行对齐;以 CIoU 为例,常见形式为
L C I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v , \mathcal{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 α 为权重项。对于犬种检测这种“同属一类目标(狗)但细粒度类别多”的任务,分类分支更容易出现相近犬种之间的置信度拉扯,因此训练时通常需要保证类别标签与框回归同时收敛:一方面依赖多尺度特征与注意力增强局部纹理与上下文,另一方面依赖更合理的框监督(IoU 系损失)减少定位误差对分类学习的干扰,使最终输出更符合“框准、类也准”的系统目标。(arXiv)
训练与推理策略上,YOLOv12 在工程落地时通常配合适度正则与数据增强以提升泛化:例如随机尺度与裁剪应对尺度变化,颜色扰动缓解光照差异,随机翻转提升姿态鲁棒性;这些策略与犬只遮挡、反光、背景干扰等问题是直接对应的。推理阶段,系统侧以置信度阈值与 IoU 阈值控制候选框过滤与 NMS 抑制强度:较低的初始置信度阈值有利于召回被遮挡或远距离的小目标,但会带来更多相似犬种的误检;较高的 NMS IoU 阈值可以保留相邻目标(如多犬同框)但也可能引入重复框,因此在桌面端提供滑块实时调参,能够把“准确性—召回—稳定显示”三者在不同场景下动态平衡,从而形成可解释、可交互的检测闭环。(Ultralytics Docs)
5. 实验结果与分析
本章实验目标是在同一犬种数据集(共 6975 张,训练/验证/测试为 6087/571/317)与同一推理环境下,对 YOLOv5–YOLOv12 共 8 种模型进行横向对比,评估其在犬种检测任务上的精度上限与实时性边界。评测指标包含 Precision、Recall、F1、mAP@0.5(记为 mAP50)、mAP@0.5:0.95(记为 mAP50-95),并同时统计参数量、FLOPs 以及端到端时延分解(预处理、推理、后处理);所有时延均在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB) 上测得,便于与桌面端实时显示、导出等交互需求对齐。整体上,两组模型分别对应轻量部署(n 系)与更高精度上限(s 系),因此本节重点不是“谁绝对最好”,而是回答“在犬种细粒度、遮挡尺度变化与桌面端实时约束并存时,应该如何选型与调参”。
| 组别 | 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.9547 | 0.9403 | 0.9474 | 0.9653 | 0.7208 |
| n | YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.9648 | 0.9228 | 0.9433 | 0.9666 | 0.7809 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.9218 | 0.9292 | 0.9255 | 0.9433 | 0.6495 |
| n | YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.9680 | 0.9618 | 0.9649 | 0.9779 | 0.7778 |
| n | YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.9650 | 0.9561 | 0.9606 | 0.9791 | 0.8191 |
| n | YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.9473 | 0.9365 | 0.9418 | 0.9720 | 0.7946 |
| n | YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.9591 | 0.9528 | 0.9559 | 0.9739 | 0.7715 |
| n | YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 0.9590 | 0.9451 | 0.9520 | 0.9729 | 0.7886 |
| s | YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.9544 | 0.9721 | 0.9632 | 0.9761 | 0.7800 |
| s | YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.9686 | 0.9620 | 0.9653 | 0.9819 | 0.8488 |
| s | YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.9768 | 0.9848 | 0.9808 | 0.9935 | 0.8811 |
| s | YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.9703 | 0.9487 | 0.9594 | 0.9786 | 0.8065 |
| s | YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.9772 | 0.9706 | 0.9739 | 0.9839 | 0.8421 |
| s | YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.9514 | 0.9426 | 0.9470 | 0.9775 | 0.8343 |
| s | YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.9678 | 0.9655 | 0.9666 | 0.9843 | 0.8311 |
| s | YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.9738 | 0.9604 | 0.9671 | 0.9836 | 0.8537 |

从轻量组(n 系)看,YOLOv8n 在 Precision、Recall 与 F1 上表现最均衡(F1=0.9649),并保持较低的推理时延(Inf=6.83ms),更贴合桌面端“实时预览+滑块调参+结果导出”的交互节奏;其优势通常来自更成熟的训练配方与稳定的多尺度表征,使得在犬种细粒度区分时不易出现明显偏科。YOLOv9t 的 mAP50 与 mAP50-95 均为 n 组最高(0.9791/0.8191),说明其对“定位质量与高 IoU 区间”更有利,适合对导出结果质量要求更高、允许略高延迟的场景;但其推理时延明显增加(Inf=16.51ms),在摄像头实时推理中更容易成为帧率瓶颈。YOLOv7-tiny 的速度与后处理开销都不占优(Inf=14.74ms,Post=4.06ms)且精度最低,体现出“结构轻量并不必然带来端到端实时”,这也提示工程侧应以端到端分解时延而非仅参数量作为选型依据。
从更高容量组(s 系)看,YOLOv7 给出了本任务的精度上限(mAP50=0.9935,mAP50-95=0.8811,F1=0.9808),这类结果在细粒度犬种检测中往往意味着分类分支能够更稳定地区分相似外观,同时回归分支也能在更严格 IoU 下保持更高的框质量;但其推理时延最高(Inf=23.62ms),更适合离线批处理或“精度优先”的场景。若强调实时性与精度的折中,YOLOv6s 与 YOLOv12s 提供了更具工程可用性的平衡:前者在较快推理下(Inf=8.59ms)取得较高 mAP50-95(0.8488),后者在同等参数量级下进一步抬升高 IoU 区间表现(mAP50-95=0.8537)但推理耗时更高(Inf=13.23ms),说明注意力增强路线在“更严定位”上更占优,同时也更吃算力与实现优化。结合桌面端需求,博主更建议把 s 系作为“高质量导出或对比评测”的默认组,把 n 系作为“摄像头实时与交互体验”的默认组,通过模型热切换实现一套系统内的场景自适应。
从误差结构与可解释性角度,归一化混淆矩阵显示绝大多数犬种类别都集中在对角线高值区间,说明整体分类稳定;但仍能观察到少量样本被分到 background 或被相近犬种吸收的现象,这与数据集中存在遮挡、截断、以及仅露出局部纹理等情况一致。

PR 曲线进一步揭示了类别间差异:大多数犬种的曲线在高召回区间仍能保持较高精度,而 Golden Retriever 等类别的 AP 相对偏低,典型原因包括毛色纹理与其他长毛犬种的相似性、背景干扰导致的置信度波动,以及该类样本在尺度与姿态上的覆盖不足;这类现象在系统层面可以通过“目标高亮与误例回看”快速定位,并在数据层面通过补充难例与做针对性增强来修复。

F1-Confidence 曲线给出的全局最优点约在置信度 0.55 附近(全类 F1 约 0.97),因此在桌面端默认阈值设置上,建议将 Conf 从经验值 0.25 逐步上调到 0.5 左右再微调,以减少背景误检同时尽量不牺牲召回;这也解释了为什么系统需要把 Conf/IoU 作为实时滑块暴露给用户,而不是固定在代码中。
6. 系统设计与实现
6.1 系统设计思路
本系统面向犬种目标检测的实际应用需求,采用“桌面端交互界面 + 统一检测引擎适配层 + 多源媒体接入”的整体方案。前端以 PySide6/Qt 构建交互式 GUI,完成数据源选择、阈值调节、检测画面展示与结果记录;后端将不同系列 YOLO 模型封装到统一的检测接口中,使得模型替换与参数调整对上层透明,从而形成“载入即用、可扩展、可迁移”的工程形态。
在运行机制上,系统将“图片/视频/摄像头”等输入统一抽象为帧流,并通过事件驱动的方式将每一帧送入推理主流程。为避免多源同时输出导致资源争用,系统在切换输入源时执行互斥控制,确保同一时刻仅有一个源处于活跃状态;随后对输入进行尺寸标准化(如 640×640)、动态加载置信度与 IoU 阈值,完成前向推理与后处理,并将检测框、类别与置信度叠加到画面中,同时写入表格并更新进度与用时统计,最后支持将可视化结果与表格记录导出保存。
从实现结构上,系统按职责划分为表现与交互、业务与会话管理、推理与任务调度、数据持久化四类模块:界面层负责控件组织与可视化呈现;业务层负责会话状态、参数维护与多源调度;推理层串联预处理、模型推理与后处理;持久化层将检测记录与用户信息写入本地存储,并提供结果导出与日志接口。通过 Qt 的信号槽机制实现模块解耦,既保证了界面响应性,也为后续扩展(如增加新模型、新任务或更丰富的统计报表)预留了清晰的演化路径。

图 6-1 系统流程图

图 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 KHOSLA A, JAYADEVAPRAKASH N, YAO B, et al. Novel Dataset for Fine-Grained Image Categorization: Stanford Dogs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (FGVC). 2011. (people.csail.mit.edu)
2 PARKHI O M, VEDALDI A, ZISSERMAN A, et al. Cats and Dogs[C]//2012 IEEE Conference on Computer Vision and Pattern Recognition. 2012. (robots.ox.ac.uk)
3 王稼祥. 基于深度学习的宠物狗检测与识别研究[D]. 河南师范大学, 2021. (百度学术)
4 黄雪蕾, 翟洪娟. 基于YOLO特征检测模型的非法溜宠物识别[J]. 软件工程与应用, 2023. (hanspub.org)
5 QIAN C, DONG B, YUAN C, et al. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
6 于奥运. 基于深度学习的犬种识别研究[D]. 中北大学, 2018. (万方数据)
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. (arXiv)
8 LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2016. (arXiv)
9 LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature Pyramid Networks for Object Detection[EB/OL]. arXiv:1612.03144, 2017. (arXiv)
10 LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (arXiv)
11 TAN M, PANG R, LE Q V. EfficientDet: Scalable and Efficient Object Detection[EB/OL]. arXiv:1911.09070, 2019. (arXiv)
12 TIAN Z, SHEN C, CHEN H, et al. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (arXiv)
13 ZHOU X, WANG D, KRÄHENBÜHL P. Objects as Points[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
14 CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (arXiv)
15 LV W, XU S, ZHAO Y, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023. (arXiv)
16 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)
17 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]//CVPR. 2023. (CVF开放获取)
18 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)
19 WANG A, CHEN H, LI S, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
20 Ultralytics. 探索 Ultralytics YOLOv8[EB/OL]. 2023. (Ultralytics Docs)
21 Ultralytics. Ultralytics YOLO11(性能指标页)[EB/OL]. 2024-2025. (Ultralytics Docs)
22 Ultralytics. YOLO12:以注意力为中心的目标检测(性能指标页)[EB/OL]. 2025. (Ultralytics Docs)
23 Ultralytics. 使用 Ultralytics YOLO 导出模型[EB/OL]. 2025. (Ultralytics Docs)
24 Ultralytics. ultralytics/yolov5(GitHub 仓库)[EB/OL]. 2020–2025. (GitHub)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)