본문으로 바로가기

[DeepLabCut] Quick guide to Python

category AI/PoseEstimation 2021. 8. 3. 15:24
728x90
import deeplabcut
import glob
import os

project_title = 'Title'	# 프로젝트
experimenter = 'cklee'	# 실험자
key_points = ['nose', 'forehead', 'mouth-corner', 'mouth-center', 'neck']
skeleton = [['nose', 'forehead'], ['nose', 'mouth-center'],
		['mouth-center', 'mouth-corner'], ['forehead', 'neck']]
video_path = ['./videos/dog.mp4', './videos/cat.mp4'] # 에러발생하면 절대경로 사용

# 프로젝트 생성
deeplabcut.create_new_project(project_title, experimenter, video_path,
			copy_videos=False, multianimal=False)

# config.yaml 파일 경로 설정(절대경로) 및 수정
config_path = os.getcwd() + ‘/config.yaml’
edits = {
        'bodyparts': key_points,
        'skeleton': skeleton
}
deeplabcut.auxiliaryfunctions.edit_config(config_path, edits_table)

# 영상 추가
#deeplabcut.add_new_videos(config_path, ['Full path of video 1', ...], copy_videos=True/False)
#필요에 따라 파일I/O를 통해 직접 수정

# 프레임과 라벨링 데이터가 있으면 생략 가능
# 동영상의 프레임 추출
#deeplabcut.extract_frames(config_path, mode='automatic/manual',
#			algo='uniform/kmeans', userfeedback=False, crop=True/False)

# 동영상의 프레임 라벨링
#deeplabcut.label_frames(config_path)

# 라벨링 확인[Optional ]
#deeplabcut.check_labels(config_path, visualizeindividuals=True/False)

# csv -> h5 파일 변환
deeplabcut.convertcsv2h5(config_path, scorer=experimenter, userfeedback=False)

# 학습 데이터셋 생성
deeplabcut.create_training_dataset(config_path, augmenter_type='imgaug')

# 학습
deeplabcut.train_network(config_path)

# 평가
deeplabcut.evaluate_network(config_path)

# 영상 분석
video_list = glob.glob(os.getcwd() + '/videos/*.mp4') # 테스트해볼 영상의 경로 입력
deeplabcut.analyze_videos(config_path, video_list, dynamic=(True, .5, 10))

# 영상 생성
deeplabcut.create_labeled_video(config_path, video_list, filtered=True)

# 필터 예측[Optional]
deeplabcut.filterpredictions(config_path, video_list)

# Plot 결과
deeplabcut.plot_trajectories(config_path, video_list, filtered=True)

# 라벨 보정
deeplabcut.refine_labels(config_path)

# 데이터 병합
deeplabcut.merge_datasets(config_path)

 

* 참고

DeepLabCut2.x Quick Guide to Commands

 

 

GitHub - DeepLabCut/DeepLabCut: Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with

Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans - GitHub - DeepLabCut/DeepLabCut: Official implementation ...

github.com

 

728x90

'AI > PoseEstimation' 카테고리의 다른 글

[DeepLabCut] 테스트 ResNet50 1030000  (0) 2021.11.22
[DeepLabCut] CSV format 및 CSV 파일 변환  (0) 2021.08.03
[DeepLabCut] 처리 과정(process flow)  (0) 2021.08.03
[DeepLabCut] 설치 및 실행  (4) 2021.08.03
[DeepLabCut] 개요  (6) 2021.08.03