{"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/central-similarity-hashing-via-hadamard","title":"Central Similarity Quantization for Efficient Image and Video Retrieval","arxiv_id":"1908.00347","date":"2019-08-01","proceeding":"CVPR 2020 6","authors":["Li Yuan","Tao Wang","Xiaopeng Zhang","Francis EH Tay","Zequn Jie","Wei Liu","Jiashi Feng"],"abstract":"Existing data-dependent hashing methods usually learn hash functions from pairwise or triplet data relationships, which only capture the data similarity locally, and often suffer from low learning efficiency and low collision rate. In this work, we propose a new \\emph{global} similarity metric, termed as \\emph{central similarity}, with which the hash codes of similar data pairs are encouraged to approach a common center and those for dissimilar pairs to converge to different centers, to improve hash learning efficiency and retrieval accuracy. We principally formulate the computation of the proposed central similarity metric by introducing a new concept, i.e., \\emph{hash center} that refers to a set of data points scattered in the Hamming space with a sufficient mutual distance between each other. We then provide an efficient method to construct well separated hash centers by leveraging the Hadamard matrix and Bernoulli distributions. Finally, we propose the Central Similarity Quantization (CSQ) that optimizes the central similarity between data points w.r.t.\\ their hash centers instead of optimizing the local similarity. CSQ is generic and applicable to both image and video hashing scenarios. Extensive experiments on large-scale image and video retrieval tasks demonstrate that CSQ can generate cohesive hash codes for similar data pairs and dispersed hash codes for dissimilar pairs, achieving a noticeable boost in retrieval performance, i.e. 3\\%-20\\% in mAP over the previous state-of-the-arts. The code is at: \\url{https://github.com/yuanli2333/Hadamard-Matrix-for-hashing}","url_abs":"https://arxiv.org/abs/1908.00347v5","url_pdf":"https://arxiv.org/pdf/1908.00347v5.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":"central-similarity-hashing-via-hadamard","repo_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"quantization","task_name":"Quantization"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":null,"task_name":"Triplet"},{"task_slug":"video-retrieval","task_name":"Video Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1908.00347","atlas_url":"https://app.syntology.ai/?focus=1908.00347","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1908.00347"}},"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/yuanli2333/Hadamard-Matrix-for-hashing","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":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":"1df9a5ffd9b38c34","entry":"pil_loader","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"data_list.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/data_list.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1df9a5ffd9b38c34"}},{"code_sha256_prefix":"9dcef767571b38d7","entry":"accimage_loader","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"data_list.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/data_list.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":"9dcef767571b38d7"}},{"code_sha256_prefix":"bab73c3099afdbc5","entry":"autofill","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"video/train_hmdb51.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/video/train_hmdb51.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":"bab73c3099afdbc5"}},{"code_sha256_prefix":"7235e50950323616","entry":"get_config","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"video/network/config.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/video/network/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":"7235e50950323616"}},{"code_sha256_prefix":"0eb54c65679dac58","entry":"get_symbol","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"video/network/symbol_builder.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/video/network/symbol_builder.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":"0eb54c65679dac58"}},{"code_sha256_prefix":"dff451db0315485c","entry":"image_test","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"pre_process.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/pre_process.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":"dff451db0315485c"}},{"code_sha256_prefix":"9a338479bd269e9b","entry":"image_test_10crop","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"pre_process.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/pre_process.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":"9a338479bd269e9b"}},{"code_sha256_prefix":"3331c5176304df6a","entry":"image_train","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"pre_process.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/pre_process.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":"3331c5176304df6a"}},{"code_sha256_prefix":"90def75b21b5e19b","entry":"init_3d_from_2d_dict","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"video/network/initializer.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/video/network/initializer.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":"90def75b21b5e19b"}},{"code_sha256_prefix":"2301055cb33836bc","entry":"make_dataset","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"data_list.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/data_list.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":"2301055cb33836bc"}},{"code_sha256_prefix":"f9ace268fb1698a9","entry":"pairwise_loss","repo":"yuanli2333/Hadamard-Matrix-for-hashing","repo_kind":"official","path":"my_pairwise_loss.py","file_url":"https://github.com/yuanli2333/Hadamard-Matrix-for-hashing/blob/HEAD/my_pairwise_loss.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":"f9ace268fb1698a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}