1. 引言
野生动物是地球上不可缺少的一部分,对它们的保护和管理对于维持生物多样性至关重要[1]。传统的依靠肉眼观测的野生动物监测方式效率低下且容易产生误差。随着计算机视觉与人工智能技术的快速发展,基于深度学习的自动目标识别技术为高效、准确的野生动物监测提供了新的解决方案。
在目标检测领域,YOLO (You Only Look Once)系列算法因其快速的推理速度和良好的精度而备受关注。其中,YOLOv8作为该系列的最新版本之一,集成了多种先进的网络结构和训练技巧,在精度和速度上实现了更好的平衡[2]。
目前,已有许多研究者将深度学习技术应用于动物识别。例如,史春妹等人[3]实现了东北虎个体的自动识别;杨铭伦等人[4]利用YOLOv5模型对红外相机拍摄的野生动物图像进行识别。然而,将高性能的检测模型与易用的软件系统相结合,为生态监测人员提供一站式解决方案的研究仍有深入探索的空间。
针对上述背景,本文旨在构建一个面向多类野生动物的智能检测识别系统。本文的主要贡献包括:(1) 构建了一个包含10类常见野生动物的标准图像数据集;(2) 基于YOLOv8模型完成了动物检测模型的训练与性能评估,模型表现优异;(3) 设计并实现了一个集成了多种检测模式和用户管理功能的Web系统,提升了技术的实用性和易用性。
2. 相关研究
2.1. 目标检测算法演进
目标检测是计算机视觉的核心任务之一,其发展经历了从传统方法到基于深度学习方法的演变。传统目标检测算法,如基于HOG (方向梯度直方图) [5]、SIFT (尺度不变特征变换)和LBP (局部二值模式) [6]等特征的方法,通常需要人工设计特征提取器,并采用滑动窗口策略进行区域搜索。这类方法计算复杂度高,且特征表达能力有限,在复杂场景下的检测效果和稳定性往往不尽如人意。
随着深度学习,特别是卷积神经网络(CNN)的兴起,目标检测技术进入了新的阶段。基于CNN的检测算法能够自动学习图像的多层次特征,具有更强的泛化能力和鲁棒性。当前主流的两阶段检测算法(如R-CNN系列)首先生成候选区域,然后对候选区域进行分类和回归,精度较高但速度相对较慢。而单阶段检测算法(如YOLO系列、SSD)则将目标检测视为回归问题,直接在图像上预测边界框和类别,速度优势明显,近年来精度也得到大幅提升。
2.2. 智能识别系统研究现状
智能识别系统已被广泛应用于工业检测、安防监控、生物医学等多个领域。在动物识别及相关领域,邹旷[7]开发了基于深度学习的焊缝缺陷识别系统。张炎鑫[8]搭建了带交互窗口的通用物体图像识别平台。周意[9]则开发了基于深度学习技术的牛脸识别系统,提供了牛只监控、模型训练和信息管理的交互界面。这些研究体现了深度学习技术与实际应用场景相结合的趋势,并强调了用户体验在系统设计中的重要性。
综上所述,YOLO系列算法凭借其优越的速度与精度平衡,已成为实时目标检测的首选方案之一。同时,构建集成了高效算法与友好界面的实用系统,是将研究成果转化为生产力的关键环节。本文工作正是在此背景下,聚焦于野生动物保护的具体需求,开展从算法选型、模型训练到系统实现的全流程研究。
3. 动物检测识别方法
3.1. 动物图像数据集构建
数据是深度学习模型的基础。本研究的数据集来源包括网络爬取和Kaggle公开数据集,最终共收集了3826张野生动物图像。数据集涵盖了鸟(水鸟)、水牛、大象、狐狸、鬣狗、豹、狮子、犀牛、老虎和斑马等10个类别。按照0.8:0.1:0.1的比例,将数据集划分为训练集(3060张)、验证集(383张)和测试集(383张)。
数据标注采用LabelImg工具进行,在每张图片上标注出动物目标的位置边界框,并指定其类别。标注结果以YOLO格式保存,即为每张图像生成一个同名的.txt文件,文件中包含物体类别索引和归一化后的边界框中心坐标及宽高信息。
3.2. 模型训练与评估
3.2.1. 环境配置与训练
模型训练在表1所示的软硬件环境下进行。深度学习框架采用PyTorch,并基于Ultralytics提供的YOLOv8开源库进行模型开发。
Table 1. Software and hardware environment configuration
表1. 软硬件环境配置
配置项 |
项目值 |
操作系统 |
Microsoft Windows 10 |
CPU |
AMD Ryzen 7 5800H |
GPU |
NVIDIA GeForce RTX 3070 |
编程语言 |
Python |
深度学习框架 |
PyTorch |
训练关键参数设置如下:使用YOLOv8预训练权重进行迁移学习,训练轮数(epochs)为200,批次大小(batch size)为16,优化器选用SGD,初始学习率为0.01。
3.2.2. 性能评估与结果分析
训练完成后,使用测试集对模型性能进行评估。采用平均精度均值(mAP)、精确率(Precision)、召回率(Recall)等作为主要评价指标。模型在测试集上的整体性能优异,mAP@0.5达到了0.957。
Figure 1. Precision-recall curve
图1. 精确率–召回率曲线
图1展示了精确率–召回率(P-R)曲线。可以看出,除鸟类(AP = 0.521)外,其他各类别的AP值均非常高,特别是鬣狗和水牛的AP值超过了0.97。所有类别的综合mAP@0.5为0.925,证明了模型优秀的整体检测性能。
Figure 2. Training process metrics
图2. 训练过程指标
图2展示了训练过程中的损失函数下降曲线和指标变化曲线,训练损失和验证损失均平稳下降,精确率、召回率和mAP值持续上升至较高水平并趋于稳定,表明模型训练过程有效,未出现明显的过拟合现象。
为了对比,本研究还训练了Fast R-CNN和YOLOv5模型。如图3的柱状图所示,YOLOv8模型在mAP指标上均优于对比模型,验证了其在本任务上的有效性。
Figure 3. Model performance comparison histogram
图3. 模型性能对比柱状图
4. 需求分析与系统设计
4.1. 需求分析
功能需求:
(1) 系统需支持图片、视频和摄像头实时流三种模式的动物检测;
(2) 需提供用户注册、登录、权限管理功能;
(3) 需对识别结果进行记录、存储、查询和统计展示。
性能需求:
(1) 检测识别应准确、快速,能够适应不同质量和场景的图像。
可行性:
(1) 技术层面,YOLOv8和Django框架成熟稳定;
(2) 经济层面,主要依赖开源工具和通用硬件,成本可控;
(3) 操作层面,基于Web的界面易于使用。
4.2. 系统设计
系统总体设计遵循模块化原则,主要功能模块包括用户管理模块、检测识别模块(集成图片、视频、摄像头检测)、数据管理模块(图片/结果管理)和系统信息统计模块。系统总体架构如图4所示。
Figure 4. System overall design diagram
图4. 系统总体设计图
系统采用B/S架构,后端使用Python Django框架处理业务逻辑和模型推理,前端使用HTML、CSS和JavaScript构建用户界面,数据库使用MySQL持久化存储用户信息和检测记录。
数据库设计主要包含两个核心实体:用户和识别结果。用户实体记录用户名、密码(加密)、角色等信息。识别结果实体记录图片/视频名称、存储路径、识别结果(JSON格式,包含类别、置信度、位置等)、所属用户、创建时间等。用户与识别结果为一对多关系。
5. 系统实现
系统开发环境和模型训练环境(见表1),并增加了Django、MySQL等Web开发组件。基于此,主要实现了如下核心功能:
(1) 用户登录注册:实现了基于会话的用户认证机制。前端通过Ajax向后端发送登录/注册请求,后端验证信息后返回结果。
(2) 图片识别:用户在前端上传图片后,后端接收文件并保存至指定目录,随后调用封装好的YOLOv8模型推理函数对图片进行检测,将识别结果(标注了边界框的图片和识别信息)保存,并将相关信息存入数据库。识别结果随后返回并展示在前端界面。图5为图片识别功能界面示意图。
Figure 5. Image recognition interface
图5. 图片识别界面
(3) 视频识别:原理与图片识别类似。系统使用OpenCV库读取上传的视频文件,逐帧调用YOLOv8模型进行推理,并将带有检测结果的帧合成为新的视频文件供用户查看和下载。
(4) 摄像头实时识别:基于WebRTC或HTML5的getUserMedia API获取用户摄像头视频流,并通过前端技术(如Canvas)和后端推流技术,实现近实时的逐帧检测与结果回显。
(5) 数据管理与统计:实现了图片管理(查询、删除历史识别记录)和用户管理(管理员对用户增删改查)功能。
6. 研究结论
本文成功设计并实现了一个基于YOLOv8深度学习模型的动物检测识别系统。在数据集与模型方面,研究构建了一个涵盖10类野生动物、规模超过3000张图像的数据集,并基于该数据集训练得到的YOLOv8模型在测试集上取得了0.957的mAP@0.5,表明模型能够高效、准确地完成野生动物检测任务。在系统开发方面,研究采用Django框架开发了功能完善的Web系统,该系统集成了用户管理、图片与视频及实时摄像头检测、识别结果管理与统计分析等多个模块,通过友好的人机交互界面使非专业用户也能便捷使用动物识别技术。在系统价值方面,本系统将先进深度学习模型与实用软件工程相结合,为野生动物研究人员与保护工作者提供了便捷高效的工具,有助于提升生态监测的自动化与智能化水平,对动物保护及生态研究具有积极的实践意义。
需要指出的是,尽管系统取得了预期成果,仍在某些方面存在进一步优化的空间,例如对鸟类等小目标或形态多变目标的检测精度尚需提升。未来可考虑通过增加更多物种和复杂场景数据以增强模型泛化能力,并进一步探索模型轻量化部署,以适应移动端与边缘计算设备的应用需求。
基金项目
2025~2026年度河北省统计科学研究计划项目,项目编号:2025HY03。