【PIDNet】: A Real-time Semantic Segmentation Network Inspired by PID Controllers

PIDNet: A Real-time Semantic Segmentation Network Inspired by PID Controllers

https://arxiv.org/pdf/2206.02066.pdf
https://github.com/XuJiacong/PIDNet
Jiacong Xu Zixiang Xiong Shankar P. Bhattacharyya
Dept of ECE, Texas A&M University, College Station, TX 77843
[email protected], [email protected], [email protected]
2023

摘要:在实时语义分割任务中,双分支网络架构显示出其高效性和有效性。然而,高分辨率细节和低频上下文直接融合的方法存在一个问题,即细节特征容易被周围的上下文信息所淹没。这种过度扩展现象限制了现有双分支模型在分割准确性上的改进。在本文中,我们将卷积神经网络(CNN)和比例积分微分(PID)控制器进行了连接,并揭示出双分支网络等效于一个比例积分(PI)控制器,其本质上存在类似的过度扩展问题。为了缓解这个问题,我们提出了一种新颖的三分支网络架构:PIDNet,它包含三个分支分别用于解析细节、上下文和边界信息,并采用边界注意力来引导细节和上下文分支的融合。我们的PIDNet系列在推理速度和准确性之间实现了最佳平衡,并且在Cityscapes和CamVid数据集上的准确性超过了所有具有相似推理速度的现有模型。具体而言,PIDNet-S在Cityscapes上以93.2 FPS的推理速度实现了78.6%的mIOU,在CamVid上以153.7 FPS的速度实现了80.1%的mIOU。

1. 引言

比例积分微分(PID)控制器是一种经典概念,在现代动态系统和过程中广泛应用,例如机器人操纵[3]、化学过程[24]和电力系统[25]。尽管近年来已经开发出许多具有更好控制性能的先进控制策略,但由于其简单性和鲁棒性,PID控制器仍然是大多数工业应用的首选。此外,PID控制器的思想已经扩展到许多其他领域。例如,研究人员将PID概念引入图像去噪[32]、随机梯度下降[1]和数值优化[50]等方面,以提高算法性能。在本文中,我们通过应用PID控制器的基本概念,设计了一种新颖的用于实时语义分割任务的架构,并通过大量实验证明我们模型的性能超过了所有以前的工作,并在推理速度和准确性之间实现了最佳平衡,如图1所示。

图1. 推理速度和准确性之间的权衡(报告)在Cityscapes [12]测试集上的实时模型。蓝色星星代表我们的模型,而绿色三角形代表其他模型。

语义分割是一项基本任务,其目标是将输入图像中的每个像素分配给特定的类别标签,用于对视觉场景进行解析。随着智能需求的增加,语义分割已成为自动驾驶[16]、医学影像诊断[2]和遥感图像[54]等应用的基本感知组件。从FCN [31]开始,它在传统方法上取得了巨大的改进,深度卷积网络逐渐在语义分割领域占据主导地位,提出了许多代表性模型[4、6、40、48、59、60]。为了获得更好的性能,引入了各种策略,使这些模型具备在大尺度上学习像素之间的上下文依赖关系的能力,以避免遗漏重要细节。尽管这些模型取得了令人鼓舞的分割准确性,但也需要过多的计算成本,这在实时场景中极大地限制了它们的应用,如自动驾驶车辆[16]和机器人手术[44]。

为满足实时或移动需求,研究人员过去提出了许多高效和有效的语义分割模型。具体而言,ENet [36] 采用了轻量级解码器并在早期阶段对特征图进行下采样。ICNet [58] 在复杂且深层路径中对小尺寸输入进行编码以解析高层语义信息。MobileNets [21, 42] 使用深度可分离卷积替代传统卷积操作。这些早期的工作降低了分割模型的延迟和内存使用,但低准确性严重限制了它们在实际应用中的使用。最近,许多基于两分支网络(TBN)架构的新颖且有前景的模型在文献中被提出,并实现了速度和准确性之间的最佳平衡 [15, 20, 38, 39, 52]。

图2. 动态系统(左 |)和图像分割(| 右)的超调问题。左 |:二阶系统的PI和PID控制器的阶跃响应;| 右:从第一行到最后一行,分别是裁剪自真实标注、DDRNet-23 [20]输出和ADB-Bag-DDRNet-23(我们的模型)的图像。

在本文中,我们从PID控制器的角度审视TBN的架构,并指出TBN等效于一个存在过冲问题的PI控制器,如图2所示。为了缓解这个问题,我们设计了一种新颖的三分支网络架构,即PIDNet,并证明了它在Cityscapes [12]、CamVid [5] 和PASCAL Context [33] 数据集上的优越性。我们还提供了消融研究和特征可视化,以更好地理解PIDNet中每个模块的功能。源代码可通过以下链接访问:https://github.com/XuJiacong/PIDNet

本文的主要贡献有三个方面:

  • 我们建立了深度卷积神经网络和PID控制器之间的联系,并基于PID控制器架构提出了一系列的三分支网络。
  • 我们提出了一些高效的模块,例如平衡详细特征和上下文特征的Bag融合模块,以提升PIDNet的性能。
  • PIDNet在所有现有模型中实现了推理速度和准确性之间的最佳平衡。特别地,PIDNet-S 在93.2 FPS的速度下实现了78.6%的mIOU,PIDNet-L 在Cityscapes测试集上展示了最高的准确性(80.6% mIOU),且无需加速工具在实时领域中运行。

2. 相关工作

本节将分别讨论朝向高准确性和实时需求的代表性方法。

2.1 高准确性的语义分割

早期的语义分割方法基于编码器-解码器架构 [4, 31, 40]。在该架构中,编码器通过步幅卷积或池化操作逐渐扩大其感受野,解码器通过反卷积或上采样从高级语义中恢复详细信息。然而,在编码器-解码器网络的下采样过程中,空间细节很容易被忽略。为了缓解这个问题,提出了扩张卷积 [53],它能够扩大视野范围而不降低空间分辨率。基于这一技术,DeepLab 系列 [7-9] 在网络中采用不同的扩张率进行扩张卷积,相比之前的方法取得了巨大的改进。需要注意的是,由于扩张卷积的非连续内存访问,它并不适合硬件实现。PSPNet [59] 引入了金字塔池化模块 (PPM) 来解析多尺度的上下文信息,而HRNet [48] 则利用多条路径和双向连接在不同尺度上学习和融合表示。受注意力机制 [47] 在语言处理中的远程依赖分析能力启发,非局部操作 [49] 被引入到计算机视觉中,并产生了许多准确的模型 [17, 23, 55]。

2.2 实时语义分割

为了在推断速度和准确性之间达到最佳权衡,已经提出了许多网络架构,可以大致总结如下:

轻量级编码器和解码器 SwiftNet [35] 采用低分辨率输入获取高级语义,并使用高分辨率输入为其轻量级解码器提供足够的细节。DFANet [27] 通过修改 Xception [11] 的架构,引入了轻量级的骨干网络,该网络基于深度可分离卷积,并减小了输入尺寸以提高推断速度。ShuffleSeg [18] 采用 ShuffleNet [57] 作为骨干网络,结合通道重排和分组卷积,以降低计算成本。然而,这些网络大多仍然采用编码器-解码器架构,需要信息流经过深度编码器然后反向传递给解码器,这导致了过高的延迟。此外,由于GPU上深度可分离卷积的优化尚不成熟,传统卷积具有更快的速度,但更多的FLOPs和参数 [35]。因此,我们寻求更高效的模型,避免卷积分解和编码器-解码器架构。

双分支网络架构上下文依赖可以通过大感受野提取,而空间细节对边界划定和小尺度物体识别至关重要。为了兼顾两者,BiSeNet [52] 的作者提出了一个双分支网络(TBN)架构,包含两个分支,深度不同,用于上下文嵌入和细节解析,同时还使用特征融合模块(FFM)来融合上下文和详细信息。基于该架构,还提出了一些后续工作,以提高其表示能力或降低模型复杂性 [38, 39, 51]。特别是,DDRNet [20] 引入了双边连接来增强上下文和详细分支之间的信息交流,在实时语义分割中取得了最先进的结果。然而,原始的详细语义和低频上下文信息的直接融合存在风险,即对象边界会被周围像素过度侵蚀,并且小物体可能会被相邻的大物体淹没(如图2和3所示)。

3. 方法

图3. 上 |:PID控制器与提出的网络之间的类比;| 底部:左:将周围掩码区域置零,并计算每个像素当前特征与原始特征之间的相似性;右:从第一列到最后一列,图像分别表示真实标注、DDRNet-23的所有分支预测、仅详细分支预测和仅上下文分支预测。

PID控制器包含三个组成部分:比例(P)控制器、积分(I)控制器和微分(D)控制器,如图3-上所示。PI控制器的实现可以写成:

c o u t ⁡ [ n ] = k p e [ n ] + k i ∑ i = 0 n e [ i ] (1) \operatorname { c_{ o u t }} [ n ] = k _ { p } e [ n ] + k _i \sum_ { i = 0 } ^ { n } e [ i ] \tag{1} cout[n]=kpe[n]+kii=0ne[i](1)
P控制器专注于当前信号,而I控制器累积所有过去的信号。由于累积的惯性效应,当信号发生相反变化时,简单的PI控制器的输出会出现超调现象。然后引入了D控制器,当信号变小时,D分量将变为负值,并起到减小超调的阻尼作用。类似地,TBN通过多个具有或不具有步幅的卷积层分别解析上下文和详细信息。考虑一个简单的一维示例,其中详细分支和上下文分支均由3层组成,没有批量归一化和ReLU操作。然后,输出映射可以计算如下:

O D [ i ] = K i − 3 D I [ i − 3 ] + ⋯ + K i D I [ i ] + ⋯ + K i + 3 D I [ i + 3 ] (2) O _ { D } [ i ] = K^D _ { i - 3 } I [ i - 3 ] + \cdots + K^D _ { i } I[ i ] + \cdots + K ^D_ { i + 3 } I[ i + 3 ] \tag{2} OD[i]=Ki3DI[i3]++KiDI[i]++Ki+3DI[i+3](2)
O C [ i ] = K i − 7 C I [ i − 7 ] + ⋯ + K i C I [ i ] + ⋯ + K i + 7 C I [ i + 7 ] (3) O _ { C } [ i ] = K _ { i - 7 } ^ { C }I [ i - 7 ] + \cdots + K _ { i } ^ { C } I[ i ] + \cdots + K _ { i + 7 } ^ { C } I[ i + 7 ]\tag{3} OC[i]=Ki7CI[i7]++KiCI[i]++Ki+7CI[i+7](3)
其中, K i D = k 31 k 22 k 13 + k 31 k 23 k 12 + k 32 k 21 k 13 + k 32 k 22 k 12 + k 32 k 23 k 13 + k 33 k 21 k 12 + k 33 k 22 k 11 K^D_i= k_{31}k_{22}k_{13} + k_{31}k_{23}k_{12} + k_{32}k_{21}k_{13} + k_{32}k_{22}k_{12} + k_{32}k_{23}k_{13} + k_{33}k_{21}k_{12} + k_{33}k_{22}k_{11} KiD=k31k22k13+k31k23k12+k32k21k13+k32k22k12+k32k23k13+k33k21k12+k33k22k11,而 K i C = k 32 k 22 k 12 K^C_i = k_{32}k_{22}k_{12} KiC=k32k22k12。这里, k m n k_{mn} kmn指的是第m层中卷积核的第n个值。由于 ∣ k m n ∣ |kmn| kmn大多分布在(0, 0.01)范围内(对于DDRNet-23,92%的值在此范围内),并且受到1的限制,每个项的系数随着层数增加而指数级减小。因此,对于每个输入向量,更多的项意味着对最终输出的贡献可能性更高。在详细分支中, I [ i − 1 ] 、 I [ i ] I[i - 1]、I[i] I[i1]I[i] I [ i + 1 ] I[i + 1] I[i+1]占总项数的70%以上,这意味着详细分支更注重局部信息。相反,在上下文分支中, I [ i − 1 ] 、 I [ i ] I[i - 1]、I[i] I[i1]I[i] I [ i + 1 ] I[i + 1] I[i+1]仅占总项数的26%以下,因此上下文分支更注重周围信息。图3-底部显示了上下文分支对局部信息变化的敏感程度较低。空间域中详细分支和上下文分支的行为类似于时间域中的 P P P(当前)和 I ( I( I所有先前)控制器。

将PID控制器的 z z z变换中的 z − 1 z^{-1} z1替换为 e − j ω e^{-jω} e,可以表示为:

C ( z ) = k p + k i ( 1 − e − j w ) − 1 + k d ( 1 − e − j w ) (4) C ( z ) = k _ { p } + k _ { i } ( 1 - e ^ { - j w } ) ^ { - 1 } + k _ { d } ( 1 - e ^ { - j w } )\tag{4} C(z)=kp+ki(1ejw)1+kd(1ejw)(4)
当输入频率 ω ω ω 增加时, I I I D D D控制器的增益分别变小和变大,因此,P、I 和 D 控制器作为全通、低通滤波器和高通滤波器起作用。由于 PI 控制器更加关注输入信号的低频部分,并且不能立即对信号的快速变化做出反应,它天生容易出现超调问题。 D D D 控制器通过使控制输出对输入信号的变化敏感来减少超调。图3-底部显示,详细分支解析各种语义信息,尽管不够准确,而上下文分支聚合低频上下文信息,并在语义上类似于一个大的平均滤波器。直接融合详细和上下文信息会导致一些详细特征丢失。因此,我们得出结论,TBN 在傅里叶域中等效于一个 PI 控制器。

3.1. PIDNet: A Novel Three-branch Network

为了缓解超调问题,我们在TBN上附加了一个辅助的导数分支(ADB),以在空间上模拟PID控制器,并突出高频语义信息。每个对象内部的像素的语义是一致的,只有在相邻对象的边界上才会变得不一致,因此,语义的差异仅在对象边界处非零,ADB的目标是边界检测。因此,我们建立了一个新的三分支实时语义分割架构,即比例-积分-导数网络(PIDNet),如图4所示。

图4. 我们提出的Proportional-Integral-Derivative Network (PIDNet)的基本架构概述。S和B代表语义和边界,Add和Up分别表示逐元素求和和双线性上采样操作;BAS-Loss表示边界感知的交叉熵损失[46]。虚线和相关块在推理阶段将被忽略。

PIDNet具有三个具有互补责任的分支:比例(P)分支在高分辨率特征图中解析和保留详细信息;积分(I)分支在局部和全局上聚合上下文信息以解析长程依赖关系;导数(D)分支提取高频特征以预测边界区域。与[20]一样,我们还采用级联残差块[19]作为硬件友好性的骨干结构。此外,为了实现高效,P、I和D分支的深度设置为适度、深度和浅度。因此,通过加深和加宽模型,我们生成了一系列PIDNet(PIDNet-S、M和L)。

根据[20, 28, 51]的方法,我们在第一个Pag模块的输出处放置一个语义头,以生成额外的语义损失l0,以更好地优化整个网络。与dice loss [13]不同,我们采用加权二元交叉熵损失l1来处理边界检测的不平衡问题,因为粗糙边界更适合突出边界区域并增强小物体的特征。l2和l3表示CE损失,而我们利用边界头的输出使用边界感知CE损失[46]来协调语义分割和边界检测任务,并增强Bag模块的功能。BAS-Loss的计算可以表示为:

l 3 = − ∑ i , c { 1 : b i > t } ( s i , c log ⁡ i ^ , c ) (5) l _ { 3 } = - \sum _ { i , c } \{ 1 : b _ { i } \gt t \} ( s _ { i , c } \log _ {\hat i , c } )\tag{5} l3=i,c{ 1:bi>t}(si,clogi^,c)(5)

其中,t表示预定义的阈值, b i 、 s i , c b_i、s_{i,c} bisi,c s i ^ , c s_{\hat i,c} si^,c分别是边界头部的输出、分割的真值和第i个像素对于类别c的预测结果。因此,PIDNet的最终损失函数可以表示为:

L o s s = λ 0 l 0 + λ 1 l 1 + λ 2 l 2 + λ 3 l 3 (6) L os s = λ_ { 0 } l _ { 0 } + λ _ { 1 } l _ { 1 } + λ _ { 2 } l _ { 2 } + λ _ { 3 } l _ { 3 }\tag{6} Loss=λ0l0+λ1l1+λ2l2+λ3l3(6)

经验上,我们将PIDNet的训练损失参数设置为 λ 0 = 0.4 , λ 1 = 20 , λ 2 = 1 , λ 3 = 1 λ_0 = 0.4,λ_1 = 20,λ_2 = 1,λ_3 = 1 λ0=0.4λ1=20λ2=1λ3=1 t = 0.8 t = 0.8 t=0.8

3.2. Pag:有选择地学习高级语义信息

图5. Pag模块的示意图。σ(x)代表Sigmoid函数;这里所有卷积的卷积核大小均为1×1。

在[20, 35, 48]中使用的横向连接增强了不同尺度特征图之间的信息传递,并提高了模型的表示能力。在PIDNet中,I分支提供的丰富准确的语义信息对于P分支和D分支的细节解析和边界检测至关重要,而这两个分支相对较少的层数和通道。因此,我们将I分支视为其他两个分支的备份,并使其为它们提供所需的信息。与直接添加提供的特征图的D分支不同,我们引入了一个像素注意力引导融合模块(Pag),如图5所示,用于P分支,以有选择地从I分支学习有用的语义特征,而不被压倒。Pag的基本概念来自于注意力机制[47]。定义来自P分支和I分支特征图中相应像素的向量为 v ⃗ p \vec v_p v p v ⃗ i \vec v_i v i,那么Sigmoid函数的输出可以表示为:

σ = S i g m o i d ( f p ( v ⃗ p ) ⋅ f i ( v ⃗ i ) ) (7) σ= S i g m o i d ( f _ { p } (\vec v_p)·f_i(\vec v_i))\tag{7} σ=Sigmoid(fp(v p)fi(v i))(7)

其中,σ表示这两个像素属于同一对象的可能性。如果σ较高,我们更加信任 v ⃗ i \vec v_i v i,因为I分支在语义上更加丰富准确,反之亦然。因此,Pag的输出可以表示为:

O u t P a g = σ v ⃗ i + ( 1 − σ ) v ⃗ p (8) Out_{Pag}=σ\vec v_i+(1-σ)\vec v_p\tag{8} OutPag=σv i+(1σ)v p(8)

3.3. PAPPM: 快速聚合上下文

为了更好地构建全局场景先验,PSPNet [59] 引入了金字塔池化模块(PPM),该模块在卷积层之前连接多尺度池化映射,形成局部和全局上下文表示。[20] 提出的深度聚合 PPM(DAPPM)进一步提高了PPM的上下文嵌入能力,并展示了卓越的性能。然而,DAPPM的计算过程无法并行化,因为它的深度较大,这会耗费大量时间;而且DAPPM对于每个尺度的通道数过多,可能超过轻量模型的表示能力。因此,我们修改了DAPPM中的连接方式,使其可以并行化,如图6所示,并将每个尺度的通道数从128减少到96。这个新的上下文聚合模块称为并行聚合 PPM(PAPPM),并应用于PIDNet-M和PIDNet-S以保证它们的速度。对于我们的深层模型PIDNet-L,我们仍然选择DAPPM考虑到它的深度,但减少了通道数以减少计算量并提高速度。

图6. PAPPM的并行结构示意图。Avg(5,2)表示使用5×5的卷积核和步幅为2的平均池化。

3.4. Bag: 平衡细节和上下文

图7. (a) Bag模块和 (b) Light-Bag模块在极端情况下的单通道实现。P、I和D分别表示详细特征、上下文特征和边界特征的输出。σ表示Sigmoid函数的输出。

鉴于ADB提取的边界特征,我们采用边界注意力来引导详细(P)和上下文(I)表示的融合。具体而言,我们设计了一个边界注意力引导融合模块(Bag),如图7所示,用于分别用详细特征和上下文特征填充高频和低频区域。需要注意的是,上下文分支在语义上是准确的,但在空间和几何细节方面损失较大,尤其是在边界区域和小物体上。得益于保留了更好空间细节的详细分支,我们迫使模型在边界区域更加信任详细分支,并利用上下文特征填充其他区域。定义P、I和D特征图对应像素的向量分别为 v ⃗ p \vec v_p v p v ⃗ i \vec v_i v i v ⃗ d \vec v_d v d,那么Sigmoid的输出、Bag的输出和Light-Bag的输出可以表示为:
σ = S i g m o i d ( v ⃗ d ) (9) σ=S i g m o i d(\vec v_d)\tag{9} σ=Sigmoid(v d)(9)
O u t P a g = f o u t ( ( 1 − σ ) ⊗ v ⃗ i + σ ⊗ v ⃗ p ) (10) Out_{Pag}=f_{out}((1-σ)⊗\vec v_i+σ⊗\vec v_p)\tag{10} OutPag=fout((1σ)v i+σv p)(10)
O u t l i g h t = f p ( ( 1 − σ ) ⊗ v ⃗ i + v ⃗ p ) + f i ( σ ⊗ v ⃗ p + v ⃗ i ) (11) Out_{light}=f_p((1-σ)⊗\vec v_i+\vec v_p)+f_i(σ⊗\vec v_p+\vec v_i)\tag{11} Outlight=fp((1σ)v i+v p)+fi(σv p+v i)(11)

这里,f表示卷积、批归一化和ReLU的组合。尽管我们在Bag中将3×3的卷积替换为Light-Bag中的两个1×1的卷积,但Bag和Light-Bag的功能是相似的,即当σ > 0.5时,模型更加信任详细特征,否则更偏向于上下文信息的利用。

4. 实验

在本节中,我们将在Cityscapes、CamVid和PASCAL Context基准数据集上对我们的模型进行训练和测试。

4.1. 数据集

Cityscapes. Cityscapes [12] 是最著名的城市场景分割数据集之一,包含从不同城市的汽车视角收集的5000张图像。这些图像被划分为2975张用于训练,500张用于验证,以及1525张用于测试。图像分辨率为2048×1024,对于实时模型来说是具有挑战性的。这里只使用了精细注释的数据集。

CamVid. CamVid [5] 提供了701张驾驶场景的图像,其中367张用于训练,101张用于验证,233张用于测试。图像分辨率为960×720,标注类别数为32,其中使用了11个类别进行与之前的工作公平比较。

PASCAL Context. PASCAL Context [33] 提供了整个场景的语义标签,其中包含4998张训练图像和5105张验证图像。虽然这个数据集主要用于评估高准确性模型,但我们在这里利用它来展示PIDNets的泛化能力。同时评估了59类和60类场景的情况。

4.2. 实施细节预训练

在对模型进行微调之前,我们使用ImageNet [41]对其进行预训练,这是之前大多数工作所采用的方法 [20,34,35]。我们移除了D分支,并直接在最后阶段合并特征以构建分类模型。总共训练90个epochs,初始学习率设为0.1,并在第30和第60个epoch时乘以0.1。为了进行数据增强,我们将图像随机裁剪为224×224,并进行水平翻转。训练。我们的训练协议几乎与之前的工作相同 [15, 20, 52]。具体而言,我们采用多项式策略来更新学习率,并进行随机裁剪、随机水平翻转和随机缩放(范围为[0.5, 2.0])进行数据增强。对于Cityscapes、CamVid和PASCAL Context,训练epochs的数量、初始学习率、权重衰减、裁剪大小和批量大小分别为 [ 484 , 1 e − 2 , 5 e − 4 , 1024 × 1024 , 12 ] 、 [ 200 , 1 e − 3 , 5 e − 4 , 960 × 720 , 12 ] [484, 1e^{-2}, 5e^{-4}, 1024×1024, 12]、[200, 1e^{-3}, 5e^{-4}, 960×720, 12] [484,1e2,5e4,1024×1024,12][200,1e3,5e4,960×720,12] [ 200 , 1 e − 3 , 1 e − 4 , 520 × 520 , 16 ] [200, 1e^{-3}, 1e^{-4}, 520×520, 16] [200,1e3,1e4,520×520,16]。根据[20, 51]的方法,我们对Cityscapes的预训练模型进行微调,对CamVid进行训练,并在 l r < 5 e − 4 lr < 5e^{-4} lr<5e4时停止训练,以避免过拟合。推理。在测试之前,我们的模型使用Cityscapes和CamVid的训练集和验证集进行训练。我们在由单个RTX 3090、PyTorch 1.8、CUDA 11.2、cuDNN 8.0和Windows-Conda环境构成的平台上测量推理速度。按照[10]提出的测量协议和[20, 35, 45]的方法,我们将批量归一化整合到卷积层中,并将批量大小设置为1以测量推理速度。

4.3. 消融研究

表1. 对BiSeNet和DDRNet进行ADB-Bag的剖析研究


两分支网络中的ADB。为了展示PID方法的有效性,我们将ADB和Bag与现有模型相结合。在这里,我们实现了两个代表性的两分支网络:BiSeNet [52]和DDRNet [20],并使用ADB和Bag进行了实验,在Cityscapes验证集上取得了比它们原始模型更高的准确性,如表1所示。然而,额外的计算显著降低了它们的推理速度,这促使我们建立PIDNet。

表2。Pag和Bag在PIDNet-L上的消融研究。IM为ImageNet[41]预训练,Add为元素和相加操作,None为无横向连接。

表3. 对PIDNet-S中PAPPM和Light-Bag的剖析研究

在这里插入图片描述

Pag和Bag的协作。P分支利用Pag模块在融合阶段之前从I分支中学习有用的信息,而Bag模块则引导详细和上下文特征的融合。正如表2所示,侧连接可以显著提高模型的准确性,而预训练可以进一步提升性能。在我们的场景中,Add侧连接和Bag融合模块或者Pag侧连接和Add融合模块的组合意义不大,因为保留细节应在整个网络中保持一致。因此,我们只需要比较Add + Add和Pag + Bag的性能,表2表3中的实验结果证明了Pag和Bag(或Light-Bag)协作的优越性。图8中的特征图可视化显示,在第二个Pag的Sigmoid图中,小物体相比大物体变得更暗,其中I分支丢失了更多的细节信息。此外,Bag模块的输出极大地增强了边界区域和小物体的特征,如图9所示,这解释了为什么我们选择粗略的边界检测。

图8. Pag模块的特征可视化。第一行从左到右依次为原始输入图像、P输入、I输入以及第一个Pag的Sigmoid函数输出;第二行为真实标签、P输入、I输入以及第二个Pag的Sigmoid输出;第三行和第四行为另一幅图像的对应结果。

图9. Bag模块的特征可视化。第一行从左到右依次为原始输入图像、真实标签、DDRNet-23的预测结果和PIDNet-M的预测结果;第二行为PIDNet-M中Light-Pag的P、I和D输入以及最终输出;第三行和第四行为另一幅图像的对应结果。

PAPPM的效率。对于实时模型来说,一个复杂的上下文聚合模块可能会严重降低推理速度,并且可能超过网络的表征能力。因此,我们提出了PAPPM,它由并行结构和少量参数组成。表3中的实验结果显示,PAPPM实现了与DAPPM [20]相同的准确性,但对于我们的轻量级模型,速度提升了9.5 FPS。

表4. 对PIDNet-L中额外损失和OHEM的剖析研究。

额外损失的有效性。为了提升整个网络的优化效果并强调每个组件的功能,我们在PIDNet中引入了三个额外的损失。根据表4,边界损失 l 1 l_1 l1和边界感知损失 l 3 l_3 l3对于更好的性能是必要的,特别是边界损失(+1.1% mIOU),它强烈证明了D分支的必要性,而在线困难样本挖掘(OHEM)[43]进一步提高了准确性。

4.4. 比较

CamVid。对于CamVid [5] 数据集,只有DDRNet的准确性可与我们的模型相媲美,因此我们在我们的平台上使用相同设置测试其速度,以进行公平比较,考虑到我们的平台比他们的平台更先进。表5中的实验结果显示,所有我们的模型的准确性都超过了80%的mIOU,而PIDNet-S-Wider,它只是将PIDNet-S的通道数翻倍,以较大的优势实现了最高的准确性,超过了先前的模型。此外,PIDNet-S的准确性超过了先前的最先进模型DDRNet-23-S,mIOU提高了1.5%,仅增加了约1毫秒的延迟。

表5. CamVid数据集上速度和准确性的比较。使用Cityscapes [12]进行预训练的模型标有†;标有*的模型的推理速度在我们的平台上进行了测试。

Cityscapes。以往的实时作品将Cityscapes [12] 视为标准基准,考虑到其高质量的标注。如表6所示,我们在相同的平台上测试了最近两年发布的模型的推理速度,没有使用任何加速工具,以进行公平比较,与PIDNets相同。实验结果显示,PIDNets在推理速度和准确性之间实现了最佳平衡。具体而言,PIDNet-L在速度和准确性方面超过了SFNet(ResNet-18)†和DDRNet-39,并通过将测试准确性从80.4%提高到80.64%的mIOU,在实时领域成为最准确的模型。与其他具有类似推理速度的模型相比,PIDNet-M和PIDNet-S也提供了更高的准确性。从PIDNet-S中移除Pag和Bag模块,我们提供了一个更快的选择:PIDNet-S-Simple,它的泛化能力较弱,但在延迟小于10毫秒的模型中仍然呈现出最高的准确性。

表6. Cityscapes数据集上速度和准确性的比较。使用其他分割数据集进行预训练的模型标有†;标有*的模型的推理速度在我们的平台上进行了测试。PIDNet的GFLOPs是基于全分辨率输入推导出的。

在这里插入图片描述

PASCAL Context。由于PASCAL Context [33] 中的图像尺寸太小,因此移除了PAPPM中的Avg(17, 8)路径。与其他两个数据集不同,这里使用多尺度和翻转推理,以与先前的模型进行公平比较。尽管与前两个数据集相比,PASCAL Context 中的注释更少,但我们的模型在现有的复杂网络中仍然实现了竞争性能,如表7所示。

表7. Pascal-Context数据集上准确性的比较(包括和不包括背景类)。D-Res-101指的是Dilated ResNet-101模型。

5. 结论

本文提出了一种新颖的用于实时语义分割的三分支网络架构:PIDNet。PIDNet在推理时间和准确性之间实现了最佳平衡。然而,由于PIDNet利用边界预测来平衡详细信息和上下文信息,因此对边界周围的精确注释,通常需要大量时间,以实现更好的性能。

References

[1] Wangpeng An, Haoqian Wang, Qingyun Sun, Jun Xu, Qionghai Dai, and Lei Zhang. A pid controller approach for stochastic optimization of deep networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 8522–8531, 2018. 1
[2] Saeid Asgari Taghanaki, Kumar Abhishek, Joseph Paul Cohen, Julien Cohen-Adad, and Ghassan Hamarneh. Deep semantic segmentation of natural and medical images: a review. Artificial Intelligence Review, 54(1):137–178, 2021. 1 [3] Helon Vicente Hultmann Ayala and Leandro dos Santos Coelho. Tuning of pid controller based on a multiobjective genetic algorithm applied to a robotic manipulator. Expert Systems with Applications, 39(10):8968–8974, 2012. 1
[4] Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. Segnet: A deep convolutional encoder-decoder architecture for image segmentation. IEEE transactions on pattern analysis and machine intelligence, 39(12):2481–2495, 2017. 1, 2
[5] Gabriel J Brostow, Julien Fauqueur, and Roberto Cipolla. Semantic object classes in video: A high-definition ground truth database. Pattern Recognition Letters, 30(2):88–97, 2009. 2, 6, 7
[6] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, and Alan L Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. arXiv preprint arXiv:1412.7062, 2014. 1
[7] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, and Alan L Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE transactions on pattern analysis and machine intelligence, 40(4):834–848, 2017. 2, 8
[8] Liang-Chieh Chen, George Papandreou, Florian Schroff, and Hartwig Adam. Rethinking atrous convolution for semantic image segmentation. arXiv preprint arXiv:1706.05587, 2017. 2
[9] Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, and Hartwig Adam. Encoder-decoder with atrous separable convolution for semantic image segmentation. In Proceedings of the European conference on computer vision (ECCV), pages 801–818, 2018. 2
[10] Wuyang Chen, Xinyu Gong, Xianming Liu, Qian Zhang, Yuan Li, and Zhangyang Wang. Fasterseg: Searching for faster real-time semantic segmentation. arXiv preprint arXiv:1912.10917, 2019. 6
[11] Franc¸ois Chollet. Xception: Deep learning with depthwise separable convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1251–1258, 2017. 2
[12] Marius Cordts, Mohamed Omran, Sebastian Ramos, Timo Rehfeld, Markus Enzweiler, Rodrigo Benenson, Uwe Franke, Stefan Roth, and Bernt Schiele. The cityscapes dataset for semantic urban scene understanding. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3213–3223, 2016. 1, 2, 6, 7
[13] Ruoxi Deng, Chunhua Shen, Shengjun Liu, Huibing Wang, and Xinru Liu. Learning to predict crisp boundaries. In Proceedings of the European Conference on Computer Vision (ECCV), pages 562–578, 2018. 4
[14] Henghui Ding, Xudong Jiang, Bing Shuai, Ai Qun Liu, and Gang Wang. Context contrasted feature and gated multiscale aggregation for scene segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2393–2402, 2018. 8
[15] Mingyuan Fan, Shenqi Lai, Junshi Huang, Xiaoming Wei, Zhenhua Chai, Junfeng Luo, and Xiaolin Wei. Rethinking bisenet for real-time semantic segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9716–9725, 2021. 2, 6, 8
[16] Di Feng, Christian Haase-Schutz, Lars Rosenbaum, Heinz ¨ Hertlein, Claudius Glaeser, Fabian Timm, Werner Wiesbeck, and Klaus Dietmayer. Deep multi-modal object detection and semantic segmentation for autonomous driving: Datasets, methods, and challenges. IEEE Transactions on Intelligent Transportation Systems, 22(3):1341–1360, 2020. 1, 2
[17] Jun Fu, Jing Liu, Haijie Tian, Yong Li, Yongjun Bao, Zhiwei Fang, and Hanqing Lu. Dual attention network for scene segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 3146–3154, 2019. 2
[18] Mostafa Gamal, Mennatullah Siam, and Moemen AbdelRazek. Shuffleseg: Real-time semantic segmentation network. arXiv preprint arXiv:1803.03816, 2018. 2
[19] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016. 4
[20] Yuanduo Hong, Huihui Pan, Weichao Sun, and Yisong Jia. Deep dual-resolution networks for real-time and accurate semantic segmentation of road scenes. arXiv preprint arXiv:2101.06085, 2021. 2, 3, 4, 5, 6, 7, 8
[21] Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017. 2
[22] Ping Hu, Fabian Caba, Oliver Wang, Zhe Lin, Stan Sclaroff, and Federico Perazzi. Temporally distributed networks for fast video semantic segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8818–8827, 2020. 7
[23] Zilong Huang, Xinggang Wang, Lichao Huang, Chang Huang, Yunchao Wei, and Wenyu Liu. Ccnet: Criss-cross attention for semantic segmentation. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 603–612, 2019. 2
[24] A Jayachitra and R Vinodha. Genetic algorithm based pid controller tuning approach for continuous stirred tank reactor. Advances in Artificial Intelligence (16877470), 2014. 1
[25] A Khodabakhshian and R Hooshmand. A new pid controller design for automatic generation control of hydro power systems. International Journal of Electrical Power & Energy Systems, 32(5):375–382, 2010. 1
[26] Saumya Kumaar, Ye Lyu, Francesco Nex, and Michael Ying Yang. Cabinet: efficient context aggregation network for low-latency semantic segmentation. In 2021 IEEE International Conference on Robotics and Automation (ICRA), pages 13517–13524. IEEE, 2021. 8
[27] Hanchao Li, Pengfei Xiong, Haoqiang Fan, and Jian Sun. Dfanet: Deep feature aggregation for real-time semantic segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 9522– 9531, 2019. 2
[28] Xiangtai Li, Ansheng You, Zhen Zhu, Houlong Zhao, Maoke Yang, Kuiyuan Yang, Shaohua Tan, and Yunhai Tong. Semantic flow for fast and accurate scene parsing. In European Conference on Computer Vision, pages 775–793. Springer, 2020. 4, 8
[29] Xin Li, Yiming Zhou, Zheng Pan, and Jiashi Feng. Partial order pruning: for best speed/accuracy trade-off in neural architecture search. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 9145–9153, 2019. 8
[30] Guosheng Lin, Anton Milan, Chunhua Shen, and Ian Reid. Refinenet: Multi-path refinement networks for highresolution semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1925–1934, 2017. 8
[31] Jonathan Long, Evan Shelhamer, and Trevor Darrell. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3431–3440, 2015. 1, 2
[32] Ruijun Ma, Shuyi Li, Bob Zhang, and Zhengming Li. Towards fast and robust real image denoising with attentive neural network and pid controller. IEEE Transactions on Multimedia, 2021. 1
[33] Roozbeh Mottaghi, Xianjie Chen, Xiaobai Liu, Nam-Gyu Cho, Seong-Whan Lee, Sanja Fidler, Raquel Urtasun, and Alan Yuille. The role of context for object detection and semantic segmentation in the wild. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 891–898, 2014. 2, 6, 8
[34] Yuval Nirkin, Lior Wolf, and Tal Hassner. Hyperseg: Patchwise hypernetwork for real-time semantic segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 4061–4070, 2021. 6, 7, 8
[35] Marin Orsic, Ivan Kreso, Petra Bevandic, and Sinisa Segvic. In defense of pre-trained imagenet architectures for real-time semantic segmentation of road-driving images. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12607–12616, 2019. 2, 3, 4, 6, 8
[36] Adam Paszke, Abhishek Chaurasia, Sangpil Kim, and Eugenio Culurciello. Enet: A deep neural network architecture for real-time semantic segmentation. arXiv preprint arXiv:1606.02147, 2016. 2
[37] Juncai Peng, Yi Liu, Shiyu Tang, Yuying Hao, Lutao Chu, Guowei Chen, Zewu Wu, Zeyu Chen, Zhiliang Yu, Yuning Du, et al. Pp-liteseg: A superior real-time semantic segmentation model. arXiv preprint arXiv:2204.02681, 2022. 7, 8
[38] Rudra PK Poudel, Ujwal Bonde, Stephan Liwicki, and Christopher Zach. Contextnet: Exploring context and detail for semantic segmentation in real-time. arXiv preprint arXiv:1805.04554, 2018. 2, 3
[39] Rudra PK Poudel, Stephan Liwicki, and Roberto Cipolla. Fast-scnn: Fast semantic segmentation network. arXiv preprint arXiv:1902.04502, 2019. 2, 3
[40] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. Unet: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234–241. Springer, 2015. 1, 2
[41] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. International journal of computer vision, 115(3):211–252, 2015. 6
[42] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. Mobilenetv2: Inverted residuals and linear bottlenecks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4510–4520, 2018. 2
[43] Abhinav Shrivastava, Abhinav Gupta, and Ross Girshick. Training region-based object detectors with online hard example mining. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 761–769, 2016. 7
[44] Alexey A Shvets, Alexander Rakhlin, Alexandr A Kalinin, and Vladimir I Iglovikov. Automatic instrument segmentation in robot-assisted surgery using deep learning. In 2018 17th IEEE International Conference on Machine Learning and Applications (ICMLA), pages 624–628. IEEE, 2018. 2
[45] Haiyang Si, Zhiqiang Zhang, Feifan Lv, Gang Yu, and Feng Lu. Real-time semantic segmentation via multiply spatial fusion network. arXiv preprint arXiv:1911.07217, 2019. 6, 7, 8
[46] Towaki Takikawa, David Acuna, Varun Jampani, and Sanja Fidler. Gated-scnn: Gated shape cnns for semantic segmentation. In Proceedings of the IEEE/CVF international conference on computer vision, pages 5229–5238, 2019. 4
[47] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. Advances in neural information processing systems, 30, 2017. 2, 5
[48] Jingdong Wang, Ke Sun, Tianheng Cheng, Borui Jiang, Chaorui Deng, Yang Zhao, Dong Liu, Yadong Mu, Mingkui Tan, Xinggang Wang, et al. Deep high-resolution representation learning for visual recognition. IEEE transactions on pattern analysis and machine intelligence, 43(10):3349– 3364, 2020. 1, 2, 4, 8
[49] Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In Proceedings of the IEEE conference on computer v
[50] Jiacong Xu and Shankar P Bhattacharyya. A pid controller architecture inspired enhancement to the pso algorithm. In Future of Information and Communication Conference, pages 587–603. Springer, 2022. 1
[51] Changqian Yu, Changxin Gao, Jingbo Wang, Gang Yu, Chunhua Shen, and Nong Sang. Bisenet v2: Bilateral network with guided aggregation for real-time semantic segmentation. International Journal of Computer Vision, 129(11):3051–3068, 2021. 3, 4, 6, 7, 8
[52] Changqian Yu, Jingbo Wang, Chao Peng, Changxin Gao, Gang Yu, and Nong Sang. Bisenet: Bilateral segmentation network for real-time semantic segmentation. In Proceedings of the European conference on computer vision (ECCV), pages 325–341, 2018. 2, 3, 6, 8
[53] Fisher Yu and Vladlen Koltun. Multi-scale context aggregation by dilated convolutions. arXiv preprint arXiv:1511.07122, 2015. 2
[54] Xiaohui Yuan, Jianfang Shi, and Lichuan Gu. A review of deep learning methods for semantic segmentation of remote sensing imagery. Expert Systems with Applications, 169:114417, 2021. 1
[55] Yuhui Yuan, Xilin Chen, and Jingdong Wang. Objectcontextual representations for semantic segmentation. In European conference on computer vision, pages 173–190. Springer, 2020. 2
[56] Hang Zhang, Kristin Dana, Jianping Shi, Zhongyue Zhang, Xiaogang Wang, Ambrish Tyagi, and Amit Agrawal. Context encoding for semantic segmentation. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition, pages 7151–7160, 2018. 8
[57] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and Jian Sun. Shufflenet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 6848–6856, 2018. 2
[58] Hengshuang Zhao, Xiaojuan Qi, Xiaoyong Shen, Jianping Shi, and Jiaya Jia. Icnet for real-time semantic segmentation on high-resolution images. In Proceedings of the European conference on computer vision (ECCV), pages 405– 420, 2018. 2
[59] Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, and Jiaya Jia. Pyramid scene parsing network. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2881–2890, 2017. 1, 2, 5, 8
[60] Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng, Tao Xiang, Philip HS Torr, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 6881–6890, 2021. 1

猜你喜欢

转载自blog.csdn.net/wagnbo/article/details/131103239