README.md 5.5 KB
Newer Older
W
wuzewu 已提交
1 2
# PaddleSeg 特色垂类分割模型

L
LutaoChu 已提交
3
提供基于PaddlePaddle最新的分割特色模型:
W
wuzewu 已提交
4

L
LutaoChu 已提交
5 6 7 8 9
- [人像分割](#人像分割)
- [人体解析](#人体解析)
- [车道线分割](#车道线分割)
- [工业用表分割](#工业用表分割)
- [在线体验](#在线体验)
W
wuzewu 已提交
10

L
LutaoChu 已提交
11
## 人像分割
W
wuzewu 已提交
12

L
LutaoChu 已提交
13
**Note:** 本章节所有命令均在`contrib/HumanSeg`目录下执行。
W
wuzewu 已提交
14

L
LutaoChu 已提交
15 16 17
```
cd contrib/HumanSeg
```
W
wuzewu 已提交
18

L
LutaoChu 已提交
19
### 1. 模型结构
W
wuzewu 已提交
20

L
LutaoChu 已提交
21
DeepLabv3+ backbone为Xception65
W
wuzewu 已提交
22

L
LutaoChu 已提交
23 24 25
### 2. 下载模型和数据
 
执行以下命令下载并解压模型和数据集:
W
wuzewu 已提交
26

L
LutaoChu 已提交
27 28 29
```
python download_HumanSeg.py
```
W
wuzewu 已提交
30

L
LutaoChu 已提交
31
或点击[链接](https://paddleseg.bj.bcebos.com/models/HumanSeg.tgz)进行手动下载,并解压到contrib/HumanSeg文件夹下
W
wuzewu 已提交
32 33


L
LutaoChu 已提交
34
### 3. 运行
W
wuzewu 已提交
35

L
LutaoChu 已提交
36
使用GPU预测:
W
wuzewu 已提交
37
```
L
LutaoChu 已提交
38
python -u infer.py --example HumanSeg --use_gpu
W
wuzewu 已提交
39 40
```

L
LutaoChu 已提交
41

W
wuzewu 已提交
42 43
使用CPU预测:
```
L
LutaoChu 已提交
44
python -u infer.py --example HumanSeg
W
wuzewu 已提交
45 46 47
```


L
LutaoChu 已提交
48
预测结果存放在contrib/HumanSeg/HumanSeg/result目录下。
W
wuzewu 已提交
49

L
LutaoChu 已提交
50
### 4. 预测结果示例:
W
wuzewu 已提交
51

L
LutaoChu 已提交
52 53 54 55 56 57 58
  原图:
  
  ![](HumanSeg/imgs/Human.jpg)
  
  预测结果:
  
  ![](HumanSeg/imgs/HumanSeg.jpg)
W
wuzewu 已提交
59 60 61



L
LutaoChu 已提交
62 63 64 65 66 67 68 69
## 人体解析

![](ACE2P/imgs/result.jpg)

人体解析(Human Parsing)是细粒度的语义分割任务,旨在识别像素级别的人类图像的组成部分(例如,身体部位和服装)。本章节使用冠军模型Augmented Context Embedding with Edge Perceiving (ACE2P)进行预测分割。


**Note:** 本章节所有命令均在`contrib/ACE2P`目录下执行。
W
wuzewu 已提交
70 71

```
L
LutaoChu 已提交
72
cd contrib/ACE2P
W
wuzewu 已提交
73 74
```

L
LutaoChu 已提交
75 76 77 78 79 80 81
### 1. 模型概述

Augmented Context Embedding with Edge Perceiving (ACE2P)通过融合底层特征、全局上下文信息和边缘细节,端到端训练学习人体解析任务。以ACE2P单人人体解析网络为基础的解决方案在CVPR2019第三届Look into Person (LIP)挑战赛中赢得了全部三个人体解析任务的第一名。详情请参见[ACE2P](./ACE2P)

### 2. 模型下载

执行以下命令下载并解压ACE2P预测模型:
W
wuzewu 已提交
82 83

```
L
LutaoChu 已提交
84
python download_ACE2P.py
W
wuzewu 已提交
85 86
```

L
LutaoChu 已提交
87
或点击[链接](https://paddleseg.bj.bcebos.com/models/ACE2P.tgz)进行手动下载, 并在contrib/ACE2P下解压。
W
wuzewu 已提交
88

L
LutaoChu 已提交
89 90 91 92 93 94
### 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文件夹下
W
wuzewu 已提交
95

L
LutaoChu 已提交
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120

### 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)
W
wuzewu 已提交
121
  
L
LutaoChu 已提交
122
### 备注
W
wuzewu 已提交
123

L
LutaoChu 已提交
124 125 126 127 128 129 130 131 132 133 134 135 136
1. 数据及模型路径等详细配置见ACE2P/HumanSeg/RoadLine下的config.py文件
2. ACE2P模型需预留2G显存,若显存超可调小FLAGS_fraction_of_gpu_memory_to_use




## 车道线分割

**Note:** 本章节所有命令均在`contrib/RoadLine`目录下执行。

```
cd contrib/RoadLine
```
W
wuzewu 已提交
137 138 139 140 141 142 143 144

### 1. 模型结构

Deeplabv3+ backbone为MobileNetv2


### 2. 下载模型和数据

L
LutaoChu 已提交
145 146 147 148 149 150 151 152 153
 
执行以下命令下载并解压模型和数据集:

```
python download_RoadLine.py
```

或点击[链接](https://paddleseg.bj.bcebos.com/inference_model/RoadLine.tgz)进行手动下载,并解压到contrib/RoadLine文件夹下

W
wuzewu 已提交
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

### 3. 运行
  
使用GPU预测:

```
python -u infer.py --example RoadLine --use_gpu
```


使用CPU预测:

```
python -u infer.py --example RoadLine
```

L
LutaoChu 已提交
170
预测结果存放在contrib/RoadLine/RoadLine/result目录下。
W
wuzewu 已提交
171 172 173

#### 4. 预测结果示例:
  
L
LutaoChu 已提交
174 175 176
  原图:
  
  ![](RoadLine/imgs/RoadLine.jpg)
W
wuzewu 已提交
177
  
L
LutaoChu 已提交
178 179 180 181 182
  预测结果:
  
  ![](RoadLine/imgs/RoadLine.png)


W
wuzewu 已提交
183

L
LielinJiang 已提交
184 185
## 工业用表分割

L
LutaoChu 已提交
186 187 188

**Note:** 本章节所有命令均在`PaddleSeg`目录下执行。

L
LielinJiang 已提交
189 190 191 192 193 194
### 1. 模型结构

unet

### 2. 数据准备
 
L
LutaoChu 已提交
195 196 197 198 199
执行以下命令下载并解压数据集,数据集将存放在contrib/MechanicalIndustryMeter文件夹下:

```
python ./contrib/MechanicalIndustryMeter/download_mini_mechanical_industry_meter.py
```
L
LielinJiang 已提交
200 201


L
LutaoChu 已提交
202
### 3. 下载预训练模型
L
LielinJiang 已提交
203 204

```
L
LutaoChu 已提交
205
python ./pretrained_model/download_model.py unet_bn_coco
L
LielinJiang 已提交
206 207
```

L
LutaoChu 已提交
208 209
### 4. 训练与评估

L
LielinJiang 已提交
210
```
L
LutaoChu 已提交
211 212
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 
L
LielinJiang 已提交
213 214
```

L
LutaoChu 已提交
215 216
### 5. 可视化
我们已提供了一个训练好的模型,执行以下命令进行下载,下载后将存放在./contrib/MechanicalIndustryMeter/文件夹下。
L
LielinJiang 已提交
217

L
LutaoChu 已提交
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
```
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)
L
LielinJiang 已提交
235
  
L
LutaoChu 已提交
236 237 238
  预测结果:
  
  ![](MechanicalIndustryMeter/imgs/1560143028.5_IMG_3091.png)
L
LutaoChu 已提交
239 240 241 242 243 244 245 246 247

## 在线体验

PaddleSeg在AI Studio平台上提供了在线体验的教程,欢迎体验:

|教程|链接|
|-|-|
|工业质检|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/184392)|
|人像分割|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/188833)|
C
chulutao 已提交
248
|特色垂类模型|[点击体验](https://aistudio.baidu.com/aistudio/projectdetail/226710)|
L
LutaoChu 已提交
249

W
wuzewu 已提交
250