# PaddleSeg 特色垂类分割模型 提供基于PaddlePaddle最新的分割特色模型: - [人像分割](#人像分割) - [人体解析--ACE2P](#人体解析--ACE2P) - [车道线分割--LaneNet](LaneNet/README.md) - [车道线分割--DeepLabv3+](#车道线分割--DeepLabv3) - [工业用表分割](#工业用表分割) - [在线体验](#在线体验) ## 人像分割 **Note:** 本章节所有命令均在`contrib/HumanSeg`目录下执行。 ``` cd contrib/HumanSeg ``` ### 1. 模型结构 DeepLabv3+ backbone为Xception65 ### 2. 下载模型和数据 执行以下命令下载并解压模型和数据集: ``` python download_HumanSeg.py ``` 或点击[链接](https://paddleseg.bj.bcebos.com/models/HumanSeg.tgz)进行手动下载,并解压到contrib/HumanSeg文件夹下 ### 3. 运行 使用GPU预测: ``` python -u infer.py --example HumanSeg --use_gpu ``` 使用CPU预测: ``` python -u infer.py --example HumanSeg ``` 预测结果存放在contrib/HumanSeg/HumanSeg/result目录下。 ### 4. 预测结果示例: 原图: ![](HumanSeg/imgs/Human.jpg) 预测结果: ![](HumanSeg/imgs/HumanSeg.jpg) ## 人体解析--ACE2P ![](ACE2P/imgs/result.jpg) 人体解析(Human Parsing)是细粒度的语义分割任务,旨在识别像素级别的人类图像的组成部分(例如,身体部位和服装)。本章节使用冠军模型Augmented Context Embedding with Edge Perceiving (ACE2P)进行预测分割。 **Note:** 本章节所有命令均在`contrib/ACE2P`目录下执行。 ``` cd contrib/ACE2P ``` ### 1. 模型概述 Augmented Context Embedding with Edge Perceiving (ACE2P)通过融合底层特征、全局上下文信息和边缘细节,端到端训练学习人体解析任务。以ACE2P单人人体解析网络为基础的解决方案在CVPR2019第三届Look into Person (LIP)挑战赛中赢得了全部三个人体解析任务的第一名。详情请参见[ACE2P](./ACE2P) ### 2. 模型下载 执行以下命令下载并解压ACE2P预测模型: ``` python download_ACE2P.py ``` 或点击[链接](https://paddleseg.bj.bcebos.com/models/ACE2P.tgz)进行手动下载, 并在contrib/ACE2P下解压。 ### 3. 数据下载 测试图片共10000张, 点击 [Baidu_Drive](https://pan.baidu.com/s/1nvqmZBN#list/path=%2Fsharelink2787269280-523292635003760%2FLIP%2FLIP&parentPath=%2Fsharelink2787269280-523292635003760) 下载Testing_images.zip,或前往LIP数据集官网进行下载。 下载后解压到contrib/ACE2P/data文件夹下 ### 4. 运行 使用GPU预测 ``` python -u infer.py --example ACE2P --use_gpu ``` 使用CPU预测: ``` python -u infer.py --example ACE2P ``` **NOTE:** 运行该模型需要2G左右显存。由于数据图片较多,预测过程将比较耗时。 #### 5. 预测结果示例: 原图: ![](ACE2P/imgs/117676_2149260.jpg) 预测结果: ![](ACE2P/imgs/117676_2149260.png) ### 备注 1. 数据及模型路径等详细配置见ACE2P/HumanSeg/RoadLine下的config.py文件 2. ACE2P模型需预留2G显存,若显存超可调小FLAGS_fraction_of_gpu_memory_to_use ## 车道线分割--DeepLabv3+ **Note:** 本章节所有命令均在`contrib/RoadLine`目录下执行。 ``` cd contrib/RoadLine ``` ### 1. 模型结构 Deeplabv3+ backbone为MobileNetv2 ### 2. 下载模型和数据 执行以下命令下载并解压模型和数据集: ``` python download_RoadLine.py ``` 或点击[链接](https://paddleseg.bj.bcebos.com/inference_model/RoadLine.tgz)进行手动下载,并解压到contrib/RoadLine文件夹下 ### 3. 运行 使用GPU预测: ``` python -u infer.py --example RoadLine --use_gpu ``` 使用CPU预测: ``` python -u infer.py --example RoadLine ``` 预测结果存放在contrib/RoadLine/RoadLine/result目录下。 #### 4. 预测结果示例: 原图: ![](RoadLine/imgs/RoadLine.jpg) 预测结果: ![](RoadLine/imgs/RoadLine.png) ## 工业用表分割 **Note:** 本章节所有命令均在`PaddleSeg`目录下执行。 ### 1. 模型结构 unet ### 2. 数据准备 执行以下命令下载并解压数据集,数据集将存放在contrib/MechanicalIndustryMeter文件夹下: ``` python ./contrib/MechanicalIndustryMeter/download_mini_mechanical_industry_meter.py ``` ### 3. 下载预训练模型 ``` python ./pretrained_model/download_model.py unet_bn_coco ``` ### 4. 训练与评估 ``` export CUDA_VISIBLE_DEVICES=0 python ./pdseg/train.py --log_steps 10 --cfg contrib/MechanicalIndustryMeter/unet_mechanical_meter.yaml --use_gpu --do_eval --use_mpio ``` ### 5. 可视化 我们已提供了一个训练好的模型,执行以下命令进行下载,下载后将存放在./contrib/MechanicalIndustryMeter/文件夹下。 ``` python ./contrib/MechanicalIndustryMeter/download_unet_mechanical_industry_meter.py ``` 使用该模型进行预测可视化: ``` python ./pdseg/vis.py --cfg contrib/MechanicalIndustryMeter/unet_mechanical_meter.yaml --use_gpu --vis_dir vis_meter \ TEST.TEST_MODEL "./contrib/MechanicalIndustryMeter/unet_mechanical_industry_meter/" ``` 可视化结果会保存在./vis_meter文件夹下。 ### 6. 可视化结果示例: 原图: ![](MechanicalIndustryMeter/imgs/1560143028.5_IMG_3091.JPG) 预测结果: ![](MechanicalIndustryMeter/imgs/1560143028.5_IMG_3091.png) ## 在线体验 PaddleSeg在AI Studio平台上提供了在线体验的教程,欢迎体验: |教程|链接| |-|-| |工业质检|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/184392)| |人像分割|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/188833)| |特色垂类模型|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/226710)|