A computer-implemented process for completing a partially reconstructed 3D scene, the process comprising: receiving a dense partial reconstruction volume of a three dimensional scene; detecting surfaces in the dense partial reconstruction volume; classifying the surfaces into different types of surfaces; determining the scene boundaries of the dense partial reconstruction volume of the scene using the classified surfaces; determining boundaries of partially occluded surfaces of objects in the dense partial reconstruction volume using the classified surfaces; updating the dense partial reconstruction volume to show the determined boundaries of partially occluded surfaces of objects in the scene and the scene boundaries; using a contour completion process to update contours of the scene boundaries and the boundaries of the partially occluded surfaces of objects in the dense partial reconstruction volume, wherein the contours are completed by using lines and parabolas fitted to visible parts of the contours; and fitting parabolas to visible parts of the contours of the scene boundaries and the boundaries of the partially occluded surfaces of objects by: projecting the visible parts of the contours of the surfaces onto a two dimensional image; identifying contact points in the two-dimensional image which fall at an intersection of free space, occupied and unknown pixels; finding contour points in the two-dimensional image that are on a contour of a planar surface and bordering free space; and enclosing an occluded contour by fitting a parabola so that the parabola either connects to a set of contact points or continues from a contact point until it reaches an end of the two-dimensional image. receiving a dense partial reconstruction volume of a three dimensional scene; detecting surfaces in the dense partial reconstruction volume; classifying the surfaces into different types of surfaces; determining the scene boundaries of the dense partial reconstruction volume of the scene using the classified surfaces; determining boundaries of partially occluded surfaces of objects in the dense partial reconstruction volume using the classified surfaces; updating the dense partial reconstruction volume to show the determined boundaries of partially occluded surfaces of objects in the scene and the scene boundaries; using a contour completion process to update contours of the scene boundaries and the boundaries of the partially occluded surfaces of objects in the dense partial reconstruction volume, wherein the contours are completed by using lines and parabolas fitted to visible parts of the contours; and fitting parabolas to visible parts of the contours of the scene boundaries and the boundaries of the partially occluded surfaces of objects by: projecting the visible parts of the contours of the surfaces onto a two dimensional image; identifying contact points in the two-dimensional image which fall at an intersection of free space, occupied and unknown pixels; finding contour points in the two-dimensional image that are on a contour of a planar surface and bordering free space; and enclosing an occluded contour by fitting a parabola so that the parabola either connects to a set of contact points or continues from a contact point until it reaches an end of the two-dimensional image. projecting the visible parts of the contours of the surfaces onto a two dimensional image; identifying contact points in the two-dimensional image which fall at an intersection of free space, occupied and unknown pixels; finding contour points in the two-dimensional image that are on a contour of a planar surface and bordering free space; and enclosing an occluded contour by fitting a parabola so that the parabola either connects to a set of contact points or continues from a contact point until it reaches an end of the two-dimensional image.