本文主要解决传统的cnn网络进行视觉定位的时候存在的两个问题:1>纹理变化。 2>结构变化(局部结构)
解决方法大致:1>增加学习shape的偏执项 2>评估主结构(包括road plane floor building ceiling)等基本不可改变的客观结构
III. APPROACH
目标是一个end-to-end的网络架构,但是不像传统的cnn那样依赖于纹理或者局部结构,本文使用一种shape网络(已有网络上直接refine即可)
A. Increasing the Shape Bias of CNNs
传统的基于CNN的端到端视觉定位方法[8]、[9]、[23]、[21]在外观变化相对较少的环境中工作良好,但是当形状变化较大时,它们的性能会显著降低。
用于对象识别的cnn倾向于学习一种偏向于纹理而非形状的表示。通过训练一组具有不同纹理的图像,可以获得具有较强形状表示能力的cnn。通过在训练数据中添加纹理的变化,其思想是训练一个模型,减少纹理偏差,进而更加关注形状特征。纹理来自不同的图像类别,通过样式转换合成。(也就是假设我给相同的场景贴上不同的纹理去训练,很有可能cnn就会关注形状结构,(在数学上可以理解关于结构的权重一直在增大,而纹理的多样性就会导致相对来说纹理所学到的feature就比较少))
针对这种前提本文,先使用风格转换网络将database中的图片生成不同的纹理风格的虚拟图片
这里可以引发一个思考????类似posenet这样的回归网络,那么是不是也是先将database的图片使用风格转换网络“贴上”不同的纹理,然后回归网络,这样就有可能是根据structure回归出来的网络??????????这里不使用类似candy这样的边缘检测算子难道是因为风格歉意网络迁移的正好是纹理??这样就可以互补?
使用了12种风格迁移seed图片,弱化场景纹理表达
B. Dominant Plane Estimation
之前视觉定位任务中解决条件变化使用的是几何信息,类似语义边缘等,但是不鲁棒,例如植物边缘也是在变化的。那么是不是可以学习主结构信息呢,比如墙面、天花板、地面这样的plane信息进行鲁棒定位。
为了获得structure信息,使用“Recovering 3d planes from a single image via convolutional neural networks”进行平面评估。(网路输出平面分割索引+(a, b, c)参数)
因此定义学习结构信息的损失是:,具体细节参考平面生成论文,,反正就是最小化误差函数,拟合出来平面参数以及plane segmantation,学习到的平面结构就是structure不变结构信息
C. 6-DoF Camera Pose Prediction
上述网络是简单介绍两个网络框架,一个是风格迁移将databse中的纹理信息干掉,一个是学习plane信息结构信息,接下来进行定位学习。
输入是image + plane网络的heatmap图 + 参数(这里需要使用平面参数是因为2d的平面分割并不能表达场景的3d结构信息,因此将参数融入heatmap达到3d结构化的特点)
pose loss:。
总loss:
实验结果简直不要太好:
持续更新视觉定位相关论文,感兴趣➕关注
完全手打,动动您的小手手,给咱点个赞