Git Product home page Git Product logo

llvip's Introduction

LLVIP: A Visible-infrared Paired Dataset for Low-light Vision

Project | Arxiv | Benchmarks|PWC | Tweet

News

  • ⚡(2021-11-24): Pedestrian detection models were released.
  • ⚡(2021-09-01): We have released the dataset, please visit homepage for access to the dataset. (Note that we removed some low-quality images from the original dataset, and for this version there are 30976 images.)

figure1-LR


Citation

If you use this data for your research, please cite our paper LLVIP: A Visible-infrared Paired Dataset for Low-light Vision:

@inproceedings{jia2021llvip,
  title={LLVIP: A Visible-infrared Paired Dataset for Low-light Vision},
  author={Jia, Xinyu and Zhu, Chuang and Li, Minzhen and Tang, Wenqi and Zhou, Wenli},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={3496--3504},
  year={2021}
}

Image Fusion

Baselines

FusionGAN

Preparation

  • Install requirements
    git clone https://github.com/bupt-ai-cz/LLVIP.git
    cd LLVIP/FusionGAN
    # Create your virtual environment using anaconda
    conda create -n FusionGAN python=3.7
    conda activate FusionGAN
    
    conda install matplotlib scipy==1.2.1 tensorflow-gpu==1.14.0 
    pip install opencv-python
    sudo apt install libgl1-mesa-glx
  • File structure
    FusionGAN
    ├── ...
    ├── Test_LLVIP_ir
    |   ├── 190001.jpg
    |   ├── 190002.jpg
    |   └── ...
    ├── Test_LLVIP_vi
    |   ├── 190001.jpg
    |   ├── 190002.jpg
    |   └── ...
    ├── Train_LLVIP_ir
    |   ├── 010001.jpg
    |   ├── 010002.jpg
    |   └── ...
    └── Train_LLVIP_vi
        ├── 010001.jpg
        ├── 010002.jpg
        └── ...
    

Train

python main.py --epoch 10 --batch_size 32

See more training options in main.py.

Test

python test_one_image.py

Remember to put pretrained model in your checkpoint folder and change corresponding model name in test_one_image.py. To acquire complete LLVIP dataset, please visit https://bupt-ai-cz.github.io/LLVIP/.

Densefuse

Preparation

  • Install requirements
    git clone https://github.com/bupt-ai-cz/LLVIP.git
    cd LLVIP/imagefusion_densefuse
    
    # Create your virtual environment using anaconda
    conda create -n Densefuse python=3.7
    conda activate Densefuse
    
    conda install scikit-image scipy==1.2.1 tensorflow-gpu==1.14.0
  • File structure
    imagefusion_densefuse
    ├── ...
    ├──datasets
    |  ├──010001_ir.jpg
    |  ├──010001_vi.jpg
    |  └── ...
    ├──test
    |  ├──190001_ir.jpg
    |  ├──190001_vi.jpg
    |  └── ...
    └──LLVIP
       ├── infrared
       |   ├──train
       |   |  ├── 010001.jpg
       |   |  ├── 010002.jpg
       |   |  └── ...
       |   └──test
       |      ├── 190001.jpg
       |      ├── 190002.jpg
       |      └── ...
       └── visible
           ├──train
           |   ├── 010001.jpg
           |   ├── 010002.jpg
           |   └── ...
           └── test
               ├── 190001.jpg
               ├── 190002.jpg
               └── ...
    

Train & Test

python main.py 

Check and modify training/testing options in main.py. Before training/testing, you need to rename the images in LLVIP dataset and put them in the designated folder. We have provided a script named rename.py to rename the images and save them in the datasets or test folder. Checkpoints are saved in ./models/densefuse_gray/. To acquire complete LLVIP dataset, please visit https://bupt-ai-cz.github.io/LLVIP/.

IFCNN

Please visit https://github.com/uzeful/IFCNN.

Pedestrian Detection

Baselines

Yolov5

Preparation

Linux and Python>=3.6.0

  • Install requirements
    git clone https://github.com/bupt-ai-cz/LLVIP.git
    cd LLVIP/yolov5
    pip install -r requirements.txt
  • File structure
    yolov5
    ├── ...
    └──LLVIP
       ├── labels
       |   ├──train
       |   |  ├── 010001.txt
       |   |  ├── 010002.txt
       |   |  └── ...
       |   └──val
       |      ├── 190001.txt
       |      ├── 190002.txt
       |      └── ...
       └── images
           ├──train
           |   ├── 010001.jpg
           |   ├── 010002.jpg
           |   └── ...
           └── val
               ├── 190001.jpg
               ├── 190002.jpg
               └── ...
    
    We provide a script named xml2txt_yolov5.py to convert xml files to txt files, remember to modify the file path before using.

Train

python train.py --img 1280 --batch 8 --epochs 200 --data LLVIP.yaml --weights yolov5l.pt --name LLVIP_export

See more training options in train.py. The pretrained model yolov5l.pt can be downloaded from here. The trained model will be saved in ./runs/train/LLVIP_export/weights folder.

Test

python val.py --data --img 1280 --weights last.pt --data LLVIP.yaml

Remember to put the trained model in the same folder as val.py.

Our trained model can be downloaded from here: Google-Drive-Yolov5-model or BaiduYun-Yolov5-model (code: qepr)

Results

We retrained and tested Yolov5l and Yolov3 on the updated dataset (30976 images).

Where AP means the average of AP at IoU threshold of 0.5 to 0.95, with an interval of 0.05.

The figure above shows the change of AP under different IoU thresholds. When the IoU threshold is higher than 0.7, the AP value drops rapidly. Besides, the infrared image highlights pedestrains and achieves a better effect than the visible image in the detection task, which not only proves the necessity of infrared images but also indicates that the performance of visible-image pedestrian detection algorithm is not good enough under low-light conditions.

We also calculated log average miss rate based on the test results and drew the miss rate-FPPI curve.

Image-to-Image Translation

Baseline

pix2pixGAN

Preparation

  • Install requirements
    cd pix2pixGAN
    pip install -r requirements.txt
  • Prepare dataset
  • File structure
    pix2pixGAN
    ├── ...
    └──datasets
       ├── ...
       └──LLVIP
          ├── train
          |   ├── 010001.jpg
          |   ├── 010002.jpg
          |   ├── 010003.jpg
          |   └── ...
          └── test
              ├── 190001.jpg
              ├── 190002.jpg
              ├── 190003.jpg
              └── ...
    

Train

python train.py --dataroot ./datasets/LLVIP --name LLVIP --model pix2pix --direction AtoB --batch_size 8 --preprocess scale_width_and_crop --load_size 320 --crop_size 256 --gpu_ids 0 --n_epochs 100 --n_epochs_decay 100

Test

python test.py --dataroot ./datasets/LLVIP --name LLVIP --model pix2pix --direction AtoB --gpu_ids 0 --preprocess scale_width_and_crop --load_size 320 --crop_size 256

See ./pix2pixGAN/options for more train and test options.

Results

We retrained and tested pix2pixGAN on the updated dataset(30976 images). The structure of generator is unet256, and the structure of discriminator is the basic PatchGAN as default.

License

This LLVIP Dataset is made freely available to academic and non-academic entities for non-commercial purposes such as academic research, teaching, scientific publications, or personal experimentation. Permission is granted to use the data given that you agree to our license terms.

Call For Contributions

Welcome to point out errors in data annotation. Also welcome to contribute more data annotations, such as segmentation. Please contact us.

Contact

email: [email protected], [email protected], [email protected], [email protected]

llvip's People

Contributors

bupt-ai-cz avatar santjay avatar super233 avatar shenxinchang 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.