FLKD3DBenchmark / README.md
ezharjan's picture
Upload README.md
1ce0d1e verified
|
Raw
History Blame Contribute Delete
6.43 kB
metadata
license: mit
tags:
  - federated-learning
  - knowledge-distillation
  - point-cloud
  - 3d-classification
  - benchmarking
  - privacy-preserving
  - medical-imaging
dataset_info:
  features:
    - name: point_cloud
      dtype: float32
    - name: label
      dtype: int64
  splits:
    - name: train
      num_examples: unknown
    - name: validation
      num_examples: unknown
    - name: test
      num_examples: unknown
  supervised: true
  task_categories:
    - image-classification
  task_ids:
    - 3d-image-classification
pretty_name: FLKD 3D Point Cloud Benchmark
size_categories:
  - unknown
source_datasets:
  - craniosynostosis
  - modelnet40

FLKD 3D Benchmark - Output Models and Results

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
  • Federated Learning + Knowledge Distillation (FLKD): Distributed federated learning with knowledge distillation objectives

All experiments were conducted with multiple random seeds to ensure robust statistical reporting of performance metrics.

Directory Structure

RootDir/
└── <dataset_name></dataset_name>/
    β”œβ”€β”€ classification/
    β”‚   └── pointnet2_cls_ssg_s{seed}/
    β”‚       β”œβ”€β”€ checkpoints/
    β”‚       β”‚   β”œβ”€β”€ best_model.pth
    β”‚       β”‚   β”œβ”€β”€ last_model.pth
    β”‚       β”‚   └── resume.pth
    β”‚       β”œβ”€β”€ config.json
    β”‚       β”œβ”€β”€ logs/
    β”‚       β”‚   └── train.log
    β”‚       └── metrics.jsonl
    β”‚
    └── flkd/federated/classification/
        └── fl_pointnet2_cls_ssg_{algorithm}_s{seed}/
            β”œβ”€β”€ checkpoints/
            β”‚   β”œβ”€β”€ best_model.pth
            β”‚   β”œβ”€β”€ last_model.pth
            β”‚   └── resume.pth
            β”œβ”€β”€ config.json
            β”œβ”€β”€ logs/
            β”‚   └── train.log
            └── metrics.jsonl

File Descriptions

Checkpoints

  • 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
  • FedAvgM: Momentum-based federated averaging
  • FedAdam: Server-side adaptive learning rates (Adam variant)
  • FedYogi: Server-side adaptive learning rates (Yogi variant)
  • FedAdagrad: Server-side adaptive learning rates (AdaGrad variant)
  • FedMedian: Robust aggregation via median
  • 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

import torch

# Load the best model for a specific configuration
model = torch.load('pointnet2_cls_ssg_s123/checkpoints/best_model.pth')

# Or load with full training state (for resuming)
checkpoint = torch.load('pointnet2_cls_ssg_s123/checkpoints/resume.pth')
model_state = checkpoint['model_state']
optimizer_state = checkpoint['optimizer_state']

Accessing Results

import json

# Load configuration
with open('pointnet2_cls_ssg_s123/config.json') as f:
    config = json.load(f)

# Read metrics (each line is a JSON object)
with open('pointnet2_cls_ssg_s123/metrics.jsonl') as f:
    for line in f:
        epoch_metrics = json.loads(line)
        print(epoch_metrics)

Citation

If you use these models or results, please cite the original paper:

@inproceedings{aizierjiang26benchmark,
  title={Benchmarking Federated Learning and Knowledge Distillation for Point Cloud Classification},
  author={Aizierjiang Aiersilan},
  booktitle={European Conference on Computer Vision},
  organization={Springer},
  year={2026}
}

License

The models and code follow the project's original license. Please refer to the main repository for detailed license information.

Additional Resources

Notes

  • All models were trained using PyTorch with CUDA acceleration
  • Mixed precision (bf16) was applied where supported; exact fp32 on high performance GPUs
  • Auto-resume checkpoints enable resuming interrupted training without loss of progress
  • Metrics are reported as mean Β± std across multiple random seeds for robust statistical assessment

For questions, issues, or to contribute improvements, please visit the main repository or contact the authors through the project website.