MMDetection3D LiDAR Dataset
Full-stack pipeline that turns raw LiDAR point clouds into 3D object-detection and segmentation datasets with the real MMDetection3D engine — raw scans, per-frame annotations, dataset manifests, and model checkpoints stored on Backblaze B2 over the S3-compatible API. Next.js + FastAPI; runs on local OSS with B2 credentials only.
Built for: Autonomous-vehicle and robotics teams building 3D object-detection and segmentation datasets from raw LiDAR point clouds, who want Backblaze B2 as the storage layer for scans, annotations, checkpoints, and dataset manifests.

What it's built with
Each piece of the stack, and the job it does in this project.
- Next.js 16 + React 19
- Web application and dashboard UI
- Tailwind CSS v4 + shadcn/ui + Recharts
- Design tokens, interface primitives, and charts
- TanStack Query
- Client-side data fetching and cache management
- FastAPI + Pydantic v2
- Typed Python API and configuration validation
- MMDetection3D (OpenMMLab) + PyTorch
- Local 3D-detection engine, opt-in and lazily imported
- boto3 + Backblaze B2
- S3-compatible object storage access
- pnpm workspaces
- TypeScript and Python monorepo workflow
Core capabilities
What the project does out of the box, before you write any code of your own.
End-to-end LiDAR dataset pipeline
Ingest raw scans, run detection/segmentation, produce per-frame annotations, and emit a dataset manifest — every stage backed by Backblaze B2 over the S3-compatible API.
The real MMDetection3D engine, run locally
Run PointPillars, SECOND, or CenterPoint from OpenMMLab against your sensor logs. The engine is opt-in and lazily imported, CPU by default with GPU auto-detected, so the base app and its checks stay green without it.
Dataset manifest with train/val split
Every frame is tied to its 3D-box annotation in a JSONL manifest with a train/val split, alongside archived model-checkpoint records — the dataset artifact teams actually consume.
Sample-scoped Dataset explorer plus full-bucket Files
Browse the sample's B2 objects grouped by pipeline stage — raw scans, preprocessed tensors, annotations, manifests, checkpoints — next to a reusable full-bucket Files explorer and drag-and-drop ingest.
Typed full-stack scaffold, enforced by code
A Next.js frontend and layered FastAPI service with a checked API contract, structural tests, import-boundary lints, and agent-ready docs so a coding agent can read the repo and extend it safely.
A closer look
More screens from the running project.




Choose it for the right job
MMDetection3D LiDAR Dataset is a head start for a specific shape of project, not a supported, general-purpose product.
Use it when
- You are building 3D object-detection or segmentation datasets from raw LiDAR point clouds and want B2 as the storage layer for scans, annotations, checkpoints, and manifests.
- You want to ingest raw .bin / .pcd LiDAR frames to B2 and run the real MMDetection3D engine locally to produce per-frame 3D bounding-box annotations.
- You need a JSONL dataset manifest that ties every frame to its annotation and a train/val split.
- You want a full-stack TypeScript and Python scaffold with enforced architecture, a checked API contract, and tests to build on.
Choose another path when
- You need a complete hosted SaaS product, a managed training service, or a drop-in production annotation platform.
- You expect the app to train models — it archives pretrained checkpoints and runs inference, it does not train.
- You need a managed GPU fleet: the engine runs locally, and SECOND / CenterPoint generally need CUDA/Linux while PointPillars is the CPU-friendly default.
- You need built-in user accounts, authentication, tenant isolation, or billing.
- You only need generic B2-backed file upload and browsing without the LiDAR/ML pipeline — the Vibe Coding Starter Kit is a lighter starting point.
Project status and support
Report defects and feature requests through the repository's GitHub Issues; this sample carries no service-level agreement (SLA).