{"id":18160740,"url":"https://github.com/blankeos/scoliovis-training","last_synced_at":"2026-02-28T13:03:22.282Z","repository":{"id":108681194,"uuid":"566445024","full_name":"Blankeos/scoliovis-training","owner":"Blankeos","description":"📝 Documentation and Training Scripts for ScolioVis","archived":false,"fork":false,"pushed_at":"2023-03-24T16:31:21.000Z","size":21437,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-11T19:44:10.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blankeos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-15T17:31:02.000Z","updated_at":"2025-05-30T13:17:38.000Z","dependencies_parsed_at":"2023-06-06T04:15:44.965Z","dependency_job_id":null,"html_url":"https://github.com/Blankeos/scoliovis-training","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Blankeos/scoliovis-training","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fscoliovis-training","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fscoliovis-training/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fscoliovis-training/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fscoliovis-training/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blankeos","download_url":"https://codeload.github.com/Blankeos/scoliovis-training/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankeos%2Fscoliovis-training/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29934963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:00:17.143Z","status":"ssl_error","status_checked_at":"2026-02-28T12:59:13.669Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-02T08:09:13.322Z","updated_at":"2026-02-28T13:03:22.274Z","avatar_url":"https://github.com/Blankeos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🦴💪 ScolioVis Training\n\n![preview](/scoliovistraining-preview.gif)\n\nThis repository contains instructions for replicating our training process for our thesis project entitled: **_\"ScolioVis: Automated Cobb Angle Measurement on Anterior-Posterior Spine X-Rays using Multi-Instance Keypoint Detection with Keypoint RCNN\"_**.\n\nWe also store the training scripts for evaluating the **KeypointRCNN Model**, as well as the instructions for replicating the training process for our research on Google Colab.\n\nFor more information on the whole project go to [blankeos/scoliovis](https://github.com/Blankeos/scoliovis).\n\n### Instructions\n\n1. Request [Dataset 16: 609 spinal anterior-posterior x-ray images](http://spineweb.digitalimaginggroup.ca/Index.php?n=Main.Datasets#Dataset_16.3A_609_spinal_anterior-posterior_x-ray_images) from SpineWeb\n\n   You should receive a file called `boostnet_labeldata.zip` from them. Unzip that and save the root of the `boostnet_labeldata` folder on your Google Drive.\n\n2. Execute and follow the steps on our **[Preprocessing Notebook](https://colab.research.google.com/drive/1Rlt43PWo6NYREuDsGT8K5tRg5QqfFdVc?usp=sharing)**\n\n   The final data should look like:\n\n   ```\n   keypointsrcnn_data\n   ├─images\n   | ├─train\n   | | ├─img_1.jpg\n   | | └─(..).jpg\n   | └─val\n   |   ├─img.jpg\n   |   └─(..).jpg\n   └─labels\n   | ├─img_1.json\n   | └─(..).json\n   └─val\n       ├─img.json\n       └─(..).json\n   ```\n\n   After following the instructions, your final data should be saved on your Google Drive for training later on.\n\n3. Execute and follow the steps on our **[Training Notebook](https://colab.research.google.com/drive/1aaTWt2rZ-M7YlqIus7aC-84SorjNwl8G?usp=sharing)**\n\n4. You finished everything! 🎉\n\n### References:\n\n- Training Scripts:\n\n  - The training scripts in this repository can be obtained from either [**pytorch**/vision/references/detection](https://github.com/pytorch/vision/tree/main/references/detection) or [**alexppppp**/keypoint_rcnn_training_pytorch](https://github.com/alexppppp/keypoint_rcnn_training_pytorch).\n  - I then changed `coco_eval.py` to contain the following since the model has 4 points for each instance detected:\n    ```py\n    # some code here\n    ```\n\n- [Detailed Medium Article on Custom Keypoint RCNN Training](https://medium.com/@alexppppp/how-to-train-a-custom-keypoint-detection-model-with-pytorch-d9af90e111da)\n\n\u003e **pytorch**/vision/references/detection content below ⬇\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n⚠⚠⚠ Everything below this point is from \u003ca href=\"https://github.com/pytorch/vision/tree/main/references/detection\"\u003epytorch/vision/references/detection\u003c/a\u003e⚠⚠⚠\n\u003c/p\u003e\n\n---\n\n## Object detection reference training scripts\n\nThis folder contains reference training scripts for object detection.\nThey serve as a log of how to train specific models, to provide baseline\ntraining and evaluation scripts to quickly bootstrap research.\n\nTo execute the example commands below you must install the following:\n\n```\ncython\npycocotools\nmatplotlib\n```\n\nYou must modify the following flags:\n\n`--data-path=/path/to/coco/dataset`\n\n`--nproc_per_node=\u003cnumber_of_gpus_available\u003e`\n\nExcept otherwise noted, all models have been trained on 8x V100 GPUs.\n\n### Faster R-CNN ResNet-50 FPN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model fasterrcnn_resnet50_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1\n```\n\n### Faster R-CNN MobileNetV3-Large FPN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model fasterrcnn_mobilenet_v3_large_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone MobileNet_V3_Large_Weights.IMAGENET1K_V1\n```\n\n### Faster R-CNN MobileNetV3-Large 320 FPN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model fasterrcnn_mobilenet_v3_large_320_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone MobileNet_V3_Large_Weights.IMAGENET1K_V1\n```\n\n### FCOS ResNet-50 FPN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model fcos_resnet50_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3  --lr 0.01 --amp --weights-backbone ResNet50_Weights.IMAGENET1K_V1\n```\n\n### RetinaNet\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model retinanet_resnet50_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3 --lr 0.01 --weights-backbone ResNet50_Weights.IMAGENET1K_V1\n```\n\n### SSD300 VGG16\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model ssd300_vgg16 --epochs 120\\\n    --lr-steps 80 110 --aspect-ratio-group-factor 3 --lr 0.002 --batch-size 4\\\n    --weight-decay 0.0005 --data-augmentation ssd --weights-backbone VGG16_Weights.IMAGENET1K_FEATURES\n```\n\n### SSDlite320 MobileNetV3-Large\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model ssdlite320_mobilenet_v3_large --epochs 660\\\n    --aspect-ratio-group-factor 3 --lr-scheduler cosineannealinglr --lr 0.15 --batch-size 24\\\n    --weight-decay 0.00004 --data-augmentation ssdlite\n```\n\n### Mask R-CNN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco --model maskrcnn_resnet50_fpn --epochs 26\\\n    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1\n```\n\n### Keypoint R-CNN\n\n```\ntorchrun --nproc_per_node=8 train.py\\\n    --dataset coco_kp --model keypointrcnn_resnet50_fpn --epochs 46\\\n    --lr-steps 36 43 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankeos%2Fscoliovis-training","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblankeos%2Fscoliovis-training","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankeos%2Fscoliovis-training/lists"}