遇见 YOLO26: 下一代视觉 AI。
Ultralytics
指南

如何训练 Ultralytics YOLO 模型以检测野外动物

了解如何训练 YOLO 模型以使用非洲野生动物数据集检测野外动物,并使用该模型对未见过的图像进行推理。

ABAbirami Vina
5 min read
训练 Ultralytics YOLO 模型以检测野外动物

地球上的野生动物种类繁多,从嗡嗡作响的蜜蜂到高大的大象,保护这种生物多样性对于维持生态系统的平衡至关重要。然而,由于栖息地丧失、偷猎和气候变化,保护工作正变得越来越具有挑战性。所有这些因素都对野生动物种群产生了负面影响。

传统的动物监测方法,如手动分析红外相机图像和进行实地调查,速度慢且需要大量资源。这些方法往往无法有效地覆盖大范围区域和庞大的种群。

为了克服这些局限性,人工智能 (AI) 可以成为野生动物保护领域的一种有力工具。具体来说,像 Ultralytics YOLO11 这样的计算机视觉模型可以分析图像和视频等视觉数据,从而实现动物的实时识别和跟踪自动化。

YOLO11 支持的目标检测和实例分割等计算机视觉任务在此处非常有用。通过分析视觉数据,这些任务有助于我们收集关键数据,识别生态模式,并更有效地应对环境威胁。

在本文中,我们将引导你完成训练 YOLO11 以检测动物的过程。让我们开始吧!

Link to this section开始使用 Ultralytics YOLO11#

在深入本教程之前,让我们先了解一下训练和使用 YOLO11 所需的不同设置选项和工具。

你需要的主要工具是 Ultralytics Python 软件包,它使得处理 YOLO 模型以进行训练、目标检测和运行推理等任务变得非常容易。要使用 Ultralytics 软件包,你需要设置一个运行代码的环境,你可以从中选择多种选项。

以下是一些用于搭建开发环境的最常用选项:

  • 命令行界面 (CLI):CLI(也称为终端)是一种基于文本的工具,允许你通过输入命令与计算机进行交互。与通过点击按钮和使用鼠标操作的图形界面 (GUI) 不同,CLI 要求你输入文本指令来运行程序或执行任务。
  • Jupyter Notebooks:这些笔记本允许你以称为“单元格”的小片段形式编写和运行代码。它是交互式的,意味着你可以立即看到代码的输出,从而更容易进行测试和调试。
  • Google Colab:Google Colab 是一个基于云的平台,其工作方式类似于 Jupyter Notebooks,但提供免费的强大 GPU 使用权限。它设置简单,无需在你的计算机上安装任何东西。

虽然还有其他设置环境的选项,你可以在官方 Ultralytics 文档中探索,但上述三个选项需要的设置极少且易于使用,非常适合快速入门。

在本教程中,我们将展示如何使用 Google Colab、Jupyter Notebooks 或简单的 Python 文件来设置和训练 YOLO11,因为在所有这些环境中步骤都非常相似。

Link to this section了解非洲野生动物数据集#

选择好开发环境后,为了专门训练 YOLO11 来检测野生动物,我们需要一个高质量的标注图像数据集。每张图像都应清晰地显示动物的位置及其类型,以便模型能够通过监督学习学会识别它们。

在本教程中,我们将使用非洲野生动物数据集。它受 Ultralytics Python 软件包支持,专为检测非洲生态系统中常见的动物而设计。它包含四种关键物种的标注图像:水牛、大象、犀牛和斑马。

非洲野生动物数据集一览

图 1. 非洲野生动物数据集一览。

以下是非洲野生动物数据集的一些关键特征:

  • 规模: 该数据集包含 1504 张图像,分为三个子集:1052 张用于训练,225 张用于验证,227 张用于测试。这种划分确保了模型能够有效学习并得到彻底评估。
  • 无缝集成: Ultralytics 提供了一个 YAML 配置文件,用于定义数据集路径、类别和其他详细信息,使训练 YOLO 模型时使用起来非常方便。
  • 开放许可: 该数据集根据 AGPL-3.0 许可证分发,鼓励透明度和协作。

Link to this section训练 Ultralytics YOLO11 进行动物检测#

现在我们已经探索了非洲野生动物数据集,可以开始训练 YOLO11 模型来检测图像中的动物了。该过程包括设置开发环境、训练 YOLO11 模型以及评估模型性能。

Link to this section第 1 步:设置环境#

首先,我们将准备一个环境来训练和测试模型。根据你的偏好,可以使用 Google Colab、Jupyter Notebooks 或简单的 Python 文件。请相应地创建一个新的 Google Colab 笔记本、Jupyter Notebook 或 Python 文件。

如果你使用的是 Google Colab,该环境默认在 CPU(中央处理器)上运行,这可能会拖慢训练速度。为了加快进程(特别是针对较大的模型),你可以切换运行时以使用 GPU。在 Google Colab 中,你可以导航到菜单中的“运行时”选项卡,选择“更改运行时类型”,并将硬件加速器设置为 GPU(最好是 T4 GPU)。这对缩短训练时间非常重要。

接下来,无论使用哪种环境,你都需要安装 Ultralytics Python 软件包。如果你使用的是基于笔记本的环境(Google Colab 或 Jupyter),请在开头使用感叹号 (!) 运行以下命令。

pip install ultralytics

Link to this section第 2 步:加载 YOLO11 并准备数据集#

安装 Ultralytics 软件包后,下一步是加载 YOLO11 模型并准备用于训练的数据集。首先,我们加载已经在通用目标检测任务上预训练过的 YOLO11 模型。这个预训练模型为我们提供了一个良好的起点,因为它已经学会了如何检测各种对象。

然后,我们使用 YAML 文件指定数据集,该文件包含有关图像和标签的信息。此文件告诉模型在哪里可以找到数据集以及它应该学会识别哪些对象。

非洲野生动物数据集受 Ultralytics 软件包支持,因此它会在你开始训练时自动下载,省去了手动设置的麻烦。

数据集准备就绪后,模型开始训练。模型将多次遍历数据集(这一过程称为跨多个轮次 (epochs) 的训练),以提高其识别图像中动物的能力。在此过程中,图像将被调整为一致的大小以进行处理,并且模型将一次处理一组图像(称为批次 (batch))。这有助于模型更高效地学习。

简而言之,当你运行下面的代码片段时,模型会被加载,数据集会自动下载,训练程序会启动以基于非洲野生动物数据集检测动物。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)

Link to this section第 3 步:YOLO11 训练流程指南#

一旦运行了上面的代码片段,模型就会根据我们给出的设置开始训练。我们通过代码告诉模型将训练图像遍历 30 次。这意味着模型将查看数据集中的所有图像 30 次,每一次学习都会比上一次有所进步。

想象一下你正在尝试学习如何画一只动物。第一次画的时候,可能看起来不太好,但经过反复练习,你会开始变得更好。每次重试时,你都会从出错的地方吸取教训并进行修正。这就是每个轮次 (epoch) 对模型所做的事情——它查看图像,犯错,从中学习,并且每次在识别动物方面都变得更好。

如果训练代码运行成功,随着训练的进行,你将看到以下输出:

  • 训练设置:第一部分显示了 Ultralytics、PyTorch 的版本以及正在使用的硬件(在本例中为 CPU),以及训练配置,包括模型 (yolo11n.pt)、批次大小、轮次和图像大小。
  • 模型摘要:它提供有关模型复杂性的信息,例如层数和参数量,显示模型的大小。
  • 优化器和学习率:它提到了优化器(例如 AdamW)和学习率,它们控制模型在训练期间如何调整其参数。
  • 数据集扫描:模型扫描数据集,显示有多少图像有效并准备好进行训练。它确认数据集没有问题。
  • 训练进度:输出在每个轮次(训练周期)后更新,显示训练进度以及关键损失值(box_loss、cls_loss、dfl_loss),这些值表明模型学习的效果。
  • 性能指标:每个轮次后,你将看到精度 (precision)、召回率 (recall) 和 mAP(平均精度均值)等性能指标。这些值显示了模型在检测和分类对象方面的准确程度。
  • GPU 内存使用情况:如果你使用的是 GPU,输出会显示内存使用情况,以跟踪硬件利用率。

模型训练过程中你会看到的输出

图 2. 模型训练运行时你将看到的输出。

Link to this section第 4 步:评估自定义训练模型的性能#

训练过程完成后,你可以查看并验证模型的性能指标。在 Google Colab 中,你可以导航到“runs”文件夹,然后进入“detect”文件夹,最后进入“train”文件夹,在那里你会找到显示关键性能指标的日志。

对于 Python 环境中的用户,训练结果默认保存在你当前工作目录中的“runs/train/”目录下。每次训练都会创建一个新的子目录(例如 runs/train/exp、runs/train/exp2 等),你可以在其中找到与训练相关的日志和其他输出。

如果你使用的是 CLI,可以通过使用“yolo settings”命令轻松访问这些结果和设置,该命令允许你查看或修改与训练日志和实验详情相关的路径及其他配置。

在日志中,你还可以找到一些图表,可以分析这些图表以了解模型训练过程的进展情况。这些在训练完成后创建的图表显示了模型是否通过减少错误并变得更准确而随时间有所改进。

它们跟踪模型的进度,显示训练期间损失(模型预测与实际值之间的差异)是如何下降的,以及准确率是如何提高的。这有助于你了解模型学习识别动物的效果如何,以及到训练结束时它改进了多少。

你可以用来评估模型的图表示例

图 3. 你可以分析用于评估模型的图表示例。

Link to this section关键性能评估指标#

此外,以下是你可以用来评估模型性能的一些指标的详细介绍:

  • 平均精度均值 (mAP): 该指标通过对不同召回率水平下的精度得分取平均值,衡量模型在所有类别中检测动物的整体准确性。
  • 精度 (Precision): 这代表检测正确的百分比,计算方法是用真阳性检测数量除以检测总数。
  • 召回率 (Recall): 它表示模型正确识别出的图像中实际动物的百分比,反映了其捕捉所有相关实例的能力。

这些评估指标可以帮助微调模型,从而在将其应用于现实世界之前提高准确性。

Link to this section使用你自定义训练的 YOLO11 模型运行推理#

现在我们已经训练并评估了 YOLO11,是时候使用它来分析图像并运行推理了。你可以使用数据集中的测试图像或来自不同来源的新图像。

我们将使用以下代码片段在测试数据集中的图像上运行模型。它从 Ultralytics 库导入了必要的模块。然后它定义了存储在结果目录中的最佳模型权重文件(“best.pt”)的路径。自定义训练的 YOLO11 模型会使用这些权重加载。

之后,设置非洲野生动物测试数据集中某张图像的路径。模型被应用于此图像进行目标检测,结果被生成,输出(例如检测到的对象或标注)被保存。

from ultralytics import YOLO, settings

best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"
img_results = model(image_path, save=True)

下方显示的输出图像将保存在 runs/detect 目录下的“predict”文件夹中。对于后续测试,将创建“predict2”、“predict3”等新文件夹来存储图像。

在测试图像上使用微调后的 YOLO11 模型进行推理

图 4. 使用微调后的 YOLO11 模型在测试图像上运行推理。

要测试来自不同来源的图像,你可以使用下面的代码。我们使用了一张来自 Pexels 的图像。你可以使用同一张图像或任何其他相关图像。

from ultralytics import YOLO

best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)

下方显示的输出图像将保存在相应的文件夹中。

在未见过的图像上使用微调后的 YOLO11 模型进行野生动物检测

图 5. 使用微调后的 YOLO11 模型在未见过的图像上检测野生动物。

Link to this sectionAI 在野生动物保护领域的应用:现实世界的应用场景#

像 YOLO11 这样的模型可以自动检测和跟踪动物,这使得各种实际应用成为可能。以下是视觉 AI 可用于支持野生动物保护工作的关键领域概览:

  • 物种监测: 视觉 AI 可用于处理图像和视频等视觉数据,以准确识别物种、统计种群数量并随时间跟踪它们的活动。
  • 智能相机警报: 在偏远地区,计算机视觉可用于持续对动物进行分类并发送实时警报,使野生动物管理部门能够对异常动物行为或人与野生动物冲突等威胁做出快速响应。
  • 行为分析: 通过监测迁徙、觅食习惯和社会互动,视觉 AI 系统可以提供关于物种间动态的全面见解。
  • 防止偷猎: 视觉 AI 可用于检测未经授权的人类活动和偷猎迹象,同时利用机器学习和历史数据来精确定位风险高发区。

Link to this section关键要点#

像 YOLO11 这样的计算机视觉模型可以通过自动化动物检测和跟踪在野生动物保护中发挥关键作用。借助视觉 AI,我们可以处理来自各种来源的大量图像和视频,从而使进行准确的野生动物评估成为可能。

尤其是 Ultralytics YOLO11,它是实时目标检测的绝佳选择,使其非常适合反偷猎监视、行为分析和生态系统监测等任务。通过将 AI 驱动的模型融入保护工作中,我们可以更好地保护物种、改进生物多样性跟踪,并做出更明智的决策以保护濒危野生动物。

加入我们的社区并探索 GitHub 存储库以了解更多关于计算机视觉的知识。在我们的解决方案页面上发现更多与 AI 在医疗保健中的应用计算机视觉在制造业中的应用相关的应用。查看 Ultralytics 许可选项以开始使用视觉 AI。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅