File size: 1,940 Bytes
93c6115
696cf1f
 
93c6115
 
 
 
696cf1f
93c6115
 
696cf1f
 
93c6115
696cf1f
 
 
 
c783e16
9172f41
696cf1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
---
base_model:
- microsoft/resnet-50
datasets:
- wltjr1007/DomainNet
language:
- en
license: mit
metrics:
- accuracy
pipeline_tag: image-classification
library_name: pytorch
---

arxiv.org/abs/2505.24216

[Code](https://github.com/PrasannaPulakurthi/SPM)

Paper: https://ieeexplore.ieee.org/document/11084606

# Shuffle PatchMix

This is the official implementation of the **ICIP 2025** paper **"Shuffle PatchMix Augmentation with Confidence-Margin Weighted Pseudo-Labels for Enhanced Source-Free Domain Adaptation"**, by [Prasanna Reddy Pulakurthi](https://www.prasannapulakurthi.com/), [Majid Rabbani](https://www.rit.edu/directory/mxreee-majid-rabbani), [Jamison Heard](https://www.rit.edu/directory/jrheee-jamison-heard), [Sohail A. Dianat](https://www.rit.edu/directory/sadeee-sohail-dianat), [Celso M. de Melo](https://celsodemelo.net/), and [Raghuveer Rao](https://ieeexplore.ieee.org/author/37281258600).

Shuffle PatchMix (SPM) is an augmentation technique that shuffles and blends image patches to generate diverse and challenging augmentations. It is combined with a novel reweighting strategy that prioritizes reliable pseudo-labels to mitigate label noise.

## Installation

1.  Clone this repository.

```bash
git clone https://github.com/PrasannaPulakurthi/SPM.git
cd SPM
```

2.  Install requirements using Python 3.9.

```bash
conda create -n spm-env python=3.9
conda activate spm-env
```

3.  The code is tested with [Pytorch](https://pytorch.org/get-started/locally/) 1.7.1, CUDA 11.0.

```bash
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html
```

4.  Please also make sure to install additional packages using the following command.

```bash
pip install -r requirements.txt
```

## Datasets

The model was evaluated on three major benchmarks: PACS, VisDA-C, and DomainNet-126. Instructions for preparing these datasets can be found in the Github repository.