{
  "id": 335996,
  "title": "I manually labeled 20.000 images (clot vs. background)",
  "url": "/competitions/mayo-clinic-strip-ai/discussion/335996",
  "author_name": "moth",
  "post_date": "2022-07-08T20:30:49.732000",
  "votes": 34,
  "comment_count": 12,
  "views": 0,
  "content": "<p>Hello guys and welcome to this competition!</p>\n<p>Image classification is one of the simplest tasks on Computer Vision with tonnes of examples and models available on Kaggle. However, in this competition you will have to <strong>deal with very large images!</strong> Most CNN architectures handle much lower resolutions than the images provided.</p>\n<h3>How can we tackle this problem? 🤔</h3>\n<p>One way to tackle this problem is to <strong>divide these enormous images into smaller crops</strong>, like 1024x1024 and individually classify them. This has already been done by  <a href=\"https://www.kaggle.com/robikscube\" target=\"_blank\">@robikscube</a> for you <a href=\"https://www.kaggle.com/competitions/mayo-clinic-strip-ai/discussion/335755\" target=\"_blank\">here</a>!</p>\n<p>But our problems do not end here ☹️. Most of our crops consist of background! This is a huge problem in two ways:</p>\n<ol>\n<li>First, background introduces noise and adds little to no information.</li>\n<li>Second and most important, training with background images is very computationally expensive, leading to worse results with larger training times.</li>\n</ol>\n<h3>How can we get rid of backgrounds?</h3>\n<p>Fortunately, we can simply deal with backgrounds by training a binary classifier that distinguishes backgrounds from blood clots 🩸. But to do so we need labeled data😢! Luckily for you, I have manually labeled 20000 images from Rob's crops, 10000 backgrounds and 10000 clots, so our classifier can be trained with this balanced dataset! 🎉🎊</p>\n<p>You can find this <a href=\"https://www.kaggle.com/datasets/alejopaullier/strip-ai-background-clot\" target=\"_blank\">dataset here</a>.</p>",
  "messages": [
    {
      "id": 1848688,
      "postDate": "2022-07-08T20:30:49.733Z",
      "content": "<p>Hello guys and welcome to this competition!</p>\n<p>Image classification is one of the simplest tasks on Computer Vision with tonnes of examples and models available on Kaggle. However, in this competition you will have to <strong>deal with very large images!</strong> Most CNN architectures handle much lower resolutions than the images provided.</p>\n<h3>How can we tackle this problem? 🤔</h3>\n<p>One way to tackle this problem is to <strong>divide these enormous images into smaller crops</strong>, like 1024x1024 and individually classify them. This has already been done by  <a href=\"https://www.kaggle.com/robikscube\" target=\"_blank\">@robikscube</a> for you <a href=\"https://www.kaggle.com/competitions/mayo-clinic-strip-ai/discussion/335755\" target=\"_blank\">here</a>!</p>\n<p>But our problems do not end here ☹️. Most of our crops consist of background! This is a huge problem in two ways:</p>\n<ol>\n<li>First, background introduces noise and adds little to no information.</li>\n<li>Second and most important, training with background images is very computationally expensive, leading to worse results with larger training times.</li>\n</ol>\n<h3>How can we get rid of backgrounds?</h3>\n<p>Fortunately, we can simply deal with backgrounds by training a binary classifier that distinguishes backgrounds from blood clots 🩸. But to do so we need labeled data😢! Luckily for you, I have manually labeled 20000 images from Rob's crops, 10000 backgrounds and 10000 clots, so our classifier can be trained with this balanced dataset! 🎉🎊</p>\n<p>You can find this <a href=\"https://www.kaggle.com/datasets/alejopaullier/strip-ai-background-clot\" target=\"_blank\">dataset here</a>.</p>",
      "rawMarkdown": "Hello guys and welcome to this competition!\n\nImage classification is one of the simplest tasks on Computer Vision with tonnes of examples and models available on Kaggle. However, in this competition you will have to **deal with very large images!** Most CNN architectures handle much lower resolutions than the images provided.\n\n### How can we tackle this problem? 🤔\n\nOne way to tackle this problem is to **divide these enormous images into smaller crops**, like 1024x1024 and individually classify them. This has already been done by  @robikscube for you [here](https://www.kaggle.com/competitions/mayo-clinic-strip-ai/discussion/335755)!\n\nBut our problems do not end here ☹️. Most of our crops consist of background! This is a huge problem in two ways:\n1. First, background introduces noise and adds little to no information.\n2. Second and most important, training with background images is very computationally expensive, leading to worse results with larger training times.\n\n### How can we get rid of backgrounds?\n\nFortunately, we can simply deal with backgrounds by training a binary classifier that distinguishes backgrounds from blood clots 🩸. But to do so we need labeled data😢! Luckily for you, I have manually labeled 20000 images from Rob's crops, 10000 backgrounds and 10000 clots, so our classifier can be trained with this balanced dataset! 🎉🎊\n\nYou can find this [dataset here](https://www.kaggle.com/datasets/alejopaullier/strip-ai-background-clot).",
      "votes": 34
    },
    {
      "id": 1854678,
      "postDate": "2022-07-13T22:46:49.320Z",
      "content": "<p>In my <a href=\"https://www.kaggle.com/code/dschettler8845/mcsai-exploratory-data-analysis-baseline\" target=\"_blank\"><strong>EDA</strong></a> I use a metric where I count the number of pixels that have values smaller than 2*(255/3) and if there are less than some threshold I consider that tile to be \"background\". Here are some images showing the result. <strong>NOTE: if the tile is bordered in black it is the background… otherwise it is the foreground</strong>.</p>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 1</strong></p>\n<p><br></p>\n<hr>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___20_1.png\" alt=\"image_1\"></p>\n<hr>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 2</strong></p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___21_1.png\" alt=\"image_2\"></p>\n<hr>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 3</strong></p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___25_41.png\" alt=\"image_3\"></p>\n<hr>\n<p>Thanks again for the efforts!</p>",
      "rawMarkdown": "In my [**EDA**](https://www.kaggle.com/code/dschettler8845/mcsai-exploratory-data-analysis-baseline) I use a metric where I count the number of pixels that have values smaller than 2*(255/3) and if there are less than some threshold I consider that tile to be \"background\". Here are some images showing the result. **NOTE: if the tile is bordered in black it is the background... otherwise it is the foreground**.\n\n<br>\n\n**EXAMPLE IMAGE 1**\n\n<br>\n\n---\n\n![image_1](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___20_1.png)\n\n---\n\n<br>\n\n**EXAMPLE IMAGE 2**\n\n![image_2](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___21_1.png)\n\n---\n\n<br>\n\n**EXAMPLE IMAGE 3**\n\n![image_3](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___25_41.png)\n\n---\n\nThanks again for the efforts!",
      "votes": 5,
      "replies": [
        {
          "id": 1855930,
          "postDate": "2022-07-15T03:00:33.797Z",
          "content": "<p>Thanks for the comment Darien. I am not able to see the images, maybe there was something wrong with the link?</p>",
          "rawMarkdown": "Thanks for the comment Darien. I am not able to see the images, maybe there was something wrong with the link?"
        }
      ]
    },
    {
      "id": 1849646,
      "postDate": "2022-07-09T17:26:01.277Z",
      "content": "<p>Can you simplify take std which is almost 0 for background as it is mostly uniform? </p>",
      "rawMarkdown": "Can you simplify take std which is almost 0 for background as it is mostly uniform? ",
      "votes": 1,
      "replies": [
        {
          "id": 1849782,
          "postDate": "2022-07-09T19:28:45.537Z",
          "content": "<p>That's a good question. I guess that is valid for some cases where background is predominant and could be used as a baseline. You could take a small sample and calculate which is the optimal std deviation for detecting backgrounds. </p>\n<p>My approach is to use these manually label images to train a classifier which I guess would achieve higher performance and be more robust to edge cases.</p>\n<p>You can find the notebook on this classifier <a href=\"https://www.kaggle.com/code/alejopaullier/background-vs-clots-classifier\" target=\"_blank\">here</a>!</p>",
          "rawMarkdown": "That's a good question. I guess that is valid for some cases where background is predominant and could be used as a baseline. You could take a small sample and calculate which is the optimal std deviation for detecting backgrounds. \n\nMy approach is to use these manually label images to train a classifier which I guess would achieve higher performance and be more robust to edge cases.\n\nYou can find the notebook on this classifier [here](https://www.kaggle.com/code/alejopaullier/background-vs-clots-classifier)!"
        }
      ]
    },
    {
      "id": 1848780,
      "postDate": "2022-07-08T22:19:33.140Z",
      "content": "<p>Hi there, as <a href=\"https://www.kaggle.com/harshitsheoran\" target=\"_blank\">@harshitsheoran</a> mentioned the dataset is still private. Thanks for putting this together!</p>",
      "rawMarkdown": "Hi there, as @harshitsheoran mentioned the dataset is still private. Thanks for putting this together!",
      "votes": 1,
      "replies": [
        {
          "id": 1849030,
          "postDate": "2022-07-09T06:11:56.760Z",
          "content": "<p>Thanks for noticing it. Now it's public!</p>",
          "rawMarkdown": "Thanks for noticing it. Now it's public!"
        }
      ]
    },
    {
      "id": 1848775,
      "postDate": "2022-07-08T22:11:57.490Z",
      "content": "<p>Thank you for your efforts, it takes persistence to manually label 20k images<br>\n[NOTE]: Your dataset is at the time of writing this, not public.</p>",
      "rawMarkdown": "Thank you for your efforts, it takes persistence to manually label 20k images\n[NOTE]: Your dataset is at the time of writing this, not public.",
      "votes": 1,
      "replies": [
        {
          "id": 1849032,
          "postDate": "2022-07-09T06:12:44.667Z",
          "content": "<p>Thanks for mentioning it! As I uploaded it using the API I forgot to set it public!</p>",
          "rawMarkdown": "Thanks for mentioning it! As I uploaded it using the API I forgot to set it public!"
        }
      ]
    },
    {
      "id": 1881739,
      "postDate": "2022-08-02T18:24:01.550Z",
      "content": "<p>Thanks for sharing! It's useful for prototyping different models </p>",
      "rawMarkdown": "Thanks for sharing! It's useful for prototyping different models "
    },
    {
      "id": 1910301,
      "postDate": "2022-08-23T10:30:54.003Z",
      "rawMarkdown": "",
      "votes": -1,
      "isDeleted": true
    },
    {
      "id": 1917032,
      "postDate": "2022-08-28T11:26:04.917Z",
      "content": "<p>Thanks for your sharing!</p>",
      "rawMarkdown": "Thanks for your sharing!",
      "votes": 1
    },
    {
      "id": 1854543,
      "postDate": "2022-07-13T19:16:08.040Z",
      "content": "<p>Excellent thanks a lot</p>",
      "rawMarkdown": "Excellent thanks a lot",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 1854678,
      "author_name": "Darien Schettler",
      "author_url": "",
      "post_date": "2022-07-13T22:46:49.320000",
      "content": "<p>In my <a href=\"https://www.kaggle.com/code/dschettler8845/mcsai-exploratory-data-analysis-baseline\" target=\"_blank\"><strong>EDA</strong></a> I use a metric where I count the number of pixels that have values smaller than 2*(255/3) and if there are less than some threshold I consider that tile to be \"background\". Here are some images showing the result. <strong>NOTE: if the tile is bordered in black it is the background… otherwise it is the foreground</strong>.</p>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 1</strong></p>\n<p><br></p>\n<hr>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___20_1.png\" alt=\"image_1\"></p>\n<hr>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 2</strong></p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___21_1.png\" alt=\"image_2\"></p>\n<hr>\n<p><br></p>\n<p><strong>EXAMPLE IMAGE 3</strong></p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___25_41.png\" alt=\"image_3\"></p>\n<hr>\n<p>Thanks again for the efforts!</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1855930,
          "author_name": "moth",
          "author_url": "",
          "post_date": "2022-07-15T03:00:33.797000",
          "content": "<p>Thanks for the comment Darien. I am not able to see the images, maybe there was something wrong with the link?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1849646,
      "author_name": "Jirka",
      "author_url": "",
      "post_date": "2022-07-09T17:26:01.277000",
      "content": "<p>Can you simplify take std which is almost 0 for background as it is mostly uniform? </p>",
      "votes": 1,
      "replies": [
        {
          "id": 1849782,
          "author_name": "moth",
          "author_url": "",
          "post_date": "2022-07-09T19:28:45.537000",
          "content": "<p>That's a good question. I guess that is valid for some cases where background is predominant and could be used as a baseline. You could take a small sample and calculate which is the optimal std deviation for detecting backgrounds. </p>\n<p>My approach is to use these manually label images to train a classifier which I guess would achieve higher performance and be more robust to edge cases.</p>\n<p>You can find the notebook on this classifier <a href=\"https://www.kaggle.com/code/alejopaullier/background-vs-clots-classifier\" target=\"_blank\">here</a>!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1848780,
      "author_name": "Darien Schettler",
      "author_url": "",
      "post_date": "2022-07-08T22:19:33.140000",
      "content": "<p>Hi there, as <a href=\"https://www.kaggle.com/harshitsheoran\" target=\"_blank\">@harshitsheoran</a> mentioned the dataset is still private. Thanks for putting this together!</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1849030,
          "author_name": "moth",
          "author_url": "",
          "post_date": "2022-07-09T06:11:56.760000",
          "content": "<p>Thanks for noticing it. Now it's public!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1848775,
      "author_name": "Harshit Sheoran",
      "author_url": "",
      "post_date": "2022-07-08T22:11:57.490000",
      "content": "<p>Thank you for your efforts, it takes persistence to manually label 20k images<br>\n[NOTE]: Your dataset is at the time of writing this, not public.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1849032,
          "author_name": "moth",
          "author_url": "",
          "post_date": "2022-07-09T06:12:44.667000",
          "content": "<p>Thanks for mentioning it! As I uploaded it using the API I forgot to set it public!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1881739,
      "author_name": "Nghi Huynh",
      "author_url": "",
      "post_date": "2022-08-02T18:24:01.550000",
      "content": "<p>Thanks for sharing! It's useful for prototyping different models </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1910301,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-08-23T10:30:54.003000",
      "content": "",
      "votes": -1,
      "replies": []
    },
    {
      "id": 1917032,
      "author_name": "guansuo",
      "author_url": "",
      "post_date": "2022-08-28T11:26:04.917000",
      "content": "<p>Thanks for your sharing!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1854543,
      "author_name": "mario jp",
      "author_url": "",
      "post_date": "2022-07-13T19:16:08.040000",
      "content": "<p>Excellent thanks a lot</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1848688": "Hello guys and welcome to this competition!\n\nImage classification is one of the simplest tasks on Computer Vision with tonnes of examples and models available on Kaggle. However, in this competition you will have to **deal with very large images!** Most CNN architectures handle much lower resolutions than the images provided.\n\n### How can we tackle this problem? 🤔\n\nOne way to tackle this problem is to **divide these enormous images into smaller crops**, like 1024x1024 and individually classify them. This has already been done by  @robikscube for you [here](https://www.kaggle.com/competitions/mayo-clinic-strip-ai/discussion/335755)!\n\nBut our problems do not end here ☹️. Most of our crops consist of background! This is a huge problem in two ways:\n1. First, background introduces noise and adds little to no information.\n2. Second and most important, training with background images is very computationally expensive, leading to worse results with larger training times.\n\n### How can we get rid of backgrounds?\n\nFortunately, we can simply deal with backgrounds by training a binary classifier that distinguishes backgrounds from blood clots 🩸. But to do so we need labeled data😢! Luckily for you, I have manually labeled 20000 images from Rob's crops, 10000 backgrounds and 10000 clots, so our classifier can be trained with this balanced dataset! 🎉🎊\n\nYou can find this [dataset here](https://www.kaggle.com/datasets/alejopaullier/strip-ai-background-clot).",
    "1854678": "In my [**EDA**](https://www.kaggle.com/code/dschettler8845/mcsai-exploratory-data-analysis-baseline) I use a metric where I count the number of pixels that have values smaller than 2*(255/3) and if there are less than some threshold I consider that tile to be \"background\". Here are some images showing the result. **NOTE: if the tile is bordered in black it is the background... otherwise it is the foreground**.\n\n<br>\n\n**EXAMPLE IMAGE 1**\n\n<br>\n\n---\n\n![image_1](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___20_1.png)\n\n---\n\n<br>\n\n**EXAMPLE IMAGE 2**\n\n![image_2](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___21_1.png)\n\n---\n\n<br>\n\n**EXAMPLE IMAGE 3**\n\n![image_3](https://www.kaggleusercontent.com/kf/100598380/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..qXbwC62P5DZOQZWZuAMONA.3R3p7LWkt2jHBcs75jREkgHyvcTG4UEpgrSRsU5WxAkoiks_FkfiXqZIYEaJOP712W3xsq1idY4XSyhvOUXaYkK3-Zpa1pIpAuVUnP2hK92YPV-Hu0CRZx9XHy-pb5bsC2UTHXT_BhWz6RtALYfEG0k5dMnyN1BaoXqpo4N53Ze9ijyiYyYEtarl9JLYEs5ygLyDE_3wu-eC-LUi7TR0MbodaB7_Gxb9WYUWt6qrODcQMPs6-ENuXyYbYblmhadkEy-OvW5R2VErH_MrOoQPkohDiF9ISZlh942_Sy0V5WjJeYkNefqj5jcAwcDjrwLhOzSZjgJrR2dKHSvS2-hUaLi0vbnTiYi3FjHmPFRYXFFUzUYHYQvEQh261PV_6GbnJXTRVPmFIxtm1ahd3dJNTTY_Wu-7lyaDjc7C4emlii2VfMOlUC1XTJaI6zkQOEQMZHKhWq2j0w8ImZmtEP__fAAAWC9qVGjHj02qzoFkmh3vxmkuHalnGatyIu0YB37vfmmLRU_6Uq1_2e5uSM9c62QheC8cqG9w_itrxB-2mdhdtuT6OjC3hFZGyP0buLc0SzC0ocE_qvKU6uMLUtDHxH_xrNTGZqpyh4myIz4TIbrV7XhwQ1412s1VGIvfXgKt2w6ynzHvmXLd45xCPKGZilwlgl5857zRfLehm8kLvZx63ECiymonU5PZysy4vyEP.bjo_nf9oOO9IJYzjy6i4LQ/__results___files/__results___25_41.png)\n\n---\n\nThanks again for the efforts!",
    "1849646": "Can you simplify take std which is almost 0 for background as it is mostly uniform? ",
    "1848780": "Hi there, as @harshitsheoran mentioned the dataset is still private. Thanks for putting this together!",
    "1848775": "Thank you for your efforts, it takes persistence to manually label 20k images\n[NOTE]: Your dataset is at the time of writing this, not public.",
    "1881739": "Thanks for sharing! It's useful for prototyping different models ",
    "1910301": "",
    "1917032": "Thanks for your sharing!",
    "1854543": "Excellent thanks a lot"
  }
}