Learning Informative Edge Maps for Indoor Scene Layout Prediction

最近在看着篇论文,想要把已经读懂的地方记录下来,至于我读懂的地方对不对,我目前也不能确定,只能先写上。思路大致是按照论文来的,但是会用我自己的语言讲述出来,不会一句一句的翻译。另外我不会的地方就先空着,等我懂了,会再来补上。

论文目标

先说说这篇论文想要实现的效果吧,对于给定的一个室内场景图片,要能画出房间布局的线(即墙的交界),就如论文图1里一样。
Learning Informative Edge Maps for Indoor Scene Layout Prediction

图中的绿线,就是这篇论文想要得到的效果。

大致流程

在论文里,最后生成的线叫做box layouts(即论文中Fig 1),要得到box layouts,1,先用FCN(或者是structured forest)去训练,获得Informative Eage Maps(论文中的Fig 3)
Learning Informative Edge Maps for Indoor Scene Layout Prediction

每一组有3张图片,最左边是原图,中间的是用structured Forest获得的Edge Maps,最后边是用FCN训练得到的Edge Maps,论文中提到了,FCN的训练效果是要优于用structured Forest的效果的。得到了Edge Maps,就要根据给出的图片,进行灭点的估计,根据估计出来的灭点,生成若干个候选的layouts。然后对生成的若干个layouts,结合前面得到的Edge Maps,对这些候选的layouts进行评分,得分最高的那个layout,就是我们最后要找的layout。当然,我在大致流程中省略了很多细节,接下来将一步一步的解释。

预测Informative Edges

这部分对应论文中的第三部分。该论文提供了两种方法,第一种是用structured forest,一种是FCN,我只看了FCN的部分,所以我就只讲讲FCN的训练吧。因为FCN这篇论文我还没看J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. CVPR (to appear), 2015,所以FCN的工作原理我还不清楚,只能先把大概流程说一下。

Informative Edges和Geometric Context Labels

先说一下什么是Informative Edges,在该论文中,Informative Edges被定义为一个房间内,墙和墙之间,墙和天花板之间,墙和地板之间的交界处,也就是房间里各种边界(即论文中Fig1里面,被绿线画出来的边)。

另外还有一个概念是Geometric Context labels, 这个label总共有7个值middle wall, right wall, right wall, left wall, ceiling, floor, object, edges。

训练数据

首先是训练数据,训练数据(hedau+)总共被分成了3类,被存储到了.mat文件了,用matlab打开,可以看到每个.mat文件里,都有3个变量fields, gtPolyg, labels。先用来解释最简单的gtPloyg变量吧,gtPloyg变量是一个cell数组,里面每个cell存了一组坐标,把这些坐标依次按照顺序连接起来,就是一个多边形,不一定是几条边的,但一定是多边的,而把这些坐标链接起来以后的多边形,就把一个物体给框起来了,比如说一个沙发,一个床等等。再看看fields变量,是一个二维数组,大小和图片大小一样,读取以后,发现都是1-6之间的整数值,这代表什么呢?原来,hedau+把每张图片的每个像素都做了标记,1-6分别代表floor,middle wall, left wall, right wall, ceiling, edges。另外一个变量labels,也是一个二维数组,大小也图片一样,不同的是,每个元素的取值范围是1-7,比fields多了一个值,多出来的这个值,是用来表示object的,比如沙发,床之类的家具,如果像素点在一个沙发内,就会被标记为6,其中1-5代表的label和fields一样,而6变成了object,edges变成了7。只说对于理解不太只观,下面上图:

原图:

Learning Informative Edge Maps for Indoor Scene Layout Prediction

labels变量中:

object标签
Learning Informative Edge Maps for Indoor Scene Layout Prediction

middle wall标签

Learning Informative Edge Maps for Indoor Scene Layout Prediction

edges标签
Learning Informative Edge Maps for Indoor Scene Layout Prediction

fields变量中:

floor标签
Learning Informative Edge Maps for Indoor Scene Layout Prediction

edges标签
Learning Informative Edge Maps for Indoor Scene Layout Prediction

可以看到,fields和labels的区别,就是有没有object标签,以及object标签是否遮挡了别的标签。之所以这样,我认为是由于需要joint training edge maps和GC labels,才有两种标签,不含object的标签用来训练edge maps,另一个用来训练GC labels。

生成box layout

这部分对应文论的第四部分。该部分基于文献[10]V. Hedau, D. Hoiem, and D. Forsyth. Recovering the spatial layout of cluttered rooms. In CVPR, 2009.总共分成三步:(1)估计灭点(2)根据估计的灭点,生成几个候选的layouts,这一步要用到前面生成的edge maps。(3)用structured svm 来训练,获得最合适的那个layout。

生成灭点

这个步骤,用到了文献10的方法,