Bo Yang
Bo Yang
Hi @zhaoyu19920930 , the fin['coords'][block_id] represents the x-y-z of each point in the GLOBAL coordinate of a room (not a block), while the fin['points'][block_id][:, 0:3] represents the x-y-z of each...
hi @pomelo93, sem_labels --> the ground truth category of each point, ins_labels --> the object instance label of each point. You are suggested to visualize the semantic and instance labels...
@pomelo93 To plot the instance segmentation results of different approaches, we generate a random color for each object instance, so the same object may not have the same color for...
@pomelo93 你好,上面所有的理解都是完全对的~ 另外ins_max_num = 24 就是设定 最多24个instance,这个数值可以根据你自己的dataset 设定。
@pomelo93 (1) 预测的instance 数量和gt数量差异大 是因为 blockmerge算法并不能准确的把blocks合并到一起,产生了很多细碎的instances,这一步处理基本上是个bottleneck。当然理想情况是网络可以一次性把一个房间全部test了,直接吐出所有instance, 但当时用的pointnet++ backbone并不能处理大规模点云, 需要新的backbone才行,个人认为这是一个很好future work。 (2) 如果remove的细碎instances 需要visualize,就随机生成一些颜色保存。 (3) sem_pred_all 最多预测13个类,不一定非要13个。 (4) 在train的时候,确实可以只用匹配好的T个bbox去预测mask,我只是为了代码简单省事就都扔进去的。
Hi @Darknesszlx , thank you for the good suggestion. So far the sum operation is fine because we use the "zero-one-center" to preprocess the point clouds, which means all the...
Hi @bonbonjour , it's simple to get it. from plyfile import PlyData, PlyElement scene_full_3d_mesh = PlyData.read(in_raw_scans_folder+scene_name+'/'+scene_name+'_vh_clean_2.ply') scene_full_3d_pc = np.asarray((scene_full_3d_mesh['vertex'].data).tolist(), dtype=np.float32).reshape([-1, 7]) ## the 7 channels represent [ x-y-z-r-g-b-a]
Hi @bonbonjour , the script "export_train_mesh_for_evaluation.py" is to generate formatted results for ScanNet online evaluation. If you want to generate the ins labels for training the network, check out the...
Hi @lapetite123 , the *_vh_clean_2.ply file is the raw point cloud. To divide the raw point cloud into blocks, you need to keep all points. When training the 3D-BoNet, you...
@lapetite123 yes, when dividing the point cloud into blocks, you need to divide the sem/ins labels for each corresponding block.