{"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/weathergen-a-unified-diverse-weather","title":"WeatherGen: A Unified Diverse Weather Generator for LiDAR Point Clouds via Spider Mamba Diffusion","arxiv_id":"2504.13561","date":"2025-04-18","proceeding":"CVPR 2025 1","authors":["Yang Wu","Yun Zhu","Kaihua Zhang","Jianjun Qian","Jin Xie","Jian Yang"],"abstract":"3D scene perception demands a large amount of adverse-weather LiDAR data, yet the cost of LiDAR data collection presents a significant scaling-up challenge. To this end, a series of LiDAR simulators have been proposed. Yet, they can only simulate a single adverse weather with a single physical model, and the fidelity of the generated data is quite limited. This paper presents WeatherGen, the first unified diverse-weather LiDAR data diffusion generation framework, significantly improving fidelity. Specifically, we first design a map-based data producer, which can provide a vast amount of high-quality diverse-weather data for training purposes. Then, we utilize the diffusion-denoising paradigm to construct a diffusion model. Among them, we propose a spider mamba generator to restore the disturbed diverse weather data gradually. The spider mamba models the feature interactions by scanning the LiDAR beam circle or central ray, excellently maintaining the physical structure of the LiDAR data. Subsequently, following the generator to transfer real-world knowledge, we design a latent feature aligner. Afterward, we devise a contrastive learning-based controller, which equips weather control signals with compact semantic knowledge through language supervision, guiding the diffusion model to generate more discriminative data. Extensive evaluations demonstrate the high generation quality of WeatherGen. Through WeatherGen, we construct the mini-weather dataset, promoting the performance of the downstream task under adverse weather conditions. Code is available: https://github.com/wuyang98/weathergen","url_abs":"https://arxiv.org/abs/2504.13561v1","url_pdf":"https://arxiv.org/pdf/2504.13561v1.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":"weathergen-a-unified-diverse-weather","repo_url":"https://github.com/wuyang98/weathergen","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"mamba","task_name":"Mamba"},{"task_slug":"world-knowledge","task_name":"World Knowledge"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"mamba","method_name":"Mamba"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2504.13561","atlas_url":"https://app.syntology.ai/?focus=2504.13561","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2504.13561"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/wuyang98/weathergen","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":11,"ran":10,"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":"8786933bc5aae78d","entry":"cdist_rbf","repo":"wuyang98/weathergen","repo_kind":"official","path":"metrics/bev.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/metrics/bev.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8786933bc5aae78d"}},{"code_sha256_prefix":"07fc468c17c6e3d4","entry":"components_from_spherical_harmonics","repo":"wuyang98/weathergen","repo_kind":"official","path":"models/encoding.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/models/encoding.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"07fc468c17c6e3d4"}},{"code_sha256_prefix":"d671e8485cbec728","entry":"compute_frechet_distance","repo":"wuyang98/weathergen","repo_kind":"official","path":"metrics/distribution.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/metrics/distribution.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d671e8485cbec728"}},{"code_sha256_prefix":"4a22c88c27ba8887","entry":"compute_jsd_2d","repo":"wuyang98/weathergen","repo_kind":"official","path":"metrics/bev.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/metrics/bev.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a22c88c27ba8887"}},{"code_sha256_prefix":"7461447a581621e6","entry":"compute_squared_mmd","repo":"wuyang98/weathergen","repo_kind":"official","path":"metrics/distribution.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/metrics/distribution.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7461447a581621e6"}},{"code_sha256_prefix":"2e678e95ef0c4dd1","entry":"generate_polar_coords","repo":"wuyang98/weathergen","repo_kind":"official","path":"models/encoding.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/models/encoding.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2e678e95ef0c4dd1"}},{"code_sha256_prefix":"e0e80565163c44db","entry":"get_hdl64e_linear_ray_angles","repo":"wuyang98/weathergen","repo_kind":"official","path":"evaluate_weather.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/evaluate_weather.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e0e80565163c44db"}},{"code_sha256_prefix":"dd28dc16f21bab45","entry":"point_cloud_to_histogram","repo":"wuyang98/weathergen","repo_kind":"official","path":"metrics/bev.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/metrics/bev.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd28dc16f21bab45"}},{"code_sha256_prefix":"8907b6307e2f248b","entry":"resize","repo":"wuyang98/weathergen","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/evaluate.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8907b6307e2f248b"}},{"code_sha256_prefix":"5dded98cc63dcf0c","entry":"scatter","repo":"wuyang98/weathergen","repo_kind":"official","path":"evaluate_weather.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/evaluate_weather.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5dded98cc63dcf0c"}},{"code_sha256_prefix":"778867a51493373f","entry":"preprocess","repo":"wuyang98/weathergen","repo_kind":"official","path":"evaluate_weather.py","file_url":"https://github.com/wuyang98/weathergen/blob/HEAD/evaluate_weather.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":"778867a51493373f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}