Variational Depth and Normal Fusion Algorithms for 3D Reconstruction