{
  "id": 669919,
  "title": "feeling a bit down",
  "url": "/competitions/vesuvius-challenge-surface-detection/discussion/669919",
  "author_name": "tingyi",
  "post_date": "2026-01-25T05:47:10.907000",
  "votes": 17,
  "comment_count": 37,
  "views": 0,
  "content": "<p>Even though I’ve poured all my effort and creativity into this competition, I fear that what I'm working on now is something other competitors implemented a month ago.</p>\n<p>Take the adhesion removal feature below, for instance. We managed to achieve segmentation in just a few seconds. However, regrettably, we didn't see a significant performance boost on the leaderboard. It’s disheartening to think that others might have already achieved this weeks ago</p>\n<h3>Original Image</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2Fc2792d8352f1583d0f9c0f40191493d5%2Fimage_.png?generation=1769319894617996&amp;alt=media\" alt=\"\"></p>\n<h3>Image after Adhesion Removal</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2F3e667e25d42ec4a65c6705fa538ff3ed%2Fimage_.png?generation=1769319987853661&amp;alt=media\" alt=\"\"></p>",
  "messages": [
    {
      "id": 3396465,
      "postDate": "2026-01-25T05:47:10.907Z",
      "content": "<p>Even though I’ve poured all my effort and creativity into this competition, I fear that what I'm working on now is something other competitors implemented a month ago.</p>\n<p>Take the adhesion removal feature below, for instance. We managed to achieve segmentation in just a few seconds. However, regrettably, we didn't see a significant performance boost on the leaderboard. It’s disheartening to think that others might have already achieved this weeks ago</p>\n<h3>Original Image</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2Fc2792d8352f1583d0f9c0f40191493d5%2Fimage_.png?generation=1769319894617996&amp;alt=media\" alt=\"\"></p>\n<h3>Image after Adhesion Removal</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2F3e667e25d42ec4a65c6705fa538ff3ed%2Fimage_.png?generation=1769319987853661&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "Even though I’ve poured all my effort and creativity into this competition, I fear that what I'm working on now is something other competitors implemented a month ago.\n\nTake the adhesion removal feature below, for instance. We managed to achieve segmentation in just a few seconds. However, regrettably, we didn't see a significant performance boost on the leaderboard. It’s disheartening to think that others might have already achieved this weeks ago\n\n### Original Image\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2Fc2792d8352f1583d0f9c0f40191493d5%2Fimage_.png?generation=1769319894617996&alt=media)\n\n### Image after Adhesion Removal\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2F3e667e25d42ec4a65c6705fa538ff3ed%2Fimage_.png?generation=1769319987853661&alt=media)",
      "votes": 17
    },
    {
      "id": 3396557,
      "postDate": "2026-01-25T09:54:18.877Z",
      "content": "<p>I honestly don’t know why anyone shares their results. It just ends up getting downvoted every time. That's very dismotivated.</p>",
      "rawMarkdown": "I honestly don’t know why anyone shares their results. It just ends up getting downvoted every time. That's very dismotivated.",
      "votes": 8
    },
    {
      "id": 3400422,
      "postDate": "2026-02-01T14:21:42.273Z",
      "content": "<p><a href=\"https://www.kaggle.com/chengtingyi\" target=\"_blank\">@chengtingyi</a> , <a href=\"https://www.kaggle.com/tom99763\" target=\"_blank\">@tom99763</a> \nyou results look very good. I think you can improve it like this:<br>\n1) for each connected component, predict the number of sheets (you can do it by ray casting test, e.g. use median   normal from pca, or train a net to predict it)<br>\n2) if the component has multiple sheets, dilation mask it to create a \"cropped\" sample<br>\n3) train a net to separate it. here the train samples are cropped samples of stuck sheets. the ground truth is instance label (i.e. multiclass). be consistent in your labeling, e.g. the topmost truth sheet is always label 1, the next is 2 …. </p>",
      "rawMarkdown": "@chengtingyi , @tom99763 \nyou results look very good. I think you can improve it like this:  \n1) for each connected component, predict the number of sheets (you can do it by ray casting test, e.g. use median   normal from pca, or train a net to predict it)    \n2) if the component has multiple sheets, dilation mask it to create a \"cropped\" sample  \n3) train a net to separate it. here the train samples are cropped samples of stuck sheets. the ground truth is instance label (i.e. multiclass). be consistent in your labeling, e.g. the topmost truth sheet is always label 1, the next is 2 .... ",
      "votes": 4,
      "replies": [
        {
          "id": 3400700,
          "postDate": "2026-02-02T05:14:16.210Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 3400702,
          "postDate": "2026-02-02T05:15:27.737Z",
          "content": "<p>Thank you for the advice, Master Frog. In fact, my current method is an improved version based on the 'killer ants' method you proposed. I have also incorporated the median normal from pca you mentioned, and the results are indeed excellent. Every method you suggested has been very useful, and I have learned a lot from you.</p>",
          "rawMarkdown": "Thank you for the advice, Master Frog. In fact, my current method is an improved version based on the 'killer ants' method you proposed. I have also incorporated the median normal from pca you mentioned, and the results are indeed excellent. Every method you suggested has been very useful, and I have learned a lot from you.",
          "votes": 1,
          "replies": [
            {
              "id": 3400721,
              "postDate": "2026-02-02T06:10:32.917Z",
              "content": "<p>there are really many methods.\nhere is another one. by counting the number of intersections of the rays, you can label the instant id of the touching sheets. it is not difficult to train a network for it. e.g. all fg points closest to the ray origin without intersecting another fg is the \"lowest sheet\" (this method handles cases even if the sheet is fragmented into non connecting parts). once you get all the sheet points, you can easily fit a polynomial surface to verify</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fdb5398b880da4f08fa88168a111f937f%2FSelection_2341.png?generation=1770012358846168&amp;alt=media\" alt=\"\"></p>",
              "rawMarkdown": "there are really many methods.\nhere is another one. by counting the number of intersections of the rays, you can label the instant id of the touching sheets. it is not difficult to train a network for it. e.g. all fg points closest to the ray origin without intersecting another fg is the \"lowest sheet\" (this method handles cases even if the sheet is fragmented into non connecting parts). once you get all the sheet points, you can easily fit a polynomial surface to verify\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fdb5398b880da4f08fa88168a111f937f%2FSelection_2341.png?generation=1770012358846168&alt=media)",
              "votes": 2
            },
            {
              "id": 3400733,
              "postDate": "2026-02-02T06:50:27.783Z",
              "content": "<p>Cast is a great choice. And if you do multiple cast cross many axes, you can get a lot of useful information like direction cue of your current prediction.</p>",
              "rawMarkdown": "Cast is a great choice. And if you do multiple cast cross many axes, you can get a lot of useful information like direction cue of your current prediction."
            },
            {
              "id": 3400737,
              "postDate": "2026-02-02T07:01:50.397Z",
              "content": "<p>i am trying to make this differentiable:\n1) casting: differentiable id (e.g. like EM cluster membership probability)\n2) polynomial surface fit for each: differentiable (but how to make parallel fit for multiple sheets … need replusive force or ordering force???)</p>",
              "rawMarkdown": "i am trying to make this differentiable:\n1) casting: differentiable id (e.g. like EM cluster membership probability)\n2) polynomial surface fit for each: differentiable (but how to make parallel fit for multiple sheets ... need replusive force or ordering force???)\n\n"
            },
            {
              "id": 3400798,
              "postDate": "2026-02-02T10:26:46.743Z",
              "content": "<p>i just read in computer graphics, there is a rendering method called depth peeling. inspired by this:<br>\n1) Now surfaces run almost parallel<br>\n2) i think in your learning, you already have surface normal vector field.<br>\n3) combination of surface tangential and normal is like a deformed grid.<br>\n4) if we cast ray along the normal field we see peaks along the cast (clustering points in \"collapsed rays\" is instance segmentation)<br>\n5) if we cast ray along the tangential field we see no peaks but constant high value  (promxity of point to surface)</p>\n<p>think of sheet surface as polynomial surface. and each connecting normal rays is another \"polynomial /bspline surface\". so we fitting deformed 3d lattice</p>",
              "rawMarkdown": "i just read in computer graphics, there is a rendering method called depth peeling. inspired by this:  \n1) Now surfaces run almost parallel   \n2) i think in your learning, you already have surface normal vector field.  \n3) combination of surface tangential and normal is like a deformed grid.  \n4) if we cast ray along the normal field we see peaks along the cast (clustering points in \"collapsed rays\" is instance segmentation)  \n5) if we cast ray along the tangential field we see no peaks but constant high value  (promxity of point to surface)\n\n\nthink of sheet surface as polynomial surface. and each connecting normal rays is another \"polynomial /bspline surface\". so we fitting deformed 3d lattice\n\n"
            }
          ]
        },
        {
          "id": 3400726,
          "postDate": "2026-02-02T06:28:32.277Z",
          "content": "<p>Thanks Heng. To be honest, our team put very less effort on post-processing. Instead, our approach is to make every manipulation learnable. Let the model determine the optimal manipulation, reducing the risk of post-processing steps overfitting to the current validation set. Conceptually, identifying a principled mathematical template such as fitting and estimating a polynomial surface and then detecting abnormal regions seems like the most elegant way to address this challenge.</p>",
          "rawMarkdown": "Thanks Heng. To be honest, our team put very less effort on post-processing. Instead, our approach is to make every manipulation learnable. Let the model determine the optimal manipulation, reducing the risk of post-processing steps overfitting to the current validation set. Conceptually, identifying a principled mathematical template such as fitting and estimating a polynomial surface and then detecting abnormal regions seems like the most elegant way to address this challenge.",
          "votes": 2,
          "replies": [
            {
              "id": 3400729,
              "postDate": "2026-02-02T06:33:11.800Z",
              "content": "<p>Yes, but this method needs better label data. But on the other hand, i tried many post processing and none can take care of all cases. </p>",
              "rawMarkdown": "Yes, but this method needs better label data. But on the other hand, i tried many post processing and none can take care of all cases. "
            },
            {
              "id": 3400731,
              "postDate": "2026-02-02T06:39:39.107Z",
              "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F655c0a968a5509d2c8e966aa0f038696%2F.png?generation=1770014355065791&amp;alt=media\" alt=\"\"></p>\n<p>we basically try our best to keep VOI while improve topo and surface. Making everything improve significantly is very challenging for me.</p>",
              "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F655c0a968a5509d2c8e966aa0f038696%2F.png?generation=1770014355065791&alt=media)\n\nwe basically try our best to keep VOI while improve topo and surface. Making everything improve significantly is very challenging for me.",
              "votes": 1
            },
            {
              "id": 3400739,
              "postDate": "2026-02-02T07:03:21.427Z",
              "content": "<p>feed our whole pipeline to gemini, our solution looks like this</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F304619b337dae8a9aa7c8156b03f6cbd%2FChatGPT%20Image%20202622%2003_02_26.png?generation=1770015800069856&amp;alt=media\" alt=\"\"></p>",
              "rawMarkdown": "feed our whole pipeline to gemini, our solution looks like this\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F304619b337dae8a9aa7c8156b03f6cbd%2FChatGPT%20Image%20202622%2003_02_26.png?generation=1770015800069856&alt=media)",
              "votes": 1
            },
            {
              "id": 3400752,
              "postDate": "2026-02-02T07:29:48.130Z",
              "content": "<p>Apparently, chatgpt can hallucinate abd understand this😱</p>",
              "rawMarkdown": "Apparently, chatgpt can hallucinate abd understand this😱"
            },
            {
              "id": 3400758,
              "postDate": "2026-02-02T07:46:25.243Z",
              "content": "<p>looks like gemini encodes our solution, then let chatgpt decodes it. That's a very good competition topic hah.</p>",
              "rawMarkdown": "looks like gemini encodes our solution, then let chatgpt decodes it. That's a very good competition topic hah."
            },
            {
              "id": 3400764,
              "postDate": "2026-02-02T07:59:44.027Z",
              "content": "<p>Even I can understand this, rock to containers, containers to rock, rock to marble.</p>",
              "rawMarkdown": "Even I can understand this, rock to containers, containers to rock, rock to marble."
            }
          ]
        }
      ]
    },
    {
      "id": 3397058,
      "postDate": "2026-01-26T11:55:48.507Z",
      "content": "<p>From my experience, any adhesion removal technique alone reduces the score, when trying to remove merges, we end up having clean seperate sheets, but with more holes, which reduces the score. </p>\n<p>Also don't get demotivated, I don't think most of the top teams have found some serious novelties, or exceptionally good methods, everyone is trying various kinds of tricks but none seem to work on leaderboard. I believe 70-80% of top 20-30 scores are just segmentation with basic post-processing because until now that's what has proven to give good results on lb.</p>",
      "rawMarkdown": "From my experience, any adhesion removal technique alone reduces the score, when trying to remove merges, we end up having clean seperate sheets, but with more holes, which reduces the score. \n\nAlso don't get demotivated, I don't think most of the top teams have found some serious novelties, or exceptionally good methods, everyone is trying various kinds of tricks but none seem to work on leaderboard. I believe 70-80% of top 20-30 scores are just segmentation with basic post-processing because until now that's what has proven to give good results on lb.",
      "votes": 4,
      "replies": [
        {
          "id": 3397062,
          "postDate": "2026-01-26T12:03:27.847Z",
          "content": "<p>That’s definitely a major challenge we face in this competition. Our approach addresses it to some extent, though not perfectly. We hope to learn from other teams’ solutions and gain insights into how they tackle this problem.</p>",
          "rawMarkdown": "That’s definitely a major challenge we face in this competition. Our approach addresses it to some extent, though not perfectly. We hope to learn from other teams’ solutions and gain insights into how they tackle this problem.",
          "votes": 1
        },
        {
          "id": 3397400,
          "postDate": "2026-01-27T07:46:25.730Z",
          "content": "<p>I’d really love to see what you two masters have been up to.</p>",
          "rawMarkdown": "I’d really love to see what you two masters have been up to."
        },
        {
          "id": 3398116,
          "postDate": "2026-01-28T16:42:13.737Z",
          "content": "<p>if you've got a clean surface that you know is correct, but more holes, it may be worth it to explore methods for filling those back in. if your holes are rather small a simple interpolation (or trained hole fill) may work much better than you think. i would expect a sheet with no holes but some slight misalignment in areas would score better than one with holes. the toposcore will very heavily penalize holes </p>",
          "rawMarkdown": "if you've got a clean surface that you know is correct, but more holes, it may be worth it to explore methods for filling those back in. if your holes are rather small a simple interpolation (or trained hole fill) may work much better than you think. i would expect a sheet with no holes but some slight misalignment in areas would score better than one with holes. the toposcore will very heavily penalize holes ",
          "votes": 1
        },
        {
          "id": 3400026,
          "postDate": "2026-01-31T18:01:01.373Z",
          "content": "<p>what general category of tool/algo are people using to connect disconnected components that are on the same sheet?   </p>",
          "rawMarkdown": "what general category of tool/algo are people using to connect disconnected components that are on the same sheet?   "
        }
      ]
    },
    {
      "id": 3396599,
      "postDate": "2026-01-25T11:59:55.450Z",
      "content": "<p>Don't feel demotivated. You are doing a great work.\nWe picked up this metric which is a linear combination of these three factors to make sure, or at least to make more difficult, cheating the leaderboard.\nThe surface dice is a \"classical\" vision segmentation target. While, according to <a href=\"https://arxiv.org/pdf/2412.14619v1\" target=\"_blank\">this paper</a> VOI is what in neuronal segmentation correlates the most with what a human annotator would judge as good. However in VOI topological and voxel information are entangled. The Betti matching (Topo-score) is severely penalized by topological differences in approximately the same region of interest, but doesn't really care about voxel precision. In some cases, VOI could seem to conflict with the Topo-score, while in others with the Surface dice, because sometimes one could have a more accurate voxel-wise segmentation (but with more topological mistakes) and sometimes a segmentation more topologically accurate (but with lower voxel-wise precision). Nevertheless, if both \"worlds\" improve concurrently, the VOI should agree both with the Topo-score and the Surface Dice.</p>",
      "rawMarkdown": "Don't feel demotivated. You are doing a great work.\nWe picked up this metric which is a linear combination of these three factors to make sure, or at least to make more difficult, cheating the leaderboard.\nThe surface dice is a \"classical\" vision segmentation target. While, according to [this paper](https://arxiv.org/pdf/2412.14619v1) VOI is what in neuronal segmentation correlates the most with what a human annotator would judge as good. However in VOI topological and voxel information are entangled. The Betti matching (Topo-score) is severely penalized by topological differences in approximately the same region of interest, but doesn't really care about voxel precision. In some cases, VOI could seem to conflict with the Topo-score, while in others with the Surface dice, because sometimes one could have a more accurate voxel-wise segmentation (but with more topological mistakes) and sometimes a segmentation more topologically accurate (but with lower voxel-wise precision). Nevertheless, if both \"worlds\" improve concurrently, the VOI should agree both with the Topo-score and the Surface Dice.",
      "votes": 4,
      "replies": [
        {
          "id": 3396604,
          "postDate": "2026-01-25T12:10:32.983Z",
          "content": "<p>Thank you for clarifying. My main point I wanted to bring across is, that even great visual improvements translate in smaller metric difference than one might expect for the given reasons. So keep pushing :)</p>",
          "rawMarkdown": "Thank you for clarifying. My main point I wanted to bring across is, that even great visual improvements translate in smaller metric difference than one might expect for the given reasons. So keep pushing :)",
          "votes": 2
        },
        {
          "id": 3396616,
          "postDate": "2026-01-25T12:46:14.547Z",
          "content": "<p>Thanks for letting me know. I used to think the metrics for this competition were a bit strange since they never seemed to align with what I expected. It turns out I just didn't have a deep enough understanding of them.</p>",
          "rawMarkdown": "Thanks for letting me know. I used to think the metrics for this competition were a bit strange since they never seemed to align with what I expected. It turns out I just didn't have a deep enough understanding of them."
        },
        {
          "id": 3396996,
          "postDate": "2026-01-26T08:59:05.707Z",
          "content": "<p>Is there going to be a re-scoring?</p>",
          "rawMarkdown": "Is there going to be a re-scoring?"
        }
      ]
    },
    {
      "id": 3398359,
      "postDate": "2026-01-29T02:59:29.610Z",
      "content": "<p>There is a significant performance boost! <a href=\"https://www.kaggle.com/chengtingyi\" target=\"_blank\">@chengtingyi</a> </p>",
      "rawMarkdown": "There is a significant performance boost! @chengtingyi ",
      "votes": 1,
      "replies": [
        {
          "id": 3398408,
          "postDate": "2026-01-29T05:07:37.007Z",
          "content": "<p>That's because I found out everyone's little secret.</p>",
          "rawMarkdown": "That's because I found out everyone's little secret.",
          "votes": 2
        }
      ]
    },
    {
      "id": 3396552,
      "postDate": "2026-01-25T09:47:39.460Z",
      "content": "<p>Hey, don't be discouraged. The metric doesn't display progress very well in my opinion.\nThe main reason seems to be the VOI-score. If your topo-score improves, your voi-score often drops.\nUnless your solution is close to perfection, they seem to work against each other. \nMy assumption is, that a good topo-score increases the amount of components, which increases the uncertainty in the voi-score. Especially since the GT isn't perfectly aligned with the sheets and the 2 voxel leeway isn't applied to VOI?\nBut that's just what it feels like to me. I didn't dig too deep into it.</p>",
      "rawMarkdown": "Hey, don't be discouraged. The metric doesn't display progress very well in my opinion.\nThe main reason seems to be the VOI-score. If your topo-score improves, your voi-score often drops.\nUnless your solution is close to perfection, they seem to work against each other. \nMy assumption is, that a good topo-score increases the amount of components, which increases the uncertainty in the voi-score. Especially since the GT isn't perfectly aligned with the sheets and the 2 voxel leeway isn't applied to VOI?\nBut that's just what it feels like to me. I didn't dig too deep into it.\n",
      "votes": 1
    },
    {
      "id": 3397103,
      "postDate": "2026-01-26T13:36:49.397Z",
      "content": "<p>Hello, I'm new to this competition. I want to know if the outcome of this competition is determined during post-processing. Thank you very much for your answer.</p>",
      "rawMarkdown": "Hello, I'm new to this competition. I want to know if the outcome of this competition is determined during post-processing. Thank you very much for your answer.",
      "votes": -1,
      "replies": [
        {
          "id": 3397384,
          "postDate": "2026-01-27T06:44:45.063Z",
          "content": "<p>Honestly, I’m pretty lost too, since my post-processing methods aren't showing much of an effect on the Public LB.</p>",
          "rawMarkdown": "Honestly, I’m pretty lost too, since my post-processing methods aren't showing much of an effect on the Public LB.",
          "votes": 1,
          "replies": [
            {
              "id": 3398111,
              "postDate": "2026-01-28T16:20:14.820Z",
              "content": "<p>Relying on post-processing alone just doesn’t give me much confidence.</p>",
              "rawMarkdown": "Relying on post-processing alone just doesn’t give me much confidence.",
              "votes": 2
            },
            {
              "id": 3398112,
              "postDate": "2026-01-28T16:21:45.207Z",
              "content": "<p>Will this cause a major shake-up on the leaderboard?</p>",
              "rawMarkdown": "Will this cause a major shake-up on the leaderboard?",
              "votes": 3
            },
            {
              "id": 3398401,
              "postDate": "2026-01-29T04:32:23.517Z",
              "content": "<p>Of course, and this situation occurs randomly, making the PB score misleading.</p>",
              "rawMarkdown": "Of course, and this situation occurs randomly, making the PB score misleading.",
              "votes": 1
            },
            {
              "id": 3398409,
              "postDate": "2026-01-29T05:11:37.817Z",
              "content": "<p>I’m certain there will be a shake-up. Scores are extremely close, and I suspect the Public LB is based on 40 samples or fewer. Still, it is what it is—Kaggle might not be able to handle a much larger dataset. All I can do now is wish everyone the best of luck.</p>",
              "rawMarkdown": "I’m certain there will be a shake-up. Scores are extremely close, and I suspect the Public LB is based on 40 samples or fewer. Still, it is what it is—Kaggle might not be able to handle a much larger dataset. All I can do now is wish everyone the best of luck."
            },
            {
              "id": 3398411,
              "postDate": "2026-01-29T05:17:17.747Z",
              "content": "<p>Of course, if your post-processing can handle this situation flawlessly, no one will be able to surpass you. In our tests, excluding this factor would increase the score by about 4%.</p>",
              "rawMarkdown": "Of course, if your post-processing can handle this situation flawlessly, no one will be able to surpass you. In our tests, excluding this factor would increase the score by about 4%.",
              "votes": 1
            },
            {
              "id": 3398422,
              "postDate": "2026-01-29T05:49:04.623Z",
              "content": "<p>Are you suggesting there is an error in the scoring implementation, or just that the metric is highly sensitive? If the LB is truly 'misleading' due to randomness, then optimizing against it is basically gambling, which makes the competition pointless.</p>",
              "rawMarkdown": "Are you suggesting there is an error in the scoring implementation, or just that the metric is highly sensitive? If the LB is truly 'misleading' due to randomness, then optimizing against it is basically gambling, which makes the competition pointless.",
              "votes": 1
            },
            {
              "id": 3398428,
              "postDate": "2026-01-29T06:00:15.533Z",
              "content": "<p>This situation does not occur in all examples, but whenever it does, the scores drop sharply. We do not know how many such examples exist in the PUBLIC TEST DATASET, nor how many will appear in the PRIVATE TEST DATASET.</p>\n<p>Optimizing solely based on PB SCORE carries significant risks. It's not uncommon for contestants ranked in the top 10 on Kaggle's PUBLIC LEADBOARD to plummet to hundreds of places on the PRIVATE LEADBOARD.</p>",
              "rawMarkdown": "This situation does not occur in all examples, but whenever it does, the scores drop sharply. We do not know how many such examples exist in the PUBLIC TEST DATASET, nor how many will appear in the PRIVATE TEST DATASET.\n\nOptimizing solely based on PB SCORE carries significant risks. It's not uncommon for contestants ranked in the top 10 on Kaggle's PUBLIC LEADBOARD to plummet to hundreds of places on the PRIVATE LEADBOARD.",
              "votes": 1
            },
            {
              "id": 3398452,
              "postDate": "2026-01-29T07:02:17.613Z",
              "content": "<p>Yeah, I’m probably dropping — I think I overfit a bit. I’m going to submit one high-scoring model plus a more ‘safe’ mid-scoring one and hope it holds up on private.</p>",
              "rawMarkdown": "Yeah, I’m probably dropping — I think I overfit a bit. I’m going to submit one high-scoring model plus a more ‘safe’ mid-scoring one and hope it holds up on private."
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 3396557,
      "author_name": "Tom",
      "author_url": "",
      "post_date": "2026-01-25T09:54:18.877000",
      "content": "<p>I honestly don’t know why anyone shares their results. It just ends up getting downvoted every time. That's very dismotivated.</p>",
      "votes": 8,
      "replies": []
    },
    {
      "id": 3400422,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2026-02-01T14:21:42.273000",
      "content": "<p><a href=\"https://www.kaggle.com/chengtingyi\" target=\"_blank\">@chengtingyi</a> , <a href=\"https://www.kaggle.com/tom99763\" target=\"_blank\">@tom99763</a> \nyou results look very good. I think you can improve it like this:<br>\n1) for each connected component, predict the number of sheets (you can do it by ray casting test, e.g. use median   normal from pca, or train a net to predict it)<br>\n2) if the component has multiple sheets, dilation mask it to create a \"cropped\" sample<br>\n3) train a net to separate it. here the train samples are cropped samples of stuck sheets. the ground truth is instance label (i.e. multiclass). be consistent in your labeling, e.g. the topmost truth sheet is always label 1, the next is 2 …. </p>",
      "votes": 4,
      "replies": [
        {
          "id": 3400700,
          "author_name": "",
          "author_url": "",
          "post_date": "2026-02-02T05:14:16.210000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 3400702,
          "author_name": "tingyi",
          "author_url": "",
          "post_date": "2026-02-02T05:15:27.737000",
          "content": "<p>Thank you for the advice, Master Frog. In fact, my current method is an improved version based on the 'killer ants' method you proposed. I have also incorporated the median normal from pca you mentioned, and the results are indeed excellent. Every method you suggested has been very useful, and I have learned a lot from you.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 3400721,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2026-02-02T06:10:32.917000",
              "content": "<p>there are really many methods.\nhere is another one. by counting the number of intersections of the rays, you can label the instant id of the touching sheets. it is not difficult to train a network for it. e.g. all fg points closest to the ray origin without intersecting another fg is the \"lowest sheet\" (this method handles cases even if the sheet is fragmented into non connecting parts). once you get all the sheet points, you can easily fit a polynomial surface to verify</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fdb5398b880da4f08fa88168a111f937f%2FSelection_2341.png?generation=1770012358846168&amp;alt=media\" alt=\"\"></p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3400733,
              "author_name": "Tom",
              "author_url": "",
              "post_date": "2026-02-02T06:50:27.783000",
              "content": "<p>Cast is a great choice. And if you do multiple cast cross many axes, you can get a lot of useful information like direction cue of your current prediction.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3400737,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2026-02-02T07:01:50.397000",
              "content": "<p>i am trying to make this differentiable:\n1) casting: differentiable id (e.g. like EM cluster membership probability)\n2) polynomial surface fit for each: differentiable (but how to make parallel fit for multiple sheets … need replusive force or ordering force???)</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3400798,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2026-02-02T10:26:46.743000",
              "content": "<p>i just read in computer graphics, there is a rendering method called depth peeling. inspired by this:<br>\n1) Now surfaces run almost parallel<br>\n2) i think in your learning, you already have surface normal vector field.<br>\n3) combination of surface tangential and normal is like a deformed grid.<br>\n4) if we cast ray along the normal field we see peaks along the cast (clustering points in \"collapsed rays\" is instance segmentation)<br>\n5) if we cast ray along the tangential field we see no peaks but constant high value  (promxity of point to surface)</p>\n<p>think of sheet surface as polynomial surface. and each connecting normal rays is another \"polynomial /bspline surface\". so we fitting deformed 3d lattice</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3400726,
          "author_name": "Tom",
          "author_url": "",
          "post_date": "2026-02-02T06:28:32.277000",
          "content": "<p>Thanks Heng. To be honest, our team put very less effort on post-processing. Instead, our approach is to make every manipulation learnable. Let the model determine the optimal manipulation, reducing the risk of post-processing steps overfitting to the current validation set. Conceptually, identifying a principled mathematical template such as fitting and estimating a polynomial surface and then detecting abnormal regions seems like the most elegant way to address this challenge.</p>",
          "votes": 2,
          "replies": [
            {
              "id": 3400729,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2026-02-02T06:33:11.800000",
              "content": "<p>Yes, but this method needs better label data. But on the other hand, i tried many post processing and none can take care of all cases. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3400731,
              "author_name": "Tom",
              "author_url": "",
              "post_date": "2026-02-02T06:39:39.107000",
              "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F655c0a968a5509d2c8e966aa0f038696%2F.png?generation=1770014355065791&amp;alt=media\" alt=\"\"></p>\n<p>we basically try our best to keep VOI while improve topo and surface. Making everything improve significantly is very challenging for me.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3400739,
              "author_name": "Tom",
              "author_url": "",
              "post_date": "2026-02-02T07:03:21.427000",
              "content": "<p>feed our whole pipeline to gemini, our solution looks like this</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4310004%2F304619b337dae8a9aa7c8156b03f6cbd%2FChatGPT%20Image%20202622%2003_02_26.png?generation=1770015800069856&amp;alt=media\" alt=\"\"></p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3400752,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2026-02-02T07:29:48.130000",
              "content": "<p>Apparently, chatgpt can hallucinate abd understand this😱</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3400758,
              "author_name": "Tom",
              "author_url": "",
              "post_date": "2026-02-02T07:46:25.243000",
              "content": "<p>looks like gemini encodes our solution, then let chatgpt decodes it. That's a very good competition topic hah.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3400764,
              "author_name": "Manas Choudhary",
              "author_url": "",
              "post_date": "2026-02-02T07:59:44.027000",
              "content": "<p>Even I can understand this, rock to containers, containers to rock, rock to marble.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3397058,
      "author_name": "Manas Choudhary",
      "author_url": "",
      "post_date": "2026-01-26T11:55:48.507000",
      "content": "<p>From my experience, any adhesion removal technique alone reduces the score, when trying to remove merges, we end up having clean seperate sheets, but with more holes, which reduces the score. </p>\n<p>Also don't get demotivated, I don't think most of the top teams have found some serious novelties, or exceptionally good methods, everyone is trying various kinds of tricks but none seem to work on leaderboard. I believe 70-80% of top 20-30 scores are just segmentation with basic post-processing because until now that's what has proven to give good results on lb.</p>",
      "votes": 4,
      "replies": [
        {
          "id": 3397062,
          "author_name": "Tom",
          "author_url": "",
          "post_date": "2026-01-26T12:03:27.847000",
          "content": "<p>That’s definitely a major challenge we face in this competition. Our approach addresses it to some extent, though not perfectly. We hope to learn from other teams’ solutions and gain insights into how they tackle this problem.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 3397400,
          "author_name": "tingyi",
          "author_url": "",
          "post_date": "2026-01-27T07:46:25.730000",
          "content": "<p>I’d really love to see what you two masters have been up to.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 3398116,
          "author_name": "Sean Johnson_SP",
          "author_url": "",
          "post_date": "2026-01-28T16:42:13.737000",
          "content": "<p>if you've got a clean surface that you know is correct, but more holes, it may be worth it to explore methods for filling those back in. if your holes are rather small a simple interpolation (or trained hole fill) may work much better than you think. i would expect a sheet with no holes but some slight misalignment in areas would score better than one with holes. the toposcore will very heavily penalize holes </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 3400026,
          "author_name": "/|\\^||^\\|/",
          "author_url": "",
          "post_date": "2026-01-31T18:01:01.373000",
          "content": "<p>what general category of tool/algo are people using to connect disconnected components that are on the same sheet?   </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3396599,
      "author_name": "Giorgio Angelotti",
      "author_url": "",
      "post_date": "2026-01-25T11:59:55.450000",
      "content": "<p>Don't feel demotivated. You are doing a great work.\nWe picked up this metric which is a linear combination of these three factors to make sure, or at least to make more difficult, cheating the leaderboard.\nThe surface dice is a \"classical\" vision segmentation target. While, according to <a href=\"https://arxiv.org/pdf/2412.14619v1\" target=\"_blank\">this paper</a> VOI is what in neuronal segmentation correlates the most with what a human annotator would judge as good. However in VOI topological and voxel information are entangled. The Betti matching (Topo-score) is severely penalized by topological differences in approximately the same region of interest, but doesn't really care about voxel precision. In some cases, VOI could seem to conflict with the Topo-score, while in others with the Surface dice, because sometimes one could have a more accurate voxel-wise segmentation (but with more topological mistakes) and sometimes a segmentation more topologically accurate (but with lower voxel-wise precision). Nevertheless, if both \"worlds\" improve concurrently, the VOI should agree both with the Topo-score and the Surface Dice.</p>",
      "votes": 4,
      "replies": [
        {
          "id": 3396604,
          "author_name": "Marius Heuser",
          "author_url": "",
          "post_date": "2026-01-25T12:10:32.983000",
          "content": "<p>Thank you for clarifying. My main point I wanted to bring across is, that even great visual improvements translate in smaller metric difference than one might expect for the given reasons. So keep pushing :)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 3396616,
          "author_name": "tingyi",
          "author_url": "",
          "post_date": "2026-01-25T12:46:14.547000",
          "content": "<p>Thanks for letting me know. I used to think the metrics for this competition were a bit strange since they never seemed to align with what I expected. It turns out I just didn't have a deep enough understanding of them.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 3396996,
          "author_name": "huoxu",
          "author_url": "",
          "post_date": "2026-01-26T08:59:05.707000",
          "content": "<p>Is there going to be a re-scoring?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3398359,
      "author_name": "Navneet",
      "author_url": "",
      "post_date": "2026-01-29T02:59:29.610000",
      "content": "<p>There is a significant performance boost! <a href=\"https://www.kaggle.com/chengtingyi\" target=\"_blank\">@chengtingyi</a> </p>",
      "votes": 1,
      "replies": [
        {
          "id": 3398408,
          "author_name": "tingyi",
          "author_url": "",
          "post_date": "2026-01-29T05:07:37.007000",
          "content": "<p>That's because I found out everyone's little secret.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 3396552,
      "author_name": "Marius Heuser",
      "author_url": "",
      "post_date": "2026-01-25T09:47:39.460000",
      "content": "<p>Hey, don't be discouraged. The metric doesn't display progress very well in my opinion.\nThe main reason seems to be the VOI-score. If your topo-score improves, your voi-score often drops.\nUnless your solution is close to perfection, they seem to work against each other. \nMy assumption is, that a good topo-score increases the amount of components, which increases the uncertainty in the voi-score. Especially since the GT isn't perfectly aligned with the sheets and the 2 voxel leeway isn't applied to VOI?\nBut that's just what it feels like to me. I didn't dig too deep into it.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3397103,
      "author_name": "YYH",
      "author_url": "",
      "post_date": "2026-01-26T13:36:49.397000",
      "content": "<p>Hello, I'm new to this competition. I want to know if the outcome of this competition is determined during post-processing. Thank you very much for your answer.</p>",
      "votes": -1,
      "replies": [
        {
          "id": 3397384,
          "author_name": "tingyi",
          "author_url": "",
          "post_date": "2026-01-27T06:44:45.063000",
          "content": "<p>Honestly, I’m pretty lost too, since my post-processing methods aren't showing much of an effect on the Public LB.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 3398111,
              "author_name": "Wayne_127",
              "author_url": "",
              "post_date": "2026-01-28T16:20:14.820000",
              "content": "<p>Relying on post-processing alone just doesn’t give me much confidence.</p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3398112,
              "author_name": "Wayne_127",
              "author_url": "",
              "post_date": "2026-01-28T16:21:45.207000",
              "content": "<p>Will this cause a major shake-up on the leaderboard?</p>",
              "votes": 3,
              "replies": []
            },
            {
              "id": 3398401,
              "author_name": "GG Ayo (AyoGG)",
              "author_url": "",
              "post_date": "2026-01-29T04:32:23.517000",
              "content": "<p>Of course, and this situation occurs randomly, making the PB score misleading.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3398409,
              "author_name": "tingyi",
              "author_url": "",
              "post_date": "2026-01-29T05:11:37.817000",
              "content": "<p>I’m certain there will be a shake-up. Scores are extremely close, and I suspect the Public LB is based on 40 samples or fewer. Still, it is what it is—Kaggle might not be able to handle a much larger dataset. All I can do now is wish everyone the best of luck.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3398411,
              "author_name": "GG Ayo (AyoGG)",
              "author_url": "",
              "post_date": "2026-01-29T05:17:17.747000",
              "content": "<p>Of course, if your post-processing can handle this situation flawlessly, no one will be able to surpass you. In our tests, excluding this factor would increase the score by about 4%.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3398422,
              "author_name": "TWEAK",
              "author_url": "",
              "post_date": "2026-01-29T05:49:04.623000",
              "content": "<p>Are you suggesting there is an error in the scoring implementation, or just that the metric is highly sensitive? If the LB is truly 'misleading' due to randomness, then optimizing against it is basically gambling, which makes the competition pointless.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3398428,
              "author_name": "GG Ayo (AyoGG)",
              "author_url": "",
              "post_date": "2026-01-29T06:00:15.533000",
              "content": "<p>This situation does not occur in all examples, but whenever it does, the scores drop sharply. We do not know how many such examples exist in the PUBLIC TEST DATASET, nor how many will appear in the PRIVATE TEST DATASET.</p>\n<p>Optimizing solely based on PB SCORE carries significant risks. It's not uncommon for contestants ranked in the top 10 on Kaggle's PUBLIC LEADBOARD to plummet to hundreds of places on the PRIVATE LEADBOARD.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3398452,
              "author_name": "TWEAK",
              "author_url": "",
              "post_date": "2026-01-29T07:02:17.613000",
              "content": "<p>Yeah, I’m probably dropping — I think I overfit a bit. I’m going to submit one high-scoring model plus a more ‘safe’ mid-scoring one and hope it holds up on private.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3396465": "Even though I’ve poured all my effort and creativity into this competition, I fear that what I'm working on now is something other competitors implemented a month ago.\n\nTake the adhesion removal feature below, for instance. We managed to achieve segmentation in just a few seconds. However, regrettably, we didn't see a significant performance boost on the leaderboard. It’s disheartening to think that others might have already achieved this weeks ago\n\n### Original Image\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2Fc2792d8352f1583d0f9c0f40191493d5%2Fimage_.png?generation=1769319894617996&alt=media)\n\n### Image after Adhesion Removal\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8788200%2F3e667e25d42ec4a65c6705fa538ff3ed%2Fimage_.png?generation=1769319987853661&alt=media)",
    "3396557": "I honestly don’t know why anyone shares their results. It just ends up getting downvoted every time. That's very dismotivated.",
    "3400422": "@chengtingyi , @tom99763 \nyou results look very good. I think you can improve it like this:  \n1) for each connected component, predict the number of sheets (you can do it by ray casting test, e.g. use median   normal from pca, or train a net to predict it)    \n2) if the component has multiple sheets, dilation mask it to create a \"cropped\" sample  \n3) train a net to separate it. here the train samples are cropped samples of stuck sheets. the ground truth is instance label (i.e. multiclass). be consistent in your labeling, e.g. the topmost truth sheet is always label 1, the next is 2 .... ",
    "3397058": "From my experience, any adhesion removal technique alone reduces the score, when trying to remove merges, we end up having clean seperate sheets, but with more holes, which reduces the score. \n\nAlso don't get demotivated, I don't think most of the top teams have found some serious novelties, or exceptionally good methods, everyone is trying various kinds of tricks but none seem to work on leaderboard. I believe 70-80% of top 20-30 scores are just segmentation with basic post-processing because until now that's what has proven to give good results on lb.",
    "3396599": "Don't feel demotivated. You are doing a great work.\nWe picked up this metric which is a linear combination of these three factors to make sure, or at least to make more difficult, cheating the leaderboard.\nThe surface dice is a \"classical\" vision segmentation target. While, according to [this paper](https://arxiv.org/pdf/2412.14619v1) VOI is what in neuronal segmentation correlates the most with what a human annotator would judge as good. However in VOI topological and voxel information are entangled. The Betti matching (Topo-score) is severely penalized by topological differences in approximately the same region of interest, but doesn't really care about voxel precision. In some cases, VOI could seem to conflict with the Topo-score, while in others with the Surface dice, because sometimes one could have a more accurate voxel-wise segmentation (but with more topological mistakes) and sometimes a segmentation more topologically accurate (but with lower voxel-wise precision). Nevertheless, if both \"worlds\" improve concurrently, the VOI should agree both with the Topo-score and the Surface Dice.",
    "3398359": "There is a significant performance boost! @chengtingyi ",
    "3396552": "Hey, don't be discouraged. The metric doesn't display progress very well in my opinion.\nThe main reason seems to be the VOI-score. If your topo-score improves, your voi-score often drops.\nUnless your solution is close to perfection, they seem to work against each other. \nMy assumption is, that a good topo-score increases the amount of components, which increases the uncertainty in the voi-score. Especially since the GT isn't perfectly aligned with the sheets and the 2 voxel leeway isn't applied to VOI?\nBut that's just what it feels like to me. I didn't dig too deep into it.\n",
    "3397103": "Hello, I'm new to this competition. I want to know if the outcome of this competition is determined during post-processing. Thank you very much for your answer."
  }
}