deeplabcut 简明教程(训练个人数据集)

一 . 数据集的制作

从github下载deeplabcut

git clone https://github.com/2314453446/DeepLabCut.git

然后cd 到该目录下

激活ipython

Lenovo-Legion-5-15IMH05H:~/project/DeepLabCut$ ipython
In [1]: ]import deeplabcut as dlc

 创建新项目

dlc.create_new_project('WeedDetect','zzw',['/home/tuolong/Videos/weed.mp4'],copyvideos=True)

设置配置文件 

config_path = '/home/tuolong/project/DeepLabCut/WeedDetect-zzw-2022-09-30/config.yaml'

根据设定的配置文件从视频中截取帧

dlc.extract_frames(config_path)

标定数据集

dlc.label_frames(config_path)

检查数据集标定效果

dlc.check_labels(config_path)

 二.数据集训练

创建训练数据集(这一步要在你训练的地方执行 本地/云端)

# imguag 代表数据增广方式
dlc.create_training_dataset(config_path,net_type='resnet_50', augmenter_type='imgaug')

 查看训练和设定训练参数

训练模型

dlc.train_network(config_path,shuffle=1,displayiters=100,saveiters=500,max_snapshots_to_keep=5)

 模型评估(评估上一步所保存的snapshot)

这里僅演示操作流程,不是最优的评估方式

设定要评估的snapshot(我这里选择全部)

dlc.evaluate_network(config_path,plotting=True)

(可选环节)如果觉得模型训练效果不佳,可以本地再标数据,然后再训练,直至选出最优模型

三. 模型测试(视频分析)

在这里可以将未标注的 novel video 放入至训练好的网络中,让网络自动为我们标注数据

dlc.analyze_videos

在评估完成后从配置文件设定最优的模型进行测试

dlc.analyze_videos(config_path,videos='/home/tuolong/project/DeepLabCut/WeedDetect-zzw-2022-09-30/videos/weed.mp4',videotype='mp4',save_as_csv=True,dynamic=(True,0.5,10))

(可选)视频分析的其他功能

1滤波器

dlc.filterprediction(config_path,video_path)

2画出被分析的视频轨迹

dlc.plot_trajectories(config_path,video_path,videotype=VideoType,filtered=True)

制作被标注的视频

video_path = '/home/tuolong/project/DeepLabCut/WeedDetect-zzw-2022-09-30/videos/weed.mp4'

dlc.create_labeled_video(config_path,videos=video_path,videotype='mp4',draw_skeleton=True,save_frames=True,trailpoints=0)

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您可以将DeepLabCut训练数据导入MySQL数据库,以下是一种可能的方法: 1. 创建一个MySQL数据库,确保已经安装了MySQL服务器并设置好相应的权限。 2. 在数据库中创建一个表,用于存储DeepLabCut训练数据的相关信息。您可以根据需要定义表的结构,例如可以包括图像文件名、标记点坐标、标签等字段。 3. 在Python中使用MySQL连接库(例如`mysql-connector-python`)连接到MySQL数据库。 4. 使用DeepLabCut库加载训练数据,并遍历每个数据点。 5. 将每个数据点的相关信息插入到MySQL数据库的表中,可以使用SQL的`INSERT INTO`语句实现。您可以使用参数化的方式来插入数据,以防止SQL注入攻击。 以下是一个简单的示例代码: ```python import mysql.connector import deeplabcut # 连接到MySQL数据库 cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database') cursor = cnx.cursor() # 创建表 create_table_query = """ CREATE TABLE IF NOT EXISTS deeplabcut_data ( id INT AUTO_INCREMENT PRIMARY KEY, image_filename VARCHAR(255), x_coordinate FLOAT, y_coordinate FLOAT, label VARCHAR(255) ) """ cursor.execute(create_table_query) # 加载DeepLabCut训练数据 deeplabcut.load_data('path_to_training_data') # 遍历每个数据点并插入到数据库 for data_point in deeplabcut.get_data(): image_filename = data_point['image_filename'] x_coordinate = data_point['x_coordinate'] y_coordinate = data_point['y_coordinate'] label = data_point['label'] insert_data_query = """ INSERT INTO deeplabcut_data (image_filename, x_coordinate, y_coordinate, label) VALUES (%s, %s, %s, %s) """ cursor.execute(insert_data_query, (image_filename, x_coordinate, y_coordinate, label)) # 提交更改并关闭连接 cnx.commit() cursor.close() cnx.close() ``` 请注意,上述代码仅为示例,您需要根据自己的实际情况进行相应的修改和调整。另外,建议在插入大量数据时使用事务来提高性能和数据完整性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值