- Notifications
You must be signed in to change notification settings - Fork18
Implementation of Federated Learning to Person Re-identification (Code for ACMMM 2020 paper)
License
cap-ntu/FedReID
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Code for ACMMM 2020 oral paper -Performance Optimization for Federated Person Re-identification via Benchmark Analysis
Personal re-identification is an important computer vision task, but its development is constrained by the increasing privacy concerns. Federated learning is a privacy-preserving machine learning technique that learns a shared model across decentralized clients. In this work, we implement federated learning to person re-identification (FedReID) and optimize its performance affected bystatistical heterogeneity in the real-world scenario.
Algorithm: Federated Partial Averaging (FedPav)
- Install the libraries listed in requirements.txt
pip install -r requirements.txt
🎉 We are now releasing the processed datasets. (April, 2022)
Pleaseemail us (ccthis email in case it is filtered as spam) to request for the datasets with:
- A short self-introduction.
- The purposes of using these datasets.
⚠️ Further distribution of the datasets are prohibited.
We use 9 popular ReID datasets for the benchmark.
You can obtain the datasets fromawesome-reid-dataset
Dataset folder structure after preprocessing is providedhere
You can follow the following steps to preprocess datasets:
- Download all datasets to
data_preprocess/datafolder. - We provide the Json files for spliting the small datasets. (We haven't officially release the
split.jsonfiles. Please send an email with short introduction to request for them.) - Run the following script to prepare all datasets:
python prepare_all_datasets.py - Move the
datafolder to the root directory.move data_preprocess/data ./ - For federated-by-identity scenario:
python split_id_data.py - For federated-by-camera scenario:
python split_camera_data.py - For merging all datasets to do merge training, you can use
rename_dataset.pyandmix_datasets.py.
Remember to save the log file for later use!
- Run Federated Partial Averaging (FedPav):
python main.py - Run FedPav with knowledge distillation (KD):
python main.py --kd --regularization - Run FedPav with cosine distance weight (CDW):
python main.py --cdw - Run FedPav with knowledge distillation and cosine distance weight:
python main.py --cdw --kd --regularization
@inproceedings{zhuang2020performance, title={Performance Optimization of Federated Person Re-identification via Benchmark Analysis}, author={Zhuang, Weiming and Wen, Yonggang and Zhang, Xuesen and Gan, Xin and Yin, Daiying and Zhou, Dongzhan and Zhang, Shuai and Yi, Shuai}, booktitle={Proceedings of the 28th ACM International Conference on Multimedia}, pages={955--963}, year={2020}}@article{zhuang2023fedreid, title={Optimizing performance of federated person re-identification: Benchmarking and analysis}, author={Zhuang, Weiming and Gan, Xin and Wen, Yonggang and Zhang, Shuai}, journal={ACM Transactions on Multimedia Computing, Communications and Applications}, volume={19}, number={1s}, pages={1--18}, year={2023}, publisher={ACM New York, NY}}About
Implementation of Federated Learning to Person Re-identification (Code for ACMMM 2020 paper)
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
