{"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/selflow-self-supervised-learning-of-optical","title":"SelFlow: Self-Supervised Learning of Optical Flow","arxiv_id":"1904.09117","date":"2019-04-19","proceeding":"CVPR 2019 6","authors":["Pengpeng Liu","Michael Lyu","Irwin King","Jia Xu"],"abstract":"We present a self-supervised learning approach for optical flow. Our method\ndistills reliable flow estimations from non-occluded pixels, and uses these\npredictions as ground truth to learn optical flow for hallucinated occlusions.\nWe further design a simple CNN to utilize temporal information from multiple\nframes for better flow estimation. These two principles lead to an approach\nthat yields the best performance for unsupervised optical flow learning on the\nchallenging benchmarks including MPI Sintel, KITTI 2012 and 2015. More notably,\nour self-supervised pre-trained model provides an excellent initialization for\nsupervised fine-tuning. Our fine-tuned models achieve state-of-the-art results\non all three datasets. At the time of writing, we achieve EPE=4.26 on the\nSintel benchmark, outperforming all submitted methods.","url_abs":"http://arxiv.org/abs/1904.09117v1","url_pdf":"http://arxiv.org/pdf/1904.09117v1.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":"selflow-self-supervised-learning-of-optical","repo_url":"https://github.com/ppliuboy/SelFlow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"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":[{"leaderboard":"/sota/optical-flow-estimation-on-kitti-2012","task":"Optical Flow Estimation","dataset":"KITTI 2012","model":"SelFlow","rank_in_archive_order":7,"of":12,"metrics":{"Average End-Point Error":"1.5"},"uses_additional_data":false},{"leaderboard":"/sota/optical-flow-estimation-on-kitti-2015","task":"Optical Flow Estimation","dataset":"KITTI 2015","model":"SelFlow","rank_in_archive_order":14,"of":18,"metrics":{"Fl-all":"8.42"},"uses_additional_data":false},{"leaderboard":"/sota/optical-flow-estimation-on-sintel-clean","task":"Optical Flow Estimation","dataset":"Sintel-clean","model":"SelFlow","rank_in_archive_order":23,"of":29,"metrics":{"Average End-Point Error":"3.74"},"uses_additional_data":false},{"leaderboard":"/sota/optical-flow-estimation-on-sintel-final","task":"Optical Flow Estimation","dataset":"Sintel-final","model":"SelFlow","rank_in_archive_order":15,"of":28,"metrics":{"Average End-Point Error":"4.26"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1904.09117","atlas_url":"https://app.syntology.ai/?focus=1904.09117","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.09117"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ppliuboy/SelFlow","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"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":"3dd5c269c8110162","entry":"config_dict","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"config/extract_config.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/config/extract_config.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":"3dd5c269c8110162"}},{"code_sha256_prefix":"177a030ea67ee72e","entry":"flow_horizontal_flip","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"data_augmentation.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/data_augmentation.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":"177a030ea67ee72e"}},{"code_sha256_prefix":"3208c90e2942acfa","entry":"flow_to_color","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"flowlib.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/flowlib.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":"3208c90e2942acfa"}},{"code_sha256_prefix":"a8dc427be3802afc","entry":"flow_vertical_flip","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"data_augmentation.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/data_augmentation.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":"a8dc427be3802afc"}},{"code_sha256_prefix":"76d9ba255fb4180c","entry":"get_pixel_value","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"warp.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/warp.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":"76d9ba255fb4180c"}},{"code_sha256_prefix":"69e0961ea54f416c","entry":"lrelu","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/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":"69e0961ea54f416c"}},{"code_sha256_prefix":"167f43828fef8e2f","entry":"mvn","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/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":"167f43828fef8e2f"}},{"code_sha256_prefix":"2265da3e272fe1dd","entry":"random_crop","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"data_augmentation.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/data_augmentation.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":"2265da3e272fe1dd"}},{"code_sha256_prefix":"63f11096bd0174c0","entry":"read_flo","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"flowlib.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/flowlib.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":"63f11096bd0174c0"}},{"code_sha256_prefix":"f8c75b69f9e7a932","entry":"read_pfm","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"flowlib.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/flowlib.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":"f8c75b69f9e7a932"}},{"code_sha256_prefix":"7a1e9253c132b589","entry":"rgb_bgr","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/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":"7a1e9253c132b589"}},{"code_sha256_prefix":"34af5f8b54be1bf2","entry":"tf_warp","repo":"ppliuboy/SelFlow","repo_kind":"official","path":"warp.py","file_url":"https://github.com/ppliuboy/SelFlow/blob/HEAD/warp.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":"34af5f8b54be1bf2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}