界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

second-pytorch

second-pytorch

【数据与研究】Guide historical SECOND and PointPillars LiDAR 3D detection workflows for KITTI and NuScenes, including data contracts, configuration, geometry, evaluation, guarded training/inference, and the web viewer.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: second-pytorch description: "Guide historical SECOND and PointPillars LiDAR 3D detection workflows for KITTI and NuScenes, including data contracts, configuration, geometry, evaluation, guarded training/inference, and the web viewer." disable-model-invocation: true metadata: disco-role: operating license: MIT

SECOND PyTorch

Use this repo skill for source-grounded work involving the deprecated traveller59/second.pytorch 1.6.0-alpha-era codebase: KITTI/NuScenes LiDAR 3D detection, VoxelNet/SECOND, PointPillars, voxel and box geometry, text protobuf configs, evaluation, and the historical KITTI web viewer.

First decision: historical code or maintained replacement?

The repository is explicitly deprecated. For new detector development, prefer OpenPCDet or MMDetection3D. Use this skill when a historical config, checkpoint, experiment, data artifact, or compatibility question requires this code's contracts. Read repo-provenance.md before assuming this skill matches a checkout, and read compatibility.md before importing the detector.

Runtime boundary

  • The checkout has no pyproject.toml, setup.py, requirements file, or supported modern package install. Use a private isolated environment and an explicitly supplied checkout only when the historical runtime is truly needed.
  • The executable, verified portion of this graph is CPU-safe/static: dataset layout validation, config/schema reasoning, NumPy geometry, and safe helper probes.
  • Full sparse detector construction, GPU NMS, training, evaluation, checkpoint restoration, and viewer checkpoint inference are legacy-backend guarded. Current spconv 2.x APIs are not interchangeable with the source's old symbols. A successful Torch CUDA smoke or spconv import is not detector verification.
  • Do not download datasets/checkpoints, start a service, launch the Qt viewer, run full training/evaluation, or mutate data as a skill smoke test.

Read troubleshooting.md for cross-cutting failures before changing dependencies, paths, or config files.

Public environment setup

There is no supported package installer for this source tree. For the verified CPU-safe/static routes, create an isolated Python 3.10+ environment and install only the public scientific/runtime dependencies needed by the selected helper, for example numpy, scipy, numba, scikit-image, Pillow, protobuf<4, fire, and optional nuscenes-devkit or flask-cors. The bundled geometry and layout helpers use standard Python/NumPy and do not require the detector stack.

For model work, install a separately reproducible legacy Torch/spconv/Numba combination and run the backend probe. Do not install the newest spconv and assume compatibility; the source expects old symbols that current 2.x wheels may not expose. Never mutate an existing environment or use a CUDA import as a substitute for the gate in compatibility.md.

Route by task

Request signalRead next
KITTI/NuScenes root, infos, reduced clouds, ground-truth database, sweeps, custom dataset, voxel/preprocess layoutdata-preparation
train/evaluate, VoxelNet, PointPillars, checkpoint, config selection, fp16, multi-GPU, spconv/Numba compatibilitytraining-and-inference
boxes, corners, yaw, camera/lidar conversion, anchors, encoding, IoU/NMS, KITTI AP, NuScenes resultsgeometry-and-evaluation
KITTI web viewer, Flask/CORS, browser/backend URLs, point-cloud or detection payloads, buildNet/inference UIvisualization-and-serving

Cross-route requests should start with data preparation, then configuration and training/inference, while geometry/evaluation owns box conventions and metrics. The viewer is a guarded consumer of the same data and checkpoint contracts.

Minimal safe checks

Run the bundled helpers from their linked sub-skills before any user-controlled workflow. They are self-contained and do not require the original checkout:

python sub-skills/data-preparation/scripts/validate_dataset_layout.py --help
python sub-skills/geometry-and-evaluation/scripts/geometry_smoke.py
python sub-skills/training-and-inference/scripts/check_legacy_backend.py
python sub-skills/visualization-and-serving/scripts/check_viewer_deps.py --json

The geometry helper should finish with geometry smoke: PASS. The other probes are diagnostic; missing optional components or legacy symbols must be reported, not silently substituted.

Public contract reminders

  • Internal LiDAR boxes normally use [x, y, z, w, l, h, yaw]; KITTI camera boxes use a different dimension/order convention. Never swap dimensions by visual intuition.
  • KITTI preparation expects training/ and testing/ trees with matching image, calibration, point-cloud, and (for training) label stems. NuScenes preparation depends on version metadata, samples, sweeps, and a matching velocity/non-velocity dataset class.
  • Historical config field names such as kitti_root_path and kitti_info_path are used by both dataset families. Keep dataset class, info files, feature width, box dimensionality, and class order consistent.

Handoff

A useful result reports the selected route, source/skill provenance, validated layout/config/geometry observations, exact generated output paths, backend gate status, and any unverified legacy limitation. Do not claim a metric, detector run, or viewer inference result from a static or CPU-safe check alone.

我的收藏