最近倍normal estimation的ground truth 弄的很头疼,有工作直接拿NYU v2的深度图做一个cross product(一个naive从depth获得normal的方法)得到normal作为gt,但depth本来就有缺失的值,就算做了inpainting也是人为把缺失的地方给个值,所以个人感觉不太靠谱。
直到看到2019北理这篇《Deep Surface Normal Estimation with Hierarchical RGB-D Fusion arXiv:1904.03405v1》,里面提到
NYU v2虽然是一个广泛使用的训练集,但是NYU v2 do not provide complete ground-truth normal for the captured RGB-D images since it is directly computed from the captured depth after inpainting [14]. If trained on NYUv2, the network is up to approximate an inpainting algorithm.
所以他们就使用Matterport3D 和 ScanNet 数据集,使用相机拍的RGB-D和multiview reconstruction provided by [32] 处理得到的normal。
Matterport3D和Scannet数据集都要向谷歌发邮件,提交一个terms获取权限。在官网都有。
然后我获取了matterport_color_image,undistorted_depth_image和undistorted_normal_image
发现其中normal一个nz, ny, nz和depth分别都有3个通道,经过测试发现每个通道的值都一样,应该是本来其实只有一个通道,但是要用RGB的格式显示出来,所以采用了这种方式。我们使用的时候只要取其中的一个channel就行了。