{"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/spatio-temporal-recurrent-networks-for-event","title":"Spatio-Temporal Recurrent Networks for Event-Based Optical Flow Estimation","arxiv_id":"2109.04871","date":"2021-09-10","proceeding":null,"authors":["Ziluo Ding","Rui Zhao","Jiyuan Zhang","Tianxiao Gao","Ruiqin Xiong","Zhaofei Yu","Tiejun Huang"],"abstract":"Event camera has offered promising alternative for visual perception, especially in high speed and high dynamic range scenes. Recently, many deep learning methods have shown great success in providing promising solutions to many event-based problems, such as optical flow estimation. However, existing deep learning methods did not address the importance of temporal information well from the perspective of architecture design and cannot effectively extract spatio-temporal features. Another line of research that utilizes Spiking Neural Network suffers from training issues for deeper architecture.To address these points, a novel input representation is proposed that captures the events' temporal distribution for signal enhancement. Moreover, we introduce a spatio-temporal recurrent encoding-decoding neural network architecture for event-based optical flow estimation, which utilizes Convolutional Gated Recurrent Units to extract feature maps from a series of event images. Besides, our architecture allows some traditional frame-based core modules, such as correlation layer and iterative residual refine scheme, to be incorporated. The network is end-to-end trained with self-supervised learning on the Multi-Vehicle Stereo Event Camera dataset. We have shown that it outperforms all the existing state-of-the-art methods by a large margin. The code link is https://github.com/ruizhao26/STE-FlowNet.","url_abs":"https://arxiv.org/abs/2109.04871v2","url_pdf":"https://arxiv.org/pdf/2109.04871v2.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":"spatio-temporal-recurrent-networks-for-event","repo_url":"https://github.com/ruizhao26/ste-flownet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"event-based-optical-flow","task_name":"Event-based Optical Flow"},{"task_slug":"optical-flow-estimation","task_name":"Optical Flow Estimation"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.04871","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.04871"}},"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/ruizhao26/ste-flownet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":10},"by_repo_kind":{"official":{"samples":11,"ran":1,"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":"1b318ab2d5c6d725","entry":"corr","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"models/corr.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/models/corr.py","link_basis":"plan_row","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":"1b318ab2d5c6d725"}},{"code_sha256_prefix":"5932f00357048b71","entry":"charbonnier_loss","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"multiscaleloss.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/multiscaleloss.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":"5932f00357048b71"}},{"code_sha256_prefix":"de24750652f98d96","entry":"compute_photometric_loss","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"multiscaleloss.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/multiscaleloss.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":"de24750652f98d96"}},{"code_sha256_prefix":"da875b4cad9e9354","entry":"conv","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"models/util.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/models/util.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":"da875b4cad9e9354"}},{"code_sha256_prefix":"f2bd666be351710f","entry":"conv_s","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"models/util.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/models/util.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":"f2bd666be351710f"}},{"code_sha256_prefix":"392b3288ca7725c3","entry":"crop_like","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"models/corr.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/models/corr.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":"392b3288ca7725c3"}},{"code_sha256_prefix":"994e880da92297e1","entry":"draw_color_wheel_np","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"vis_utils.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/vis_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":"994e880da92297e1"}},{"code_sha256_prefix":"c0bb843c2ffaf3e5","entry":"flow2rgb","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"util.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/util.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":"c0bb843c2ffaf3e5"}},{"code_sha256_prefix":"8669acbb099f05cc","entry":"flow_viz_np","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"vis_utils.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/vis_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":"8669acbb099f05cc"}},{"code_sha256_prefix":"b13af5fe4354bf55","entry":"predict_flow","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"models/util.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/models/util.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":"b13af5fe4354bf55"}},{"code_sha256_prefix":"a490158f1d61adda","entry":"warp","repo":"ruizhao26/ste-flownet","repo_kind":"official","path":"multiscaleloss.py","file_url":"https://github.com/ruizhao26/ste-flownet/blob/HEAD/multiscaleloss.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":"a490158f1d61adda"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}