thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: #structure-from-motion
ceres-solver/ceres-solver ★ 4553 1139 APPLICATION

Ceres Solver is a production-grade C++ library for solving large-scale non-linear least squares problems, widely used in computer vision (bundle adjustment, SLAM) and robotics. It provides a flexible API where users define cost functions (analytical, automatic, or numerical differentiation), residual blocks, and parameter manifolds (Euclidean, quaternion, sphere, etc.), then solve via trust-region or line-search methods backed by a variety of sparse/dense linear solvers (Eigen, SuiteSparse, CUDA, Apple Accelerate). The architecture is modular: a core minimizer orchestrates strategy objects (Levenberg-Marquardt, Dogleg, BFGS), while evaluators and Jacobian writers support block-sparse and dynamic sparsity. The library also includes utilities like thread pools, concurrent queues, and graph algorithms for visibility-based preconditioning. Despite a complex build matrix with optional backends, the code is well-structured, heavily tested, and actively maintained.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
HKUST-SAIL/sail-recon ★ 299 23 APPLICATION

SAIL-Recon is a feed-forward Transformer-based system for large-scale Structure-from-Motion (SfM) and visual localization. It processes input images or video to estimate camera poses, depth maps, and generate 3D point clouds without iterative optimization. The architecture combines a Vision Transformer backbone with an alternating attention aggregator for temporal modeling and specialized heads for camera, depth, and track predictions. The system includes both command-line and Gradio-based demo interfaces for end-to-end 3D reconstruction, along with evaluation scripts for standard benchmarks (TUM, 7Scenes, Tank&Temple, etc.). While research-oriented, it is packaged as a usable application with clear entry points and modular components.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Kitware/kwiver ★ 203 84 APPLICATION

KWIVER is a large C++/Python computer vision and video analytics toolkit. Its architecture is a plugin-driven algorithm library (vital/algo), a dataflow pipeline framework (sprokit), and many backend implementations (arrows) that wrap OpenCV, VXL, Ceres, FFmpeg, GDAL, VTK, and other dependencies. In production it performs video/image I/O, feature detection and matching, structure-from-motion, object detection/tracking, geospatial metadata parsing, and serialization. It exposes command-line applets, an embedded pipeline API, Qt-based viewers, and pybind11 Python bindings. The system is configuration-driven: algorithms and processes are registered through macros, configured via vital::config_block, and instantiated dynamically through a plugin registry. The sprokit subsystem provides a pipeline DSL, schedulers, process clusters, and adapter ports for external data injection, making the project both a reusable library and a runtime pipeline environment. Although dominated by application/library code, the repository also serves research and defense-oriented use cases. It contains extensive MISB/KLV metadata parsers for multiple standards, multi-view geometry algorithms, track-file format readers/writers (kw18, KPF, XGTF, etc.), and PyTorch-based feature extractors. The hybrid nature is visible in the tension between production-grade pipeline infrastructure and research-oriented algorithms that remain experimental or under-documented. The codebase is actively maintained with recent commits and substantial CI infrastructure, but technical drift is medium due to the enormous optional dependency footprint, vendored copies of cereal/rapidjson/DBoW2, legacy modules such as track_oracle, and some deprecated APIs.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ducha-aiki/pydegensac ★ 300 35 APPLICATION

pydegensac is a Python library for robust geometric estimation in computer vision, providing RANSAC-based estimation of fundamental matrices (F) and homographies (H). The core algorithms — DEGENSAC (degeneracy-aware sampling) and PROSAC (progressive sampling) — are implemented in C++ and exposed to Python via pybind11 with Eigen/numpy array interop. The primary deliverable is a pip-installable wheel (pydegensac), built for cp38–cp314 across manylinux2014, manylinux_2_28, macOS, and Windows via GitHub Actions and cibuildwheel. Entry points are the Python API (fundamental matrix and homography estimation) backed by the C++ core exposed through `bindings.cpp`. The codebase is research-grade: the C++ core uses conditional compilation flags (`__HASHING__`, `__D3__`, `__LSQ_BEFORE_LO__`), raw pointers, manual memory management, and commented-out code. Documentation is thin — `bindings.cpp` has placeholder docstrings, and usage examples live in `examples/how-to-use-detailed.ipynb` and benchmark scripts. The repo vendors a full copy of pybind11 (headers, tests, build helpers), which risks drift from upstream. Benchmark infrastructure (`benchmarks/run.py`, `benchmarks/methods.py`) compares against OpenCV RANSAC, MAGAC, Poselib, and Poselib-PROSAC on standard multi-view datasets (IMC/photo-tourism for F, EVD and HPatchesSeq for H), but requires downloading ~1.4 GB of external data from CMP, Hugging Face, and other URLs. Testing relies on golden data (`.npz` files under `tests/data/`) generated by `scripts/make_golden_data.py` from a known-good git HEAD with fixed seeds, plus the bundled pybind11 test suite. There are no unit tests for the C++ core itself. The repo is actively maintained (last commit 2026-09-18, 1 open issue) with wheels published to PyPI, though the publish workflow requires a manual trigger with a build run ID. Known issues include a PROSAC score-orientation bug (benchmark-only, indicating dataset-compatibility risk), platform-specific xfails in the bundled pybind11 tests, and compiler-specific workarounds for GCC/Clang/MSVC. Overall, this is a functional, well-packaged research library with solid CI/CD but notable technical debt: vendored pybind11, placeholder documentation, external data dependencies, and research-code cruft. It is best suited for users needing a fast, reference-quality RANSAC implementation for F/H estimation, or for researchers studying DEGENSAC/PROSAC variants. The hybrid nature is worth noting: while primarily a software library, it includes benchmark/data components (golden data, dataset downloaders, evaluation harnesses) that are integral to its testing story.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: