pse-ecn / pose-sensitive-embedding

Pose Sensitive Embedding for Person Re-Identification (PSE)
112 stars 36 forks source link

The method "Views only" outperforms "PSE" in market dateset. #33

Closed datar001 closed 4 years ago

datar001 commented 4 years ago

hi, Thank you very much for publishing the perfect work. When I finished all the training, I found a problem that the performance of the view-only method was better than that of the pse method in all aspects. Why? The following table is my performance after training.

image

The following table shows the exposed performance image

datar001 commented 4 years ago

My training environment: tf-gpu-1.10.0 python-3.65 My training steps: 1.Training baseline model : python3 trainer_preid.py --output=outputs/ril_baseline --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=net_model/-resnet_v1_50.ckpt --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits --no-evaluation

2.Finetune the baseline model python3 trainer_preid.py --output=outputs/ril_baseline --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/ril_baseline/model.ckpt-80800  --no-evaluation

3.Training the Views Predictor on rap python3 trainer_views.py --output=outputs/view_rap --data=data/RAP--dataset-name=rap --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/model.ckpt-79992 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/3Views --ignore-missing-variables

4.Training the Views Predictor on market1501 python train_preid.py --output=outputs/view_market --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/view_rap/model.ckpt-207900 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches --no-evaluation

5.Finetune the Views Predictor on market1501 python3 trainer_preid.py --output=outputs/view_market_whole --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=150 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/view_market/ model.ckpt-80800--no-evaluation

6.Traiing Pose Map Models on market1501 python3 trainer_preid.py --output=outputs/posemap_market/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/view_market_whole/model.ckpt-121200 --checkpoint-exclude-scopes=resnet_v1_50/logits,resnet_v1_50/conv1 --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/conv1 --no-evaluation --ignore-missing-variables

7.Finetune the Pose Map Models python3 trainer_preid.py --output=outputs/posemap_market_whole/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/posemap_market/model.ckpt-80800 --no-evaluation --ignore-missing-variables

8.Training a Pose Sensitive Embedding Model (Views + Pose Maps Model) python3 trainer_preid.py --output=outputs/pse/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/posemap_market_whole/model.ckpt-80800 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches --no-evaluation --ignore-missing-variables

9.Finetune the Pose Sensitive Embedding Model python3 trainer_preid.py --output=outputs/pse_whole/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/pse/model.ckpt-80800 --no-evaluation --ignore-missing-variables

Prediction

  1. Predicting baseline model python predictor_preid.py --model-dir=outputs\whole_baseline --data=data\market --dataset-name=market1501 --batch-size=128 --network-name=resnet_v1_50

  2. Predicting Views-only model python predictor_preid.py --model-dir=outputs\view_market_whole --data=data\market --dataset-name=market1501 --batch-size=128 --network-name=resnet_v1_50_views

  3. Predicting Pose-only model python predictor_preid.py --model-dir=outputs\posemap_market --data=data\market --dataset-name=market1501-pose-maps --batch-size=128 --network-name=resnet_v1_50

4.Predicting pse model python predictor_preid.py --model-dir=outputs\pse_whole --data=data\market --dataset-name=market1501-pose-maps --batch-size=128 --network-name=resnet_v1_50 _views

ssarfraz commented 4 years ago

hmm..hard to comment, but the results look promising, may be try training the full model further as long as you keep seeing loss going down.. it should catch up

datar001 commented 4 years ago

OK, thanks for your reply

ravi7248 commented 4 years ago

My training environment: tf-gpu-1.10.0 python-3.65 My training steps: 1.Training baseline model : python3 trainer_preid.py --output=outputs/ril_baseline --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=net_model/-resnet_v1_50.ckpt --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits --no-evaluation

2.Finetune the baseline model python3 trainer_preid.py --output=outputs/ril_baseline --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/ril_baseline/model.ckpt-80800  --no-evaluation

3.Training the Views Predictor on rap python3 trainer_views.py --output=outputs/view_rap --data=data/RAP--dataset-name=rap --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/model.ckpt-79992 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/3Views --ignore-missing-variables

4.Training the Views Predictor on market1501 python train_preid.py --output=outputs/view_market --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/view_rap/model.ckpt-207900 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches --no-evaluation

5.Finetune the Views Predictor on market1501 python3 trainer_preid.py --output=outputs/view_market_whole --data=data/market --dataset-name=market1501 --batch-size=16 --num-epochs=150 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/view_market/ model.ckpt-80800--no-evaluation

6.Traiing Pose Map Models on market1501 python3 trainer_preid.py --output=outputs/posemap_market/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/view_market_whole/model.ckpt-121200 --checkpoint-exclude-scopes=resnet_v1_50/logits,resnet_v1_50/conv1 --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/conv1 --no-evaluation --ignore-missing-variables

7.Finetune the Pose Map Models python3 trainer_preid.py --output=outputs/posemap_market_whole/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50 --initial-checkpoint=outputs/posemap_market/model.ckpt-80800 --no-evaluation --ignore-missing-variables

8.Training a Pose Sensitive Embedding Model (Views + Pose Maps Model) python3 trainer_preid.py --output=outputs/pse/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/posemap_market_whole/model.ckpt-80800 --checkpoint-exclude-scopes=resnet_v1_50/logits --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches --no-evaluation --ignore-missing-variables

9.Finetune the Pose Sensitive Embedding Model python3 trainer_preid.py --output=outputs/pse_whole/ --data=data/market --dataset-name=market1501-pose-maps --batch-size=16 --num-epochs=100 --network-name=resnet_v1_50_views --initial-checkpoint=outputs/pse/model.ckpt-80800 --no-evaluation --ignore-missing-variables

Prediction

  1. Predicting baseline model python predictor_preid.py --model-dir=outputs\whole_baseline --data=data\market --dataset-name=market1501 --batch-size=128 --network-name=resnet_v1_50
  2. Predicting Views-only model python predictor_preid.py --model-dir=outputs\view_market_whole --data=data\market --dataset-name=market1501 --batch-size=128 --network-name=resnet_v1_50_views
  3. Predicting Pose-only model python predictor_preid.py --model-dir=outputs\posemap_market --data=data\market --dataset-name=market1501-pose-maps --batch-size=128 --network-name=resnet_v1_50

4.Predicting pse model python predictor_preid.py --model-dir=outputs\pse_whole --data=data\market --dataset-name=market1501-pose-maps --batch-size=128 --network-name=resnet_v1_50 _views

can you help me predicting the baseline model. I am trying to predict the performance of the model. I am getting error when I am trying to use Matlab for predictions and I am very much confuse in using python code that given in pose-sensitive-embedding/myPkg/open_rid/reid/evaluation_metrics/ranking.py I don't know how to call method that given in this ranking.py file if you can look up and tell me. It will be highly appreciated.