diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d41a940 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.gif filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01fdfea --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Local visualization scripts / source (not part of the published library) +viz/ + +# Rendered video outputs (only the GIFs in assets/ are committed, via Git LFS) +*.mp4 diff --git a/README.md b/README.md index ff075d2..203a329 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,25 @@ where $x$ is the optimization variable (often on a manifold), $f_i(x)$ are resid $\rho_i(\cdot)$ are optional robust loss functions, and $\left\|v\right\|^2_{\Sigma} = v^T \Sigma^{-1} v$ is the Mahalanobis norm. +## Gallery + +cuNLS refining two large estimation problems, one Gauss-Newton/LM iteration per frame: + +

+ Sphere pose-graph refinement +   + Kepler orbit fitting +

+ +- **Left — Sphere pose-graph refinement.** 200k points that should lie on a sphere + are connected by relative ("between") constraints and start as a disturbed blob. + cuNLS drives them back onto the sphere; color encodes per-point error, cooling from + hot to calm as the solve converges. +- **Right — Kepler orbit fitting.** A family of orbits is observed as noisy 3-D points; + cuNLS estimates the five Keplerian elements per orbit (custom NVIDIA Warp factor on an + $\mathbb{R}^5$ state) and a jittered tangle of loops organizes into a crisp nested + rosette of tilted ellipses. + ## Features | Category | Details | diff --git a/assets/kepler_orbits.gif b/assets/kepler_orbits.gif new file mode 100644 index 0000000..2639453 --- /dev/null +++ b/assets/kepler_orbits.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b4234ad1c0201d123c6052559255a87aca67f373de3b29f410a128d5ba6534 +size 4051162 diff --git a/assets/sphere_refine.gif b/assets/sphere_refine.gif new file mode 100644 index 0000000..56e0876 --- /dev/null +++ b/assets/sphere_refine.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74b86bba8174c3161160a67a5fcccc0e5b282ba4ac898726d6faa12563619670 +size 7823248