无人驾驶应用中的图像语义分割框架-HRNet

2020-11-25 10:17:04 浏览数 (2)

图像语义分割作为实现各类复杂视觉任务的基础之一,在现实中有很多应用。例如,无人驾驶技术中往往需要先实现对街景的语义识别。

HRNet网络架构是近年来表现不错的图像语义分割框架。HRNet不同于常规的Encoder-Decoder框架,而是尽可能自始至终保留高分辨率信息。HRNet 语义分割框架图中包含4类分辨率特征图信息。

HRNet 语义分割框架图HRNet 语义分割框架图

HRNet 语义分割框架图

这4类分辨率特征图关系参考HRNet 语义分割branches图,每行特征图序列对应一个Branch。Branch 1所在行特征图分辨率为H*W,通道数为C ;Branch 2 所在行特征图分辨率为(H*W)/2,通道数为2C ;Branch 3 所在行特征图分辨率为(H*W)/4,通道数为4C ;Branch 4所在行特征图分辨率为 (H*W)/8,通道数为 8C 。

HRNet 语义分割branches图HRNet 语义分割branches图

HRNet 语义分割branches图

HRNet框架中在列方向又将特征图分为4个stages。第2、3、4 stage,每个stage由一个或多个Modules组成。每个Module中包括多个Residual Unit,每个Residual Unit为Basic Block或Bottleneck Block类型。注: HRNet语义分割stages图中显示的主要为stages,并未体现Modules。

HRNet 语义分割 stages 图HRNet 语义分割 stages 图

HRNet 语义分割 stages 图

Residual Unit 之 Basic Block  与 Bottleneck BlockResidual Unit 之 Basic Block 与 Bottleneck Block

Residual Unit 之 Basic Block  与 Bottleneck Block

HRNet框架中stage 1 主要由1个Layer构成,该Layer由4个Bottleneck Blocks串联组成。stage 2主要由1个Module构成,stage3由4个Modules构成,stage4由3个Modules构成。

至于Module结构,主要表现为多个Branches的Fuse。以stage4中的Module为例。该Module包括4个Branches部分,在Module结束时对各Branch进行Fuse计算。参考HRNet语义分割stage4 Module图。

HRNet 语义分割 stage4 ModuleHRNet 语义分割 stage4 Module

HRNet 语义分割 stage4 Module

该Module中每个branch部分包括4个Residual Unit。每个Residual Unit为Basic Block 类型。在Module结束时通过一个Fuse Layer实现各特征图的Fuse。

HRNet 语义分割 stage 4 Module 中Residual UnitHRNet 语义分割 stage 4 Module 中Residual Unit

HRNet 语义分割 stage 4 Module 中Residual Unit

HRNet 语义分割 stage 4 Module 中Fuse LayerHRNet 语义分割 stage 4 Module 中Fuse Layer

HRNet 语义分割 stage 4 Module 中Fuse Layer

具体Fuse方法参考Fuse Layer中各Branch特征图Fuse方法图。可以看到有3类计算方法,每类计算方法的实现称为Exchange Unit。

Fuse Layer中各Branch特征图Fuse方法图Fuse Layer中各Branch特征图Fuse方法图

Fuse Layer中各Branch特征图Fuse方法图

在HRNet官方代码实现层面,实现方法与上述原理说明略有不同。主要体现在各Stages之间的Fuse阶段。


代码语言:javascript复制
新产学研项目研发
项目研发业务框架项目研发业务框架
代码语言:javascript复制
如果项目需研发,欢迎咨询!

0 人点赞