Giter Site home page Giter Site logo

aicity2022-track1-mtmc's Introduction

Box-Grained Reranking Matching for Multi-Camera Multi-Target Tracking

This project hosts the code of team28 for NVIDIA AI City Challenge 2022 Track 1, City-Scale Multi-Camera Vehicle Tracking. More details can be found in our paper: Box-Grained Reranking Matching for Multi-Camera Multi-Target Tracking

Our system obtains the IDF1 at 0.8486 in the public leaderboard, which win the first place in the Track1 test set of NVIDIA AI City Challenge 2022.

Installation

This project is implemented with Python3.6+, Paddle, PaddleDetection.

Data Preparation

If you want to reproduce our results on the leaderboard of track1. You can download the prepared data below and put them under the corresponding folders.

  • Detection

    • Please download the annotation files, pretrained model and best model from this link (The password is naif)
    • Extract the annotation files under DET/swin-transformer-object-detection/data/annotations
    • Extract the pretrained model under DET/swin-transformer-object-detection/pretrain_model
    • Extract the best model under DET/swin-transformer-object-detection/pth
  • REID

    • Please download the train data, model and detection results from this link (The password is 8738)
    • Extract the real train data under REID/carreid-dynamic-aic22/dataset/train_imgs
    • Extract the synthetic train data under REID/carreid-dynamic-aic22/dataset/syn
    • Extract the detection results under REID/carreid-dynamic-aic22/dataset/crop_test_det_2666_89
    • Extract the model files under REID/carreid-dynamic-aic22/output/
  • Tracking

    • Please download the extracted images of test set by ffmpeg from this link (The password is raw1) and extract it under SCMT/dataset/.
    SCMT/dataset/CityFlowV2/AICITY/test/
    ├── c041
     ├── img1
       ├── 0001.jpg
       ├── 0002.jpg
       ...
     ├── seqinfo.ini
    ├── c042
    ├── c043
    ├── c044
    ├── c045
    ├── c046
    
    • Please download the detection results and ReID features from this link (The password is 56q2) and extract it under SCMT/dataspace/AICITY_test/.
    SCMT/dataspace/AICITY_test/
    ├── aic22_1_test_infer_v2_Convnext.pkl
    ├── aic22_1_test_infer_v2_HR48_eps.pkl
    ├── aic22_1_test_infer_v2_R50.pkl
    ├── aic22_1_test_infer_v2_Res2Net200.pkl
    ├── aic22_1_test_infer_v2_ResNext101.pkl
    ├── gen_detection_feat.py
    
  • Matching

    • Please download the tracking results, ReID features , and truncation rates from this link (The password is 0vcw) and extract it under ICA/data/. All files are listed below.
    ICA/data/scmt/
    ├── c04*.pkl # ReID features. * indicates 1 to 6
    ├── c04*.txt # Tracking results. * indicates 1 to 6
    ├── c04*_truncation.pkl # truncation rates. * indicates 1 to 6
    

Run our system

  • Detection

    1. Generate train/val images: Run python vid2img_recursive_std.py in the DET/Swin-Transformer-Object-Detection/data/track1 folder to generate train/val images for detection.
    2. Train detection model: You should first install torch==1.9 in your environment and use our config files provided in the Data Preparation as the detection configs, then run train.sh in the DET/Swin-Transformer-Object-Detection/ folder to train the detection model.
    3. Test detection model: Run test.sh in the DET/Swin-Transformer-Object-Detection/ folder to get the detection results of test set.
  • ReID

    1. Train ReID model: Please put all required files in the right place as described inthe Data Preparation. Then just run train.sh in the REID/carreid-dynamic-aic22/ folder to train the ReID model.
    2. Test ReID model: Run eval.sh in the REID/carreid-dynamic-aic22/ folder to generate the ReID results for test set. After run ”eval.sh“, two pickle files such as “query_features.pkl” and “gallery_features.pkl” can be obtained. “gallery_features.pkl” contains the real REID features in dictionary form. The key of the dictionary indicates the name of the input image, and the value indicates the corresponding REID feature.
  • Tracking

    After you put all provided data in the right place from the Data Preparation, you will get the tracking results by runing

cd SCMT/dataspace/AICITY_test
python gen_detection_feat.py
cd ../..

python run_aicty.py AICITY test --dir_save $SAVE_DIR
python stat_occlusion_scmt.py $SAVE_DIR

        The SCMT tracking results will be generated in the specified SAVE_DIR. Make sure the SAVE_DIR exists.

  • Matching

    Please follow the Data Preparation to put the tracking results and ReID features in the right place and run run.sh in the matching folder to get the final matching result.

aicity2022-track1-mtmc's People

Contributors

lu-jincheng avatar xipengy avatar

Stargazers

 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.