{
  "id": 60447,
  "title": "faster-rcnn like approach ",
  "url": "/competitions/trackml-particle-identification/discussion/60447",
  "author_name": "",
  "post_date": "2018-07-04T17:13:54.889703700Z",
  "votes": 8,
  "comment_count": 17,
  "views": 0,
  "content": "<p>Approach and results on test sample (not train)\ncode coming soon.</p>\n\n<p>For the local volume, score is about 0.065 (out of 0.090) after augmentation etc</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9780/faster-rcnn0.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9779/faster-rcnn1.png\" alt=\"enter image description here\"></p>",
  "messages": [
    {
      "id": "352590",
      "postDate": "07/04/2018 17:13:54",
      "content": "<p>Approach and results on test sample (not train)\ncode coming soon.</p>\n\n<p>For the local volume, score is about 0.065 (out of 0.090) after augmentation etc</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9780/faster-rcnn0.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9779/faster-rcnn1.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "Approach and results on test sample (not train)\ncode coming soon.\n\nFor the local volume, score is about 0.065 (out of 0.090) after augmentation etc\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9780/faster-rcnn0.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9779/faster-rcnn1.png",
      "votes": null
    },
    {
      "id": "353338",
      "postDate": "07/06/2018 13:32:34",
      "content": "<p>code and results</p>\n\n<p>train samples = event 1010 to 1099 (5.8k iterations, 1.5hr)</p>\n\n<p>test = event 1001 (below)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9801/faster_rcnn_01.png\" alt=\"enter image description here\">\n  <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9800/faster_rcnn_02.png\" alt=\"enter image description here\">\n  <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9799/faster_rcnn_03.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "code and results\n\ntrain samples = event 1010 to 1099 (5.8k iterations, 1.5hr)\n\ntest = event 1001 (below)\n\n\n  ![enter image description here][1]\n  ![enter image description here][2]\n  ![enter image description here][3]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9801/faster_rcnn_01.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9800/faster_rcnn_02.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9799/faster_rcnn_03.png",
      "votes": null
    },
    {
      "id": "353354",
      "postDate": "07/06/2018 13:59:10",
      "content": "<p>@Heng, Thanks for informing me your update. What is your hardware (GPU, VRAM) if I may ask? Were you able to run a single event without hitting memory errors? I guess you had to batch your predictions.  </p>",
      "rawMarkdown": "Heng, Thanks for informing me your update. What is your hardware (GPU, VRAM) if I may ask? Were you able to run a single event without hitting memory errors? I guess you had to batch your predictions.",
      "votes": null
    },
    {
      "id": "353564",
      "postDate": "07/07/2018 04:07:07",
      "content": "<p>For this experiment, i am using pascal titian x with 12 gb vram. Training uses batch =4 of crops 512x512. Testing using single batch of 3200x1600</p>",
      "rawMarkdown": "For this experiment, i am using pascal titian x with 12 gb vram. Training uses batch =4 of crops 512x512. Testing using single batch of 3200x1600",
      "votes": null
    },
    {
      "id": "354838",
      "postDate": "07/10/2018 10:37:34",
      "content": "<p>results from large scale training! I haven't tune the train, network of input parameters yet.</p>\n\n<p>you can use the standalone viewer to view the results (pkl pickle file) in 3d.</p>\n\n<p>this is raw results from deep learning without any pre/post processing. There is no test/train augment. Hence i think results is quite amazing:</p>\n\n<ul>\n<li><p>some of the crossing tracks are separated</p></li>\n<li><p>some curve tracks</p></li>\n</ul>\n\n<p>However, some simple cases are not detected at all, which i wonder why?</p>\n\n<ul>\n<li><p>short tracks (2 to 3 hits),  especially when they are very straight.</p></li>\n<li><p>simple curve/long tracks that are isolated (easily point up by dbscan)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9834/data88001_1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\" alt=\"enter image description here\"></p></li>\n</ul>\n\n<hr>\n\n<p>experiment details</p>\n\n<p>volume_id = (14,18,);  layer_id = (2, 4, 6, 8, 10, 12,)</p>\n\n<p>train events:\ntrain_2_data :  2820, 4589\ntrain_3_data :  4590, 5898</p>\n\n<p>test events:\ntrain_1_data :  1000, 1010</p>\n\n<p>BLUE: ground truth\nRED: prediction</p>\n\n<hr>\n\n<p>more results:\n<a href=\"https://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy\">https://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy</a></p>",
      "rawMarkdown": "results from large scale training! I haven't tune the train, network of input parameters yet.\n\nyou can use the standalone viewer to view the results (pkl pickle file) in 3d.\n\nthis is raw results from deep learning without any pre/post processing. There is no test/train augment. Hence i think results is quite amazing:\n\n-  some of the crossing tracks are separated\n\n- some curve tracks\n\nHowever, some simple cases are not detected at all, which i wonder why?\n\n-  short tracks (2 to 3 hits),  especially when they are very straight.\n\n- simple curve/long tracks that are isolated (easily point up by dbscan)\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\nexperiment details\n\n\nvolume_id = (14,18,);  layer_id = (2, 4, 6, 8, 10, 12,)\n\ntrain events:\ntrain_2_data :  2820, 4589\ntrain_3_data :  4590, 5898\n\n\n\ntest events:\ntrain_1_data :  1000, 1010\n\n\nBLUE: ground truth\nRED: prediction\n\n---\n\nmore results:\nhttps://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9834/data88001_1.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png",
      "votes": null
    },
    {
      "id": "355440",
      "postDate": "07/11/2018 17:31:49",
      "content": "<p>multi-class head. I divided the pairwise link according to the direction.</p>\n\n<p>here, blue lines slope more than the black ones.</p>\n\n<p>BLACK/BLUE: ground truth</p>\n\n<p>RED/GREEN estimation results</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9846/Figure_3.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9850/Figure_3-1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9847/Figure_3-2.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "multi-class head. I divided the pairwise link according to the direction.\n\nhere, blue lines slope more than the black ones.\n\nBLACK/BLUE: ground truth\n\nRED/GREEN estimation results\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n\n  ![enter image description here][3]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9846/Figure_3.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9850/Figure_3-1.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9847/Figure_3-2.png",
      "votes": null
    },
    {
      "id": "355442",
      "postDate": "07/11/2018 17:36:03",
      "content": "<p>some network design that works:</p>\n\n<ol>\n<li><p>replace upsampling of unet with max unpooling</p></li>\n<li><p>Three scale level is enough (i.e. 3 max pooling). More scale degrade results.</p></li>\n<li><p>focus loss to handle unbalanced negative classes</p></li>\n</ol>",
      "rawMarkdown": "some network design that works:\n\n1. replace upsampling of unet with max unpooling\n\n2. Three scale level is enough (i.e. 3 max pooling). More scale degrade results.\n\n3. focus loss to handle unbalanced negative classes",
      "votes": null
    },
    {
      "id": "356910",
      "postDate": "07/14/2018 18:43:32",
      "content": "<p>test code:</p>\n\n<ol>\n<li><p>predict pairwise link with faster-rcnn pairwise estimation</p></li>\n<li><p>use dbscan with precomputed pairwise distance</p></li>\n<li><p>scoring with the kaggle metric</p></li>\n</ol>\n\n<p>without post/pre processing, without augmentation,  you can get about 95% correct pairwise link in test (about 97% correct in train)</p>",
      "rawMarkdown": "test code:\n\n1. predict pairwise link with faster-rcnn pairwise estimation\n\n2. use dbscan with precomputed pairwise distance\n\n3. scoring with the kaggle metric\n\n\nwithout post/pre processing, without augmentation,  you can get about 95% correct pairwise link in test (about 97% correct in train)",
      "votes": null
    },
    {
      "id": "357742",
      "postDate": "07/16/2018 19:13:52",
      "content": "<p>Thanks @Heng for sharing. Are these results from the training codes below? </p>",
      "rawMarkdown": "Thanks @Heng for sharing. Are these results from the training codes below?",
      "votes": null
    },
    {
      "id": "360962",
      "postDate": "07/23/2018 15:28:59",
      "content": "<p>single class still work if you train it long enough. Below is raw test results (i.e. no pre/post processing)  after 72 hour of training</p>\n\n<p>black: ground truth</p>\n\n<p>red: predicted pairwise link </p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/360962/9943/72hrs.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "single class still work if you train it long enough. Below is raw test results (i.e. no pre/post processing)  after 72 hour of training\n\nblack: ground truth\n\nred: predicted pairwise link \n\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/360962/9943/72hrs.png",
      "votes": null
    },
    {
      "id": "360965",
      "postDate": "07/23/2018 15:30:54",
      "content": "<p>@YaGana Sheriff-Hussaini</p>\n\n<p>not exact the same code.\nthe model and some parameters are different (e..g. neighbourhood size). </p>\n\n<p>Otherwise, the code are the same.</p>",
      "rawMarkdown": "YaGana Sheriff-Hussaini\n \nnot exact the same code.\nthe model and some parameters are different (e..g. neighbourhood size). \n\nOtherwise, the code are the same.",
      "votes": null
    },
    {
      "id": "361272",
      "postDate": "07/24/2018 06:24:08",
      "content": "<p>Interesting.  How long does it take to score one event?</p>",
      "rawMarkdown": "Interesting.  How long does it take to score one event?",
      "votes": null
    },
    {
      "id": "361963",
      "postDate": "07/25/2018 11:40:41",
      "content": "<p>@CPMP</p>\n\n<p>my pipline is as follows:</p>\n\n<ol>\n<li><p>construct neighborhood graph</p></li>\n<li><p>use faster-rcnn to predict pairwise link of neighborhood graph\n(hit rate is 95% with inlier ratio of &gt;0.85)</p></li>\n<li><p>DBSCAN on precomputed pairwise link</p></li>\n<li><p>use ransac to refine results of pairwise link (outlier removal and extension)</p></li>\n</ol>\n\n<p>step.2  runs on gpu it is very fast. it will take a minute or so for a single test augment of one event, which consists of  512x512 crops of 2.5d voxel (treated as layered images and processed by 2d conv)</p>\n\n<p>to detect very slanted tracks, the voxel is 1/2, 1/4 scaled, etc.</p>\n\n<p>step1 and 4 take time however.</p>",
      "rawMarkdown": "CPMP\n\nmy pipline is as follows:\n\n1. construct neighborhood graph\n\n2. use faster-rcnn to predict pairwise link of neighborhood graph\n    (hit rate is 95% with inlier ratio of &gt;0.85)\n\n3. DBSCAN on precomputed pairwise link\n\n4. use ransac to refine results of pairwise link (outlier removal and extension)\n\nstep.2  runs on gpu it is very fast. it will take a minute or so for a single test augment of one event, which consists of  512x512 crops of 2.5d voxel (treated as layered images and processed by 2d conv)\n\nto detect very slanted tracks, the voxel is 1/2, 1/4 scaled, etc.\n\n\n\n\nstep1 and 4 take time however.",
      "votes": null
    },
    {
      "id": "362318",
      "postDate": "07/26/2018 06:43:57",
      "content": "<p>Thanks.</p>",
      "rawMarkdown": "Thanks.",
      "votes": null
    },
    {
      "id": "366538",
      "postDate": "08/05/2018 18:07:06",
      "content": "<p>quite amazed by the results. There is no unrolling of tracks  and the network has no knowledge of the helix equation. Just throw in the data, and the network seems to be able to find the tracks</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10003/Slide1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10004/Slide2.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10005/Slide3.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "quite amazed by the results. There is no unrolling of tracks  and the network has no knowledge of the helix equation. Just throw in the data, and the network seems to be able to find the tracks\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  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10003/Slide1.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10004/Slide2.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10005/Slide3.png",
      "votes": null
    },
    {
      "id": "366541",
      "postDate": "08/05/2018 18:19:12",
      "content": "<p>Wow! Thanks for sharing @Heng.</p>",
      "rawMarkdown": "Wow! Thanks for sharing @Heng.",
      "votes": null
    },
    {
      "id": "366778",
      "postDate": "08/06/2018 13:42:38",
      "content": "<p>demo software at:  <a href=\"https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H\">https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H</a></p>\n\n<p>download the file 0805.zip. It consist of train code, demo code and a trained model for volume_id =08,13,17,</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366778/10007/demo.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "demo software at:  https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H\n\ndownload the file 0805.zip. It consist of train code, demo code and a trained model for volume_id =08,13,17,\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/366778/10007/demo.png",
      "votes": null
    },
    {
      "id": "366926",
      "postDate": "08/06/2018 18:41:24",
      "content": "<p>seems to have significant improvement if i use cell.cvs as additition features in deep network:</p>\n\n<p>cells = pd.read_csv(data_dir + '/event%s-cells.csv'%event_id)</p>\n\n<p>cells = cells.groupby(['hit_id'], as_index=False)['value'].sum()</p>\n\n<p>hits  = hits.merge(cells,      on=['hit_id'], how='left')</p>\n\n<hr>\n\n<p>Before: feature = 3d conv features</p>\n\n<p>After: 3d conv features + (a,phi,layer_id,cell)</p>",
      "rawMarkdown": "seems to have significant improvement if i use cell.cvs as additition features in deep network:\n\ncells = pd.read_csv(data_dir + '/event%s-cells.csv'%event_id)\n\ncells = cells.groupby(['hit_id'], as_index=False)['value'].sum()\n        \nhits  = hits.merge(cells,      on=['hit_id'], how='left')\n\n---\n\nBefore: feature = 3d conv features\n\nAfter: 3d conv features + (a,phi,layer_id,cell)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 353338,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/06/2018 13:32:34",
      "content": "<p>code and results</p>\n\n<p>train samples = event 1010 to 1099 (5.8k iterations, 1.5hr)</p>\n\n<p>test = event 1001 (below)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9801/faster_rcnn_01.png\" alt=\"enter image description here\">\n  <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9800/faster_rcnn_02.png\" alt=\"enter image description here\">\n  <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9799/faster_rcnn_03.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": [
        {
          "id": 353354,
          "author_name": "nicolefinnie",
          "author_url": "",
          "post_date": "07/06/2018 13:59:10",
          "content": "<p>@Heng, Thanks for informing me your update. What is your hardware (GPU, VRAM) if I may ask? Were you able to run a single event without hitting memory errors? I guess you had to batch your predictions.  </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 353564,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/07/2018 04:07:07",
          "content": "<p>For this experiment, i am using pascal titian x with 12 gb vram. Training uses batch =4 of crops 512x512. Testing using single batch of 3200x1600</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 354838,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/10/2018 10:37:34",
      "content": "<p>results from large scale training! I haven't tune the train, network of input parameters yet.</p>\n\n<p>you can use the standalone viewer to view the results (pkl pickle file) in 3d.</p>\n\n<p>this is raw results from deep learning without any pre/post processing. There is no test/train augment. Hence i think results is quite amazing:</p>\n\n<ul>\n<li><p>some of the crossing tracks are separated</p></li>\n<li><p>some curve tracks</p></li>\n</ul>\n\n<p>However, some simple cases are not detected at all, which i wonder why?</p>\n\n<ul>\n<li><p>short tracks (2 to 3 hits),  especially when they are very straight.</p></li>\n<li><p>simple curve/long tracks that are isolated (easily point up by dbscan)</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9834/data88001_1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\" alt=\"enter image description here\"></p></li>\n</ul>\n\n<hr>\n\n<p>experiment details</p>\n\n<p>volume_id = (14,18,);  layer_id = (2, 4, 6, 8, 10, 12,)</p>\n\n<p>train events:\ntrain_2_data :  2820, 4589\ntrain_3_data :  4590, 5898</p>\n\n<p>test events:\ntrain_1_data :  1000, 1010</p>\n\n<p>BLUE: ground truth\nRED: prediction</p>\n\n<hr>\n\n<p>more results:\n<a href=\"https://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy\">https://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 355440,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/11/2018 17:31:49",
      "content": "<p>multi-class head. I divided the pairwise link according to the direction.</p>\n\n<p>here, blue lines slope more than the black ones.</p>\n\n<p>BLACK/BLUE: ground truth</p>\n\n<p>RED/GREEN estimation results</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9846/Figure_3.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9850/Figure_3-1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9847/Figure_3-2.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 355442,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/11/2018 17:36:03",
      "content": "<p>some network design that works:</p>\n\n<ol>\n<li><p>replace upsampling of unet with max unpooling</p></li>\n<li><p>Three scale level is enough (i.e. 3 max pooling). More scale degrade results.</p></li>\n<li><p>focus loss to handle unbalanced negative classes</p></li>\n</ol>",
      "votes": null,
      "replies": []
    },
    {
      "id": 356910,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/14/2018 18:43:32",
      "content": "<p>test code:</p>\n\n<ol>\n<li><p>predict pairwise link with faster-rcnn pairwise estimation</p></li>\n<li><p>use dbscan with precomputed pairwise distance</p></li>\n<li><p>scoring with the kaggle metric</p></li>\n</ol>\n\n<p>without post/pre processing, without augmentation,  you can get about 95% correct pairwise link in test (about 97% correct in train)</p>",
      "votes": null,
      "replies": [
        {
          "id": 357742,
          "author_name": "sheriytm",
          "author_url": "",
          "post_date": "07/16/2018 19:13:52",
          "content": "<p>Thanks @Heng for sharing. Are these results from the training codes below? </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 360965,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/23/2018 15:30:54",
          "content": "<p>@YaGana Sheriff-Hussaini</p>\n\n<p>not exact the same code.\nthe model and some parameters are different (e..g. neighbourhood size). </p>\n\n<p>Otherwise, the code are the same.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 360962,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "07/23/2018 15:28:59",
      "content": "<p>single class still work if you train it long enough. Below is raw test results (i.e. no pre/post processing)  after 72 hour of training</p>\n\n<p>black: ground truth</p>\n\n<p>red: predicted pairwise link </p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/360962/9943/72hrs.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": [
        {
          "id": 361272,
          "author_name": "cpmpml",
          "author_url": "",
          "post_date": "07/24/2018 06:24:08",
          "content": "<p>Interesting.  How long does it take to score one event?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 361963,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "07/25/2018 11:40:41",
          "content": "<p>@CPMP</p>\n\n<p>my pipline is as follows:</p>\n\n<ol>\n<li><p>construct neighborhood graph</p></li>\n<li><p>use faster-rcnn to predict pairwise link of neighborhood graph\n(hit rate is 95% with inlier ratio of &gt;0.85)</p></li>\n<li><p>DBSCAN on precomputed pairwise link</p></li>\n<li><p>use ransac to refine results of pairwise link (outlier removal and extension)</p></li>\n</ol>\n\n<p>step.2  runs on gpu it is very fast. it will take a minute or so for a single test augment of one event, which consists of  512x512 crops of 2.5d voxel (treated as layered images and processed by 2d conv)</p>\n\n<p>to detect very slanted tracks, the voxel is 1/2, 1/4 scaled, etc.</p>\n\n<p>step1 and 4 take time however.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 362318,
          "author_name": "cpmpml",
          "author_url": "",
          "post_date": "07/26/2018 06:43:57",
          "content": "<p>Thanks.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 366538,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "08/05/2018 18:07:06",
      "content": "<p>quite amazed by the results. There is no unrolling of tracks  and the network has no knowledge of the helix equation. Just throw in the data, and the network seems to be able to find the tracks</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10003/Slide1.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10004/Slide2.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10005/Slide3.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": [
        {
          "id": 366541,
          "author_name": "sheriytm",
          "author_url": "",
          "post_date": "08/05/2018 18:19:12",
          "content": "<p>Wow! Thanks for sharing @Heng.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 366778,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "08/06/2018 13:42:38",
      "content": "<p>demo software at:  <a href=\"https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H\">https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H</a></p>\n\n<p>download the file 0805.zip. It consist of train code, demo code and a trained model for volume_id =08,13,17,</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/366778/10007/demo.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 366926,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "08/06/2018 18:41:24",
      "content": "<p>seems to have significant improvement if i use cell.cvs as additition features in deep network:</p>\n\n<p>cells = pd.read_csv(data_dir + '/event%s-cells.csv'%event_id)</p>\n\n<p>cells = cells.groupby(['hit_id'], as_index=False)['value'].sum()</p>\n\n<p>hits  = hits.merge(cells,      on=['hit_id'], how='left')</p>\n\n<hr>\n\n<p>Before: feature = 3d conv features</p>\n\n<p>After: 3d conv features + (a,phi,layer_id,cell)</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "352590": "Approach and results on test sample (not train)\ncode coming soon.\n\nFor the local volume, score is about 0.065 (out of 0.090) after augmentation etc\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9780/faster-rcnn0.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/352590/9779/faster-rcnn1.png",
    "353338": "code and results\n\ntrain samples = event 1010 to 1099 (5.8k iterations, 1.5hr)\n\ntest = event 1001 (below)\n\n\n  ![enter image description here][1]\n  ![enter image description here][2]\n  ![enter image description here][3]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9801/faster_rcnn_01.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9800/faster_rcnn_02.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/353338/9799/faster_rcnn_03.png",
    "353354": "Heng, Thanks for informing me your update. What is your hardware (GPU, VRAM) if I may ask? Were you able to run a single event without hitting memory errors? I guess you had to batch your predictions.",
    "353564": "For this experiment, i am using pascal titian x with 12 gb vram. Training uses batch =4 of crops 512x512. Testing using single batch of 3200x1600",
    "354838": "results from large scale training! I haven't tune the train, network of input parameters yet.\n\nyou can use the standalone viewer to view the results (pkl pickle file) in 3d.\n\nthis is raw results from deep learning without any pre/post processing. There is no test/train augment. Hence i think results is quite amazing:\n\n-  some of the crossing tracks are separated\n\n- some curve tracks\n\nHowever, some simple cases are not detected at all, which i wonder why?\n\n-  short tracks (2 to 3 hits),  especially when they are very straight.\n\n- simple curve/long tracks that are isolated (easily point up by dbscan)\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\nexperiment details\n\n\nvolume_id = (14,18,);  layer_id = (2, 4, 6, 8, 10, 12,)\n\ntrain events:\ntrain_2_data :  2820, 4589\ntrain_3_data :  4590, 5898\n\n\n\ntest events:\ntrain_1_data :  1000, 1010\n\n\nBLUE: ground truth\nRED: prediction\n\n---\n\nmore results:\nhttps://drive.google.com/open?id=1CpRVbQ912sIl2BG87DhslpW6o4utxgGy\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9834/data88001_1.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/354838/9835/data88001_2.png",
    "355440": "multi-class head. I divided the pairwise link according to the direction.\n\nhere, blue lines slope more than the black ones.\n\nBLACK/BLUE: ground truth\n\nRED/GREEN estimation results\n\n  ![enter image description here][1]\n\n  ![enter image description here][2]\n\n  ![enter image description here][3]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9846/Figure_3.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9850/Figure_3-1.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/355440/9847/Figure_3-2.png",
    "355442": "some network design that works:\n\n1. replace upsampling of unet with max unpooling\n\n2. Three scale level is enough (i.e. 3 max pooling). More scale degrade results.\n\n3. focus loss to handle unbalanced negative classes",
    "356910": "test code:\n\n1. predict pairwise link with faster-rcnn pairwise estimation\n\n2. use dbscan with precomputed pairwise distance\n\n3. scoring with the kaggle metric\n\n\nwithout post/pre processing, without augmentation,  you can get about 95% correct pairwise link in test (about 97% correct in train)",
    "357742": "Thanks @Heng for sharing. Are these results from the training codes below?",
    "360962": "single class still work if you train it long enough. Below is raw test results (i.e. no pre/post processing)  after 72 hour of training\n\nblack: ground truth\n\nred: predicted pairwise link \n\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/360962/9943/72hrs.png",
    "360965": "YaGana Sheriff-Hussaini\n \nnot exact the same code.\nthe model and some parameters are different (e..g. neighbourhood size). \n\nOtherwise, the code are the same.",
    "361272": "Interesting.  How long does it take to score one event?",
    "361963": "CPMP\n\nmy pipline is as follows:\n\n1. construct neighborhood graph\n\n2. use faster-rcnn to predict pairwise link of neighborhood graph\n    (hit rate is 95% with inlier ratio of &gt;0.85)\n\n3. DBSCAN on precomputed pairwise link\n\n4. use ransac to refine results of pairwise link (outlier removal and extension)\n\nstep.2  runs on gpu it is very fast. it will take a minute or so for a single test augment of one event, which consists of  512x512 crops of 2.5d voxel (treated as layered images and processed by 2d conv)\n\nto detect very slanted tracks, the voxel is 1/2, 1/4 scaled, etc.\n\n\n\n\nstep1 and 4 take time however.",
    "362318": "Thanks.",
    "366538": "quite amazed by the results. There is no unrolling of tracks  and the network has no knowledge of the helix equation. Just throw in the data, and the network seems to be able to find the tracks\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  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10003/Slide1.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10004/Slide2.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/366538/10005/Slide3.png",
    "366541": "Wow! Thanks for sharing @Heng.",
    "366778": "demo software at:  https://drive.google.com/drive/folders/1NXrPxRDyYldl3Ha_sGl_yJujdhmcTX6H\n\ndownload the file 0805.zip. It consist of train code, demo code and a trained model for volume_id =08,13,17,\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/366778/10007/demo.png",
    "366926": "seems to have significant improvement if i use cell.cvs as additition features in deep network:\n\ncells = pd.read_csv(data_dir + '/event%s-cells.csv'%event_id)\n\ncells = cells.groupby(['hit_id'], as_index=False)['value'].sum()\n        \nhits  = hits.merge(cells,      on=['hit_id'], how='left')\n\n---\n\nBefore: feature = 3d conv features\n\nAfter: 3d conv features + (a,phi,layer_id,cell)"
  },
  "source": "meta"
}