1. A method for clustering images, comprising: acquiring initial image data including a scene of interest; constructing a 3D model of the scene of interest based on the acquired initial image data; acquiring a plurality of additional images including the scene of interest; fitting each of the plurality of additional images to the 3D model; estimating a line-of-sight for each of the plurality of additional images based on the corresponding fitting to the 3D model; and clustering the plurality of additional images into a plurality of clusters according to the estimated line-of-sight of each of the plurality of additional images, wherein the clustering of the plurality of additional images into the plurality of clusters according to the estimated line-of-sight includes: estimating a 3D ray for each estimated line-of-sight; calculating a shortest distance between each pair of estimated 3D rays; and clustering the 3D rays according to the shortest distances, wherein calculating a shortest distance between each pair of estimated 3D rays includes analyzing only pairs of 3D rays that converge and calculating a distance of a line segment that connects an origin of a first 3D ray of each pair of 3D rays and intersects a second 3D ray of each pair of 3D rays perpendicularly.