Wahyunan
Andika
Research and geospatial engineer, Bandung
I build pipelines that turn drone imagery, LiDAR and photos into georeferenced 3D data.
My work sits between computer vision, 3D vision and GIS: Gaussian Splatting scenes delivered as 3D Tiles, detection and segmentation models, spatial databases, and world-scale AR for field inspection. Before that I spent 3.5 years as an offshore surveyor, which is where I learned to care about GNSS, coordinate reference systems and error budgets.
Projects
Recent work in 3D vision, computer vision and GIS, with the test results from each.
2026
Bandung, Cimahi and Jatinangor
Georeferenced Gaussian Splatting to 3D Tiles
A Python pipeline that places 3D Gaussian Splatting scenes on the globe and exports them as OGC 3D Tiles 1.1 with SPZ-compressed splats, viewable in CesiumJS, Cesium ion and ArcGIS Pro.
- Two georeferencing modes: a known-coordinate origin (e.g. a benchmark), or a RANSAC-Umeyama similarity solve from COLMAP camera centres to PPK GNSS camera positions.
- Octree tiling so Cesium streams large scenes progressively instead of loading one huge tile.
- Georeferencing is kept in the tileset root transform, so splat coordinates stay local and float32-safe.
- Pure-Python SPZ v3 encoder, WGS84 and UTM camera inputs, optional EGM96/EGM2008 geoid correction and .3tz packaging.
| Taman Kota Cimahi | 5.0M splats, 341 PPK cameras, RMSE 0.076 m |
|---|
| ITB Ganesha, Bandung | 9.0M splats, 1,146 PPK cameras, RMSE 0.022 m |
|---|
| Jatinangor | 24.9M splats, 4,245 PPK cameras, RMSE 0.599 m |
|---|
RMSE is the fit of the transform against PPK camera positions, not an independent checkpoint validation. Built on dozeri83/geo-register-plugin.
Built with Python, COLMAP, 3DGS, 3D Tiles, CesiumJS, ArcGIS Pro.
2026
Balikpapan, East Kalimantan
Private repository
World-Scale AR Pipeline Inspection
An Android AR proof of concept (Unity, AR Foundation, ARCore) that overlays georeferenced GIS pipeline meshes on the live camera feed for field inspection at an oil & gas facility.
- Traced a transform-sync conflict inside the ArcGIS Maps SDK for Unity by decompiling it, then rebuilt the app without map SDKs so ARCore alone owns the camera pose.
- Plain C# georeferencing: one fixed site origin, GPS + compass calibration averaged over 10 s, pipes placed in a local East-North-Up frame.
- Field tools: multi-point distance measurement with per-segment precision, an excavation-style depth view of pipe elevation, attribute lookup and a live minimap.
- Data prepared in ArcGIS Pro: 2D pipeline shapefiles turned into 3D tube meshes with Densify, Buffer 3D and OBJ export.
| Pipe length on mesh | error < 1 % (21.93 m reference) |
|---|
| Averaged compass heading | 6–9° off reference |
|---|
| Pipe → real object (AR) | ≈1.4 m vs. GPS tags, no RTK |
|---|
Built with Unity, C#, ARCore, ArcGIS Pro, GNSS.
2026
Semarang, Central Java
Sidewalk Obstacle Geolocation from a Single Photo
Places sidewalk obstacles on a map from one smartphone photo and its EXIF (GPS and compass), without image sequences or special hardware.
- Fine-tuned SegFormer-B0 for sidewalk segmentation and YOLO11s for 13 obstacle classes (mAP50 0.627).
- Apple Depth Pro metric depth, rescaled with a RANSAC ground plane and the measured camera height.
- Detections projected camera frame → ENU → WGS84, with magnetic-to-true heading correction from WMM2025.
- 23 of 24 obstacles agree within 0.35 m between plane-based and depth-based positions.
Built with PyTorch, YOLO11, SegFormer, Depth Pro, Hugging Face.
360° Video to Gaussian Splatting: Data Preparation
Code accompanying an ISPRS 2026 paper on handheld LiDAR and 3DGS for pedestrian accessibility. Turns GoPro 360° recordings into geotagged frames ready for alignment in Metashape and 3DGS training.
- Extracts GPS and orientation telemetry (GPMF) from GoPro .360 files.
- Frame extraction, optional split of each equirectangular frame into 8 perspective views.
- Optional trajectory smoothing (Savitzky–Golay, Kalman) before writing EXIF/XMP geotags.
Built with Python, Node.js, FFmpeg, Metashape, COLMAP.
Other project work
- LoD2 urban building models for Kota Cimahi and three districts of Kabupaten Bandung.
- 3D Gaussian Splatting reconstructions for offshore platform inspection (Pertamina Hulu Mahakam).
- Gaussian Splatting and VR models of Sumur Bandung sidewalks with DILANS, so people with disabilities and the elderly can assess accessibility.
- TU Delft SUMS semantic mesh segmentation (roof, wall, ground) on large urban meshes, loaded into PostGIS and benchmarked for spatial query performance.
- Land-cover classification support with SAM-HQ and nDSM features, including geometry regularization and post-processing.
Skills
- 3D & Computer Vision
- Structure from Motion (COLMAP, Metashape)
- 3D Gaussian Splatting
- LiDAR & point clouds
- LoD1 / LoD2 building reconstruction
- Detection & segmentation (YOLO, SegFormer, SAM-HQ)
- AR (Unity, ARCore)
- GIS & Geospatial
- ArcGIS Pro, QGIS
- PostGIS
- CityGML, 3D Tiles, CesiumJS
- CRS transformations & georeferencing
- GNSS & geoid models
- Remote sensing
- Data & ML
- Python, SQL
- PyTorch
- Hugging Face
- ETL
- Mathematical modeling
- Tools & Languages
- Docker, FastAPI, Git
- Unity (C#)
- Indonesian (native)
- English (TOEFL 550, B2)