Official codes of CVPR 2023 Paper | Propagate And Calibrate: Real-time Passive Non-line-of-sight Tracking
Create a new environment and install dependencies with requirement.txt:
conda create -n NLOS_Tracking
conda activate NLOS_Tracking
conda install --file requirements.txtThe NLOS-Track dataset can be downloaded from kaggle.
The file structure in project root should be as follow:
project_root
|   README.md
|   requirements.txt
|   train.py
+---data
+---utils
+---configs
|   ...
+---dataset
    +---render
    |   +---0000
    |   |      configs.yaml
    |   |      route.mat
    |   |      video_128.npy
    |   |      001.png
    |   |      002.png
    |   |      ...
    |   +---0001
    |       ...
    +---real-shot
        +---0000
        |      route.mat
        |      video_128.npy
        +---0001
            ...
Follow the code blocks in data_playground.ipynb to load and visualize the dataset.
Before training, fill the missing items in configuration files.
Create a new configuration file in ./configs for training:
python train.py --cfg_file=new_cfg --model_name=PAC_Netor directly use default.yaml by default:
python train.py --model_name=PAC_Net --pretrained -b 64 -lr_b 2.5e-4 --gpu_ids=0,1 --port=8888Follow the code blocks in test.ipynb to test a trained model.
@article{wang2023nlosTrack,
  author   = {Wang, Yihao and Wang, Zhigang and Zhao, Bin and Wang, Dong and Chen, Mulin and Li, Xuelong},
  title    = {Propagate And Calibrate: Real-time Passive Non-line-of-sight Tracking},
  journal  = {CVPR},
  year     = {2023},
}