{
  "id": 320205,
  "title": "30th Simple Solution ",
  "url": "/competitions/happy-whale-and-dolphin/writeups/wedidourbest-30th-simple-solution",
  "author_name": "",
  "post_date": "2022-04-20T16:57:55.560Z",
  "votes": 16,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I would like to thank the organizers for hosting the great competition.<br>\nalso, I congratulate all the top players.<br>\nI was very honored to become a teammate with <a href=\"https://www.kaggle.com/hwigeon\" target=\"_blank\">@hwigeon</a> </p>\n<h2>Data</h2>\n<p>We started the original dataset + detic crop at first.<br>\nWe doubled dataset with original dataset + detic crop in the same training phase to make our arcface learn a margin well. <br>\nbut finally, We manually made a cropped full-body dataset itself and replace this with the detic crop.</p>\n<h2>Models</h2>\n<p>Efficientnet 5,6,7+Arcface or Dolg,  Nfnet, Nfnet+hybridVit, Nfnet+dolg were used.  <br>\nArcface margin = 0.3 is chosen.<br>\nThe size range is [768~1024]<br>\nRAdam+Lookahead or Madgrad is chosen as optimizer. <br>\nOriginal dataset + our manually cropped dataset reached public LB 0.83x easily<br>\nAfter Pseudo labeling, we could have scored public LB 0.858, private LB 0.826  </p>\n<h2>Augmentation</h2>\n<p>Flip augmentation for Nfnet networks.<br>\nFlip + Hsv augmentation for Efficientnet.  </p>\n<h2>Validation</h2>\n<p>A valid dataset that only has 2 individuals are chosen as holdout.  <br>\nWe didn't care about new individuals since we believed that the top1 score matters most.<br>\nthe demerit of our validation set is that it can't post-process our results to predict new_individuals.<br>\nOur top1 cv reached 0.89x  </p>\n<h2>Postprocess</h2>\n<p>to use KNN, we concatenated all the embeddings to axis =-1<br>\nafter We used KNN=1 and gather nearest 880 individuals.<br>\nnew_individual threshold = 0.375,0.4,0.425,0.45 and voted five submissions using 1:1:1:1:1 weights.<br>\nwe can get value of cosine inner product output from arcface output and used it for reranking, but it doesn't help much. </p>\n<h2>What didn't work</h2>\n<p>Convnext, efficinentnetv2, swin transformer(384size) didn't work well for us. </p>\n<h2>Regret</h2>\n<p>We missed backfin while most of the competitors use backfin.<br>\nMany reports that using backfin is crucial for this competition.<br>\nWe used a little bit of a backfin, but it didn't seem so good, so we moved on right away.  </p>\n<p>We did our best while we were very busy with work and school, but we are sad to receive the silver medal. I will continue to make a lot of effort.  </p>\n<p>Thank you for reading this!</p>",
  "messages": [
    {
      "id": "1762193",
      "postDate": "04/20/2022 13:59:38",
      "content": "<p>I would like to thank the organizers for hosting the great competition.<br>\nalso, I congratulate all the top players.<br>\nI was very honored to become a teammate with <a href=\"https://www.kaggle.com/hwigeon\" target=\"_blank\">@hwigeon</a> </p>\n<h2>Data</h2>\n<p>We started the original dataset + detic crop at first.<br>\nWe doubled dataset with original dataset + detic crop in the same training phase to make our arcface learn a margin well. <br>\nbut finally, We manually made a cropped full-body dataset itself and replace this with the detic crop.</p>\n<h2>Models</h2>\n<p>Efficientnet 5,6,7+Arcface or Dolg,  Nfnet, Nfnet+hybridVit, Nfnet+dolg were used.  <br>\nArcface margin = 0.3 is chosen.<br>\nThe size range is [768~1024]<br>\nRAdam+Lookahead or Madgrad is chosen as optimizer. <br>\nOriginal dataset + our manually cropped dataset reached public LB 0.83x easily<br>\nAfter Pseudo labeling, we could have scored public LB 0.858, private LB 0.826  </p>\n<h2>Augmentation</h2>\n<p>Flip augmentation for Nfnet networks.<br>\nFlip + Hsv augmentation for Efficientnet.  </p>\n<h2>Validation</h2>\n<p>A valid dataset that only has 2 individuals are chosen as holdout.  <br>\nWe didn't care about new individuals since we believed that the top1 score matters most.<br>\nthe demerit of our validation set is that it can't post-process our results to predict new_individuals.<br>\nOur top1 cv reached 0.89x  </p>\n<h2>Postprocess</h2>\n<p>to use KNN, we concatenated all the embeddings to axis =-1<br>\nafter We used KNN=1 and gather nearest 880 individuals.<br>\nnew_individual threshold = 0.375,0.4,0.425,0.45 and voted five submissions using 1:1:1:1:1 weights.<br>\nwe can get value of cosine inner product output from arcface output and used it for reranking, but it doesn't help much. </p>\n<h2>What didn't work</h2>\n<p>Convnext, efficinentnetv2, swin transformer(384size) didn't work well for us. </p>\n<h2>Regret</h2>\n<p>We missed backfin while most of the competitors use backfin.<br>\nMany reports that using backfin is crucial for this competition.<br>\nWe used a little bit of a backfin, but it didn't seem so good, so we moved on right away.  </p>\n<p>We did our best while we were very busy with work and school, but we are sad to receive the silver medal. I will continue to make a lot of effort.  </p>\n<p>Thank you for reading this!</p>",
      "rawMarkdown": "I would like to thank the organizers for hosting the great competition.\nalso, I congratulate all the top players.\nI was very honored to become a teammate with @hwigeon \n\n\n##Data\nWe started the original dataset + detic crop at first.\nWe doubled dataset with original dataset + detic crop in the same training phase to make our arcface learn a margin well. \nbut finally, We manually made a cropped full-body dataset itself and replace this with the detic crop.\n\n\n##Models\nEfficientnet 5,6,7+Arcface or Dolg,  Nfnet, Nfnet+hybridVit, Nfnet+dolg were used.  \nArcface margin = 0.3 is chosen.\nThe size range is [768~1024]\nRAdam+Lookahead or Madgrad is chosen as optimizer. \nOriginal dataset + our manually cropped dataset reached public LB 0.83x easily\nAfter Pseudo labeling, we could have scored public LB 0.858, private LB 0.826  \n\n\n\n##Augmentation\nFlip augmentation for Nfnet networks.\nFlip + Hsv augmentation for Efficientnet.  \n\n\n\n##Validation\nA valid dataset that only has 2 individuals are chosen as holdout.  \nWe didn't care about new individuals since we believed that the top1 score matters most.\nthe demerit of our validation set is that it can't post-process our results to predict new_individuals.\nOur top1 cv reached 0.89x  \n\n\n##Postprocess\nto use KNN, we concatenated all the embeddings to axis =-1\nafter We used KNN=1 and gather nearest 880 individuals.\nnew_individual threshold = 0.375,0.4,0.425,0.45 and voted five submissions using 1:1:1:1:1 weights.\nwe can get value of cosine inner product output from arcface output and used it for reranking, but it doesn't help much. \n\n## What didn't work\nConvnext, efficinentnetv2, swin transformer(384size) didn't work well for us. \n\n\n##Regret\nWe missed backfin while most of the competitors use backfin.\nMany reports that using backfin is crucial for this competition.\nWe used a little bit of a backfin, but it didn't seem so good, so we moved on right away.  \n\n\nWe did our best while we were very busy with work and school, but we are sad to receive the silver medal. I will continue to make a lot of effort.  \n\n\nThank you for reading this!",
      "votes": null
    },
    {
      "id": "1762715",
      "postDate": "04/20/2022 23:45:38",
      "content": "<p>Great work@kaggler</p>",
      "rawMarkdown": "Great work@kaggler",
      "votes": null
    },
    {
      "id": "1762851",
      "postDate": "04/21/2022 02:51:51",
      "content": "<p>Thanks a lot👍</p>",
      "rawMarkdown": "Thanks a lot👍",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1762715,
      "author_name": "liuzhangzhen",
      "author_url": "",
      "post_date": "04/20/2022 23:45:38",
      "content": "<p>Great work@kaggler</p>",
      "votes": null,
      "replies": [
        {
          "id": 1762851,
          "author_name": "deepkim",
          "author_url": "",
          "post_date": "04/21/2022 02:51:51",
          "content": "<p>Thanks a lot👍</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1762193": "I would like to thank the organizers for hosting the great competition.\nalso, I congratulate all the top players.\nI was very honored to become a teammate with @hwigeon \n\n\n##Data\nWe started the original dataset + detic crop at first.\nWe doubled dataset with original dataset + detic crop in the same training phase to make our arcface learn a margin well. \nbut finally, We manually made a cropped full-body dataset itself and replace this with the detic crop.\n\n\n##Models\nEfficientnet 5,6,7+Arcface or Dolg,  Nfnet, Nfnet+hybridVit, Nfnet+dolg were used.  \nArcface margin = 0.3 is chosen.\nThe size range is [768~1024]\nRAdam+Lookahead or Madgrad is chosen as optimizer. \nOriginal dataset + our manually cropped dataset reached public LB 0.83x easily\nAfter Pseudo labeling, we could have scored public LB 0.858, private LB 0.826  \n\n\n\n##Augmentation\nFlip augmentation for Nfnet networks.\nFlip + Hsv augmentation for Efficientnet.  \n\n\n\n##Validation\nA valid dataset that only has 2 individuals are chosen as holdout.  \nWe didn't care about new individuals since we believed that the top1 score matters most.\nthe demerit of our validation set is that it can't post-process our results to predict new_individuals.\nOur top1 cv reached 0.89x  \n\n\n##Postprocess\nto use KNN, we concatenated all the embeddings to axis =-1\nafter We used KNN=1 and gather nearest 880 individuals.\nnew_individual threshold = 0.375,0.4,0.425,0.45 and voted five submissions using 1:1:1:1:1 weights.\nwe can get value of cosine inner product output from arcface output and used it for reranking, but it doesn't help much. \n\n## What didn't work\nConvnext, efficinentnetv2, swin transformer(384size) didn't work well for us. \n\n\n##Regret\nWe missed backfin while most of the competitors use backfin.\nMany reports that using backfin is crucial for this competition.\nWe used a little bit of a backfin, but it didn't seem so good, so we moved on right away.  \n\n\nWe did our best while we were very busy with work and school, but we are sad to receive the silver medal. I will continue to make a lot of effort.  \n\n\nThank you for reading this!",
    "1762715": "Great work@kaggler",
    "1762851": "Thanks a lot👍"
  },
  "source": "meta"
}