Skip to content

Commit 5b4cab8

Browse files
Updated DeepLab guide with PointRend
1 parent 3d03fe7 commit 5b4cab8

File tree

2 files changed

+43
-7
lines changed

2 files changed

+43
-7
lines changed

guide/14-deep-learning/how_deeplabv3_works.ipynb

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# How DeepLabV3 Works"
7+
"## How DeepLabV3 Works"
88
]
99
},
1010
{
1111
"cell_type": "markdown",
1212
"metadata": {},
1313
"source": [
14-
"## Introduction"
14+
"### Introduction"
1515
]
1616
},
1717
{
@@ -83,7 +83,7 @@
8383
"cell_type": "markdown",
8484
"metadata": {},
8585
"source": [
86-
"## Atrous Convoltion (Dilated Convolution)"
86+
"### Atrous Convoltion (Dilated Convolution)"
8787
]
8888
},
8989
{
@@ -145,7 +145,7 @@
145145
"cell_type": "markdown",
146146
"metadata": {},
147147
"source": [
148-
"## Atrous Spatial Pyramid Pooling (ASPP)"
148+
"### Atrous Spatial Pyramid Pooling (ASPP)"
149149
]
150150
},
151151
{
@@ -159,7 +159,34 @@
159159
"cell_type": "markdown",
160160
"metadata": {},
161161
"source": [
162-
"### References:"
162+
"### PointRend Enhancement\n",
163+
"\n",
164+
"Segmentation models can tend to over-smoothen boundaries which might not be precise for objects or scenes with irregular boundaries. To get a crisp segmentation boundary, a point-based rendering neural network module called [**PointRend**](https://arxiv.org/abs/1912.08193) has been added as an enhancement to the existing model. This module draws methodology from classical computer graphics and gives the perspective of rendering to a segmentation problem. An iterative subdivision algorithm at selected locations is used to make point-based segmentation predictions. This method enables high-resolution output in an efficient way. [8]"
165+
]
166+
},
167+
{
168+
"cell_type": "markdown",
169+
"metadata": {},
170+
"source": [
171+
"<center><img src=\"../../static/img/pointrend_deeplabv3.jpg\"/></center>\n",
172+
"<center>Figure 4. PointRend enhancement (right) over original segmentation model (left) [8]</center>"
173+
]
174+
},
175+
{
176+
"cell_type": "markdown",
177+
"metadata": {},
178+
"source": [
179+
"To enable PointRend with DeepLabV3, initialize the model with parameter `pointrend=True`:\n",
180+
"```\n",
181+
"model = DeepLab(data=data, pointrend=True)\n",
182+
"```"
183+
]
184+
},
185+
{
186+
"cell_type": "markdown",
187+
"metadata": {},
188+
"source": [
189+
"## References:"
163190
]
164191
},
165192
{
@@ -183,8 +210,17 @@
183210
"[6] Sik-Ho Tsang, Review: DeepLabv3 — Atrous Convolution (Semantic Segmentation), https://towardsdatascience.com/review-deeplabv3-atrous-convolution-semantic-segmentation-6d818bfd1d74, Accessed 21 Februrary 2020\n",
184211
"\n",
185212
"\n",
186-
"[7] Saurabh Pal, Semantic Segmentation: Introduction to the Deep Learning Technique Behind Google Pixel’s Camera!, https://www.analyticsvidhya.com/blog/2019/02/tutorial-semantic-segmentation-google-deeplab/, Accessed 21 February 2020\n"
213+
"[7] Saurabh Pal, Semantic Segmentation: Introduction to the Deep Learning Technique Behind Google Pixel’s Camera!, https://www.analyticsvidhya.com/blog/2019/02/tutorial-semantic-segmentation-google-deeplab/, Accessed 21 February 2020\n",
214+
"\n",
215+
"[8] Alexander Kirillov, Yuxin Wu, Kaiming He, Ross Girshick: “PointRend: Image Segmentation as Rendering”, 2019; [http://arxiv.org/abs/1912.08193 arXiv:1912.08193].\n"
187216
]
217+
},
218+
{
219+
"cell_type": "code",
220+
"execution_count": null,
221+
"metadata": {},
222+
"outputs": [],
223+
"source": []
188224
}
189225
],
190226
"metadata": {
@@ -203,7 +239,7 @@
203239
"name": "python",
204240
"nbconvert_exporter": "python",
205241
"pygments_lexer": "ipython3",
206-
"version": "3.6.9"
242+
"version": "3.7.9"
207243
}
208244
},
209245
"nbformat": 4,

static/img/pointrend_deeplabv3.jpg

94.1 KB
Loading

0 commit comments

Comments
 (0)