{
  "id": 229626,
  "title": "21th place solution (36th public)",
  "url": "/competitions/vinbigdata-chest-xray-abnormalities-detection/discussion/229626",
  "author_name": "Wang Xing",
  "post_date": "2021-03-31T02:32:43.517000",
  "votes": 21,
  "comment_count": 12,
  "views": 0,
  "content": "<p>This was my 7th competition, and the goal was to get a Silver Medal.<br>\nBut after finished other competition, I joined this competition lately.<br>\nSo I first studied other competitor’s public solution.<br>\nDetectron2 <a href=\"https://www.kaggle.com/corochann/vinbigdata-detectron2-train\" target=\"_blank\">@corochann</a> and yolo5 <a href=\"https://www.kaggle.com/awsaf49/vinbigdata-cxr-ad-yolov5-14-class-train\" target=\"_blank\">@Awsaf</a> attracted my eye, and just read <a href=\"https://www.kaggle.com/dennywangdev\" target=\"_blank\">@Denny Wang</a> <a href=\"https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection/discussion/219925#1220224\" target=\"_blank\">achievement</a>.<br>\nBut the CV score[mAP@0.5:0.95] didn’t break 1.6, public lb can’t reach to 1.8.<br>\nWith lucky I implemented Ensemble Strategy with <a href=\"https://www.kaggle.com/zfturbo\" target=\"_blank\">@ZFTurbo</a>’s WBF, and public lb score was reached to 2.72.<br>\nI tried to implement 5 Folds and TTA, but gave up for my other work.<br>\nLast Night I ensembled public results with WBF, the results was surprised me to get 2.94(2.82).<br>\nThis results was enough for me to get Silver Medal.<br>\nI think there is far distance between GM/Masters and me.<br>\nI hope to become a Master this year, so I must <strong>study</strong> hard.<br>\nThanks to Competition Host, and Congratulations to all winners!<br>\nSpecial thanks to <a href=\"https://www.kaggle.com/corochann\" target=\"_blank\">@corochann</a> <a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <a href=\"https://www.kaggle.com/dennywangdev\" target=\"_blank\">@dennywangdev</a> <a href=\"https://www.kaggle.com/zfturbo\" target=\"_blank\">@zfturbo</a> </p>\n<p>This is my submission results.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Public/ Private</th>\n<th>WBF weight</th>\n<th>Public/Private</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Yolo5</td>\n<td>0.243/0.235</td>\n<td>[3, 1]</td>\n<td>0.272/0.256</td>\n</tr>\n<tr>\n<td>Detectron2</td>\n<td>0.221/0.232</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Yolo5</td>\n<td>0.243/0.235</td>\n<td>[2, 1, 3]</td>\n<td><strong>0.294/0.282</strong></td>\n</tr>\n<tr>\n<td>Detectron2</td>\n<td>0.221/0.232</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Public</td>\n<td>0.246/0.226</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 1257648,
      "postDate": "2021-03-31T02:32:43.517Z",
      "content": "<p>This was my 7th competition, and the goal was to get a Silver Medal.<br>\nBut after finished other competition, I joined this competition lately.<br>\nSo I first studied other competitor’s public solution.<br>\nDetectron2 <a href=\"https://www.kaggle.com/corochann/vinbigdata-detectron2-train\" target=\"_blank\">@corochann</a> and yolo5 <a href=\"https://www.kaggle.com/awsaf49/vinbigdata-cxr-ad-yolov5-14-class-train\" target=\"_blank\">@Awsaf</a> attracted my eye, and just read <a href=\"https://www.kaggle.com/dennywangdev\" target=\"_blank\">@Denny Wang</a> <a href=\"https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection/discussion/219925#1220224\" target=\"_blank\">achievement</a>.<br>\nBut the CV score[mAP@0.5:0.95] didn’t break 1.6, public lb can’t reach to 1.8.<br>\nWith lucky I implemented Ensemble Strategy with <a href=\"https://www.kaggle.com/zfturbo\" target=\"_blank\">@ZFTurbo</a>’s WBF, and public lb score was reached to 2.72.<br>\nI tried to implement 5 Folds and TTA, but gave up for my other work.<br>\nLast Night I ensembled public results with WBF, the results was surprised me to get 2.94(2.82).<br>\nThis results was enough for me to get Silver Medal.<br>\nI think there is far distance between GM/Masters and me.<br>\nI hope to become a Master this year, so I must <strong>study</strong> hard.<br>\nThanks to Competition Host, and Congratulations to all winners!<br>\nSpecial thanks to <a href=\"https://www.kaggle.com/corochann\" target=\"_blank\">@corochann</a> <a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <a href=\"https://www.kaggle.com/dennywangdev\" target=\"_blank\">@dennywangdev</a> <a href=\"https://www.kaggle.com/zfturbo\" target=\"_blank\">@zfturbo</a> </p>\n<p>This is my submission results.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Public/ Private</th>\n<th>WBF weight</th>\n<th>Public/Private</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Yolo5</td>\n<td>0.243/0.235</td>\n<td>[3, 1]</td>\n<td>0.272/0.256</td>\n</tr>\n<tr>\n<td>Detectron2</td>\n<td>0.221/0.232</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Yolo5</td>\n<td>0.243/0.235</td>\n<td>[2, 1, 3]</td>\n<td><strong>0.294/0.282</strong></td>\n</tr>\n<tr>\n<td>Detectron2</td>\n<td>0.221/0.232</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Public</td>\n<td>0.246/0.226</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "This was my 7th competition, and the goal was to get a Silver Medal.\nBut after finished other competition, I joined this competition lately.\nSo I first studied other competitor’s public solution.\nDetectron2 [@corochann](https://www.kaggle.com/corochann/vinbigdata-detectron2-train) and yolo5 [@Awsaf](https://www.kaggle.com/awsaf49/vinbigdata-cxr-ad-yolov5-14-class-train) attracted my eye, and just read [@Denny Wang](https://www.kaggle.com/dennywangdev) [achievement](https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection/discussion/219925#1220224).\nBut the CV score[mAP@0.5:0.95] didn’t break 1.6, public lb can’t reach to 1.8.\nWith lucky I implemented Ensemble Strategy with [@ZFTurbo](https://www.kaggle.com/zfturbo)’s WBF, and public lb score was reached to 2.72.\nI tried to implement 5 Folds and TTA, but gave up for my other work.\nLast Night I ensembled public results with WBF, the results was surprised me to get 2.94(2.82).\nThis results was enough for me to get Silver Medal.\nI think there is far distance between GM/Masters and me.\nI hope to become a Master this year, so I must **study** hard.\nThanks to Competition Host, and Congratulations to all winners!\nSpecial thanks to @corochann @awsaf49 @dennywangdev @zfturbo \n\nThis is my submission results.\n|Model\t|Public/ Private\t|WBF weight\t|Public/Private|\n| --- | --- |\n|Yolo5\t|0.243/0.235\t|[3, 1]\t|0.272/0.256|\n|Detectron2\t|0.221/0.232|\t\t||\n|\t\t\t|                               ||\n|Yolo5\t|0.243/0.235\t|[2, 1, 3]\t|**0.294/0.282**|\n|Detectron2\t|0.221/0.232| ||\t\t\n|Public\t|0.246/0.226| ||\t\t\n",
      "votes": 21
    },
    {
      "id": 1257692,
      "postDate": "2021-03-31T03:24:14.547Z",
      "content": "<p>Congrats on silver medal <a href=\"https://www.kaggle.com/xiaojin712\" target=\"_blank\">@xiaojin712</a> and thanks for sharing summarize solution</p>",
      "rawMarkdown": "Congrats on silver medal @xiaojin712 and thanks for sharing summarize solution",
      "votes": 3,
      "replies": [
        {
          "id": 1257701,
          "postDate": "2021-03-31T03:37:25.893Z",
          "content": "<p>Thank you , and Congrats on your  Silver Medal too :).</p>",
          "rawMarkdown": "Thank you , and Congrats on your  Silver Medal too :).",
          "votes": 1
        }
      ]
    },
    {
      "id": 1257652,
      "postDate": "2021-03-31T02:40:31.873Z",
      "content": "<p>Congratulations to get the silver medal.</p>",
      "rawMarkdown": "Congratulations to get the silver medal.",
      "votes": 1,
      "replies": [
        {
          "id": 1257832,
          "postDate": "2021-03-31T06:13:04.450Z",
          "content": "<p>Thanks a lot :)</p>",
          "rawMarkdown": "Thanks a lot :)",
          "votes": 1
        }
      ]
    },
    {
      "id": 1257927,
      "postDate": "2021-03-31T08:12:03.470Z",
      "content": "<p>Congratz 😀</p>",
      "rawMarkdown": "Congratz 😀",
      "votes": 2,
      "replies": [
        {
          "id": 1257951,
          "postDate": "2021-03-31T08:28:36.250Z",
          "content": "<p>Thanks a lot 👍, And Congrats on your Medal too 😃.<br>\nYour kernel helped me a lot.</p>",
          "rawMarkdown": "Thanks a lot 👍, And Congrats on your Medal too 😃.\nYour kernel helped me a lot.",
          "votes": 2
        }
      ]
    },
    {
      "id": 1257860,
      "postDate": "2021-03-31T06:43:58.880Z",
      "content": "<p>Hi thank you, can I ask how can you choose a suitable WBF weight like [3,1]?</p>",
      "rawMarkdown": "Hi thank you, can I ask how can you choose a suitable WBF weight like [3,1]?",
      "votes": 2,
      "replies": [
        {
          "id": 1257871,
          "postDate": "2021-03-31T06:58:10.167Z",
          "content": "<blockquote>\n  <p>output = pd.DataFrame(columns = [\"image_id\", \"PredictionString\"])    <br>\n      for image_id in tqdm(image_ids):<br>\n          boxes_list = []<br>\n          scores_list = []<br>\n          labels_list = []<br>\n          # For each model, get PredictionString of image_id as a dict<br>\n          boxes, scores, labels = getitem(sub_yolo, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)<br>\n          boxes, scores, labels = getitem(sub1, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)<br>\n          boxes, scores, labels = getitem(sub2, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)        <br>\n         #         weights = [1, 4] #0.279<br>\n         #         weights = [1, 3.5] #0.285<br>\n         #         weights = [1, 3]  #0.286<br>\n         #         weights = [1, 2.5] #0.270<br>\n         #         weights = [1, 2] #0.272<br>\n         #         weights = [1, 1] #0.241<br>\n         #         weights = [1, 0] #0.21<br>\n         #         weights = [0, 1] #0.247        <br>\n         #         weights = [2, 1, 3] #0.294<br>\n         #         weights = [4, 1, 3] #0.289<br>\n         #         weights = [3, 1] #0.272<br>\n          weights = [3, 1, 2] #0.291       <br>\n          boxes, scores, labels = weighted_boxes_fusion(boxes_list, scores_list, labels_list, weights, 0.4, 0.0001, )</p>\n</blockquote>\n<p>This is my code for WBF ensemble, Finally I chose with best public score.</p>",
          "rawMarkdown": "> output = pd.DataFrame(columns = [\"image_id\", \"PredictionString\"])    \n    for image_id in tqdm(image_ids):\n        boxes_list = []\n        scores_list = []\n        labels_list = []\n        # For each model, get PredictionString of image_id as a dict\n        boxes, scores, labels = getitem(sub_yolo, image_id)\n        boxes_list.append(boxes)\n        scores_list.append(scores)\n        labels_list.append(labels)\n        boxes, scores, labels = getitem(sub1, image_id)\n        boxes_list.append(boxes)\n        scores_list.append(scores)\n        labels_list.append(labels)\n        boxes, scores, labels = getitem(sub2, image_id)\n        boxes_list.append(boxes)\n        scores_list.append(scores)\n        labels_list.append(labels)        \n       #         weights = [1, 4] #0.279\n       #         weights = [1, 3.5] #0.285\n       #         weights = [1, 3]  #0.286\n       #         weights = [1, 2.5] #0.270\n       #         weights = [1, 2] #0.272\n       #         weights = [1, 1] #0.241\n       #         weights = [1, 0] #0.21\n       #         weights = [0, 1] #0.247        \n       #         weights = [2, 1, 3] #0.294\n       #         weights = [4, 1, 3] #0.289\n       #         weights = [3, 1] #0.272\n        weights = [3, 1, 2] #0.291       \n        boxes, scores, labels = weighted_boxes_fusion(boxes_list, scores_list, labels_list, weights, 0.4, 0.0001, )\n\nThis is my code for WBF ensemble, Finally I chose with best public score.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1257674,
      "postDate": "2021-03-31T03:03:37.067Z",
      "content": "<p>Congrats and thanks for sharing!</p>",
      "rawMarkdown": "Congrats and thanks for sharing!",
      "votes": 2,
      "replies": [
        {
          "id": 1257678,
          "postDate": "2021-03-31T03:11:55.913Z",
          "content": "<p>Thank you , and Congrats on your Medal too :).</p>",
          "rawMarkdown": "Thank you , and Congrats on your Medal too :).",
          "votes": 2
        }
      ]
    },
    {
      "id": 1257654,
      "postDate": "2021-03-31T02:41:05.560Z",
      "content": "<p><a href=\"https://www.kaggle.com/xiaojin712\" target=\"_blank\">@xiaojin712</a> Congratulations on Silver Finish and Thanks for sharing your approach</p>",
      "rawMarkdown": "@xiaojin712 Congratulations on Silver Finish and Thanks for sharing your approach",
      "votes": 2,
      "replies": [
        {
          "id": 1257657,
          "postDate": "2021-03-31T02:45:40.030Z",
          "content": "<p>Thank you :)</p>",
          "rawMarkdown": "Thank you :)",
          "votes": 1
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 1257692,
      "author_name": "KhanhVD",
      "author_url": "",
      "post_date": "2021-03-31T03:24:14.547000",
      "content": "<p>Congrats on silver medal <a href=\"https://www.kaggle.com/xiaojin712\" target=\"_blank\">@xiaojin712</a> and thanks for sharing summarize solution</p>",
      "votes": 3,
      "replies": [
        {
          "id": 1257701,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T03:37:25.893000",
          "content": "<p>Thank you , and Congrats on your  Silver Medal too :).</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1257652,
      "author_name": "TianLong Ye",
      "author_url": "",
      "post_date": "2021-03-31T02:40:31.873000",
      "content": "<p>Congratulations to get the silver medal.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1257832,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T06:13:04.450000",
          "content": "<p>Thanks a lot :)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1257927,
      "author_name": "Awsaf",
      "author_url": "",
      "post_date": "2021-03-31T08:12:03.470000",
      "content": "<p>Congratz 😀</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1257951,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T08:28:36.250000",
          "content": "<p>Thanks a lot 👍, And Congrats on your Medal too 😃.<br>\nYour kernel helped me a lot.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1257860,
      "author_name": "David",
      "author_url": "",
      "post_date": "2021-03-31T06:43:58.880000",
      "content": "<p>Hi thank you, can I ask how can you choose a suitable WBF weight like [3,1]?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1257871,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T06:58:10.167000",
          "content": "<blockquote>\n  <p>output = pd.DataFrame(columns = [\"image_id\", \"PredictionString\"])    <br>\n      for image_id in tqdm(image_ids):<br>\n          boxes_list = []<br>\n          scores_list = []<br>\n          labels_list = []<br>\n          # For each model, get PredictionString of image_id as a dict<br>\n          boxes, scores, labels = getitem(sub_yolo, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)<br>\n          boxes, scores, labels = getitem(sub1, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)<br>\n          boxes, scores, labels = getitem(sub2, image_id)<br>\n          boxes_list.append(boxes)<br>\n          scores_list.append(scores)<br>\n          labels_list.append(labels)        <br>\n         #         weights = [1, 4] #0.279<br>\n         #         weights = [1, 3.5] #0.285<br>\n         #         weights = [1, 3]  #0.286<br>\n         #         weights = [1, 2.5] #0.270<br>\n         #         weights = [1, 2] #0.272<br>\n         #         weights = [1, 1] #0.241<br>\n         #         weights = [1, 0] #0.21<br>\n         #         weights = [0, 1] #0.247        <br>\n         #         weights = [2, 1, 3] #0.294<br>\n         #         weights = [4, 1, 3] #0.289<br>\n         #         weights = [3, 1] #0.272<br>\n          weights = [3, 1, 2] #0.291       <br>\n          boxes, scores, labels = weighted_boxes_fusion(boxes_list, scores_list, labels_list, weights, 0.4, 0.0001, )</p>\n</blockquote>\n<p>This is my code for WBF ensemble, Finally I chose with best public score.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1257674,
      "author_name": "Wonho Song",
      "author_url": "",
      "post_date": "2021-03-31T03:03:37.067000",
      "content": "<p>Congrats and thanks for sharing!</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1257678,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T03:11:55.913000",
          "content": "<p>Thank you , and Congrats on your Medal too :).</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1257654,
      "author_name": "Tensor Girl",
      "author_url": "",
      "post_date": "2021-03-31T02:41:05.560000",
      "content": "<p><a href=\"https://www.kaggle.com/xiaojin712\" target=\"_blank\">@xiaojin712</a> Congratulations on Silver Finish and Thanks for sharing your approach</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1257657,
          "author_name": "Wang Xing",
          "author_url": "",
          "post_date": "2021-03-31T02:45:40.030000",
          "content": "<p>Thank you :)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1257648": "This was my 7th competition, and the goal was to get a Silver Medal.\nBut after finished other competition, I joined this competition lately.\nSo I first studied other competitor’s public solution.\nDetectron2 [@corochann](https://www.kaggle.com/corochann/vinbigdata-detectron2-train) and yolo5 [@Awsaf](https://www.kaggle.com/awsaf49/vinbigdata-cxr-ad-yolov5-14-class-train) attracted my eye, and just read [@Denny Wang](https://www.kaggle.com/dennywangdev) [achievement](https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection/discussion/219925#1220224).\nBut the CV score[mAP@0.5:0.95] didn’t break 1.6, public lb can’t reach to 1.8.\nWith lucky I implemented Ensemble Strategy with [@ZFTurbo](https://www.kaggle.com/zfturbo)’s WBF, and public lb score was reached to 2.72.\nI tried to implement 5 Folds and TTA, but gave up for my other work.\nLast Night I ensembled public results with WBF, the results was surprised me to get 2.94(2.82).\nThis results was enough for me to get Silver Medal.\nI think there is far distance between GM/Masters and me.\nI hope to become a Master this year, so I must **study** hard.\nThanks to Competition Host, and Congratulations to all winners!\nSpecial thanks to @corochann @awsaf49 @dennywangdev @zfturbo \n\nThis is my submission results.\n|Model\t|Public/ Private\t|WBF weight\t|Public/Private|\n| --- | --- |\n|Yolo5\t|0.243/0.235\t|[3, 1]\t|0.272/0.256|\n|Detectron2\t|0.221/0.232|\t\t||\n|\t\t\t|                               ||\n|Yolo5\t|0.243/0.235\t|[2, 1, 3]\t|**0.294/0.282**|\n|Detectron2\t|0.221/0.232| ||\t\t\n|Public\t|0.246/0.226| ||\t\t\n",
    "1257692": "Congrats on silver medal @xiaojin712 and thanks for sharing summarize solution",
    "1257652": "Congratulations to get the silver medal.",
    "1257927": "Congratz 😀",
    "1257860": "Hi thank you, can I ask how can you choose a suitable WBF weight like [3,1]?",
    "1257674": "Congrats and thanks for sharing!",
    "1257654": "@xiaojin712 Congratulations on Silver Finish and Thanks for sharing your approach"
  }
}