bmartacho / UniPose

We propose UniPose, a unified framework for human pose estimation, based on our “Waterfall” Atrous Spatial Pooling architecture, that achieves state-of-art-results on several pose estimation metrics. Current pose estimation methods utilizing standard CNN architectures heavily rely on statistical postprocessing or predefined anchor poses for joint localization. UniPose incorporates contextual seg- mentation and joint localization to estimate the human pose in a single stage, with high accuracy, without relying on statistical postprocessing methods. The Waterfall module in UniPose leverages the efficiency of progressive filter- ing in the cascade architecture, while maintaining multi- scale fields-of-view comparable to spatial pyramid config- urations. Additionally, our method is extended to UniPose- LSTM for multi-frame processing and achieves state-of-the- art results for temporal pose estimation in Video. Our re- sults on multiple datasets demonstrate that UniPose, with a ResNet backbone and Waterfall module, is a robust and efficient architecture for pose estimation obtaining state-of- the-art results in single person pose detection for both sin- gle images and videos.
Other
211 stars 44 forks source link

Error in loading state_dict for unipos_LSTM #15

Closed linaashaji closed 3 years ago

linaashaji commented 3 years ago

Hello, I'm trying to test the lstm_unipose model using the pretrained UniPose_LSTM_PennAction weights. I'm getting this error:

Error(s) in loading state_dict for unipose: size mismatch for backbone.conv1.weight: copying a param with shape torch.Size([64, 4, 7, 7]) from checkpoint, the shape in current model is torch.Size([64, 3, 7, 7]).

I don't know what is the origin of the fourth dimension in the model checkpoint. The Uni_pose LSTM 1st backbone Conv layer has 3 channels as input in the model.

bmartacho commented 3 years ago

During our experiments we tested a variety of configurations. A quick work around is to load your model with the following change on line 82 of UniposeLSTM.py prior to training your model.

prefix = 'backbone.conv1'

https://github.com/bmartacho/UniPose/blob/27234ff62c6e27f6d95a933c5ee2056e3e24e6ea/uniposeLSTM.py#L82

YuQi9797 commented 3 years ago

Linaashaji, can you share the format of Penn_action_data dataset and the code, I don't know what the original author's corresponding dataset handling looks like?