光流 vs 每物体 2D 仿射

两者渲染成色轮几乎看不出区别,因为差别不在"长什么样",而在自由度。这一页从三个角度拆开: 六个参数各自的作用、网格形变、以及真实数据上的对照(含 Stage-1 的实际预测)。

稠密光流

每个像素独立一个二维向量。该时刻共 51,200 个自由数 (160×160×2)。任何形变都能表示——包括物理上不可能的(同一刚体撕成两半各走各的)。

每物体 2D 仿射

每个物体一组 6 个数,整个物体的所有像素被同一变换约束。 表示不了非刚体形变(布料),但静止物体得到恒等变换 ⇒ 光流严格为 0,而不是"接近 0 的噪声"。

x' = (1+a)·x + b·y + tx     y' = c·x + (1+d)·y + ty    光流 = (x'−x, y'−y)

一、六个参数各自在做什么

左:网格形变(灰=原始,蓝=变换后)。右:对应的光流箭头。仿射永远把方格变成平行四边形——这正是它的约束,也是它的保证。

恒等(全零)
[+0.00, +0.00, +0.00, +0.00, +0.00, +0.00]
光流严格为 0 —— 静止物体天然得到这个
平移 tx
[+0.00, +0.00, +0.00, +0.00, +0.35, +0.00]
整体右移,所有像素同一向量
旋转
[-0.12, -0.48, +0.48, -0.12, +0.00, +0.00]
绕中心转 ~29°,位移随离中心距离线性增大
放大(靠近相机)
[+0.35, +0.00, +0.00, +0.35, +0.00, +0.00]
各向同性缩放,位移从中心向外发散
非等比缩放
[+0.35, +0.00, +0.00, -0.20, +0.00, +0.00]
x 拉伸 y 压缩 —— 面外旋转的投影效果
剪切 b
[+0.00, +0.40, +0.00, +0.00, +0.00, +0.00]
刚体做不到,但仿射可以表示

二、真实数据(t = 0.8s)

箭头图叠在首帧上,只画被评测的像素(object_mask ∧ visibility)。 残差图:蓝=0,红=上限。

collide h5test_collide_pilot_it2_collision_assorted_targets_box_0001_4e4b8059a88f

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 35.0px · 仿射拟合残差 0.561px · 该时刻稠密光流需 230 个数,仿射只需 6 个(38×) · Stage-1 slots 误差 34.99px · Stage-1 dense 误差 35.63px

物体像素平均位移平移 px旋转主/次缩放6 个数
#29122.6+103.2, -4.6+97.8°1.122 / 0.788-1.130, -1.113, +0.779, -1.128, +1.290, -0.058

contain h5test_contain_pilot-containment-bowl_0001_59e029b50309

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 1.1px · 仿射拟合残差 0.013px · 该时刻稠密光流需 15,320 个数,仿射只需 36 个(426×) · Stage-1 slots 误差 1.12px · Stage-1 dense 误差 1.12px

物体像素平均位移平移 px旋转主/次缩放6 个数
#28455.4-37.0, -19.5+33.9°0.754 / 0.651-0.368, -0.408, +0.375, -0.466, -0.463, -0.244
#34233.9-31.2, -10.5-17.3°0.864 / 0.521-0.264, +0.053, -0.360, -0.414, -0.390, -0.132
#47433.9-32.6, -9.9-9.3°0.805 / 0.762-0.209, +0.114, -0.139, -0.244, -0.407, -0.124
#640410.0-0.0, -0.0-0.0°1.000 / 1.000+0.000, +0.000, +0.000, -0.000, -0.000, -0.000
#131970.0-0.0, -0.0-0.0°1.000 / 1.000-0.000, +0.000, -0.000, +0.000, -0.000, -0.000
#52220.0-0.0, +0.0-0.0°1.000 / 1.000-0.000, -0.000, -0.000, +0.000, -0.000, +0.000

dominoes h5test_dominoes_pilot_dominoes_0mid_d3chairs_o1plants_tdwroom_0001_74da2c2dd9b3

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 1.4px · 仿射拟合残差 0.082px · 该时刻稠密光流需 9,402 个数,仿射只需 42 个(224×) · Stage-1 slots 误差 1.38px · Stage-1 dense 误差 1.38px

物体像素平均位移平移 px旋转主/次缩放6 个数
#320026.4+19.1, +25.5+79.3°1.077 / 0.297-1.011, -1.040, +0.310, -0.734, +0.239, +0.319
#21637.3+6.7, -3.2+13.7°1.251 / 0.965+0.189, -0.349, +0.174, -0.037, +0.083, -0.040
#16330.0+0.0, +0.0+0.0°1.000 / 1.000+0.000, -0.000, -0.000, +0.000, +0.000, +0.000
#728970.0-0.0, -0.0-0.0°1.000 / 1.000-0.000, +0.000, +0.000, +0.000, -0.000, -0.000
#41840.0+0.0, +0.0-0.0°1.000 / 1.000+0.000, +0.000, +0.000, +0.000, +0.000, +0.000
#51290.0-0.0, +0.0+0.0°1.000 / 1.000-0.000, +0.000, +0.000, +0.000, -0.000, +0.000
#64950.0+0.0, -0.0+0.0°1.000 / 1.000+0.000, -0.000, -0.000, -0.000, +0.000, -0.000

drape h5test_drape_test10_0001_b1ef0fd2016c

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 23.6px · 仿射拟合残差 3.175px · 该时刻稠密光流需 2,950 个数,仿射只需 30 个(98×) · Stage-1 slots 误差 23.47px · Stage-1 dense 误差 17.30px

物体像素平均位移平移 px旋转主/次缩放6 个数
#679943.6-12.5, +150.3+4.0°3.351 / 0.753-0.247, -0.262, +0.024, +2.340, -0.156, +1.879
#42220.0+0.0, +0.0-0.0°1.000 / 1.000+0.000, +0.000, -0.000, -0.000, +0.000, +0.000
#32950.0+0.0, +0.0-0.0°1.000 / 1.000+0.000, -0.000, -0.000, -0.000, +0.000, +0.000
#5770.0-0.0, +0.0+0.0°1.000 / 1.000-0.000, -0.000, +0.000, +0.000, -0.000, +0.000
#1590.0-0.0, -0.0+0.0°1.000 / 1.000+0.000, -0.000, +0.000, +0.000, -0.000, -0.000

drop h5test_drop_pilot_it2_drop_all_bowls_box_0001_e68bc19243c3

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 1.5px · 仿射拟合残差 0.008px · 该时刻稠密光流需 11,852 个数,仿射只需 18 个(658×) · Stage-1 slots 误差 0.52px · Stage-1 dense 误差 0.79px

物体像素平均位移平移 px旋转主/次缩放6 个数
#212766.9+19.4, +41.0-46.6°0.900 / 0.514-0.321, +0.517, -0.511, -0.707, +0.242, +0.513
#313040.1+0.0, -0.1+0.0°1.000 / 0.999+0.000, -0.001, +0.000, -0.001, +0.000, -0.001
#144950.0-0.0, -0.0-0.0°1.000 / 1.000+0.000, +0.000, -0.000, +0.000, -0.000, -0.000

link h5test_link_pilot_linking_nl1-5_aNone_bCube_occ1_dis1_tdwroom_0001_f6cc7119e50b

首帧
GT 光流(色轮)
GT 光流(箭头)
仿射投影(箭头)
残差 |GT−仿射|
Stage-1 预测(slots)
预测误差(slots)
Stage-1 预测(dense)
预测误差(dense)

GT 平均位移 1.2px · 仿射拟合残差 0.036px · 该时刻稠密光流需 14,244 个数,仿射只需 42 个(339×) · Stage-1 slots 误差 0.98px · Stage-1 dense 误差 1.17px

物体像素平均位移平移 px旋转主/次缩放6 个数
#223820.4-17.7, +16.1-16.9°1.109 / 1.076+0.061, +0.315, -0.321, +0.029, -0.221, +0.201
#54612.9-12.9, +4.4+2.9°1.339 / 0.920+0.026, -0.239, -0.126, +0.231, -0.162, +0.055
#6709.6-3.2, +2.5-33.0°1.416 / 0.916-0.058, +0.882, -0.388, +0.014, -0.040, +0.031
#32109.3-8.5, +2.3+2.7°1.070 / 1.017+0.038, -0.074, +0.023, +0.048, -0.106, +0.028
#150360.0-0.0, -0.0-0.0°1.000 / 1.000-0.000, +0.000, +0.000, +0.000, -0.000, -0.000
#814490.0+0.0, -0.0+0.0°1.000 / 1.000+0.000, -0.000, +0.000, -0.000, +0.000, -0.000
#7480.0+0.0, +0.0-0.0°1.000 / 1.000+0.000, +0.000, -0.000, +0.000, +0.000, +0.000