IncrementalInference

Clique recycling non-Gaussian (multi-modal) factor graph solver; also see Caesar.jl.

https://github.com/juliarobotics/incrementalinference.jl

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 18 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary

Keywords

bayes bayes-network bayes-tree belief-propagation caesar chapman-kolmogorov factor-graphs filtering-algorithm inference isam julia-language multi-hypothesis multi-modal nonparametric optimization parametric robotics slam state-estimation sum-product

Keywords from Contributors

matrix-exponential julialang finite-elements parametric-navigation-solutions non-parametric flux automatic-differentiation pde data-structures numerics
Last synced: 4 months ago · JSON representation ·

Repository

Clique recycling non-Gaussian (multi-modal) factor graph solver; also see Caesar.jl.

Basic Info
  • Host: GitHub
  • Owner: JuliaRobotics
  • License: mit
  • Language: Julia
  • Default Branch: develop
  • Homepage:
  • Size: 6.69 MB
Statistics
  • Stars: 74
  • Watchers: 4
  • Forks: 20
  • Open Issues: 132
  • Releases: 141
Topics
bayes bayes-network bayes-tree belief-propagation caesar chapman-kolmogorov factor-graphs filtering-algorithm inference isam julia-language multi-hypothesis multi-modal nonparametric optimization parametric robotics slam state-estimation sum-product
Created over 9 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog License Citation

README.md

IncrementalInference.jl

Click on badges to follow links:

| Stable Release | Dev branch | Coverage | Documentation | |----------------|------------|----------|---------------| | iif-ci-stb
version | iif-ci-dev-img
iif-commits-url
issues-time | doi-img
iif-cov-img
issues-open | cjl-slack-badge
caesar-docs
dfg-docs |

Optimization routines for incremental non-parametric and parametric solutions based on factor graphs and the Bayes (Junction) tree implemented in the Julia language.

Introduction

This package implements a few different non-Gaussian factor graph inference algorithms, primarily - Multi-Modal iSAM (MM-iSAM) (see references) which does hybrid non-parametric and parametric inference/state-estimation over large factor graphs.
- Batch Parametric (akin to conventional "non-linear least squares"), - Max-mixtures parametric, - Other multiparametric and non-Gaussian algorithms are in the works and will be announced in due course.

Fundamentally, inference is performed via the Bayes (junction) tree where Chapman-Kolmogorov transit integral solutions are based on marginal-joint belief estimation (a sum-product / belief-propagation approximation algorithm). Many benefits such as clique recycling are also available. See the common Caesar.jl documenation for more details. caesar-docs

This package forms a cardinal piece of the Caesar.jl robotics toolkit, including 3D visualization and database interaction, which can serve as a base station for a robotic platform. A standalone Robot Motion Estimate (RoME.jl) package extends the available variables, factors, and utilities for use in robotic navigation. iif-deps-img

Note, that IncrementalInference.jl does not have to be used with RoME.jl / Caesar.jl -- IncrementalInference.jl only implements the algebraic inference operations against mathematical abstractions such as Manifolds.jl.

Furthermore, please contact info@wherewhen.ai for more formal support on this package, NavAbility(TM) by WhereWhen.ai Technologies Inc..

Examples

See the common Caesar.jl documenation for more details caesar-docs. Further examples can be found in the examples and test folders.

Installation

Install the package from inside Julia julia pkg> add IncrementalInference

Cite and Contributors

We are grateful for many, many contributions within the Julia package ecosystem -- see the Project.toml files for a far reaching list of upstream packages and contributions.

Consider citing our work using the common reference at Caesar.jl Citation with IncrementalInference.jl DOI

Get Involved, and Code of Conduct

This project adheres to the JuliaRobotics code of conduct, and we invite contributions or comments from the community. Use the slack channel, Julia Discourse, or Github issues to get in touch.

References

See references of interest here

Legacy

Pre-install the following packages system wide packages[, and easily draw factor graph and Bayes tree]: bash sudo apt-get install hdf5-tools sudo apt-get install graphviz xdot # optional

Owner

  • Name: JuliaRobotics
  • Login: JuliaRobotics
  • Kind: organization

Citation (CITATION.bib)

@online{Caesarjl2021,
 author =        {{P}ackage {C}ontributors and {E}cosystem},
 title =         {Caesar.jl, v0.16.3},
 year =          {2024},
 doi=            {Solver DOI: 10.5281/zenodo.5146222}, 
 note =          {\url{https://github.com/JuliaRobotics/Caesar.jl}}
}

GitHub Events

Total
  • Create event: 24
  • Release event: 2
  • Issues event: 9
  • Watch event: 4
  • Delete event: 178
  • Issue comment event: 20
  • Push event: 64
  • Pull request review comment event: 12
  • Pull request review event: 15
  • Pull request event: 52
  • Fork event: 1
Last Year
  • Create event: 24
  • Release event: 2
  • Issues event: 9
  • Watch event: 4
  • Delete event: 178
  • Issue comment event: 20
  • Push event: 64
  • Pull request review comment event: 12
  • Pull request review event: 15
  • Pull request event: 52
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 3,426
  • Total Committers: 18
  • Avg Commits per committer: 190.333
  • Development Distribution Score (DDS): 0.178
Past Year
  • Commits: 43
  • Committers: 4
  • Avg Commits per committer: 10.75
  • Development Distribution Score (DDS): 0.535
Top Committers
Name Email Commits
dehann d****e@g****m 2,817
Johannes Terblanche t****j@g****m 442
gearsad s****d@g****m 82
CompatHelper Julia c****y@j****g 25
github-actions[bot] 4****] 17
antonio teran t****n@m****u 13
pvazteixeira p****t@m****u 7
Richard Samuelson s****k@g****m 6
Sam Claassens s****m@g****g 5
Johan a****e 4
Fredrik Ekre e****k@g****m 1
Johan Terblanche j****n@i****m 1
Julia TagBot 5****t 1
Kevin k****y@m****u 1
Tim Holy t****y@g****m 1
Ubuntu u****u@i****l 1
Kristoffer Carlsson k****l@s****e 1
Tony Kelman t****y@k****t 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 61
  • Total pull requests: 228
  • Average time to close issues: 5 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 4
  • Total pull request authors: 6
  • Average comments per issue: 4.1
  • Average comments per pull request: 0.68
  • Merged pull requests: 197
  • Bot issues: 0
  • Bot pull requests: 38
Past Year
  • Issues: 6
  • Pull requests: 45
  • Average time to close issues: 22 days
  • Average time to close pull requests: 27 days
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.56
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 13
Top Authors
Issue Authors
  • dehann (45)
  • Affie (13)
  • JuliaTagBot (1)
  • itsDionix (1)
Pull Request Authors
  • dehann (144)
  • github-actions[bot] (48)
  • Affie (47)
  • GearsAD (4)
  • samuelsonric (4)
  • timholy (1)
Top Labels
Issue Labels
registry (12) bug (11) performance (10) standardization (10) testing (9) inference (9) types (8) refactoring (7) design (7) parametric solve (6) enhancement (6) potential bug (6) release (5) factors (5) mixture (4) maintenance (4) multihypothesis (4) manifolds (3) API (3) user experience (3) needs testing (3) compat (3) null hypothesis (2) partials (2) max mixtures (2) bayes junction tree (2) regression (2) downstream (2) idea (2) quality (2)
Pull Request Labels
testing (49) compat (47) enhancement (46) automation (34) standardization (31) bug fix (22) refactoring (22) types (21) upstream (20) dependencies (19) maintenance (19) deprecation (19) performance (17) fast-forward (16) release (14) parametric solve (12) factors (11) dfg (11) breaking changes (11) code quality (10) Alternate PR (10) API (10) documentation (10) sampling (9) work in progress (8) manifolds (8) serialization (7) differential equations (7) inference (7) partials (6)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 9 total
  • Total dependent packages: 4
  • Total dependent repositories: 4
  • Total versions: 133
juliahub.com: IncrementalInference

Clique recycling non-Gaussian (multi-modal) factor graph solver; also see Caesar.jl.

  • Versions: 133
  • Dependent Packages: 4
  • Dependent Repositories: 4
  • Downloads: 9 Total
Rankings
Dependent repos count: 5.6%
Forks count: 7.0%
Average: 8.2%
Stargazers count: 10.0%
Dependent packages count: 10.3%
Last synced: 5 months ago

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite