Data Augmentation
When you create_training_dataset you have several options on what types of augmentation to use.
deeplabcut.create_training_dataset(configpath, augmenter_type='imgaug')
When you do this (i.e. pass augmenter_type) what underlying files you are calling are these:
https://github.com/AlexEMG/DeepLabCut/tree/master/deeplabcut/pose_estimation_tensorflow/datasets
You can look at what types of augmentation are available to you (or edit those files to add more). Moreover, you can add more options to the pose_cfg.yaml file. Here is a simple script you can modify and run to automatically edit the correct pose_cfg.yaml to add more augmentation to the imgaug loader (or open it and edit yourself).
#assuming you work with shuffle=0 trainingsetindex=0 #get path to the model configuration files trainposeconfigfile,testposeconfigfile,snapshotfolder=deeplabcut.return_train_network_path(path_config_file, shuffle=shuffle ,trainingsetindex=trainingsetindex) #load the training config file and change various parameters: cfg_dlc=deeplabcut.auxiliaryfunctions.read_plainconfig(trainposeconfigfile) cfg_dlc['scale_jitter_lo']= 0.5 cfg_dlc['scale_jitter_up']=1.5 cfg_dlc['augmentationprobability']=.5 cfg_dlc['batch_size']=8 #pick that as large as your GPU can handle it cfg_dlc['elastic_transform']=True cfg_dlc['rotation']=180 cfg_dlc['covering']=True cfg_dlc['motion_blur'] = True cfg_dlc['optimizer'] ="adam" cfg_dlc['dataset_type']='imgaug' cfg_dlc['multi_step']=[[1e-4, 7500], [5.0e-5, 12000], [1e-5, 50000]] #save it and then train the model! deeplabcut.auxiliaryfunctions.write_plainconfig(trainposeconfigfile,cfg_dlc) print("TRAIN NETWORK", shuffle) deeplabcut.train_network(path_config_file, shuffle=shuffle, trainingsetindex=trainingsetindex, saveiters=5000,displayiters=500,max_snapshots_to_keep=11)