{"id":13773272,"url":"https://github.com/CAPTAIN-WHU/iSAID_Devkit","last_synced_at":"2025-05-11T05:34:36.492Z","repository":{"id":48525697,"uuid":"196733837","full_name":"CAPTAIN-WHU/iSAID_Devkit","owner":"CAPTAIN-WHU","description":"[CVPR'W19-Oral] Official repository for \"iSAID: A Large-scale Dataset for Instance Segmentation in Aerial Images\" ","archived":false,"fork":false,"pushed_at":"2021-04-03T20:29:36.000Z","size":29096,"stargazers_count":135,"open_issues_count":10,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-17T08:44:22.462Z","etag":null,"topics":["aerial-imagery","cvpr19","dataset","devkit","dota","evaluation-code","instance-segmentation","object-detection","pytorch","pytorch-implementation"],"latest_commit_sha":null,"homepage":"https://captain-whu.github.io/iSAID/","language":"Jupyter Notebook","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/CAPTAIN-WHU.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}},"created_at":"2019-07-13T14:58:33.000Z","updated_at":"2024-10-31T05:28:06.000Z","dependencies_parsed_at":"2022-08-31T18:32:23.482Z","dependency_job_id":null,"html_url":"https://github.com/CAPTAIN-WHU/iSAID_Devkit","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/CAPTAIN-WHU%2FiSAID_Devkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAPTAIN-WHU%2FiSAID_Devkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAPTAIN-WHU%2FiSAID_Devkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAPTAIN-WHU%2FiSAID_Devkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CAPTAIN-WHU","download_url":"https://codeload.github.com/CAPTAIN-WHU/iSAID_Devkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253523690,"owners_count":21921815,"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":["aerial-imagery","cvpr19","dataset","devkit","dota","evaluation-code","instance-segmentation","object-detection","pytorch","pytorch-implementation"],"created_at":"2024-08-03T17:01:13.771Z","updated_at":"2025-05-11T05:34:31.469Z","avatar_url":"https://github.com/CAPTAIN-WHU.png","language":"Jupyter Notebook","funding_links":[],"categories":["1. Instance Segmentation"],"sub_categories":[],"readme":"[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/isaid-a-large-scale-dataset-for-instance/object-detection-on-isaid)](https://paperswithcode.com/sota/object-detection-on-isaid?p=isaid-a-large-scale-dataset-for-instance)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/isaid-a-large-scale-dataset-for-instance/instance-segmentation-on-isaid)](https://paperswithcode.com/sota/instance-segmentation-on-isaid?p=isaid-a-large-scale-dataset-for-instance)\n\n## iSAID: A Large-scale Dataset for Instance Segmentation in Aerial Images, CVPR workshops, 2019.\n\n**Codes for Data Preparation and Evaluation**\n\n1.  **Environment and dependencies installation**\n    1. Create the conda environment\n            ```conda env create -f environment.yml```\n    2. Activate the current working environment\n             ```source activate py_isaid```\n    3. Setup pycocotols for the evalaution server\n               - `cd cocoapi/PythonAPI`\n               - `make`\n               - `python setup.py install`\n    4. Setup cityscapesScripts for the evalaution server\n             - `cd preprocess/cityscapesScripts`\n             - `python setup.py install`\n    5. Setup detectron for the evalaution server\n             - `cd preprocess/Detectron`\n             - `make`\n    6. Note: opencv version == 3.4.2\n             \n2.  **Data Preparation for Training, Validation and Testing**\n    1. Please download iSAID dataset that contains image segmentation masks. Also, download original images from DOTA dataset. \n    Make sure that the final dataset must have this structure:\n    ```\n        iSAID\n        ├── test\n        │   └── images\n        │       ├── P0006.png\n        │       └── ...\n        │       └── P0009.png\n        ├── train\n        │   └── images\n        │       ├── P0002_instance_color_RGB.png\n        │       ├── P0002_instance_id_RGB.png\n        │       ├── P0002.png\n        │       ├── ...\n        │       ├── P0010_instance_color_RGB.png\n        │       ├── P0010_instance_id_RGB.png\n        │       └── P0010.png\n        └── val\n            └── images\n                ├── P0003_instance_color_RGB.png\n                ├── P0003_instance_id_RGB.png\n                ├── P0003.png\n                ├── ...\n                ├── P0004_instance_color_RGB.png\n                ├── P0004_instance_id_RGB.png\n                └── P0004.png\n    ```\n    Note that the segmentation masks for the test images are withheld for the evaluation server.\n    \n    3. Change the current working directory to preprocess folder.\n        ```cd preprocess```\n    4. Create symlink for iSAID dataset as\n        ```ln -s /path-of-iSAID-dataset ./dataset/```\n    \n    5. Split training and validation images into patches\n        ```python split.py --set train,val```\n    \n    6. Split test images into patches\n        ```python split.py --set test```\n    \n    7. Create coco-format json annotation files for train and val split images\n        ```python preprocess.py --set train,val```\n\n\n        \n        Make sure that the final dataset after preprocesing must have this structure:\n\n    ```\n    iSAID_patches\n    ├── test\n    │   └── images\n    │       ├── P0006_0_0_800_800.png\n    │       └── ...\n    │       └── P0009_0_0_800_800.png\n    ├── train\n    │   └── instance_only_filtered_train.json\n    │   └── images\n    │       ├── P0002_0_0_800_800_instance_color_RGB.png\n    │       ├── P0002_0_0_800_800_instance_id_RGB.png\n    │       ├── P0002_0_800_800.png\n    │       ├── ...\n    │       ├── P0010_0_0_800_800_instance_color_RGB.png\n    │       ├── P0010_0_0_800_800_instance_id_RGB.png\n    │       └── P0010_0_800_800.png\n    └── val\n        └── instance_only_filtered_val.json\n        └── images\n            ├── P0003_0_0_800_800_instance_color_RGB.png\n            ├── P0003_0_0_800_800_instance_id_RGB.png\n            ├── P0003_0_0_800_800.png\n            ├── ...\n            ├── P0004_0_0_800_800_instance_color_RGB.png\n            ├── P0004_0_0_800_800_instance_id_RGB.png\n            └── P0004_0_0_800_800.png\n    ```\n        \n3. **Method**\n    1. Run your instance segmentation method on patches and generate json file of predictions\n\n4. **Evaluation**\n    1. Change the current working directory to evaluate folder.\n        ```cd ../evaluate```\n    3. Given json of predictions and json of val set ground truth (obtained after preprocess.py), Compute Average Precision\n        ```python evaluate.py ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCAPTAIN-WHU%2FiSAID_Devkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCAPTAIN-WHU%2FiSAID_Devkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCAPTAIN-WHU%2FiSAID_Devkit/lists"}