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

2023-10-29

Deeplabcut新建自己的训练

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

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

1、安装deeplabcut库

先安装Anaconda,然后去deeplabcut官网下载所有安装文件
https://github.com/DeepLabCut/DeepLabCut
然后再Anaconda中安装环境,选择Deeplabcut.yaml
在这里插入图片描述

2、启动gui开始标注数据

打开ipython,输入

import deeplabcut
deeplabcut.launch_dlc()

在这里插入述

在这里插入图片描述

选择新建数据并编辑身体部位,身体骨架,设置完成后点击ok
在这里插入图片描述

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

到第二个界面,开始自动选取视频画面作为标记图片,直接用默认参数即可,等待ipython界面提示完成
在这里插入图片描述

点击label Frames,在点击load frames开始标注,鼠标右键创建点,左键移动,中间删除点,(在图片上看不见的点不需要标出)全部标注完后,点击save
在这里插入图片描述
在这里插入图片描述

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

在本地训练

选择创建dataset选项卡,建立数据集,此时会生成一个训练的配置文件yaml,在dlc-model里,在开始训练前修改里边的参数,才能修改训练的参数(batchsize啥的)
在这里插入图片描述
在这里插入图片描述

设置训练参数,点击ok,机会开始训练,同时gui界面会有相关参数
在这里插入图片描述

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

将整个文件夹上传阿里云,在平台上点击AutoPanel通过阿里云盘将文件下载到服务器
在这里插入图片描述

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

函数的相关参数可以参考这份文档
https://github.com/DeepLabCut/DeepLabCut/blob/master/docs/standardDeepLabCut_UserGuide.md
在这里插入图片描述

在平台上,.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)

随后就可以把整个文件夹上传到阿里云再在下载本地
在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

跳过训练直接评估模型
在这里插入图片描述
分析视频
在这里插入图片描述

输出视频
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 以XML形式访问远程接口获得数据

    JDK提供了供我们访问url获得数据的类 核心类主要是URL URLConnection等 详见JDK API 下面以XML形式实现两者通信 Servlet端发送信息 Java代码 protected void doGet HttpServ
  • Unity3D官方教程——Survival Shooter学习记录

    unity 官方教程Survival Shooter 学习笔记 1 准备工作 新建项目并导入官方商店的Survival Shooter资源 在Assets下新建文件夹 Scence并在新文件夹内保存当前新场景命名为Main 2 背景和背景音
  • allegro设置禁止铺铜区的方法

    allegro设置禁止铺铜区的方法 Cadence Allegro 16 6 关于shape分割的一种方法 Allegro 铺铜设置 使用Shape Keepout设置禁止铺铜区 操作方法是Setup Areas Shape Keepout
  • 数据可视化python,绘制饼图,代码和解析

    饼图样式 使用matplotlib pyplot pie绘制 代码描述 import matplotlib pyplot as plt import pandas as pd 定义饼状图的标签 标签是列表 timeData pd read
  • Leetcode刷题(14. 最长公共前缀)

    Leetcode刷题 14 最长公共前缀 一 题目 二 代码 C 三 提交记录 四 备注 一 题目 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 示例 1 输入 flower flow flight 输出
  • 延长线段ab到c的画法有几种_垂直与平行的画法

    点击蓝字关注我们 垂直与平行的画法 现在中考对作图要求越来越高 作图是对我们应用数学基本定理 性质以及动手能力的一种考察 问题的关键在于学生平时忽视了定理 性质的重要性 甚至初三念完了书还是新的 通过作图 对定理和性质进行理解记忆 问题1
  • 使用Python爬取不同类别的豆瓣电影简介

    使用Python爬取不同类别的豆瓣电影简介 之前做过一点文本分类的工作 从豆瓣上爬取了不同类别的数千条电影的简介 爬取目标 我们爬取的目标是 豆瓣影视 打开豆瓣网 随便点击一部电影 即可看到电影的介绍 评论等信息 我们需要爬取的是电影的简介
  • sed与awk读书笔记[sed篇]

    简介 个人基础及笔记重点 sed基础 常用参数包括 寻址包括 常用命令包括 标志flags 正则表达式 sed高级这一章要详细讲解要不迷惑性太大举例 N命令 D命令 跳转命令aba 跳转命令ata hHgGx利用保持空间的命令 熟悉例子 最
  • Idea工具的使用

    文章目录 一 IDEA的使用 二 IDEA工具的快捷键以及一些简单的设置 1 字体设置 2 快速生成main方法 psvm 3 快速生成System out println sout 4 注意 IEDA是自动保存 不需要ctrl s 5 删
  • Python+Opencv 提取图片中某种颜色组成的图形

    主要目标识别图中红色的裂缝 尝试了几种不同的方法 最后发现比较每一点的RGB差值可以很好的解决这个问题 也就是提取图片中的红色相关信息 处理结果如下 实现的代码如下 注意opencv读入的图片通道顺序是bgr import cv2 impo
  • AWG线规对照表

    AWG American Wire Gauge 是美国电线标准的简称 AWG值是导线直径 以英寸计 的单位 其中 4 0表示0000 3 0表示000 2 0表示00 1 0表示0 例如 常用的电话线直径为26AWG 约为0 4mm 下表是
  • 停更一次博客

    明天微机原理复习 下周补两次博客
  • scala 的模式匹配与类型系统

    主要内容 1 scala模式匹配 2 scala类型系统 scala模式匹配 scala中的模式匹配与java中的switch case很类似 但是不同的是java中switch case只能匹配值 而scala模式匹配更强大 还可以对类型
  • execjs._exceptions.ProcessExitedWithNonZeroStatus

    报错如下图 提示我292的换行符有问题 刚开始我以为是我服务器的nodejs环境没有配好 就忽略了换行错误 后面发现nodejs已经配置好了 才转过来正视这个问题 在gitlab的textview里发现了端倪 在pycharm里面根本发现不
  • 三路红外arduino循迹小车(两驱-----黑线循迹)

    原理 红外传感器检测到黑线 红外光被吸收 其对于的led将不亮 反之无黑线 红外光被反射接收 点亮led 源代码是我借鉴他人加以修改的 代码也很简单 缺点就是跑不快 一旦快了容易冲出巡线轨迹 define STOP 0 define FOR
  • SpringBoot+Netty+WebSocket 实现消息推送

    关于Netty Netty 是一个利用 Java 的高级网络的能力 隐藏其背后的复杂性而提供一个易于使用的 API 的客户端 服务器框架 Maven依赖
  • Zotero使用分享(一)——导入文献、管理文献、引用文献

    Zotero使用分享 一 导入文献 管理文献 引用文献 0 为什么要用文献管理工具 1 Zotero是什么 2 安装 3 添加资源到Zotero 3 1 通过文献DOI导入 3 2 从剪贴板中导入 3 3 利用EndNote导入 3 4 用
  • BindingException: Invalid bound statement (not found)

    org apache ibatis binding BindingException Invalid bound statement not found com UserInfoMapper listByRole 报错描述 程序一直可以正常
  • NTSC、PAL、SECAM三大制式简介

    NTSC PAL SECAM三大制式简介 NTSC PAL和SECAM是全球三大主要的电视广播制式 这三种制式是不能互相兼容的 例如在PAL制式的电视上播放NTSC的视频 则影像画面将不能正常显示 下面分别对这三种制式进行简要介绍 NTSC
  • Deeplabcut----(1)新建自己的训练(单只动物)

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