通过(有noise)的2D Semantic/Instances Predictions,利用多视图渲染和相关的损失设计,构建空间一致、连贯、干净的3D Density/Color/Semantic/Instance 表征,从而做到更好的3D场景理解。
鲁棒的3D场景理解是很多下游应用的基石,比如VR、机器人导航、自动驾驶。全景分割作为3D场景理解的一部分,受到了很多的重视。但是,单一视图的全景分割模型往往由于视图的缺陷,不能做到跨视图分类的一致。
最近一些工作利用NeRF的方法,从2D图像中解决全景3D场景理解。一些工作利用GT的2D、3D标签,但是这种方法比较昂贵。一些工作利用pretrained-model生成的2D、3D标签,但是3D detection models很难像2D panoptic segmentation models那样,做到训练数据域外的泛化性,这主要源于2D、3D数据集量的差异。
相关的工作包括Panoptic NeRF(label transfer)、DM-NeRF(scene editing)、PNF(Panoptic Neural Fields)。前两者的工作都需要GT信息,前者是panoptically segmented coarse meshes、后者是per-image 2D panoptic segmentations。PNF虽然只需要RGB的GT信息,但是需要per-image semantic segmentation、3D object bounding boxes、object tracking across frames的预测。
本文的方法,只需用到GT的RGB信息,且只需要用到2D的预测(且是noise的),就能做到3D空间中连贯、一致的语义/实例表达。
Density和Color部分,采用的是TensoRF的做法。对于3D空间中带观察角度的点 $(x,d)$,方案 $\phi (x,d)$会生成density $\alpha$、语义类别分布$k$、实例标识符分布$\pi$、颜色$c$。通过上述的表示,可以获得3D空间中任意点独有的Object ID $(k,j)\in H_{3D}$,其中 $H_{3D}:=K_T\times J$,代表所有可能的3D空间中的实例。通过经典体渲染方法得到语义、实例、RGB渲染图。对于渲染出的像素为thing类别($k_r^\star:=argmax_{k\in \mathcal{K}}κ_r(k) \in thing$),那么就会计算最有可能的实例类别($j_r^\star:=argmax_{j\in \mathcal{J}}\pi_r(j)$)来组成3D实例标识 $(k_r^\star,j_r^\star)\in \mathcal{H}_{3D}$。
semantic loss:
对于2D图像来说,经过增强后的图像通过2D预训练的语义分割模型后,不仅会生成对应的实例/语义分布概率,还会生成逐像素的置信度$w_r$。语义损失就是计算每个像素渲染的语义/实例分布与2D模型给出的语义/实例分布之间的交叉熵,并与像素置信度加权:
instance loss:
不同于语义,实例标识在渲染图和2D模型预测图之间可能存在不一致,即使它们都是正确的。所以在计算损失前,需要对2D模型预测图进行线性分配(linear assignment),使其尽量贴近渲染图的实例分布。
$Π_R^\star$是单射映射,假设2D模型预测图中的实例集是 $\{I_1,I_2,...,I_n\}$,渲染图中的实例集是 $\{I_A,I_B,...,I_C\}$, $Π_R^\star$就是形如 $\{I_1\to I_C,I_2\to I_A,I_3\to I_B\}$的映射集。
经过Linear Assignment后,2D模型实例预测图变为跟渲染图“大抵”相似(跟渲染图中同一个实例内大多数的像素预测相同),但还有些许不同。这时候使用NCE损失:
log-loss中保证 $\pi_r(Π_R^\star(\hat{h_r}))$逼近1,其中 $\hat{h_r^\star}$是2D模型实例预测。
segment consistency loss:
如果不同视图下,对同一实例的语义预测不同