{
  "id": 664813,
  "title": "Should We Teach the Model “Where to Look” Using Grass Masks?",
  "url": "/competitions/csiro-biomass/discussion/664813",
  "author_name": "",
  "post_date": "2025-12-28T05:18:13.273271600Z",
  "votes": 5,
  "comment_count": 10,
  "views": 0,
  "content": "<p>Hi everyone,</p>\n<p>I’ve been exploring the idea of using vegetation/grass segmentation as a preprocessing or auxiliary step for biomass prediction. If reliable grass masks are available (or generated via a pretrained segmentation model), one could either suppress non-grass regions or use the mask as an additional input channel to help the model focus on the relevant biomass signal.</p>\n<p>I’m curious 🤔 whether anyone has tried incorporating segmentation masks (e.g., grass-only regions, coverage ratios, or mask channels) and observed improvements over direct image-to-biomass regression. Are there known pitfalls in this competition setting (e.g., loss of contextual cues, train–test mismatch) that would make this approach less effective?</p>\n<p>Would appreciate any insights or experiences. Thanks!</p>",
  "messages": [
    {
      "id": "3382621",
      "postDate": "12/28/2025 05:18:13",
      "content": "<p>Hi everyone,</p>\n<p>I’ve been exploring the idea of using vegetation/grass segmentation as a preprocessing or auxiliary step for biomass prediction. If reliable grass masks are available (or generated via a pretrained segmentation model), one could either suppress non-grass regions or use the mask as an additional input channel to help the model focus on the relevant biomass signal.</p>\n<p>I’m curious 🤔 whether anyone has tried incorporating segmentation masks (e.g., grass-only regions, coverage ratios, or mask channels) and observed improvements over direct image-to-biomass regression. Are there known pitfalls in this competition setting (e.g., loss of contextual cues, train–test mismatch) that would make this approach less effective?</p>\n<p>Would appreciate any insights or experiences. Thanks!</p>",
      "rawMarkdown": "Hi everyone,\n\nI’ve been exploring the idea of using vegetation/grass segmentation as a preprocessing or auxiliary step for biomass prediction. If reliable grass masks are available (or generated via a pretrained segmentation model), one could either suppress non-grass regions or use the mask as an additional input channel to help the model focus on the relevant biomass signal.\n\nI’m curious 🤔 whether anyone has tried incorporating segmentation masks (e.g., grass-only regions, coverage ratios, or mask channels) and observed improvements over direct image-to-biomass regression. Are there known pitfalls in this competition setting (e.g., loss of contextual cues, train–test mismatch) that would make this approach less effective?\n\nWould appreciate any insights or experiences. Thanks!",
      "votes": null
    },
    {
      "id": "3382626",
      "postDate": "12/28/2025 05:41:32",
      "content": "<p>The hosts were prepared to share some segmentation data for us in a week or  so, but pretty loud voices that a change in the competition was not a great idea and the idea was canceled - I always like to suggest folks read all the discussion topics as a great first step when you enter a competition. </p>\n<p>So certainly the hosts felt segmentation was a logical next step for this data set and problem.</p>",
      "rawMarkdown": "The hosts were prepared to share some segmentation data for us in a week or  so, but pretty loud voices that a change in the competition was not a great idea and the idea was canceled - I always like to suggest folks read all the discussion topics as a great first step when you enter a competition. \n\nSo certainly the hosts felt segmentation was a logical next step for this data set and problem.",
      "votes": null
    },
    {
      "id": "3382781",
      "postDate": "12/28/2025 14:40:22",
      "content": "<p>Yeah I previously read that, but is there any one who tried this kind of approach for generating his own masks to see how it works on CV and LB.</p>\n<p>For any support I appreciate. Thanks!</p>",
      "rawMarkdown": "Yeah I previously read that, but is there any one who tried this kind of approach for generating his own masks to see how it works on CV and LB.\n\nFor any support I appreciate. Thanks!",
      "votes": null
    },
    {
      "id": "3382859",
      "postDate": "12/28/2025 18:04:19",
      "content": "<p>It's late in the competition (almost) - about the time that things that work become secrets :)</p>\n<p>IMO - with 357 training images anything might work - I currently trying throwing salt over my shoulder and looking for a four leaf clover in the training images.</p>",
      "rawMarkdown": "It's late in the competition (almost) - about the time that things that work become secrets :)\n\nIMO - with 357 training images anything might work - I currently trying throwing salt over my shoulder and looking for a four leaf clover in the training images.",
      "votes": null
    },
    {
      "id": "3382888",
      "postDate": "12/28/2025 18:54:51",
      "content": "<p>I managed to implement a mask that has a 0.89 correlation with <code>Pre_GSHH_NDVI</code>, I got CV improvement, but there is no improvement on LB (decrease by ~0.002). It is much more important to implement a mask for clover and dead material, but it's not easy, because dead material in many places is similar (for model) to some areas of the ground and clover is not only 3-4 leaf clover, which is easy to recognize. Also good segmentation is not enough and should (in my opinion) be combined with depth estimation, because the higher the grass in the image, the more likely the dead material is closer to the ground (at the same time, it may absolutely not be visible in the image). </p>",
      "rawMarkdown": "I managed to implement a mask that has a 0.89 correlation with `Pre_GSHH_NDVI`, I got CV improvement, but there is no improvement on LB (decrease by ~0.002). It is much more important to implement a mask for clover and dead material, but it's not easy, because dead material in many places is similar (for model) to some areas of the ground and clover is not only 3-4 leaf clover, which is easy to recognize. Also good segmentation is not enough and should (in my opinion) be combined with depth estimation, because the higher the grass in the image, the more likely the dead material is closer to the ground (at the same time, it may absolutely not be visible in the image).",
      "votes": null
    },
    {
      "id": "3384252",
      "postDate": "12/31/2025 19:43:00",
      "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F6d3b4c3dad63e5cfbab6e4fe483d5229%2Fsegmentation_v4%20(1).png?generation=1767209901914417&amp;alt=media\" alt=\"\">    <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F403d164326bfd406299cfaa03a276af2%2Fsegmentation_v4%20(2).png?generation=1767210067057900&amp;alt=media\" alt=\"\">       ; It depends; if your model generalizes well, it can be used to determine the amount of green and dead areas in the images. The only problem is that it’s \"difficult to detect when the dead matter is underneath the green vegetation\"</p>",
      "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F6d3b4c3dad63e5cfbab6e4fe483d5229%2Fsegmentation_v4%20(1).png?generation=1767209901914417&alt=media)    ![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F403d164326bfd406299cfaa03a276af2%2Fsegmentation_v4%20(2).png?generation=1767210067057900&alt=media)       ; It depends; if your model generalizes well, it can be used to determine the amount of green and dead areas in the images. The only problem is that it’s \"difficult to detect when the dead matter is underneath the green vegetation\"",
      "votes": null
    },
    {
      "id": "3384271",
      "postDate": "12/31/2025 20:33:51",
      "content": "<p>Thank you so much it looks nice!!.\nIf you find no worries in sharing the notebook used to generate the masks it could be more helpful to me and the others to proceed to the depth estimation for outcoming the problem of dead matter underneath the dominating  green vegetation.</p>",
      "rawMarkdown": "Thank you so much it looks nice!!.\nIf you find no worries in sharing the notebook used to generate the masks it could be more helpful to me and the others to proceed to the depth estimation for outcoming the problem of dead matter underneath the dominating  green vegetation.",
      "votes": null
    },
    {
      "id": "3384311",
      "postDate": "01/01/2026 00:42:35",
      "content": "<p>sure: <a href=\"https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation\" target=\"_blank\">https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation</a></p>",
      "rawMarkdown": "sure: https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation",
      "votes": null
    },
    {
      "id": "3384938",
      "postDate": "01/02/2026 09:16:12",
      "content": "<p>I manually segmented several challenging images for the model, but it didn’t help me.</p>",
      "rawMarkdown": "I manually segmented several challenging images for the model, but it didn’t help me.",
      "votes": null
    },
    {
      "id": "3390436",
      "postDate": "01/13/2026 06:22:05",
      "content": "<p>Hi everyone,</p>\n<p>I wanted to share an approach that significantly improved my leaderboard performance on the Biomass challenge.</p>\n<p>Instead of predicting biomass directly from the images, I first created pixel-level segmentation masks and trained my model to predict both the segmentation and the biomass simultaneously.</p>\n<p>Why this helps:</p>\n<p>The model learns where to “look” in the image.</p>\n<p>It’s like telling the model: “Here are the regions that matter for biomass”.</p>\n<p>This additional supervision guides the model and improves the precision of biomass prediction.</p>\n<p>In practice, adding this segmentation task boosted my LB score noticeably compared to training the model on biomass alone.</p>\n<p>If you’re struggling with the model focusing on irrelevant parts of the image, this is a simple way to give it extra context without hard-coding anything.</p>\n<p>Would love to hear if others have tried something similar!</p>\n<p>HERE is my notebook but it will require you to improve it <a href=\"https://www.kaggle.com/code/mugishapacifique/image2biomass-masks\" target=\"_blank\">Image2Biomass masks</a></p>",
      "rawMarkdown": "Hi everyone,\n\nI wanted to share an approach that significantly improved my leaderboard performance on the Biomass challenge.\n\nInstead of predicting biomass directly from the images, I first created pixel-level segmentation masks and trained my model to predict both the segmentation and the biomass simultaneously.\n\nWhy this helps:\n\nThe model learns where to “look” in the image.\n\nIt’s like telling the model: “Here are the regions that matter for biomass”.\n\nThis additional supervision guides the model and improves the precision of biomass prediction.\n\nIn practice, adding this segmentation task boosted my LB score noticeably compared to training the model on biomass alone.\n\nIf you’re struggling with the model focusing on irrelevant parts of the image, this is a simple way to give it extra context without hard-coding anything.\n\nWould love to hear if others have tried something similar!\n\nHERE is my notebook but it will require you to improve it [Image2Biomass masks](https://www.kaggle.com/code/mugishapacifique/image2biomass-masks)",
      "votes": null
    },
    {
      "id": "3390440",
      "postDate": "01/13/2026 06:37:25",
      "content": "<p>sorry that I am sharing a base notebook but maybe it might be helpful if improved | Thank you</p>",
      "rawMarkdown": "sorry that I am sharing a base notebook but maybe it might be helpful if improved | Thank you",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3382626,
      "author_name": "pcjimmmy",
      "author_url": "",
      "post_date": "12/28/2025 05:41:32",
      "content": "<p>The hosts were prepared to share some segmentation data for us in a week or  so, but pretty loud voices that a change in the competition was not a great idea and the idea was canceled - I always like to suggest folks read all the discussion topics as a great first step when you enter a competition. </p>\n<p>So certainly the hosts felt segmentation was a logical next step for this data set and problem.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3382781,
          "author_name": "mugishapacifique",
          "author_url": "",
          "post_date": "12/28/2025 14:40:22",
          "content": "<p>Yeah I previously read that, but is there any one who tried this kind of approach for generating his own masks to see how it works on CV and LB.</p>\n<p>For any support I appreciate. Thanks!</p>",
          "votes": null,
          "replies": [
            {
              "id": 3382859,
              "author_name": "pcjimmmy",
              "author_url": "",
              "post_date": "12/28/2025 18:04:19",
              "content": "<p>It's late in the competition (almost) - about the time that things that work become secrets :)</p>\n<p>IMO - with 357 training images anything might work - I currently trying throwing salt over my shoulder and looking for a four leaf clover in the training images.</p>",
              "votes": null,
              "replies": []
            },
            {
              "id": 3382888,
              "author_name": "dmitryuarov",
              "author_url": "",
              "post_date": "12/28/2025 18:54:51",
              "content": "<p>I managed to implement a mask that has a 0.89 correlation with <code>Pre_GSHH_NDVI</code>, I got CV improvement, but there is no improvement on LB (decrease by ~0.002). It is much more important to implement a mask for clover and dead material, but it's not easy, because dead material in many places is similar (for model) to some areas of the ground and clover is not only 3-4 leaf clover, which is easy to recognize. Also good segmentation is not enough and should (in my opinion) be combined with depth estimation, because the higher the grass in the image, the more likely the dead material is closer to the ground (at the same time, it may absolutely not be visible in the image). </p>",
              "votes": null,
              "replies": [
                {
                  "id": 3384252,
                  "author_name": "giovannyrodrguez",
                  "author_url": "",
                  "post_date": "12/31/2025 19:43:00",
                  "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F6d3b4c3dad63e5cfbab6e4fe483d5229%2Fsegmentation_v4%20(1).png?generation=1767209901914417&amp;alt=media\" alt=\"\">    <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F403d164326bfd406299cfaa03a276af2%2Fsegmentation_v4%20(2).png?generation=1767210067057900&amp;alt=media\" alt=\"\">       ; It depends; if your model generalizes well, it can be used to determine the amount of green and dead areas in the images. The only problem is that it’s \"difficult to detect when the dead matter is underneath the green vegetation\"</p>",
                  "votes": null,
                  "replies": [
                    {
                      "id": 3384271,
                      "author_name": "mugishapacifique",
                      "author_url": "",
                      "post_date": "12/31/2025 20:33:51",
                      "content": "<p>Thank you so much it looks nice!!.\nIf you find no worries in sharing the notebook used to generate the masks it could be more helpful to me and the others to proceed to the depth estimation for outcoming the problem of dead matter underneath the dominating  green vegetation.</p>",
                      "votes": null,
                      "replies": [
                        {
                          "id": 3384311,
                          "author_name": "giovannyrodrguez",
                          "author_url": "",
                          "post_date": "01/01/2026 00:42:35",
                          "content": "<p>sure: <a href=\"https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation\" target=\"_blank\">https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation</a></p>",
                          "votes": null,
                          "replies": []
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 3384938,
      "author_name": "rustambazarbayev",
      "author_url": "",
      "post_date": "01/02/2026 09:16:12",
      "content": "<p>I manually segmented several challenging images for the model, but it didn’t help me.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3390436,
          "author_name": "mugishapacifique",
          "author_url": "",
          "post_date": "01/13/2026 06:22:05",
          "content": "<p>Hi everyone,</p>\n<p>I wanted to share an approach that significantly improved my leaderboard performance on the Biomass challenge.</p>\n<p>Instead of predicting biomass directly from the images, I first created pixel-level segmentation masks and trained my model to predict both the segmentation and the biomass simultaneously.</p>\n<p>Why this helps:</p>\n<p>The model learns where to “look” in the image.</p>\n<p>It’s like telling the model: “Here are the regions that matter for biomass”.</p>\n<p>This additional supervision guides the model and improves the precision of biomass prediction.</p>\n<p>In practice, adding this segmentation task boosted my LB score noticeably compared to training the model on biomass alone.</p>\n<p>If you’re struggling with the model focusing on irrelevant parts of the image, this is a simple way to give it extra context without hard-coding anything.</p>\n<p>Would love to hear if others have tried something similar!</p>\n<p>HERE is my notebook but it will require you to improve it <a href=\"https://www.kaggle.com/code/mugishapacifique/image2biomass-masks\" target=\"_blank\">Image2Biomass masks</a></p>",
          "votes": null,
          "replies": [
            {
              "id": 3390440,
              "author_name": "mugishapacifique",
              "author_url": "",
              "post_date": "01/13/2026 06:37:25",
              "content": "<p>sorry that I am sharing a base notebook but maybe it might be helpful if improved | Thank you</p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3382621": "Hi everyone,\n\nI’ve been exploring the idea of using vegetation/grass segmentation as a preprocessing or auxiliary step for biomass prediction. If reliable grass masks are available (or generated via a pretrained segmentation model), one could either suppress non-grass regions or use the mask as an additional input channel to help the model focus on the relevant biomass signal.\n\nI’m curious 🤔 whether anyone has tried incorporating segmentation masks (e.g., grass-only regions, coverage ratios, or mask channels) and observed improvements over direct image-to-biomass regression. Are there known pitfalls in this competition setting (e.g., loss of contextual cues, train–test mismatch) that would make this approach less effective?\n\nWould appreciate any insights or experiences. Thanks!",
    "3382626": "The hosts were prepared to share some segmentation data for us in a week or  so, but pretty loud voices that a change in the competition was not a great idea and the idea was canceled - I always like to suggest folks read all the discussion topics as a great first step when you enter a competition. \n\nSo certainly the hosts felt segmentation was a logical next step for this data set and problem.",
    "3382781": "Yeah I previously read that, but is there any one who tried this kind of approach for generating his own masks to see how it works on CV and LB.\n\nFor any support I appreciate. Thanks!",
    "3382859": "It's late in the competition (almost) - about the time that things that work become secrets :)\n\nIMO - with 357 training images anything might work - I currently trying throwing salt over my shoulder and looking for a four leaf clover in the training images.",
    "3382888": "I managed to implement a mask that has a 0.89 correlation with `Pre_GSHH_NDVI`, I got CV improvement, but there is no improvement on LB (decrease by ~0.002). It is much more important to implement a mask for clover and dead material, but it's not easy, because dead material in many places is similar (for model) to some areas of the ground and clover is not only 3-4 leaf clover, which is easy to recognize. Also good segmentation is not enough and should (in my opinion) be combined with depth estimation, because the higher the grass in the image, the more likely the dead material is closer to the ground (at the same time, it may absolutely not be visible in the image).",
    "3384252": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F6d3b4c3dad63e5cfbab6e4fe483d5229%2Fsegmentation_v4%20(1).png?generation=1767209901914417&alt=media)    ![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F23653385%2F403d164326bfd406299cfaa03a276af2%2Fsegmentation_v4%20(2).png?generation=1767210067057900&alt=media)       ; It depends; if your model generalizes well, it can be used to determine the amount of green and dead areas in the images. The only problem is that it’s \"difficult to detect when the dead matter is underneath the green vegetation\"",
    "3384271": "Thank you so much it looks nice!!.\nIf you find no worries in sharing the notebook used to generate the masks it could be more helpful to me and the others to proceed to the depth estimation for outcoming the problem of dead matter underneath the dominating  green vegetation.",
    "3384311": "sure: https://www.kaggle.com/code/giovannyrodrguez/dinov2-pseudo-segmentation",
    "3384938": "I manually segmented several challenging images for the model, but it didn’t help me.",
    "3390436": "Hi everyone,\n\nI wanted to share an approach that significantly improved my leaderboard performance on the Biomass challenge.\n\nInstead of predicting biomass directly from the images, I first created pixel-level segmentation masks and trained my model to predict both the segmentation and the biomass simultaneously.\n\nWhy this helps:\n\nThe model learns where to “look” in the image.\n\nIt’s like telling the model: “Here are the regions that matter for biomass”.\n\nThis additional supervision guides the model and improves the precision of biomass prediction.\n\nIn practice, adding this segmentation task boosted my LB score noticeably compared to training the model on biomass alone.\n\nIf you’re struggling with the model focusing on irrelevant parts of the image, this is a simple way to give it extra context without hard-coding anything.\n\nWould love to hear if others have tried something similar!\n\nHERE is my notebook but it will require you to improve it [Image2Biomass masks](https://www.kaggle.com/code/mugishapacifique/image2biomass-masks)",
    "3390440": "sorry that I am sharing a base notebook but maybe it might be helpful if improved | Thank you"
  },
  "source": "meta"
}