This repository contains implementation of various FedFFTNet method for Source Camera Model Identification in Federated Learning Setup. The process involves two major phases:
- Patching of Images
- Model Training
Ensure your dataset is pre-split into train, test folders in the following structure:
data/
├── train/
├── test/
Laplacian based patching including distributing between global server and clients with a separated test dataset has been implemented.
Hyperparameters
| Variable | Type | Default | Description |
|---|---|---|---|
datapath |
str | ./data |
Source data directory |
number_clients |
int | 5 |
Number of clients |
initial_ratio |
int | 0.06 |
Globally available data ratio |
dist_type |
str | equal |
Data distribution : equal, random, skew |
Figure 1: Laplacian-based image patching and distribution across clients.
Once patching is complete, the resulting folder (e.g., patches/) should contain initial (if any) , clients, and test directories.
| Variable | Type | Default | Description |
|---|---|---|---|
root |
str | ./patches |
Directory containing patched data |
global_available |
bool | True |
Indicates if global data is available |
batchsize |
int | 128 |
Batch size for training |
ROUNDS |
int | 100 |
Number of global communication rounds |
CLIENT_EPOCHS |
int | 1 |
Number of local training epochs per client per round |
GLOBAL_EPOCHS |
int | 30 |
Number of global training epochs |
learning_rate |
float | 0.001 |
Learning rate |
device |
str | cuda:0 |
Device used for training (cuda:i or cpu) |
Figure 2: Overview of the proposed FedFFTNet architecture used for federated learning.
This code will be used for academic and research purpose only. Do cite the paper (Accepted on IEEE Transactions on Artificial Intelligence) if using the method:
@article{chakraborty2025source,
title={Source Camera Model Identification via Federated Learning using Laplacian-based Patches},
author={Chakraborty, Rejoy and Goyal, Puneet},
journal={IEEE Transactions on Artificial Intelligence},
year={2025},
publisher={IEEE}
}
---

