- Status
- Live
- Version
- 0.1.0
- Platform
- Android app
- License
- Not specified
Turning a phone pointed at the road into a lane map and HD-map export without dedicated hardware or a cloud service, with recordable drives so detection settings can be tuned offline without re-driving.
How it is put together.
LANYX detects lane markings in a phone's camera feed, lifts them onto the ground plane using ARCore's tracked pose, and accumulates a growing top-down lane map in real time, fully on-device. It then vectorises the map into lane centerlines with colour, width and dashed/solid attributes and exports them to GIS and HD-map formats. Raw drives can be recorded, replayed through the same pipeline and swept over parameters offline. The README scopes it as a lane-mapping and HD-map data-export research tool, not a self-driving stack.
- 1
AR session
ARCore session lifecycle, VIO pose and YUV frames
app/src/main/java/com/lanyx/mapper/ar/ - 2
Lane detection
LaneDetector interface: Classical (HSV+Otsu+CCL) and LiteRT
app/src/main/java/com/lanyx/mapper/detect/ - 3
Ground lifting
Pixel-to-ground ray lifting, ground plane, intrinsics
app/src/main/java/com/lanyx/mapper/geometry/ - 4
Top-down map
Density grid, cells, trajectory
app/src/main/java/com/lanyx/mapper/map/ - 5
Vectoriser
Centerlines with colour, width, dashed/solid
app/src/main/java/com/lanyx/mapper/vector/ - 6
Georeferencer
Rigid GPS-track fit
app/src/main/java/com/lanyx/mapper/geo/ - 7
Exports
GeoJSON, OpenDRIVE, Lanelet2, KML, ML dataset, map JSON/PNG
app/src/main/java/com/lanyx/mapper/export/
Specification.
- Detectors
- Classical pure-Kotlin (HSV + Otsu + connected components) or LiteRT/TFLite segmentation with GPU → NNAPI → CPU fallback
- Mapping
- Flat-ground homography lift into a memory-bounded density grid; white vs yellow markings per cell
- Vectorisation
- Zhang-Suen thinning, skeleton trace, Douglas-Peucker; per-lane colour, width, dashed/solid
- Exports
- GeoJSON, OpenDRIVE (.xodr), Lanelet2 (.osm), KML, map JSON, PNG, ML dataset (frames + per-pixel labels + manifest)
- Georeferencing
- Rigid 2D Procrustes fit of local path to GPS track with quality gates; falls back to local frame
- Offline tuning
- Record clips, replay through the live pipeline, parameter sweep that proposes best settings
- Tests
- 63 JVM unit tests covering codec, grid, vectoriser, georeferencer, exports, detector, lifter
- Platform
- ARCore-supported Android device, OpenGL ES 3.0; fully on-device
- Runs on
- Android app built with Gradle and installed on an ARCore-supported device
Releases.
- v0.1.0
More systems.
Turn any Android phone into a georeferenced mobile-mapping and Visual-Inertial SLAM rig.
Mapping and localization · ResearchCORRIDYXTurn dash phones into a live, city-scale map of where camera-based autonomy can see
Next systemFrameForgeAn annotation tool for dashcam footage of Indian roads