[Note] Learning to See by Moving

这是一篇用CNN做特征学习的文章,题目比较格调。目标是训练得到可以用来做场景识别、物体识别等等任务的特征。
和之前的工作相比,训练时需要的监督信息不是图片所属的类别,而是两张图片之间的位置变换。准确地说,是拍摄两张相关图片的相机的相对位置变换。

Screen Shot 2015-05-25 at 12.29.27 PM

具体的网络结构如上图。输入两张图片,训练这个网络来判断两张图片之间的变换(Transformation)。每两个BaseCNN取得的特征(Lk)连接起来作为TopCNN的输入,TopCNN输出变换向量。训练结束之后TopCNN就不用了,直接用BaseCNN对输入图片取特征。

在使用相同数量的有标记数据的情况下,用这种相对更容易得到的监督信息训练出来的网络来做分类网络的初始化,比随机初始化分类效果更好。

虽然这个方法并不是完全的无监督学习,但是在移动机器人这种平台上,两张照片的相对位置变换确实是很容易得到的信息。按照这种方法确实可以很方便的给机器人增加场景识别功能。理想情况下,只需要在所在环境下移动的时间采集一些图片来学习特征,简单的通过人机交互标定几个场景,这种用CNN得到的特征应该会有很不错的表现吧。

Reference:

Pulkit Agrawal, Joao Carreira, Jitendra Malik, Learning to See by Moving