{
  "id": 541383,
  "title": "segmentation approach",
  "content": "<p>I treat this problem as a segmentation task with MSE loss.  My base model is SwinUnetr from monai framework. A few data augmentation technics are used: random flip, gaussian noise, grid distortion.<br>\nAn input is resized to 224, but the loss is calculated on original size image after resizing. The solutions compose of 2 stages.<br>\nThe first one uses wind speed (ustar), temperature (theta), and fire-line location (xi), slope (alpha) and mean wind speed (u10) of first 5 time steps to predict 20 next line location (17 input channels, 20 output channels).<br>\nThe second stage uses previous 25 fire-line location, alpha, u10 to predict the next 25 fire-line location (27 input channels, 25 output channels).<br>\nAn output of the previous prediction is in range 0-1. In order to binarize and enhance the signal, otsu threshold per frame is applied. I apply post-processing with use of otsu threshold and a binary dilation to zero background (places where is no fire). The final output are floats in range 0 - 1. </p>\n<p><a href=\"https://www.kaggle.com/code/jankowalski2000/segmentation\" target=\"_blank\">Notebook</a></p>\n<p>There are still many options to check:</p>\n<ol>\n<li>dice loss, tversky loss, combo loss with MSE</li>\n<li>more aggressive augmentation methods</li>\n<li>learning rate schedulers</li>\n</ol>\n<p>I hope this post makes me discussion expert :)</p>",
  "comments": [
    {
      "id": 3027434,
      "author_name": "Zhuoqun Li",
      "author_url": "",
      "post_date": "2024-10-24T19:58:43.100000",
      "content": "<p>Great job! Thank you.</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "comment_count": 1,
  "messages": [
    {
      "id": 3022030,
      "postDate": "2024-10-19T07:19:53.737Z",
      "content": "<p>I treat this problem as a segmentation task with MSE loss.  My base model is SwinUnetr from monai framework. A few data augmentation technics are used: random flip, gaussian noise, grid distortion.<br>\nAn input is resized to 224, but the loss is calculated on original size image after resizing. The solutions compose of 2 stages.<br>\nThe first one uses wind speed (ustar), temperature (theta), and fire-line location (xi), slope (alpha) and mean wind speed (u10) of first 5 time steps to predict 20 next line location (17 input channels, 20 output channels).<br>\nThe second stage uses previous 25 fire-line location, alpha, u10 to predict the next 25 fire-line location (27 input channels, 25 output channels).<br>\nAn output of the previous prediction is in range 0-1. In order to binarize and enhance the signal, otsu threshold per frame is applied. I apply post-processing with use of otsu threshold and a binary dilation to zero background (places where is no fire). The final output are floats in range 0 - 1. </p>\n<p><a href=\"https://www.kaggle.com/code/jankowalski2000/segmentation\" target=\"_blank\">Notebook</a></p>\n<p>There are still many options to check:</p>\n<ol>\n<li>dice loss, tversky loss, combo loss with MSE</li>\n<li>more aggressive augmentation methods</li>\n<li>learning rate schedulers</li>\n</ol>\n<p>I hope this post makes me discussion expert :)</p>",
      "rawMarkdown": "I treat this problem as a segmentation task with MSE loss.  My base model is SwinUnetr from monai framework. A few data augmentation technics are used: random flip, gaussian noise, grid distortion.\nAn input is resized to 224, but the loss is calculated on original size image after resizing. The solutions compose of 2 stages.\nThe first one uses wind speed (ustar), temperature (theta), and fire-line location (xi), slope (alpha) and mean wind speed (u10) of first 5 time steps to predict 20 next line location (17 input channels, 20 output channels).\nThe second stage uses previous 25 fire-line location, alpha, u10 to predict the next 25 fire-line location (27 input channels, 25 output channels).\nAn output of the previous prediction is in range 0-1. In order to binarize and enhance the signal, otsu threshold per frame is applied. I apply post-processing with use of otsu threshold and a binary dilation to zero background (places where is no fire). The final output are floats in range 0 - 1. \n\n[Notebook](https://www.kaggle.com/code/jankowalski2000/segmentation)\n\nThere are still many options to check:\n1. dice loss, tversky loss, combo loss with MSE\n2. more aggressive augmentation methods\n3. learning rate schedulers\n\nI hope this post makes me discussion expert :)\n",
      "votes": 5
    },
    {
      "id": 3027434,
      "postDate": "2024-10-24T19:58:43.100Z",
      "content": "<p>Great job! Thank you.</p>",
      "rawMarkdown": "Great job! Thank you.",
      "votes": 1
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T13:44:27Z",
  "competition_id": 85210,
  "competition_slug": "2024-flame-ai-challenge",
  "team_id": 12670834,
  "solution_url": "/competitions/2024-flame-ai-challenge/writeups/rafa-paw-owski-segmentation-approach"
}