https://github.com/924973292/fusionreid

【IEEE TITS2025】Unity is Strength: Unifying Convolutional and Transformeral Features for Better Person Re-Identification

https://github.com/924973292/fusionreid

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary

Keywords

cnn fusion hybrid reid transformer
Last synced: 6 months ago · JSON representation

Repository

【IEEE TITS2025】Unity is Strength: Unifying Convolutional and Transformeral Features for Better Person Re-Identification

Basic Info
  • Host: GitHub
  • Owner: 924973292
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 23.3 MB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
cnn fusion hybrid reid transformer
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Unity is Strength: Unifying Convolutional and Transformeral Features for Better Person Re-Identification

Description of the image

Yuhao Wang · Pingping Zhang* · Xuehu Liu · Zhengzheng Tu · Huchuan Lu

IEEE TITS 2025 Paper

Overview

In this paper, we propose a flexible fusion framework named FusionReID for image-based person ReID. It comprises a Dual-branch Feature Extraction (DFE) and a Dual-attention Mutual Fusion (DMF). In DFE, we employ CNNs and Transformers to extract deep features from a single image. Besides, DMF consists of the Local Refinement Unit (LRU) and Heterogenous Transmission Module (HTM). Through the continuous stacking of HTM, we unify heterogenous deep features from CNNs and Transformers. Experiments on three large-scale ReID benchmarks demonstrate that our method attains superior performances than most state-of-the-arts. Since the computation is still high, in the future, we will explore more lightweight fusion methods for the framework.

News

Table of Contents

Introduction

Existing methods for person re-identification (ReID) face challenges due to variations in viewpoints, lighting, and postures, leading to significant differences in appearance. CNN-based methods excel at capturing local features but lack a global perspective, while Transformer-based methods capture global representations but struggle with fine-grained details. To address these issues, we propose FusionReID, a novel framework that unifies the strengths of CNNs and Transformers. Our approach involves a Dual-branch Feature Extraction (DFE) and a Dual-attention Mutual Fusion (DMF) module, enabling effective feature representation by combining local and global information.

Contributions

  • We propose a new fusion framework called FusionReID to unify the strengths of CNNs and Transformers for image-based person ReID.
  • We design a novel Dual-attention Mutual Fusion (DMF), which can generate more discriminative features with stacking Heterogenous Transmission Modules (HTM).
  • Our proposed framework achieves superior performances than most state-of-the-art methods on three public person ReID benchmarks.

Results

Overall Performance

Overall

Combination of CNN and Transformer

Combination

Visualizations

Grad-CAM

Grad-CAM

Attention Weights

Attention Weights Attention Weights Please refer to our paper for more details.

Reproduction

Datasets

Market1501、DukeMTMC、MSMT17
link: https://pan.baidu.com/s/1LT2au658lHPF6qovQJa8hA
code: gnwg

Pretrained

ViT-B、DeiT-B、T2T-ViT-24、T2T-ViT-14、ResNet50、ResNet101、ResNet152
link: https://pan.baidu.com/s/1lc0MPKWcDw4r1wT_d7MN7A
code: vdii

Bash

```bash

python = 3.8

cuda = 11.7

!/bin/bash

source activate (your env) cd ../(your path) pip install -r requirements.txt python trainnet.py --configfile ../configs/MSMT17/msmtvitb12res50_layer2.yml ```

Star History

Star History Chart

Citation

If you find FusionReID useful in your research, please consider citing: bibtex @misc{wang2024unitystrengthunifyingconvolutional, title={Unity is Strength: Unifying Convolutional and Transformeral Features for Better Person Re-Identification}, author={Yuhao Wang and Pingping Zhang and Xuehu Liu and Zhengzheng Tu and Huchuan Lu}, year={2024}, eprint={2412.17239}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2412.17239}, }

Owner

  • Name: Yuhao Wang
  • Login: 924973292
  • Kind: user
  • Location: Dalian
  • Company: Dalian University of Technology

生如芥子,心藏须弥

GitHub Events

Total
  • Issues event: 2
  • Watch event: 11
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 11
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 11
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 11
  • Fork event: 1
  • Create event: 1

Dependencies

requirements.txt pypi
  • Babel ==2.11.0
  • Cython ==0.29.24
  • Django ==3.2.6
  • Flask ==2.0.2
  • Jinja2 ==3.1.2
  • Markdown ==3.3.4
  • PyYAML ==5.4.1
  • Send2Trash ==1.8.0
  • SoundFile ==0.10.3.post1
  • Sphinx ==4.2.0
  • Werkzeug ==2.0.2
  • absl-py ==0.14.1
  • alabaster ==0.7.12
  • antlr4-python3-runtime ==4.9.3
  • anyio ==3.6.2
  • apex ==0.1
  • appdirs ==1.4.4
  • argon2-cffi ==21.1.0
  • asgiref ==3.4.1
  • attrs ==21.2.0
  • audioread ==2.1.9
  • black ==21.4b2
  • bleach ==4.1.0
  • brotlipy ==0.7.0
  • cachetools ==4.2.4
  • certifi ==2021.5.30
  • cloudpickle ==2.2.1
  • codecov ==2.1.12
  • conda ==4.10.3
  • conda-build ==3.21.4
  • coverage ==6.0.1
  • cycler ==0.10.0
  • debugpy ==1.5.0
  • defusedxml ==0.7.1
  • docutils ==0.17.1
  • einops ==0.7.0
  • entrypoints ==0.3
  • expecttest ==0.1.3
  • fastjsonschema ==2.16.2
  • flake8 ==3.7.9
  • ftfy ==6.1.3
  • future ==0.18.2
  • fvcore ==0.1.5.post20221221
  • glob2 ==0.7
  • google-auth ==1.35.0
  • google-auth-oauthlib ==0.4.6
  • grpcio ==1.41.0
  • gunicorn ==20.1.0
  • h11 ==0.12.0
  • horovod ==0.27.0
  • httptools ==0.2.0
  • hydra-core ==1.3.2
  • hypothesis ==4.50.8
  • imagesize ==1.2.0
  • importlib-metadata ==6.0.0
  • importlib-resources ==5.10.2
  • iniconfig ==1.1.1
  • iopath ==0.1.9
  • ipykernel ==6.4.1
  • ipython-genutils ==0.2.0
  • itsdangerous ==2.0.1
  • joblib ==1.1.0
  • json5 ==0.9.6
  • jsonschema ==4.17.3
  • jupyter-server ==1.23.5
  • jupyter-tensorboard ==0.2.0
  • jupyter_client ==7.4.9
  • jupyter_core ==5.1.5
  • jupyterlab ==3.2.5
  • jupyterlab-pygments ==0.2.2
  • jupyterlab_server ==2.19.0
  • jupytext ==1.14.4
  • kiwisolver ==1.3.2
  • librosa ==0.8.1
  • llvmlite ==0.35.0
  • lmdb ==1.2.1
  • markdown-it-py ==1.1.0
  • matplotlib ==3.4.3
  • mccabe ==0.6.1
  • mdit-py-plugins ==0.2.8
  • mistune ==2.0.4
  • mypy-extensions ==1.0.0
  • nbclassic ==0.5.1
  • nbclient ==0.5.4
  • nbconvert ==7.2.9
  • nbformat ==5.7.3
  • nest-asyncio ==1.5.6
  • networkx ==2.0
  • ninja ==1.11.1.1
  • nltk ==3.6.4
  • notebook ==6.4.1
  • notebook_shim ==0.2.2
  • nvidia-cublas-cu11 ==11.10.3.66
  • nvidia-cuda-nvrtc-cu11 ==11.7.99
  • nvidia-cuda-runtime-cu11 ==11.7.99
  • nvidia-cudnn-cu11 ==8.5.0.96
  • nvidia-dali-cuda110 ==1.6.0
  • nvidia-pyindex ==1.0.9
  • oauthlib ==3.1.1
  • omegaconf ==2.3.0
  • packaging ==23.0
  • pandas ==2.0.3
  • pandocfilters ==1.5.0
  • pathspec ==0.11.1
  • pkgutil_resolve_name ==1.3.10
  • platformdirs ==2.6.2
  • pluggy ==1.0.0
  • polygraphy ==0.33.0
  • pooch ==1.5.1
  • portalocker ==2.3.2
  • prettytable ==2.2.1
  • prometheus-client ==0.11.0
  • protobuf ==3.20.3
  • py ==1.10.0
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pybind11 ==2.8.0
  • pycodestyle ==2.5.0
  • pydot ==1.4.2
  • pyflakes ==2.1.1
  • pyparsing ==2.4.7
  • pyrsistent ==0.18.0
  • pytest ==6.2.5
  • pytest-cov ==3.0.0
  • pytest-pythonpath ==0.7.3
  • python-dateutil ==2.8.2
  • python-dotenv ==0.19.1
  • python-hostlist ==1.21
  • python-nvd3 ==0.15.0
  • python-slugify ==5.0.2
  • pytorch-quantization ==2.1.0
  • pyzmq ==25.0.0
  • regex ==2021.10.8
  • requests ==2.28.2
  • requests-oauthlib ==1.3.0
  • resampy ==0.2.2
  • rsa ==4.7.2
  • sacremoses ==0.0.46
  • scikit-learn ==1.0
  • seaborn ==0.13.2
  • sniffio ==1.3.0
  • snowballstemmer ==2.1.0
  • sphinx-glpi-theme ==0.3
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • sqlparse ==0.4.2
  • submitit ==1.5.1
  • tabulate ==0.8.9
  • tensorboard ==2.6.0
  • tensorboard-data-server ==0.6.1
  • tensorboard-plugin-wit ==1.8.0
  • tensorboardX ==2.6.2.2
  • termcolor ==2.3.0
  • terminado ==0.12.1
  • testpath ==0.5.0
  • text-unidecode ==1.3
  • threadpoolctl ==3.0.0
  • timm ==0.4.12
  • tinycss2 ==1.2.1
  • toml ==0.10.2
  • tomli ==1.2.1
  • torch ==1.13.1
  • torchaudio ==0.13.1
  • torchvision ==0.14.1
  • tornado ==6.2
  • traitlets ==5.8.1
  • triton ==2.2.0
  • tzdata ==2023.4
  • uvicorn ==0.15.0
  • uvloop ==0.16.0
  • watchgod ==0.7
  • wcwidth ==0.2.13
  • webencodings ==0.5.1
  • websocket-client ==1.5.0
  • websockets ==10.0
  • whitenoise ==5.3.0
  • yacs ==0.1.8
  • zipp ==3.12.0