{"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/vindr-spinexr-a-deep-learning-framework-for","title":"VinDr-SpineXR: A deep learning framework for spinal lesions detection and classification from radiographs","arxiv_id":"2106.12930","date":"2021-06-24","proceeding":null,"authors":["Hieu T. Nguyen","Hieu H. Pham","Nghia T. Nguyen","Ha Q. Nguyen","Thang Q. Huynh","Minh Dao","Van Vu"],"abstract":"Radiographs are used as the most important imaging tool for identifying spine anomalies in clinical practice. The evaluation of spinal bone lesions, however, is a challenging task for radiologists. This work aims at developing and evaluating a deep learning-based framework, named VinDr-SpineXR, for the classification and localization of abnormalities from spine X-rays. First, we build a large dataset, comprising 10,468 spine X-ray images from 5,000 studies, each of which is manually annotated by an experienced radiologist with bounding boxes around abnormal findings in 13 categories. Using this dataset, we then train a deep learning classifier to determine whether a spine scan is abnormal and a detector to localize 7 crucial findings amongst the total 13. The VinDr-SpineXR is evaluated on a test set of 2,078 images from 1,000 studies, which is kept separate from the training set. It demonstrates an area under the receiver operating characteristic curve (AUROC) of 88.61% (95% CI 87.19%, 90.02%) for the image-level classification task and a mean average precision (mAP@0.5) of 33.56% for the lesion-level localization task. These results serve as a proof of concept and set a baseline for future research in this direction. To encourage advances, the dataset, codes, and trained deep learning models are made publicly available.","url_abs":"https://arxiv.org/abs/2106.12930v1","url_pdf":"https://arxiv.org/pdf/2106.12930v1.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":"vindr-spinexr-a-deep-learning-framework-for","repo_url":"https://github.com/vinbigdata-medical/vindr-spinexr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.12930","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.12930"}},"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/vinbigdata-medical/vindr-spinexr","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_violates":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"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":"f35babe3912ec8b1","entry":"sigmoid","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/ensemble_classifier.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/ensemble_classifier.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f35babe3912ec8b1"}},{"code_sha256_prefix":"b83462ac0b437689","entry":"blend","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/augments/autoaugment_utils.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/augments/autoaugment_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b83462ac0b437689"}},{"code_sha256_prefix":"24139d2b8e1c934d","entry":"cutout","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/augments/autoaugment_utils.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/augments/autoaugment_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"24139d2b8e1c934d"}},{"code_sha256_prefix":"e1ba1e466582acdf","entry":"i_sigmoid","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/ensemble_classifier.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/ensemble_classifier.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e1ba1e466582acdf"}},{"code_sha256_prefix":"c1d2277c1fb63765","entry":"policy_vtest","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/augments/autoaugment_utils.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/augments/autoaugment_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c1d2277c1fb63765"}},{"code_sha256_prefix":"876e24209f744b07","entry":"read_cls_results","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/eval_overall.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/eval_overall.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"876e24209f744b07"}},{"code_sha256_prefix":"533ae7b0931140af","entry":"read_detection_results","repo":"vinbigdata-medical/vindr-spinexr","repo_kind":"official","path":"spine/eval_overall.py","file_url":"https://github.com/vinbigdata-medical/vindr-spinexr/blob/HEAD/spine/eval_overall.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"533ae7b0931140af"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}