A new benchmark dataset for thermal image semantic segmentation
The SCUT-Seg Datasets is a large semantic segmentation dataset for thermal image. The image sequences are mainly from SCUT FIR Pedestrian Dataset. To ensure the diversity of the data, we further collected some images captured in the summer. Finally, we picked out 2,010 images with large scene gap as our final label images, and divide the objects in the image into 10 categories, including background, road, person, rider, car, truck, fence, tree, bus and pole.
Image sequences and annotations
-
BaiduYun code: 1234
The public annotation tool for driving scenes provided by hitachi automotive and industry lab is used to annotate our dataset. The label details of each category are as follows:
| Name | Ground Truth value | Color |
|---|---|---|
| background | 0 | [0, 0, 0] |
| road | 7 | [128, 64, 128] |
| person | 24 | [60, 20, 220] |
| rider | 25 | [0, 0, 255] |
| car | 26 | [142, 0, 0] |
| truck | 27 | [70, 0, 0] |
| fence | 13 | [153, 153, 190] |
| tree | 21 | [35, 142, 107] |
| bus | 28 | [100, 60, 0] |
| pole | 17 | [153, 153, 153] |
Please consider citing our paper in your publications if you find SCUT-Seg Dataset helps your research:
@article{XIONG2021103628,
title = {MCNet: Multi-level Correction Network for thermal image semantic segmentation of nighttime driving scene},
journal = {Infrared Physics & Technology},
pages = {103628},
year = {2021},
issn = {1350-4495},
doi = {https://doi.org/10.1016/j.infrared.2020.103628},
author = {Haitao Xiong and Wenjie Cai and Qiong Liu},
}
MCNet is a network architecture proposed in our paper MCNet: Multi-level Correction Network for thermal image semantic segmentation of nighttime driving scene,
by Haitao Xiong, Wenjie Cai, Qiong Liu from South China University of Technology.
- PyTorch 1.0
pip3 install torch torchvision
- Easydict
pip3 install easydict
- Apex
- tqdm
pip3 install tqdm
-
modify the
config.pyaccording to your requirements -
train a network:
export NGPUS=8 python -m torch.distributed.launch --nproc_per_node=$NGPUS train.py
-
evaluate a trained network on the validation set:
python eval.py -
input arguments:
usage: -e epoch_idx -d device_idx [--verbose ] [--show_image] [--save_path Pred_Save_Path]
The following results are referred from our paper. Recently, we found that training with mmsegmentation can achieve higher performance on the SCUT-Seg dataset. Therefore, we recommend researchers to train the SCUT-Seg dataset with mmsegmentation.
| Method | Backbone | mIoU(%) |
|---|---|---|
| U-Net | ---- | 41.53 |
| FCN-32s | ResNet-101 | 48.43 |
| FCN-16s | ResNet-101 | 59.65 |
| DFN | ResNet-101 | 64.55 |
| BiseNet | ResNet-101 | 63.03 |
| PSPNet | ResNet-101 | 67.04 |
| PSANet | ResNet-101 | 67.32 |
| DeepLabV3 | ResNet-101 | 64.64 |
| DeepLabV3+ | ResNet-101 | 68.00 |
| MCNet | ResNet-101 | 69.79 |
MCNet-ResNet101 code:1234
Our code mainly refers from torchseg.
Please contact me xhtroman@gmail.com if you get stuck anywhere.
