DeepLabCut使用篇(二):创建并标记自己的项目

10 篇文章 0 订阅
7 篇文章 2 订阅

DeepLabCut使用篇(二):创建并标记自己的项目

0x01 新建Project

deeplabcut.create_new_project(`Name of the project',`Name of the experimenter', [`Full path of video 1',`Full path of video2',`Full path of video3'], working_directory=`Full path of the working directory',copy_videos=True/False)

(TIP : you can also place config_path in front of deeplabcut.create_new_project to create a variable that holds the path to the config.yaml file, i.e. config_path=deeplabcut.create_new_project(...))


然后就会自动在working directory工作文件夹中创建新的文件夹,命名方式为:project名称+试验人员名称Name of the experimenter+文档创建日期

e.g.

deeplabcut.create_new_project("dlc_wy","houiin","/home/houiin/DeepLabCut/houiin_dlc_empty/videos/reachingvideo1.avi",working_directory="/home/houiin/DeepLabCut/houiin_dlc_empty",copy_videos=True)

执行之后自动建立了文件夹,自动生成了配置文件config.yaml

新的工程项目文件夹层级如下所示

5 directories, 2 files

0x02 添加视频文件(可选)

deeplabcut.add_new_videos(`Full path of the project configuration file*',[`full path of video 4', `full path of video 5'],copy_videos=True/False)

0x03 提取需标记的帧

1)先设置一个配置文件路径变量以便接下来的使用

config_path = '你的config.yaml文件的绝对路径'

**e.g: **

config_path = '/home/houiin/DeepLabCut/houiin_dlc_empty/dlc_wy-houiin-2019-01-18/config.yaml'
2) 修改标记帧图像大小
1. 随机抽取帧
# 可选参数
deeplabcut.extract_frames('config_path',`automatic/manual',`uniform/kmeans', crop=True/False, checkcropping=True)

#e.g.
deeplabcut.extract_frames(config_path,'automatic','uniform', crop=True, checkcropping=True)
#上面这行就是  使用自动标记模式,标记对象为表皮,启用图像裁剪,启用二次检验

执行上面那个语句过后,会自动跳出选择画面的窗口

需要注意的是:运行extract_frames函数时,如果参数crop = Truecheckcropping = True,则它会将帧裁剪为config.yaml文件中提供的大小,并且用户可以首先检查裁剪的边界框。在调用extract_frames时,将根据裁剪参数弹出带有红色边界框的图像,以便用户可以检查这些参数。用户关闭弹出窗口后,将询问他们裁剪是否正确。如果是,则相应地提取帧。如果不是,则可以在继续之前基于该图形反馈迭代地调整裁剪参数。

询问用户裁剪是否准确

输入yes从视频中随机提取帧,如果有多个视频,将会分别存放于以视频文件名命名的多个文件夹中

2. 手动提取帧
 deeplabcut.extract_frames(config_path,'manual')

Load Video加载视频

会提示是否需要裁剪画面,选否,不然无法捕获图像,不过我个人觉得还不如直接用媒体播放器截图自动保存更便捷一点

手动选择帧

拖动进度条,找到合适的图像后Grab a Frame


0x04 标记图像

deeplabcut.label_frames(config_path)

可能会遇到标记工具一片空白的情况,解决方法见下面的错误解决栏目

标记部位的分类在当前项目的配置文件的bodyparts进行更改

使用鼠标右键进行标记点,左键修改上一个标记点的位置,鼠标中间用于放大或者移动标记点的模式进行切换

标记完成后点击save,在当前路径自动生成标记文件

训练模型请看下一篇

错误解决

1. 打开标记工具一片空白

标记工具一片空白

提示**Failed to load module “unity-gtk-module”**

安装libcanberra-gtk-modulelibcanberra-gtk3-module即可

sudo apt install libcanberra-gtk-module libcanberra-gtk3-module

解决方法一:

在设置中将显示器设置设置为单显示器,然后再选择扩展模式,就能够成功加载界面。

如果你的多显示器是横向排列的,可以直接添加参数screens=2

deeplabcut.label_frames(config_path, screens=2)
# Screens=2说明有两个显示器
解决方法二: 改代码,不自动检测屏幕大小

进入操作的虚拟环境目录,找到labeling_toolbox.py,路径一般为:anaconda3/envs/你的环境名称/lib/python3.6/site-packages/deeplabcut/generate_training_dataset/labeling_toolbox.py

比如我的路径为:/home/houiin/anaconda3/envs/deeplabcut-py36/lib/python3.6/site-packages/deeplabcut/generate_training_dataset/labeling_toolbox.py

修改下图红框中关于窗口大小的代码

比如我直接改成1280x720

可以看到窗口被成功的加载了

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值