动物姿态识别+数据集+代码

简介: 动物姿态识别+数据集+代码

介绍

  • 这是基于《野外动物姿势》所做的工作。
  • 它包含了动物姿态数据集的介绍、标注文件和代码。
  • 动物姿态数据集是第一个用于通用动物姿势估计的大规模数据集。它包含了来自23个动物家族和54个物种的10,015张图像,具有高质量的关键点标注。
  • 我们还包含了约50,000张带有家族和物种标签的图像。该数据集可用于监督学习、跨领域迁移学习、家族内和家族间领域等。它还可用于自监督学习、半监督学习等。标注文件采用COCO风格提供


e8b3ea8b1afe7d55621a67218c030aab_bdd14b851ba34e58adb2cfae980ba9e5.png

关键点定义

具体定义如下:

背景

环境安装

步骤 0. 从官方网站下载并安装Miniconda。

步骤 1. 创建并激活一个conda环境。

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

步骤 2. 安装PyTorch,按照官方说明进行操作,例如:

在GPU平台上:

conda install pytorch torchvision -c pytorch

此命令将自动安装最新版本的PyTorch和cudatoolkit,请检查它们是否与您的环境匹配。

在CPU平台上:

conda install pytorch torchvision cpuonly -c pytorch

安装

我们建议用户按照我们的最佳实践安装MMPose。然而,整个过程是高度可定制的。请查看“自定义安装”部分以获取更多信息。

最佳实践

步骤 0. 使用MIM安装MMCV。

pip install -U openmim
mim install mmcv-full

数据及代码使用

数据集准备

请从下载部分下载数据集,并将其解压缩到data文件夹下,例如:

mkdir data
unzip ap-10k.zip -d data/
mv data/ap-10k data/ap10k

解压后的数据集应该如下所示:

AP-10K
├── mmpose
├── docs
├── tests
├── tools
├── configs
|── data
    │── ap10k
        │-- annotations
        │   │-- ap10k-train-split1.json
        │   |-- ap10k-train-split2.json
        │   |-- ap10k-train-split3.json
        │   │-- ap10k-val-split1.json
        │   |-- ap10k-val-split2.json
        │   |-- ap10k-val-split3.json
        │   |-- ap10k-test-split1.json
        │   |-- ap10k-test-split2.json
        │   |-- ap10k-test-split3.json
        │-- data
        │   │-- 000000000001.jpg
        │   │-- 000000000002.jpg
        │   │-- ...

推理

可以从HRNet-w32、HRNet-w48、ResNet-50、ResNet-101下载检查点。

python tools/test.py <CONFIG_FILE> <DET_CHECKPOINT_FILE>

训练

bash tools/dist_train.sh <CONFIG_FILE> <GPU_NUM>

例如,要在1个GPU上训练HRNet-w32模型,请运行:

bash tools/dist_train.sh configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_w32_ap10k_256x256.py 1


关键问题

1. 数据集的创建目的是什么?

数据集的创建旨在促进动物姿势估计领域的研究。在更多来自不同物种的训练数据可用的情况下,有必要研究一些具有挑战性的问题,比如:


1)不同代表性人体姿势模型在动物姿势估计任务上的性能如何?

2)深度模型的表征能力是否受益于在具有不同物种的大规模数据集上的训练?

3)在具有不同物种的大规模数据集的背景下,预训练(例如在ImageNet数据集或人体姿势估计数据集上的预训练)的影响如何?

4)在使用来自特定物种或家族的数据训练的模型中,模型的家族内和家族间泛化能力如何?


然而,先前用于动物姿势估计的数据集包含有限数量的动物物种。因此,使用现有数据集无法研究这些问题,因为它们包含的最多只有5种物种,这远远不足以得出可靠的结论。相比之下,数据集包含23个家族和54个物种,因此可以帮助研究人员研究这些问题。


2. 是否进行了数据清理?

我们使用aHash算法检测相似图像并进行手动检查,删除了重复的图像。手动删除了有重叠和标志的图像。清理后的图像被分类到不同的物种和家族中。


3. 关键点如何指导进行标注?


  • 标注者首先了解动物的相貌、体型和关键点分布。然后,给标注者展示每个物种的五张图像,用于标注关键点,这些标注用于评估其标注质量。具有良好标注质量的标注者进一步接受培训,了解如何处理由于遮挡导致的身体部分的部分缺失,并参与后续的标注过程。标注者被要求标注所有可见的关键点。对于被遮挡的关键点,他们被要求标注他们可以根据身体结构、姿势和身体的对称性估计的关键点,其中可以从可见的肢体或关键点推断出被遮挡的肢体的长度或被遮挡的关键点的位置。其他关键点则保持未标记。
  • 为了确保标注质量,我们采用了顺序标注策略。进行了三轮交叉检查和校正,包括手动检查和自动检查(根据特定规则,例如,属于同一实例的关键点位于同一边界框中),以减少可能的错误标注。首先,标注者标注了每个实例的关键点,并向经验丰富的高级标注者提交了版本-1标签,然后经验丰富的高级标注者检查了版本-1标签的质量,并向标注者返回了错误列表,标注者根据此列表修复了这些错误。最后,标注者向经验丰富的高级标注者提交了修复后的版本-2标签,他们进行最后的校正,查找任何潜在的错误标注的关键点。完成所有三轮工作后,带有高质量标签的数据集的发布版本完成了。


结果展示

相关文章
|
人工智能 JSON 数据可视化
yolov8+动物+姿态识别(训练教程+代码)
yolov8+动物+姿态识别(训练教程+代码)
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
|
9月前
|
机器学习/深度学习 监控 自动驾驶
基于 YOLOv8 的交通标识与设施识别系统(含完整源码)
基于YOLOv8的交通标识识别系统,实现对人行横道、限速、停车、信号灯等目标的高精度检测。支持图像、视频、摄像头输入,集成PyQt5可视化界面,提供完整源码、模型权重与数据集。适用于智能交通、自动驾驶等场景,具备良好扩展性与工程落地价值。
838 7
|
机器学习/深度学习 Web App开发 人工智能
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
|
11月前
|
数据采集 存储 人工智能
141_模型更新:在线学习策略 - 焦点在增量微调的独特无中断部署
在大语言模型(LLM)的实际生产环境中,模型更新是维持服务质量和持续改进的关键环节。随着业务需求的演变、数据分布的变化以及模型能力的提升,如何高效、安全地更新已部署的LLM成为技术团队面临的重要挑战。传统的全量模型替换方法往往伴随着服务中断风险、资源消耗大以及可能的性能波动等问题。为此,增量微调技术作为一种轻量级的模型更新策略,正逐渐成为2025年LLM部署领域的主流选择。
877 9
|
6月前
|
数据采集 人工智能 监控
猫行为识别检测数据集(近2000张图片已标注)| YOLO训练数据集 AI视觉检测
本数据集含近2000张高质量猫行为图像,标注4类静态姿态(趴卧、坐姿、睡眠、站立),采用YOLO标准格式,覆盖多场景、多光照与多姿态,适配YOLOv5/v8等模型,适用于智能宠物监控、健康分析及AI视觉研究。
|
10月前
|
传感器 人工智能 监控
停车场空车位检测数据集(3000张图片已划分)[目标检测]
在城市交通管理与智慧停车建设快速发展的当下,如何高效、精准地识别停车场空车位已成为智慧城市重要课题。为了支持研究者和工程团队训练高性能停车检测模型,我们构建了停车场空车位检测数据集,专为目标检测任务优化设计。
停车场空车位检测数据集(3000张图片已划分)[目标检测]
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
1118 26
|
11月前
|
机器学习/深度学习 人工智能 编解码
7种常见鸟类分类图像数据集(8000张图片已划分)|AI训练适用于目标检测任务
本数据集包含8000张7类常见鸟类图像,涵盖麻雀、鸽子、乌鸦等,已划分训练与验证集,适用于AI目标检测与分类任务,支持YOLO、ResNet等模型,助力生态监测与科研教学。
7种常见鸟类分类图像数据集(8000张图片已划分)|AI训练适用于目标检测任务
|
机器学习/深度学习 监控 数据可视化
基于YOLOv8的猪的生活行为识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
在现代养殖业中,如何高效、准确地监测猪的生活行为,是提升生产效率与健康管理的关键。借助深度学习与计算机视觉,本项目基于 YOLOv8 目标检测模型,结合 PyQt5 可视化界面,实现了对猪只 饮水、进食、休息、无行为状态 等 12 种行为的自动识别与可视化展示。 项目开箱即用,支持 图片、文件夹、视频、实时摄像头 多种输入方式,并配套完整的训练流程、部署教程和源码数据集,方便二次开发与快速落地。