Deeplabcut----(1)新建自己的训练(单只动物)

Deeplabcut新建自己的训练

本教程最后使用Autodl云平台跑代码,本地电脑上只是进行数据标注,建议直接新建多动物训练,比单动物的项目能干的事多,也能对单动物进行预测(个人使用感觉还是mmpose预测新视频和图片的正确率更高)

整个文件夹不能含有中文!!!!!!!

1、安装deeplabcut库

先安装Anaconda,然后去deeplabcut官网下载所有安装文件
https://github.com/DeepLabCut/DeepLabCut
然后再Anaconda中安装环境,选择Deeplabcut.yaml
Deeplabcut----(1)新建自己的训练(单只动物)_第1张图片

2、启动gui开始标注数据

打开ipython,输入

import deeplabcut
deeplabcut.launch_dlc()

Deeplabcut----(1)新建自己的训练(单只动物)_第2张图片

Deeplabcut----(1)新建自己的训练(单只动物)_第3张图片

选择新建数据并编辑身体部位,身体骨架,设置完成后点击ok
Deeplabcut----(1)新建自己的训练(单只动物)_第4张图片

其中edit config fig中设置身体部位,身体骨架
Deeplabcut----(1)新建自己的训练(单只动物)_第5张图片
!!!!骨架一次只能设置两个节点,如下图所示,不然到时候代码输出draw_skeleton=True会报错,加上这个代码后边就不用手动绘制骨架(终于解决了问题)
![在这里插入图片描述](https://img-blog.csdnimg.cn/015d4ba1cd864ca4920a76b2171993d8.pngDeeplabcut----(1)新建自己的训练(单只动物)_第6张图片

到第二个界面,开始自动选取视频画面作为标记图片,直接用默认参数即可,等待ipython界面提示完成
Deeplabcut----(1)新建自己的训练(单只动物)_第7张图片

点击label Frames,在点击load frames开始标注,鼠标右键创建点,左键移动,中间删除点,(在图片上看不见的点不需要标出)全部标注完后,点击save
Deeplabcut----(1)新建自己的训练(单只动物)_第8张图片
Deeplabcut----(1)新建自己的训练(单只动物)_第9张图片

3、训练,可在本地,可在平台

在本地训练

选择创建dataset选项卡,建立数据集,此时会生成一个训练的配置文件yaml,在dlc-model里,在开始训练前修改里边的参数,才能修改训练的参数(batchsize啥的)
Deeplabcut----(1)新建自己的训练(单只动物)_第10张图片
Deeplabcut----(1)新建自己的训练(单只动物)_第11张图片

设置训练参数,点击ok,机会开始训练,同时gui界面会有相关参数
Deeplabcut----(1)新建自己的训练(单只动物)_第12张图片

在Autodl平台训练模型,并输出视频

将整个文件夹上传阿里云,在平台上点击AutoPanel通过阿里云盘将文件下载到服务器
Deeplabcut----(1)新建自己的训练(单只动物)_第13张图片

打开Jupyterlab,按照下面文档顺序即可开始训练也可以按照官方的hub训练
https://github.com/DeepLabCut/DeepLabCut/tree/master/examples
官方有提供谷歌免费平台(需要科学上网)上的代码

函数的相关参数可以参考这份文档
https://github.com/DeepLabCut/DeepLabCut/blob/master/docs/standardDeepLabCut_UserGuide.md
Deeplabcut----(1)新建自己的训练(单只动物)_第14张图片

在平台上,.yaml的路径一定要定位对,平台上要在复制路径的基础上加上‘/root/’

#安装库
pip install deeplabcut

import deeplabcut
deeplabcut.__version__

#设置路径视频路径
ProjectFolderName = '文件夹名'
VideoType = 'mp4' 
#记得加上平台的‘/root/’
videofile_path = ['/content/drive/My Drive/'+ProjectFolderName+'/videos/'] #Enter the list of videos or folder to analyze.
videofile_path

#设置配置路径
path_config_file = '/content/drive/My Drive/'+ProjectFolderName+'/config.yaml'
path_config_file

#创建训练数据集
deeplabcut.create_training_dataset(path_config_file, net_type='resnet_50', augmenter_type='imgaug')

#开始训练,具体参数看文档
deeplabcut.train_network(path_config_file, shuffle=1, displayiters=10,saveiters=500)

#评估模型
%matplotlib notebook
deeplabcut.evaluate_network(path_config_file,plotting=True)

#分析视频
deeplabcut.analyze_videos(path_config_file,videofile_path, videotype=VideoType)

#绘制视频轨迹
deeplabcut.plot_trajectories(path_config_file,videofile_path, videotype=VideoType)

#生成视频
deeplabcut.create_labeled_video(path_config_file,videofile_path, videotype=VideoType)

随后就可以把整个文件夹上传到阿里云再在下载本地
Deeplabcut----(1)新建自己的训练(单只动物)_第15张图片

Deeplabcut----(1)新建自己的训练(单只动物)_第16张图片

4、训练模型后,在本地gui输出视频

训练完成后,把所有文件下载到本地,用gui加载项目

Deeplabcut----(1)新建自己的训练(单只动物)_第17张图片

跳过训练直接评估模型
Deeplabcut----(1)新建自己的训练(单只动物)_第18张图片
分析视频
Deeplabcut----(1)新建自己的训练(单只动物)_第19张图片

输出视频
Deeplabcut----(1)新建自己的训练(单只动物)_第20张图片

你可能感兴趣的:(Deeplabcut,python,深度学习,人工智能)