引用
Bingchen Yang, Haiyong Jiang, Hao Pan, Jun Xiao; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023, pp. 1358-1367
摘要
矢量图形(VG)在工业设计中无处不在。在本文中,我们讨论了一个典型VG的语义分割,即具有裸墙结构的毛坯平面图,其输出可以直接用于室内装饰和房间空间建模等进一步的应用。先前的语义分割工作主要处理光栅图像中装饰良好的平面图,并且由于像素级分割忽略了矢量平面图中的规则元素(例如线段),通常在分割的房间中产生混叠边界和异常片段。为了克服这些问题,我们建议充分利用向量平面图中的规则元素进行更积分的分割。我们的模型通过将线段双重分类为房间边界以及由线段划分的区域,从而在矢量平面图中预测房间分割。为了充分利用线条和区域之间的结构关系,我们使用两个流图神经网络分别处理线段和分割区域,并设计了一个新的调制图注意力层来融合从一个流到另一个流的异构信息。大量实验表明,通过直接对矢量平面图进行操作,我们在mIoU和mAcc方面都优于基于图像的方法。此外,我们提出了一种新的度量,该度量捕捉房间完整性和边界规则性,这证实了我们的方法产生了更规则的分割。源代码位于:
https://github.com/DrZiji/VecFloorSeg
概要
本文任务:将毛坯平面图语义分割为带有标记类型的房间(例如卧室,厨房)。
现有工作:在光栅化平面图上使用强大的基于图像的分割网络,以像素方式预测房间分割。由于忽略结构元素完整性的逐像素处理,其结果往往具有拼图边界和碎片化的语义区域,如图1(f)所示。此外,另一方法通常依赖于文本和家具来确定语义标签,这在粗略的平面图中是不可用的。此外先前的工作处理用于识别的矢量图形第1(b)段,例如,对象检测和符号识别。然而,据作者所知,向量图的语义分割,特别是粗略的平面图,以前从未进行过研究。
作者认为本工作中的挑战:1)图中的房间由线段组成,难以划分区域。2)房间的类型不仅取决于它的形状,还取决于它在整个平面中的相对位置。
解决挑战的方法:1)房间空间中的线段可以通过输入线以及其扩展细分为一组多边形区域。2)这些输入线(包括延伸)是不同房间的潜在边界,他们是否被归类于边界有助于进行房间分割。
双流图注意力网络:原始流以原始图作为输入,将图中端点编码为顶点,线段编码为边,并预测边的边界分类;双流以对偶图作为输入,将图中划分的区域编码为顶点,其邻接性编码为边,并预测区域的顶点分类,从而有效地定义了向量平面图地语义分割。此外,两个流应该相互增强,而不是分离。为了促进两个流之间地数据交换,我们提出了一种新的调制GAT层,将一个流中的信息融合到另一个流中的图网络计算。
创新点:
注:平面图,在平面上点与点之间存在的边不相交。详细内容也可见下链接。
对偶图,能力有限理解不了。详细理论见:
http://t.csdn.cn/0K70v
文章中用到的对偶图:节点用于表示线段以及线段延伸所围成的区域,边用于表示区域与区域之间的连接性。但是后文提到的对偶运算是用到了平面图和对偶图之间的性质。
1 方法
这项工作旨在对二维矢量粗略平面图进行语义分割。作为粗略的平面布置图,输入主要由一组表示墙壁结构的2D几何线段组成,以及一些表示其他结构的圆弧,输出是不同房间区域的矢量化语义分割。我们提出的方法的总体流程如图2所示。首先,我们通过将线段延伸到相交处,将整个平面图划分为不重叠的多边形区域。然后,我们构造两个图来表示原始几何线段和对偶多边形区域,并计算它们的特征嵌入,如第3.1节和第3.2节所述。最后,我们使用双流GNN进行分割,其中原始流预测线段是否分隔不同的房间区域,双流将分割的多边形区域分类为不同的房间类型(见第3.3节),其中两个流彼此增强。通过这种方式,向量平面图的语义分割被重新表述为多边形区域分类,这自然避免了基于光栅化(光栅化就是以像素的方式进行语义分割)的方法中的不精确性。
1.1 图结构
合理的房间分布需要包括有分割墙的私人区域(卧室)与五分隔墙的连接房间(客厅,厨房和走廊)。作者根据平面设计师的设计理念,通过扩展墙结构将房间分隔成尽可能规则和矩形的空间。这样可以避免光栅化,并通过对每个划分区域的房间进行分类,实现语义分割。
为了学习基于墙结构和区域布局之间的空间分隔,作者构造图对其进行编码。使用原始图
G
=
(
V
,
E
)
G=(V, E)
G=(V,E)表示输入捕获线段结构,其中
V
V
V表示线段的端点集,
E
E
E表示线段集(如图2所示)。顶点
v
k
∈
V
v_k∈V
vk∈V有二维坐标
v
k
∈
R
2
\text{v} _k∈R^2
vk∈R2,而连接顶点
v
i
v_i
vi和
v
j
v_j
vj的边
e
i
j
e_{ij}
eij由元组
(
v
i
,
v
j
,
c
o
s
(
θ
e
i
j
)
,
C
e
i
j
)
(v_i,v_j,cos(θ_{e_{ij}}),C_{e_{ij}})
(vi,vj,cos(θeij),Ceij)编码。其中
θ
e
i
j
∈
[
−
π
/
2
,
π
/
2
]
θ_{e_{ij}}∈[-\pi/2,\pi/2]
θeij∈[−π/2,π/2]是
e
i
j
e_{ij}
eij和
X
X
X轴之间的角度。
C
e
i
j
∈
{
0
,
1
}
C_{e_{ij}}∈\{0,1\}
Ceij∈{0,1}表示
e
i
j
e_{ij}
eij是向量平面中的扩展线段还是原始线段。请注意,
C
e
C_{e}
Ce很重要,因为原始线段代表墙和房间的边界,而延伸线只是可能为房间的边界。
作者利用对偶图捕捉分区的多边形房间区域,其中区域由节点表示,它们的邻接由边定义,对偶图被定义为
G
∗
=
(
V
∗
,
E
∗
)
G^*=(V^*,E^*)
G∗=(V∗,E∗),如图二所示。对偶图中的顶点
v
∗
∈
V
∗
v^*∈V^*
v∗∈V∗表示多边形区域,其对应于来自限定该区域的原始图的子图
G
v
∗
=
(
V
v
∗
,
E
v
∗
)
∈
G
G_v^*=(V_v^*,E_v^*)∈G
Gv∗=(Vv∗,Ev∗)∈G。为了简单起见,作者取原始顶点属性的平均值(2D坐标)作为对偶顶点
v
∗
v^*
v∗的属性。对偶图中的边
e
i
j
∗
∈
E
∗
e_{ij}^*∈E^*
eij∗∈E∗表示两个多边形区域的邻接性,将其两个端点的属性
(
v
i
∗
,
v
j
∗
)
(v_i^*,v_j^*)
(vi∗,vj∗)级联来表示
e
i
j
∗
e_{ij}^*
eij∗。
作者注意到原始边和对偶边之间也有对应关系,如果
v
i
∗
,
v
j
∗
∈
V
∗
v_i^*,v_j^*∈V^*
vi∗,vj∗∈V∗具有边
e
i
j
∗
e_{ij}^*
eij∗,则他们对应的多边形区域
G
v
i
∗
=
(
V
v
i
∗
,
E
v
i
∗
)
G_{v_i}^*=(V_{v_i}^*,E_{v_i}^*)
Gvi∗=(Vvi∗,Evi∗)和
G
v
j
∗
=
(
V
v
j
∗
,
E
v
j
∗
)
G_{v_j}^*=(V_{v_j}^*,E_{v_j}^*)
Gvj∗=(Vvj∗,Evj∗)将共享表示为
E
v
i
∗
∩
E
v
j
∗
E_{v_i^*}∩E_{v_j^*}
Evi∗∩Evj∗的原始线段。另一方面,在不失一般性的情况下,作者假设一个原始边
e
∈
E
v
i
∗
∩
E
v
j
∗
e∈E_{v_i^*}∩E_{v_j^*}
e∈Evi∗∩Evj∗与区域
v
i
∗
,
v
j
∗
v_i^*,v_j^*
vi∗,vj∗相邻,并且它有一个对应的对偶边,该对偶边恰好是
e
i
j
∗
e_{ij}^*
eij∗(平面图与对偶图环与桥的理论)。总之,作者定义边上的对偶运算如下:
注:公式1上半部分表示:i,j两区域的对偶边共享表示两个区域相交的原始线段;下半部分表示:i,j两个区域的相交线e,可以表示对偶边
e
i
j
∗
e_{ij}^*
eij∗。
1.2 输入嵌入
尽管光栅图像和矢量平面图在描绘房间布局时是等效的,但作者通过实验发现,使用光栅图像中获得的特征作为额外输入有助于感知更大的空间感受野,并提高性能。因此使用图像特征和几何特征来进行顶点嵌入。
其中
x
v
∈
R
c
x_v∈R^c
xv∈Rc表示由光栅化平面图图像特征的
v
v
v左边索引的特征向量(CNN提取的特征),
p
e
v
∈
R
c
pe_v∈R^c
pev∈Rc是顶点位置的正弦位置编码。
对偶顶点
v
∗
∈
V
∗
v^*∈V^*
v∗∈V∗应该捕获多边形区域的特征。因此将其计算为从
G
v
∗
=
(
V
v
∗
,
E
v
∗
)
G_v^*=(V_v^*,E_v^*)
Gv∗=(Vv∗,Ev∗)的多边形区域采样的点的平均特征。首先,选择
V
x
∗
V_{x^*}
Vx∗以保持拐点信息。此外,作者通过Delaunay三角形对内点
I
v
∗
I_{v^*}
Iv∗进行采样,
I
v
∗
I_{v^*}
Iv∗的特征与等式2相等,对偶节点特征计算如下。
注:对偶顶点的特征就是多边形的顶点和三角形采样算法产生的采样点,它们之间的平均值。图2右下角的图片有说明。
作者通过将边和对偶边的属性映射到输入特征来嵌入它们。由于原始边
e
∈
E
e∈E
e∈E包含端点位置以外的属性,通过单独的学习投影矩阵
W
e
,
W
θ
W_e,W_θ
We,Wθ将坐标和附加属性映射到C维特征。
其中
∣
∣
||
∣∣表示特征串联,对于主要描述对偶顶点的邻接性并且缺乏附加属性的对偶边
E
∗
E^*
E∗,我们简单的从对偶顶点坐标计算它们的特征嵌入。
1.3 双流图神经网络
例如,如果对偶图
G
∗
G^*
G∗中的两个顶点被分配了不同的标签,那么它们在
G
G
G中对应的多边形区域的共享线段应该是房间边界线。同时,如果原始图
G
G
G中的边被预测为房间边界,则被该边分割的区域可能具有不同的房间类型。作者设计了一个调制GAT层来促进这种基于边缘的调制。
如图2所示,双流图神经网络以原始图和对偶图的特征嵌入作为输入,并应用两个并行的图神经网络,每一个网络具有6个调制GAT层,对于第
l
l
l层,原始(对偶)流中的顶点特征
f
v
i
l
+
1
f_{v_i}^{l+1}
fvil+1如下式所示累积来自其相邻顶点
N
v
i
N_{v_i}
Nvi的特征。
其中
Θ
γ
Θ_γ
Θγ表示MLP层,
W
v
W_v
Wv表示可学习的投影矩阵,
α
i
j
α_{ij}
αij是平衡邻域特征的自适应权重。
我们通过下式计算
α
i
j
α_{ij}
αij:
其中
W
q
,
W
k
∈
R
c
∗
c
W_q,W_k∈R^{c*c}
Wq,Wk∈Rc∗c是可学习参数矩阵,
g
(
.
)
g(.)
g(.)将来自另一个流的对偶边缘特征映射到权重矩阵,作者使用该权重矩阵来调节两个顶点之间的相似性。为了简单起见,作者用可学习张量
W
q
∈
R
(
c
∗
c
)
∗
c
W_q∈R^{(c*c)*c}
Wq∈R(c∗c)∗c实现
g
(
f
e
i
j
l
)
=
W
g
f
∗
e
i
j
l
g(f_{e_{ij}}^{l})=W_gf_{*e_{ij}}^{l}
g(feijl)=Wgf∗eijl。此外,对于
e
i
i
e_{ii}
eii的退化情况,简单的设置
g
(
f
e
i
i
l
)
=
I
g(f_{e_{ii}}^{l})=I
g(feiil)=I,
I
I
I为单位阵。
对偶边缘特征是通过在等式1中建立的对应关系获得的。具体地说,对于原始边
e
e
e,对偶边
∗
e
∈
E
∗
*e∈E^*
∗e∈E∗是唯一的,并且其特征是直接从双流GNN中获得的。对于对偶边
e
∗
e^*
e∗,其对应的原始边由集合表示
∗
(
e
∗
)
*(e^*)
∗(e∗),并且我们获得该特征作为该集合中所有原始边的平均值。
在顶点上进行特征聚合后,我们通过以下方式更新第
l
l
l层调制GAT中的两个流的边缘特征:
双流GNN的输出特征用于预测任务。由原始流产生的
G
G
G中的边缘特征被送到二元分类中,以预测
G
G
G中的边是否分割不同的房间区域,来自双流的
G
∗
G^*
G∗中的顶点特征被投影到属于不同房间类型的顶点概率中。