This directory contains pre-trained models and comprehensive results from the Benchmarking Federated Learning and Knowledge Distillation for Point Cloud Classification benchmark (ECCV 2026).
Overview
This collection includes trained PointNet++ models evaluated on the 3D point cloud datasets across two training paradigms:
Classical Training: Centralized, single-machine model training
best_model.pth: Model weights achieving the highest validation accuracy during training
last_model.pth: Model weights from the final training round/epoch
resume.pth: Complete training state (model, optimizer, RNG) for resuming interrupted training
Configuration
config.json: Hyperparameters, dataset splits, model architecture, and training settings used for this experiment
Logs
train.log: Detailed per-epoch/round training logs including loss values and validation metrics
Metrics
metrics.jsonl: Machine-readable results in JSONL format containing:
Per-epoch/round accuracy metrics
Loss values
Training time information
Other performance indicators
Seeds and Reproducibility
Experiments use multiple random seeds (e.g., s7, s42, s123) to report mean ± standard deviation statistics, ensuring robust statistical conclusions. Load best_model.pth for production use; consult metrics.jsonl for full seed-wise performance breakdowns.
Federated Learning Algorithms
The FLKD benchmark evaluates these 13 FL algorithms:
FedAvg: Classical federated averaging (also called "vanilla")
FedProx: Proximal term regularization for heterogeneous local objectives
SCAFFOLD: Control variates to reduce client drift
FedDyn: Biased aggregation with consensus optimization
FedBN: Batch norm personalization for heterogeneous local data
MOON: Contrastive learning to maintain consistency
Ditto: Explicit client-local personalization
FedNova: Normalized aggregation for non-IID data
Model Architecture
PointNet++ (Single-Scale Grouping / SSG):
Multi-layer hierarchical feature learning on point clouds
Set Abstraction (SA) layers with ball query and PointNet modules
Feature Propagation (FP) layers for upsampling
Designed for robust 3D shape understanding
Usage
Loading a Model
python
1import torch
23# Load the best model for a specific configuration4model = torch.load('pointnet2_cls_ssg_s123/checkpoints/best_model.pth')56# Or load with full training state (for resuming)7checkpoint = torch.load('pointnet2_cls_ssg_s123/checkpoints/resume.pth')8model_state = checkpoint['model_state']9optimizer_state = checkpoint['optimizer_state']
Accessing Results
python
1import json
23# Load configuration4withopen('pointnet2_cls_ssg_s123/config.json')as f:5 config = json.load(f)67# Read metrics (each line is a JSON object)8withopen('pointnet2_cls_ssg_s123/metrics.jsonl')as f:9for line in f:10 epoch_metrics = json.loads(line)11print(epoch_metrics)
Citation
If you use these models or results, please cite the original paper:
bibtex
1@inproceedings{aizierjiang26benchmark,
2 title={Benchmarking Federated Learning and Knowledge Distillation for Point Cloud Classification},
3 author={Aizierjiang Aiersilan},
4 booktitle={European Conference on Computer Vision},
5 organization={Springer},
6 year={2026}
7}
License
The models and code follow the project's original license. Please refer to the main repository for detailed license information.