1. A method for reconstructing a three-dimensional (3D) model of an object, the method being performed by a computer system and comprising: receiving images of the object, the images capturing the object from different viewpoints; obtaining a depth map for each of the images, the depth map including information relating to a surface of the object in the 3D space; projecting each pixel in each depth map into a 3D space to obtain a point set; for each point in the point set, determining whether the point is consistent with the surface of the object in the 3D space as indicated by a set of depth maps for the images, wherein the set of depth maps does not include the depth map from which the point is projected, wherein the consistency determination includes: for each depth map in the set: performing an intersection of a ray with the surface of the object indicated by the depth map to find an intersection point, the ray being through a camera viewpoint corresponding to the depth map, and the point; and in response to the intersection point being found, determining a distance between the point and intersection point as a distance between the point and the surface of the object as seen from the camera viewpoint corresponding to the depth map; determining whether the point is geometrically consistent with the surface of the object based on one or more of the determined distances between the point and the surface of the object; and determining whether to discard the point from point set based on the determination whether the point is geometrically consistent with the surface of the object; and reconstructing the 3D model using the point set.