# Internship_contributions **Repository Path**: lu_chen_jie/internship_contributions ## Basic Information - **Project Name**: Internship_contributions - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🚀 实习贡献总览 本仓库记录了我在 **Kitware Europe**(法国里昂)实习期间提交的项目、功能和合并请求,聚焦于 LidarView 生态系统中的**地理参考三维重建**、**传感器数据集成**与**地图可视化** — 涉及 **LidarView**、**VTK** 和 **ParaView** 三个开源项目。 > 📰 这些贡献也收录于 Kitware 官方博客文章:**[Recent Improvements in Georeferenced SLAM in LidarView](https://www.kitware.com/recent-improvements-in-georeferenced-slam-in-lidarview/)** *(Chenjie Lu, Timothee Couble, Tong Fu, Gatien Ferret — 2026年4月7日)*  > 本仓库的目的是**记录并展示我在实习期间对各开源生态系统的贡献**。 > > 此处展示的所有工作均**来源于或贡献于开源项目**,公开分享**仅供学习和职业参考之用**。 > > 原始版权归属于 **Kitware Inc.** 及各项目的相应维护者。 ## 核心贡献 - **外部传感器集成** — 面向 IMU、GNSS/INS 和轮式里程计数据的 CSV 读取器,支持可配置的传感器到 LiDAR 变换、单位转换,以及 Qt 配置面板 - **外参标定评估** — 对 XYZ/RPY 偏移量进行暴力搜索的滤波器,通过体素紧凑度对候选结果打分,以确定最优的 LiDAR–INS 外参标定 - **轨迹手动校正** — 在地理地图叠加层上通过锚点交互式调整位姿,随后进行全局位姿图优化 — 无 GPS 的漂移校正 - **卫星影像点云着色** — 将地理参考地图瓦片的 RGB 颜色直接投影到 LiDAR 点云上的滤波器 ## 📁 仓库结构 本仓库经过结构化组织,提供实习工作与开源贡献的全面概览。 - **根目录 README** 作为汇总文档,描述了在 Kitware Europe 实习期间所有主要贡献。 - 下方的 **合并请求部分** 列出了每项贡献及其在 Kitware 官方仓库(VTK、ParaView、LidarView 等)上对应 MR 的链接。 - 每条 MR 记录包含: - **仓库名称** - **MR 链接与编号** - **贡献的简短描述** - **状态**(已合并 🟢、开放中 🟡、草稿 🟠、已关闭 🔴) ## 📋 合并请求 ### LidarView / LVCore | 仓库 | MR | 描述 | 状态 | |------|----|------|------| | LidarView / LVCore | [!597](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/597) | [feat] Select points whose scalar equals any of specified values | 已合并 🟢 | | LidarView / LVCore | [!599](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/599) | [feat] Automatically compute offset from input data when enabled | 已合并 🟢 | | LidarView / LVCore | [!607](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/607) | [feat] Add CSV readers for external sensors (IMU, GNSS/INS, Odometry) | 已合并 🟢 | | LidarView / LVCore | [!611](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/611) | [feat] Add InvertSelection option to vtkSelectPointsByScalars | 已合并 🟢 | | LidarView / LVCore | [!618](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/618) | [feat] Add vtkComputeGeodeticCoordinates filter | 已合并 🟢 | | LidarView / LVCore | [!619](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/619) | [feat] Add a new filter for brute-force extrinsic sweep with trajectory aggregation | 已合并 🟢 | | LidarView / LVCore | [!623](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/623) | [feat] Support projecting the point cloud using an image | 已合并 🟢 | | LidarView / LVCore | [!636](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/636) | [feat] Add image-to-point-cloud color projection filter | 已合并 🟢 | | LidarView / LVCore | [!643](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/643) | [feat] Add ROI-based curb detection filter with left/right RANSAC inliers | 已合并 🟢 | | LidarView / LVCore | [!645](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/645) | [feat] Add offline curb detection from aggregated point clouds | 已合并 🟢 | | LidarView / LVCore | [!647](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/647) | [feat] Add vtkImageColorToPointCloud filter with 2D grid projection | 已合并 🟢 | | LidarView / Slam | [!504](https://gitlab.kitware.com/keu-computervision/slam/-/merge_requests/504) | [feat] Add external sensor optional input | 已合并 🟢 | | LidarView / Slam | [!505](https://gitlab.kitware.com/keu-computervision/slam/-/merge_requests/505) | [feat] Add external sensor data selection button in subset dialog | 已合并 🟢 | | LidarView / Slam | [!513](https://gitlab.kitware.com/keu-computervision/slam/-/merge_requests/513) | [feat] Add manual constraint points in slam | 已合并 🟢 | ### VTK | 仓库 | MR | 描述 | 状态 | |------|----|------|------| | VTK | [!12459](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12459) | [feat] Add support for LAS offset metadata | 已合并 🟢 | | VTK | [!12464](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12464) | [fix] Correct thresholding behavior in vtkThresholdPoints | 已合并 🟢 | ### ParaView | 仓库 | MR | 描述 | 状态 | |------|----|------|------| | ParaView | [!7485](https://gitlab.kitware.com/paraview/paraview/-/merge_requests/7485) | [feat] Add option to apply offset in PDAL reader,关联 [!12459](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12459) | 已合并 🟢 | | ParaView | [!7504](https://gitlab.kitware.com/paraview/paraview/-/merge_requests/7504) | [fix] Update vtkSLACPlaneGlyphs to use the new threshold API,关联 [!12464](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12464) | 已关闭 🔴 | | ParaView | [!7516](https://gitlab.kitware.com/paraview/paraview/-/merge_requests/7516) | [feat] Add new matrix tab for InteractiveBox | 已合并 🟢 | | ParaView | [!7549](https://gitlab.kitware.com/paraview/paraview/-/merge_requests/7549) | [feat] Add OpenStreetMap support for Geopraphicalmap Plugin | 已合并 🟢 | | ParaView | [!7580](https://gitlab.kitware.com/paraview/paraview/-/merge_requests/7580) | [fix] CompositeDecorator: child decorators incorrectly participate in top-level AND evaluation | 已合并 🟢 | ## 🔬 精选贡献详解 *上述合并请求涵盖了全部工作范围。以下各节将深入介绍五项精选贡献,包括技术背景、实现细节与可视化结果。* ### 外部传感器集成 — [!607](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/607) 基于 SLAM 的定位可以从辅助传感器 — **IMU**、**GNSS/INS** 和**轮式里程计** — 中获益,以提升精度和鲁棒性。然而在实际使用中,这些数据很少以标准化格式存在:单位各异(g 与 m/s²,度与弧度),不同设备的列名不同,传感器与 LiDAR 之间的标定变换也因安装方式而异。 为此,我在 VTK 管线中开发了一套 **C++ CSV 读取器**,能够从任意 CSV 文件中加载上述三类传感器数据,并支持可配置的单位转换。我还设计并实现了一个 **基于 Qt 的配置面板**,将所有必要参数集中呈现:传感器类型选择、传感器到 LiDAR 的位姿变换,以及通过下拉菜单将目标字段与 CSV 列对应的列映射表。 下面两张截图展示了用户视角下的集成效果 — 左侧为文件打开对话框,右侧为完整配置面板。![]() |
![]() |