{"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/spikereveal-unlocking-temporal-sequences-from","title":"SpikeReveal: Unlocking Temporal Sequences from Real Blurry Inputs with Spike Streams","arxiv_id":"2403.09486","date":"2024-03-14","proceeding":null,"authors":["Kang Chen","Shiyan Chen","Jiyuan Zhang","Baoyue Zhang","Yajing Zheng","Tiejun Huang","Zhaofei Yu"],"abstract":"Reconstructing a sequence of sharp images from the blurry input is crucial for enhancing our insights into the captured scene and poses a significant challenge due to the limited temporal features embedded in the image. Spike cameras, sampling at rates up to 40,000 Hz, have proven effective in capturing motion features and beneficial for solving this ill-posed problem. Nonetheless, existing methods fall into the supervised learning paradigm, which suffers from notable performance degradation when applied to real-world scenarios that diverge from the synthetic training data domain. Moreover, the quality of reconstructed images is capped by the generated images based on motion analysis interpolation, which inherently differs from the actual scene, affecting the generalization ability of these methods in real high-speed scenarios. To address these challenges, we propose the first self-supervised framework for the task of spike-guided motion deblurring. Our approach begins with the formulation of a spike-guided deblurring model that explores the theoretical relationships among spike streams, blurry images, and their corresponding sharp sequences. We subsequently develop a self-supervised cascaded framework to alleviate the issues of spike noise and spatial-resolution mismatching encountered in the deblurring model. With knowledge distillation and re-blurring loss, we further design a lightweight deblur network to generate high-quality sequences with brightness and texture consistency with the original input. Quantitative and qualitative experiments conducted on our real-world and synthetic datasets with spikes validate the superior generalization of the proposed framework. Our code, data and trained models will be available at \\url{https://github.com/chenkang455/S-SDM}.","url_abs":"https://arxiv.org/abs/2403.09486v5","url_pdf":"https://arxiv.org/pdf/2403.09486v5.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":"spikereveal-unlocking-temporal-sequences-from","repo_url":"https://github.com/chenkang455/s-sdm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"spikereveal-unlocking-temporal-sequences-from","repo_url":"https://github.com/chenkang455/usp-gaussian","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok"}},{"paper_slug":"spikereveal-unlocking-temporal-sequences-from","repo_url":"https://github.com/MindSpore-scientific-2/code-7/blob/main/ms_spike_rev_reuse.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"temporal-sequences","task_name":"Temporal Sequences"}],"methods":[{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.09486","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.09486"}},"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/MindSpore-scientific-2/code-7/blob/main/ms_spike_rev_reuse.py","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chenkang455/usp-gaussian","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chenkang455/s-sdm","reach":null}],"summary":{"ran_fixture":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":3,"samples":[{"code_sha256_prefix":"066f54b9d344a0fd","entry":"cal_tfp","repo":"chenkang455/s-sdm","repo_kind":"official","path":"train_bsn.py","file_url":"https://github.com/chenkang455/s-sdm/blob/HEAD/train_bsn.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"066f54b9d344a0fd"}},{"code_sha256_prefix":"ce0731c62ef2ccf5","entry":"sdm_deblur","repo":"chenkang455/s-sdm","repo_kind":"official","path":"train_deblur.py","file_url":"https://github.com/chenkang455/s-sdm/blob/HEAD/train_deblur.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ce0731c62ef2ccf5"}},{"code_sha256_prefix":"3b462a6b089dc8a8","entry":"sdm_deblur","repo":"chenkang455/s-sdm","repo_kind":"official","path":"train_bsn.py","file_url":"https://github.com/chenkang455/s-sdm/blob/HEAD/train_bsn.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":"3b462a6b089dc8a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}