基于视觉的三维重构

摘要

        基于视觉的三维重建的主要任务有以下两个:

        通过相机的内、外参矩阵,以相平面坐标系为媒介,计算出物体在世界坐标系上对应的坐标,从而完成位置的确定。

        利用卷积神经网络对输入的图像序列进行特征提取,再通过GRU网络对同图像序列中的图片进行信息交互。并根据”粗到细“的思想,先对计算部分体素的特征,再通过上采样来完成特征拼接,最后通过全连接层输出每一个体素所对应的特征值。

关键词

​         三维重构、计算机视觉、深度学习

相机标定

​         相机的标定就是通过物体在像素坐标系中与在世界坐标系中坐标关系的对应关系求出相机的内外参。相机的内参一般是固定的,外参会根据相机相对物体的方位变化而变化。

相平面坐标系到像素坐标系

​         相平面坐标系到像素坐标系主要考虑的是相机的内参,相机的内参一般是固定的。

​         要将相平面坐标系上的坐标转换到像素坐标系上,一般不是直接用原始的坐标来转,而是先将坐标系转换为齐次坐标,再将相平面坐标系转为像素坐标系。

        以下是转换为齐次坐标的过程。转换为齐次坐标就是在原坐标上多加了一个维度,这里不一定填1。

        

        以下是转换为齐次坐标后的相平面坐标系转换为像素坐标系的过程。

        

        a和β是相机设置好的参数,a乘以相平面坐标系上x的坐标值,再进行CxZ的平移,便完成了x的转换。β是在y上的转换,不同坐标轴的转换用的参数是不一样的。

        a和β还实现了单位的转换。相平面坐标系上的单位是米,像素坐标系上的单位则是像素,这里也需要一个转换。Cx和Cy是投射后的点相对像素坐标系左上角的一个平移。因为是齐次坐标,所以求出来的像素坐标系有三个轴,但实际上像素坐标系只有两个维度,只要再从齐次坐标转为原始的坐标,便可以得到真正的像素坐标系上的坐标。

世界坐标系到像平面坐标系

        像平面坐标系在三维重构中充当的是一个媒介的角色。相机将三维的物体转换为二维图像保存下来,在进行相平面坐标系到像素坐标系的转换之前,还需要经过世界坐标系到相平面坐标系的转换。

        世界坐标系可以理解成绝对客观的三维空间中的坐标,不过什么物体在这上面的坐标值的标准都是一样的。我们用三维重构来实现的定位、位姿估计等项目所使用的真实坐标,就是世界坐标系上的坐标。

        从相平面坐标系到像素坐标系靠的是相机的内参,从世界坐标系到相平面坐标系靠的就是外参。

        内参是每个相机决定的,也是固定的。但决定外参的是物体相对于相机的摆放方位。比如说我拿着同一部相机去拍摄一只小猫,我在小猫前面拍和在小猫上面拍会分别得到两种不同的图像。因为我用的同一部相机,所以内参是一样的,但是因为拍摄的角度不同,所以外参不同。

        假设小猫呆在那一动不动,所以小猫在世界坐标系上的位置也是不变的,而最终得到的图像不同,就是因为相机拍摄角度不同导致的外参不同。

特征提取

        该基于视觉的三维重建项目运用神经网络,来完成深度估计、点云等复杂操作。输入网络的是好几段图片序列,一段图片序列就是好几张图片合一起输入网络,也就是给网络输入了好几个四维矩阵。每一段图片序列重构的部分是不同的,比如要重构一只猫,第一段序列负责重构猫的头,头重构完了后第二段序列才开始重构猫的身体。

        特征提取的部分由CNN网络负责,最终会得到高维度的特征图。考虑到输入的是序列,且前后互有关联,所以可以采用RNN网络的思想,来实现同序列中前后信息的交互。这里采用GRU网络来实现。

        同一段序列中完成了信息交互,不同序列也需要进行信息的交互,不然重构出来的模型可能会不准确。

        这里运用的方法有点类似于yolov3的特征拼接。比如说一共要重构出十万个体素,就先重构五千个,再通过上采样与进行完五万个体素重构的特征图进行拼接。

        

        假设要一段图片序列中有十八张图,要用这十八张图中每张对应的像素点来重构一个体素,这时要做的就是将十八个对应的像素点求一个平均值,这个就是得到的体素的特征。因为特侦图里每一个像素点都是几十上百维的向量,所以这里还需要对体素进行一个全连接的操作,最终得到的每一个体素都只有一个特征值。
        这样便完成了三维重构。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值