A method for merging a plurality of three-dimensional models (112, 114, 116), each generated from images of a camera having a different viewpoint, comprising: (a) determining a plurality of voxels in three-dimensional space; for respective voxels in the plurality of voxels: (b) determining a plurality of distance values (432, 434, 436), each distance value being a distance from the voxel to a corresponding three dimensional model from the plurality of three-dimensional models along a perspective of a camera model used to generate the three-dimensional model; when (i) a first distance value from the plurality of distance values indicates that the distance between the voxel and the three dimensional model corresponding to the first distance value is within a threshold distance from the three dimensional model and (ii) a second distance value from the plurality of distance values indicates that the voxel is outside the threshold distance from the three dimensional model and is above the three dimensional model corresponding to the second distance value: (c) determining a first confidence score indicating a degree to which the perspective of the camera model of the three-dimensional model corresponding to the first distance value is oriented to face the voxel; (d) determining a second confidence score indicating a degree to which the perspective of the camera model of the three-dimensional model corresponding to the second distance value is oriented to face the voxel; and (e) determining whether to include the voxel into a merged three-dimensional model based, at least in part, on the determined first and second confidence scores such that, when the second confidence score is greater than the first confidence score by a predetermined degree, the voxel is not included in the merged three dimensional model, wherein the first and second confidence scores are determined: based on an angle between the respective three-dimensional model and a ray extending from the perspective of the camera model toward the voxel such that a level of confidence indicated by the confidence score decreases as the angle becomes more acute, and/or based on a distance between samplings of the respective three-dimensional model in a proximity area determined according to the voxel such that a level of confidence indicated by the confidence score decreases as the distance between samplings increases. (a) determining a plurality of voxels in three-dimensional space; (b) determining a plurality of distance values (432, 434, 436), each distance value being a distance from the voxel to a corresponding three dimensional model from the plurality of three-dimensional models along a perspective of a camera model used to generate the three-dimensional model; (c) determining a first confidence score indicating a degree to which the perspective of the camera model of the three-dimensional model corresponding to the first distance value is oriented to face the voxel; (d) determining a second confidence score indicating a degree to which the perspective of the camera model of the three-dimensional model corresponding to the second distance value is oriented to face the voxel; and (e) determining whether to include the voxel into a merged three-dimensional model based, at least in part, on the determined first and second confidence scores such that, when the second confidence score is greater than the first confidence score by a predetermined degree, the voxel is not included in the merged three dimensional model, based on an angle between the respective three-dimensional model and a ray extending from the perspective of the camera model toward the voxel such that a level of confidence indicated by the confidence score decreases as the angle becomes more acute, and/or based on a distance between samplings of the respective three-dimensional model in a proximity area determined according to the voxel such that a level of confidence indicated by the confidence score decreases as the distance between samplings increases.