SCNU-RISLAB / MF-MOS

This repo is the offical PyTorch implementation of MF-MOS.
GNU General Public License v3.0
42 stars 4 forks source link

Inquiry Regarding the Apollo Dataset #1

Open pointcloud1999 opened 2 months ago

pointcloud1999 commented 2 months ago

Hello, may I inquire if it's possible to obtain the annotated Apollo dataset (including calib and pose files)?

Terminal-K commented 2 months ago

Hi @pointcloud1999, I'm sorry for replying to you so late. You can obtain relevant information about the Apollo dataset from here. I hope this can help you :)

pointcloud1999 commented 2 months ago

Thank you for your reply and explanations. I changed the 'intense' and used the 'infer' function to generate predictions on the Apollo dataset, then tested it and found the IoU is only 0.1. What could be the reason for this? Which function should I modify correctly?

Terminal-K commented 2 months ago

Hi @pointcloud1999, Could you provide more details? Such as weight and your command.

pointcloud1999 commented 2 months ago

Thank you again for your response. Initially, following your last reply, I replaced the intensity values at line 100 in laserscan.py with remissions = scan[:, 3] and lines 81-84 in the range_projection function of auto_gen_residual_images.py with:

scan_x = current_vertex[:, 0]
scan_y = current_vertex[:, 1]
scan_z = current_vertex[:, 2]
intensity = current_vertex[:, 3]

Afterwards, I used the pretrained weights you provided, which have an IoU of 76.12, and employed the infer function to output predictions. Then, I tested the IoU of the model using evaluate_mos.py. Therefore, I have two questions: 1) Are the provided weights only suitable for semantic-kitti? If so, could you provide pretrained weights for Apollo? 2) Is the location where I replaced the intensity values correct? If not, could you advise on how to replace them correctly?

Terminal-K commented 2 months ago

Hi @pointcloud1999, As mentioned in this issue, you need to open the Apollo data provided by MapMOS and replace the fourth dimension of the point cloud data with the intensity provided by InsMOS. The data reading process of Apollo should be similar to the following:

def read_point_cloud_apollo(velodyne_file_name):
    InsMOS_file_path = os.path.join(InsMOS_folder_path, velodyne_file_name)
    apollo_intensity = np.fromfile(InsMOS_file_path, dtype=np.float32).reshape((-1, 1))

    MapMOS_file_path = os.path.join(MapMOS_folder_path, velodyne_file_name)
    apollo_data = np.fromfile(MapMOS_file_path, dtype=np.float32).reshape((-1, 4))

    apollo_data = np.concatenate((apollo_data[:, :3], apollo_intensity), axis=1)
    return apollo_data

BTW, we haven't released the test code for the Apollo. In fact, there are certain differences in the data range between the Apollo and the original semanticklTTl. Therefore, l suggest trying some preprocessing operations when testing the Apollo dataset. This may be helpful in improving performance.

Hope my reply can be helpful to you.

pointcloud1999 commented 2 months ago

However, I am currently using the mf-mos code, which does not include the functions you mentioned above. Are you suggesting that mf-mos cannot be used, and only ins-mos can be used to achieve good results?

Terminal-K commented 2 months ago

Hi, @pointcloud1999, Since this repo doesn't provide the relevant code for the Apollo dataset, I would not recommend using this repo if you want to achieve good results on Apollo.