Add SETSM and CARS vs ASP comparison documentation for UCSD SpaceNet example#111
Add SETSM and CARS vs ASP comparison documentation for UCSD SpaceNet example#111
Conversation
|
Opened a question about SETSM cropping: PolarGeospatialCenter/imagery_utils#111 |
5ed43b3 to
8360118
Compare
Source Data table now references 1040010007A93700 x 1040010007CA4D00 (the canonical pair from the worldview_spacenet_ucsd_stereo notebook, convergence 21.2 deg) instead of 1040010007A3D100 x 1040010007A93700 (35.9 deg, used in v1 work). Approach section now documents the mandatory NTF -> TIFF prep with the gdal_translate command from section 2.1.4 of the SETSM user manual, and notes that a JP2-capable GDAL is needed (ASP's bundled gdal_translate ships JP2OpenJPEG). Run-output values (computation time, peak memory, output dims, std dev, hillshade comparison) blanked to "pending current run" while SETSM is reprocessed on the canonical pair.
Reran SETSM with -boundary_* flags on the canonical 21deg_12d pair (1040010007A93700 x 1040010007CA4D00, convergence 21.2 deg, asymmetry 2.7 deg). Result: 1500x1500 px DEM at 2 m, 20 min runtime, 2.72 GB peak memory, 98.7% valid pixels. The hillshade now clearly resolves buildings, streets, and Mount Soledad topography. The v1 noise-dominated outcome was caused by running on a 35.9 deg convergence pair, not by any SETSM limitation on urban scenes; the urban-band-appropriate convergence (15-25 deg) recovers the geometry. Doc updated with final metrics table, three-panel hillshade comparison (COP30 / ASP / SETSM), and corrected assessment paragraph. ucsd-setsm2m-hillshade.png replaced with the canonical-pair hillshade.
The problem I had with SETSM was two fold:
|
Source Data table and config.yaml example now reference the canonical 1040010007A93700 x 1040010007CA4D00 pair (convergence 21.2 deg) used by the worldview_spacenet_ucsd_stereo notebook, instead of the v1 1040010007A3D100 x 1040010007A93700 pair (35.9 deg). Hillshade comparison block and a new Run Metrics table are blanked to "pending current run" while CARS is reprocessed on the canonical pair.
Both PNGs are now reprojected onto the same 1500x1500 UTM 11N grid
as the SETSM canonical-pair hillshade (boundary 476000-479000 E,
3635600-3638600 N), then rendered with matplotlib LightSource at
1422x1344 px to match. Direct apples-to-apples visual comparison
between COP30 / ASP / SETSM (and soon CARS) is now possible by
flipping between the three figures - same extent, same projection,
same lighting.
Source DEMs:
ASP - ucsd_stereo_21deg_12d/stereo/run-DEM.tif (2 m, native)
COP30 - ucsd_stereo_21deg_12d/ref/cop30_ucsd_wgs84_utm.tif
(30 m, bilinear-upsampled to 2 m for the comparison grid)
Reran CARS on the canonical 21deg_12d pair (1040010007A93700 x 1040010007CA4D00, convergence 21.2 deg) with the same ROI and orchestration as v1. Result: 2017x2001 px DSM at 2 m, EPSG:32611 + EGM96 vertical. Runtime 17 h 18 min on a 16 GB 6-core laptop, peaking at ~10.3 GB (CARS emits 'RAM available < 500 Mb' warnings but completes successfully). Raw DSM has edge blunders (min -321 m, max 1273 m) in the seaward margin of CARS' ~4 km ROI polygon, but inside the canonical 3 km comparison crop the dynamic range is in line with the scene (std 48.7 m) and the hillshade resolves buildings, streets, the I-5 freeway, and Mount Soledad topography -- comparable to ASP. cars.md updated with final metrics table, commentary on runtime and memory warnings, and the three-panel hillshade comparison. ucsd-cars2m-hillshade.png replaced with the canonical-pair hillshade, rendered on the same 3 km grid as the COP30 / ASP / SETSM versions (outlier-clipped to 2.5-97.5 percentile so the hillshade shading is not dominated by the edge blunders).
The prior hillshade rendering clipped the reprojected CARS DSM to the 2.5-97.5 percentile before shading, which blanked ~27k pixels in the central frame (tall buildings legitimately above the clip ceiling). The result was an artificial speckle of voids over the campus. Now render from the raw reprojected DSM without any percentile clip (99% valid). The void-free central area matches what ucsd_stereo_CARS/output/results/dsm/dsm_hillshade.tif shows in QGIS directly from the native DSM.
|
@dshean, I was able to get reasonable results out of SETSM, and I refined the CARS processing with better scene selection. I'm not exactly sure what we ought to do with this work. On one hand, I do like it as a quick compare / sanity check for the three tools, and it might be useful for others to see how all three produce comparable results. (I had trouble searching online for many published [i.e. blogs or docs] use of CARS / SETSM, and the docs I wrote here include the dockerization steps and run commands, which alone would have been useful to me initially.) On the other hand, I'm hesitant to do a deep dive on "best case" parameters for all three tools, which might be a bit of a rabbit hole / distraction from my point here: I see this as a quick and dirty example showing that the three tools can all be used. We could include a disclaimer that adjusting processing parameters in all three tools will lead to varying output. I mostly took these steps out of my own curiosity, having never run SETSM or CARS. In light of that, we could just let this branch sit here and not include it in the docs. What do you think? (You can view the hillshades in the diff here; there's plenty you could say about all three, like the tendency towards interpolation of trees / water in CARS + SETSM vs. gaps left by ASP, but I'm refraining from going much deeper than: "all three produce reasonable surface models given the same WV image pair.") |

Resolves #109
WIP