1. A method performed by a computer system comprising processor electronics and at least one memory device, the method comprising: obtaining frames of range scan data captured using one or more three dimensional (3D) sensors, wherein the frames correspond to different views of an object or scene; registering point clouds for the frames with each other by maximizing coherence of projected occluding boundaries of the object or scene within the frames using an optimization algorithm with a cost function that computes pairwise or global contour correspondences, wherein the registering comprises generating visibility pairings for the frames, wherein a pairing of a first frame with a second frame indicates that (i) at least a portion of the object or scene represented in the second frame is visible in the first frame and (ii) at least a portion of the object or scene represented in the first frame is visible in the second frame, performing registration between frames in each of the visibility pairings by maximizing contour coherence of the range scan data for the object or scene, including minimizing (i) distance between contour correspondences for the first frame and the second frame of the pairing in a first two dimensional image plane of the first frame and (ii) distance between contour correspondences for the second frame and the first frame of the pairing in a second two dimensional image plane of the second frame, and iteratively updating the visibility pairings for the frames and repeating the registration until convergence, wherein performing the registration between frames comprises globally aligning all the frames together in each iteration, and automatically detecting and achieving loop closure if a loop among all views is present; and providing the registered point clouds for use in 3D modeling of the object or scene.