{
  "id": 193415,
  "title": "12th Place Solution",
  "url": "/competitions/rsna-str-pulmonary-embolism-detection/discussion/193415",
  "author_name": "Kerem Turgutlu",
  "post_date": "2020-10-27T01:13:30.774000",
  "votes": 24,
  "comment_count": 9,
  "views": 0,
  "content": "<p>First, we would like to thank all the organizers, Kaggle and all the medical institutions who contributed their data and all the data annotators. As someone who previously tried to annotate an MRI scan during my internship I know a bit about how cumbersome and sensitive it's to annotate medical data. So appreciate it all!</p>\n<p>In overall it was a great yet challenging competition in terms of the data volume. We initially started training models from data shared by <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a>, without his generosity the barrier of entry to this competition would be too high for many participators. So, a special thank to him goes from our team.</p>\n<p>Although, starting off with 256x256 images was great for prototyping in computer vision problems you can always get significant boosts just by training with higher resolution images. At first we tried to create and save full resolution images using Kaggle kernels but it wasn't fun and easy since only 5GB disk space is allowed so we ended up using a cloud provider for the remaining experiments.</p>\n<p>First, we created full resolution training images using the same windowing shared publicly and also leveraged great utilities from <a href=\"https://docs.fast.ai/medical.imaging\" target=\"_blank\">https://docs.fast.ai/medical.imaging</a>. GDCM was also a requirement, because not all images were readable without it.</p>\n<p>We extracted both images and metadata.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fc18414a7c1f639ec7d082bc8632e17e3%2Fdata_prep.jpg?generation=1603759954173470&amp;alt=media\" alt=\"\"></p>\n<p>Later we trained CNN models for predicting Image level PE.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fd930773d07281b83ce33642edd90bf0e%2Fcnn_models.jpg?generation=1603760506036737&amp;alt=media\" alt=\"\"></p>\n<p>Then we used an LSTM model to predict image level PE and exam level predictions.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fdf271e5837b3de4d8a0fefad7f7cd63f%2Flstm_sigmoid.jpg?generation=1603760549832762&amp;alt=media\" alt=\"\"></p>\n<p><a href=\"https://www.kaggle.com/keremt/12th-place-rsna-pe-inference?scriptVersionId=45505224\" target=\"_blank\">Inference Kernel</a></p>\n<p>Other Notes:</p>\n<ul>\n<li>5 folds validation scheme.</li>\n<li>Sequence model directly optimized on competition metric.</li>\n<li>Tried EfficientNet but we had problems with overfitting.</li>\n<li>Didn't have time for stacking experiments.</li>\n</ul>\n<p>Code for this competition will be publicly available in this <a href=\"https://github.com/KeremTurgutlu/rsna-pulmonary-embolism\" target=\"_blank\">repo</a>. </p>\n<p>Special thanks to my teammates: <a href=\"https://www.kaggle.com/jesucristo\" target=\"_blank\">@jesucristo</a>, <a href=\"https://www.kaggle.com/josealways123\" target=\"_blank\">@josealways123</a> and <a href=\"https://www.kaggle.com/atikahamed\" target=\"_blank\">@atikahamed</a></p>",
  "messages": [
    {
      "id": 1061384,
      "postDate": "2020-10-27T01:13:30.773Z",
      "content": "<p>First, we would like to thank all the organizers, Kaggle and all the medical institutions who contributed their data and all the data annotators. As someone who previously tried to annotate an MRI scan during my internship I know a bit about how cumbersome and sensitive it's to annotate medical data. So appreciate it all!</p>\n<p>In overall it was a great yet challenging competition in terms of the data volume. We initially started training models from data shared by <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a>, without his generosity the barrier of entry to this competition would be too high for many participators. So, a special thank to him goes from our team.</p>\n<p>Although, starting off with 256x256 images was great for prototyping in computer vision problems you can always get significant boosts just by training with higher resolution images. At first we tried to create and save full resolution images using Kaggle kernels but it wasn't fun and easy since only 5GB disk space is allowed so we ended up using a cloud provider for the remaining experiments.</p>\n<p>First, we created full resolution training images using the same windowing shared publicly and also leveraged great utilities from <a href=\"https://docs.fast.ai/medical.imaging\" target=\"_blank\">https://docs.fast.ai/medical.imaging</a>. GDCM was also a requirement, because not all images were readable without it.</p>\n<p>We extracted both images and metadata.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fc18414a7c1f639ec7d082bc8632e17e3%2Fdata_prep.jpg?generation=1603759954173470&amp;alt=media\" alt=\"\"></p>\n<p>Later we trained CNN models for predicting Image level PE.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fd930773d07281b83ce33642edd90bf0e%2Fcnn_models.jpg?generation=1603760506036737&amp;alt=media\" alt=\"\"></p>\n<p>Then we used an LSTM model to predict image level PE and exam level predictions.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fdf271e5837b3de4d8a0fefad7f7cd63f%2Flstm_sigmoid.jpg?generation=1603760549832762&amp;alt=media\" alt=\"\"></p>\n<p><a href=\"https://www.kaggle.com/keremt/12th-place-rsna-pe-inference?scriptVersionId=45505224\" target=\"_blank\">Inference Kernel</a></p>\n<p>Other Notes:</p>\n<ul>\n<li>5 folds validation scheme.</li>\n<li>Sequence model directly optimized on competition metric.</li>\n<li>Tried EfficientNet but we had problems with overfitting.</li>\n<li>Didn't have time for stacking experiments.</li>\n</ul>\n<p>Code for this competition will be publicly available in this <a href=\"https://github.com/KeremTurgutlu/rsna-pulmonary-embolism\" target=\"_blank\">repo</a>. </p>\n<p>Special thanks to my teammates: <a href=\"https://www.kaggle.com/jesucristo\" target=\"_blank\">@jesucristo</a>, <a href=\"https://www.kaggle.com/josealways123\" target=\"_blank\">@josealways123</a> and <a href=\"https://www.kaggle.com/atikahamed\" target=\"_blank\">@atikahamed</a></p>",
      "rawMarkdown": "First, we would like to thank all the organizers, Kaggle and all the medical institutions who contributed their data and all the data annotators. As someone who previously tried to annotate an MRI scan during my internship I know a bit about how cumbersome and sensitive it's to annotate medical data. So appreciate it all!\n\nIn overall it was a great yet challenging competition in terms of the data volume. We initially started training models from data shared by @vaillant, without his generosity the barrier of entry to this competition would be too high for many participators. So, a special thank to him goes from our team.\n\nAlthough, starting off with 256x256 images was great for prototyping in computer vision problems you can always get significant boosts just by training with higher resolution images. At first we tried to create and save full resolution images using Kaggle kernels but it wasn't fun and easy since only 5GB disk space is allowed so we ended up using a cloud provider for the remaining experiments.\n\nFirst, we created full resolution training images using the same windowing shared publicly and also leveraged great utilities from https://docs.fast.ai/medical.imaging. GDCM was also a requirement, because not all images were readable without it.\n\nWe extracted both images and metadata.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fc18414a7c1f639ec7d082bc8632e17e3%2Fdata_prep.jpg?generation=1603759954173470&alt=media)\n\nLater we trained CNN models for predicting Image level PE.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fd930773d07281b83ce33642edd90bf0e%2Fcnn_models.jpg?generation=1603760506036737&alt=media)\n\nThen we used an LSTM model to predict image level PE and exam level predictions.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fdf271e5837b3de4d8a0fefad7f7cd63f%2Flstm_sigmoid.jpg?generation=1603760549832762&alt=media)\n\n\n[Inference Kernel](https://www.kaggle.com/keremt/12th-place-rsna-pe-inference?scriptVersionId=45505224)\n\nOther Notes:\n\n- 5 folds validation scheme.\n- Sequence model directly optimized on competition metric.\n- Tried EfficientNet but we had problems with overfitting.\n- Didn't have time for stacking experiments.\n\n\nCode for this competition will be publicly available in this [repo](https://github.com/KeremTurgutlu/rsna-pulmonary-embolism). \n\nSpecial thanks to my teammates: @jesucristo, @josealways123 and @atikahamed\n\n",
      "votes": 24
    },
    {
      "id": 1061386,
      "postDate": "2020-10-27T01:19:04.620Z",
      "content": "<p><a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> was a real pleasure all these nights working together haha<br>\nGitHub will be ready soon (in case link does not work rn)</p>",
      "rawMarkdown": "@keremt was a real pleasure all these nights working together haha\nGitHub will be ready soon (in case link does not work rn)",
      "votes": 3,
      "replies": [
        {
          "id": 1061701,
          "postDate": "2020-10-27T08:27:23.973Z",
          "content": "<p>Sorry for barely missing the gold medal. Better luck next time! 💯</p>",
          "rawMarkdown": "Sorry for barely missing the gold medal. Better luck next time! 💯",
          "votes": 1
        }
      ]
    },
    {
      "id": 1061761,
      "postDate": "2020-10-27T09:56:47.740Z",
      "content": "<p>Congrats <a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> and thanks for little explanation. ;)</p>",
      "rawMarkdown": "Congrats @keremt and thanks for little explanation. ;)",
      "votes": 1
    },
    {
      "id": 1061467,
      "postDate": "2020-10-27T03:00:58.773Z",
      "content": "<p>Congrats! Very solid solution.</p>",
      "rawMarkdown": "Congrats! Very solid solution.",
      "votes": 1,
      "replies": [
        {
          "id": 1061550,
          "postDate": "2020-10-27T04:49:55.523Z",
          "content": "<p>Thank you :)</p>",
          "rawMarkdown": "Thank you :)"
        }
      ]
    },
    {
      "id": 1061411,
      "postDate": "2020-10-27T02:09:39.060Z",
      "content": "<p>Congrats on results <a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> and team. Thanks for the writeup solution!</p>",
      "rawMarkdown": "Congrats on results @keremt and team. Thanks for the writeup solution!",
      "votes": 1,
      "replies": [
        {
          "id": 1061551,
          "postDate": "2020-10-27T04:50:05.783Z",
          "content": "<p>Thank you :)</p>",
          "rawMarkdown": "Thank you :)"
        }
      ]
    },
    {
      "id": 1062299,
      "postDate": "2020-10-27T18:08:35.533Z",
      "content": "<p>Congratz on the nice finish ! It's only a matter of time before you (and your teammates) catch your first gold, so keep up the great work !</p>",
      "rawMarkdown": "Congratz on the nice finish ! It's only a matter of time before you (and your teammates) catch your first gold, so keep up the great work !",
      "votes": 2,
      "replies": [
        {
          "id": 1062528,
          "postDate": "2020-10-27T23:59:46.913Z",
          "content": "<p>Thank you, hopefully next time :)</p>",
          "rawMarkdown": "Thank you, hopefully next time :)"
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 1061386,
      "author_name": "Nanashi",
      "author_url": "",
      "post_date": "2020-10-27T01:19:04.620000",
      "content": "<p><a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> was a real pleasure all these nights working together haha<br>\nGitHub will be ready soon (in case link does not work rn)</p>",
      "votes": 3,
      "replies": [
        {
          "id": 1061701,
          "author_name": "sin",
          "author_url": "",
          "post_date": "2020-10-27T08:27:23.973000",
          "content": "<p>Sorry for barely missing the gold medal. Better luck next time! 💯</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1061761,
      "author_name": "Rounak Agarwal",
      "author_url": "",
      "post_date": "2020-10-27T09:56:47.740000",
      "content": "<p>Congrats <a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> and thanks for little explanation. ;)</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1061467,
      "author_name": "sin",
      "author_url": "",
      "post_date": "2020-10-27T03:00:58.773000",
      "content": "<p>Congrats! Very solid solution.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1061550,
          "author_name": "Kerem Turgutlu",
          "author_url": "",
          "post_date": "2020-10-27T04:49:55.523000",
          "content": "<p>Thank you :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1061411,
      "author_name": "KhanhVD",
      "author_url": "",
      "post_date": "2020-10-27T02:09:39.060000",
      "content": "<p>Congrats on results <a href=\"https://www.kaggle.com/keremt\" target=\"_blank\">@keremt</a> and team. Thanks for the writeup solution!</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1061551,
          "author_name": "Kerem Turgutlu",
          "author_url": "",
          "post_date": "2020-10-27T04:50:05.783000",
          "content": "<p>Thank you :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1062299,
      "author_name": "Theo Viel",
      "author_url": "",
      "post_date": "2020-10-27T18:08:35.533000",
      "content": "<p>Congratz on the nice finish ! It's only a matter of time before you (and your teammates) catch your first gold, so keep up the great work !</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1062528,
          "author_name": "Kerem Turgutlu",
          "author_url": "",
          "post_date": "2020-10-27T23:59:46.913000",
          "content": "<p>Thank you, hopefully next time :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1061384": "First, we would like to thank all the organizers, Kaggle and all the medical institutions who contributed their data and all the data annotators. As someone who previously tried to annotate an MRI scan during my internship I know a bit about how cumbersome and sensitive it's to annotate medical data. So appreciate it all!\n\nIn overall it was a great yet challenging competition in terms of the data volume. We initially started training models from data shared by @vaillant, without his generosity the barrier of entry to this competition would be too high for many participators. So, a special thank to him goes from our team.\n\nAlthough, starting off with 256x256 images was great for prototyping in computer vision problems you can always get significant boosts just by training with higher resolution images. At first we tried to create and save full resolution images using Kaggle kernels but it wasn't fun and easy since only 5GB disk space is allowed so we ended up using a cloud provider for the remaining experiments.\n\nFirst, we created full resolution training images using the same windowing shared publicly and also leveraged great utilities from https://docs.fast.ai/medical.imaging. GDCM was also a requirement, because not all images were readable without it.\n\nWe extracted both images and metadata.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fc18414a7c1f639ec7d082bc8632e17e3%2Fdata_prep.jpg?generation=1603759954173470&alt=media)\n\nLater we trained CNN models for predicting Image level PE.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fd930773d07281b83ce33642edd90bf0e%2Fcnn_models.jpg?generation=1603760506036737&alt=media)\n\nThen we used an LSTM model to predict image level PE and exam level predictions.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F558069%2Fdf271e5837b3de4d8a0fefad7f7cd63f%2Flstm_sigmoid.jpg?generation=1603760549832762&alt=media)\n\n\n[Inference Kernel](https://www.kaggle.com/keremt/12th-place-rsna-pe-inference?scriptVersionId=45505224)\n\nOther Notes:\n\n- 5 folds validation scheme.\n- Sequence model directly optimized on competition metric.\n- Tried EfficientNet but we had problems with overfitting.\n- Didn't have time for stacking experiments.\n\n\nCode for this competition will be publicly available in this [repo](https://github.com/KeremTurgutlu/rsna-pulmonary-embolism). \n\nSpecial thanks to my teammates: @jesucristo, @josealways123 and @atikahamed\n\n",
    "1061386": "@keremt was a real pleasure all these nights working together haha\nGitHub will be ready soon (in case link does not work rn)",
    "1061761": "Congrats @keremt and thanks for little explanation. ;)",
    "1061467": "Congrats! Very solid solution.",
    "1061411": "Congrats on results @keremt and team. Thanks for the writeup solution!",
    "1062299": "Congratz on the nice finish ! It's only a matter of time before you (and your teammates) catch your first gold, so keep up the great work !"
  }
}