2025ICCVBuCSFR
April 2, 2026 ยท View on GitHub
Learning Separable Fine-Grained Representation via Dendrogram Construction from Coarse Labels for Fine-grained Visual Recognition
This repo contains PyTorch implementation of the BucSFR. BucSFR is a method that learns fine-grained representations form coarsely labeled datasets without any supervision at the fine-grained level. For more details please check our paper BucSFR.

Installation
Setup the conda environment and install the required packages by running the following commands:
conda env create -n BuCSFR -f requirements.txt
conda activate BuCSFR
Dataset Preparation
- For ImageNet32, we followed the repo MaskCon;
- For CIFAR100, CIFAR10 and Stanford Cars, it will download the datasets automatically in your input path;
- For iNaturalist2019, we followed this repo Making Better Mistakes;
- For FGVC datasets, please download them from the official website:
Training
To train BuCSFR , please run the following command in the train.sh. For example, to train BucSFR on the CIFAR100 dataset, run:
CUDA_VISIBLE_DEVICES=0,3 python main.py --dist-url tcp://localhost:10009 --multiprocessing-distributed --world-size 1 --rank 0
--dataset cifar100 --arch resnet50 --img_size 224 --lr 0.03 --batch-size 256 --moco-k 65536 --moco-t 0.2
--data 'your data path'
--exp_dir ./experiment/cifar100
--warmup_epoch 10 --epochs 100 --workers 8 --mlp --aug-plus --cos
| tee -a zz_cifar100.log
Citation
If you find our code useful, please consider citing:
@InProceedings{Shi_2025_ICCV,
author = {Shi, Guanghui and Liang, Xuefeng and Li, Wenjie and Lin, Xiaoyu},
title = {Learning Separable Fine-Grained Representation via Dendrogram Construction from Coarse Labels for Fine-grained Visual Recognition},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2025},
pages = {870-879}
}.