# CALoss **Repository Path**: csc105/CALoss ## Basic Information - **Project Name**: CALoss - **Description**: The codes for Learning to Measure the Point Cloud Reconstruction Loss in a Representation Space - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-07 - **Last Updated**: 2024-02-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CALoss [CVPR'23] The codes for Learning to Measure the Point Cloud Reconstruction Loss in a Representation Space ## Environment * TensorFlow 1.13.1 * Cuda 10.0 * Python 3.6.9 * numpy 1.14.5 We also provide an available conda environment (`lcd.yaml`) in this repo. Please run: ``` conda env create -f caloss.yaml ``` ## Dataset The adopted ShapeNet Part dataset is adopted following [FoldingNet](http://www.merl.com/research/license#FoldingNet), while the ModelNet10 and ModelNet40 datasets follow [PointNet](https://github.com/charlesq34/pointnet.git). Other datasets can also be used. Just revise the path by the (`--filepath`) parameter when training or evaluating the networks. The files in (`--filepath`) should be organized as ├── .h5 ├── .h5 ├── ... ├── train_files.txt └── test_files.txt where the contents in (`train_files.txt`) or (`test_files.txt`) should include the directory of training or testing h5 files, such as: train_files.txt ├── .h5 ├── .h5 ├── ... We also provide the processed datasets in [Google Drive](https://drive.google.com/file/d/1sjUk8o-wsZp2PJUej4TsmjnOPvjJegKR/view?usp=sharing). You can just download, unzip them, and just set filepath to one of the dataset paths. ## Usage 1. Preparation ``` cd ./tf_ops bash compile.sh ``` 2. Train For the reconstruction task, ``` Python3 vv_cae.py ``` Note that the paths of data should be edited through the (`--filepath`) parameter according to your setting. For example, if we use the download dataset (`./objdata/ShapeNet_part`), the training command would be ``` Python3 vv_cae.py --filepath ./objdata/ShapeNet_part ``` 3. Test For the evaluation of reconstruction errors, ``` Python3 vvae_eva.py ``` The trained weight files should be provided by the (`--savepath`) parameter to evaluate the performances. Here, we also provide [weights](https://drive.google.com/file/d/19IqJ-LV5zpVrstu2yCn-LcUnt9mLaPtq/view?usp=sharing) of the reconstruction network AE pre-trained on ShapeNet Part dataset. To evaluate its performance, just download and unzip it, then change the savepath to its folder. If the dataset and weights are put in (`./objdata/ShapeNet_part`) and (`./pnae`), respectively, the command would be ``` Python3 vvae_eva.py --filepath ./objdata/ShapeNet_part --savepath ./pnae ``` 4.复现信息 复现人:钱毅杰 复现时间:2024.1.31 复现小结:本文提出了一种新的点云距离度量方法,使用网络将三维点云映射到高维的表征空间,并使用表征距离度量点云之间的形状差异。在训练过程中,该映射网络同时使用对比学习和对抗策略进行动态的更新,以构建相似形状表征较近但重构缺陷比较突出的表征空间。本方法的缺点在于,由于引入了网络结构,训练所需的显存会增加,且需要调整的超参数也有相应的增加。