3D Computer Vision Engineer
At c3 we're building a spatial intelligence data layer. We're a startup based in the UK, and are building an engineering team to focus on research and development of our proprietary models.
Ideally we are looking for someone with:
Multi-session SLAM / map merging / long-term localization / 3D registration experience
Ideal past experience:
Autonomous-driving mapping, warehouse/robot localization, AR persistent maps, LiDAR map differencing, construction progress monitoring, digital twins, or long-term robotics localization.
Requirements
* Strong background in 3D computer vision and geometric perception: point clouds, meshes, depth maps, coordinate transforms, registration, visibility/occlusion reasoning, and spatial change detection.
* Hands-on experience with real RGB-D / LiDAR / depth-sensor data. You should have dealt with noisy depth, incomplete scans, moving objects, partial overlap, and sensor/calibration errors.
* Strong understanding of 3D registration, including ICP variants, robust/global registration, geometric descriptors, RANSAC/TEASER++-style approaches, and failure detection.
* Experience solving multi-session or temporal mapping problems: comparing the same physical environment captured at different times.
* Familiarity with SLAM / visual-inertial odometry. You should understand accumulated drift, scale error, loop closure, and how errors in scan generation propagate downstream.
* Strong Python and PyTorch skills, with experience building production-quality evaluation and inference pipelines.
* Experience with learned feature matching such as LightGlue, SuperGlue, LoFTR, or equivalent is useful, particularly for cross-scan registration.
* Experience with synthetic data generation / simulation for augmentation and controlled failure-case generation.
* Robotics, autonomous systems, mapping, AR/VR, drones, or defence perception experience is highly relevant.
* Fluent English.
* Kyiv-based preferred; hybrid or remote considered.
What you will do
* Build a robust scan0 -> scan1 registration pipeline that aligns mostly-static structure while remaining insensitive to moved furniture and other transient objects.
* Handle partial overlap, occlusion, missing observations, drift, and scale differences between scans.
* Build temporal change detection that distinguishes:
* object removed / added,
* object moved,
* surface or condition changed,
* area unchanged,
* area not observable / insufficient evidence.
* Develop visibility and free-space reasoning so that βnot seenβ is not incorrectly classified as βgone.β
* Build multi-stage registration using geometric and learned features, followed by robust local refinement.
* Define confidence / failure detection for registration and comparison results rather than forcing a result from bad scans.
* Develop condition/defect classification and severity scoring once geometric correspondence is sufficiently reliable.
* Create synthetic perturbations and generated training/evaluation data covering known failure modes.
* Own evaluation against ground truth, including registration success rate, false positive/negative change detection, localization accuracy, and uncertainty calibration.
* Evaluate alternative scene representations, including 3D Gaussian Splatting, NeRFs, TSDFs, occupancy/SDF representations, where they materially improve temporal comparison.