# DeepLabV3-Plus ## 论文 暂无 ## 模型简介 DeepLabV3plus模型采用了编码器-解码器(Encoder-Decoder)结构,通过编码器提取图像特征,再通过解码器将这些特征映射回原始图像尺寸,实现像素级的分类。具体来说,模型的主干网络(论文中对ResNet101或Xception做了实验)负责特征提取,特征提取分为高层语义提取和底层的语义提取两个部分。然后,模型会利用空洞卷积(Dilated Convolution)技术,构建了ASPP(Atrous Spatial Pyramid Pooling)模块,提高模型在不同尺度特征提取上的能力。最后,通过解码器恢复图像的细节信息,得到最终的分割结果。总体流程如下: ![alt text](image.png) ## 环境依赖 | 软件 | 版本 | | :------: | :------: | | DTK | 25.04.2 | | python | 3.10.12 | | transformers | 4.57.1 | | vllm | 0.11.0+das.opt1.alpha.8e22ded.dtk25042 | | torch | 2.5.1+das.opt1.dtk25042 | | triton | 3.1+das.opt1.3c5d12d.dtk25041 | | flash_attn | 2.6.1+das.opt1.dtk2504 | | flash_mla | 1.0.0+das.opt1.dtk25042 | 当前仅支持镜像: - 挂载地址`-v`根据实际模型情况修改 ```bash docker run -it --shm-size 60g --network=host --name minimax_m2 --privileged --device=/dev/kfd --device=/dev/dri --device=/dev/mkfd --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root -v /opt/hyhal/:/opt/hyhal/:ro -v /path/your_code_path/:/path/your_code_path/ image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10 bash ``` 更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。 关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装。 ## 数据集 ### Pascal VOC数据集 你可以通过运行train.py 使用 "--download" 选项下载并解压 pascal voc dataset. 默认地址为: './datasets/data': ``` /datasets /data /VOCdevkit /VOC2012 /SegmentationClass /JPEGImages ... ... /VOCtrainval_11-May-2012.tar ... ``` ### 下载cityscapes并解压到 'datasets/data/cityscapes' ``` /datasets /data /cityscapes /gtFine /leftImg8bit ``` ## 训练 ### 1. 可用模型架构 | DeepLabV3 | DeepLabV3+ | | :---: | :---: | |deeplabv3_resnet50|deeplabv3plus_resnet50| |deeplabv3_resnet101|deeplabv3plus_resnet101| |deeplabv3_mobilenet|deeplabv3plus_mobilenet || |deeplabv3_hrnetv2_48 | deeplabv3plus_hrnetv2_48 | |deeplabv3_hrnetv2_32 | deeplabv3plus_hrnetv2_32 | |deeplabv3_xception | deeplabv3plus_xception | 请参考 [network/modeling.py](https://github.com/VainF/DeepLabV3Plus-Pytorch/blob/master/network/modeling.py) 适用于所有模型结构。 模型下载: [Dropbox](https://www.dropbox.com/sh/w3z9z8lqpi8b2w7/AAB0vkl4F5vy6HdIhmRCTKHSa?dl=0), [腾讯微盘](https://share.weiyun.com/qqx78Pv5) ### 2。基于数据集训练 #### 1. Pascal VOC进行训练 ```bash python main.py --model deeplabv3plus_mobilenet --enable_vis --vis_port 28333 --gpu_id 0 --year 2012_aug --crop_val --lr 0.01 --crop_size 513 --batch_size 16 --output_stride 16 ``` #### 2. Cityscapes进行训练 ```bash python main.py --model deeplabv3plus_mobilenet --dataset cityscapes --enable_vis --vis_port 28333 --gpu_id 0 --lr 0.1 --crop_size 768 --batch_size 16 --output_stride 16 --data_root ./datasets/data/cityscapes ``` ## 推理 推理测试 ```bash python main.py --model deeplabv3plus_mobilenet --enable_vis --vis_port 28333 --gpu_id 0 --year 2012_aug --crop_val --lr 0.01 --crop_size 513 --batch_size 16 --output_stride 16 --ckpt checkpoints/best_deeplabv3plus_mobilenet_voc_os16.pth --test_only --save_val_results ``` ### 精度 DCU与GPU精度一致,推理框架:pytorch。 ### 效果展示 ![alt text](samples/visdom-screenshoot.png) ## 预训练权重 模型名称 | Batch Size | 权重大小 | train/val OS|DCU型号 | mIoU | 权重下载-Dropbox | 权重下载-微云 | | :-------- | :-------------: | :----: | :----: | :-----------: | :--------: | :--------: | :----: | | DeepLabV3-MobileNet | 16 | 6.0G | 16/16 | K100AI | 0.701 | [Download](https://www.dropbox.com/s/uhksxwfcim3nkpo/best_deeplabv3_mobilenet_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/A4ubD1DD) | | DeepLabV3-ResNet50 | 16 | 51.4G | 16/16 | K100AI | 0.769 | [Download](https://www.dropbox.com/s/3eag5ojccwiexkq/best_deeplabv3_resnet50_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/33eLjnVL) | | DeepLabV3-ResNet101 | 16 | 72.1G | 16/16 | K100AI | 0.773 | [Download](https://www.dropbox.com/s/vtenndnsrnh4068/best_deeplabv3_resnet101_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/iCkzATAw) | | DeepLabV3Plus-MobileNet | 16 | 17.0G | 16/16 | K100AI | 0.711 | [Download](https://www.dropbox.com/s/0idrhwz6opaj7q4/best_deeplabv3plus_mobilenet_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/djX6MDwM) | | DeepLabV3Plus-ResNet50 | 16 | 62.7G | 16/16 | K100AI | 0.772 | [Download](https://www.dropbox.com/s/dgxyd3jkyz24voa/best_deeplabv3plus_resnet50_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/uTM4i2jG) | | DeepLabV3Plus-ResNet101 | 16 | 83.4G | 16/16 | K100AI | 0.783 | [Download](https://www.dropbox.com/s/bm3hxe7wmakaqc5/best_deeplabv3plus_resnet101_voc_os16.pth?dl=0) | [Download](https://share.weiyun.com/UNPZr3dk) | ## 源码仓库及问题反馈 - https://developer.sourcefind.cn/codes/modelzoo/deeplabv3-plus_pytorch ## 参考资料 - https://github.com/VainF/DeepLabV3Plus-Pytorch/tree/master