{
  "id": 320271,
  "title": "83rd – 4 places away from Silver",
  "url": "/competitions/happy-whale-and-dolphin/writeups/igla-83rd-4-places-away-from-silver",
  "author_name": "",
  "post_date": "2022-04-20T22:54:58.117Z",
  "votes": 7,
  "comment_count": 1,
  "views": 0,
  "content": "<p><em>First, let me thank the Kaggle staff for organizing this great competition.</em><br>\n<em>Congratulations to all the winners. It is a super valuable and educative experience!</em></p>\n<p>Initially, I wasn't going to write this post because my solution is not as strong and thoughtful as other high-rank teams proposed. But, I thought that it would be interesting and knowledgeable for novice competitors like me. BTW, it can give some insights into what actions you may take to reach the bronze medal. The solution described here ranked me 83rd with a Bronze medal that is 4 places away from the Silver model after LB clean up.</p>\n<h2>Dataset</h2>\n<p>Super valuable cropped datasets are provided by <a href=\"https://www.kaggle.com/jpbremer\" target=\"_blank\">@jpbremer</a> which is backfin and fullbody. These two datasets served as a basis for my final submission.</p>\n<h2>Model</h2>\n<p>Due to limited time, I ended up only with Arcface. Arcface margin = 0.3 is chosen.<br>\nWhen we search nearest neighbors, concatenated embeddings from fullbody models and backfin models are used.<br>\nFollowing models are used as an essemble in the final submission:<br>\n<strong>Backfin dataset</strong></p>\n<ul>\n<li>image size 544</li>\n<li>Efficientnet 5</li>\n<li>batch size 128</li>\n</ul>\n<hr>\n<ul>\n<li>backfin dataset</li>\n<li>image size 640</li>\n<li>Efficientnet 6</li>\n<li>batch size 64</li>\n</ul>\n<p><strong>Fullbody dataset</strong></p>\n<ul>\n<li>image size 576</li>\n<li>Efficientnet 5</li>\n<li>batch 128</li>\n</ul>\n<hr>\n<ul>\n<li>image size 640</li>\n<li>Efficientnet 6</li>\n<li>batch 64</li>\n</ul>\n<hr>\n<ul>\n<li>image size 608</li>\n<li>Efficientnet 7</li>\n<li>batch 64</li>\n</ul>\n<p><strong>Trained only with beluga images from fullbody</strong></p>\n<ul>\n<li>image size 704</li>\n<li>Efficientnet 5</li>\n<li>batch size 64</li>\n</ul>\n<h2>Augmentation</h2>\n<p>Slightly different augmentations are used for backfin and fullbody. They are the following:<br>\n<strong>Backfin</strong></p>\n<pre><code>Flip left-right\nRotation +/- 10 deg\nGray 0.6\nBrightness +/- 0.15\nHue 0.05\nSaturation 0.50 – 1.50\nContrast 0.55 – 1.45\nShift vertical=0.02, horizontal=0.07\n</code></pre>\n<p>The only changes to fullbody are:</p>\n<pre><code>Rotation +/- 8 deg\nNo gray\nBrightness +/- 0.10\nHue 0.02\nNo shift\n</code></pre>\n<h2>TTA</h2>\n<p>It did not work well here. In this case, the only augmentation that was used is horizontal flip.</p>\n<h2>Pseudo Label</h2>\n<p>It did not work for me for some reason. I see that many high-rank teams use it and it boosted the score. Something is wrong on my side.</p>\n<h2>Thresholding</h2>\n<p>To predict a <code>new_individual_id</code>, search for the maximum threshold by the predicted top5-species.</p>\n<h2>Ensemble</h2>\n<p>I concatenated different model target confidences with a sum strategy and sorted them in descending order which gave a good boost to my solution. </p>\n<p><code>Final LB Public 0.829, private 0.792</code></p>\n<p>Let me know if you have any questions!</p>",
  "messages": [
    {
      "id": "1762650",
      "postDate": "04/20/2022 21:43:06",
      "content": "<p><em>First, let me thank the Kaggle staff for organizing this great competition.</em><br>\n<em>Congratulations to all the winners. It is a super valuable and educative experience!</em></p>\n<p>Initially, I wasn't going to write this post because my solution is not as strong and thoughtful as other high-rank teams proposed. But, I thought that it would be interesting and knowledgeable for novice competitors like me. BTW, it can give some insights into what actions you may take to reach the bronze medal. The solution described here ranked me 83rd with a Bronze medal that is 4 places away from the Silver model after LB clean up.</p>\n<h2>Dataset</h2>\n<p>Super valuable cropped datasets are provided by <a href=\"https://www.kaggle.com/jpbremer\" target=\"_blank\">@jpbremer</a> which is backfin and fullbody. These two datasets served as a basis for my final submission.</p>\n<h2>Model</h2>\n<p>Due to limited time, I ended up only with Arcface. Arcface margin = 0.3 is chosen.<br>\nWhen we search nearest neighbors, concatenated embeddings from fullbody models and backfin models are used.<br>\nFollowing models are used as an essemble in the final submission:<br>\n<strong>Backfin dataset</strong></p>\n<ul>\n<li>image size 544</li>\n<li>Efficientnet 5</li>\n<li>batch size 128</li>\n</ul>\n<hr>\n<ul>\n<li>backfin dataset</li>\n<li>image size 640</li>\n<li>Efficientnet 6</li>\n<li>batch size 64</li>\n</ul>\n<p><strong>Fullbody dataset</strong></p>\n<ul>\n<li>image size 576</li>\n<li>Efficientnet 5</li>\n<li>batch 128</li>\n</ul>\n<hr>\n<ul>\n<li>image size 640</li>\n<li>Efficientnet 6</li>\n<li>batch 64</li>\n</ul>\n<hr>\n<ul>\n<li>image size 608</li>\n<li>Efficientnet 7</li>\n<li>batch 64</li>\n</ul>\n<p><strong>Trained only with beluga images from fullbody</strong></p>\n<ul>\n<li>image size 704</li>\n<li>Efficientnet 5</li>\n<li>batch size 64</li>\n</ul>\n<h2>Augmentation</h2>\n<p>Slightly different augmentations are used for backfin and fullbody. They are the following:<br>\n<strong>Backfin</strong></p>\n<pre><code>Flip left-right\nRotation +/- 10 deg\nGray 0.6\nBrightness +/- 0.15\nHue 0.05\nSaturation 0.50 – 1.50\nContrast 0.55 – 1.45\nShift vertical=0.02, horizontal=0.07\n</code></pre>\n<p>The only changes to fullbody are:</p>\n<pre><code>Rotation +/- 8 deg\nNo gray\nBrightness +/- 0.10\nHue 0.02\nNo shift\n</code></pre>\n<h2>TTA</h2>\n<p>It did not work well here. In this case, the only augmentation that was used is horizontal flip.</p>\n<h2>Pseudo Label</h2>\n<p>It did not work for me for some reason. I see that many high-rank teams use it and it boosted the score. Something is wrong on my side.</p>\n<h2>Thresholding</h2>\n<p>To predict a <code>new_individual_id</code>, search for the maximum threshold by the predicted top5-species.</p>\n<h2>Ensemble</h2>\n<p>I concatenated different model target confidences with a sum strategy and sorted them in descending order which gave a good boost to my solution. </p>\n<p><code>Final LB Public 0.829, private 0.792</code></p>\n<p>Let me know if you have any questions!</p>",
      "rawMarkdown": "*First, let me thank the Kaggle staff for organizing this great competition.*\n*Congratulations to all the winners. It is a super valuable and educative experience!*\n\nInitially, I wasn't going to write this post because my solution is not as strong and thoughtful as other high-rank teams proposed. But, I thought that it would be interesting and knowledgeable for novice competitors like me. BTW, it can give some insights into what actions you may take to reach the bronze medal. The solution described here ranked me 83rd with a Bronze medal that is 4 places away from the Silver model after LB clean up.\n\n## Dataset\nSuper valuable cropped datasets are provided by @jpbremer which is backfin and fullbody. These two datasets served as a basis for my final submission.\n\n## Model\n\nDue to limited time, I ended up only with Arcface. Arcface margin = 0.3 is chosen.\nWhen we search nearest neighbors, concatenated embeddings from fullbody models and backfin models are used.\nFollowing models are used as an essemble in the final submission:\n**Backfin dataset**\n- image size 544\n- Efficientnet 5\n- batch size 128\n*******\n- backfin dataset\n- image size 640\n- Efficientnet 6\n- batch size 64\n\n**Fullbody dataset**\n- image size 576\n- Efficientnet 5\n- batch 128\n*******\n- image size 640\n- Efficientnet 6\n- batch 64\n*******\n- image size 608\n- Efficientnet 7\n- batch 64\n\n**Trained only with beluga images from fullbody**\n- image size 704\n- Efficientnet 5\n- batch size 64\n\n## Augmentation\n\nSlightly different augmentations are used for backfin and fullbody. They are the following:\n**Backfin**\n```\nFlip left-right\nRotation +/- 10 deg\nGray 0.6\nBrightness +/- 0.15\nHue 0.05\nSaturation 0.50 – 1.50\nContrast 0.55 – 1.45\nShift vertical=0.02, horizontal=0.07\n```\n\nThe only changes to fullbody are:\n```\nRotation +/- 8 deg\nNo gray\nBrightness +/- 0.10\nHue 0.02\nNo shift\n```\n\n## TTA\nIt did not work well here. In this case, the only augmentation that was used is horizontal flip.\n\n## Pseudo Label\nIt did not work for me for some reason. I see that many high-rank teams use it and it boosted the score. Something is wrong on my side.\n\n## Thresholding\n\nTo predict a `new_individual_id`, search for the maximum threshold by the predicted top5-species.\n\n## Ensemble\n\nI concatenated different model target confidences with a sum strategy and sorted them in descending order which gave a good boost to my solution. \n\n`Final LB Public 0.829, private 0.792`\n\n\nLet me know if you have any questions!",
      "votes": null
    },
    {
      "id": "1764269",
      "postDate": "04/22/2022 10:22:45",
      "content": "<p>Great work and congrats on the 83rd position! </p>\n<p>Please don't be disheartened with missing the silver zone. We all are here for learnings and the medals follow as outcomes. You'll get many medals soon if you keep competing! 🙏🍵</p>",
      "rawMarkdown": "Great work and congrats on the 83rd position! \n\nPlease don't be disheartened with missing the silver zone. We all are here for learnings and the medals follow as outcomes. You'll get many medals soon if you keep competing! 🙏🍵",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1764269,
      "author_name": "init27",
      "author_url": "",
      "post_date": "04/22/2022 10:22:45",
      "content": "<p>Great work and congrats on the 83rd position! </p>\n<p>Please don't be disheartened with missing the silver zone. We all are here for learnings and the medals follow as outcomes. You'll get many medals soon if you keep competing! 🙏🍵</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1762650": "*First, let me thank the Kaggle staff for organizing this great competition.*\n*Congratulations to all the winners. It is a super valuable and educative experience!*\n\nInitially, I wasn't going to write this post because my solution is not as strong and thoughtful as other high-rank teams proposed. But, I thought that it would be interesting and knowledgeable for novice competitors like me. BTW, it can give some insights into what actions you may take to reach the bronze medal. The solution described here ranked me 83rd with a Bronze medal that is 4 places away from the Silver model after LB clean up.\n\n## Dataset\nSuper valuable cropped datasets are provided by @jpbremer which is backfin and fullbody. These two datasets served as a basis for my final submission.\n\n## Model\n\nDue to limited time, I ended up only with Arcface. Arcface margin = 0.3 is chosen.\nWhen we search nearest neighbors, concatenated embeddings from fullbody models and backfin models are used.\nFollowing models are used as an essemble in the final submission:\n**Backfin dataset**\n- image size 544\n- Efficientnet 5\n- batch size 128\n*******\n- backfin dataset\n- image size 640\n- Efficientnet 6\n- batch size 64\n\n**Fullbody dataset**\n- image size 576\n- Efficientnet 5\n- batch 128\n*******\n- image size 640\n- Efficientnet 6\n- batch 64\n*******\n- image size 608\n- Efficientnet 7\n- batch 64\n\n**Trained only with beluga images from fullbody**\n- image size 704\n- Efficientnet 5\n- batch size 64\n\n## Augmentation\n\nSlightly different augmentations are used for backfin and fullbody. They are the following:\n**Backfin**\n```\nFlip left-right\nRotation +/- 10 deg\nGray 0.6\nBrightness +/- 0.15\nHue 0.05\nSaturation 0.50 – 1.50\nContrast 0.55 – 1.45\nShift vertical=0.02, horizontal=0.07\n```\n\nThe only changes to fullbody are:\n```\nRotation +/- 8 deg\nNo gray\nBrightness +/- 0.10\nHue 0.02\nNo shift\n```\n\n## TTA\nIt did not work well here. In this case, the only augmentation that was used is horizontal flip.\n\n## Pseudo Label\nIt did not work for me for some reason. I see that many high-rank teams use it and it boosted the score. Something is wrong on my side.\n\n## Thresholding\n\nTo predict a `new_individual_id`, search for the maximum threshold by the predicted top5-species.\n\n## Ensemble\n\nI concatenated different model target confidences with a sum strategy and sorted them in descending order which gave a good boost to my solution. \n\n`Final LB Public 0.829, private 0.792`\n\n\nLet me know if you have any questions!",
    "1764269": "Great work and congrats on the 83rd position! \n\nPlease don't be disheartened with missing the silver zone. We all are here for learnings and the medals follow as outcomes. You'll get many medals soon if you keep competing! 🙏🍵"
  },
  "source": "meta"
}