{
  "id": 263748,
  "title": "7th place solution with Code",
  "url": "/competitions/siim-covid19-detection/writeups/dsmlkz-school-zerde-7th-place-solution-with-code",
  "author_name": "",
  "post_date": "2021-08-15T20:15:46.153Z",
  "votes": 26,
  "comment_count": 7,
  "views": 0,
  "content": "<p>First, thanks for organizing this interesting competition and congrats to all winners!</p>\n<p><strong>Validation:</strong></p>\n<p>We used iterative-stratification with 5 folds (<a href=\"https://github.com/trent-b/iterative-stratification\" target=\"_blank\">https://github.com/trent-b/iterative-stratification</a>) stratified by study level classes and number of boxes.</p>\n<p><strong>Study level:</strong></p>\n<p>We used efficientnet-b7, v2s, v2m, and v2l with aux branches after 3 different blocks. The models were trained on 3 folds and on different image resolutions (512, 640, 768) to produce 14 classifiers. </p>\n<p>We used simple averaging for ensembling the models. LB mAP for study level was ~41.5-41.6</p>\n<p><strong>Image level:</strong></p>\n<p>We used mmdetection library to train detectoRS50, universeNet50, and universeNet101. detectoRS50 and universeNet50 were trained on one fold, and universeNet101 was trained on each fold + pseudo labels for public data using the universeNet50 model.</p>\n<p>WBF did not work for us, so we decided to use NMW for ensembling from <a href=\"https://github.com/ZFTurbo/Weighted-Boxes-Fusion\" target=\"_blank\">https://github.com/ZFTurbo/Weighted-Boxes-Fusion</a>.</p>\n<p>TTA: HorizontalFlip for detectoRS and multi-scale TTA for all universeNet models on [(640, 640), (800, 800)].</p>\n<p>Binary classifiers were trained in the same manner as study level models, 3 fold ensemble was used.</p>\n<p><strong>Augmentations:</strong></p>\n<p>Our augmentations include HorizontalFlip, RandomCrop (for study level), ShiftScaleRotate, CLAHE, RandomGamma, Cutout from albumentations library (<a href=\"https://albumentations.ai/\" target=\"_blank\">https://albumentations.ai/</a> ).</p>\n<p>UPD: Code available at <a href=\"https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection\" target=\"_blank\">https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection</a></p>\n<p>Inference kernel: <a href=\"https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471\" target=\"_blank\">https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471</a></p>",
  "messages": [
    {
      "id": "1463236",
      "postDate": "08/10/2021 06:22:41",
      "content": "<p>First, thanks for organizing this interesting competition and congrats to all winners!</p>\n<p><strong>Validation:</strong></p>\n<p>We used iterative-stratification with 5 folds (<a href=\"https://github.com/trent-b/iterative-stratification\" target=\"_blank\">https://github.com/trent-b/iterative-stratification</a>) stratified by study level classes and number of boxes.</p>\n<p><strong>Study level:</strong></p>\n<p>We used efficientnet-b7, v2s, v2m, and v2l with aux branches after 3 different blocks. The models were trained on 3 folds and on different image resolutions (512, 640, 768) to produce 14 classifiers. </p>\n<p>We used simple averaging for ensembling the models. LB mAP for study level was ~41.5-41.6</p>\n<p><strong>Image level:</strong></p>\n<p>We used mmdetection library to train detectoRS50, universeNet50, and universeNet101. detectoRS50 and universeNet50 were trained on one fold, and universeNet101 was trained on each fold + pseudo labels for public data using the universeNet50 model.</p>\n<p>WBF did not work for us, so we decided to use NMW for ensembling from <a href=\"https://github.com/ZFTurbo/Weighted-Boxes-Fusion\" target=\"_blank\">https://github.com/ZFTurbo/Weighted-Boxes-Fusion</a>.</p>\n<p>TTA: HorizontalFlip for detectoRS and multi-scale TTA for all universeNet models on [(640, 640), (800, 800)].</p>\n<p>Binary classifiers were trained in the same manner as study level models, 3 fold ensemble was used.</p>\n<p><strong>Augmentations:</strong></p>\n<p>Our augmentations include HorizontalFlip, RandomCrop (for study level), ShiftScaleRotate, CLAHE, RandomGamma, Cutout from albumentations library (<a href=\"https://albumentations.ai/\" target=\"_blank\">https://albumentations.ai/</a> ).</p>\n<p>UPD: Code available at <a href=\"https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection\" target=\"_blank\">https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection</a></p>\n<p>Inference kernel: <a href=\"https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471\" target=\"_blank\">https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471</a></p>",
      "rawMarkdown": "First, thanks for organizing this interesting competition and congrats to all winners!\n\n**Validation:**\n\nWe used iterative-stratification with 5 folds (https://github.com/trent-b/iterative-stratification) stratified by study level classes and number of boxes.\n\n**Study level:**\n\nWe used efficientnet-b7, v2s, v2m, and v2l with aux branches after 3 different blocks. The models were trained on 3 folds and on different image resolutions (512, 640, 768) to produce 14 classifiers. \n\nWe used simple averaging for ensembling the models. LB mAP for study level was ~41.5-41.6\n\n\n\n**Image level:**\n\nWe used mmdetection library to train detectoRS50, universeNet50, and universeNet101. detectoRS50 and universeNet50 were trained on one fold, and universeNet101 was trained on each fold + pseudo labels for public data using the universeNet50 model.\n\nWBF did not work for us, so we decided to use NMW for ensembling from https://github.com/ZFTurbo/Weighted-Boxes-Fusion.\n\nTTA: HorizontalFlip for detectoRS and multi-scale TTA for all universeNet models on [(640, 640), (800, 800)].\n\nBinary classifiers were trained in the same manner as study level models, 3 fold ensemble was used.\n\n**Augmentations:**\n\nOur augmentations include HorizontalFlip, RandomCrop (for study level), ShiftScaleRotate, CLAHE, RandomGamma, Cutout from albumentations library (https://albumentations.ai/ ).\n\nUPD: Code available at https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection\n\nInference kernel: https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471",
      "votes": null
    },
    {
      "id": "1463590",
      "postDate": "08/10/2021 08:46:00",
      "content": "<p>congrat for the result an hard work. It would be nice if I have those questions answered by you:</p>\n<ol>\n<li>You have 4 types of model, 3 folds, 3 image resolution, so why 14 classifiers ?</li>\n<li>Your study level on reached 41.5, 41.6. Is it including prediction none 1 0 0 1 1 for all image level? May I know the private score ?</li>\n</ol>",
      "rawMarkdown": "congrat for the result an hard work. It would be nice if I have those questions answered by you:\n1. You have 4 types of model, 3 folds, 3 image resolution, so why 14 classifiers ?\n2. Your study level on reached 41.5, 41.6. Is it including prediction none 1 0 0 1 1 for all image level? May I know the private score ?",
      "votes": null
    },
    {
      "id": "1463666",
      "postDate": "08/10/2021 09:21:16",
      "content": "<p>congratulations</p>",
      "rawMarkdown": "congratulations",
      "votes": null
    },
    {
      "id": "1463713",
      "postDate": "08/10/2021 09:43:58",
      "content": "<p>Thanks! </p>\n<ol>\n<li><p>We haven't tried all the combinations, it was rather sporadic. From all of our experiments we chose 14 that had decent validation mAP.</p></li>\n<li><p>Not including. I don't have the exact private score for that since we didn't submit all 14 models separately. We have ensemble of 8 models that gave us 0.414 on public, and 0.392 on private. </p></li>\n</ol>",
      "rawMarkdown": "Thanks! \n\n1. We haven't tried all the combinations, it was rather sporadic. From all of our experiments we chose 14 that had decent validation mAP.\n\n2. Not including. I don't have the exact private score for that since we didn't submit all 14 models separately. We have ensemble of 8 models that gave us 0.414 on public, and 0.392 on private.",
      "votes": null
    },
    {
      "id": "1464139",
      "postDate": "08/10/2021 13:11:32",
      "content": "<p>Thanks for sharing the solution and congratulations, mate.</p>",
      "rawMarkdown": "Thanks for sharing the solution and congratulations, mate.",
      "votes": null
    },
    {
      "id": "1464201",
      "postDate": "08/10/2021 13:34:18",
      "content": "<p>Congrats!! seems your study level models ensemble were quite strong!! good job </p>\n<ol>\n<li><p>do you know the CV, LB scores of your OD part ? </p></li>\n<li><p>any external data used ?   </p></li>\n</ol>",
      "rawMarkdown": "Congrats!! seems your study level models ensemble were quite strong!! good job \n1. do you know the CV, LB scores of your OD part ? \n\n2. any external data used ?",
      "votes": null
    },
    {
      "id": "1464241",
      "postDate": "08/10/2021 13:55:19",
      "content": "<p>Thank you!</p>\n<ol>\n<li><p>5 folds UniverseNet101: 57.7 / 57 / 54.8 / 54 / 53 mAP (images without bboxes are kept).  LB: 0.096 / 0.096 / 0.094 / 0.096 / 0.096.</p></li>\n<li><p>No external dataset.</p></li>\n</ol>",
      "rawMarkdown": "Thank you!\n\n1. 5 folds UniverseNet101: 57.7 / 57 / 54.8 / 54 / 53 mAP (images without bboxes are kept).  LB: 0.096 / 0.096 / 0.094 / 0.096 / 0.096.\n\n2. No external dataset.",
      "votes": null
    },
    {
      "id": "1464369",
      "postDate": "08/10/2021 14:47:05",
      "content": "<p>congrats <a href=\"https://www.kaggle.com/aidynub\" target=\"_blank\">@aidynub</a> 🎉🎉</p>",
      "rawMarkdown": "congrats @aidynub 🎉🎉",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1463590,
      "author_name": "namgalielei",
      "author_url": "",
      "post_date": "08/10/2021 08:46:00",
      "content": "<p>congrat for the result an hard work. It would be nice if I have those questions answered by you:</p>\n<ol>\n<li>You have 4 types of model, 3 folds, 3 image resolution, so why 14 classifiers ?</li>\n<li>Your study level on reached 41.5, 41.6. Is it including prediction none 1 0 0 1 1 for all image level? May I know the private score ?</li>\n</ol>",
      "votes": null,
      "replies": [
        {
          "id": 1463713,
          "author_name": "aidynub",
          "author_url": "",
          "post_date": "08/10/2021 09:43:58",
          "content": "<p>Thanks! </p>\n<ol>\n<li><p>We haven't tried all the combinations, it was rather sporadic. From all of our experiments we chose 14 that had decent validation mAP.</p></li>\n<li><p>Not including. I don't have the exact private score for that since we didn't submit all 14 models separately. We have ensemble of 8 models that gave us 0.414 on public, and 0.392 on private. </p></li>\n</ol>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1463666,
      "author_name": "givkashi",
      "author_url": "",
      "post_date": "08/10/2021 09:21:16",
      "content": "<p>congratulations</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1464139,
      "author_name": "furcifer",
      "author_url": "",
      "post_date": "08/10/2021 13:11:32",
      "content": "<p>Thanks for sharing the solution and congratulations, mate.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1464201,
      "author_name": "imeintanis",
      "author_url": "",
      "post_date": "08/10/2021 13:34:18",
      "content": "<p>Congrats!! seems your study level models ensemble were quite strong!! good job </p>\n<ol>\n<li><p>do you know the CV, LB scores of your OD part ? </p></li>\n<li><p>any external data used ?   </p></li>\n</ol>",
      "votes": null,
      "replies": [
        {
          "id": 1464241,
          "author_name": "aidynub",
          "author_url": "",
          "post_date": "08/10/2021 13:55:19",
          "content": "<p>Thank you!</p>\n<ol>\n<li><p>5 folds UniverseNet101: 57.7 / 57 / 54.8 / 54 / 53 mAP (images without bboxes are kept).  LB: 0.096 / 0.096 / 0.094 / 0.096 / 0.096.</p></li>\n<li><p>No external dataset.</p></li>\n</ol>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1464369,
      "author_name": "jarupula",
      "author_url": "",
      "post_date": "08/10/2021 14:47:05",
      "content": "<p>congrats <a href=\"https://www.kaggle.com/aidynub\" target=\"_blank\">@aidynub</a> 🎉🎉</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1463236": "First, thanks for organizing this interesting competition and congrats to all winners!\n\n**Validation:**\n\nWe used iterative-stratification with 5 folds (https://github.com/trent-b/iterative-stratification) stratified by study level classes and number of boxes.\n\n**Study level:**\n\nWe used efficientnet-b7, v2s, v2m, and v2l with aux branches after 3 different blocks. The models were trained on 3 folds and on different image resolutions (512, 640, 768) to produce 14 classifiers. \n\nWe used simple averaging for ensembling the models. LB mAP for study level was ~41.5-41.6\n\n\n\n**Image level:**\n\nWe used mmdetection library to train detectoRS50, universeNet50, and universeNet101. detectoRS50 and universeNet50 were trained on one fold, and universeNet101 was trained on each fold + pseudo labels for public data using the universeNet50 model.\n\nWBF did not work for us, so we decided to use NMW for ensembling from https://github.com/ZFTurbo/Weighted-Boxes-Fusion.\n\nTTA: HorizontalFlip for detectoRS and multi-scale TTA for all universeNet models on [(640, 640), (800, 800)].\n\nBinary classifiers were trained in the same manner as study level models, 3 fold ensemble was used.\n\n**Augmentations:**\n\nOur augmentations include HorizontalFlip, RandomCrop (for study level), ShiftScaleRotate, CLAHE, RandomGamma, Cutout from albumentations library (https://albumentations.ai/ ).\n\nUPD: Code available at https://github.com/AidynUbingazhibov/SIIM-FISABIO-RSNA-COVID-19-Detection\n\nInference kernel: https://www.kaggle.com/aidynub/validation-pipeline-4cls-10mdlswp-bincl-3mdls-d?scriptVersionId=70822471",
    "1463590": "congrat for the result an hard work. It would be nice if I have those questions answered by you:\n1. You have 4 types of model, 3 folds, 3 image resolution, so why 14 classifiers ?\n2. Your study level on reached 41.5, 41.6. Is it including prediction none 1 0 0 1 1 for all image level? May I know the private score ?",
    "1463666": "congratulations",
    "1463713": "Thanks! \n\n1. We haven't tried all the combinations, it was rather sporadic. From all of our experiments we chose 14 that had decent validation mAP.\n\n2. Not including. I don't have the exact private score for that since we didn't submit all 14 models separately. We have ensemble of 8 models that gave us 0.414 on public, and 0.392 on private.",
    "1464139": "Thanks for sharing the solution and congratulations, mate.",
    "1464201": "Congrats!! seems your study level models ensemble were quite strong!! good job \n1. do you know the CV, LB scores of your OD part ? \n\n2. any external data used ?",
    "1464241": "Thank you!\n\n1. 5 folds UniverseNet101: 57.7 / 57 / 54.8 / 54 / 53 mAP (images without bboxes are kept).  LB: 0.096 / 0.096 / 0.094 / 0.096 / 0.096.\n\n2. No external dataset.",
    "1464369": "congrats @aidynub 🎉🎉"
  },
  "source": "meta"
}