<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LiDAR | Portfolio</title><link>https://lshivarudra.github.io/tag/lidar/</link><atom:link href="https://lshivarudra.github.io/tag/lidar/index.xml" rel="self" type="application/rss+xml"/><description>LiDAR</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 27 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://lshivarudra.github.io/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url><title>LiDAR</title><link>https://lshivarudra.github.io/tag/lidar/</link></image><item><title>Automated 3D Reconstruction of Buildings</title><link>https://lshivarudra.github.io/project/automatedbuildingreconstruction/</link><pubDate>Sun, 27 Sep 2026 00:00:00 +0000</pubDate><guid>https://lshivarudra.github.io/project/automatedbuildingreconstruction/</guid><description>
&lt;figure class="building-figure building-video">
&lt;video controls autoplay loop muted playsinline preload="metadata" width="1280" height="720"
style="aspect-ratio: 1280 / 720;"
poster="/project/automatedbuildingreconstruction/video-poster.jpg" aria-label="Automated 3D Reconstruction of Buildings">
&lt;source src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/lod2_transition.mp4" type="video/mp4">
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/lod2_transition.mp4">Download the video&lt;/a>.
&lt;/video>
&lt;figcaption>From the captured point cloud to reconstructed LoD2 buildings along the mapping corridor.&lt;/figcaption>
&lt;/figure>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>We developed a workflow for reconstructing urban buildings in Bonn from airborne laser scanning (ALS), mobile mapping system (MMS) data, imagery, and cadastral building footprints. Our workflow takes raw point clouds through preprocessing, semantic and instance segmentation, and &lt;strong>Level of Detail 2 (LoD2) reconstruction&lt;/strong>, producing building models with explicit roof geometry.&lt;/p>
&lt;p>These models support applications such as HD maps, urban visualization, and change detection. Detailed textured models, LoD3 reconstruction, and a fully automated pipeline remain future goals.&lt;/p>
&lt;h2 id="my-contributions">My contributions&lt;/h2>
&lt;p>My work focused on &lt;strong>point-cloud preprocessing, LoD2 reconstruction using Roofer, hyperparameter optimization with Optuna, and evaluation against ground-truth models&lt;/strong>. These contributions formed the reconstruction and evaluation stages of our overall workflow.&lt;/p>
&lt;h2 id="from-point-clouds-to-building-models">From point clouds to building models&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Preprocess the data:&lt;/strong> align ALS and MMS in a common coordinate frame, crop to the mobile-mapping corridor, and remove noise, MMS ground points, and outliers.&lt;/li>
&lt;li>&lt;strong>Add appearance information:&lt;/strong> colorize ALS using orthophotos and map fisheye-image colors to MMS points using image-specific extrinsics.&lt;/li>
&lt;li>&lt;strong>Identify buildings:&lt;/strong> extract building-class points through semantic segmentation, then separate individual buildings. We explored cadastral footprints, hybrid footprint-supervised boundary models, and image-based instance segmentation.&lt;/li>
&lt;li>&lt;strong>Reconstruct LoD2 geometry:&lt;/strong> apply the existing Roofer framework to point clouds and building footprints.&lt;/li>
&lt;li>&lt;strong>Tune and evaluate:&lt;/strong> use Optuna to search reconstruction parameters and compare the resulting models with NRW LoD2 reference models.&lt;/li>
&lt;/ol>
&lt;h2 id="segmentation-results">Segmentation results&lt;/h2>
&lt;p>Our image-based instance segmentation approach, &lt;strong>FaçadeSAM-Track&lt;/strong>, explores separating buildings without cadastral footprints. It combines image-based segmentation and tracking with LiDAR, assigning distinct instance colors to building façades in the point cloud.&lt;/p>
&lt;p>The comparisons below show how the method assigns instance labels in two street scenes. Each predicted color represents a building instance.&lt;/p>
&lt;figure class="building-figure">
&lt;div class="building-comparison">
&lt;div>
&lt;div class="building-panel-label">Colorized input&lt;/div>
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-street-input.jpg" aria-label="Open full-size colorized input">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-street-input_huc8bbd413f6f3333b1db028dcd78028c3_708677_960x0_resize_q75_h2_lanczos.webp" alt="Colorized input — Street-front buildings: colorized LiDAR input and the predicted façade instances." width="960" height="544" loading="lazy">
&lt;/a>
&lt;/div>
&lt;div>
&lt;div class="building-panel-label">Predicted instances&lt;/div>
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-street-instances.jpg" aria-label="Open full-size predicted instances">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-street-instances_hu893bce6104d0cd93d581382321966b3b_604200_960x0_resize_q75_h2_lanczos.webp" alt="Predicted instances — Street-front buildings: colorized LiDAR input and the predicted façade instances." width="960" height="544" loading="lazy">
&lt;/a>
&lt;/div>
&lt;/div>
&lt;figcaption>Street-front buildings: colorized LiDAR input and the predicted façade instances.&lt;/figcaption>
&lt;/figure>
&lt;figure class="building-figure">
&lt;div class="building-comparison">
&lt;div>
&lt;div class="building-panel-label">Colorized input&lt;/div>
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-corner-input.jpg" aria-label="Open full-size colorized input">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-corner-input_hu915b939412e5ad0f298df77dc3b0e335_714853_960x0_resize_q75_h2_lanczos.webp" alt="Colorized input — A second street scene: predicted building instances around a road junction." width="960" height="544" loading="lazy">
&lt;/a>
&lt;/div>
&lt;div>
&lt;div class="building-panel-label">Predicted instances&lt;/div>
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-corner-instances.jpg" aria-label="Open full-size predicted instances">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/segmentation-corner-instances_hub23875ad67352fdbe9db46e6260fb7bc_643327_960x0_resize_q75_h2_lanczos.webp" alt="Predicted instances — A second street scene: predicted building instances around a road junction." width="960" height="544" loading="lazy">
&lt;/a>
&lt;/div>
&lt;/div>
&lt;figcaption>A second street scene: predicted building instances around a road junction.&lt;/figcaption>
&lt;/figure>
&lt;p>These examples illustrate our qualitative progress rather than a segmentation accuracy benchmark. We also observed failure cases; generalized instance segmentation remains an area for refinement.&lt;/p>
&lt;h2 id="reconstruction-and-evaluation">Reconstruction and evaluation&lt;/h2>
&lt;p>Default Roofer settings sometimes introduced unnecessary roof structures or failed to produce valid reconstructions. We compared these defaults with &lt;strong>Optuna-100 (100 optimization trials)&lt;/strong> across &lt;strong>43 attempted buildings&lt;/strong>.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Evaluation criterion&lt;/th>
&lt;th>Default Roofer&lt;/th>
&lt;th>Optuna-100&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Valid reconstruction&lt;/td>
&lt;td>30/43 (70%)&lt;/td>
&lt;td>&lt;strong>39/43 (91%)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Volumetric IoU ≥ 0.90&lt;/td>
&lt;td>25/43 (58%)&lt;/td>
&lt;td>&lt;strong>33/43 (77%)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Overall RMSE ≤ 0.50 m&lt;/td>
&lt;td>21/43 (49%)&lt;/td>
&lt;td>&lt;strong>28/43 (65%)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Roof RMSE ≤ 0.50 m&lt;/td>
&lt;td>16/43 (37%)&lt;/td>
&lt;td>&lt;strong>25/43 (58%)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Percentages use all 43 attempted buildings as the denominator, including invalid reconstructions. IoU measures volume overlap with the reference model; RMSE measures geometric error, where lower is better.&lt;/p>
&lt;figure class="building-figure">
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/quality-comparison.jpg" aria-label="Open full-size figure: Default and tuned reconstruction quality across 43 attempted buildings">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/quality-comparison_huab81c8d0b5cbd5d867c7287e7a9f0246_172691_1440x0_resize_q75_h2_lanczos.webp" alt="Default and tuned reconstruction quality across 43 attempted buildings" width="1440" height="864" loading="lazy">
&lt;/a>
&lt;figcaption>Parameter tuning improves all four evaluation criteria. Roof accuracy remains the most difficult threshold to meet. &lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/quality-comparison.jpg">View full size&lt;/a>.&lt;/figcaption>
&lt;/figure>
&lt;p>Tuning recovered nine additional valid reconstructions. In the spatial comparison below, one building rejected with default parameters achieved a volumetric IoU of &lt;strong>0.995&lt;/strong> after tuning.&lt;/p>
&lt;figure class="building-figure">
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/tuning-map.jpg" aria-label="Open full-size figure: Maps comparing reconstruction quality before and after tuning">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/tuning-map_hu80ba7aa60ba3194133c3f8b342cb84ac_240816_1440x0_resize_q75_h2_lanczos.webp" alt="Maps comparing reconstruction quality before and after tuning" width="1440" height="1046" loading="lazy">
&lt;/a>
&lt;figcaption>Spatial distribution of reconstruction quality. The highlighted building changes from rejected to a volumetric IoU of 0.995. &lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/tuning-map.jpg">View full size&lt;/a>.&lt;/figcaption>
&lt;/figure>
&lt;h3 id="geometry-compared-with-reference-models">Geometry compared with reference models&lt;/h3>
&lt;p>The examples below compare ALS input points, default Roofer outputs, optimized models, and NRW LoD2 references. For the two illustrated buildings, tuning reduced reported RMSE from &lt;strong>0.450 to 0.370 m&lt;/strong> and &lt;strong>0.210 to 0.111 m&lt;/strong>, while increasing IoU from &lt;strong>0.904 to 0.926&lt;/strong> and &lt;strong>0.967 to 0.980&lt;/strong>, respectively. These are individual examples rather than dataset-wide averages.&lt;/p>
&lt;figure class="building-figure">
&lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/reconstruction-comparison.jpg" aria-label="Open full-size figure: Two buildings compared across ALS input, default Roofer, tuned Roofer, and NRW reference models">
&lt;img src="https://lshivarudra.github.io/project/automatedbuildingreconstruction/reconstruction-comparison_hu41a12d0c3363120a0199fc62e7f962fd_138946_1440x0_resize_q75_h2_lanczos.webp" alt="Two buildings compared across ALS input, default Roofer, tuned Roofer, and NRW reference models" width="1440" height="777" loading="lazy">
&lt;/a>
&lt;figcaption>Two individual reconstruction examples, with the ALS input and NRW reference models shown alongside the default and tuned outputs. &lt;a href="https://lshivarudra.github.io/project/automatedbuildingreconstruction/reconstruction-comparison.jpg">View full size&lt;/a>.&lt;/figcaption>
&lt;/figure>
&lt;h3 id="remaining-challenges">Remaining challenges&lt;/h3>
&lt;p>Roof geometry remains the main limitation: only &lt;strong>25 of 43 buildings (58%)&lt;/strong> achieved roof RMSE ≤ 0.50 m after tuning. We also encountered unsuccessful reconstructions, sparse input data, and problematic reference geometry. Better reconstruction robustness therefore does not imply uniformly accurate roofs.&lt;/p>
&lt;h2 id="building-change-analysis">Building change analysis&lt;/h2>
&lt;p>We also compared cadastral building records associated with the 2021 ALS data and the latest 2025 cadastral data, reporting:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Change category&lt;/th>
&lt;th style="text-align:right">Building count&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Unchanged&lt;/td>
&lt;td style="text-align:right">1,241&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>New&lt;/td>
&lt;td style="text-align:right">14&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Modified&lt;/td>
&lt;td style="text-align:right">10&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Demolished&lt;/td>
&lt;td style="text-align:right">14&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Rekeyed / restructured&lt;/td>
&lt;td style="text-align:right">3&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="next-steps">Next steps&lt;/h2>
&lt;p>We plan to refine LoD2 roof geometry, improve generalized instance segmentation, extend reconstruction to LoD3, automate the full workflow, and create VR building models.&lt;/p>
&lt;h2 id="team-and-credits">Team and credits&lt;/h2>
&lt;p>&lt;strong>Team:&lt;/strong> Shiva Rudra Lolla, Ravikumar Chaurasia, Poorna Sasank Sesetti, Pranesh Gopal, and Carine Allen.&lt;/p></description></item></channel></rss>