Pretrained resnet on MPII human pose data

Hello,

do you know if a pretrained resnet-101 tensorflow model exists on MPII human pose dataset? I could not find any so far…

I believe this ResNet101 is pre-trained on MPII: curl -L -O https://datasets.d2.mpi-inf.mpg.de/deepercut-models-tensorflow/mpii-single-resnet-101.data-00000-of-00001

1 Like

Thank you so much! Its running and bringing great results :slight_smile:

2 Likes

hey @sebo - do you have a sense/data if the pre-trained on a human is better for human labels vs. pre-trained on ImageNet?

Hi Mackenzie, sorry for replying late but i have just seen your question. I havent done a detailed comparison of both pretrained models on my data but i will do for sure within the next couple of days. I will keep you updated!

1 Like

Hey @MWMathis and @AlexanderMathis,

i used the pretrained resnet 101 on MPII data for training the openfield mice project with the dataset split in 95/5. The test and training error curves look good to me but I am a bit confused the errors start that low… What do you think about the results?

MPII_resnet101_openfieldOct30_730000-results.pdf (93.1 KB)
config_openfield_mpii.txt (1.4 KB)
pose_openfield_mpii.txt (1.4 KB)

Hi @MWMathis , @AlexanderMathis , and @sebo !
Also trying to train my network using this pretrained resnet 101 on mpii. I was wonder how exactly you were able to do that. After using curl to download:

mpii-single-resnet-101.data-00000-of-00001
mpii-single-resnet-101.index
mpii-single-resnet-101.meta

I then moved all three of these files to:
C:\Users\phcao\Miniconda3\envs\ecog\Lib\sitepackages\deeplabcut\pose_estimation_tensorflow\models\pretrained

Then, I figured the next step would be to edit:
init_weights

in the pose_cfg.yaml file and assign it to the path of the mpii-single-resnet-101 , specifically:

C:\Users\phcao\Miniconda3\envs\ecog\Lib\site-packages\deeplabcut\pose_estimation_tensorflow\models\pretrained\mpii-single-resnet-101

When I did this, and called

deeplabcut,train_network(config_path, shuffle=1, displayiters=1, sasveiters=1000)

I got the error:

NotFoundError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

Key resnet_v1_50/block1/unit_1/bottleneck_v1/conv1/BatchNorm/beta not found in checkpoint
[[Node: save/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, …, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]

Can someone please explain what I’m doing wrong?

resolved on GitHub. https://github.com/AlexEMG/DeepLabCut/issues/356

The newest version (DLC 2.0.8.) allows one to start with a pre-trained (on MPII pose dataset) human network in a DLC project! There is also a colab notebook for analysis in the cloud: https://github.com/AlexEMG/DeepLabCut/blob/master/examples/Human_Project_DEMO.ipynb

1 Like