A system for obtaining a probable 3D map of an occluded surface of an object, the system comprising: a computing device configured to: receive an initial 3D map of a visible surface of the object as viewed from a known viewpoint; identify one or more symmetries of the initial 3D map by finding one or more part symmetries, the finding of one or more part symmetries including scoring the one or more part symmetries, wherein each part symmetry has a symmetry type, a numerical parameter vector, and a domain, the domain defining the part of the visible surface to which the part symmetry applies, the numerical parameter vector specifying the location and, if necessary for the symmetry type, the orientation of the symmetry type, the scoring comprises: applying the part symmetries to a test point set to generate projected points, the test point set being a fixed number of representative points extracted from the domain of the part symmetry and from the initial 3D map of the visible surface; determining a first number of projected points located in the vicinity of the visible surface of the object, determining a second number of projected points falling in occluded space, and determining a third number of the projected points that are neither located in the vicinity of the visible surface of the object nor fall in the occluded space; and computing a scaled linear combination of the first, the second, and the third number; and compute the probable 3D map of the occluded surface from the highest scoring part symmetries and the initial 3D map. a computing device configured to: receive an initial 3D map of a visible surface of the object as viewed from a known viewpoint; identify one or more symmetries of the initial 3D map by finding one or more part symmetries, the finding of one or more part symmetries including scoring the one or more part symmetries, wherein each part symmetry has a symmetry type, a numerical parameter vector, and a domain, the domain defining the part of the visible surface to which the part symmetry applies, the numerical parameter vector specifying the location and, if necessary for the symmetry type, the orientation of the symmetry type, the scoring comprises: applying the part symmetries to a test point set to generate projected points, the test point set being a fixed number of representative points extracted from the domain of the part symmetry and from the initial 3D map of the visible surface; determining a first number of projected points located in the vicinity of the visible surface of the object, determining a second number of projected points falling in occluded space, and determining a third number of the projected points that are neither located in the vicinity of the visible surface of the object nor fall in the occluded space; and computing a scaled linear combination of the first, the second, and the third number; and compute the probable 3D map of the occluded surface from the highest scoring part symmetries and the initial 3D map. receive an initial 3D map of a visible surface of the object as viewed from a known viewpoint; identify one or more symmetries of the initial 3D map by finding one or more part symmetries, the finding of one or more part symmetries including scoring the one or more part symmetries, wherein each part symmetry has a symmetry type, a numerical parameter vector, and a domain, the domain defining the part of the visible surface to which the part symmetry applies, the numerical parameter vector specifying the location and, if necessary for the symmetry type, the orientation of the symmetry type, the scoring comprises: applying the part symmetries to a test point set to generate projected points, the test point set being a fixed number of representative points extracted from the domain of the part symmetry and from the initial 3D map of the visible surface; determining a first number of projected points located in the vicinity of the visible surface of the object, determining a second number of projected points falling in occluded space, and determining a third number of the projected points that are neither located in the vicinity of the visible surface of the object nor fall in the occluded space; and computing a scaled linear combination of the first, the second, and the third number; and applying the part symmetries to a test point set to generate projected points, the test point set being a fixed number of representative points extracted from the domain of the part symmetry and from the initial 3D map of the visible surface; determining a first number of projected points located in the vicinity of the visible surface of the object, determining a second number of projected points falling in occluded space, and determining a third number of the projected points that are neither located in the vicinity of the visible surface of the object nor fall in the occluded space; and computing a scaled linear combination of the first, the second, and the third number; and compute the probable 3D map of the occluded surface from the highest scoring part symmetries and the initial 3D map.