deeplabcut使用

article/2025/10/23 17:31:02

cuda11.2和cudnn8.1安装

  1. win
    最新的 Win11/WIN10 安装CUDA11.2和cuDNN
  2. linux
    ubuntu 16.04 安装 cuda11.2 和cudnn8.2.1

dlc安装

  1. 创建虚拟环境
    在这里插入图片描述
    tensorflow与cuda和cudnn版本对应关系

  2. 安装deeplabcut=2.2.3 tensorflow=2.11.0 wxPython=4.0.4
    pip install deeplabcut==2.2.3
    deeplabcut里面包含了tensorflow的不用再安装了

pip install tensorflow-gpu==2.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install deeplabcut==2.2.3  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install wxPython==4.0.4  -i https://pypi.tuna.tsinghua.edu.cn/simple/
-c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
2023-03-08 22:26:34.816159: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2023-03-08 22:26:34.816852: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

基本框架

在这里插入图片描述

本地操作(本地标注,服务器训练。gpu太low了)

官网教程

激活环境并进入ipython

在这里插入图片描述
linux系统有的用ipython不行就用python
在这里插入图片描述

导入deeplabcut

import deeplabcut 

在这里插入图片描述

创建文件

deeplabcut.create_new_project(r'project-name',r'Laborator',working_dirctory=[r'vidoes_path'],copy_videos=True)

在这里插入图片描述

配置文件

config.yaml

  1. bodyparts:
  2. numframes2pick
  3. skeleton:==注意字母不能写错了
config_path = 'G:\\new\\dlc\\dlc_mouse_4-cunyiyuan-2022-10-27\\config.yaml'

在这里插入图片描述

抽帧

deeplabcut.extract_frames(config)

错误
在这里插入图片描述
原因:配置文件中不能有中文
在这里插入图片描述

打标签

deeplabcut.label_frames(config_path)

在这里插入图片描述
在这里插入图片描述

检查标签

deeplabcut.check_labels(config_path)

在这里插入图片描述

服务器训练操作

import deeplabcut
config_path=‘’

Create a training dataset

deeplabcut.create_training_dataset(config_path, net_type='resnet_50', augmenter_type='imgaug')

Start training

deeplabcut.train_network(config_path, shuffle=1, trainingsetindex=0, gputouse=None, max_snapshots_to_keep=5, autotune=False, displayiters=100, saveiters=15000, maxiters=30000, allow_growth=True)

Evaluate the Trained Network

deeplabcut.evaluate_network(config_path,Shuffles=[1], plotting=True)

Video analysis

deeplabcut.analyze_videos(config_path, ['fullpath/analysis/project/videos'], videotype='avi', shuffle=1, trainingsetindex=0, gputouse='0', save_as_csv=True, destfolder=None, dynamic=(True, .5, 10))

filter

deeplabcut.filterpredictions(config_path,['fullpath/analysis/project/videos'], videotype='.mp4',filtertype= 'arima',ARdegree=5,MAdegree=2)

Plot Trajectories

deeplabcut.plot_trajectories(config_path, [‘fullpath/analysis/project/videos/reachingvideo1.avi’])

Create Labeled Videos

deeplabcut.create_labeled_video(config_path, videofile_path, videotype=VideoType, draw_skeleton=True, save_frames=True, trailpoints=0)

Extract “Skeleton” Features

deeplabcut.analyzeskeleton(config, video, videotype='avi', shuffle=1, trainingsetindex=0, save_as_csv=False, destfolder=None)

outlier

deeplabcut.extract_outlier_frames(config_path, ['videofile_path'], outlieralgorithm='manual')

refine

deeplabcut.refine_labels(config_path)
deeplabcut.merge_datasets(config_path)

恢复训练

deeplabcut源代码:
resume

  • 训练错误
    (0) DATA_LOSS: Unable to open table file /home/study11/szc/hw_01-szc-2023-03-07/dlc-models/iteration-0/hw_01Mar7-trainset80shuffle1/train/snapshot-100000.data-00000-of-00001: DATA_LOSS: not an sstable (bad magic number): perhaps your file is in a differ
#解决四个权重文件,分别为:
1.checkpoint
2.snapshot-100.index
3.snapshot-100.meta
4.snapshot-100.data-00000-of-00001那么导入时,init_weights应填"snapshot-100"的路径,
不是“snapshot-100.data-00000-of-00001”,也不是“snapshot”!
deeplabcut.train_network(config_path, shuffle=1, trainingsetindex=0, gputouse='0,1,2', max_snapshots_to_keep=10, autotune=False, displayiters=100, saveiters=10000, maxiters=200000, allow_growth=True)

3D操作

相机标定

  • 采集成对图片
    用get_paired_image.py采集标定的照片,复制到DLC创建的工程文件–标定文件夹里D:\Liqiqi\DeepLabCut_Liqiqi\liqiqi01-mouse-2022-12-12-3d\calibration_images】
  • 摄像头标定
    【(二)创建3D工程文件,注意:创建好新的工程文件之后,在标定的时候,config文件不需要改参数】
    工程文件创建成功后包括:calibration_images, camera_matrix, corners, and undistortion五个文件夹
  • calibration_images:该目录将包含从两台相机获取的一组校准图像。拍摄图像时:注意命名camera-1-01.jpg或者camera-2-01.jpg
  • camera_matrix:此目录将两台摄像机的参数存储为泡菜文件
  • corners:作为相机校准的一部分,在校准图像中检测到棋盘图案,这些图案将存储在此目录中
  • undistortion:为了检查校准,校准图像和相应的角点不会失真。这些未失真的图像被未失真的点覆盖,并将存储在此目录中。
  • 标定
    deeplabcut.calibrate_cameras(config_path3d, cbrow =8,cbcol =11,calibrate=False,alpha=0.9) # False是移除不好的照片
    deeplabcut.calibrate_cameras(config_path3d, cbrow =8,cbcol =11,calibrate=True,alpha=0.9) # Ture 是对好的照片进行标定

3d使用

官网教程

  1. create project
deeplabcut.create_new_project_3d('ProjectName','NameofLabeler',working_directory='path',num_cameras = 2)
  1. config_path3d
config_path3d = r'/content/drive/MyDrive/Colab Notebooks/39d/config.yaml'deeplabcut.calibrate_cameras(config_path3d, cbrow =8,cbcol =11,calibrate=False,alpha=0.9) deeplabcut.calibrate_cameras(config_path3d, cbrow =8,cbcol =11,calibrate=True,alpha=0.9)deeplabcut.check_undistortion(config_path3d, cbrow=8, cbcol=11)deeplabcut.triangulate(config_path3d, r'videopath', filterpredictions=True, videotype='avi', save_as_csv=True, gputouse='0')deeplabcut.create_labeled_video_3d(config_path3d, [r'/content/drive/MyDrive/Colab Notebooks/hw_01-szc-2023-03-07/videos'], start=200, end=600,videotype='mp4', xlim =[-50,50], ylim=[-30,30], zlim=[-30,30],view=[45,270])

http://chatgpt.dhexx.cn/article/ZVcVY4KF.shtml

相关文章

MATLAB与深度学习(一)— Deep Learning Toolbox

MATLAB与深度学习(一)— Deep Learning Toolbox 最近,我在学习基于matlab的深度学习的内容,并整理出如下学习笔记。本文借鉴和引用了网上许多前辈的经验和代码,如有冒犯,请及时与我联系。 1. MATLAB与深度…

Deeplab V1 和 V2讲解

Deeplab V1 Background: CNN的一个特性是invariance(不变性),这个特性使得它在high-level的计算机视觉任务比如classification中,取得很好的效果。但是在semantic segmentation任务中,这个特性反而是个障…

deeplab v3+ 源码详解

训练模型: 下载好voc数据集,并传入所需的参数即可进行训练。 参数配置: """ 训练: --model deeplabv3plus_mobilenet --gpu_id 0 --year 2012_aug --crop_val --lr 0.01 --crop_size 513 --batch_size 4 --…

Deeplabcut教程(二)使用

因为很久没用这个了所以就一直没更使用教程,写的安装教程收到好几条私信要使用教程,这几天在帮一个朋友跑这个,于是就有了这个使用教程 安装教程:Deeplabcut教程(一)安装(GPU&CPU版本&…

概述DeepLab系列(deeplab v1, deeplab v2, deeplab v3, deeplab v3+)

前言:图像分割是指像素级别的图像识别,即标注出图像中每个像素所属的对象类别。 语义分割更注重类别之间的区分,而实例分割更注重个体之间的区别。 DeepLab是由Google团队提出的一系列图像分割算法。 DeepLab v1 (2014年&#xf…

DeepLab系列理解

原文Blog:https://zhuanlan.zhihu.com/p/61208558 1、deeplab v1 针对标准的深度卷积神经网络的两个主要问题:1.Striding操作使得输出尺寸减小; 2.Pooling对输入小变化的不变性,v1 使用空洞卷积(atrous)条件随机场(CRFs)来解决这…

Deep Lab 系列总结

Deep Lab v1 结合了深度卷积神经网络(DCNNs)和概率图模型(Dense CRFs)的方法 问题1:DCNN s做语义分割时精准度不够,根本原因是DCNNs的高级特征的平移不变性,即高层次特征映射,根…

DeepLab V3+:DeepLab系列的极致?

这篇文章提交在arXiv上的,对应代码也已经开源。 理解DeepLab V3的构架首先需要理解DeepLab V3(可以参考博主的前一篇博客),V3基本上可以理解成在原始的基础上增加了encoder-decoder模块,进一步保护物体的边缘细节信息…

【Deep Learning】DeepLab

【论文】SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS 前段时间学习了DeepLab,这里花时间记录一下,感谢几位小伙伴的分享。DeepLab的主体结构事实上是参照VGG改造的,它的几个优点:首先是速…

Deeplab笔记

一、Deeplab v2 对应论文是 DeepLab: Semantic Image Segmentiation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs Deeplab 是谷歌在FCN的基础上搞出来的。FCN为了得到一个更加dense的score map,将一张500x500的输入图像&#…

deeplab-v3+原理详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、deeplab-v3提出原因与简单介绍 二、deeplab-v3网络结构图 三、Encoder 1、Backbone(主干网络&#xff09…

深度学习 | MATLAB Deep Learning Toolbox Deeper Networks 创建

深度学习 | MATLAB Deep Learning Toolbox Deeper Networks 目录 深度学习 | MATLAB Deep Learning Toolbox Deeper NetworksDeeper Networks创建类比深度网络深度记忆原理深度学习层输入层卷积和全连接层序列层激活层归一化、丢弃和裁剪层池化和去池化层组合层输出层 参考资料…

深度学习(11)——DeepLab v1

DeepLab v1 DeepLab 由谷歌团队提出的,至今有了四个版本,也就是v1-v4。其结合了深度卷积神经网络(DCNNs)和概率图模型。 在论文《Semantic image segmentation with deep convolutional nets and fully connected CRFs》中提出&…

改进 DeepLabV3+

网络整体结构图 CFF结构图 import torch import torch.nn as nn import torch.nn.functional as F from nets.xception import xception from nets.mobilenetv2 import mobilenetv2class MobileNetV2(nn.Module):def __init__(self, downsample_factor8, pretrainedTrue):supe…

DeepFaceLab

DeepFaceLab从半脸(Half Face)到全脸(Full Face)再到整脸(Whole Face),脸部替换的区域愈来愈大,适用的范围也越来越广,效果也越来越震撼。当然很多人已经不满足与单纯换脸…

DeepLab系列总结

DeepLab系列总结 DeepLab系列DeepLab V1DeepLab V2DeepLab V3DeepLab V3 DeepLab系列 DeepLab网络是由Liang-Chieh Chen(下文以大神指代)与google团队提出来的,是一个专门用来处理语义分割的模型。目前推出了4个(或者说3.5个&…

DeepLab系列学习

DeepLab系列 文章目录 DeepLab系列DeepLabV1简介atrous algorithm利用全卷积增加感受野并加速运算条件随机场CRF实验结果多尺度预测VOC数据集上对比 DeepLabV2主要改进简介模型主体ASPP实验结果 DeepLabV3相应的改进实验 DeepLabV3(DeepLabV3 plus)相应改进整体结构解码器结构m…

deeplab系列总结(deeplab v1 v2 v3 v3+)

最近花了几天时间把deeplab系列撸了一遍,直观感受是不如当初看RCNN系列来的激动啊......像RPN这种划时代的改变没有看到--直奔主题。 Deeplab v1&v2 paper: deeplab v1 && deeplab v2 远古版本的deeplab系列,就像RCNN一样&…

我对DeepLab V3的理解(基于V1和V2)

一、概述 1.前言 1.1 DeepLab v1 创新点&#xff1a; 空洞卷积&#xff08;Atrous Conv&#xff09;; <解决编码过程中信号不断被下采样&#xff0c;细节丢失的问题> 全连接条件随机场&#xff08;Fully-connected Conditional Random Field&#xff09;。 <由于co…

deeplab介绍

■ 论文 | Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation ■ 链接 | https://www.paperweekly.site/papers/1676 DeepLab 是结合了深度卷积神经网络&#xff08;DCNNs&#xff09;和概率图模型&#xff08;DenseCRFs&#xff09;的方法…