690 likes | 798 Vues
The City Scanning Project :. Validation and parallel algorithms. Olivier Koch, Visitor from March to August 2002. Advisor : Seth Teller. Contents. 1/ Project overview 2/ code validation 3/ parallel algorithms 4/ a few ideas.
E N D
The City Scanning Project : Validation and parallel algorithms Olivier Koch, Visitor from March to August 2002 Advisor : Seth Teller
Contents 1/ Project overview 2/ code validation 3/ parallel algorithms 4/ a few ideas The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview Reconstruct a realistic 3D model of an urban environment from calibrated real-world images Technology Square Argus The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • Nodes The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • Edge detection The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world edge Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world edge Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world edge Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal plane Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal line Horizontal plane Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal line Horizontal plane Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world horizontal line horizontal line Horizontal plane Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal line Horizontal plane Camera plane Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal line Camera center Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Horizontal line Ground plane The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • assume edges are horizontal • determine corresponding orientation in 3D world Z Horizontal line X Y Ground plane = azimuth of 3D edge The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • Edge detected… The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • Edge detected… now have an azimuth ! • each azimuth is color-coded. The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • histogram edges weight azimuth 0 360 Façade orientation wrt due east The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • histogram horizontal edges weight azimuth 0 360 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • histogram horizontal edges weight azimuth 0 360 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • keep orientations that are supported by at least 3 nodes weight azimuth 0 360 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview • determine corresponding edges weight azimuth 0 360 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview From : Extracting Textured Vertical Facades from Controlled Close-Range Imagery, S. Teller, S. Coorg in Proc. CVPR, pp. 625-632, June 1999. The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview correlation computed correlation value step grid cell projected edge The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview correlation peak step grid cell sweep step The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview correlation peak step grid cell sweep step The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview correlation peak step grid cell The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview 2 2 2 1 1 1 1 1 1 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Project overview The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Contents 1/ Project overview 2/ code validation 3/ parallel algorithms 4/ a few ideas The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Code validation • edge detection improvement automatic edges manual edges The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Code validation • edge detection improvement manual edges automatic edges The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Code validation • polygon filtering : remove polygons without support. without filter with filter The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Code validation • debugging bugs warnings CVD Rational Purify log files, class constructors, … The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Contents 1/ Project overview 2/ code validation 3/ parallel algorithms 4/ a few ideas The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms not processed • why parallelize ? being processed processed IRIX machine grid cells The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms not processed • why parallelize ? being processed processed IRIX machine The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms not processed • why parallelize ? being processed processed IRIX machine The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms not processed • why parallelize ? being processed processed > 7 hours on IRIX single processor = The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms • first method Machine 2 Machine 1 Machine 3 Machine 4 Machine 5 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms • first method • CPU speed varies across machines • time to process a cell is not constant difficult optimization problem… Static allocation turpentine ray trace mosaic acetone hue panorama orange 2285 sec. 2678 2443 2131 2711 2342 1755 1939 Computing time : 45 min. Standard dev : 3.4 % The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu
Parallel algorithms • second method Machine 2 Machine 1 Machine 3 Machine 4 Machine 5 The City Scanning Project – validation and parallel algorithms – July 2002 – koch@graphics.lcs.mit.edu