1 图像中物体的定位

定位
  这一阶段的任务是在图像中识别物体的中心点,分为两个阶段:

1.1 粗分割

  1. 将尺寸为512

    ×

    \times

    ×
    384的图像分割为128

    ×

    \times

    ×
    128大小的图像块;
  2. 将图像块输入到VGG分类网络(将最后全连接层的输出改为

    16

    ×

    16

    =

    256

    16\times 16=256

    16×16=256
    )中,得到每个8

    ×

    \times

    ×
    8图像块的分类结果,这里为二分类,即决定是物体还是背景;
  3. 大于设定阈值的8

    ×

    \times

    ×
    8图像块为物体

1.2 细分割

  1. 将包含最大物体区域的图像部分resize为

    16

    ×

    16

    16\times 16

    16×16
    大小,输入到第二个网络,得到精细化的分割;
  2. 网络只有两个卷积层和两个池化层,输出结果同粗分割时类似;
  3. 根据精细化分割的结果得到BBox,进而得到物体的中心点。

2 预测三维位姿

  根据第一阶段分割的结果——即图像中感兴趣物体的中心点位置,crop出以该点为中心的图像块输出到这一阶段的网络(同为VGG),输出为物体在三维场景中3D BBox八个角点在图像上的投影点坐标,根据这8组3D-2D的对应点,求解PnP可以得到物体的6D位姿。

3 旋转对称物体的位姿估计

  BB8在处理旋转对称物体的方法很有代表性,下面是本人结合原论文对该方法的理解。
  原文的3.3小节中详细地描述了处理对称物体地方法,我这里先简单总结一下:对称
  首先,对于训练集中的对称物体,识别它的对称角度(angle of symmetry),如上图(a)中所以物体如果忽略圆环上小的突出,可以简单 理解为一个对称角度为180°的物体(也即保持相机的拍摄位姿不变,物体围绕它自己坐标系的对称轴旋转180°后拍摄得到的图像和未旋转前得到的图像非常相似)。
  然后,记该物体的对称角度为

α

\alpha

α,物体的旋转角度为

β

\beta

β,则只有限定物体的旋转角度

β

[

0

,

α

)

\beta \in [0, \alpha)

β[0,α),物体的二维成像与物体的实际位姿才存在一一对应的关系,所以我们需要将训练集中的标注位姿转换到一定的范围,使得在该范围内拍摄得到的图像满足上述一一对应的关系。实际上这里只需要对训练集中的标注位姿做简单的3D几何变换就可以了,下面讲一下这个过程。
对称
如上图所示,假设物体的对称角度为180°,则我们在固定的纬度拍摄物体制作数据集时,只需要在半个圆弧的范围内拍摄即可,所以,如果假设原始标注的位姿不在这个半圆弧范围内,我们就需要沿着该维度的圆形轨迹围绕对称轴反向旋转

β

180

\beta -180

β180°。这个过程只需经过下面的计算即可实现:

[

R

t

]

=

[

R

3

×

3

t

3

×

1

]

[

c

o

s

(

β

%

α

)

s

i

n

(

β

%

α

)

0

0

s

i

n

(

β

%

α

)

c

o

s

(

β

%

α

)

0

0

0

0

1

0

0

0

0

1

]

(1)

\left[ \begin{matrix} R’&|&t’ \end{matrix} \right]= \left[ \begin{matrix} R_{3\times 3}&|&t_{3\times 1} \end{matrix} \right] \left[ \begin{matrix} cos(\beta\%\alpha)&-sin(\beta\%\alpha)&0&0\\ sin(\beta\%\alpha)&cos(\beta\%\alpha)&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{matrix} \right]\tag{1}

[Rt]=[R3×3t3×1]cos(β%α)sin(β%α)00sin(β%α)cos(β%α)0000100001(1)
上式中的%表示求余数。
  第三,通过观察我们发现,即使物体经过旋转之后(改变相机的位姿相对来说就是旋转物体),当它的旋转角度趋于区间

[

0

,

α

)

[0, \alpha)

[0,α)的两端,拍摄得到的照片依然非常相似,如上上图的(a)和©,继续将物体的旋转角度限制在

[

0

,

α

/

2

)

[0, \alpha/2)

[0,α/2)之间。这一步只需要识别出物体经过上一步处理得到的旋转角度,如果位于

[

α

/

2

α

)

[\alpha/2,\alpha)

[α/2α)之间,则将该图像镜像处理,输入模型得到预测的关键点后在镜像回去。
  最后,对于回转物体(也即对称角度为0°),式(1)中直接反向旋转

β

\beta

β°。


版权声明:本文为qq_40378982原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_40378982/article/details/114645682