{
  "id": 66343,
  "title": "Unet modification",
  "url": "/competitions/rsna-pneumonia-detection-challenge/discussion/66343",
  "author_name": "",
  "post_date": "2018-09-20T19:24:00.826077400Z",
  "votes": null,
  "comment_count": 3,
  "views": 0,
  "content": "<p>I was wondering to use unet for this task and modify it for predicting bounding box instead of mask, by replacing last layer. Will someone throw some light on this?</p>",
  "messages": [
    {
      "id": "390762",
      "postDate": "09/20/2018 19:24:00",
      "content": "<p>I was wondering to use unet for this task and modify it for predicting bounding box instead of mask, by replacing last layer. Will someone throw some light on this?</p>",
      "rawMarkdown": "I was wondering to use unet for this task and modify it for predicting bounding box instead of mask, by replacing last layer. Will someone throw some light on this?",
      "votes": null
    },
    {
      "id": "390783",
      "postDate": "09/20/2018 20:31:59",
      "content": "<p>I would not recommend a complete UNet. The purpose of the \"U\" and the skip connections is to increase the resolution of the output mask which is good for many tasks like segmenting nuclei(DSB2018). However, we are predicting bounding boxes, so high resolution is not needed. I think you could get similar performance if you did not have an entire mirrored network to upsample, and instead just a few upsampling layers. Having resnet blocks at different depths will help but having large UNet-style skips shouldn't increase performance.</p>",
      "rawMarkdown": "I would not recommend a complete UNet. The purpose of the \"U\" and the skip connections is to increase the resolution of the output mask which is good for many tasks like segmenting nuclei(DSB2018). However, we are predicting bounding boxes, so high resolution is not needed. I think you could get similar performance if you did not have an entire mirrored network to upsample, and instead just a few upsampling layers. Having resnet blocks at different depths will help but having large UNet-style skips shouldn't increase performance.",
      "votes": null
    },
    {
      "id": "391035",
      "postDate": "09/21/2018 06:58:08",
      "content": "<p>So you are saying to use half of the unet and use few upsampling layer? How to decide what upsampling layers to use?</p>",
      "rawMarkdown": "So you are saying to use half of the unet and use few upsampling layer? How to decide what upsampling layers to use?",
      "votes": null
    },
    {
      "id": "391218",
      "postDate": "09/21/2018 12:24:34",
      "content": "<p>Yes. I think good place to start would be the segmentation kernels in the kernels section, which use essentially the encoder part of the UNet. The one that scores ~0.12 used Transpose convolution and an upsampling layer. I think it is a good place to start. I'm in the process of porting it to PyTorch.</p>",
      "rawMarkdown": "Yes. I think good place to start would be the segmentation kernels in the kernels section, which use essentially the encoder part of the UNet. The one that scores ~0.12 used Transpose convolution and an upsampling layer. I think it is a good place to start. I'm in the process of porting it to PyTorch.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 390783,
      "author_name": "arpandhatt",
      "author_url": "",
      "post_date": "09/20/2018 20:31:59",
      "content": "<p>I would not recommend a complete UNet. The purpose of the \"U\" and the skip connections is to increase the resolution of the output mask which is good for many tasks like segmenting nuclei(DSB2018). However, we are predicting bounding boxes, so high resolution is not needed. I think you could get similar performance if you did not have an entire mirrored network to upsample, and instead just a few upsampling layers. Having resnet blocks at different depths will help but having large UNet-style skips shouldn't increase performance.</p>",
      "votes": null,
      "replies": [
        {
          "id": 391035,
          "author_name": "nitishsingh41",
          "author_url": "",
          "post_date": "09/21/2018 06:58:08",
          "content": "<p>So you are saying to use half of the unet and use few upsampling layer? How to decide what upsampling layers to use?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 391218,
          "author_name": "arpandhatt",
          "author_url": "",
          "post_date": "09/21/2018 12:24:34",
          "content": "<p>Yes. I think good place to start would be the segmentation kernels in the kernels section, which use essentially the encoder part of the UNet. The one that scores ~0.12 used Transpose convolution and an upsampling layer. I think it is a good place to start. I'm in the process of porting it to PyTorch.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "390762": "I was wondering to use unet for this task and modify it for predicting bounding box instead of mask, by replacing last layer. Will someone throw some light on this?",
    "390783": "I would not recommend a complete UNet. The purpose of the \"U\" and the skip connections is to increase the resolution of the output mask which is good for many tasks like segmenting nuclei(DSB2018). However, we are predicting bounding boxes, so high resolution is not needed. I think you could get similar performance if you did not have an entire mirrored network to upsample, and instead just a few upsampling layers. Having resnet blocks at different depths will help but having large UNet-style skips shouldn't increase performance.",
    "391035": "So you are saying to use half of the unet and use few upsampling layer? How to decide what upsampling layers to use?",
    "391218": "Yes. I think good place to start would be the segmentation kernels in the kernels section, which use essentially the encoder part of the UNet. The one that scores ~0.12 used Transpose convolution and an upsampling layer. I think it is a good place to start. I'm in the process of porting it to PyTorch."
  },
  "source": "meta"
}