论文信息
-
论文标题:Beyond Fixed Grid: Learning Geometric Image Representation with a Deformable Grid
-
论文作者:Jun Gao, Zian Wang, Jinchen Xuan, Sanja Fidler
-
研究机构:University of Toronto, Vector Institute, NVIDIA, Peking University
-
论文出处:ECCV 2020
-
引用信息:
-
@article{DBLP:journals/corr/abs-2008-09269, author = {Jun Gao and Zian Wang and Jinchen Xuan and Sanja Fidler}, title = {Beyond Fixed Grid: Learning Geometric Image Representation with a Deformable Grid}, journal = {CoRR}, volume = {abs/2008.09269}, year = {2020}, url = {https://arxiv.org/abs/2008.09269}, archivePrefix = {arXiv}, eprint = {2008.09269}, timestamp = {Fri, 28 Aug 2020 12:11:44 +0200}, biburl = {https://dblp.org/rec/journals/corr/abs-2008-09269.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
-
代码链接:https://github.com/fidler-lab/deformable-grid-release
论文主要贡献和参考价值
-
主要贡献
- 提出可变形的网格作为特征提取和降采样工具(类似于可形变卷积)
- 方法可以用于现有的神经网络(本文功能类似于超像素)
-
参考价值
- 特征提取整合
- 区域特征规约
论文要点翻译
-
摘要
- 在计算机视觉中,图像通常表示为固定的一定格式的网格,这些网格通常是通过 DCNN 处理的
- 本文认为,比起用固定格式网格来表示图像,使用变形网格更好地对齐高频的图像内容是一个更有效的策略
- 本文引入可变形网格 DEFGRID,该网格是一个可学习的神经网络模块,模块可以预测二维的三角形网格的节点的位置便宜,使得变形网格的边缘和图像的边缘对齐,本文展示了可变形网格在许多应用中的实用价值,即:将该模块插入到不同级别的处理过程中,本文使用 DEFGRID 进行端到端的可学习的下采样,将该下采样层替换原有的标准的池化方法,用于降低图像分辨率
- 实验结果表明,对于语义分割任务而言,比起使用标准 CNN 的网格来说,使用提出的可变形网格可以改进预测结果。同时,本文在输出层的目标掩膜标注任务中可以比当前的像素级和轮廓级的方法效果更好,最后,本文也将 DEFGRID 用于独立的无监督图像分区,也比现有的方法达到更好的性能
-
引言
- 现代计算机视觉方法中,图像通常被看做是一个带有补偿的固定格式的网格,经常通过 DCNN 进行处理,高分辨率图像通常在低分辨率层次进行处理,以增加处理效率,此时的图像通常是模糊的而且是降采样的结果。当输入到神经网络中,这样的低分辨率图像包含混合原图像前景和背景的模糊版本的信号,这可能导致高度的敏感性,网络可能依赖于物体及其上下文信息。传统的计算机视觉处理步骤中,高分辨率图像通常被分为超像素集,每个超像素集代表一个物体边缘圈出来的部分,因此该处理可以让许多下游的视觉任务更加有效。本文从这个观点出发,认为利用变形网格可以更好地与图像中的高频信息内容进行对齐,是一种更高效的信息表示策略,本文提出的方法概念上与超像素是相似的,但是使用的是更加规范的拓扑,带有几何约束,因此在下游的视觉任务中可以更好地为神经网络利用
- 更进一步,诸如目标掩膜标注等任务天然地要求输出以可控制的点的形式表示一个多角形,人类标注员可以进行编辑。之前的工作要么使用固定数量的控制点将输出参数化为一个闭环曲线,要么利用多角形处理步骤结合像素级的标注。对于前者而言,预测的曲线通常很好地利用形状先验信息得到更高的预测结果,但是结果受限于曲线所能表达的形状;对于后者而言,像素级的方法可以表示任意的形状,但是为了产生精确的输出结果,通常像素级的标注需要高分辨率的输入输出。本文认为,结合图像边缘,针对低分辨率的多角形网格进行推理可以结合两个方法的优势
- 本文提出了可变形网格 DEFGRID,该网格是一个将图像表示为二维的三角形网格的神经网络模块,网格的基础元素是一个三角形单元,其中的三角形在图像平面上。DEFGRID 初始化为相同的网格,利用神经网络预测网格中的节点的位置偏移,使得网格最终可以与图像的边缘对齐
- 本文还提出了精心构造的损失函数用于鼓励网络朝着目标进行训练,由于变形操作是可微的,因此该网格可以和下游的任务网络进行端到端的训练,作为一个即插即用的模块在深度网络的不同处理级别进行使用
- 本文将 DEFGRID 运用到集中不同的使用案例中:使用作为可学习的集合图像降采样层,使得图像降低分辨率的同时可以保证语义分割的精确性。此外,当用于输出的参数控制时,对于交互式的目标掩膜标注任务而言,可变形网格可以生成更高效、更精确的预测结果
- 本文的 DEFGRID 可以用作无监督图像分区的独立模块,比起现有的基于超像素的方法,本文方法可以有更好的性能
-
相关工作
- 可变形结构:可形变卷积可以预测卷积核的网格中每个单元的位置偏移,使得卷集合可以更好的捕捉物体的形变信息,和该方法不同,本文方法将变形表示为三角形网格进一步用于下游的任务。本文的方法不针对任何的特定下游任务,可以通过进一步使用可形变卷积进行优化。和方法相关的一些方法将图像进行变形处理,使得图像输入目标任务网络之后可以得到更好的精度。本文的 DEFGRID 在监督和无监督条件下训练,用于显式地和图像边缘进行对齐,使得下游的目标分割等任务能够直接在低分辨率的网格上进行处理
- 图像分区:多角形图像分区在具体的多视图三维目标重建和基于图形的图像编辑中具有重要作用,当前的工作使用三角形或者凸多角形进行突刺昂的多角形化。方法通常需要依赖比较好的关键点位置或者比较清晰的边缘信息用于对齐图像的三角形区域,而且依赖于初始的线条的分割检测;一些非迭代的方法用于获取超像素,然后使用 contour 的追踪得到多角化的结果,本文的 DEFGRID 生成的三角网格可以对齐图像边缘区域,并且可以进行端到端的训练
- 超像素:超像素方法将图像分割为颜色同构的一些区域,对形状进行规范化并保留图像边缘信息,超像素方法中许多方法利用不同的能量函数和优化技巧,通常这些方法生成的超像素结果都是不规则的拓扑形状,最终的分割图通常是非连通的,需要进行后续的进一步处理,且方法的能量函数通常是手工设计的。SSN 使用基于聚类的方法进行高度不规则的边缘和区域拓扑的超像素提取,将像素指派到超像素区域。SEAL 则是利用分割的放射变换学习超像素信息,这些方法得到的超像素边缘都是不规则的,因此不能直接嵌入现有的卷积神经网络中,为了得到规则的网格状的拓扑结果,也有方法将图像递归地进行分割,每次迭代中找到最小边缘代价的水平和垂直的路径。和这些方法不同,DEFGRID 使用可微的操作预测图像边缘,对齐到三角形网格,模块可用监督或者无监督损失函数进行端到端训练
-
方法
-
DEFGRID 是定义在图像平面上的二维三角形网格,网格中的基础单元是一个三角形,包含三个节点,每个节点包含一个确定三角形在图形中位置的信息。三角形的边则表示线条片段,三角形之间的边应当是不相交的,网格的拓扑是固定的,不依赖输入的图像,集合网格自然地将图像分割为一些规则的分片
-
本文的方法可以形式化为使用统一初始化的节点位置进行三角形网格的分解,以此更好地和图像边缘进行对齐,网格的分解可以使用神经网络预测每个节点的位置偏移,在预测的同时保证拓扑关系不改变(不出现自相交的情况)
-
本文的主要直觉观察在于:当网格的边缘和图像边缘对齐时,网格单元内部的像素通常其 RGB 值的方差也相对较小,反之亦然,RGB 值方差较小的像素通常也在同一个网格单元中,本文目标在于最小化该方差,同事保证节点位置不变,以此进行深度学习训练
-
网格参数化
-
网格拓扑:选择正确的网格拓扑是本文研究的重点,由于物体可以在图像中以不同尺度出现,本文理想地想要一个拓扑可以简单的对尺度的多样性进行容忍,此外,网格边缘需要足够灵活,使得网格边缘可以对齐到任意的实际边缘,实验中发现下图所示的四种拓扑,本文发现最后一列的拓扑由于灵活性和表达边缘的能力是最好的,但是本文的方法和拓扑的选择没有关系
-
网格表示:假设 III 是输入图像,将图像平面中的每个网格节点表示为 vi=[xi,yi]Tv_i=[x_i,y_i]^Tvi=[xi,yi]T 其中的 i∈{1,...,n}i\in \{1,...,n\}i∈{1,...,n} 表示网格的节点编号,n 表示节点数量,由于网格的拓扑是固定的,图像中的网格完全可以由节点集合 v\mathbf vv 中的节点位置进行确定,本文将网格中的每个三角形单元表示为该单元对应的三个节点,即每个单元 k 可以表示为 Ck=[vak,vbk,vck]C_k=[v_{a_k},v_{b_k},v_{c_k}]Ck=[vak,vbk,vck] 其中的 k∈{1,...,K}k \in\{1,...,K\}k∈{1,...,K} 表示单元的索引,首先在二维的图像平面进行节点的统一初始化,然后将 DEFGRID 定义为神经网络 h ,h 预测每个节点的相对位移 {Δxi,Δyi}i=1n=h(v,I)\{\Delta x_i, \Delta y_i\}_{i=1}^n=h(\mathbf v, I){Δxi,Δyi}i=1n=h(v,I),据此可以计算每个节点 vi=[xi+Δxi,yi+Δyi]T,i=1,...,nv_i=[x_i + \Delta x_i,y_i+\Delta y_i]^T,i=1,...,nvi=[xi+Δxi,yi+Δyi]T,i=1,...,n
-
-
DefGrid 训练
- 网格分解网络 h 的训练使用一些的无监督损失函数,本文希望考虑节点位置的损失函数都是可微分的,使得梯度可以反向传播
- 可微分的方差
- 随着网格的形变(节点移动),网格单元会包含图像中不同区域的像素,第一个损失函数用于最小化网格单元中像素特征的方差,每个像素 pip_ipi 对应特征向量 fi\mathbf f_ifi,监督信号可以是分割掩膜的形式,如果监督信号可用,则可以选择性地将掩膜类别编码为独热向量作为特征补充,像素的图像位置表示为 pi=[pix,piy]Tp_i=[p_i^x,p_i^y]^Tpi=[pix,piy]T 图像中的 N 个像素对应 N 个位置,则单元 CkC_kCk 中像素的方差定义为 Vk=∑pi∈Sk∥fi−f‾k∥22V_k=\sum_{p_i \in S_k}\|\mathbf f_i-\overline{\mathbf f}_k\|_2^2Vk=∑pi∈Sk∥fi−fk∥22 ,其中的 SkS_kSk 表示 CkC_kCk 单元内的像素集合,f‾k=∑pi∈Skfi∑pi∈Sk1\overline {\mathbf f}_k=\frac{\sum_{p_i \in S_k} \mathbf f_i}{\sum_{p_i \in S_k}1}fk=∑pi∈Sk1∑pi∈Skfi 表示单元 CkC_kCk 中的平均特征,因此可以将方差表示为像素指派到单元的概率 Pi→k(v)=exp(SignDis(pi,Ck)/δ)∑j=1Kexp(SignDis(pi,Cj)/δ)P_{i \to k}(\mathbf v)=\frac{\exp (SignDis(p_i,C_k) / \delta)}{\sum_{j=1}^K\exp (SignDis(p_i,C_j) / \delta)}Pi→k(v)=∑j=1Kexp(SignDis(pi,Cj)/δ)exp(SignDis(pi,Ck)/δ),其中,当像素 pip_ipi 在单元 CkC_kCk 中,则 SignDis(pi,Ck)=Dis(pi,Ck)SignDis(p_i,C_k)=Dis(p_i,C_k)SignDis(pi,Ck)=Dis(pi,Ck) ,SignDis(pi,Ck)=−Dis(pi,Ck)SignDis(p_i,C_k)=-Dis(p_i,C_k)SignDis(pi,Ck)=−Dis(pi,Ck) ,此处的 Dis(pi,Ck)=min(D(pi,vakvbk),D(pi,vbkvck),D(pi,vckvak))Dis(p_i, C_k)=\min(D(p_i,v_{a_k}v_{b_k}),D(p_i,v_{b_k}v_{c_k}),D(p_i,v_{c_k}v_{a_k}))Dis(pi,Ck)=min(D(pi,vakvbk),D(pi,vbkvck),D(pi,vckvak)),其中的 D(pi,vivj)D(p_i,v_{i}v_{j})D(pi,vivj) 是像素 pip_ipi 和线段 vivjv_iv_jvivj 之间的 L1 距离,δ\deltaδ 是控制 slackness 的超参数,在此形式化下,当像素位于单元内部或者离单元较近距时,Pi→kP_{i \to k}Pi→k 接近 1,否则接近 0,为了检查像素是否在单元内部,对像素考虑三个顶点的重心权重,如果三个重心权重都在 0 到 1 之间,则证明像素在单元内部,否则像素在单元外
- 最终定义的单元方差 V~k(v)=∑i=1NPi→k(v)⋅∥fi−f‾k∥22\tilde V_k(\mathbf v)=\sum_{i=1}^NP_{i \to k}(\mathbf v)\cdot \|\mathbf f_i-\overline{\mathbf f}_k\|^2_2V~k(v)=∑i=1NPi→k(v)⋅∥fi−fk∥22
- 对应的方差损失函数 Lvar(v)=∑k=1KV~k(v)L_{var}(\mathbf v) =\sum_{k=1}^K \tilde V_k(\mathbf v)Lvar(v)=∑k=1KV~k(v)
- 可微的重建
- 受到 SSN 的启发,可微地对图像重建,主要考虑上述的指派概率,使用变形网格进行图像重建,直观上,将每个单元格使用其平均特征 f‾k\overline{\mathbf f}_kfk 进行表示,将该特征“粘贴”回原来的图像平面,据此可以重建图像中的每个像素(收集每个网格单元中的信息)(即 f^i(v)=∑k=1KPi→k(v)⋅f‾k\hat{\mathbf f}_i(\mathbf v)=\sum_{k=1}^K P_{i \to k}(\mathbf v) \cdot \overline{\mathbf f}_kf^i(v)=∑k=1KPi→k(v)⋅fk)
- 重建损失则是重建图像特征与原图像特征之间的距离 Lrecons(v)=∥fi^−fi∥1L_{recons}(\mathbf v)=\|\hat{\mathbf f_i}-{\mathbf f}_i\|_1Lrecons(v)=∥fi^−fi∥1
- 正则化
- 为了规范网格形状,防止网格自相交,本文引入两个正则约束。使用区域平衡损失 Larea(v)−∑j=1K∥ak(v)−a‾(v)∥22L_{area}(\mathbf v)-\sum_{j=1}^K\|a_k(\mathbf v)-\overline{a}(\mathbf v)\|_2^2Larea(v)−∑j=1K∥ak(v)−a(v)∥22 使得单元的区域是相似的(其中的 a‾\overline aa 是平均区域,aka_kak 是单元 CkC_kCk 的对应区域)
- 本文也使用拉普拉斯正则使得邻接节点的沿着相似的方向移动 Llap(v)=∑i=1N∥Δi−1∥N(i)∥∑j∈N(i)Δj∥22L_{lap}(\mathbf v)=\sum_{i=1}^N \|\Delta_i-\frac{1}{\|\mathcal N(i)\|}\sum_{j \in \mathcal N(i)} \Delta_j\|_2^2Llap(v)=∑i=1N∥Δi−∥N(i)∥1∑j∈N(i)Δj∥22 其中的 Δi\Delta_iΔi 是预测的节点 viv_ivi 的偏移,N(i)\mathcal N(i)N(i) 是节点 viv_ivi 的邻接节点集合
- 最终的损失函数 Ldef=Lvar+λareaLarea+λreconsLreconsL_{def}=L_{var}+\lambda_{area}L_{area}+\lambda_{recons}L_{recons}Ldef=Lvar+λareaLarea+λreconsLrecons+λlapLlap+\lambda_{lap}L_{lap}+λlapLlap
-
-
方法的应用
- 可学习的集合下采样
- 目标掩膜标注
- 无监督图像分区