{
  "id": 679225,
  "title": "Quick Preview of the 1st place solution",
  "url": "/competitions/vesuvius-challenge-surface-detection/discussion/679225",
  "author_name": "Yiheng Wang",
  "post_date": "2026-02-28T01:46:32.723000",
  "votes": 13,
  "comment_count": 0,
  "views": 0,
  "content": "<p>Our formal write up will be posted (by Paul) soon.</p>\n<p>The most excited thing today is that we successfully select the highest private LB solution. </p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F682501%2F2c5706c0c7d2f21888d6c8db86a72137%2FScreenshot%202026-02-28%20at%2009.47.11.png?generation=1772243243772750&amp;alt=media\" alt=\"\"></p>\n<p>For quick preview, the following is the model training and ensemble part.</p>\n<p>First, we would like to appreciate <a href=\"https://www.kaggle.com/jirkaborovec\" target=\"_blank\">Jirka</a>'s work! His <a href=\"https://www.kaggle.com/code/jirkaborovec/surface-train-inference-3d-segm-gpu-augment\" target=\"_blank\">notebook</a> served as the starting point of our training pipeline.</p>\n<h3>Single Model Strategy</h3>\n<ul>\n<li>We used all available data for training and built our baseline nnU-Net model (Model 1) with the following settings:</li>\n</ul>\n<pre><code>patch size: 128\nbatch size: 2\nepochs: 4000\n</code></pre>\n<ul>\n<li><p>We then fine-tuned Model 1 with larger patch sizes of 192 and 256, training for 250 epochs each.</p></li>\n<li><p>Due to the extension of the competition, we trained additional models from scratch (for 4000 epochs) with patch sizes of 160, 192, and 224 to increase model diversity. Among these, the 192-patch model was included in our final ensemble.</p></li>\n</ul>\n<h3>Ensemble Strategy</h3>\n<p>We prepared two sets of 4-model ensembles as our final submissions:</p>\n<ul>\n<li><strong>Set 1:</strong> Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 100 epochs (0.18) + fine-tuned 256-patch model at 250 epochs (0.42).</li>\n<li><strong>Set 2:</strong> Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 250 epochs (0.18) + from-scratch 192-patch model at 4000 epochs (0.42).</li>\n</ul>\n<p>For each ensemble, we fused the post-softmax probabilities using the assigned model weights and applied different thresholds and post processing methods.</p>\n<table>\n<thead>\n<tr>\n<th>Ensemble</th>\n<th>Public LB</th>\n<th>Private LB</th>\n<th>Threshold</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Set 1</td>\n<td>0.613</td>\n<td>0.620</td>\n<td>0.20</td>\n</tr>\n<tr>\n<td>Set 2</td>\n<td>0.606</td>\n<td>0.627</td>\n<td>0.26</td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 3414950,
      "postDate": "2026-02-28T01:46:32.723Z",
      "content": "<p>Our formal write up will be posted (by Paul) soon.</p>\n<p>The most excited thing today is that we successfully select the highest private LB solution. </p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F682501%2F2c5706c0c7d2f21888d6c8db86a72137%2FScreenshot%202026-02-28%20at%2009.47.11.png?generation=1772243243772750&amp;alt=media\" alt=\"\"></p>\n<p>For quick preview, the following is the model training and ensemble part.</p>\n<p>First, we would like to appreciate <a href=\"https://www.kaggle.com/jirkaborovec\" target=\"_blank\">Jirka</a>'s work! His <a href=\"https://www.kaggle.com/code/jirkaborovec/surface-train-inference-3d-segm-gpu-augment\" target=\"_blank\">notebook</a> served as the starting point of our training pipeline.</p>\n<h3>Single Model Strategy</h3>\n<ul>\n<li>We used all available data for training and built our baseline nnU-Net model (Model 1) with the following settings:</li>\n</ul>\n<pre><code>patch size: 128\nbatch size: 2\nepochs: 4000\n</code></pre>\n<ul>\n<li><p>We then fine-tuned Model 1 with larger patch sizes of 192 and 256, training for 250 epochs each.</p></li>\n<li><p>Due to the extension of the competition, we trained additional models from scratch (for 4000 epochs) with patch sizes of 160, 192, and 224 to increase model diversity. Among these, the 192-patch model was included in our final ensemble.</p></li>\n</ul>\n<h3>Ensemble Strategy</h3>\n<p>We prepared two sets of 4-model ensembles as our final submissions:</p>\n<ul>\n<li><strong>Set 1:</strong> Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 100 epochs (0.18) + fine-tuned 256-patch model at 250 epochs (0.42).</li>\n<li><strong>Set 2:</strong> Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 250 epochs (0.18) + from-scratch 192-patch model at 4000 epochs (0.42).</li>\n</ul>\n<p>For each ensemble, we fused the post-softmax probabilities using the assigned model weights and applied different thresholds and post processing methods.</p>\n<table>\n<thead>\n<tr>\n<th>Ensemble</th>\n<th>Public LB</th>\n<th>Private LB</th>\n<th>Threshold</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Set 1</td>\n<td>0.613</td>\n<td>0.620</td>\n<td>0.20</td>\n</tr>\n<tr>\n<td>Set 2</td>\n<td>0.606</td>\n<td>0.627</td>\n<td>0.26</td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "Our formal write up will be posted (by Paul) soon.\n\nThe most excited thing today is that we successfully select the highest private LB solution. \n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F682501%2F2c5706c0c7d2f21888d6c8db86a72137%2FScreenshot%202026-02-28%20at%2009.47.11.png?generation=1772243243772750&alt=media)\n\nFor quick preview, the following is the model training and ensemble part.\n\nFirst, we would like to appreciate [Jirka](https://www.kaggle.com/jirkaborovec)'s work! His [notebook](https://www.kaggle.com/code/jirkaborovec/surface-train-inference-3d-segm-gpu-augment) served as the starting point of our training pipeline.\n\n### Single Model Strategy\n\n- We used all available data for training and built our baseline nnU-Net model (Model 1) with the following settings:\n\n```\npatch size: 128\nbatch size: 2\nepochs: 4000\n```\n\n- We then fine-tuned Model 1 with larger patch sizes of 192 and 256, training for 250 epochs each.\n\n- Due to the extension of the competition, we trained additional models from scratch (for 4000 epochs) with patch sizes of 160, 192, and 224 to increase model diversity. Among these, the 192-patch model was included in our final ensemble.\n\n### Ensemble Strategy\n\nWe prepared two sets of 4-model ensembles as our final submissions:\n\n- **Set 1:** Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 100 epochs (0.18) + fine-tuned 256-patch model at 250 epochs (0.42).\n- **Set 2:** Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 250 epochs (0.18) + from-scratch 192-patch model at 4000 epochs (0.42).\n\nFor each ensemble, we fused the post-softmax probabilities using the assigned model weights and applied different thresholds and post processing methods.\n\n| Ensemble | Public LB | Private LB | Threshold |\n|----------|-----------|------------|-----------|\n| Set 1    | 0.613     | 0.620      | 0.20      |\n| Set 2    | 0.606     | 0.627      | 0.26      |",
      "votes": 13
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "3414950": "Our formal write up will be posted (by Paul) soon.\n\nThe most excited thing today is that we successfully select the highest private LB solution. \n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F682501%2F2c5706c0c7d2f21888d6c8db86a72137%2FScreenshot%202026-02-28%20at%2009.47.11.png?generation=1772243243772750&alt=media)\n\nFor quick preview, the following is the model training and ensemble part.\n\nFirst, we would like to appreciate [Jirka](https://www.kaggle.com/jirkaborovec)'s work! His [notebook](https://www.kaggle.com/code/jirkaborovec/surface-train-inference-3d-segm-gpu-augment) served as the starting point of our training pipeline.\n\n### Single Model Strategy\n\n- We used all available data for training and built our baseline nnU-Net model (Model 1) with the following settings:\n\n```\npatch size: 128\nbatch size: 2\nepochs: 4000\n```\n\n- We then fine-tuned Model 1 with larger patch sizes of 192 and 256, training for 250 epochs each.\n\n- Due to the extension of the competition, we trained additional models from scratch (for 4000 epochs) with patch sizes of 160, 192, and 224 to increase model diversity. Among these, the 192-patch model was included in our final ensemble.\n\n### Ensemble Strategy\n\nWe prepared two sets of 4-model ensembles as our final submissions:\n\n- **Set 1:** Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 100 epochs (0.18) + fine-tuned 256-patch model at 250 epochs (0.42).\n- **Set 2:** Baseline 128-patch Model 1 (weight: 0.12) + fine-tuned 192-patch model (0.28) + fine-tuned 256-patch model at 250 epochs (0.18) + from-scratch 192-patch model at 4000 epochs (0.42).\n\nFor each ensemble, we fused the post-softmax probabilities using the assigned model weights and applied different thresholds and post processing methods.\n\n| Ensemble | Public LB | Private LB | Threshold |\n|----------|-----------|------------|-----------|\n| Set 1    | 0.613     | 0.620      | 0.20      |\n| Set 2    | 0.606     | 0.627      | 0.26      |"
  }
}