{
  "id": 430332,
  "title": "44th place solution",
  "url": "/competitions/hubmap-hacking-the-human-vasculature/discussion/430332",
  "author_name": "Ilia Kiselev",
  "post_date": "2023-08-09T10:38:48.699000",
  "votes": 2,
  "comment_count": 0,
  "views": 0,
  "content": "<p>Congratulations to winners of such cool competition!</p>\n<p>We are ML team from EPAM. We've decided to participate in this competition in order to make training for our self and learn new models and interesting solutions. Unfortunately we have lack of resources (only Colab Pro+) and time, so we weren't being able to finalize our work fully.</p>\n<p>We've tried: <br>\n<strong>Yolov8</strong><br>\n<strong>SAM</strong></p>\n<h2>Solutions which improves results of Yolov8:</h2>\n<p><strong>Baseline Yolov8n - 0.431/0.322 private/public</strong></p>\n<p><em>Simple staff:</em><br>\nCosine lr schedule with lr 0.005 <strong>0.466/0.336 private/public</strong><br>\nMixUp + CopyPaste augmentation <strong>0.465/0.347 private/public</strong><br>\nP6 model initialized from P5 <strong>0.476/0.333 private/public</strong><br>\nyolov8l (we think yolov8x could have better results)</p>\n<p><em>Mixed datasets training:</em><br>\nWe've analyzed previous HuBMAP datasets for segmentation and considered classes is different, so we've merged all 3 competitions datasets and get large dataset with 8 classes. this way we've got huge improvement of Yolov8 nano model, that's solution were chosen for final submit. <strong>0.463 private/0.372 public</strong></p>\n<p><em>Label smoothing</em><br>\nIn order to deal with noisy data from dataset 2 we've considered to apply label smoothing. Just smooting of targets works, but because Yolov8 uses TAL for assignment and it uses prediction scores and targets to choose<br>\ntop assignments we've changed a bit Soft-TAL and get better results. <strong>0.463/0.358 private/public</strong></p>\n<p>We've tried finally to collect all of changes to get better results, but it requires more experiments to choose good combination of it.</p>\n<h2>SAM</h2>\n<p>We've chose two approaches to try:</p>\n<p><em>Tine Sam decoder</em><br>\nWe've tried to tune Sam Base decoder on ground truth boxes with freeze ViT using BCE with logits Loss. Now results is not pretty good but promising, so we will continue our work on this.</p>\n<p><em>Tune SamMed</em><br>\nUnfortunately right now submission is not provided, but we will do late sabmit and update this post</p>\n<h2>Things not done for now</h2>\n<p><em>Multihead training on 3 HuBMAP datasets</em><br>\nFor Yolov8. As with mixed dataset we using all 3 sets from HuBMAP but instead of use one cls head with 8 classes we are splitting predictions by images in batch and apply one of 3 corresponding to dataset heads for image. This method requires a bit more work especially with dataset weights.</p>\n<p><em>Consistent teacher for Yolov8</em><br>\nWasn't implemented still</p>\n<h2>Late submit</h2>\n<p>We've played a bit with results after competition end, finally we've provided ensemble of yolov5L models and got 0.512 on private set </p>",
  "messages": [
    {
      "id": 2381686,
      "postDate": "2023-08-09T10:38:48.700Z",
      "content": "<p>Congratulations to winners of such cool competition!</p>\n<p>We are ML team from EPAM. We've decided to participate in this competition in order to make training for our self and learn new models and interesting solutions. Unfortunately we have lack of resources (only Colab Pro+) and time, so we weren't being able to finalize our work fully.</p>\n<p>We've tried: <br>\n<strong>Yolov8</strong><br>\n<strong>SAM</strong></p>\n<h2>Solutions which improves results of Yolov8:</h2>\n<p><strong>Baseline Yolov8n - 0.431/0.322 private/public</strong></p>\n<p><em>Simple staff:</em><br>\nCosine lr schedule with lr 0.005 <strong>0.466/0.336 private/public</strong><br>\nMixUp + CopyPaste augmentation <strong>0.465/0.347 private/public</strong><br>\nP6 model initialized from P5 <strong>0.476/0.333 private/public</strong><br>\nyolov8l (we think yolov8x could have better results)</p>\n<p><em>Mixed datasets training:</em><br>\nWe've analyzed previous HuBMAP datasets for segmentation and considered classes is different, so we've merged all 3 competitions datasets and get large dataset with 8 classes. this way we've got huge improvement of Yolov8 nano model, that's solution were chosen for final submit. <strong>0.463 private/0.372 public</strong></p>\n<p><em>Label smoothing</em><br>\nIn order to deal with noisy data from dataset 2 we've considered to apply label smoothing. Just smooting of targets works, but because Yolov8 uses TAL for assignment and it uses prediction scores and targets to choose<br>\ntop assignments we've changed a bit Soft-TAL and get better results. <strong>0.463/0.358 private/public</strong></p>\n<p>We've tried finally to collect all of changes to get better results, but it requires more experiments to choose good combination of it.</p>\n<h2>SAM</h2>\n<p>We've chose two approaches to try:</p>\n<p><em>Tine Sam decoder</em><br>\nWe've tried to tune Sam Base decoder on ground truth boxes with freeze ViT using BCE with logits Loss. Now results is not pretty good but promising, so we will continue our work on this.</p>\n<p><em>Tune SamMed</em><br>\nUnfortunately right now submission is not provided, but we will do late sabmit and update this post</p>\n<h2>Things not done for now</h2>\n<p><em>Multihead training on 3 HuBMAP datasets</em><br>\nFor Yolov8. As with mixed dataset we using all 3 sets from HuBMAP but instead of use one cls head with 8 classes we are splitting predictions by images in batch and apply one of 3 corresponding to dataset heads for image. This method requires a bit more work especially with dataset weights.</p>\n<p><em>Consistent teacher for Yolov8</em><br>\nWasn't implemented still</p>\n<h2>Late submit</h2>\n<p>We've played a bit with results after competition end, finally we've provided ensemble of yolov5L models and got 0.512 on private set </p>",
      "rawMarkdown": "Congratulations to winners of such cool competition!\n\nWe are ML team from EPAM. We've decided to participate in this competition in order to make training for our self and learn new models and interesting solutions. Unfortunately we have lack of resources (only Colab Pro+) and time, so we weren't being able to finalize our work fully.\n\nWe've tried: \n**Yolov8**\n**SAM**\n\n## Solutions which improves results of Yolov8:\n\n**Baseline Yolov8n - 0.431/0.322 private/public**\n\n\n*Simple staff:*\nCosine lr schedule with lr 0.005 **0.466/0.336 private/public**\nMixUp + CopyPaste augmentation **0.465/0.347 private/public**\nP6 model initialized from P5 **0.476/0.333 private/public**\nyolov8l (we think yolov8x could have better results)\n\n\n*Mixed datasets training:*\nWe've analyzed previous HuBMAP datasets for segmentation and considered classes is different, so we've merged all 3 competitions datasets and get large dataset with 8 classes. this way we've got huge improvement of Yolov8 nano model, that's solution were chosen for final submit. **0.463 private/0.372 public**\n\n\n*Label smoothing*\nIn order to deal with noisy data from dataset 2 we've considered to apply label smoothing. Just smooting of targets works, but because Yolov8 uses TAL for assignment and it uses prediction scores and targets to choose\ntop assignments we've changed a bit Soft-TAL and get better results. **0.463/0.358 private/public**\n\nWe've tried finally to collect all of changes to get better results, but it requires more experiments to choose good combination of it.\n\n## SAM\nWe've chose two approaches to try:\n\n*Tine Sam decoder*\nWe've tried to tune Sam Base decoder on ground truth boxes with freeze ViT using BCE with logits Loss. Now results is not pretty good but promising, so we will continue our work on this.\n\n*Tune SamMed*\nUnfortunately right now submission is not provided, but we will do late sabmit and update this post\n\n## Things not done for now\n\n*Multihead training on 3 HuBMAP datasets*\nFor Yolov8. As with mixed dataset we using all 3 sets from HuBMAP but instead of use one cls head with 8 classes we are splitting predictions by images in batch and apply one of 3 corresponding to dataset heads for image. This method requires a bit more work especially with dataset weights.\n\n*Consistent teacher for Yolov8*\nWasn't implemented still\n\n## Late submit\nWe've played a bit with results after competition end, finally we've provided ensemble of yolov5L models and got 0.512 on private set ",
      "votes": 2
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "2381686": "Congratulations to winners of such cool competition!\n\nWe are ML team from EPAM. We've decided to participate in this competition in order to make training for our self and learn new models and interesting solutions. Unfortunately we have lack of resources (only Colab Pro+) and time, so we weren't being able to finalize our work fully.\n\nWe've tried: \n**Yolov8**\n**SAM**\n\n## Solutions which improves results of Yolov8:\n\n**Baseline Yolov8n - 0.431/0.322 private/public**\n\n\n*Simple staff:*\nCosine lr schedule with lr 0.005 **0.466/0.336 private/public**\nMixUp + CopyPaste augmentation **0.465/0.347 private/public**\nP6 model initialized from P5 **0.476/0.333 private/public**\nyolov8l (we think yolov8x could have better results)\n\n\n*Mixed datasets training:*\nWe've analyzed previous HuBMAP datasets for segmentation and considered classes is different, so we've merged all 3 competitions datasets and get large dataset with 8 classes. this way we've got huge improvement of Yolov8 nano model, that's solution were chosen for final submit. **0.463 private/0.372 public**\n\n\n*Label smoothing*\nIn order to deal with noisy data from dataset 2 we've considered to apply label smoothing. Just smooting of targets works, but because Yolov8 uses TAL for assignment and it uses prediction scores and targets to choose\ntop assignments we've changed a bit Soft-TAL and get better results. **0.463/0.358 private/public**\n\nWe've tried finally to collect all of changes to get better results, but it requires more experiments to choose good combination of it.\n\n## SAM\nWe've chose two approaches to try:\n\n*Tine Sam decoder*\nWe've tried to tune Sam Base decoder on ground truth boxes with freeze ViT using BCE with logits Loss. Now results is not pretty good but promising, so we will continue our work on this.\n\n*Tune SamMed*\nUnfortunately right now submission is not provided, but we will do late sabmit and update this post\n\n## Things not done for now\n\n*Multihead training on 3 HuBMAP datasets*\nFor Yolov8. As with mixed dataset we using all 3 sets from HuBMAP but instead of use one cls head with 8 classes we are splitting predictions by images in batch and apply one of 3 corresponding to dataset heads for image. This method requires a bit more work especially with dataset weights.\n\n*Consistent teacher for Yolov8*\nWasn't implemented still\n\n## Late submit\nWe've played a bit with results after competition end, finally we've provided ensemble of yolov5L models and got 0.512 on private set "
  }
}