deeplabcut教程之AI动物姿态追踪

文章转自:https://zhuanlan.zhihu.com/p/644945254

DeepLabCut(DLC)是一个开源的深度学习工具,旨在实现姿态估计和运动分析

http://www.mackenziemathislab.org/deeplabcut​www.mackenziemathislab.org/deeplabcut

DeepLabCut的主要目标是通过对图像和视频数据进行深度学习训练,来识别和跟踪特定动物或物体的关键点

它可以应用于各种领域,如神经科学、生物学、生物医学研究、行为学、动作分析等:

动图封面

GitHub地址:

https://github.com/DeepLabCut/DeepLabCut​github.com/DeepLabCut/DeepLabCut

这篇文章会用DeepLabCut官方提供的Open field数据:

00:08

演示Deeplabcut GUI的使用:

  1. 安装DeepLabCut
  2. 设置基本参数
  3. 数据标注
  4. 模型训练
  5. 结果生成

一、安装GPU dependency

参考官方说明:

https://github.com/DeepLabCut/DeepLabCut/blob/main/docs/installation.md#gpu-support​github.com/DeepLabCut/DeepLabCut/blob/main/docs/installation.md#gpu-support

二、安装DeepLabCut

(1)创建一个新的conda环境

conda create --name deeplabcut

(2)激活该环境:

conda activate deeplabcut

(3)安装DeepLabCut GUI:

pip install 'deeplabcut[gui,tf]'

(4)运行GUI

python -m deeplabcut

三、基础参数设置

(1)新建项目

建立一个新的project,输入Project、Experimenter和Location,Location默认是在桌面,可以修改。

然后Browse videos,选择视频所在的文件夹。

项目创建后,可以在Location所在文件夹,看到如下的文件夹和一个config文件:

(2)修改config文件

创建项目后,上面一栏会出现依次要做的步骤:

点击Edit config.yaml,修改config文件:

这里最主要修改bodyparts这一参数,这一参数定义了后续需要标注多少点,每一个点的名称。

这里只标注nose, left_ear, right_ear, tail_base,4个点。

如要增加或者减少标注的点,可以右键Insert或delete。

四、数据标注

(1)提取关键帧

为了通过标注少量的数据,来很好的效果。我们要选择那些变化较大、比较有特点的帧

Deeplabcut有不同的算法来提取这些关键帧,这里采用默认的参数,点击Extract Frames,提取关键帧进行后续标注。

提取完成后会提示:

(2)标注关键帧

点击Label Frames:

选择labeled-data文件夹下的视频所在的文件夹:

弹出基于napari的数据标注窗口:

选择Add points,依次标注nose, left_ear, right_ear, tail_base,4个点:

依次标注完提取的19个关键帧后,点击File -> Save Selected Layer(s)...,即可保存标注数据:

同时,在labeled-data文件夹下,会生成两个标注数据的文件:

标注完成后,关闭napari窗口。

五、模型训练

(1)生成训练集

这里可以选择用哪个深度学习模型,怎样做数据增强以及Shuffle,这里采用默认参数。

然后点击Create Training Dataset。

生成完成后会提示:

(2)模型训练

这里需要设置:

多少iteration显示保存一次,最多迭代多少iteration,保存几个checkpoint:

点击Train Network,在Terminal可以看到iteration的数量,以及loss:

如果没有调用GPU,可以尝试在deeplabcut的conda环境中,运行:

conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0

训练完成,或者loss稳定在较小的数值后,可以control+C停止训练。

六、结果生成

(1)模型评估

点击Evaluate Network,可以生成网络的评估结果:

点击Plot 3 test maps,可以大概看一下效果:

(2)完整视频追踪

在Analyze videos中,添加想要分析的视频,勾选Save results as csv,这样每个点的坐标都会导出,可以进行后续分析:

可以在项目文件夹中的videos文件夹中,找到csv文件:

(3)标记视频生成

为了直观地看到模型的效果,可以生成带有标记点的视频,在Create videos下:

点击Create videos,生成带有标记点的视频:

后面会介绍怎样去修正预测错误,优化整个网络,利用DeepLabCut得到更好的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值