wudongming97 / TopoMLP

[ICLR2024] TopoMLP: A Simple yet Strong Pipeline for Driving Topology Reasoning
Apache License 2.0
159 stars 13 forks source link

A problem about visualization process on the result of OpenLaneV2_Subset_B_Dataset #13

Open Benson722 opened 8 months ago

Benson722 commented 8 months ago

Thank you for your job first!

After I run the test command:

./tools/dist_test.sh projects/configs/topomlp_setB_r50_wo_yolov8.py /home/zhangyiqing/mmdetection3d/checkpoints/topomlp_setB_r50_wo_yolov8_e24.pth 4 --eval=bbox --out output.pkl

, I get the output document "output.pkl". But when I use run visualize_results.py to try to visualize the output, some errors occured:

(openlanev2) zhangyiqing@inin:~/mmdetection3d$ python tools/misc/visualize_results.py projects/configs/topomlp_setB_r50_wo_yolov8.py --result data/output.pkl --show-dir work_dirs Traceback (most recent call last): File "tools/misc/visualize_results.py", line 50, in main() File "tools/misc/visualize_results.py", line 44, in main raise NotImplementedError( NotImplementedError: Show is not implemented for dataset OpenLaneV2SubsetBDataset!

Is there any problems in my command? Look forward to your reply. Thank you very much. :)

wudongming97 commented 8 months ago

It seems that openlanev2 does not support the visualization of set B.

Btw, please carefully check the error information by yourself. :)

Benson722 commented 8 months ago

Thank you for your reply. I try the "Centerline.ipynb" tutorials in openlanev2. But when I run collection = Collection(root_path, root_path, 'output'), some errors occurs:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/zhangyiqing/mmdetection3d/projects/tutorials/Centerline.ipynb 单元格 7 line 3
      [1](vscode-notebook-cell://ssh-remote%2B10.106.13.147/home/zhangyiqing/mmdetection3d/projects/tutorials/Centerline.ipynb#W6sdnNjb2RlLXJlbW90ZQ%3D%3D?line=0) from openlanev2.dataset import Collection, Frame
----> [3](vscode-notebook-cell://ssh-remote%2B10.106.13.147/home/zhangyiqing/mmdetection3d/projects/tutorials/Centerline.ipynb#W6sdnNjb2RlLXJlbW90ZQ%3D%3D?line=2) collection = Collection(root_path, root_path, 'output')
      [4](vscode-notebook-cell://ssh-remote%2B10.106.13.147/home/zhangyiqing/mmdetection3d/projects/tutorials/Centerline.ipynb#W6sdnNjb2RlLXJlbW90ZQ%3D%3D?line=3) frame = collection.get_frame_via_identifier(('test', '21000', '1533153857912404'))

File [~/OpenLane-V2/openlanev2/dataset/collection.py:47](https://vscode-remote+ssh-002dremote-002b10-002e106-002e13-002e147.vscode-resource.vscode-cdn.net/home/zhangyiqing/mmdetection3d/projects/tutorials/~/OpenLane-V2/openlanev2/dataset/collection.py:47), in Collection.__init__(self, data_root, meta_root, collection)
     [44](https://vscode-remote+ssh-002dremote-002b10-002e106-002e13-002e147.vscode-resource.vscode-cdn.net/home/zhangyiqing/mmdetection3d/projects/tutorials/~/OpenLane-V2/openlanev2/dataset/collection.py:44) except FileNotFoundError:
     [45](https://vscode-remote+ssh-002dremote-002b10-002e106-002e13-002e147.vscode-resource.vscode-cdn.net/home/zhangyiqing/mmdetection3d/projects/tutorials/~/OpenLane-V2/openlanev2/dataset/collection.py:45)     raise FileNotFoundError('Please run the preprocessing first to generate pickle file of the collection.')
---> [47](https://vscode-remote+ssh-002dremote-002b10-002e106-002e13-002e147.vscode-resource.vscode-cdn.net/home/zhangyiqing/mmdetection3d/projects/tutorials/~/OpenLane-V2/openlanev2/dataset/collection.py:47) self.frames = {k: Frame(data_root, v) for k, v in meta.items()}
     [48](https://vscode-remote+ssh-002dremote-002b10-002e106-002e13-002e147.vscode-resource.vscode-cdn.net/home/zhangyiqing/mmdetection3d/projects/tutorials/~/OpenLane-V2/openlanev2/dataset/collection.py:48) self.keys = list(self.frames.keys())

AttributeError: 'list' object has no attribute 'items'

But when I try the .pkl document "data_dict_subset_B_test.pkl", which is generated by the openlanev2 preprocess.py, there is no error. The command is collection = Collection(root_path, root_path, 'data_dict_subset_B_test').

Does the inference result of the model in this output.pkl? How can I view the .pkl document? Thanks!

zx1384187 commented 5 months ago

I met the same error,but which occured when I run visualize_results.py on subsetA instead of B. I run the commendpython visualize_results.py /root/autodl-tmp/TopoMLP/projects/configs/topomlp_setA_r50_wo_yolov8.py --result=/root/autodl-tmp/TopoMLP/out_pkl/out.pkl --show-dir=/root/autodl-tmp/TopoMLP/out_pkl/show-dir but some errors occur File "visualize_results.py", line 50, in main() File "visualize_results.py", line 44, in main raise NotImplementedError( NotImplementedError: Show is not implemented for dataset OpenLaneV2SubsetADataset! why? I need your help .Looking forward your reply ,thanks very much!

wudongming97 commented 5 months ago

I am not sure if the script "visualize_results.py" is available. I visualize my results from "test.py" in terms of Openlanev2:

Then you can train or evaluate a model using the config mmdetection3d/projects/openlanev2/configs/baseline.py, whose path is replaced accordingly. Options can be passed to enable supported functions during evaluation (--eval *), such as --eval-options dump=True dump_dir=/PATH/TO/DUMP to save pickle file for submission and --eval-options visualization=True visualization_dir=/PATH/TO/VIS for visualization.

canteen-man commented 2 months ago

test.py,可以保存show,没问题