UPAL¶
Development line: project:upal · thread upal-development
Last event: 2026-08-24 · 1 dated since 2026-08-24 · Researched: 2026-09-05 · confidence: medium
What it is¶
UPAL is a standalone PyTorch feature extractor for CV and SLAM practitioners. It combines point detection, line detection, and local descriptors in one network.
- sub-pixel keypoints and confidence scores;
- 128-dimensional L2-normalized descriptors;
- keypoint heatmaps and line-distance fields, with bundled
points_lsdpost-processing for segments.
Development line¶
- 2026-08-24 — UPAL GitHub repository referenced. The repository appeared publicly, but no first-party commit, tag, or release ties to this date, so it does not establish a new version.
What changed¶
2026-08-20: arXiv v1 introduced UPAL as a shared-backbone point-line feature extractor with public code. It reported roughly 4× speedup and a 10× smaller memory footprint than ALIKED + DeepLSD. 2026-08-24: UPAL's repository appeared publicly, but no first-party commit, tag, or release ties to this date, so it does not establish a new version.
How to use this¶
As of 2026-08-24, start from the UPAL GitHub repository for project research, because the evidence supports no narrower operational guidance.
- Check out the repository, make a Python 3.10+ environment, and install the package with
pip install -e .. — https://github.com/francois141/upal - Initialize recursive submodules and install
third_party/points_lsd. For CUDA, install the matching PyTorch build before building that extension. — https://github.com/francois141/upal - Run
demo_inference.py,demo_match_points.py, anddemo_match_lines.pyto test the supported inference, point-matching, and line-matching paths. — https://github.com/francois141/upal - To use UPAL in an application, load
weights/upal.tar, pass a normalized[0,1]tensor shapedB×1×H×WorB×3×H×W, and read out keypoints, descriptors, heatmaps, and the line-distance field. — https://github.com/francois141/upal
Best practices¶
- Install a CUDA-compatible PyTorch build before compiling
points_lsd, because the line path depends on that native submodule. — https://github.com/francois141/upal - Test all three bundled demos before integration, because inference, point matching, and line matching are separate supported paths. — https://github.com/francois141/upal
- Do not generalize the speed figure across deployments: the published 70 ms result used 500 sequential 800×800 images, batch size one, and an RTX 2080 Ti. — https://arxiv.org/html/2608.19894v1
Superseded by this¶
- Nothing marked obsolete yet.
Still unknown¶
- We found no primary-source commit, tag, or release dated 2026-08-24, so we cannot treat that date as a version release.
- The repository documents standalone inference and demos, not a supported production service, training workflow, or operating-system matrix.
- We found no verified community installation report, so target-runtime builds and performance remain untested.
Sources¶
| source | title | read |
|---|---|---|
| https://github.com/francois141/upal | GitHub - francois141/upal: Unified point and line detector | 2026-09-05 |
| https://arxiv.org/abs/2608.19894 | Unified and Efficient Point-Line Local Features | 2026-09-05 |
| https://arxiv.org/html/2608.19894v1 | Unified and Efficient Point-Line Local Features — arXiv HTML v1 | 2026-09-05 |
| https://www.x-techcon.com/article/178188.html | SLAM优化新方向:UPAL统一点线特征,提速4倍内存小10倍 | 2026-09-05 |
Agent brief¶
- Subject:
project:upal, threadupal-development, 1 dated events 2026-08-24 → 2026-08-24. - Practical note: As of 2026-08-24, start from the UPAL GitHub repository for project research, because the evidence supports no narrower operational guidance.
- Confidence: medium. Dated supersedes above are the authority for what is obsolete.