{"id":44147392,"url":"https://github.com/chenhongyiyang/pgd","last_synced_at":"2026-02-09T02:36:14.803Z","repository":{"id":43174301,"uuid":"468012577","full_name":"ChenhongyiYang/PGD","owner":"ChenhongyiYang","description":"[ECCV 2022] Prediction-Guided Distillation for Dense Object Detection","archived":false,"fork":false,"pushed_at":"2022-10-31T10:40:59.000Z","size":16414,"stargazers_count":63,"open_issues_count":5,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-10T01:53:38.108Z","etag":null,"topics":["knowledge-distillation","object-detection"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChenhongyiYang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-09T16:45:19.000Z","updated_at":"2025-03-31T23:37:55.000Z","dependencies_parsed_at":"2023-01-20T03:20:09.350Z","dependency_job_id":null,"html_url":"https://github.com/ChenhongyiYang/PGD","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChenhongyiYang/PGD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenhongyiYang%2FPGD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenhongyiYang%2FPGD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenhongyiYang%2FPGD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenhongyiYang%2FPGD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChenhongyiYang","download_url":"https://codeload.github.com/ChenhongyiYang/PGD/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChenhongyiYang%2FPGD/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29254316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T01:52:29.835Z","status":"online","status_checked_at":"2026-02-09T02:00:09.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["knowledge-distillation","object-detection"],"created_at":"2026-02-09T02:36:14.657Z","updated_at":"2026-02-09T02:36:14.798Z","avatar_url":"https://github.com/ChenhongyiYang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prediction-Guided Distillation \n\nPyTorch implementation of our ECCV 2022 paper: [Prediction-Guided Distillation for Dense Object Detection](https://arxiv.org/pdf/2203.05469.pdf)\n\n## Requirements\n\n- Our codebase is built on top of [MMDetection](https://github.com/open-mmlab/mmdetection), which can be installed following the offcial instuctions.\n- We used pytorch pre-trained [ResNets](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) for training.\n- Please follow the MMdetection offcial instuction to set up COCO dataset. \n- Please download the [CrowdHuman](https://www.crowdhuman.org/) and set up the dataset by running this [script](https://github.com/ChenhongyiYang/PGD/blob/main/crowd_code/create_crowd_anno.py).\n\n## Usage\n\n#### Set up datasets and pre-trained models \n\n```shell\nmkdir data\nln -s path_to_coco data/coco\nln -s path_to_crowdhuman data/crowdhuman \nln -s path_to_pretrainedModel data/pretrain_models \n```\n\n#### COCO Experiments \n\n```shell\n# ------------------------------------\n#    Here we use ATSS as an example\n# ------------------------------------\n\n# Training and testing teacher model\nzsh tools/dist_train.sh work_configs/detectors/atss_r101_3x_ms.py 8\nzsh tools/dist_test.sh work_configs/detectors/atss_r101_3x_ms.py work_dirs/atss_r101_3x_ms/latest.pth 8\n\n# Training and testing student model \nzsh tools/dist_train.sh work_configs/detectors/atss_r50_1x.py 8\nzsh tools/dist_test.sh work_configs/detectors/atss_r50_1x.py work_dirs/atss_r50_1x/latest.pth 8\n\n# Training and testing PGD model\nzsh tools/dist_train.sh work_configs/pgd_atss_r101_r50_1x.py 8\nzsh tools/dist_test.sh work_configs/pgd_atss_r101_r50_1x.py work_dirs/pgd_atss_r101_r50_1x/latest.pth 8\n```\n\n#### CrowdHuman Experiments\n\n```shell\n# Training teacher, conducting KD, and evalauation\nzsh tools/run_crowdhuman.sh\n```\n\n## Model Zoo\n\n#### COCO\n\n|  Detector  |             Setting             |     mAP     |                            Config                            |\n| :--------: | :-----------------------------: | :---------: | :----------------------------------------------------------: |\n|    FCOS    | Teacher (r101, 3x, multi-scale) |    43.1     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/fcos_r101_3x_ms.py) |\n|     -      | Student (r50, 1x, single-scale) |    38.2     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/fcos_r50_1x.py) |\n|     -      |   PGD (r50, 1x, single-scale)   | 42.5 (+4.3) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_fcos_r101_r50_1x.py) |\n| AutoAssign | Teacher (r101, 3x, multi-scale) |    44.8     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/autoassign_r101_3x_ms.py) |\n|     -      | Student (r50, 1x, single-scale) |    40.6     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/autoassign_r50_1x.py) |\n|     -      |   PGD (r50, 1x, single-scale)   | 43.8 (+3.1) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_autoassign_r101_r50_1x.py) |\n|    ATSS    | Teacher (r101, 3x, multi-scale) |    45.5     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/atss_r101_3x_ms.py) |\n|     -      | Student (r50, 1x, single-scale) |    39.6     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/atss_r50_1x.py) |\n|     -      |   PGD (r50, 1x, single-scale)   | 44.2 (+4.6) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_atss_r101_r50_1x.py) |\n|    GFL     | Teacher (r101, 3x, multi-scale) |    45.8     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/gfl_r101_3x_ms.py) |\n|     -      | Student (r50, 1x, single-scale) |    40.2     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/gfl_r50_1x.py) |\n|     -      |   PGD (r50, 1x, single-scale)   | 43.8 (+3.6) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_gfl_r101_r50_1x.py) |\n|    DDOD    | Teacher (r101, 3x, multi-scale) |    46.6     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/ddod_r101_3x_ms.py) |\n|     -      | Student (r50, 1x, single-scale) |    42.0     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/detectors/ddod_r50_1x.py) |\n|     -      |   PGD (r50, 1x, single-scale)   | 45.4 (+3.4) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_ddod_r101_r50_1x.py) |\n\n#### CrowdHuman\n\n| Detector |                Setting                |    MR ↓     |    AP ↑     |    JI ↑     |                            Config                            |\n| :------: | :-----------------------------------: | :---------: | :---------: | :---------: | :----------------------------------------------------------: |\n|   DDOD   | Teacher (r101, 36 epoch, multi-scale) |    41.4     |    90.2     |    81.4     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/det_crowdhuman/ddod_r101.py) |\n|    -     | Student (r50, 12 epoch, single-scale) |    46.0     |    88.0     |    79.0     | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/det_crowdhuman/ddod_r50.py) |\n|    -     |   PGD (r50, 12 epoch, single-scale)   | 42.8 (-3.2) | 90.0 (+2.0) | 80.7 (+1.7) | [config](https://github.com/ChenhongyiYang/PGD/blob/main/work_configs/pgd_ddod_crowdhuman_r101_r50.py) |\n\n## Ciation\n\n```\n@article{yang2022predictionguided,\n  title={{Prediction-Guided Distillation for Dense Object Detection}},\n  author={Yang, Chenhongyi and Ochal, Mateusz and Storkey, Amos and Crowley, Elliot J},\n  journal={ECCV 2022},\n  year={2022}\n}\n```\n\n## Acknowledgement \n\nWe thank [FGD](https://github.com/yzd-v/FGD) and [DDOD](https://github.com/zehuichen123/DDOD) for their code base. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenhongyiyang%2Fpgd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenhongyiyang%2Fpgd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenhongyiyang%2Fpgd/lists"}