mkocabas / pose-residual-network

Code for the Pose Residual Network introduced in 'MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network (ECCV 2018)' paper
https://arxiv.org/abs/1807.04067
346 stars 92 forks source link

Can't reach the performance reported in project. #14

Closed Yishun99 closed 6 years ago

Yishun99 commented 6 years ago

I trained your code from scratch without any changes and I got mAP=0.861 of coco_val2017 at the end of 16 epochs. I want to know how can I reach mAP=0.894?

Yishun99 commented 6 years ago

I found some difference between code and paper:

  1. Missing Hidden layer
    • Paper: "We trained the model with the person instances which has more than 2 keypoints"
    • code:
            if ann['iscrowd'] == 0 and ann['num_keypoints'] > 4:
                anns.append(ann) # ann
ZhongXiaoFang commented 6 years ago

Hi! when I retrain this code ,I placed the annotations in ./data/annotations. Could you tell me which path should the COCO images be placed? thank you very much @DouYishun

Yishun99 commented 6 years ago

@ZhongXiaoFang Only annotation is needed, for both the input and output are heatmap.

ZhongXiaoFang commented 6 years ago

Thank you for your reply. it means I just need to put the annotation files of COCO dataset in the path of ./data/annotations. and then run the command (python main.py) to train? I have installed all the requirements following the README.md. but meet this error when start training with command: python3 main.py .

loading annotations into memory... Done (t=6.83s) creating index... index created! loading annotations into memory... Done (t=0.27s) creating index... index created! Traceback (most recent call last): File "main.py", line 45, in main(option) File "main.py", line 24, in main model = PRN_Seperate(option.coeff28,option.coeff18, option.node_count) File "/home/zhong/pose-residual-network-master/src/model.py", line 33, in PRN_Seperate o = Activation('softmax')(o) File "/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py", line 457, in call output = self.call(inputs, **kwargs) File "/usr/local/lib/python3.5/dist-packages/keras/layers/core.py", line 299, in call return self.activation(inputs) File "/usr/local/lib/python3.5/dist-packages/keras/activations.py", line 31, in softmax return K.softmax(x) File "/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py", line 3231, in softmax return tf.nn.softmax(x, axis=axis) TypeError: softmax() got an unexpected keyword argument 'axis' @DouYishun