Giter Club home page Giter Club logo

lreid-krkc's Introduction

[AAAI2023 Oral] Lifelong Person Re-Identification via Knowledge Refreshing and Consolidation

The official implementation of AAAI 2023 paper "Lifelong Person Re-Identification via Knowledge Refreshing and Consolidation" by Chunlin Yu, Ye Shi, Zimo Liu, Shenghua Gao, Jingya Wang*

Introduction

Lifelong person re-identification (LReID) is in significant demand for real-world development as a large amount of ReID data is captured from diverse locations over time and cannot be accessed at once inherently. However, a key challenge for LReID is how to incrementally preserve old knowledge and gradually add new capabilities to the system. Unlike most existing LReID methods, which mainly focus on dealing with catastrophic forgetting, our focus is on a more challenging problem, which is, not only trying to reduce the forgetting on old tasks but also aiming to improve the model performance on both new and old tasks during the lifelong learning process. Inspired by the biological process of human cognition where the somatosensory neocortex and the hippocampus work together in memory consolidation, we formulated a model called Knowledge Refreshing and Consolidation (KRC) that achieves both positive forward and backward transfer. More specifically, a knowledge refreshing scheme is incorporated with the knowledge rehearsal mechanism to enable bi-directional knowledge transfer by introducing a dynamic memory model and an adaptive working model. Moreover, a knowledge consolidation scheme operating on the dual space further improves model stability over the long term. Extensive evaluations show KRC’s superiority over the state-of-the-art LReID methods on challenging pedestrian benchmarks.

Getting Started

Requirements

  • Python 3.6+
  • Pytorch 1.9.0
  • For more detailed requirements, run
pip install -r requirements.txt

Dataset preparation

  • Prepare the dataset structure as in here.
  • Move docs/splits.json file into directory /path/to/your/dataset/viper.
  • Convert CUHK-SYSU to cuhksysu4reid following instructions in this repo.

Training

CUDA_VISBILE_DEVICES=0,1,2,3 python continual_train.py --data-dir=/path/to/your/dataset

Evaluation

python evaluate.py --data-dir=/path/to/your/dataset --resume-working=/path/to/working/checkpoints --resume-memory=/path/to/memory/checkpoints

Checkpoints

We provide the checkpoints of working model and memory model trained after the last step in Google Drive.

Acknowledgement

Thanks for all these great code bases:

  • The code framework is based on PTKP and AKA.
  • The code for efficient evaluation is borrowed from TransReID.

Cite this work

If you find my project interesting or valuable, I would be grateful if you could consider giving it a star!

@article{yu2022lifelong,
  title={Lifelong Person Re-Identification via Knowledge Refreshing and Consolidation},
  author={Chunlin Yu and Ye Shi and Zimo Liu and Shenghua Gao and Jingya Wang},
  journal={arXiv preprint arXiv:2211.16201},
  year={2022}
}

lreid-krkc's People

Contributors

cly234 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.