{
  "id": 79381,
  "title": "The 5th solution",
  "url": "/competitions/rsna-pneumonia-detection-challenge/discussion/79381",
  "author_name": "浪趴",
  "post_date": "2019-02-03T08:21:24.069000",
  "votes": 6,
  "comment_count": 0,
  "views": 0,
  "content": "<h1>Summary:</h1>\n\n<p>we use the classification-detection solution as the pipeline.\nFor the detail network:\nModified Faster/Mask R-CNN for Detection / DenseNet169 for Classification\nKeras / Pytorch / TensorFlow implementation</p>\n\n<h1>Training Methods：</h1>\n\n<ol>\n<li>Classification: \nCross-validation training.\n<ul><li>Data augmentation: horizontal flip, small angle rotate, multi-scale </li></ul></li>\n<li>Detection:\n<ul><li>Cross-validation training using 3 detection frameworks.</li>\n<li>Data augmentation: horizontal flip, small angle rotate, multi-scale resize</li>\n<li>First train on positive images only, then fine-tune the model on all images.</li>\n<li>OHEM (Online Hard Example Mining) in rpn class loss.</li>\n<li>(Optional) Focal loss for rpn class loss and rcnn class loss.</li>\n<li>(Optional) Classification branch: giving image an extra image level attribute, then design the network as multi-tasks learning: detection and classification. It helps to reduce FP.</li></ul></li>\n</ol>\n\n<h1>Ensemble strategy</h1>\n\n<p>Multi-scale inputs for different models</p>\n\n<p>Intra-model NMS plus cross-model box voting  in order to avoid different/unnormalized confidence scales among models</p>\n\n<p>Average the bbox of different model</p>\n\n<h1>Important and Interesting Findings:</h1>\n\n<p>OHEM: \nOnline hard example mining is used to handle with the involvement of negative images (without any objects at all) as well as to balance pos/neg samples.</p>\n\n<p>Classification\nA standalone classification model (DenseNet169) is trained to reduce false positive bounding boxes on image level.</p>\n\n<p>Finetune Strategy: \nFreezing all layers but heads and fine-tuning merely using the test dataset of stage 1 contributes to fitting the fine annotated images provided in stage 2.</p>\n\n<h1>the whole project source</h1>\n\n<p>we have upload our whole project at <a href=\"https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge\">https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge</a></p>",
  "messages": [
    {
      "id": 465479,
      "postDate": "2019-02-03T08:21:24.070Z",
      "content": "<h1>Summary:</h1>\n\n<p>we use the classification-detection solution as the pipeline.\nFor the detail network:\nModified Faster/Mask R-CNN for Detection / DenseNet169 for Classification\nKeras / Pytorch / TensorFlow implementation</p>\n\n<h1>Training Methods：</h1>\n\n<ol>\n<li>Classification: \nCross-validation training.\n<ul><li>Data augmentation: horizontal flip, small angle rotate, multi-scale </li></ul></li>\n<li>Detection:\n<ul><li>Cross-validation training using 3 detection frameworks.</li>\n<li>Data augmentation: horizontal flip, small angle rotate, multi-scale resize</li>\n<li>First train on positive images only, then fine-tune the model on all images.</li>\n<li>OHEM (Online Hard Example Mining) in rpn class loss.</li>\n<li>(Optional) Focal loss for rpn class loss and rcnn class loss.</li>\n<li>(Optional) Classification branch: giving image an extra image level attribute, then design the network as multi-tasks learning: detection and classification. It helps to reduce FP.</li></ul></li>\n</ol>\n\n<h1>Ensemble strategy</h1>\n\n<p>Multi-scale inputs for different models</p>\n\n<p>Intra-model NMS plus cross-model box voting  in order to avoid different/unnormalized confidence scales among models</p>\n\n<p>Average the bbox of different model</p>\n\n<h1>Important and Interesting Findings:</h1>\n\n<p>OHEM: \nOnline hard example mining is used to handle with the involvement of negative images (without any objects at all) as well as to balance pos/neg samples.</p>\n\n<p>Classification\nA standalone classification model (DenseNet169) is trained to reduce false positive bounding boxes on image level.</p>\n\n<p>Finetune Strategy: \nFreezing all layers but heads and fine-tuning merely using the test dataset of stage 1 contributes to fitting the fine annotated images provided in stage 2.</p>\n\n<h1>the whole project source</h1>\n\n<p>we have upload our whole project at <a href=\"https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge\">https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge</a></p>",
      "rawMarkdown": "# Summary:\nwe use the classification-detection solution as the pipeline.\nFor the detail network:\nModified Faster/Mask R-CNN for Detection / DenseNet169 for Classification\nKeras / Pytorch / TensorFlow implementation\n# Training Methods：\n\n1. Classification: \nCross-validation training.\n- Data augmentation: horizontal flip, small angle rotate, multi-scale \n2. Detection:\n- Cross-validation training using 3 detection frameworks.\n- Data augmentation: horizontal flip, small angle rotate, multi-scale resize\n- First train on positive images only, then fine-tune the model on all images.\n- OHEM (Online Hard Example Mining) in rpn class loss.\n- (Optional) Focal loss for rpn class loss and rcnn class loss.\n- (Optional) Classification branch: giving image an extra image level attribute, then design the network as multi-tasks learning: detection and classification. It helps to reduce FP.\n\n# Ensemble strategy\nMulti-scale inputs for different models\n\nIntra-model NMS plus cross-model box voting  in order to avoid different/unnormalized confidence scales among models\n\nAverage the bbox of different model\n\n# Important and Interesting Findings:\n\nOHEM: \nOnline hard example mining is used to handle with the involvement of negative images (without any objects at all) as well as to balance pos/neg samples.\n\nClassification\nA standalone classification model (DenseNet169) is trained to reduce false positive bounding boxes on image level.\n\nFinetune Strategy: \nFreezing all layers but heads and fine-tuning merely using the test dataset of stage 1 contributes to fitting the fine annotated images provided in stage 2.\n\n# the whole project source\n\nwe have upload our whole project at https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge\n\n\n\n\n\n\n\n\n",
      "votes": 6
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "465479": "# Summary:\nwe use the classification-detection solution as the pipeline.\nFor the detail network:\nModified Faster/Mask R-CNN for Detection / DenseNet169 for Classification\nKeras / Pytorch / TensorFlow implementation\n# Training Methods：\n\n1. Classification: \nCross-validation training.\n- Data augmentation: horizontal flip, small angle rotate, multi-scale \n2. Detection:\n- Cross-validation training using 3 detection frameworks.\n- Data augmentation: horizontal flip, small angle rotate, multi-scale resize\n- First train on positive images only, then fine-tune the model on all images.\n- OHEM (Online Hard Example Mining) in rpn class loss.\n- (Optional) Focal loss for rpn class loss and rcnn class loss.\n- (Optional) Classification branch: giving image an extra image level attribute, then design the network as multi-tasks learning: detection and classification. It helps to reduce FP.\n\n# Ensemble strategy\nMulti-scale inputs for different models\n\nIntra-model NMS plus cross-model box voting  in order to avoid different/unnormalized confidence scales among models\n\nAverage the bbox of different model\n\n# Important and Interesting Findings:\n\nOHEM: \nOnline hard example mining is used to handle with the involvement of negative images (without any objects at all) as well as to balance pos/neg samples.\n\nClassification\nA standalone classification model (DenseNet169) is trained to reduce false positive bounding boxes on image level.\n\nFinetune Strategy: \nFreezing all layers but heads and fine-tuning merely using the test dataset of stage 1 contributes to fitting the fine annotated images provided in stage 2.\n\n# the whole project source\n\nwe have upload our whole project at https://github.com/JiYuanFeng/Kaggle_RSNA_Pneumonia-Detection-Challenge\n\n\n\n\n\n\n\n\n"
  }
}