TFSegmentation:基于TensorFlow的实时语义分割比较研究

实时语义分割比较研究

来自以下论文中使用的官方TensorFlow代码:

描述

语义分割有利于机器人相关的应用,尤其是自动驾驶。大多数关于语义分割的研究只是提高分割模型的准确性,而很少关注计算有效的解决方案。此前学界在这方面已有的少量工作并没有提供评估分割不同设计选择的原则性方法。在RTSeg中,我们通过提供实时语义分割基准测试框架和特征提取和解码方法的解耦设计来弥补这一缺憾。代码和实验结果在CityScapes数据集中进行了评估。

已有模型

编码器 Skip U-Net DilationV1 DilationV2
VGG-16 没有
RESNET-18 没有
MobileNet
的ShuffleNet

注意:后续会发布更多模型的评估。

报告的结果

测试集

模型 GFLOPS Class IoU Class IIoU Category IoU Category iIoU
SegNet 286.03 56.1 34.2 79.8 66.4
ENET 3.83 58.3 24.4 80.4 64.0
DeepLab 70.4 42.6 86.4 67.7
SkipNet-VGG16 65.3 41.7 85.7 70.1
ShuffleSeg 2.0 58.3 32.4 80.2 62.2
SkipNet-MobileNet 6.2 61.5 35.2 82.0 63.0

验证集

编码器 解码器 Coarse mIoU
MobileNet SkipNet 没有 61.3
ShuffleNet SkipNet 没有 55.5
RESNET-18 UNET 没有 57.9
MobileNet UNET 没有 61.0
ShuffleNet UNET 没有 57.0
MobileNet Dilation 没有 57.8
ShuffleNet Dilation 没有 53.9
MobileNet SkipNet 62.4
ShuffleNet SkipNet 59.3

** GFLOPs是在图像分辨率360×640上计算的。但是,mIOU(s)是根据CityScapes评估脚本1024×2048所需的官方图片分辨率计算的。**

用法

  1. 这里下载训练权重,处理过的数据和训练好的图表
  2. 解压pretrained_weights.zip
  3. 在data/下解压full_cityscapes_res.zip
  4. 在experiments/中解压unet_resnet18.zip /

运行

run.sh文件为运行不同的架构提供了一个很好的例子。看看这个文件。

run.sh文件中运行命令的示例:

python3 main.py --load_config=[config_file_name].yaml [train/test] [Trainer Class Name] [Model Class Name]
  • SkipNet-MobileNet和SkipNet-ShuffleNet的测试结果可在Cityscapes Benchmark上公开获得。
python3 main.py --load_config=unet_resnet18_test.yaml test Train LinkNET
  • 要测量运行时间,请运行推理模式。
python3 main.py --load_config=unet_resnet18_test.yaml inference Train LinkNET
  • 要在不同的数据集或模型上运行,请config/experiments_config/unet_resnet18_test.yaml选取其中一个配置文件,并对其进行修改或根据需要创建另一个.yaml配置文件。

注意:当前的代码不包含测量推理时间的优化代码,最终的代码将很快发布。

主要依赖

Python 3 and above
tensorflow 1.3.0/1.4.0
numpy 1.13.1
tqdm 4.15.0
matplotlib 2.0.2
pillow 4.2.1
PyYAML 3.12

安装所有依赖库

pip install -r [requirements_gpu.txt] or [requirements.txt]

引文

如果您发现RTSeg对您的研究有用,请考虑引用下面的论文:

@ARTICLE{2018arXiv180302758S,
   author = {{Siam}, M. and {Gamal}, M. and {Abdel-Razek}, M. and {Yogamani}, S. and
    {Jagersand}, M.},
    title = "{RTSeg: Real-time Semantic Segmentation Comparative Study}",
  journal = {ArXiv e-prints},
archivePrefix = "arXiv",
   eprint = {1803.02758},
 primaryClass = "cs.CV",
 keywords = {Computer Science - Computer Vision and Pattern Recognition},
     year = 2018,
    month = mar,
   adsurl = {http://adsabs.harvard.edu/abs/2018arXiv180302758S},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
https://github.com/MSiam/TFSegmentation

转载请注明:《TFSegmentation:基于TensorFlow的实时语义分割比较研究

发表评论