Skip to main content

rail-lidar-qa-mvp

Rail LiDAR QA MVP - Local LiDAR quality validation for railway infrastructure using drone simulation, point cloud metrics, and 3D visualization.

跳到安装

来源信息

仓库
Ntizar/MasterMind
最近来源活动
2026年9月15日 15:20
检测到的 SKILL.md 语言
多语言混合
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
rail-lidar-qa-mvp
description
Rail LiDAR QA MVP - Local LiDAR quality validation for railway infrastructure using drone simulation, point cloud metrics, and 3D visualization.
version
1
created
2026-05-30T00:00:00.000Z
updated
2026-05-30T00:00:00.000Z
source
https://github.com/Ntizar/rail-lidar-qa-mvp
tags
["data-science","lidar","railway","QA"]
# Rail LiDAR QA MVP ## Overview A local tool for validating LiDAR quality on railway infrastructure. Simulates drone flights over a PNOA LiDAR point cloud to detect coverage gaps, low-density zones, and shadow areas. ## Workflow 1. User loads `.laz` point cloud file 2. System reads point cloud and calculates general metrics 3. User selects analysis zone (e.g., 20m track + embankment) 4. Tool divides zone into 2D grid 5. For each cell: calculates density, elevation range, coverage 6. Simulates multiple drone passes from different positions 7. Generates QA map with color coding 8. Demo shows if capture is acceptable or needs repetition ## Drone Pass Strategy | Pass | Coverage | Purpose | |------|----------|---------| | P1 | Track axis | Global view of platform, track, ballast, embankment | | P2 | Right flank | Reduce shadows on embankment face, ditch, ballast edge | | P3 | Left flank | Confirm doubtful zones, improve density continuity | | P4 | Adaptive (optional) | Target red cells after P1-P3 | ## QA Traffic Light - **Green**: Sufficient density and continuous coverage - **Yellow**: Partial coverage, irregular density, needs review - **Red**: Gap, shadow, low density, insufficient capture ## Minimum Metrics - Total point count - Bounding box X/Y/Z - Elevation range - Mean points per square meter - Green cell percentage - Yellow cell percentage - Red cell percentage - QA score 0-100 ## Math Model ``` eje_via = principal_eigenvector(covariance(X, Y)) s = longitudinal projection on eje_via d = transverse projection on normal_via ``` Error reduction per pass: ``` e_i,k+1 = max(e_floor, e_i,k * (1 - g_k * visibility_i,k)) + anomaly_i ``` Planner prioritizes cells with highest residual error for adaptive P4. ## Tech Stack - Python: `laspy`, `lazrs` (LAZ reading), `numpy` (grid metrics) - Three.js: 3D point cloud visualization - Local HTTP server (Python stdlib) - Windows launcher (`run_mvp.bat`) ## Color Classification Points are classified visually: - Green: Vegetation (high NIR response) - Dark gray: Track/platform - Ochre: Ballast/substructure - Brown: Natural terrain/embankment - Dark blue: Shadow/occlusion/water ## European Sovereignty Narrative - Galileo Open Service as GNSS base - Galileo HAS for PPP high-precision corrections - EGNOS for operational integrity layer - Local processing, no external cloud - PNOA LiDAR (CNIG) as free base data ## Static Demo Generation ```bat python src\build_static.py ``` Creates `docs/` with Three.js viewer, preprocessed `sample_analysis.json`, and HTML report. Publishable to GitHub Pages or Vercel without uploading the `.laz` file. ## Pitfalls - MVP uses heuristic rules, not real AI - Track detection may be manual or configurable in v1 - Precision depends on sensor, GNSS, IMU, calibration, and pass geometry - Tool does NOT certify railway safety ## Datasets de referencia: SOSDaR24 `Vicomtech/SOSDaR24` (Synthetic Open Sensor Dataset for Rail 2024; solo README + assets, consultado 2026-09-15) es el dataset sintético de referencia para validar QA de LiDAR ferroviario. Generado con el **simulador CARLA**: 100 escenas y 22.208 ficheros por sensor, con obstáculos estáticos y dinámicos (cajas, peatones, coches) sobre vía. - Nomenclatura de carpeta `ID_map_path_static_dynamic` (id de escena, id de mapa, id de camino, nº de obstáculos estáticos y dinámicos). - Dentro: anotación **OpenLABEL** (JSON con etiquetas, calibración de sensores y odometría), recording CARLA `.log` y `streams/` con PNG + nubes `.pcd` por sensor (`camera`, `pandar64`, `tele15`). - Los `.pcd` son binarios con 5 campos: `x, y, z, object_id, object_tag` → permite evaluar detección/seguimiento directamente sobre el point cloud etiquetado (clave para QA de cobertura/densidad). - `info/` incluye `.npy` con la **trayectoria del tren** de cada simulación: útil para validar estrategias de pasada tipo P1/P2/P3. **Licencia:** descarga solo por formulario (`opendatasets.vicomtech.org/di21-sosdar24/59e9a716`), **CC BY-NC-ND 4.0** — atribución obligatoria, sin uso comercial y sin redistribuir versiones modificadas. Paper: *Interpretable Railway Track and Obstacle Detection using On-board LiDAR*, IEEE Sensors Journal 2026, DOI `10.1109/JSEN.2026.3730546`.
在 GitHub 查看