Exploiting Semantic Relations for Glass Surface Detection
发表于2022年 NeurIPS。
实验的代码、数据集、模型:https: // jiaying. link/ neurips2022-gsds/
作者
Jiaying Lin, Yuen-Hei Yeung, Rynson W.H. Lau
Department of Computer Science
City University of Hong Kong
{jiayinlin5-c, yh.y}@my.cityu.edu.hk, Rynson.Lau@cityu.edu.hk
这个作者比较鸡贼,最近几年一直在做透明物体的表面检测网络,并且发了三篇顶会。在他的主页里能看到自己的之前几篇工作。我怀疑他在灌水,通过扩充数据集,细化数据集玻璃的表面标注方法框架,调整模型的方式做incremental的工作,而且还大量引用自己之前的工作。
我怀疑他灌水,但是没有证据,哈哈。还不好说什么,毕竟人家在某些数据集的性能表现程度上有所提升。
下面三个工作都是他的一作。
看得出来,他们组的经费挺多,光是跑这些检测框架的对比实验就够烧显卡的了,实验室人一多,显卡都排不上号。羡慕了。
2022 NIPS, Exploiting Semantic Relations for Glass Surface Detection
2020 CVPR, Progressive Mirror Detection
2021 CVPR, Rich Context Aggregation with Reflection Prior for Glass Surface Detection
想法
1、透明物体表面重建
如果已经有了能够进行透明物体的表面检测技术,是不是能够通过掩膜,将这部分区域检测并掩住,在这部分区域上专注于使用透明物体的表面重建约束,比如在这部分上面提高物体的透明率、反射率,而在其他的正常非反光物体表面设置比较低的透射率、反射率,是正常方式建模呢?
上述所说的掩膜技术是通过表面检测网络直接提取的,否则是利用该论文中的启发式思路,设计自己的文章中选择透明物体表面方向区域的掩膜、检测。
甚至可以类似于Improving … with patch warping中的方法,通过体积分的方法生成透明物体表面的掩膜。我觉得这种方法是可行的。构建一个透明表面体密度场,在这个密度场上面积分得到的数值,应该与透明物体表面检测网络所得到的表面掩膜是相同的数值。
2、透明物体遇到的困难
可能会出现凸透镜、凹透镜的光线折射现象。
还有一个问题,是透明物体表面的薄厚程度未必均匀的问题,难以推测透明物体的表面应该具备多厚的宽度。
3、Attention方法可否应用其中?
如果在表面重建的工作中,引入一些注意力模块,能够让某些空间的占有occupancy与非占有non-occupancy之间产生一些关联,
摘要
1、人能够识别玻璃并且避免碰撞。
有关能够识别玻璃这件事情,并且避免碰撞。三维重建也需要精确识别三维场景中的各个物体,避免在三维重建后的场景中出现意外碰撞(如果是SLAM-NeRF),需要判断出空间中的透明遮挡物体。
2、提取玻璃时候用到的全局信息。
全局信息包括,玻璃的边界,反射情况。
玻璃的出现往往会伴随窗户、窗帘,相比之下,玻璃和汽车、玻璃和树同时出现的概率可能会低一些。
物体之间的相互关联信息,这种全局性的互相关联程度,很容易会想到Attention-based 方法。
简介
1、透明物体的重建是存在歧义性的。
无论是透明物体的厚度、还是距离物体的远近程度,都有可能会导致相同的成像质量。
如果是距离物体比较近,并且厚度比较薄,与距离物体比较远,并且厚度比较厚,有可能对于后面物体的透射情况是相同的,透射率比较低,从而导致自己的透射成像的内容是相对较为近似的。
2、一直到2022年的NIPS文章,都对透明物体、玻璃表面的检测识别存在一些问题。
3、难以识别透明物体的危害。
如果透明物体的识别是无法做到的,可能会对现有的街道场景、SLAM、自动驾驶、室内识别等场景产生危害。如果一个自动驾驶的小汽车或者是自动扫地机器人,因为无法识别玻璃,有可能撞上玻璃门、玻璃窗户等物体。
4、用于识别玻璃的语义信息。
用于识别玻璃的语义信息包括上下文信息、边界、反射情况、极性【极性是什么?】等内容。
有些文章里面的工作是做了很强的假设的,在这些假设的基础上才有了相似的工作结果。问题在于,如果一些现实场景并不能够与这些场景相吻合,这些假设就无法导致很好的玻璃表面识别效果。
NeRFReN实现前提假设就是玻璃具有平面结构,如果没有这种平面的约束,我相信、我猜测,这篇文章的效果不一定能够达到当初预设的效果。
5、简介部分的行文结构。
首先第一段用于介绍问题的紧迫性和需要程度。接下来的每一段都是讲解自己的发现和工作,搭配上这些工作的起源、灵感所来自于哪些文章。并且讲解自己的第一张大图。最后总述自己的贡献。
6、数据集的多标签语义信息。
此前的两个数据集都提出构建玻璃表面检测的数据集,但是这些数据集并没有包括语义数据,比方说玻璃周围不同物体的语义标签,无法用于重建高层场景的语义关系和空间关系。
7、文章的贡献如下:
提出一个策略,应用语义关系的模型,用于从认知的角度推理玻璃物体和日常其他物体之间的关系,进而实现玻璃的表面检测。
提出两个新的深度学习模块, 用于获取大范围的空间、隐式语义依赖。
构建大规模的数据集,其中包括复杂的场景,标注有语义信息。名为GSD-S(Glass Surface Dataset - Semantic-aware),包括4519张图像,来自不同的场景中。
进行大量的实验,用于评估模型的鲁棒性,实验证明论文中的模型在玻璃表面检测方面的性能最优。
相关工作
透明物体检测
1、[22] Zhengqin Li, Yu-Ying Yeh, and Manmohan Chandraker. Through the looking glass: Neural 3d reconstruction of ransparent shapes. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2020.
还真发现了一篇关于透明物体表面重建的文章,透明物体用的是一种水晶球制式的材质,制作的透明玻璃玩偶,以此为基础重建三维形状。以这篇文章为线索,又找到二十余篇论文。无穷尽也啊。
2、透明物体清单。
玻璃、玻璃瓶,用玻璃制成的物体,特别是有界的形状。
3、基于边界的方法。
使用编码-解码结构来提取边界和表面法向量。
但是,平坦表面的玻璃板并不经常具备边界特性,在检测模型中会带来更大的困难。
4、基于光的极性的方法。
从物理学的视角来看,获取光波的旋转,使用光的极性。
情境上下文检测【想到一个更好的翻译:关联信息】
1、上下文检测解决的问题。
基于上下文检测的模型能够处理卷积核的瓶颈问题以及有限的感受野。
2、上下文检测的方法。
一般采用膨胀卷积,池化来扩大感受野,以获得全局视野。
3、透明、反射的物体。
除了玻璃表面既可以透射又可以反射,还有镜面,主要是反射。
4、隐式方法、显式特征。
前述文章多用隐式方法,少用显式的语义特征。
在自己的文章里面,也许可能用的到与语义相关的透明表面检测和重建。到时候一方面是语义显式信息,另一方面或许是隐式信息。因为透明物体表面重建是隐含在整体三维重建之中的一个小分支,不能单独为了重建这个小分支,从而导致整体的重建失效。
基于注意力的检测
1、Attention的目的。
能够更加特定的,有方向的获取有意义的关联信息。
2、几篇Attention在视觉方向的论文。 [32] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. ICLR, 2021.
首先将Attention方法应用在计算机视觉的方向上,但是特征是提取于每个小Patch的。
[33] Bichen Wu, Chenfeng Xu, Xiaoliang Dai, Alvin Wan, Peizhao Zhang, Zhicheng Yan, Masayoshi Tomizuka, Joseph E. Gonzalez, Kurt Keutzer, and Peter Vajda. Visual transformers: Where do transformers really belong in vision models? In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 599–609, October 2021.
[34] Mingyuan Liu, Dan Schonfeld, and Wei Tang. Exploit visual dependency relations for semantic segmenta tion. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 9726–9735, June 2021.
看起来这两篇文章使用了显式的语义信息,让作者能够使用这些内容。 [35] Enze Xie, Wenjia Wang, Wenhai Wang, Peize Sun, Hang Xu, Ding Liang, and Ping Luo. Segmenting transparent object in the wild with transformer, 2021.
用了Attention,也用了语义信息,用于提取透明物体。
数据集
数据集组成
1、玻璃出现的场景。
碗橱,玻璃门,车,玻璃窗,桌子,玻璃桌面。
2、数据集对玻璃的标注情况。
一些以前的数据集是用作通用场景的,物体的标注不以玻璃为主,有一些工作是将玻璃作为某个物体的附属品而标注的,例如橱柜的玻璃被标注为橱柜的一部分。
===23.3.1 : Page 6 - 10.
方法
用上了注意力机制,但是没有看得懂它的主要改进的地方在哪里,因为不熟悉它是根据哪篇工作改进的。另外,自己没有手撕过注意力的代码,看的不太熟。
实验
实现方法
[47] Philipp Krähenbühl and Vladlen Koltun. Efficient inference in fully connected CRFs with gaussian edge potentials. In NeurIPS, pages 109–117, 2011.
看到一篇条件随机场的原始论文。
比较
看得出来,他们组的经费挺多,光是跑这些检测框架的对比实验就够烧显卡的了,实验室人一多,显卡都排不上号。羡慕了。
还跟自己之前的两个论文比较了一番,引用了一波自己以前的工作。
消融实验
看不太懂。
这几个模块真的跟玻璃检测有关系吗?一般的语义分割网络用上这些结构也应该会有提升啊。
疑问
我咋没看到监督的Loss函数呢?用什么方式做的监督啊?
附录
1、图像中玻璃检测的可行性。
总体来说,许多的方法都能够检测出图像中的物体表面,但是有一些地方是由毛刺的。
2、大场景。
这些方法着重于相对比较大场景的图像,我担心这些算法可能对于小场景的部分存在一定偏差。
3、使用玻璃图像分割算法用于透明物体表面重建的可行性。
如果玻璃场景足够整齐,此类网络能够胜任和处理提取玻璃、透明物体表面的工作。这类工作,尤其是本文的工作,所用的数据集中,玻璃一般局限在建筑物的人造玻璃墙体的平整平面上,没有看到小物体、玻璃瓶类别的透明物体。
如果是大场景,透过玻璃再进行场景的重建工作,我觉得还是有难度的。
目前希望能够透过车窗,重建出车的内饰物品,以及汽车玻璃。
4、需要了解Mesh的编辑手段。
工业界、动画界是如何处理Mesh的?如果有一个连续的Mesh,比如说是汽车外表面和内部物品贴连在一起的时候,有没有办法处理不同层的查看?
突然想到,应该在透明物体表面重建的时候,给予第二层表面、后面表面的发光依据,能够让他们也发出光来。NeuS的假设是,透过物体之后的下一个物体,发光的权重会比较低。这是算法的数学公式基础设计所决定的。