{"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/learning-from-synthetic-animals","title":"Learning from Synthetic Animals","arxiv_id":"1912.08265","date":"2019-12-17","proceeding":"CVPR 2020 6","authors":["Jiteng Mu","Weichao Qiu","Gregory Hager","Alan Yuille"],"abstract":"Despite great success in human parsing, progress for parsing other deformable articulated objects, like animals, is still limited by the lack of labeled data. In this paper, we use synthetic images and ground truth generated from CAD animal models to address this challenge. To bridge the domain gap between real and synthetic images, we propose a novel consistency-constrained semi-supervised learning method (CC-SSL). Our method leverages both spatial and temporal consistencies, to bootstrap weak models trained on synthetic data with unlabeled real images. We demonstrate the effectiveness of our method on highly deformable animals, such as horses and tigers. Without using any real image label, our method allows for accurate keypoint prediction on real images. Moreover, we quantitatively show that models using synthetic data achieve better generalization performance than models trained on real images across different domains in the Visual Domain Adaptation Challenge dataset. Our synthetic dataset contains 10+ animals with diverse poses and rich ground truth, which enables us to use the multi-task learning strategy to further boost models' performance.","url_abs":"https://arxiv.org/abs/1912.08265v2","url_pdf":"https://arxiv.org/pdf/1912.08265v2.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":"learning-from-synthetic-animals","repo_url":"https://github.com/JitengMu/Learning-from-Synthetic-Animals","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"learning-from-synthetic-animals","repo_url":"https://github.com/chaneyddtt/UDA-Animal-Pose","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"human-parsing","task_name":"Human Parsing"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1912.08265","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.08265"}},"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/chaneyddtt/UDA-Animal-Pose","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JitengMu/Learning-from-Synthetic-Animals","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran_honours":1,"unverified":14},"by_repo_kind":{"listed":{"samples":15,"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":"7aac4c51e0ceee97","entry":"to_torch","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/misc.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/misc.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7aac4c51e0ceee97"}},{"code_sha256_prefix":"c909dbba49acbe18","entry":"adjust_learning_rate","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/misc.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/misc.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":"c909dbba49acbe18"}},{"code_sha256_prefix":"b095d4004cfba4fb","entry":"get_preds","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/evaluation.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/evaluation.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":"b095d4004cfba4fb"}},{"code_sha256_prefix":"6a15f00353702e4c","entry":"get_preds_all","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/evaluation.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/evaluation.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":"6a15f00353702e4c"}},{"code_sha256_prefix":"cecb866afc37e96a","entry":"get_warpmat","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/datasets/real_animal_crop_all.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/datasets/real_animal_crop_all.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":"cecb866afc37e96a"}},{"code_sha256_prefix":"0f501bcb9a1fda50","entry":"im_to_numpy","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/imutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/imutils.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":"0f501bcb9a1fda50"}},{"code_sha256_prefix":"c98eeba8cbddf187","entry":"im_to_torch","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/imutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/imutils.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":"c98eeba8cbddf187"}},{"code_sha256_prefix":"0acd5efef92b5edf","entry":"isdir","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/osutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/osutils.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":"0acd5efef92b5edf"}},{"code_sha256_prefix":"92a1e3f86eb91801","entry":"isfile","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/osutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/osutils.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":"92a1e3f86eb91801"}},{"code_sha256_prefix":"3ad7d84a2bb4a334","entry":"join","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/osutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/osutils.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":"3ad7d84a2bb4a334"}},{"code_sha256_prefix":"a09aa9316ab8bff6","entry":"load_image_ori","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/imutils.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/imutils.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":"a09aa9316ab8bff6"}},{"code_sha256_prefix":"6f69c035a4b866ae","entry":"mpii_calc_dists","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/evaluation.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/evaluation.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":"6f69c035a4b866ae"}},{"code_sha256_prefix":"921113cf2a16c965","entry":"plot_overlap","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/logger.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/logger.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":"921113cf2a16c965"}},{"code_sha256_prefix":"46dd6446e6572188","entry":"symmetric_mse_loss","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/losses/jointsmseloss.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/losses/jointsmseloss.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":"46dd6446e6572188"}},{"code_sha256_prefix":"f3049ed43335c350","entry":"to_numpy","repo":"chaneyddtt/UDA-Animal-Pose","repo_kind":"listed","path":"pose/utils/misc.py","file_url":"https://github.com/chaneyddtt/UDA-Animal-Pose/blob/HEAD/pose/utils/misc.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":"f3049ed43335c350"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}