We lifted 29 functions out of this paper's own repositories and ran 22 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| jiachens/ModelNet40-C | canonical | 9 of 13 |
| tiangexiang/CurveNet | canonical | 5 of 8 |
| dogyoonlee/RSMix | pwc_unofficial | 8 of 8 |
| Function | Status | Where it lives |
|---|---|---|
| index_points | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/models/pointmlp.py code served (permissive licence) · get_code("449a0265144f6530") |
| batched_index_select | Ran | tiangexiang/CurveNet/core/models/walk.py code served (permissive licence) · get_code("f091cdd21c103f22") |
| cal_loss | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/helper.py code served (permissive licence) · get_code("c6c2758c0c2fa756") |
| calculate_shape_IoU | Ran | tiangexiang/CurveNet/core/main_partseg.py code served (permissive licence) · get_code("2a3bec3110f3fc3c") |
| farthest_point_sample | Ran | dogyoonlee/RSMix/dgcnn_rsmix/ModelNetDataLoader.py code served (permissive licence) · get_code("f80066a00e7156a2") |
| format_time | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/utils/misc.py code served (permissive licence) · get_code("8d7ec010c29e813b") |
| getDataFiles | Ran | dogyoonlee/RSMix/pointnet2_rsmix/modelnet_h5_dataset.py code served (permissive licence) · get_code("de3e0e22ff9c2e6a") |
| get_activation | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/models/pointmlp.py code served (permissive licence) · get_code("194020d4610c8bad") |
| get_graph_feature | Ran | dogyoonlee/RSMix/dgcnn_rsmix/model.py code served (permissive licence) · get_code("9a8756778dd8234a") |
| get_mean_and_std | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/utils/misc.py code served (permissive licence) · get_code("2c92cec199cf12cd") |
| gumbel_softmax | Ran | tiangexiang/CurveNet/core/models/walk.py code served (permissive licence) · get_code("4483990ec7814fc4") |
| knn | Ran | dogyoonlee/RSMix/dgcnn_rsmix/model.py code served (permissive licence) · get_code("cdd0141594039dcb") |
| knn | Ran | tiangexiang/CurveNet/core/models/curvenet_util.py code served (permissive licence) · get_code("fd43b3106ac73716") |
| load_data | Ran | jiachens/ModelNet40-C/dataloader.py code served (permissive licence) · get_code("babac28fe6cf159e") |
| load_h5 | Ran | dogyoonlee/RSMix/pointnet2_rsmix/modelnet_h5_dataset.py code served (permissive licence) · get_code("4378e52166c970f0") |
| normal_knn | Ran | tiangexiang/CurveNet/core/models/curvenet_util.py code served (permissive licence) · get_code("1979f86a5b2b0446") |
| pc_normalize | Ran | dogyoonlee/RSMix/dgcnn_rsmix/ModelNetDataLoader.py code served (permissive licence) · get_code("4783fbece52f500e") |
| pc_normalize | Ran | dogyoonlee/RSMix/pointnet2_rsmix/modelnet_dataset.py code served (permissive licence) · get_code("ec413739d406e611") |
| plot_overlap | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/utils/logger.py code served (permissive licence) · get_code("50afa2863ffd9fde") |
| shuffle_data | Ran | dogyoonlee/RSMix/pointnet2_rsmix/modelnet_h5_dataset.py code served (permissive licence) · get_code("06353aadebc1724b") |
| smooth_loss | Ran | jiachens/ModelNet40-C/all_utils.py code served (permissive licence) · get_code("f7ff7240ba3cadd3") |
| square_distance | Ran | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/models/pointmlp.py code served (permissive licence) · get_code("3bfe172e686075cd") |
| load_data | Not yet run | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/data.py code served (permissive licence) · get_code("8281e96e1ddd5bf2") |
| load_data_cls | Not yet run | tiangexiang/CurveNet/core/data.py code served (permissive licence) · get_code("a228e71e16dc39c3") |
| load_data_normal | Not yet run | tiangexiang/CurveNet/core/data.py code served (permissive licence) · get_code("66aba4ffa53084a8") |
| load_data_partseg | Not yet run | tiangexiang/CurveNet/core/data.py code served (permissive licence) · get_code("1bfbd6440e25aa39") |
| random_point_dropout | Not yet run | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/data.py code served (permissive licence) · get_code("05a0f3632a145154") |
| rscnn_voting_evaluate_cls | Not yet run | jiachens/ModelNet40-C/all_utils.py code served (permissive licence) · get_code("0cd52267ed0a888c") |
| translate_pointcloud | Not yet run | jiachens/ModelNet40-C/pointMLP/classification_ModelNet40/data.py code served (permissive licence) · get_code("791051c3e72b67d2") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Deep neural networks on 3D point cloud data have been widely used in the real world, especially in safety-critical applications. However, their robustness against corruptions is less studied. In this paper, we present ModelNet40-C, the first comprehensive benchmark on 3D point cloud corruption robustness, consisting of 15 common and realistic corruptions. Our evaluation shows a significant gap between the performances on ModelNet40 and ModelNet40-C for state-of-the-art (SOTA) models. To reduce the gap, we propose a simple but effective method by combining PointCutMix-R and TENT after evaluating a wide range of augmentation and test-time adaptation strategies. We identify a number of critical insights for future studies on corruption robustness in point cloud recognition. For instance, we unveil that Transformer-based architectures with proper training recipes achieve the strongest robustness. We hope our in-depth analysis will motivate the development of robust training strategies or architecture designs in the 3D point cloud domain. Our codebase and dataset are included in https://github.com/jiachens/ModelNet40-C
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2201.12296")
get_code_for_paper("2201.12296")
have("2201.12296")
Connect an agent — have() is free.