Closed DateBro closed 4 years ago
I have learned to train RetinaNet with the training dataset for T-Less using detection_utils/generate_sixd_train.py, but I don't know how to incorporate them. Should I change something in a configuration file or adapt the ae_eval file?
@MartinSmeyer hi, I have started training keras-retinanet and get several model.h5. Should I use keras_to_tensorflow to convert it to a pb file and set the pb file path in the eval_group/eval_my_autoencoder.cfg?
Hi,
thanks and sorry for the late answer. ae_eval.py
does not support running RetinaNet and the AAE together. You will first need to run RetinaNet on all test scenes and save the results in one yml file per scene. The yml files are called "{:02d}.yml".format(scene_id) and their structure is:
<view_id>
[
"obj_bb"
[<xmin>, <ymin>, <width>, <height>] # in px
"obj_id": <obj_id>
"score": <score>
,
"obj_bb"
[<xmin>, <ymin>, <width>, <height>] # in px
"obj_id": <obj_id>
"score": <score>
...
]
<view_id>
....
Finally, set the "external" parameter in your evaluation config to the folder where all the yml files are located.
It seems that if I want to use RetinaNet I should create my own ground truth yml
file like the yml file created in the Generate a training dataset for T-Less using detection_utils/generate_sixd_train.py
, right?
By the way, is there a tutorial or tip to help me train my SSD-TensorFlow using the rendered dataset? I found that the SSD-TensorFlow seems not to support the custom dataset. I think it would be better if I can follow it to run SSD and AAE together and get a complete pipeline.
Finally, I'll try your tips first and sincerely thanks for your help!
Sorry for my naive question --- what does the scene id mean? I have generated only one gt.yml
using detection_utils/generate_sixd_train.py
and I have no idea about the scene id. It seems that it's not the obj_id. I found that scene id in T-LESS test dataset download page, does this mean that I should test T-LESS dataset to generate scene_id.yml rather than testing on test images of generate_sixd_train.py
?
tless has 20 scenes, and each scene has a scene id.
@pengsida Thanks for your explanation.
Hi, your works are awesome! I am trying to run the code by following the README, but I fell confused in 'Evaluate 6D Object Detection with a 2D Object Detector'. I have generated the training dataset for t-less and am going to train the SSD-TensorFlow. I run the 'ae_eval exp_group/my_autoencoder name_of_evaluation --eval_cfg eval_group/eval_my_autoencoder.cfg' without any extra config and got an error -- 'ImportError: No module named rmcssd.bin'. Does it mean that I should install SSD-TensorFlow as a pip package or do something else? By the way, where should I config the SSD? I am sorry for my poor English and sincerely appreciate your help.