microsoft / scene_graph_benchmark

image scene graph generation benchmark
MIT License
382 stars 86 forks source link

the labelmap only provide 50 objects? Could it more bigger Or we only from scratch to train the project object detection? #21

Open alice-cool opened 3 years ago

alice-cool commented 3 years ago

the labelmap only provide 50 objects? Could it more bigger Or we only from scratch to train the project object detection?

I have all the boxes object label ,but it is bigger than the 50 object label in labelmap.file that project provide. So how I should get the relation prediction?

I run the precls code , Always get the KeyError: 'broccoli','carrot', and so on.....

alice-cool commented 3 years ago

Remove FasterRCNN detector dependency: during relation head training, can plugin bounding boxes from any detector.

How to only train the relation head? use predcls mode?

hanxiaotian commented 3 years ago

For model trained on VG, we have total 150 object classes and for model trained on OpenImagesVRD, we have 57 object classes. Do you mean to train relation head from scratch?

alice-cool commented 3 years ago

For model trained on VG, we have total 150 object classes and for model trained on OpenImagesVRD, we have 57 object classes. Do you mean to train relation head from scratch?

Dear scholar, Because my object categories is bigger than 150, so it can't apply the model to the remainning object that are not in 150 categories. For example, 150 objects categories don't include sky. But rain is in the sky, the triplet won't get the relation between them.

hanxiaotian commented 3 years ago

For this kind of usage, you can follow this part.

Thanks

alice-cool commented 3 years ago

For this kind of usage, you can follow this part.

Thanks Thanks for your timely reply. My condition is as follows: I have made my 1370 object categories to the range of 150 . And I run the predcls model (using neural motif ) and got the result . So I want to get more precise result. Because 1370 to 150 will get information loss. So I modify the labelmap and remove the freq file, because these file only adapt to the 150 object categories. But when using the same code, I got bug because the model only could use 150 object categories. So could you give me some suggestions about how to make the model to use 1370 object categories?

I just want to get the predicate label. I have the object label(only it incluedes 1370 categories) and bounding box. I only want to get the predicate label. In my circumstance. I should have to from scratch train the neural motif network about 1370 object categories and then using the pretrained weights to get the predicate label?

hanxiaotian commented 3 years ago

I got you idea. Mapping those 1370 object classes into the150 we used is definetely a good way to go. But as you said, this might not be very accurate. If you make sure all your object classes' index within 150 and the mapped index is exactly the same as original model, then it should be fine.