{
  "id": 60276,
  "title": "3d convolution Unet",
  "url": "/competitions/trackml-particle-identification/discussion/60276",
  "author_name": "",
  "post_date": "2018-07-02T16:13:12.238885100Z",
  "votes": 9,
  "comment_count": 12,
  "views": 0,
  "content": "<p>how it will look like if you work in 3d voxels ....</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/351604/9753/3d_unet.png\" alt=\"enter image description here\"></p>",
  "messages": [
    {
      "id": "351604",
      "postDate": "07/02/2018 16:13:12",
      "content": "<p>how it will look like if you work in 3d voxels ....</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/351604/9753/3d_unet.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "how it will look like if you work in 3d voxels ....\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/351604/9753/3d_unet.png",
      "votes": null
    },
    {
      "id": "351992",
      "postDate": "07/03/2018 13:02:46",
      "content": "<p>code and results</p>",
      "rawMarkdown": "code and results",
      "votes": null
    },
    {
      "id": "352079",
      "postDate": "07/03/2018 16:10:54",
      "content": "<p>remove the empty volumes so that 3d representation is more compact. Speed is improved. Better visualisation</p>\n\n<p>current plan is:</p>\n\n<ol>\n<li><p>input 3d voxel</p></li>\n<li><p>use 3d cnn to predict the link (connecting the dots)</p></li>\n<li><p>because the dots are connected, running DBSCAN gives better clustering</p></li>\n<li><p>Use the trick from the winner of Kaggle Science Bowl 2018, predict voxel that disconnect/separate confusing tracks into separate ones, so that DBSCAN can run. (i.e. It is 3-class 3d Unet to predict background, connecting voxel and disconnecting voxel)</p></li>\n<li><p>Fit and grow track later ... </p>\n\n<p>(for those who are familiar with Kaggle Science Bowl 2018, DBSCAN is now like watershed to do the connected component labeling)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352079/9773/new_results1.png\" alt=\"enter image description here\"></p></li>\n</ol>",
      "rawMarkdown": "remove the empty volumes so that 3d representation is more compact. Speed is improved. Better visualisation\n\ncurrent plan is:\n\n   1.  input 3d voxel\n \n   2.  use 3d cnn to predict the link (connecting the dots)\n\n   3.  because the dots are connected, running DBSCAN gives better clustering\n\n   4. Use the trick from the winner of Kaggle Science Bowl 2018, predict voxel that disconnect/separate confusing tracks into separate ones, so that DBSCAN can run. (i.e. It is 3-class 3d Unet to predict background, connecting voxel and disconnecting voxel)\n\n   5. Fit and grow track later ... \n\n (for those who are familiar with Kaggle Science Bowl 2018, DBSCAN is now like watershed to do the connected component labeling)\n\n\n     ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352079/9773/new_results1.png",
      "votes": null
    },
    {
      "id": "352229",
      "postDate": "07/03/2018 23:59:26",
      "content": "<p>Nice idea! that extending the winner solution of Data Science Bowl 2018.</p>\n\n<p>One question, I thought 3D CNN approach was not available due to the memory constraint on GPU.\nDo you rescale the input to reduce the resolution? or Do you separate the 3D voxel input? </p>",
      "rawMarkdown": "Nice idea! that extending the winner solution of Data Science Bowl 2018.\n\nOne question, I thought 3D CNN approach was not available due to the memory constraint on GPU.\nDo you rescale the input to reduce the resolution? or Do you separate the 3D voxel input?",
      "votes": null
    },
    {
      "id": "352279",
      "postDate": "07/04/2018 03:22:56",
      "content": "<p>Did you partition the 3D space to avoid memory error? If so, you use DBSCAN to connect tracks that extend into another partition, right?</p>",
      "rawMarkdown": "Did you partition the 3D space to avoid memory error? If so, you use DBSCAN to connect tracks that extend into another partition, right?",
      "votes": null
    },
    {
      "id": "352596",
      "postDate": "07/04/2018 17:21:33",
      "content": "<p>test results (trained on 4 events)</p>\n\n<p>left : ground truth, right : result of 3d convolution</p>\n\n<p>black point : input hit</p>\n\n<p>colored: output/truth link point. Colors denote depth value (purple, ... orange, yellow means z=0,1, ...15)</p>\n\n<p>the axis are in voxel unit. the volume is in DXHXW=16x512x512</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352596/9781/Selection_049.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "test results (trained on 4 events)\n\n\nleft : ground truth, right : result of 3d convolution\n\nblack point : input hit\n\ncolored: output/truth link point. Colors denote depth value (purple, ... orange, yellow means z=0,1, ...15)\n\nthe axis are in voxel unit. the volume is in DXHXW=16x512x512\n\n\n\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352596/9781/Selection_049.png",
      "votes": null
    },
    {
      "id": "352598",
      "postDate": "07/04/2018 17:24:51",
      "content": "<p>i have a scanning 3d scanning window (16x256x256)  and 3dUnet works on the scan window.</p>",
      "rawMarkdown": "i have a scanning 3d scanning window (16x256x256)  and 3dUnet works on the scan window.",
      "votes": null
    },
    {
      "id": "352600",
      "postDate": "07/04/2018 17:25:38",
      "content": "<p>this is not decided yet. Maybe another network to learn the linking?</p>",
      "rawMarkdown": "this is not decided yet. Maybe another network to learn the linking?",
      "votes": null
    },
    {
      "id": "352609",
      "postDate": "07/04/2018 17:38:00",
      "content": "<p>Very nice ! I'd like to tweet this one from @trackmllhc . How would you describe it in one tweet ? ...combination of CNN and DBSCAN... left is ground truth, right is the result of the algorithm... points are the 3D points.... lines are the connection between points. what is the color code ? and the axis ?and the units ?</p>",
      "rawMarkdown": "Very nice ! I'd like to tweet this one from @trackmllhc . How would you describe it in one tweet ? ...combination of CNN and DBSCAN... left is ground truth, right is the result of the algorithm... points are the 3D points.... lines are the connection between points. what is the color code ? and the axis ?and the units ?",
      "votes": null
    },
    {
      "id": "352762",
      "postDate": "07/05/2018 04:03:47",
      "content": "<p>@David Rousseau Thanks!</p>\n\n<p>I added the explanation for the figure. You can described it as \"link prediction with 3dcnn\" (DBSCAN is not implemented yet and could be the next step)</p>",
      "rawMarkdown": "David Rousseau Thanks!\n \nI added the explanation for the figure. You can described it as \"link prediction with 3dcnn\" (DBSCAN is not implemented yet and could be the next step)",
      "votes": null
    },
    {
      "id": "353033",
      "postDate": "07/05/2018 17:25:41",
      "content": "<p>@Heng, I have only one question, you used to make submissions quite often, at least that's where I got to know you in the 2018 DSB. Is there any reason why you haven't made any submissions for a long time despite of all the great DL results you shared? :)  </p>",
      "rawMarkdown": "Heng, I have only one question, you used to make submissions quite often, at least that's where I got to know you in the 2018 DSB. Is there any reason why you haven't made any submissions for a long time despite of all the great DL results you shared? :)",
      "votes": null
    },
    {
      "id": "353038",
      "postDate": "07/05/2018 17:30:50",
      "content": "<p>Scaling up is a problem. All my deep learning solutions so far are running too slow and many steps are required (e.g. divide into parts, etc)</p>\n\n<p>I am still looking for a more efficient and simpler solution.</p>",
      "rawMarkdown": "Scaling up is a problem. All my deep learning solutions so far are running too slow and many steps are required (e.g. divide into parts, etc)\n\nI am still looking for a more efficient and simpler solution.",
      "votes": null
    },
    {
      "id": "353848",
      "postDate": "07/08/2018 02:30:35",
      "content": "<p>I see, thank you for explanation!</p>",
      "rawMarkdown": "I see, thank you for explanation!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 351992,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/03/2018 13:02:46",
      "content": "<p>code and results</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 352079,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/03/2018 16:10:54",
      "content": "<p>remove the empty volumes so that 3d representation is more compact. Speed is improved. Better visualisation</p>\n\n<p>current plan is:</p>\n\n<ol>\n<li><p>input 3d voxel</p></li>\n<li><p>use 3d cnn to predict the link (connecting the dots)</p></li>\n<li><p>because the dots are connected, running DBSCAN gives better clustering</p></li>\n<li><p>Use the trick from the winner of Kaggle Science Bowl 2018, predict voxel that disconnect/separate confusing tracks into separate ones, so that DBSCAN can run. (i.e. It is 3-class 3d Unet to predict background, connecting voxel and disconnecting voxel)</p></li>\n<li><p>Fit and grow track later ... </p>\n\n<p>(for those who are familiar with Kaggle Science Bowl 2018, DBSCAN is now like watershed to do the connected component labeling)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352079/9773/new_results1.png\" alt=\"enter image description here\"></p></li>\n</ol>",
      "votes": null,
      "replies": []
    },
    {
      "id": 352229,
      "author_name": "corochann",
      "author_url": "",
      "post_date": "07/03/2018 23:59:26",
      "content": "<p>Nice idea! that extending the winner solution of Data Science Bowl 2018.</p>\n\n<p>One question, I thought 3D CNN approach was not available due to the memory constraint on GPU.\nDo you rescale the input to reduce the resolution? or Do you separate the 3D voxel input? </p>",
      "votes": null,
      "replies": [
        {
          "id": 352598,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/04/2018 17:24:51",
          "content": "<p>i have a scanning 3d scanning window (16x256x256)  and 3dUnet works on the scan window.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 353848,
          "author_name": "corochann",
          "author_url": "",
          "post_date": "07/08/2018 02:30:35",
          "content": "<p>I see, thank you for explanation!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 352279,
      "author_name": "nzabcd",
      "author_url": "",
      "post_date": "07/04/2018 03:22:56",
      "content": "<p>Did you partition the 3D space to avoid memory error? If so, you use DBSCAN to connect tracks that extend into another partition, right?</p>",
      "votes": null,
      "replies": [
        {
          "id": 352600,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/04/2018 17:25:38",
          "content": "<p>this is not decided yet. Maybe another network to learn the linking?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 352596,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/04/2018 17:21:33",
      "content": "<p>test results (trained on 4 events)</p>\n\n<p>left : ground truth, right : result of 3d convolution</p>\n\n<p>black point : input hit</p>\n\n<p>colored: output/truth link point. Colors denote depth value (purple, ... orange, yellow means z=0,1, ...15)</p>\n\n<p>the axis are in voxel unit. the volume is in DXHXW=16x512x512</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352596/9781/Selection_049.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": [
        {
          "id": 352609,
          "author_name": "droussea",
          "author_url": "",
          "post_date": "07/04/2018 17:38:00",
          "content": "<p>Very nice ! I'd like to tweet this one from @trackmllhc . How would you describe it in one tweet ? ...combination of CNN and DBSCAN... left is ground truth, right is the result of the algorithm... points are the 3D points.... lines are the connection between points. what is the color code ? and the axis ?and the units ?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 352762,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/05/2018 04:03:47",
          "content": "<p>@David Rousseau Thanks!</p>\n\n<p>I added the explanation for the figure. You can described it as \"link prediction with 3dcnn\" (DBSCAN is not implemented yet and could be the next step)</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 353033,
      "author_name": "nicolefinnie",
      "author_url": "",
      "post_date": "07/05/2018 17:25:41",
      "content": "<p>@Heng, I have only one question, you used to make submissions quite often, at least that's where I got to know you in the 2018 DSB. Is there any reason why you haven't made any submissions for a long time despite of all the great DL results you shared? :)  </p>",
      "votes": null,
      "replies": [
        {
          "id": 353038,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/05/2018 17:30:50",
          "content": "<p>Scaling up is a problem. All my deep learning solutions so far are running too slow and many steps are required (e.g. divide into parts, etc)</p>\n\n<p>I am still looking for a more efficient and simpler solution.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "351604": "how it will look like if you work in 3d voxels ....\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/351604/9753/3d_unet.png",
    "351992": "code and results",
    "352079": "remove the empty volumes so that 3d representation is more compact. Speed is improved. Better visualisation\n\ncurrent plan is:\n\n   1.  input 3d voxel\n \n   2.  use 3d cnn to predict the link (connecting the dots)\n\n   3.  because the dots are connected, running DBSCAN gives better clustering\n\n   4. Use the trick from the winner of Kaggle Science Bowl 2018, predict voxel that disconnect/separate confusing tracks into separate ones, so that DBSCAN can run. (i.e. It is 3-class 3d Unet to predict background, connecting voxel and disconnecting voxel)\n\n   5. Fit and grow track later ... \n\n (for those who are familiar with Kaggle Science Bowl 2018, DBSCAN is now like watershed to do the connected component labeling)\n\n\n     ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352079/9773/new_results1.png",
    "352229": "Nice idea! that extending the winner solution of Data Science Bowl 2018.\n\nOne question, I thought 3D CNN approach was not available due to the memory constraint on GPU.\nDo you rescale the input to reduce the resolution? or Do you separate the 3D voxel input?",
    "352279": "Did you partition the 3D space to avoid memory error? If so, you use DBSCAN to connect tracks that extend into another partition, right?",
    "352596": "test results (trained on 4 events)\n\n\nleft : ground truth, right : result of 3d convolution\n\nblack point : input hit\n\ncolored: output/truth link point. Colors denote depth value (purple, ... orange, yellow means z=0,1, ...15)\n\nthe axis are in voxel unit. the volume is in DXHXW=16x512x512\n\n\n\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352596/9781/Selection_049.png",
    "352598": "i have a scanning 3d scanning window (16x256x256)  and 3dUnet works on the scan window.",
    "352600": "this is not decided yet. Maybe another network to learn the linking?",
    "352609": "Very nice ! I'd like to tweet this one from @trackmllhc . How would you describe it in one tweet ? ...combination of CNN and DBSCAN... left is ground truth, right is the result of the algorithm... points are the 3D points.... lines are the connection between points. what is the color code ? and the axis ?and the units ?",
    "352762": "David Rousseau Thanks!\n \nI added the explanation for the figure. You can described it as \"link prediction with 3dcnn\" (DBSCAN is not implemented yet and could be the next step)",
    "353033": "Heng, I have only one question, you used to make submissions quite often, at least that's where I got to know you in the 2018 DSB. Is there any reason why you haven't made any submissions for a long time despite of all the great DL results you shared? :)",
    "353038": "Scaling up is a problem. All my deep learning solutions so far are running too slow and many steps are required (e.g. divide into parts, etc)\n\nI am still looking for a more efficient and simpler solution.",
    "353848": "I see, thank you for explanation!"
  },
  "source": "meta"
}