{"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/physics-informed-learning-of-characteristic","title":"Physics-Informed Learning of Characteristic Trajectories for Smoke Reconstruction","arxiv_id":"2407.09679","date":"2024-07-12","proceeding":null,"authors":["Yiming Wang","Siyu Tang","Mengyu Chu"],"abstract":"We delve into the physics-informed neural reconstruction of smoke and obstacles through sparse-view RGB videos, tackling challenges arising from limited observation of complex dynamics. Existing physics-informed neural networks often emphasize short-term physics constraints, leaving the proper preservation of long-term conservation less explored. We introduce Neural Characteristic Trajectory Fields, a novel representation utilizing Eulerian neural fields to implicitly model Lagrangian fluid trajectories. This topology-free, auto-differentiable representation facilitates efficient flow map calculations between arbitrary frames as well as efficient velocity extraction via auto-differentiation. Consequently, it enables end-to-end supervision covering long-term conservation and short-term physics priors. Building on the representation, we propose physics-informed trajectory learning and integration into NeRF-based scene reconstruction. We enable advanced obstacle handling through self-supervised scene decomposition and seamless integrated boundary constraints. Our results showcase the ability to overcome challenges like occlusion uncertainty, density-color ambiguity, and static-dynamic entanglements. Code and sample tests are at \\url{https://github.com/19reborn/PICT_smoke}.","url_abs":"https://arxiv.org/abs/2407.09679v1","url_pdf":"https://arxiv.org/pdf/2407.09679v1.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":"physics-informed-learning-of-characteristic","repo_url":"https://github.com/19reborn/pict_smoke","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"nerf","task_name":"NeRF"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2407.09679","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.09679"}},"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/19reborn/pict_smoke","reach":{"status":"ok"}}],"summary":{"ran":12,"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"official":{"samples":18,"ran":13,"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":18,"samples":[{"code_sha256_prefix":"71e56a01f3ec96fc","entry":"decay_in_weight","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/loss_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/loss_utils.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":"71e56a01f3ec96fc"}},{"code_sha256_prefix":"754f3e0cdb026116","entry":"divergence","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/network/siren_basic.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/network/siren_basic.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":"754f3e0cdb026116"}},{"code_sha256_prefix":"875d3ad18e13d4ea","entry":"fade_in_weight","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/loss_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/loss_utils.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":"875d3ad18e13d4ea"}},{"code_sha256_prefix":"d576186e57eab103","entry":"get_embedder","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/network/neus_field.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/network/neus_field.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":"d576186e57eab103"}},{"code_sha256_prefix":"492a3bd403592338","entry":"get_rays","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/renderer/render_ray.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/renderer/render_ray.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"492a3bd403592338"}},{"code_sha256_prefix":"71d5fa6fdaf29472","entry":"inAABB","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/renderer/occupancy_grid.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/renderer/occupancy_grid.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":"71d5fa6fdaf29472"}},{"code_sha256_prefix":"581437d0b8c91f45","entry":"load_pinf_frame_data","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/dataset/load_pinf.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/dataset/load_pinf.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":"581437d0b8c91f45"}},{"code_sha256_prefix":"ad51bce5b22b7fe9","entry":"mean_squared_error","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/loss_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/loss_utils.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":"ad51bce5b22b7fe9"}},{"code_sha256_prefix":"3438888fe44f6180","entry":"pos_world2smoke","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/coord_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/coord_utils.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":"3438888fe44f6180"}},{"code_sha256_prefix":"0a803267a35d95e0","entry":"pose_spherical","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/dataset/load_pinf.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/dataset/load_pinf.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":"0a803267a35d95e0"}},{"code_sha256_prefix":"44676f163494ac16","entry":"prepare_rays","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/renderer/render_ray.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/renderer/render_ray.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":"44676f163494ac16"}},{"code_sha256_prefix":"58ffd688a9594dc5","entry":"project_points","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/renderer/render_ray.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/renderer/render_ray.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":"58ffd688a9594dc5"}},{"code_sha256_prefix":"0c72ecb5c822121b","entry":"vel_world2smoke","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/coord_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/coord_utils.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":"0c72ecb5c822121b"}},{"code_sha256_prefix":"444420e334925f78","entry":"create_model","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/network/hybrid_model.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/network/hybrid_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"444420e334925f78"}},{"code_sha256_prefix":"574847aac33297eb","entry":"gradient","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/network/siren_basic.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/network/siren_basic.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"574847aac33297eb"}},{"code_sha256_prefix":"5719cf26510d50ea","entry":"laplace","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/network/siren_basic.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/network/siren_basic.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5719cf26510d50ea"}},{"code_sha256_prefix":"50d69fa6c502e1ff","entry":"update_static_occ_grid","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/renderer/occupancy_grid.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/renderer/occupancy_grid.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"50d69fa6c502e1ff"}},{"code_sha256_prefix":"dbb6bc92acbec4bb","entry":"vel_smoke2world","repo":"19reborn/pict_smoke","repo_kind":"official","path":"src/utils/coord_utils.py","file_url":"https://github.com/19reborn/pict_smoke/blob/HEAD/src/utils/coord_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dbb6bc92acbec4bb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}