{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/ai-aided-kalman-filters","title":"AI-Aided Kalman Filters","arxiv_id":"2410.12289","date":"2024-10-16","proceeding":null,"authors":["Nir Shlezinger","Guy Revach","Anubhab Ghosh","Saikat Chatterjee","Shuo Tang","Tales Imbiriba","Jindrich Dunik","Ondrej Straka","Pau Closas","Yonina C. Eldar"],"abstract":"The Kalman filter (KF) and its variants are among the most celebrated algorithms in signal processing. These methods are used for state estimation of dynamic systems by relying on mathematical representations in the form of simple state-space (SS) models, which may be crude and inaccurate descriptions of the underlying dynamics. Emerging data-centric artificial intelligence (AI) techniques tackle these tasks using deep neural networks (DNNs), which are model-agnostic. Recent developments illustrate the possibility of fusing DNNs with classic Kalman-type filtering, obtaining systems that learn to track in partially known dynamics. This article provides a tutorial-style overview of design approaches for incorporating AI in aiding KF-type algorithms. We review both generic and dedicated DNN architectures suitable for state estimation, and provide a systematic presentation of techniques for fusing AI tools with KFs and for leveraging partial SS modeling and data, categorizing design approaches into task-oriented and SS model-oriented. The usefulness of each approach in preserving the individual strengths of model-based KFs and data-driven DNNs is investigated in a qualitative and quantitative study, whose code is publicly available, illustrating the gains of hybrid model-based/data-driven designs. We also discuss existing challenges and future research directions that arise from fusing AI and Kalman-type algorithms.","url_abs":"https://arxiv.org/abs/2410.12289v3","url_pdf":"https://arxiv.org/pdf/2410.12289v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"ai-aided-kalman-filters","repo_url":"https://github.com/shlezingerlab/ai_aided_kfs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"state-estimation","task_name":"State Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.12289","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.12289"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shlezingerlab/ai_aided_kfs","reach":{"status":"ok"}}],"summary":{"ran":7},"by_repo_kind":{"official":{"samples":7,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":7,"samples":[{"code_sha256_prefix":"558388471cff2934","entry":"A_fn","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/parameters_opt.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/parameters_opt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"558388471cff2934"}},{"code_sha256_prefix":"a5f190124f07d467","entry":"L96","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/bin/ssm_models.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/bin/ssm_models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a5f190124f07d467"}},{"code_sha256_prefix":"7951faeb33ad1704","entry":"f","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/rtsnet_params.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/rtsnet_params.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7951faeb33ad1704"}},{"code_sha256_prefix":"f921fe64ae6a7f89","entry":"fInacc","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/rtsnet_params.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/rtsnet_params.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f921fe64ae6a7f89"}},{"code_sha256_prefix":"e19cccbe7b253539","entry":"f_gen","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/rtsnet_params.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/rtsnet_params.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e19cccbe7b253539"}},{"code_sha256_prefix":"9bdf7f3cd64acc1c","entry":"f_lorenz","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/parameters_opt.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/parameters_opt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9bdf7f3cd64acc1c"}},{"code_sha256_prefix":"0f5163a694edab58","entry":"h_fn","repo":"shlezingerlab/ai_aided_kfs","repo_kind":"official","path":"DANSE_KTH/parameters_opt.py","file_url":"https://github.com/shlezingerlab/ai_aided_kfs/blob/HEAD/DANSE_KTH/parameters_opt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0f5163a694edab58"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}