{"id":13415329,"url":"https://github.com/zhangxiaosong18/FreeAnchor","last_synced_at":"2025-03-14T22:33:19.393Z","repository":{"id":49746646,"uuid":"206240250","full_name":"zhangxiaosong18/FreeAnchor","owner":"zhangxiaosong18","description":"FreeAnchor: Learning to Match Anchors for Visual Object Detection (NeurIPS 2019)","archived":false,"fork":false,"pushed_at":"2019-11-30T07:03:43.000Z","size":1909,"stargazers_count":675,"open_issues_count":15,"forks_count":111,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-07-31T21:53:39.903Z","etag":null,"topics":["computer-vision","freeanchor","neurips-2019","object-detection","one-stage","pytorch"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/1909.02466","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/zhangxiaosong18.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":"2019-09-04T05:41:04.000Z","updated_at":"2024-07-27T11:11:25.000Z","dependencies_parsed_at":"2022-09-21T01:01:01.477Z","dependency_job_id":null,"html_url":"https://github.com/zhangxiaosong18/FreeAnchor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangxiaosong18%2FFreeAnchor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangxiaosong18%2FFreeAnchor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangxiaosong18%2FFreeAnchor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangxiaosong18%2FFreeAnchor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhangxiaosong18","download_url":"https://codeload.github.com/zhangxiaosong18/FreeAnchor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658057,"owners_count":20326459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["computer-vision","freeanchor","neurips-2019","object-detection","one-stage","pytorch"],"created_at":"2024-07-30T21:00:47.208Z","updated_at":"2025-03-14T22:33:19.385Z","avatar_url":"https://github.com/zhangxiaosong18.png","language":"Python","funding_links":[],"categories":["Frameworks","Python","Appendix: Object Detection for Natural Scene","Recent Papers"],"sub_categories":["Papers"],"readme":"## FreeAnchor\n\nThe Code for [\"FreeAnchor: Learning to Match Anchors for Visual Object Detection\"](https://arxiv.org/abs/1909.02466).\n\nThis repository is based on maskrcnn-benchmark, and FreeAnchor has also been implemented in [mmdetection](https://github.com/open-mmlab/mmdetection), thanks [@yhcao6](https://github.com/yhcao6) and [@hellock](https://github.com/hellock).\n\n![architecture](architecture.png)\n\n### New performance on COCO\nWe added multi-scale testing support and updated experiments. The previous version is in [this branch](https://github.com/zhangxiaosong18/FreeAnchor/tree/previous). \n\n| Backbone        | Iteration | Training scales | Multi-scale\u003cbr\u003etesting | AP\u003cbr\u003e(minival) | AP\u003cbr\u003e(test-dev) | Model      |\n| :-------------------: | :-------: | :-------------: | :--------------: | :-------------: | :--------------: | :--------: |\n| ResNet-50-FPN         | 90k       | 800             | N                | 38.7            | 38.7             | [Link](https://drive.google.com/open?id=1o-VvpOIwYCPxyas8n6OngpOznlVy0T6k )                                                      |\n| ResNet-101-FPN        | 90k       | 800             | N                | 40.5            | 40.9             | [Link](https://drive.google.com/open?id=1jc5ncxuuuG3-sm-4OpkOfr51ClwCWHu0 )                                                      |\n| ResNet-101-FPN        | 180k      | [640, 800]      | N                | 42.7            | 43.1             | [Link](https://drive.google.com/open?id=1OvK8Xona8v7mWU2nf5Fp1QzvwUaFhlIg )                                                      |\n| ResNet-101-FPN        | 180k      | [480, 960]      | N                | 43.2            | 43.9             | [Link](https://drive.google.com/open?id=1ZIx2HTexVyU6xTwAm2ABTYjsJuLvlfhB )                                                      |\n| ResNet-101-FPN        | 180k      | [480, 960]      | Y                | 44.7            | 45.2             | [Link](https://drive.google.com/open?id=1ZIx2HTexVyU6xTwAm2ABTYjsJuLvlfhB )                                                      |\n| ResNeXt-64x4d-101-FPN | 180k      | [640, 800]      | N                | 44.5            | 44.9             | [Link](https://drive.google.com/open?id=1MrtXoBGHceq_BBY5cH-kw2ax5-aDPdTv )                                                      |\n| ResNeXt-64x4d-101-FPN | 180k      | [480, 960]      | N                | 45.6            | 46.0             | [Link](https://drive.google.com/open?id=1r17agiu76xtwKxn2oE_pK4R847k-Cu5m )                                                      |\n| ResNeXt-64x4d-101-FPN | 180k      | [480, 960]      | Y                | 46.8            | 47.3             | [Link](https://drive.google.com/open?id=1r17agiu76xtwKxn2oE_pK4R847k-Cu5m )                                                      |\n\n**Notes:**\n\n- We use 8 GPUs with 2 image / GPU. \n- In multi-scale testing, we use image scales in {480, 640, 800, 960, 1120, 1280} and max_size are 1.666\u0026times; than scales. \n\n\n## Installation \nCheck [INSTALL.md](INSTALL.md) for installation instructions.\n\n## Usage\nYou will need to download the COCO dataset and configure your own paths to the datasets.\n\nFor that, all you need to do is to modify `maskrcnn_benchmark/config/paths_catalog.py` to point to the location where your dataset is stored.\n\n#### Config Files\nWe provide four configuration files in the configs directory.\n\n| Config File                               | Backbone                | Iteration | Training scales |\n| :---------------------------------------: | :---------------------: | :-------: | :-------------: |\n| configs/free_anchor_R-50-FPN_1x.yaml      | ResNet-50-FPN           | 90k       | 800             | \n| configs/free_anchor_R-101-FPN_1x.yaml     | ResNet-101-FPN          | 90k       | 800             |\n| configs/free_anchor_R-101-FPN_j2x.yaml    | ResNet-101-FPN          | 180k      | [640, 800]      |\n| configs/free_anchor_X-101-FPN_j2x.yaml    | ResNeXt-64x4d-101-FPN   | 180k      | [640, 800]      |\n| configs/free_anchor_R-101-FPN_e2x.yaml    | ResNet-101-FPN          | 180k      | [480, 960]      |\n| configs/free_anchor_X-101-FPN_e2x.yaml    | ResNeXt-64x4d-101-FPN   | 180k      | [480, 960]      |\n\n#### Training with 8 GPUs\n\n```bash\ncd path_to_free_anchor\nexport NGPUS=8\npython -m torch.distributed.launch --nproc_per_node=$NGPUS tools/train_net.py --config-file \"path/to/config/file.yaml\"\n```\n\n#### Test on COCO test-dev\n\n```bash\ncd path_to_free_anchor\npython -m torch.distributed.launch --nproc_per_node=$NGPUS tools/test_net.py --config-file \"path/to/config/file.yaml\" MODEL.WEIGHT \"path/to/.pth file\" DATASETS.TEST \"('coco_test-dev',)\"\n```\n\n#### Multi-scale testing\n\n```bash\ncd path_to_free_anchor\npython -m torch.distributed.launch --nproc_per_node=$NGPUS tools/multi_scale_test.py --config-file \"path/to/config/file.yaml\" MODEL.WEIGHT \"path/to/.pth file\" DATASETS.TEST \"('coco_test-dev',)\"\n```\n\n#### Evaluate NMS Recall\n\n```bash\ncd path_to_free_anchor\npython -m torch.distributed.launch --nproc_per_node=$NGPUS tools/eval_NR.py --config-file \"path/to/config/file.yaml\" MODEL.WEIGHT \"path/to/.pth file\"\n```\n\n## Citations\nPlease consider citing our paper in your publications if the project helps your research.\n```\n@inproceedings{zhang2019freeanchor,\n  title   =  {{FreeAnchor}: Learning to Match Anchors for Visual Object Detection},\n  author  =  {Zhang, Xiaosong and Wan, Fang and Liu, Chang and Ji, Rongrong and Ye, Qixiang},\n  booktitle =  {Neural Information Processing Systems},\n  year    =  {2019}\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhangxiaosong18%2FFreeAnchor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhangxiaosong18%2FFreeAnchor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhangxiaosong18%2FFreeAnchor/lists"}