Deeplabcut新建自己的训练
本教程最后使用Autodl云平台跑代码,本地电脑上只是进行数据标注,建议直接新建多动物训练,比单动物的项目能干的事多,也能对单动物进行预测(个人使用感觉还是mmpose预测新视频和图片的正确率更高)
整个文件夹不能含有中文!!!!!!!
1、安装deeplabcut库
先安装Anaconda,然后去deeplabcut官网下载所有安装文件
https://github.com/DeepLabCut/DeepLabCut
然后再Anaconda中安装环境,选择Deeplabcut.yaml
![在这里插入图片描述](https://img-blog.csdnimg.cn/6207276ac61248f881e205dc6e59fd2c.png)
2、启动gui开始标注数据
打开ipython,输入
import deeplabcut
deeplabcut.launch_dlc()
![在这里插入述](https://img-blog.csdnimg.cn/a930fce0428a405ca63d02e8a54d48b4.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/07669c89eed0474b8f55b60d49b2cb8b.png)
选择新建数据并编辑身体部位,身体骨架,设置完成后点击ok
![在这里插入图片描述](https://img-blog.csdnimg.cn/394339a500fa4d109153e51d276efa93.png)
其中edit config fig中设置身体部位,身体骨架
![在这里插入图片描述](https://img-blog.csdnimg.cn/7dfd4eea22fe41fa8cdac31fc3ab860e.png)
!!!!骨架一次只能设置两个节点,如下图所示,不然到时候代码输出draw_skeleton=True会报错,加上这个代码后边就不用手动绘制骨架(终于解决了问题)
![在这里插入图片描述](https://img-blog.csdnimg.cn/015d4ba1cd864ca4920a76b2171993d8.png![在这里插入图片描述](https://img-blog.csdnimg.cn/9f78e0da93584301940b650c7645de1d.png)
到第二个界面,开始自动选取视频画面作为标记图片,直接用默认参数即可,等待ipython界面提示完成
![在这里插入图片描述](https://img-blog.csdnimg.cn/7ec6be52fb8a41478f8e6515fa914365.png)
点击label Frames,在点击load frames开始标注,鼠标右键创建点,左键移动,中间删除点,(在图片上看不见的点不需要标出)全部标注完后,点击save
![在这里插入图片描述](https://img-blog.csdnimg.cn/8b3f446c1b4246e0a0a2d9be9dcffa3b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fb5908c4be2d45caa8e24923cd783b43.png)
3、训练,可在本地,可在平台
在本地训练
选择创建dataset选项卡,建立数据集,此时会生成一个训练的配置文件yaml,在dlc-model里,在开始训练前修改里边的参数,才能修改训练的参数(batchsize啥的)
![在这里插入图片描述](https://img-blog.csdnimg.cn/6a9a18f2554441b1bdb2409cf2e11f16.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3b19cae776d74722acc1f5b3d2ef0ca2.png)
设置训练参数,点击ok,机会开始训练,同时gui界面会有相关参数
![在这里插入图片描述](https://img-blog.csdnimg.cn/5f9c972b095c4d59889e9f2384c7aa81.png)
在Autodl平台训练模型,并输出视频
将整个文件夹上传阿里云,在平台上点击AutoPanel通过阿里云盘将文件下载到服务器
![在这里插入图片描述](https://img-blog.csdnimg.cn/ab1eceff2b27455a9012413d602de63b.png)
打开Jupyterlab,按照下面文档顺序即可开始训练也可以按照官方的hub训练
https://github.com/DeepLabCut/DeepLabCut/tree/master/examples
官方有提供谷歌免费平台(需要科学上网)上的代码
函数的相关参数可以参考这份文档
https://github.com/DeepLabCut/DeepLabCut/blob/master/docs/standardDeepLabCut_UserGuide.md
![在这里插入图片描述](https://img-blog.csdnimg.cn/14af381233294e03981c84a5113d8e21.png)
在平台上,.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)
随后就可以把整个文件夹上传到阿里云再在下载本地
![在这里插入图片描述](https://img-blog.csdnimg.cn/855d2b463d6344099a31135a99829b4b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cbca0330166f4b68aa24fc4e3881d85e.png)
4、训练模型后,在本地gui输出视频
训练完成后,把所有文件下载到本地,用gui加载项目
![在这里插入图片描述](https://img-blog.csdnimg.cn/60667be43a064be1b883b50a00fc063f.png)
跳过训练直接评估模型
![在这里插入图片描述](https://img-blog.csdnimg.cn/9f052cbb670640349dc3f319ccf8ab2a.png)
分析视频
![在这里插入图片描述](https://img-blog.csdnimg.cn/161e9919829049a98f2e3274d7c1959e.png)
输出视频
![在这里插入图片描述](https://img-blog.csdnimg.cn/8e13af756cdf4d84acba756e83aa3f3c.png)