Cysu / open-reid

Open source person re-identification library in python
https://cysu.github.io/open-reid/
MIT License
1.34k stars 349 forks source link

dataset doesn't have camera view lable #51

Closed hustmf closed 6 years ago

hustmf commented 6 years ago

My dataset doesn't have camera lable. In order to satisfy the format of dataset, I assume all of them are from same camera (camera 0). And no problem happened during training. But error happened at evaluating, File "examples/softmax_loss.py", line 150, in main top1 = evaluator.evaluate(val_loader, dataset.val, dataset.val) File "/workspace/gjc/anaconda2/envs/py35/lib/python3.5/site-packages/open_reid-0.2.0-py3.5.egg/reid/evaluators.py", line 120, in evaluate File "/workspace/gjc/anaconda2/envs/py35/lib/python3.5/site-packages/open_reid-0.2.0-py3.5.egg/reid/evaluators.py", line 98, in evaluate_all File "/workspace/gjc/anaconda2/envs/py35/lib/python3.5/site-packages/open_reid-0.2.0-py3.5.egg/reid/evaluators.py", line 98, in <dictcomp> File "/workspace/gjc/anaconda2/envs/py35/lib/python3.5/site-packages/open_reid-0.2.0-py3.5.egg/reid/evaluation_metrics/ranking.py", line 78, in cmc RuntimeError: No valid query To simplify, I have deleted code about mAP and cuhk03.(Same error happened when I haven't modified code) Since I don't have camera lable, how should I evaluate the model in such situation? May anyone help me? @Cysu @zydou

zydou commented 6 years ago

How do you split your dataset.gallery and dataset.query? You could set your gallery camera to 1 and query camera to 0.

hustmf commented 6 years ago

For I only have one dataset, I made use of the code in viper.py to randomly create training and test split.

hustmf commented 6 years ago

Is there any method to evaluate without camera view?

aytackanaci commented 6 years ago

I was going to as the same question. There are datasets like VehicleID where images don't have camera labels.

For evaluation, images from the test set, are randomly split into query and gallery. (They are assumed to come from different cameras). For such a scenario would the current code require significant changes? Maybe there can be a new "cmc_config" for such a setting?

Cysu commented 6 years ago

@hustmf @aytackanaci You may try to change [this] line to

separate_camera_set=False

and see if that helps.