CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation

Overview

Python >=3.5 PyTorch >=1.0

[ICCV2021] TransReID: Transformer-based Object Re-Identification [pdf]

The official repository for TransReID: Transformer-based Object Re-Identification achieves state-of-the-art performances on object re-ID, including person re-ID and vehicle re-ID.

News

  • 2021.12 We improve TransReID via self-supervised pre-training. Please refer to TransReID-SSL
  • 2021.3 We release the code of TransReID.

Pipeline

framework

Abaltion Study of Transformer-based Strong Baseline

framework

Requirements

Installation

pip install -r requirements.txt
(we use /torch 1.6.0 /torchvision 0.7.0 /timm 0.3.2 /cuda 10.1 / 16G or 32G V100 for training and evaluation.
Note that we use torch.cuda.amp to accelerate speed of training which requires pytorch >=1.6)

Prepare Datasets

mkdir data

Download the person datasets Market-1501, MSMT17, DukeMTMC-reID,Occluded-Duke, and the vehicle datasets VehicleID, VeRi-776, Then unzip them and rename them under the directory like

data
├── market1501
│   └── images ..
├── MSMT17
│   └── images ..
├── dukemtmcreid
│   └── images ..
├── Occluded_Duke
│   └── images ..
├── VehicleID_V1.0
│   └── images ..
└── VeRi
    └── images ..

Prepare DeiT or ViT Pre-trained Models

You need to download the ImageNet pretrained transformer model : ViT-Base, ViT-Small, DeiT-Small, DeiT-Base

Training

We utilize 1 GPU for training.

python train.py --config_file configs/transformer_base.yml MODEL.DEVICE_ID "('your device id')" MODEL.STRIDE_SIZE ${1} MODEL.SIE_CAMERA ${2} MODEL.SIE_VIEW ${3} MODEL.JPM ${4} MODEL.TRANSFORMER_TYPE ${5} OUTPUT_DIR ${OUTPUT_DIR} DATASETS.NAMES "('your dataset name')"

Arguments

  • ${1}: stride size for pure transformer, e.g. [16, 16], [14, 14], [12, 12]
  • ${2}: whether using SIE with camera, True or False.
  • ${3}: whether using SIE with view, True or False.
  • ${4}: whether using JPM, True or False.
  • ${5}: choose transformer type from 'vit_base_patch16_224_TransReID',(The structure of the deit is the same as that of the vit, and only need to change the imagenet pretrained model) 'vit_small_patch16_224_TransReID','deit_small_patch16_224_TransReID',
  • ${OUTPUT_DIR}: folder for saving logs and checkpoints, e.g. ../logs/market1501

or you can directly train with following yml and commands:

# DukeMTMC transformer-based baseline
python train.py --config_file configs/DukeMTMC/vit_base.yml MODEL.DEVICE_ID "('0')"
# DukeMTMC baseline + JPM
python train.py --config_file configs/DukeMTMC/vit_jpm.yml MODEL.DEVICE_ID "('0')"
# DukeMTMC baseline + SIE
python train.py --config_file configs/DukeMTMC/vit_sie.yml MODEL.DEVICE_ID "('0')"
# DukeMTMC TransReID (baseline + SIE + JPM)
python train.py --config_file configs/DukeMTMC/vit_transreid.yml MODEL.DEVICE_ID "('0')"
# DukeMTMC TransReID with stride size [12, 12]
python train.py --config_file configs/DukeMTMC/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"

# MSMT17
python train.py --config_file configs/MSMT17/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"
# OCC_Duke
python train.py --config_file configs/OCC_Duke/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"
# Market
python train.py --config_file configs/Market/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"
# VeRi
python train.py --config_file configs/VeRi/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"

# VehicleID (The dataset is large and we utilize 4 v100 GPUs for training )
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 --master_port 66666 train.py --config_file configs/VehicleID/vit_transreid_stride.yml MODEL.DIST_TRAIN True
#  or using following commands:
Bash dist_train.sh 

Tips: For person datasets with size 256x128, TransReID with stride occupies 12GB GPU memory and TransReID occupies 7GB GPU memory.

Evaluation

python test.py --config_file 'choose which config to test' MODEL.DEVICE_ID "('your device id')" TEST.WEIGHT "('your path of trained checkpoints')"

Some examples:

# DukeMTMC
python test.py --config_file configs/DukeMTMC/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"  TEST.WEIGHT '../logs/duke_vit_transreid_stride/transformer_120.pth'
# MSMT17
python test.py --config_file configs/MSMT17/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT '../logs/msmt17_vit_transreid_stride/transformer_120.pth'
# OCC_Duke
python test.py --config_file configs/OCC_Duke/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT '../logs/occ_duke_vit_transreid_stride/transformer_120.pth'
# Market
python test.py --config_file configs/Market/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"  TEST.WEIGHT '../logs/market_vit_transreid_stride/transformer_120.pth'
# VeRi
python test.py --config_file configs/VeRi/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT '../logs/veri_vit_transreid_stride/transformer_120.pth'

# VehicleID (We test 10 times and get the final average score to avoid randomness)
python test.py --config_file configs/VehicleID/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT '../logs/vehicleID_vit_transreid_stride/transformer_120.pth'

Trained Models and logs (Size 256)

framework

Datasets MSMT17 Market Duke OCC_Duke VeRi VehicleID
Model mAP | R1 mAP | R1 mAP | R1 mAP | R1 mAP | R1 R1 | R5
Baseline(ViT) 61.8 | 81.8 87.1 | 94.6 79.6 | 89.0 53.8 | 61.1 79.0 | 96.6 83.5 | 96.7
model | log model | log model | log model | log model | log model | test
TransReID*(ViT) 67.8 | 85.3 89.0 | 95.1 82.2 | 90.7 59.5 | 67.4 82.1 | 97.4 85.2 | 97.4
model | log model | log model | log model | log model | log model | test
TransReID*(DeiT) 66.3 | 84.0 88.5 | 95.1 81.9 | 90.7 57.7 | 65.2 82.4 | 97.1 86.0 | 97.6
model | log model | log model | log model | log model | log model | test

Note: We reorganize code and the performances are slightly different from the paper's.

Acknowledgement

Codebase from reid-strong-baseline , pytorch-image-models

We import veri776 viewpoint label from repo: https://github.com/Zhongdao/VehicleReIDKeyPointData

Citation

If you find this code useful for your research, please cite our paper

@InProceedings{He_2021_ICCV,
    author    = {He, Shuting and Luo, Hao and Wang, Pichao and Wang, Fan and Li, Hao and Jiang, Wei},
    title     = {TransReID: Transformer-Based Object Re-Identification},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2021},
    pages     = {15013-15022}
}

Contact

If you have any question, please feel free to contact us. E-mail: [email protected] , [email protected]

Comments
  • Question on performance

    Question on performance

    Hi, thanks for your awesome work. I met some problem when trying to reproduce the results of vit-base on MSMT17. all default settings were not changed. I only got 58.2% mAP and 78.8% Rank1 that results is far lower than your reported, 61% mAP and 81% Rank1.

    In addition, could you provide the config file that is used for ResNet50 to achieve 51.3% mAP?

    opened by STARK1234 8
  • Change Backbone to Swin Transformer

    Change Backbone to Swin Transformer

    Hello, first of all thank you guys for your excellent work. Have you ever tried to replace the backbone network of TransReID with Swin Transformer, because Swin seems to surpass ViT and DeiT in various fields of computer vision. I don’t know if Swin is in the re-identification field will also perform better. I look forward to your reply, thank you.

    opened by Soar-Sir 6
  • stays at

    stays at "transreid.train INFO: start training "

    Hi,

    Your work regarding Reid using Transformers is really appreciated.

    I am trying to train the "Market" dataset using the terminal command: python train.py --config_file configs/Market/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')" Model is initiallized but it remains in the state "transreid.train INFO: start training" and do not proceed further for training. While trying to debug, I found that program enters in the main loop of epochs but doesn't enters in the nested loop as shown below:
    https://github.com/heshuting555/TransReID/blob/5901746360fc5c02b415f4dafb191d8d20d6e1c2/processor/processor.py#L43-L50 I don't know how to resolve this issue. Meanwhile i also looked into this but this didn't help me out. I shall be thankful for the fruitful response.

    Kind Regards,

    opened by hlmhlr 6
  • 请问训练ID增加之后训练效果越来越差怎么回事呢

    请问训练ID增加之后训练效果越来越差怎么回事呢

    我用market的数据训练的结果还是不错的,map能到89。但是换成我自己的数据总共2w多ID,训练的精度越来越低怎么回事呢?

    训练log简略如下

    `2021-06-04 00:48:20,521 transreid.train INFO: Epoch[20] Iteration[9650/9664] Loss: 0.258, Acc: 0.990, Base Lr: 7.47e-03 2021-06-04 00:48:23,076 transreid.train INFO: Epoch 20 done. Time per batch: 0.479[s] Speed: 200.2[samples/s] 2021-06-04 00:57:57,701 transreid.train INFO: Validation Results - Epoch: 20 2021-06-04 00:57:57,702 transreid.train INFO: mAP: 81.2% 2021-06-04 00:57:57,702 transreid.train INFO: CMC curve, Rank-1 :87.8% 2021-06-04 00:57:57,702 transreid.train INFO: CMC curve, Rank-5 :94.9% 2021-06-04 00:57:57,702 transreid.train INFO: CMC curve, Rank-10 :96.7%

    2021-06-05 02:08:35,194 transreid.train INFO: Epoch[40] Iteration[9650/9664] Loss: 0.222, Acc: 0.992, Base Lr: 6.00e-03 2021-06-05 02:08:37,790 transreid.train INFO: Epoch 40 done. Time per batch: 0.465[s] Speed: 206.2[samples/s] 2021-06-05 02:25:14,449 transreid.train INFO: Validation Results - Epoch: 40 2021-06-05 02:25:14,449 transreid.train INFO: mAP: 75.3% 2021-06-05 02:25:14,449 transreid.train INFO: CMC curve, Rank-1 :83.8% 2021-06-05 02:25:14,449 transreid.train INFO: CMC curve, Rank-5 :92.7% 2021-06-05 02:25:14,449 transreid.train INFO: CMC curve, Rank-10 :95.0%

    2021-06-06 03:36:32,438 transreid.train INFO: Epoch[60] Iteration[9650/9664] Loss: 0.192, Acc: 0.994, Base Lr: 4.01e-03 2021-06-06 03:36:34,616 transreid.train INFO: Epoch 60 done. Time per batch: 0.477[s] Speed: 201.5[samples/s] 2021-06-06 03:44:21,223 transreid.train INFO: Validation Results - Epoch: 60 2021-06-06 03:44:21,224 transreid.train INFO: mAP: 73.8% 2021-06-06 03:44:21,224 transreid.train INFO: CMC curve, Rank-1 :82.6% 2021-06-06 03:44:21,224 transreid.train INFO: CMC curve, Rank-5 :92.1% 2021-06-06 03:44:21,224 transreid.train INFO: CMC curve, Rank-10 :94.8%

    2021-06-07 05:17:49,856 transreid.train INFO: Epoch[80] Iteration[9650/9664] Loss: 0.163, Acc: 0.996, Base Lr: 2.01e-03 2021-06-07 05:17:52,963 transreid.train INFO: Epoch 80 done. Time per batch: 0.475[s] Speed: 202.1[samples/s] 2021-06-07 05:23:11,936 transreid.train INFO: Validation Results - Epoch: 80 2021-06-07 05:23:11,937 transreid.train INFO: mAP: 76.2% 2021-06-07 05:23:11,937 transreid.train INFO: CMC curve, Rank-1 :84.0% 2021-06-07 05:23:11,937 transreid.train INFO: CMC curve, Rank-5 :92.9% 2021-06-07 05:23:11,937 transreid.train INFO: CMC curve, Rank-10 :95.3%

    2021-06-08 07:02:58,814 transreid.train INFO: Epoch[100] Iteration[9650/9664] Loss: 0.132, Acc: 0.997, Base Lr: 5.51e-04 2021-06-08 07:03:02,568 transreid.train INFO: Epoch 100 done. Time per batch: 0.481[s] Speed: 199.7[samples/s] 2021-06-08 07:13:33,157 transreid.train INFO: Validation Results - Epoch: 100 2021-06-08 07:13:33,158 transreid.train INFO: mAP: 77.5% 2021-06-08 07:13:33,158 transreid.train INFO: CMC curve, Rank-1 :84.7% 2021-06-08 07:13:33,158 transreid.train INFO: CMC curve, Rank-5 :93.0% 2021-06-08 07:13:33,158 transreid.train INFO: CMC curve, Rank-10 :95.4%

    2021-06-09 09:06:40,634 transreid.train INFO: Epoch[120] Iteration[9650/9664] Loss: 0.114, Acc: 0.998, Base Lr: 1.60e-05 2021-06-09 09:06:44,437 transreid.train INFO: Epoch 120 done. Time per batch: 0.482[s] Speed: 199.3[samples/s] 2021-06-09 09:10:12,020 transreid.train INFO: Validation Results - Epoch: 120 2021-06-09 09:10:12,021 transreid.train INFO: mAP: 77.3% 2021-06-09 09:10:12,021 transreid.train INFO: CMC curve, Rank-1 :84.3% 2021-06-09 09:10:12,021 transreid.train INFO: CMC curve, Rank-5 :92.9% 2021-06-09 09:10:12,021 transreid.train INFO: CMC curve, Rank-10 :95.1%`

    训练配置如下

    `MODEL: PRETRAIN_CHOICE: 'imagenet' PRETRAIN_PATH: '/home/tiantong/.cache/torch/hub/checkpoints/jx_vit_base_p16_224-80ecf9dd.pth' METRIC_LOSS_TYPE: 'triplet' IF_LABELSMOOTH: 'off' IF_WITH_CENTER: 'no' NAME: 'transformer' NO_MARGIN: True DEVICE_ID: ('2') TRANSFORMER_TYPE: 'vit_base_patch16_224_TransReID' STRIDE_SIZE: [12, 12] SIE_CAMERA: True SIE_COE: 3.0 JPM: True RE_ARRANGE: True

    INPUT: SIZE_TRAIN: [256, 128] SIZE_TEST: [256, 128] PROB: 0.5 # random horizontal flip RE_PROB: 0.5 # random erasing PADDING: 10 PIXEL_MEAN: [0.5, 0.5, 0.5] PIXEL_STD: [0.5, 0.5, 0.5]

    DATASETS: NAMES: ('yintai3') ROOT_DIR: ('../../data')

    DATALOADER: SAMPLER: 'softmax_triplet' NUM_INSTANCE: 4 NUM_WORKERS: 8

    SOLVER: OPTIMIZER_NAME: 'SGD' MAX_EPOCHS: 120 BASE_LR: 0.008 IMS_PER_BATCH: 96 WARMUP_METHOD: 'linear' LARGE_FC_LR: False CHECKPOINT_PERIOD: 10 # 120 LOG_PERIOD: 50 EVAL_PERIOD: 20 # 120 WEIGHT_DECAY: 1e-4 WEIGHT_DECAY_BIAS: 1e-4 BIAS_LR_FACTOR: 2

    TEST: EVAL: True IMS_PER_BATCH: 256 RE_RANKING: False WEIGHT: '' NECK_FEAT: 'before' FEAT_NORM: 'yes'

    OUTPUT_DIR: 'logs/market_vit_transreid_stride'

    2021-06-02 23:19:55,969 transreid INFO: Running with config: DATALOADER: NUM_INSTANCE: 4 NUM_WORKERS: 8 SAMPLER: softmax_triplet DATASETS: NAMES: yintai3 ROOT_DIR: ../../data INPUT: PADDING: 10 PIXEL_MEAN: [0.5, 0.5, 0.5] PIXEL_STD: [0.5, 0.5, 0.5] PROB: 0.5 RE_PROB: 0.5 SIZE_TEST: [256, 128] SIZE_TRAIN: [256, 128] MODEL: ATT_DROP_RATE: 0.0 COS_LAYER: False DEVICE: cuda DEVICE_ID: 2 DEVIDE_LENGTH: 4 DIST_TRAIN: False DROP_OUT: 0.0 DROP_PATH: 0.1 ID_LOSS_TYPE: softmax ID_LOSS_WEIGHT: 1.0 IF_LABELSMOOTH: off IF_WITH_CENTER: no JPM: True LAST_STRIDE: 1 METRIC_LOSS_TYPE: triplet NAME: transformer NECK: bnneck NO_MARGIN: True PRETRAIN_CHOICE: imagenet PRETRAIN_PATH: /home/tiantong/.cache/torch/hub/checkpoints/jx_vit_base_p16_224-80ecf9dd.pth RE_ARRANGE: True SHIFT_NUM: 5 SHUFFLE_GROUP: 2 SIE_CAMERA: True SIE_COE: 3.0 SIE_VIEW: False STRIDE_SIZE: [12, 12] TRANSFORMER_TYPE: vit_base_patch16_224_TransReID TRIPLET_LOSS_WEIGHT: 1.0 OUTPUT_DIR: logs/market_vit_transreid_stride_0602_231955 SOLVER: BASE_LR: 0.008 BIAS_LR_FACTOR: 2 CENTER_LOSS_WEIGHT: 0.0005 CENTER_LR: 0.5 CHECKPOINT_PERIOD: 10 COSINE_MARGIN: 0.5 COSINE_SCALE: 30 EVAL_PERIOD: 20 GAMMA: 0.1 IMS_PER_BATCH: 96 LARGE_FC_LR: False LOG_PERIOD: 50 MARGIN: 0.3 MAX_EPOCHS: 120 MOMENTUM: 0.9 OPTIMIZER_NAME: SGD SEED: 1234 STEPS: (40, 70) WARMUP_EPOCHS: 5 WARMUP_FACTOR: 0.01 WARMUP_METHOD: linear WEIGHT_DECAY: 0.0001 WEIGHT_DECAY_BIAS: 0.0001 TEST: DIST_MAT: dist_mat.npy EVAL: True FEAT_NORM: yes IMS_PER_BATCH: 256 NECK_FEAT: before RE_RANKING: False WEIGHT: `

    opened by guanyonglai 6
  • Pretraining matters?

    Pretraining matters?

    Many thanks for you breakthrough work of introducing transformer into Person Re-id. I have tried your code locally and it works well as expected. However, I just find that the pretraining models from imagenet may have a significant influence on the downstream reid performance. The vit-base model was pretrained on imagenet21k and finetuned on imagenet 1k afterwards, while other cnn-based networks were mostly pretrained on imagenet 1k directly instead. So in fair, I think we have to compare these models by using the pretrained model from the same data scale. I have also replaced the vit with the swin architecture which provides 1k pretrained model as well as 22k. The experiments with 22k pretrained models on market1501 and msmt17 outperforms those with 1k greatly. I suppose if using vit models pretrained on 1k imagenet dataset, the gap between TransReID and other cnn-based networks could be narrowed. Anyway, transformer benefits a lot from dataset scale which can also be considered as a trick for downstream works like person reid. If you have also tried some experiments over such pretraining issues, I would appreciate if you can share some findings with me.

    opened by morgenzhang 5
  • 增加卷积层性能下降

    增加卷积层性能下降

    您好! 很抱歉打扰到您,我想请问一下为什么我在PatchEmbed_overlap块增加convolution了以后性能大幅下降,我没有更改其他代码,只是将卷积层增加到了四层。这是我的部分代码: self.conv1 = nn.Conv2d(in_chans, 128, kernel_size=7, stride=2, padding=3, bias=False)
    self.bn1 = nn.BatchNorm2d(128) self.relu = nn.ReLU(inplace=True) self.proj = nn.Conv2d(128, embed_dim, kernel_size=new_patch_size, stride=new_patch_size) def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x)

    opened by mamingfa 4
  • Test method for vehicleid dataset

    Test method for vehicleid dataset

    Since the vehicleid dataset is different from other datasets, an error will be reported if the vehicleid dataset is tested according to the test method of other datasets.

    opened by lhc11171552 4
  • base.sie_embed

    base.sie_embed

    Hello, I have a problem now. This problem is that when I use the trained model to test, a keyError:'base.sie_embed' appears. Where should I start to solve this? I look forward to your reply.

    opened by znothingisimpossible 4
  • 关于Jigsaw Branch的问题

    关于Jigsaw Branch的问题

    罗博士,您好。 关于您的代码中Global Branch和Jigsaw Branch部分,是不是在原有vit的基础上增加了一个block呢? block = self.base.blocks[-1] layer_norm = self.base.norm self.b1 = nn.Sequential( copy.deepcopy(block), copy.deepcopy(layer_norm))

    opened by wyl2077 3
  • RuntimeError: The size of tensor a (173) must match the size of tensor b (160) at non-singleton dimension 0

    RuntimeError: The size of tensor a (173) must match the size of tensor b (160) at non-singleton dimension 0

    想问一下,我自己写了veri wild 的数据读入部分,我想直接用在veri数据集上训练的模型测试一下在veri wild上的结果,然后报错了,请问还要修改哪里呢? 完整的报错信息是这样的: Traceback (most recent call last): File "test.py", line 53, in model.load_param(cfg.TEST.WEIGHT) File "E:\Win_Pycharm_Project\TransReID-main\TransReID-main\model\make_model.py", line 376, in load_param self.state_dict()[i.replace('module.', '')].copy_(param_dict[i]) RuntimeError: The size of tensor a (173) must match the size of tensor b (160) at non-singleton dimension 0

    麻烦大佬了~~~

    opened by berylyellow 3
  •  How to use multiple GPUs to train and test the network?

    How to use multiple GPUs to train and test the network?

    I used two GPUs to train the network, and was an error: ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable RANK expected, but not set

    opened by lhc11171552 3
  • Merge different entities!!!

    Merge different entities!!!

    Hi, Thanks for sharing your great work, as I see, you trained the model based on specific datasets which is used for specific entity, like human and vehicle. so, I want to know, what would happen if we combine these datasets and train a single model? Does the performance drop too bad? I'm looking forward to your answer eagerly, Thanks

    opened by image-rcdat 0
  • Patch Shuffle Operation

    Patch Shuffle Operation

        try:
            x = x.view(batchsize, group, -1, dim)
        except:
            x = torch.cat([x, x[:, -2:-1, :]], dim=1)
            x = x.view(batchsize, group, -1, dim)
    

    Could you please help me understand how this part carry out shuffle operation? I thought there's just a concat...

    opened by XiongZhongxia 0
  • how to get the feature of one image?

    how to get the feature of one image?

    Hi, I tried to use your model to extract feature of any image, it works and I get the feature; however, the feature value is related to camera id and view, but I don't know the camera id and view, can we directly get the feature? can I get the feature of any image? thanks.

    opened by qiumei1101 1
  • 对ViT骨干网络细微改动后性能大幅下降

    对ViT骨干网络细微改动后性能大幅下降

    您好!抱歉打扰您。我最近尝试对您提出的Baseline进行改进,例如在PatchEmbed_overlap中加入卷积,但性能都大幅下降。

    我看到您之前的回答 : “最根本的原因在于你新加的conv层没有预训练而是随机初始化,而vit的其他层全部都是ImageNet预训练的,导致网络输入全部错乱了,因此产生了掉点”

    我想请问一下“网络输入全部错乱”指的是什么意思?以及如何解决这个问题?(目前的实验条件不支持我重新在ImageNet上重新预训练模型)

    opened by wanderer1230 2
  • Hello!! AssertionError: Error: all query identities do not appear in gallery

    Hello!! AssertionError: Error: all query identities do not appear in gallery

    When I test it with my own dataset ,but it told me AssertionError: Error: all query identities do not appear in gallery

    and this model is trained by my own dataset ,

    opened by 459737087 0
Owner
DamoCV
CV team of DAMO academy
DamoCV
Adversarial Adaptation with Distillation for BERT Unsupervised Domain Adaptation

Knowledge Distillation for BERT Unsupervised Domain Adaptation Official PyTorch implementation | Paper Abstract A pre-trained language model, BERT, ha

Minho Ryu 29 Nov 30, 2022
Unified unsupervised and semi-supervised domain adaptation network for cross-scenario face anti-spoofing, Pattern Recognition

USDAN The implementation of Unified unsupervised and semi-supervised domain adaptation network for cross-scenario face anti-spoofing, which is accepte

null 11 Nov 3, 2022
Code of TVT: Transferable Vision Transformer for Unsupervised Domain Adaptation

TVT Code of TVT: Transferable Vision Transformer for Unsupervised Domain Adaptation Datasets: Digit: MNIST, SVHN, USPS Object: Office, Office-Home, Vi

null 37 Dec 15, 2022
code for our paper "Source Data-absent Unsupervised Domain Adaptation through Hypothesis Transfer and Labeling Transfer"

SHOT++ Code for our TPAMI submission "Source Data-absent Unsupervised Domain Adaptation through Hypothesis Transfer and Labeling Transfer" that is ext

null 75 Dec 16, 2022
The official codes of "Semi-supervised Models are Strong Unsupervised Domain Adaptation Learners".

SSL models are Strong UDA learners Introduction This is the official code of paper "Semi-supervised Models are Strong Unsupervised Domain Adaptation L

Yabin Zhang 26 Dec 26, 2022
A PyTorch implementation for Unsupervised Domain Adaptation by Backpropagation(DANN), support Office-31 and Office-Home dataset

DANN A PyTorch implementation for Unsupervised Domain Adaptation by Backpropagation Prerequisites Linux or OSX NVIDIA GPU + CUDA (may CuDNN) and corre

null 8 Apr 16, 2022
(CVPR2021) DANNet: A One-Stage Domain Adaptation Network for Unsupervised Nighttime Semantic Segmentation

DANNet: A One-Stage Domain Adaptation Network for Unsupervised Nighttime Semantic Segmentation CVPR2021(oral) [arxiv] Requirements python3.7 pytorch==

W-zx-Y 85 Dec 7, 2022
IAST: Instance Adaptive Self-training for Unsupervised Domain Adaptation (ECCV 2020)

This repo is the official implementation of our paper "Instance Adaptive Self-training for Unsupervised Domain Adaptation". The purpose of this repo is to better communicate with you and respond to your questions. This repo is almost the same with Another-Version, and you can also refer to that version.

CVSM Group -  email: czhu@bupt.edu.cn 84 Dec 12, 2022
Unsupervised Domain Adaptation for Nighttime Aerial Tracking (CVPR2022)

Unsupervised Domain Adaptation for Nighttime Aerial Tracking (CVPR2022) Junjie Ye, Changhong Fu, Guangze Zheng, Danda Pani Paudel, and Guang Chen. Uns

Intelligent Vision for Robotics in Complex Environment 91 Dec 30, 2022
Code to reproduce the experiments in the paper "Transformer Based Multi-Source Domain Adaptation" (EMNLP 2020)

Transformer Based Multi-Source Domain Adaptation Dustin Wright and Isabelle Augenstein To appear in EMNLP 2020. Read the preprint: https://arxiv.org/a

CopeNLU 36 Dec 5, 2022
Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”

Official implementation for TransDA Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”. Overview: Result: Prerequisites:

stanley 54 Dec 22, 2022
Code for CVPR2021 "Visualizing Adapted Knowledge in Domain Transfer". Visualization for domain adaptation. #explainable-ai

Visualizing Adapted Knowledge in Domain Transfer @inproceedings{hou2021visualizing, title={Visualizing Adapted Knowledge in Domain Transfer}, auth

Yunzhong Hou 80 Dec 25, 2022
[CVPR2021] Domain Consensus Clustering for Universal Domain Adaptation

[CVPR2021] Domain Consensus Clustering for Universal Domain Adaptation [Paper] Prerequisites To install requirements: pip install -r requirements.txt

Guangrui Li 84 Dec 26, 2022
A Pytorch Implementation of [Source data‐free domain adaptation of object detector through domain

A Pytorch Implementation of Source data‐free domain adaptation of object detector through domain‐specific perturbation Please follow Faster R-CNN and

null 1 Dec 25, 2021
TraND: Transferable Neighborhood Discovery for Unsupervised Cross-domain Gait Recognition.

TraND This is the code for the paper "Jinkai Zheng, Xinchen Liu, Chenggang Yan, Jiyong Zhang, Wu Liu, Xiaoping Zhang and Tao Mei: TraND: Transferable

Jinkai Zheng 32 Apr 4, 2022
Implementation of "JOKR: Joint Keypoint Representation for Unsupervised Cross-Domain Motion Retargeting"

JOKR: Joint Keypoint Representation for Unsupervised Cross-Domain Motion Retargeting Pytorch implementation for the paper "JOKR: Joint Keypoint Repres

null 45 Dec 25, 2022
IJCAI2020 & IJCV 2020 :city_sunrise: Unsupervised Scene Adaptation with Memory Regularization in vivo

Seg_Uncertainty In this repo, we provide the code for the two papers, i.e., MRNet:Unsupervised Scene Adaptation with Memory Regularization in vivo, IJ

Zhedong Zheng 348 Jan 5, 2023
CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped

CSWin-Transformer This repo is the official implementation of "CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows". Th

Microsoft 409 Jan 6, 2023
VSR-Transformer - This paper proposes a new Transformer for video super-resolution (called VSR-Transformer).

VSR-Transformer By Jiezhang Cao, Yawei Li, Kai Zhang, Luc Van Gool This paper proposes a new Transformer for video super-resolution (called VSR-Transf

Jiezhang Cao 225 Nov 13, 2022