Git Product home page Git Product logo

interpretable3d's Introduction

Interpretable3D: An Ad-Hoc Interpretable Classifier for 3D Point Clouds

Interpretable3D: An Ad-Hoc Interpretable Classifier for 3D Point Clouds
Tuo Feng, Ruijie Quan, Xiaohan Wang, Wenguan Wang, Yi Yang

This is the official implementation of "Interpretable3D: An Ad-Hoc Interpretable Classifier for 3D Point Clouds" (Accepted at AAAI 2024).

Abstract

3D decision-critical tasks urgently require research on explanations to ensure system reliability and transparency. Extensive explanatory research has been conducted on 2D images, but there is a lack in the 3D field. Furthermore, the existing explanations for 3D models are post-hoc and can be misleading, as they separate explanations from the original model. To address these issues, we propose an ad-hoc interpretable classifier for 3D point clouds (i.e., Interpretable3D). As an intuitive case-based classifier, Interpretable3D can provide reliable ad-hoc explanations without any embarrassing nuances. It allows users to understand how queries are embedded within past observations in prototype sets. Interpretable3D has two iterative training steps: 1) updating one prototype with the mean of the embeddings within the same sub-class in Prototype Estimation, and 2) penalizing or rewarding the estimated prototypes in Prototype Optimization. The mean of embeddings has a clear statistical meaning, i.e., class sub-centers. Moreover, we update prototypes with their most similar observations in the last few epochs. Finally, Interpretable3D classifies new samples according to prototypes. We evaluate the performance of Interpretable3D on four popular point cloud models: DGCNN, PointNet2, PointMLP, and PointNeXt. Our Interpretable3D demonstrates comparable or superior performance compared to softmax-based black-box models in the tasks of 3D shape classification and part segmentation.

Dataset

ModelNet40:

resampled ModelNet here and save in data/modelnet40_normal_resampled/, or ModelNet here and save in data/modelnet40_ply_hdf5_2048/.

ScanObjectNN: ScanObjectNN here and save in data/ScanObjectNN/main_split/.

Note: We conduct experiments on the hardest variant of ScanObjectNN (PB_T50_RS).

Run

To train Interpretable3D-M:

python train_XXXX_ip3d.py

To test Interpretable3D-M:

python test_XXXX_ip3d.py

Models

Interpretable3D-M

Interpretable3D-M thoroughly updates the prototype with the mean of subclass centers obtained by online clustering.

Pointnet++

Please refer to Pointnet_Pointnet2_pytorch for its installation.

Performance on ModelNet40:

Model Accuracy
PointNet2_MSG (Pytorch with normal) 92.8
Interpretable3D-M+PointNet2_MSG (Pytorch with normal) 93.5
Interpretable3D-M+PointNet2_MSG (Pytorch with normal) (vote) 93.7

Performance on ScanObjectNN:

Model OA(%) mAcc(%)
PointNet2_MSG (paper) 79.1 77.6
Interpretable3D (paper) 79.3 78.4
PointNet2_MSG (reprod.) 79.9 77.1
Interpretable3D-M+PointNet2_MSG (reprod.) 80.0 77.3

More code and experimental results will be gradually open-sourced.

Discussion

We find that training the softmax classifier and Interpretable3D-M simultaneously leads to faster convergence and better results.

Citation

If you find the code useful in your research, please consider citing our paper:

@inproceedings{feng2024interpretable3D,
	title={Interpretable3D: An Ad-Hoc Interpretable Classifier for 3D Point Clouds},
	author={Feng, Tuo and Quan, Ruijie and Wang, Xiaohan and Wang, Wenguan, and Yang, Yi},
	booktitle=AAAI,
	year={2024}
}

Any comments, please email: [email protected].

Acknowledgments

We thank for the opensource codebases: DNC, ProtoSeg, Pointnet_Pointnet2_pytorch, PointNeXt and Cluster3DSeg.

interpretable3d's People

Contributors

fengzicai avatar

Stargazers

Guikun Chen avatar  avatar  avatar Zhongjian Huang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.