{"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/hierarchical-discrete-distribution","title":"Hierarchical Discrete Distribution Decomposition for Match Density Estimation","arxiv_id":"1812.06264","date":"2018-12-15","proceeding":"CVPR 2019 6","authors":["Zhichao Yin","Trevor Darrell","Fisher Yu"],"abstract":"Explicit representations of the global match distributions of pixel-wise\ncorrespondences between pairs of images are desirable for uncertainty\nestimation and downstream applications. However, the computation of the match\ndensity for each pixel may be prohibitively expensive due to the large number\nof candidates. In this paper, we propose Hierarchical Discrete Distribution\nDecomposition (HD^3), a framework suitable for learning probabilistic pixel\ncorrespondences in both optical flow and stereo matching. We decompose the full\nmatch density into multiple scales hierarchically, and estimate the local\nmatching distributions at each scale conditioned on the matching and warping at\ncoarser scales. The local distributions can then be composed together to form\nthe global match density. Despite its simplicity, our probabilistic method\nachieves state-of-the-art results for both optical flow and stereo matching on\nestablished benchmarks. We also find the estimated uncertainty is a good\nindication of the reliability of the predicted correspondences.","url_abs":"http://arxiv.org/abs/1812.06264v3","url_pdf":"http://arxiv.org/pdf/1812.06264v3.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":"hierarchical-discrete-distribution","repo_url":"https://github.com/ucbdrive/hd3","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"hierarchical-discrete-distribution","repo_url":"https://github.com/lupvasile/hd3","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"density-estimation","task_name":"Density Estimation"},{"task_slug":"optical-flow-estimation","task_name":"Optical Flow Estimation"},{"task_slug":"stereo-matching-1","task_name":"Stereo Matching"},{"task_slug":"stereo-matching","task_name":"Stereo Matching Hand"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/optical-flow-estimation-on-kitti-2015-train","task":"Optical Flow Estimation","dataset":"KITTI 2015 (train)","model":"HD3","rank_in_archive_order":15,"of":19,"metrics":{"EPE":"13.17","F1-all":"24.0"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1812.06264","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1812.06264"}},"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/lupvasile/hd3","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ucbdrive/hd3","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"unverified":12},"by_repo_kind":{"official":{"samples":13,"ran":1,"repositories":1},"listed":{"samples":1,"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":"dd1114865f06f0fd","entry":"conv3x3","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/dla.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/dla.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"dd1114865f06f0fd"}},{"code_sha256_prefix":"e02bca604cfc58e7","entry":"get_target_size","repo":"lupvasile/hd3","repo_kind":"listed","path":"inference.py","file_url":"https://github.com/lupvasile/hd3/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e02bca604cfc58e7"}},{"code_sha256_prefix":"688f35ca9f13c689","entry":"DLAEncoder","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/dla_up.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/dla_up.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"688f35ca9f13c689"}},{"code_sha256_prefix":"2f8bac97f40f84b7","entry":"EndPointError","repo":"ucbdrive/hd3","repo_kind":"official","path":"hd3losses.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/hd3losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"2f8bac97f40f84b7"}},{"code_sha256_prefix":"4fdf1ccac81de713","entry":"VGGEncoder","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/vgg.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/vgg.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4fdf1ccac81de713"}},{"code_sha256_prefix":"262657b0ce1b117c","entry":"cupy_kernel","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/correlation.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/correlation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"262657b0ce1b117c"}},{"code_sha256_prefix":"8f3bff158df466f7","entry":"density2vector","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/hd3_ops.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/hd3_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8f3bff158df466f7"}},{"code_sha256_prefix":"782f63a5ade92085","entry":"dla34","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/dla.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/dla.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"782f63a5ade92085"}},{"code_sha256_prefix":"25417465cba28cc3","entry":"flow_error","repo":"ucbdrive/hd3","repo_kind":"official","path":"utils/flowlib.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/utils/flowlib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"25417465cba28cc3"}},{"code_sha256_prefix":"c79ac417345f891a","entry":"flow_kitti_error","repo":"ucbdrive/hd3","repo_kind":"official","path":"utils/flowlib.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/utils/flowlib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c79ac417345f891a"}},{"code_sha256_prefix":"076593e69f1005ab","entry":"flow_warp","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/hd3_ops.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/hd3_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"076593e69f1005ab"}},{"code_sha256_prefix":"9c71f0f578921ed1","entry":"readPFM","repo":"ucbdrive/hd3","repo_kind":"official","path":"utils/pfm.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/utils/pfm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9c71f0f578921ed1"}},{"code_sha256_prefix":"d6e5f599346d62f8","entry":"read_flow","repo":"ucbdrive/hd3","repo_kind":"official","path":"utils/flowlib.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/utils/flowlib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d6e5f599346d62f8"}},{"code_sha256_prefix":"ea94ccf225af61f5","entry":"vector2density","repo":"ucbdrive/hd3","repo_kind":"official","path":"models/hd3_ops.py","file_url":"https://github.com/ucbdrive/hd3/blob/HEAD/models/hd3_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ea94ccf225af61f5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}