{"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/particle-filter-networks-with-application-to","title":"Particle Filter Networks with Application to Visual Localization","arxiv_id":"1805.08975","date":"2018-05-23","proceeding":null,"authors":["Peter Karkus","David Hsu","Wee Sun Lee"],"abstract":"Particle filtering is a powerful approach to sequential state estimation and\nfinds application in many domains, including robot localization, object\ntracking, etc. To apply particle filtering in practice, a critical challenge is\nto construct probabilistic system models, especially for systems with complex\ndynamics or rich sensory inputs such as camera images. This paper introduces\nthe Particle Filter Network (PFnet), which encodes both a system model and a\nparticle filter algorithm in a single neural network. The PF-net is fully\ndifferentiable and trained end-to-end from data. Instead of learning a generic\nsystem model, it learns a model optimized for the particle filter algorithm. We\napply the PF-net to a visual localization task, in which a robot must localize\nin a rich 3-D world, using only a schematic 2-D floor map. In simulation\nexperiments, PF-net consistently outperforms alternative learning\narchitectures, as well as a traditional model-based method, under a variety of\nsensor inputs. Further, PF-net generalizes well to new, unseen environments.","url_abs":"http://arxiv.org/abs/1805.08975v3","url_pdf":"http://arxiv.org/pdf/1805.08975v3.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":"particle-filter-networks-with-application-to","repo_url":"https://github.com/AdaCompNUS/pfnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"particle-filter-networks-with-application-to","repo_url":"https://github.com/HaoWen-Surrey/SemiDPF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"object-tracking","task_name":"Object Tracking"},{"task_slug":"state-estimation","task_name":"State Estimation"},{"task_slug":"visual-localization","task_name":"Visual Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.08975","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.08975"}},"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/HaoWen-Surrey/SemiDPF","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AdaCompNUS/pfnet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":14},"by_repo_kind":{"official":{"samples":14,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"f38d22e43e021503","entry":"batch_transformer","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"transformer/spatial_transformer.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/transformer/spatial_transformer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f38d22e43e021503"}},{"code_sha256_prefix":"8cc1a3d11cd274ac","entry":"conv2_layer","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/network_layers.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/network_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8cc1a3d11cd274ac"}},{"code_sha256_prefix":"bd48532cc4bf634e","entry":"conv2d","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"transformer/tf_utils.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/transformer/tf_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd48532cc4bf634e"}},{"code_sha256_prefix":"02f569bd72e639ae","entry":"decode_image","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02f569bd72e639ae"}},{"code_sha256_prefix":"640278d5274e10dc","entry":"dense_layer","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/network_layers.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/network_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"640278d5274e10dc"}},{"code_sha256_prefix":"f59d62913fe79900","entry":"linear","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"transformer/tf_utils.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/transformer/tf_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f59d62913fe79900"}},{"code_sha256_prefix":"8b9c7b8dc41c28fb","entry":"locallyconn2_layer","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/network_layers.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/network_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b9c7b8dc41c28fb"}},{"code_sha256_prefix":"195a4edd105b31bd","entry":"raw_images_to_array","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"195a4edd105b31bd"}},{"code_sha256_prefix":"f79f018cd20f91b6","entry":"scale_observation","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f79f018cd20f91b6"}},{"code_sha256_prefix":"0f86f74d9f724791","entry":"tf_bytelist_feature","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/tfrecordfeatures.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/tfrecordfeatures.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0f86f74d9f724791"}},{"code_sha256_prefix":"c1db17b0736ab070","entry":"tf_bytes_feature","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/tfrecordfeatures.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/tfrecordfeatures.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c1db17b0736ab070"}},{"code_sha256_prefix":"6dec1463060e3cae","entry":"tf_int64_feature","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"utils/tfrecordfeatures.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/utils/tfrecordfeatures.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6dec1463060e3cae"}},{"code_sha256_prefix":"6f411210f7e3c47c","entry":"transformer","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"transformer/spatial_transformer.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/transformer/spatial_transformer.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6f411210f7e3c47c"}},{"code_sha256_prefix":"6e35969a165c8996","entry":"weight_variable","repo":"AdaCompNUS/pfnet","repo_kind":"official","path":"transformer/tf_utils.py","file_url":"https://github.com/AdaCompNUS/pfnet/blob/HEAD/transformer/tf_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6e35969a165c8996"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}