{
  "id": 51167,
  "title": "a new cvpr 2018 mask-rcnn improvement paper",
  "url": "/competitions/data-science-bowl-2018/discussion/51167",
  "author_name": "",
  "post_date": "2018-03-06T03:10:51.808054500Z",
  "votes": 39,
  "comment_count": 31,
  "views": 0,
  "content": "<p>check this: </p>\n\n<p>\"Path Aggregation Network for Instance Segmentation\"\n - Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, Jiaya Jia</p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.01534.pdf\">https://arxiv.org/pdf/1803.01534.pdf</a></p>\n\n<p>also the slides of No. 1 of COCO 2017 Detection Challenge in Instance Segmentation track 2017</p>\n\n<p><a href=\"http://shijianping.me/\">http://shijianping.me/</a></p>\n\n<p><a href=\"http://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx\">http://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx</a></p>\n\n<p>other COCO 2017 Detection Challenge in Instance Segmentation solutions (many ensemble and testing tricks are mentioned):</p>\n\n<p><a href=\"https://places-coco2017.github.io/\">https://places-coco2017.github.io/</a></p>\n\n<hr>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8692/coco2017.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8693/net.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8694/compare.png\" alt=\"enter image description here\"></p>",
  "messages": [
    {
      "id": "291384",
      "postDate": "03/06/2018 03:10:51",
      "content": "<p>check this: </p>\n\n<p>\"Path Aggregation Network for Instance Segmentation\"\n - Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, Jiaya Jia</p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.01534.pdf\">https://arxiv.org/pdf/1803.01534.pdf</a></p>\n\n<p>also the slides of No. 1 of COCO 2017 Detection Challenge in Instance Segmentation track 2017</p>\n\n<p><a href=\"http://shijianping.me/\">http://shijianping.me/</a></p>\n\n<p><a href=\"http://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx\">http://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx</a></p>\n\n<p>other COCO 2017 Detection Challenge in Instance Segmentation solutions (many ensemble and testing tricks are mentioned):</p>\n\n<p><a href=\"https://places-coco2017.github.io/\">https://places-coco2017.github.io/</a></p>\n\n<hr>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8692/coco2017.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8693/net.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/291384/8694/compare.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "check this: \n\n\"Path Aggregation Network for Instance Segmentation\"\n - Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, Jiaya Jia\n\nhttps://arxiv.org/pdf/1803.01534.pdf\n\n\nalso the slides of No. 1 of COCO 2017 Detection Challenge in Instance Segmentation track 2017\n\nhttp://shijianping.me/\n\nhttp://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx\n\n\nother COCO 2017 Detection Challenge in Instance Segmentation solutions (many ensemble and testing tricks are mentioned):\n\nhttps://places-coco2017.github.io/\n\n\n\n---\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n  \n  ![enter image description here][3]\n  \n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8692/coco2017.png\n  [2]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8693/net.png\n  [3]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8694/compare.png",
      "votes": null
    },
    {
      "id": "291437",
      "postDate": "03/06/2018 06:11:08",
      "content": "<p>Thanks for sharing so much.  You will become a discussion GM very soon, which will be well deserved!</p>",
      "rawMarkdown": "Thanks for sharing so much.  You will become a discussion GM very soon, which will be well deserved!",
      "votes": null
    },
    {
      "id": "291886",
      "postDate": "03/07/2018 03:06:09",
      "content": "<p>Thanks so much for sharing @Heng.</p>",
      "rawMarkdown": "Thanks so much for sharing @Heng.",
      "votes": null
    },
    {
      "id": "292023",
      "postDate": "03/07/2018 08:52:18",
      "content": "<p>Thx for the sharing. </p>\n\n<p>Any idea if the code and trained models is released ?</p>",
      "rawMarkdown": "Thx for the sharing. \n\nAny idea if the code and trained models is released ?",
      "votes": null
    },
    {
      "id": "292469",
      "postDate": "03/08/2018 01:51:57",
      "content": "<p>Thanks for sharing.</p>",
      "rawMarkdown": "Thanks for sharing.",
      "votes": null
    },
    {
      "id": "294334",
      "postDate": "03/11/2018 18:51:18",
      "content": "<p>FYI, I have tried improved FPN but it does not show any improvement. I guess it only helps in coco dataset. Any one same result as me?</p>",
      "rawMarkdown": "FYI, I have tried improved FPN but it does not show any improvement. I guess it only helps in coco dataset. Any one same result as me?",
      "votes": null
    },
    {
      "id": "294565",
      "postDate": "03/12/2018 06:43:02",
      "content": "<p>You are really amazing.....</p>",
      "rawMarkdown": "You are really amazing.....",
      "votes": null
    },
    {
      "id": "294769",
      "postDate": "03/12/2018 16:01:21",
      "content": "<p>found an early \"mask-rcnn paper\" for cell segmentation:</p>\n\n<p><a href=\"https://www.youtube.com/watch?v=bRiPQ3-oqtE\">https://www.youtube.com/watch?v=bRiPQ3-oqtE</a></p>\n\n<p><a href=\"https://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA\">https://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA</a></p>\n\n<p><a href=\"http://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf\">http://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf</a></p>\n\n<p><a href=\"https://arxiv.org/pdf/1705.03386.pdf\">https://arxiv.org/pdf/1705.03386.pdf</a></p>\n\n<p><a href=\"http://www.oulu.fi/infotech/annual_report/2016/cmv\">http://www.oulu.fi/infotech/annual_report/2016/cmv</a></p>\n\n<p><a href=\"https://github.com/SaadUllahAkram/CellProposalNetwork\">https://github.com/SaadUllahAkram/CellProposalNetwork</a></p>\n\n<p><img src=\"http://www.oulu.fi/sites/default/files/104/infotech_2016_cmv_15.jpg\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "found an early \"mask-rcnn paper\" for cell segmentation:\n\nhttps://www.youtube.com/watch?v=bRiPQ3-oqtE\n\nhttps://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA\n\nhttp://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf\n\nhttps://arxiv.org/pdf/1705.03386.pdf\n\nhttp://www.oulu.fi/infotech/annual_report/2016/cmv\n\nhttps://github.com/SaadUllahAkram/CellProposalNetwork\n\n\n  ![enter image description here][1]\n\n\n  [1]: http://www.oulu.fi/sites/default/files/104/infotech_2016_cmv_15.jpg",
      "votes": null
    },
    {
      "id": "295239",
      "postDate": "03/13/2018 10:23:25",
      "content": "<p>related:\n<a href=\"https://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks\">https://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks</a></p>\n\n<p><img src=\"https://www.researchgate.net/profile/Yan_Xu4/publication/305401350/figure/fig2/AS:385845317128192@1469004100993/This-illustrates-the-structure-of-this-framework-We-fuse-outputs-of-three-channels-to.ppm\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "related:\nhttps://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks\n\n ![enter image description here][1]\n\n\n  [1]: https://www.researchgate.net/profile/Yan_Xu4/publication/305401350/figure/fig2/AS:385845317128192@1469004100993/This-illustrates-the-structure-of-this-framework-We-fuse-outputs-of-three-channels-to.ppm",
      "votes": null
    },
    {
      "id": "295339",
      "postDate": "03/13/2018 14:15:32",
      "content": "<p>What improvement you have implemented?</p>",
      "rawMarkdown": "What improvement you have implemented?",
      "votes": null
    },
    {
      "id": "295341",
      "postDate": "03/13/2018 14:21:57",
      "content": "<p>Hi. I have tried and integrated in matterport maskrcnn. But performance is not improve. The number is similar using fpn. How about you?</p>",
      "rawMarkdown": "Hi. I have tried and integrated in matterport maskrcnn. But performance is not improve. The number is similar using fpn. How about you?",
      "votes": null
    },
    {
      "id": "295357",
      "postDate": "03/13/2018 14:53:52",
      "content": "<p>We have not improved the fpn yet. We are trying the architecture which Heng mentioned, like se-resnext50.</p>",
      "rawMarkdown": "We have not improved the fpn yet. We are trying the architecture which Heng mentioned, like se-resnext50.",
      "votes": null
    },
    {
      "id": "295375",
      "postDate": "03/13/2018 15:08:39",
      "content": "<p>Good. Please share your experiment when you completed. Could you tell me which framework do you base on? I am using matterport implementation. But it based on Keras, so it difficult to implement ResneXt due to group convolution did not suport yet in Keras</p>",
      "rawMarkdown": "Good. Please share your experiment when you completed. Could you tell me which framework do you base on? I am using matterport implementation. But it based on Keras, so it difficult to implement ResneXt due to group convolution did not suport yet in Keras",
      "votes": null
    },
    {
      "id": "295398",
      "postDate": "03/13/2018 15:46:48",
      "content": "<p>We are using three code currently: Heng's, matterport, detectron. We are a big team ==</p>",
      "rawMarkdown": "We are using three code currently: Heng's, matterport, detectron. We are a big team ==",
      "votes": null
    },
    {
      "id": "295456",
      "postDate": "03/13/2018 17:10:19",
      "content": "<p>@Yan Wang</p>\n\n<p>download at: <a href=\"https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP\">https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP</a></p>\n\n<p>model.py : se-resnext50 mask rcnn </p>\n\n<p>gray53-LB-0.430.tar : submission to LB (gray53 images)</p>",
      "rawMarkdown": "Yan Wang\n\n download at: https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP\n\nmodel.py : se-resnext50 mask rcnn \n\ngray53-LB-0.430.tar : submission to LB (gray53 images)",
      "votes": null
    },
    {
      "id": "295463",
      "postDate": "03/13/2018 17:27:46",
      "content": "<p>@Heng: Very good process. I think I should learn pytorch and change the framework :). Do you try to implement the improved FPN (Path Aggregation Network)? I have tried it but the performance does not improve anything. I am happy if someone has same experiment\n@Yan: What is framework is best one? I think caffe2 will best because it has good pretrained weight. However, it need to convert dataset to coco annotation format. Do you have any guide for convert it?</p>",
      "rawMarkdown": "Heng: Very good process. I think I should learn pytorch and change the framework :). Do you try to implement the improved FPN (Path Aggregation Network)? I have tried it but the performance does not improve anything. I am happy if someone has same experiment\n@Yan: What is framework is best one? I think caffe2 will best because it has good pretrained weight. However, it need to convert dataset to coco annotation format. Do you have any guide for convert it?",
      "votes": null
    },
    {
      "id": "295467",
      "postDate": "03/13/2018 17:34:15",
      "content": "<p>I think the key to having good performance is:</p>\n\n<ul>\n<li>good base model (e.g. mask-rcnn or path aggregation network)  -30%</li>\n<li>post-progression - 20%</li>\n<li>pre processing, color normalization - 20%</li>\n<li>ensemble - 20%</li>\n</ul>\n\n<p>if you zoom into the results, I think mask-rcnn framework itself is not sufficient. We need sub-pixel segmentation. I will make another network just for fine segmentation. mask-rcnn is only to make \"initial guess\". It will not be end-to-end solution.</p>",
      "rawMarkdown": "I think the key to having good performance is:\n\n - good base model (e.g. mask-rcnn or path aggregation network)  -30%\n - post-progression - 20%\n - pre processing, color normalization - 20%\n - ensemble - 20%\n\nif you zoom into the results, I think mask-rcnn framework itself is not sufficient. We need sub-pixel segmentation. I will make another network just for fine segmentation. mask-rcnn is only to make \"initial guess\". It will not be end-to-end solution.",
      "votes": null
    },
    {
      "id": "295533",
      "postDate": "03/13/2018 19:54:20",
      "content": "<p>@Heng, thank you for the code. I notice you are using a preact version of resnet in 20180306, but abandon the pre-activation in the se-resnext50 of 20180314. I implemented a se-resnext50 with pre-activation following your 20180306 version, which is running now, not sure if there will be much difference. <br>\n@John, currently Heng's code gives us best score. I am actually not familiar with keras, so I do not custom the matterport code. Detectron 's seg results are not good enough yet, hopefully we will solve the potential bugs soon.</p>",
      "rawMarkdown": "Heng, thank you for the code. I notice you are using a preact version of resnet in 20180306, but abandon the pre-activation in the se-resnext50 of 20180314. I implemented a se-resnext50 with pre-activation following your 20180306 version, which is running now, not sure if there will be much difference.       \n@John, currently Heng's code gives us best score. I am actually not familiar with keras, so I do not custom the matterport code. Detectron 's seg results are not good enough yet, hopefully we will solve the potential bugs soon.",
      "votes": null
    },
    {
      "id": "295603",
      "postDate": "03/13/2018 22:21:34",
      "content": "<p>@Heng: Thanks for your points. I will think I will install and learn pytorch becasue you give me many motivation :)\n@Yan: What is base score do you achieve using Heng's code? Current matterport baseline is 0.42+ on original dataset, 0.45 on augmentation dataset (combined 4 images--&gt;1 image).  Your current team rank is 73rd, right?</p>",
      "rawMarkdown": "Heng: Thanks for your points. I will think I will install and learn pytorch becasue you give me many motivation :)\n@Yan: What is base score do you achieve using Heng's code? Current matterport baseline is 0.42+ on original dataset, 0.45 on augmentation dataset (combined 4 images--&gt;1 image).  Your current team rank is 73rd, right?",
      "votes": null
    },
    {
      "id": "295609",
      "postDate": "03/13/2018 22:46:27",
      "content": "<p>Yes, 0.459 with Heng's original code.</p>",
      "rawMarkdown": "Yes, 0.459 with Heng's original code.",
      "votes": null
    },
    {
      "id": "295612",
      "postDate": "03/13/2018 22:59:47",
      "content": "<p>Good. For improved FPN, I got the result. It provided a worse performance than original FPN, You can refer my code using Keras at <a href=\"https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe\">https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe</a> Let me know if you find some bug</p>",
      "rawMarkdown": "Good. For improved FPN, I got the result. It provided a worse performance than original FPN, You can refer my code using Keras at https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe Let me know if you find some bug",
      "votes": null
    },
    {
      "id": "295703",
      "postDate": "03/14/2018 03:13:52",
      "content": "<p>I think there will not be much difference in the final solution whether you are using pre activation or not in the residual block. This is becuase mask rcnn is only part of the total solution pipeline.  If you comsider only mask rcnn alone, maybe one is better then the other. But the improvement from post processing step will be more much larger.</p>",
      "rawMarkdown": "I think there will not be much difference in the final solution whether you are using pre activation or not in the residual block. This is becuase mask rcnn is only part of the total solution pipeline.  If you comsider only mask rcnn alone, maybe one is better then the other. But the improvement from post processing step will be more much larger.",
      "votes": null
    },
    {
      "id": "296595",
      "postDate": "03/15/2018 13:54:19",
      "content": "<p>this is how you can detect small size object</p>\n\n<p>\"Face-MagNet: Magnifying Feature Maps to Detect Small Faces\" - Pouya Samangouei*, Mahyar Najibi*, Larry Davis, Rama Chellappa</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/296595/8766/split.png\" alt=\"enter image description here\"></p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.05258.pdf\">https://arxiv.org/pdf/1803.05258.pdf</a>\ngithub.com/po0ya/face-magnet</p>",
      "rawMarkdown": "this is how you can detect small size object\n\n\"Face-MagNet: Magnifying Feature Maps to Detect Small Faces\" - Pouya Samangouei*, Mahyar Najibi*, Larry Davis, Rama Chellappa\n\n\n ![enter image description here][1]\n\nhttps://arxiv.org/pdf/1803.05258.pdf\ngithub.com/po0ya/face-magnet\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/296595/8766/split.png",
      "votes": null
    },
    {
      "id": "298140",
      "postDate": "03/18/2018 22:55:44",
      "content": "<p>@john1231983 were you able to implement the Adaptive Pooling in the matterport architecture?? I attempted to stick it in the ‘fpn_classifier_graph’ by splitting the input tensor and applying the first conv2D to each split; however, I wasn’t able to get the fusion operation ( reduce sum on each split) correct.</p>",
      "rawMarkdown": "john1231983 were you able to implement the Adaptive Pooling in the matterport architecture?? I attempted to stick it in the ‘fpn_classifier_graph’ by splitting the input tensor and applying the first conv2D to each split; however, I wasn’t able to get the fusion operation ( reduce sum on each split) correct.",
      "votes": null
    },
    {
      "id": "298198",
      "postDate": "03/19/2018 03:12:23",
      "content": "<p>What does it mean for Adaptive Pooling? Are you talking about PANet? I only implemented the improved mask branch. It does not show any improvement so I cancel this work. Do you see any improvement with mask prediction?</p>",
      "rawMarkdown": "What does it mean for Adaptive Pooling? Are you talking about PANet? I only implemented the improved mask branch. It does not show any improvement so I cancel this work. Do you see any improvement with mask prediction?",
      "votes": null
    },
    {
      "id": "298202",
      "postDate": "03/19/2018 03:19:05",
      "content": "<p>Ya, referring to PANet here. I only tried the bottom-up augmentation, but no model improvements.  I'm attempting to do the other two augmentations now (adaptive feature pooling and then fully-connected mask fusion). I wasn't able to get the adaptive feature pooling to work out, unfortunately... Going to look at the mask fusion augmentation soon, though.</p>",
      "rawMarkdown": "Ya, referring to PANet here. I only tried the bottom-up augmentation, but no model improvements.  I'm attempting to do the other two augmentations now (adaptive feature pooling and then fully-connected mask fusion). I wasn't able to get the adaptive feature pooling to work out, unfortunately... Going to look at the mask fusion augmentation soon, though.",
      "votes": null
    },
    {
      "id": "298204",
      "postDate": "03/19/2018 03:22:36",
      "content": "<p>I think to change the model has a less improvement. Instead of that, I suggest you try the training strategy. You can split the dataset into color and gray color and train them separately. Have you tried it? And what is your score with this scheme</p>",
      "rawMarkdown": "I think to change the model has a less improvement. Instead of that, I suggest you try the training strategy. You can split the dataset into color and gray color and train them separately. Have you tried it? And what is your score with this scheme",
      "votes": null
    },
    {
      "id": "299051",
      "postDate": "03/20/2018 12:02:45",
      "content": "<p>End-to-end or not end-to-end?</p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.06799.pdf\">https://arxiv.org/pdf/1803.06799.pdf</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/299051/8825/end.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "End-to-end or not end-to-end?\n\nhttps://arxiv.org/pdf/1803.06799.pdf\n\n   ![enter image description here][1]\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/299051/8825/end.png",
      "votes": null
    },
    {
      "id": "309572",
      "postDate": "04/05/2018 15:45:40",
      "content": "<p>@Heng, how many iterations did you train? What was the batchsize and learning rate?</p>",
      "rawMarkdown": "Heng, how many iterations did you train? What was the batchsize and learning rate?",
      "votes": null
    },
    {
      "id": "309576",
      "postDate": "04/05/2018 15:55:20",
      "content": "<p>@Spencer Aiello: have you achieve any improve using the pAnet architecture. I still using original maskrcnn after not finding any improve from it</p>",
      "rawMarkdown": "Spencer Aiello: have you achieve any improve using the pAnet architecture. I still using original maskrcnn after not finding any improve from it",
      "votes": null
    },
    {
      "id": "309582",
      "postDate": "04/05/2018 16:08:32",
      "content": "<p>Nope, no improvement from PAnet... off-the-shelf matterport mask rcnn architecture. </p>\n\n<p>My going from .48 -&gt; .50+ is done in small tweaks to mask post processing.</p>\n\n<p>For instance, for color images I am predicting overlapping patches and union-finding intersecting masks into a single mask. Final cleanup, removing artifacts, and choosing the right mask is a mess of heuristics and erosion+dilation passes. It ends up being an art :).</p>\n\n<p>I will try out some more ensembling and hope that I can eek my score up.</p>",
      "rawMarkdown": "Nope, no improvement from PAnet... off-the-shelf matterport mask rcnn architecture. \n\nMy going from .48 -&gt; .50+ is done in small tweaks to mask post processing.\n\nFor instance, for color images I am predicting overlapping patches and union-finding intersecting masks into a single mask. Final cleanup, removing artifacts, and choosing the right mask is a mess of heuristics and erosion+dilation passes. It ends up being an art :).\n\nI will try out some more ensembling and hope that I can eek my score up.",
      "votes": null
    },
    {
      "id": "328948",
      "postDate": "05/15/2018 12:28:13",
      "content": "<p>Hi! \nDo you finally make implementations for other two augmentations? I'm stuck for the adaptive Feature Pooling based on matterport's implementation.  May I get any hints from you?</p>",
      "rawMarkdown": "Hi! \nDo you finally make implementations for other two augmentations? I'm stuck for the adaptive Feature Pooling based on matterport's implementation.  May I get any hints from you?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 291437,
      "author_name": "cpmpml",
      "author_url": "",
      "post_date": "03/06/2018 06:11:08",
      "content": "<p>Thanks for sharing so much.  You will become a discussion GM very soon, which will be well deserved!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 291886,
      "author_name": "sheriytm",
      "author_url": "",
      "post_date": "03/07/2018 03:06:09",
      "content": "<p>Thanks so much for sharing @Heng.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 292023,
      "author_name": "kelvinksau",
      "author_url": "",
      "post_date": "03/07/2018 08:52:18",
      "content": "<p>Thx for the sharing. </p>\n\n<p>Any idea if the code and trained models is released ?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 292469,
      "author_name": "",
      "author_url": "",
      "post_date": "03/08/2018 01:51:57",
      "content": "<p>Thanks for sharing.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 294334,
      "author_name": "john1231983",
      "author_url": "",
      "post_date": "03/11/2018 18:51:18",
      "content": "<p>FYI, I have tried improved FPN but it does not show any improvement. I guess it only helps in coco dataset. Any one same result as me?</p>",
      "votes": null,
      "replies": [
        {
          "id": 295339,
          "author_name": "wayne999",
          "author_url": "",
          "post_date": "03/13/2018 14:15:32",
          "content": "<p>What improvement you have implemented?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295341,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/13/2018 14:21:57",
          "content": "<p>Hi. I have tried and integrated in matterport maskrcnn. But performance is not improve. The number is similar using fpn. How about you?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295357,
          "author_name": "wayne999",
          "author_url": "",
          "post_date": "03/13/2018 14:53:52",
          "content": "<p>We have not improved the fpn yet. We are trying the architecture which Heng mentioned, like se-resnext50.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295375,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/13/2018 15:08:39",
          "content": "<p>Good. Please share your experiment when you completed. Could you tell me which framework do you base on? I am using matterport implementation. But it based on Keras, so it difficult to implement ResneXt due to group convolution did not suport yet in Keras</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295398,
          "author_name": "wayne999",
          "author_url": "",
          "post_date": "03/13/2018 15:46:48",
          "content": "<p>We are using three code currently: Heng's, matterport, detectron. We are a big team ==</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295456,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "03/13/2018 17:10:19",
          "content": "<p>@Yan Wang</p>\n\n<p>download at: <a href=\"https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP\">https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP</a></p>\n\n<p>model.py : se-resnext50 mask rcnn </p>\n\n<p>gray53-LB-0.430.tar : submission to LB (gray53 images)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295463,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/13/2018 17:27:46",
          "content": "<p>@Heng: Very good process. I think I should learn pytorch and change the framework :). Do you try to implement the improved FPN (Path Aggregation Network)? I have tried it but the performance does not improve anything. I am happy if someone has same experiment\n@Yan: What is framework is best one? I think caffe2 will best because it has good pretrained weight. However, it need to convert dataset to coco annotation format. Do you have any guide for convert it?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295467,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "03/13/2018 17:34:15",
          "content": "<p>I think the key to having good performance is:</p>\n\n<ul>\n<li>good base model (e.g. mask-rcnn or path aggregation network)  -30%</li>\n<li>post-progression - 20%</li>\n<li>pre processing, color normalization - 20%</li>\n<li>ensemble - 20%</li>\n</ul>\n\n<p>if you zoom into the results, I think mask-rcnn framework itself is not sufficient. We need sub-pixel segmentation. I will make another network just for fine segmentation. mask-rcnn is only to make \"initial guess\". It will not be end-to-end solution.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295533,
          "author_name": "wayne999",
          "author_url": "",
          "post_date": "03/13/2018 19:54:20",
          "content": "<p>@Heng, thank you for the code. I notice you are using a preact version of resnet in 20180306, but abandon the pre-activation in the se-resnext50 of 20180314. I implemented a se-resnext50 with pre-activation following your 20180306 version, which is running now, not sure if there will be much difference. <br>\n@John, currently Heng's code gives us best score. I am actually not familiar with keras, so I do not custom the matterport code. Detectron 's seg results are not good enough yet, hopefully we will solve the potential bugs soon.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295603,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/13/2018 22:21:34",
          "content": "<p>@Heng: Thanks for your points. I will think I will install and learn pytorch becasue you give me many motivation :)\n@Yan: What is base score do you achieve using Heng's code? Current matterport baseline is 0.42+ on original dataset, 0.45 on augmentation dataset (combined 4 images--&gt;1 image).  Your current team rank is 73rd, right?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295609,
          "author_name": "wayne999",
          "author_url": "",
          "post_date": "03/13/2018 22:46:27",
          "content": "<p>Yes, 0.459 with Heng's original code.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295612,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/13/2018 22:59:47",
          "content": "<p>Good. For improved FPN, I got the result. It provided a worse performance than original FPN, You can refer my code using Keras at <a href=\"https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe\">https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe</a> Let me know if you find some bug</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 295703,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "03/14/2018 03:13:52",
          "content": "<p>I think there will not be much difference in the final solution whether you are using pre activation or not in the residual block. This is becuase mask rcnn is only part of the total solution pipeline.  If you comsider only mask rcnn alone, maybe one is better then the other. But the improvement from post processing step will be more much larger.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 298140,
          "author_name": "spnrpa",
          "author_url": "",
          "post_date": "03/18/2018 22:55:44",
          "content": "<p>@john1231983 were you able to implement the Adaptive Pooling in the matterport architecture?? I attempted to stick it in the ‘fpn_classifier_graph’ by splitting the input tensor and applying the first conv2D to each split; however, I wasn’t able to get the fusion operation ( reduce sum on each split) correct.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 298198,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/19/2018 03:12:23",
          "content": "<p>What does it mean for Adaptive Pooling? Are you talking about PANet? I only implemented the improved mask branch. It does not show any improvement so I cancel this work. Do you see any improvement with mask prediction?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 298202,
          "author_name": "spnrpa",
          "author_url": "",
          "post_date": "03/19/2018 03:19:05",
          "content": "<p>Ya, referring to PANet here. I only tried the bottom-up augmentation, but no model improvements.  I'm attempting to do the other two augmentations now (adaptive feature pooling and then fully-connected mask fusion). I wasn't able to get the adaptive feature pooling to work out, unfortunately... Going to look at the mask fusion augmentation soon, though.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 298204,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "03/19/2018 03:22:36",
          "content": "<p>I think to change the model has a less improvement. Instead of that, I suggest you try the training strategy. You can split the dataset into color and gray color and train them separately. Have you tried it? And what is your score with this scheme</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 309572,
          "author_name": "kirk86",
          "author_url": "",
          "post_date": "04/05/2018 15:45:40",
          "content": "<p>@Heng, how many iterations did you train? What was the batchsize and learning rate?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 309576,
          "author_name": "john1231983",
          "author_url": "",
          "post_date": "04/05/2018 15:55:20",
          "content": "<p>@Spencer Aiello: have you achieve any improve using the pAnet architecture. I still using original maskrcnn after not finding any improve from it</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 309582,
          "author_name": "spnrpa",
          "author_url": "",
          "post_date": "04/05/2018 16:08:32",
          "content": "<p>Nope, no improvement from PAnet... off-the-shelf matterport mask rcnn architecture. </p>\n\n<p>My going from .48 -&gt; .50+ is done in small tweaks to mask post processing.</p>\n\n<p>For instance, for color images I am predicting overlapping patches and union-finding intersecting masks into a single mask. Final cleanup, removing artifacts, and choosing the right mask is a mess of heuristics and erosion+dilation passes. It ends up being an art :).</p>\n\n<p>I will try out some more ensembling and hope that I can eek my score up.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 328948,
          "author_name": "yezizhu",
          "author_url": "",
          "post_date": "05/15/2018 12:28:13",
          "content": "<p>Hi! \nDo you finally make implementations for other two augmentations? I'm stuck for the adaptive Feature Pooling based on matterport's implementation.  May I get any hints from you?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 294565,
      "author_name": "zjucor",
      "author_url": "",
      "post_date": "03/12/2018 06:43:02",
      "content": "<p>You are really amazing.....</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 294769,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "03/12/2018 16:01:21",
      "content": "<p>found an early \"mask-rcnn paper\" for cell segmentation:</p>\n\n<p><a href=\"https://www.youtube.com/watch?v=bRiPQ3-oqtE\">https://www.youtube.com/watch?v=bRiPQ3-oqtE</a></p>\n\n<p><a href=\"https://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA\">https://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA</a></p>\n\n<p><a href=\"http://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf\">http://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf</a></p>\n\n<p><a href=\"https://arxiv.org/pdf/1705.03386.pdf\">https://arxiv.org/pdf/1705.03386.pdf</a></p>\n\n<p><a href=\"http://www.oulu.fi/infotech/annual_report/2016/cmv\">http://www.oulu.fi/infotech/annual_report/2016/cmv</a></p>\n\n<p><a href=\"https://github.com/SaadUllahAkram/CellProposalNetwork\">https://github.com/SaadUllahAkram/CellProposalNetwork</a></p>\n\n<p><img src=\"http://www.oulu.fi/sites/default/files/104/infotech_2016_cmv_15.jpg\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 295239,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "03/13/2018 10:23:25",
      "content": "<p>related:\n<a href=\"https://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks\">https://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks</a></p>\n\n<p><img src=\"https://www.researchgate.net/profile/Yan_Xu4/publication/305401350/figure/fig2/AS:385845317128192@1469004100993/This-illustrates-the-structure-of-this-framework-We-fuse-outputs-of-three-channels-to.ppm\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 296595,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "03/15/2018 13:54:19",
      "content": "<p>this is how you can detect small size object</p>\n\n<p>\"Face-MagNet: Magnifying Feature Maps to Detect Small Faces\" - Pouya Samangouei*, Mahyar Najibi*, Larry Davis, Rama Chellappa</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/296595/8766/split.png\" alt=\"enter image description here\"></p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.05258.pdf\">https://arxiv.org/pdf/1803.05258.pdf</a>\ngithub.com/po0ya/face-magnet</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 299051,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "03/20/2018 12:02:45",
      "content": "<p>End-to-end or not end-to-end?</p>\n\n<p><a href=\"https://arxiv.org/pdf/1803.06799.pdf\">https://arxiv.org/pdf/1803.06799.pdf</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/299051/8825/end.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "291384": "check this: \n\n\"Path Aggregation Network for Instance Segmentation\"\n - Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, Jiaya Jia\n\nhttps://arxiv.org/pdf/1803.01534.pdf\n\n\nalso the slides of No. 1 of COCO 2017 Detection Challenge in Instance Segmentation track 2017\n\nhttp://shijianping.me/\n\nhttp://presentations.cocodataset.org/COCO17-Detect-UCenter.pptx\n\n\nother COCO 2017 Detection Challenge in Instance Segmentation solutions (many ensemble and testing tricks are mentioned):\n\nhttps://places-coco2017.github.io/\n\n\n\n---\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n  \n  ![enter image description here][3]\n  \n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8692/coco2017.png\n  [2]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8693/net.png\n  [3]: https://kaggle2.blob.core.windows.net/forum-message-attachments/291384/8694/compare.png",
    "291437": "Thanks for sharing so much.  You will become a discussion GM very soon, which will be well deserved!",
    "291886": "Thanks so much for sharing @Heng.",
    "292023": "Thx for the sharing. \n\nAny idea if the code and trained models is released ?",
    "292469": "Thanks for sharing.",
    "294334": "FYI, I have tried improved FPN but it does not show any improvement. I guess it only helps in coco dataset. Any one same result as me?",
    "294565": "You are really amazing.....",
    "294769": "found an early \"mask-rcnn paper\" for cell segmentation:\n\nhttps://www.youtube.com/watch?v=bRiPQ3-oqtE\n\nhttps://www.youtube.com/channel/UC6wrV6mcfe-KjPANtVxAlUA\n\nhttp://www.ee.oulu.fi/~sakram/pdfs/akram_icip2016.pdf\n\nhttps://arxiv.org/pdf/1705.03386.pdf\n\nhttp://www.oulu.fi/infotech/annual_report/2016/cmv\n\nhttps://github.com/SaadUllahAkram/CellProposalNetwork\n\n\n  ![enter image description here][1]\n\n\n  [1]: http://www.oulu.fi/sites/default/files/104/infotech_2016_cmv_15.jpg",
    "295239": "related:\nhttps://www.researchgate.net/publication/305401350_Gland_Instance_Segmentation_by_Deep_Multichannel_Neural_Networks\n\n ![enter image description here][1]\n\n\n  [1]: https://www.researchgate.net/profile/Yan_Xu4/publication/305401350/figure/fig2/AS:385845317128192@1469004100993/This-illustrates-the-structure-of-this-framework-We-fuse-outputs-of-three-channels-to.ppm",
    "295339": "What improvement you have implemented?",
    "295341": "Hi. I have tried and integrated in matterport maskrcnn. But performance is not improve. The number is similar using fpn. How about you?",
    "295357": "We have not improved the fpn yet. We are trying the architecture which Heng mentioned, like se-resnext50.",
    "295375": "Good. Please share your experiment when you completed. Could you tell me which framework do you base on? I am using matterport implementation. But it based on Keras, so it difficult to implement ResneXt due to group convolution did not suport yet in Keras",
    "295398": "We are using three code currently: Heng's, matterport, detectron. We are a big team ==",
    "295456": "Yan Wang\n\n download at: https://drive.google.com/drive/folders/1jzbDjYsWX5lm-E2ogvL3MnaZYXFw6KzP\n\nmodel.py : se-resnext50 mask rcnn \n\ngray53-LB-0.430.tar : submission to LB (gray53 images)",
    "295463": "Heng: Very good process. I think I should learn pytorch and change the framework :). Do you try to implement the improved FPN (Path Aggregation Network)? I have tried it but the performance does not improve anything. I am happy if someone has same experiment\n@Yan: What is framework is best one? I think caffe2 will best because it has good pretrained weight. However, it need to convert dataset to coco annotation format. Do you have any guide for convert it?",
    "295467": "I think the key to having good performance is:\n\n - good base model (e.g. mask-rcnn or path aggregation network)  -30%\n - post-progression - 20%\n - pre processing, color normalization - 20%\n - ensemble - 20%\n\nif you zoom into the results, I think mask-rcnn framework itself is not sufficient. We need sub-pixel segmentation. I will make another network just for fine segmentation. mask-rcnn is only to make \"initial guess\". It will not be end-to-end solution.",
    "295533": "Heng, thank you for the code. I notice you are using a preact version of resnet in 20180306, but abandon the pre-activation in the se-resnext50 of 20180314. I implemented a se-resnext50 with pre-activation following your 20180306 version, which is running now, not sure if there will be much difference.       \n@John, currently Heng's code gives us best score. I am actually not familiar with keras, so I do not custom the matterport code. Detectron 's seg results are not good enough yet, hopefully we will solve the potential bugs soon.",
    "295603": "Heng: Thanks for your points. I will think I will install and learn pytorch becasue you give me many motivation :)\n@Yan: What is base score do you achieve using Heng's code? Current matterport baseline is 0.42+ on original dataset, 0.45 on augmentation dataset (combined 4 images--&gt;1 image).  Your current team rank is 73rd, right?",
    "295609": "Yes, 0.459 with Heng's original code.",
    "295612": "Good. For improved FPN, I got the result. It provided a worse performance than original FPN, You can refer my code using Keras at https://gist.github.com/John1231983/d044137611102f77e2cad3bbe5b453fe Let me know if you find some bug",
    "295703": "I think there will not be much difference in the final solution whether you are using pre activation or not in the residual block. This is becuase mask rcnn is only part of the total solution pipeline.  If you comsider only mask rcnn alone, maybe one is better then the other. But the improvement from post processing step will be more much larger.",
    "296595": "this is how you can detect small size object\n\n\"Face-MagNet: Magnifying Feature Maps to Detect Small Faces\" - Pouya Samangouei*, Mahyar Najibi*, Larry Davis, Rama Chellappa\n\n\n ![enter image description here][1]\n\nhttps://arxiv.org/pdf/1803.05258.pdf\ngithub.com/po0ya/face-magnet\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/296595/8766/split.png",
    "298140": "john1231983 were you able to implement the Adaptive Pooling in the matterport architecture?? I attempted to stick it in the ‘fpn_classifier_graph’ by splitting the input tensor and applying the first conv2D to each split; however, I wasn’t able to get the fusion operation ( reduce sum on each split) correct.",
    "298198": "What does it mean for Adaptive Pooling? Are you talking about PANet? I only implemented the improved mask branch. It does not show any improvement so I cancel this work. Do you see any improvement with mask prediction?",
    "298202": "Ya, referring to PANet here. I only tried the bottom-up augmentation, but no model improvements.  I'm attempting to do the other two augmentations now (adaptive feature pooling and then fully-connected mask fusion). I wasn't able to get the adaptive feature pooling to work out, unfortunately... Going to look at the mask fusion augmentation soon, though.",
    "298204": "I think to change the model has a less improvement. Instead of that, I suggest you try the training strategy. You can split the dataset into color and gray color and train them separately. Have you tried it? And what is your score with this scheme",
    "299051": "End-to-end or not end-to-end?\n\nhttps://arxiv.org/pdf/1803.06799.pdf\n\n   ![enter image description here][1]\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/299051/8825/end.png",
    "309572": "Heng, how many iterations did you train? What was the batchsize and learning rate?",
    "309576": "Spencer Aiello: have you achieve any improve using the pAnet architecture. I still using original maskrcnn after not finding any improve from it",
    "309582": "Nope, no improvement from PAnet... off-the-shelf matterport mask rcnn architecture. \n\nMy going from .48 -&gt; .50+ is done in small tweaks to mask post processing.\n\nFor instance, for color images I am predicting overlapping patches and union-finding intersecting masks into a single mask. Final cleanup, removing artifacts, and choosing the right mask is a mess of heuristics and erosion+dilation passes. It ends up being an art :).\n\nI will try out some more ensembling and hope that I can eek my score up.",
    "328948": "Hi! \nDo you finally make implementations for other two augmentations? I'm stuck for the adaptive Feature Pooling based on matterport's implementation.  May I get any hints from you?"
  },
  "source": "meta"
}