{
  "id": 528653,
  "title": "More coordinates!",
  "url": "/competitions/rsna-2024-lumbar-spine-degenerative-classification/discussion/528653",
  "author_name": "Bartley",
  "post_date": "2024-08-16T16:42:15.057000",
  "votes": 60,
  "comment_count": 13,
  "views": 0,
  "content": "<p>After some positive feedback on the coordinate pretraining dataset, I have decided to release some more data. </p>\n<p>This time I made additions to the competition coordinate data by annotating the left side of each disc. This provides orientation information, and could be helpful for those using a 2-stage approach 😏</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5570735%2Fd2f96fa3445f7c9685e60e12860883dd%2FV2.JPG?generation=1723826153577715&amp;alt=media\" alt=\"Image\"></p>\n<p>I added this data <a href=\"https://www.kaggle.com/datasets/brendanartley/lumbar-coordinate-pretraining-dataset\" target=\"_blank\">here</a>, and showed how to visualize examples <a href=\"https://www.kaggle.com/code/brendanartley/lumbar-coordinate-dataset-code\" target=\"_blank\">here</a>. Hope this helps!</p>",
  "messages": [
    {
      "id": 2961480,
      "postDate": "2024-08-16T16:42:15.057Z",
      "content": "<p>After some positive feedback on the coordinate pretraining dataset, I have decided to release some more data. </p>\n<p>This time I made additions to the competition coordinate data by annotating the left side of each disc. This provides orientation information, and could be helpful for those using a 2-stage approach 😏</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5570735%2Fd2f96fa3445f7c9685e60e12860883dd%2FV2.JPG?generation=1723826153577715&amp;alt=media\" alt=\"Image\"></p>\n<p>I added this data <a href=\"https://www.kaggle.com/datasets/brendanartley/lumbar-coordinate-pretraining-dataset\" target=\"_blank\">here</a>, and showed how to visualize examples <a href=\"https://www.kaggle.com/code/brendanartley/lumbar-coordinate-dataset-code\" target=\"_blank\">here</a>. Hope this helps!</p>",
      "rawMarkdown": "After some positive feedback on the coordinate pretraining dataset, I have decided to release some more data. \n\nThis time I made additions to the competition coordinate data by annotating the left side of each disc. This provides orientation information, and could be helpful for those using a 2-stage approach 😏\n\n![Image](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5570735%2Fd2f96fa3445f7c9685e60e12860883dd%2FV2.JPG?generation=1723826153577715&alt=media)\n\nI added this data [here](https://www.kaggle.com/datasets/brendanartley/lumbar-coordinate-pretraining-dataset), and showed how to visualize examples [here](https://www.kaggle.com/code/brendanartley/lumbar-coordinate-dataset-code). Hope this helps!\n",
      "votes": 60
    },
    {
      "id": 2961524,
      "postDate": "2024-08-16T17:20:48.547Z",
      "content": "<p>wow, it is unselfish. How many hours did you spend annotating it?!<br>\nBtw, have you solved the problem with sorting order? (Based on the leaderboard score, I guess you did.)<br>\ntrying to take advantage of your generosity, if it is not a secret, what cv score did you guys get for foraminal and subarticular? </p>",
      "rawMarkdown": "wow, it is unselfish. How many hours did you spend annotating it?!\nBtw, have you solved the problem with sorting order? (Based on the leaderboard score, I guess you did.)\n~~Not ~~trying to take advantage of your generosity, if it is not a secret, what cv score did you guys get for foraminal and subarticular? ",
      "votes": 6,
      "replies": [
        {
          "id": 2961559,
          "postDate": "2024-08-16T17:46:17.167Z",
          "content": "<p>Thanks <a href=\"https://www.kaggle.com/sergiosaharovskiy\" target=\"_blank\">@sergiosaharovskiy</a>. It only took a few hours or so thanks to the <a href=\"https://www.robots.ox.ac.uk/~vgg/software/via/\" target=\"_blank\">VGG Image Annotator</a>. We sort based on ImagePositionPatient in the same way as Ian Pan <a href=\"https://www.kaggle.com/code/vaillant/cross-reference-images-in-different-mri-planes?scriptVersionId=182551992&amp;cellId=2\" target=\"_blank\">here</a>. </p>\n<p>CV is secret for now :)</p>",
          "rawMarkdown": "Thanks @sergiosaharovskiy. It only took a few hours or so thanks to the [VGG Image Annotator](https://www.robots.ox.ac.uk/~vgg/software/via/). We sort based on ImagePositionPatient in the same way as Ian Pan [here](https://www.kaggle.com/code/vaillant/cross-reference-images-in-different-mri-planes?scriptVersionId=182551992&cellId=2). \n\nCV is secret for now :)",
          "votes": 6,
          "replies": [
            {
              "id": 2961617,
              "postDate": "2024-08-16T18:35:53.313Z",
              "content": "<p>let me guess &lt; 0.4 ? :D</p>",
              "rawMarkdown": "let me guess < 0.4 ? :D",
              "votes": 3
            }
          ]
        }
      ]
    },
    {
      "id": 2967453,
      "postDate": "2024-08-22T23:46:43.940Z",
      "content": "<p>great work</p>",
      "rawMarkdown": "great work",
      "votes": 1
    },
    {
      "id": 2962712,
      "postDate": "2024-08-17T23:24:11.653Z",
      "content": "<p>are you using a two stage approach for your work or one stage?</p>",
      "rawMarkdown": "are you using a two stage approach for your work or one stage?",
      "votes": 1,
      "replies": [
        {
          "id": 2963646,
          "postDate": "2024-08-19T00:12:19.327Z",
          "content": "<p>Two-stage.      </p>",
          "rawMarkdown": "Two-stage.      ",
          "votes": 2,
          "replies": [
            {
              "id": 2963958,
              "postDate": "2024-08-19T12:16:42.003Z",
              "content": "<p>Sorry, but is it a single model performing the detection, or are there multiple small expert models involved, or is it three models in total?</p>",
              "rawMarkdown": "Sorry, but is it a single model performing the detection, or are there multiple small expert models involved, or is it three models in total?"
            },
            {
              "id": 2964036,
              "postDate": "2024-08-19T13:20:26.420Z",
              "content": "<p>Hi <a href=\"https://www.kaggle.com/theexaltedone\" target=\"_blank\">@theexaltedone</a>, thanks for the comments. I don’t mind sharing the general idea of our process, but I won’t get into the details. The dataset and the notebook I shared should give you the general idea.</p>",
              "rawMarkdown": "Hi @theexaltedone, thanks for the comments. I don’t mind sharing the general idea of our process, but I won’t get into the details. The dataset and the notebook I shared should give you the general idea.",
              "votes": 4
            },
            {
              "id": 2964086,
              "postDate": "2024-08-19T14:24:04.270Z",
              "content": "<p>yh, thanks that would help me a lot.</p>",
              "rawMarkdown": "yh, thanks that would help me a lot.\n",
              "votes": 1
            }
          ]
        }
      ]
    },
    {
      "id": 2968045,
      "postDate": "2024-08-23T13:28:23.880Z",
      "content": "<p>nice visualisation:<br>\nwhat did the model learns first? <br>\nl5/s1 … becuase it is the most imprtant point!</p>\n<p>the next point is l4/l3 and then l1/l2</p>\n<p>last train iteration<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fbe922c7102cf6437985e7bd067b93d3d%2FSelection_999(5935).png?generation=1724419677302238&amp;alt=media\" alt=\"\"></p>\n<p>intermediate …<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F7e8d42bc3e6fc4c8384c0c8d64e36552%2FSelection_999(5934).png?generation=1724419689158886&amp;alt=media\" alt=\"\"></p>\n<p>first train iteration<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4e07fe236dbd1bf2cbbb51cb4b5744a8%2FSelection_999(5933).png?generation=1724419700834470&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "nice visualisation:\nwhat did the model learns first? \nl5/s1 ... becuase it is the most imprtant point!\n\nthe next point is l4/l3 and then l1/l2\n\nlast train iteration\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fbe922c7102cf6437985e7bd067b93d3d%2FSelection_999(5935).png?generation=1724419677302238&alt=media)\n\nintermediate ...\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F7e8d42bc3e6fc4c8384c0c8d64e36552%2FSelection_999(5934).png?generation=1724419689158886&alt=media)\n\n\nfirst train iteration\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4e07fe236dbd1bf2cbbb51cb4b5744a8%2FSelection_999(5933).png?generation=1724419700834470&alt=media)\n",
      "votes": 2,
      "replies": [
        {
          "id": 2968748,
          "postDate": "2024-08-24T08:20:50.460Z",
          "content": "<p>loss function bug<br>\nmake a bug and end up this</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fc284153118aa7839c6d0ea8c6044200d%2FSelection_999(5948).png?generation=1724487383709747&amp;alt=media\" alt=\"\"><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F27c5d6ff39c361137368064f0c06f027%2FSelection_999(5947).png?generation=1724487394941357&amp;alt=media\" alt=\"\"></p>\n<pre><code> loss = F.mse_loss( xy_truth, (heatmap*coord).sum(...))  #this is suprsing learned (the horizontal line)\n\n\n loss = Jensen-Shannon divergence loss (heatmap, gaussian mask of truth xy)  \n\n\n\n\n version\n     = -. * /(sigma*sigma)\n     = -. * /(sigma*sigma)\n version\n     = -. * np.reciprocal(sigma*sigma) #sigma is integer=, and  np.reciprocal() gives integer zero\n     Jensen-Shannon divergence \n</code></pre>",
          "rawMarkdown": "loss function bug\nmake a bug and end up this\n\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fc284153118aa7839c6d0ea8c6044200d%2FSelection_999(5948).png?generation=1724487383709747&alt=media)\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F27c5d6ff39c361137368064f0c06f027%2FSelection_999(5947).png?generation=1724487394941357&alt=media)\n\n```\nmse loss = F.mse_loss( xy_truth, (heatmap*coord).sum(...))  #this is suprsing learned (the horizontal line)\n\n#accidentially disabled\nmask loss = Jensen-Shannon divergence loss (heatmap, gaussian mask of truth xy)  \n\n# when making the gaussian mask\n# i need : ks <- -1 / (2 \\sigma^2)\n\ncorrected version\n    k_x = -0.5 * 1/(sigma*sigma)\n    k_y = -0.5 * 1/(sigma*sigma)\nbug version\n    k_x = -0.5 * np.reciprocal(sigma*sigma) #sigma is integer=2, and  np.reciprocal() gives integer zero\n    hence Jensen-Shannon divergence \"forces equal probability over all pixel if possible\"\n\n\n \n```",
          "votes": 4
        }
      ]
    },
    {
      "id": 2967097,
      "postDate": "2024-08-22T13:54:29.590Z",
      "content": "<p>shape analysis:<br>\ncode from:<br>\n<a href=\"https://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421\" target=\"_blank\">https://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421</a></p>\n<p>left to right:<br>\nmean shape, align to center only, align to the center and scale,  align to the center, scale, rotation</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0f185e8152c32eed4cb622cdffc613ab%2FSelection_999(5924).png?generation=1724334688933737&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fe180ee6619b9d52bbb3584f5270fa396%2FSelection_999(5925).png?generation=1724342123517999&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4b58c01e78c49d39f6e92d6dbf43f777%2FSelection_999(5926).png?generation=1724358043209591&amp;alt=media\" alt=\"\"></p>\n<p>what is the use?</p>\n<ul>\n<li>find out how much variation (rotation,scale, … or pca). useful for augmentation</li>\n<li>normalised image for cropping </li>\n<li>recursive keypoint localisation (localise-&gt;normalise -&gt; localise-&gt;normalise …) </li>\n</ul>",
      "rawMarkdown": "shape analysis:\ncode from:\nhttps://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421\n\nleft to right:\nmean shape, align to center only, align to the center and scale,  align to the center, scale, rotation\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0f185e8152c32eed4cb622cdffc613ab%2FSelection_999(5924).png?generation=1724334688933737&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fe180ee6619b9d52bbb3584f5270fa396%2FSelection_999(5925).png?generation=1724342123517999&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4b58c01e78c49d39f6e92d6dbf43f777%2FSelection_999(5926).png?generation=1724358043209591&alt=media)\n\nwhat is the use?\n- find out how much variation (rotation,scale, ... or pca). useful for augmentation\n- normalised image for cropping \n- recursive keypoint localisation (localise->normalise -> localise->normalise ...) ",
      "votes": 2
    },
    {
      "id": 2961553,
      "postDate": "2024-08-16T17:39:03.283Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 2961524,
      "author_name": "SSS",
      "author_url": "",
      "post_date": "2024-08-16T17:20:48.547000",
      "content": "<p>wow, it is unselfish. How many hours did you spend annotating it?!<br>\nBtw, have you solved the problem with sorting order? (Based on the leaderboard score, I guess you did.)<br>\ntrying to take advantage of your generosity, if it is not a secret, what cv score did you guys get for foraminal and subarticular? </p>",
      "votes": 6,
      "replies": [
        {
          "id": 2961559,
          "author_name": "Bartley",
          "author_url": "",
          "post_date": "2024-08-16T17:46:17.167000",
          "content": "<p>Thanks <a href=\"https://www.kaggle.com/sergiosaharovskiy\" target=\"_blank\">@sergiosaharovskiy</a>. It only took a few hours or so thanks to the <a href=\"https://www.robots.ox.ac.uk/~vgg/software/via/\" target=\"_blank\">VGG Image Annotator</a>. We sort based on ImagePositionPatient in the same way as Ian Pan <a href=\"https://www.kaggle.com/code/vaillant/cross-reference-images-in-different-mri-planes?scriptVersionId=182551992&amp;cellId=2\" target=\"_blank\">here</a>. </p>\n<p>CV is secret for now :)</p>",
          "votes": 6,
          "replies": [
            {
              "id": 2961617,
              "author_name": "SSS",
              "author_url": "",
              "post_date": "2024-08-16T18:35:53.313000",
              "content": "<p>let me guess &lt; 0.4 ? :D</p>",
              "votes": 3,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2967453,
      "author_name": "alka sharma",
      "author_url": "",
      "post_date": "2024-08-22T23:46:43.940000",
      "content": "<p>great work</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2962712,
      "author_name": "Exalted Joseph",
      "author_url": "",
      "post_date": "2024-08-17T23:24:11.653000",
      "content": "<p>are you using a two stage approach for your work or one stage?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2963646,
          "author_name": "Bartley",
          "author_url": "",
          "post_date": "2024-08-19T00:12:19.327000",
          "content": "<p>Two-stage.      </p>",
          "votes": 2,
          "replies": [
            {
              "id": 2963958,
              "author_name": "Exalted Joseph",
              "author_url": "",
              "post_date": "2024-08-19T12:16:42.003000",
              "content": "<p>Sorry, but is it a single model performing the detection, or are there multiple small expert models involved, or is it three models in total?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2964036,
              "author_name": "Bartley",
              "author_url": "",
              "post_date": "2024-08-19T13:20:26.420000",
              "content": "<p>Hi <a href=\"https://www.kaggle.com/theexaltedone\" target=\"_blank\">@theexaltedone</a>, thanks for the comments. I don’t mind sharing the general idea of our process, but I won’t get into the details. The dataset and the notebook I shared should give you the general idea.</p>",
              "votes": 4,
              "replies": []
            },
            {
              "id": 2964086,
              "author_name": "Exalted Joseph",
              "author_url": "",
              "post_date": "2024-08-19T14:24:04.270000",
              "content": "<p>yh, thanks that would help me a lot.</p>",
              "votes": 1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2968045,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2024-08-23T13:28:23.880000",
      "content": "<p>nice visualisation:<br>\nwhat did the model learns first? <br>\nl5/s1 … becuase it is the most imprtant point!</p>\n<p>the next point is l4/l3 and then l1/l2</p>\n<p>last train iteration<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fbe922c7102cf6437985e7bd067b93d3d%2FSelection_999(5935).png?generation=1724419677302238&amp;alt=media\" alt=\"\"></p>\n<p>intermediate …<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F7e8d42bc3e6fc4c8384c0c8d64e36552%2FSelection_999(5934).png?generation=1724419689158886&amp;alt=media\" alt=\"\"></p>\n<p>first train iteration<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4e07fe236dbd1bf2cbbb51cb4b5744a8%2FSelection_999(5933).png?generation=1724419700834470&amp;alt=media\" alt=\"\"></p>",
      "votes": 2,
      "replies": [
        {
          "id": 2968748,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2024-08-24T08:20:50.460000",
          "content": "<p>loss function bug<br>\nmake a bug and end up this</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fc284153118aa7839c6d0ea8c6044200d%2FSelection_999(5948).png?generation=1724487383709747&amp;alt=media\" alt=\"\"><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F27c5d6ff39c361137368064f0c06f027%2FSelection_999(5947).png?generation=1724487394941357&amp;alt=media\" alt=\"\"></p>\n<pre><code> loss = F.mse_loss( xy_truth, (heatmap*coord).sum(...))  #this is suprsing learned (the horizontal line)\n\n\n loss = Jensen-Shannon divergence loss (heatmap, gaussian mask of truth xy)  \n\n\n\n\n version\n     = -. * /(sigma*sigma)\n     = -. * /(sigma*sigma)\n version\n     = -. * np.reciprocal(sigma*sigma) #sigma is integer=, and  np.reciprocal() gives integer zero\n     Jensen-Shannon divergence \n</code></pre>",
          "votes": 4,
          "replies": []
        }
      ]
    },
    {
      "id": 2967097,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2024-08-22T13:54:29.590000",
      "content": "<p>shape analysis:<br>\ncode from:<br>\n<a href=\"https://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421\" target=\"_blank\">https://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421</a></p>\n<p>left to right:<br>\nmean shape, align to center only, align to the center and scale,  align to the center, scale, rotation</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0f185e8152c32eed4cb622cdffc613ab%2FSelection_999(5924).png?generation=1724334688933737&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fe180ee6619b9d52bbb3584f5270fa396%2FSelection_999(5925).png?generation=1724342123517999&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4b58c01e78c49d39f6e92d6dbf43f777%2FSelection_999(5926).png?generation=1724358043209591&amp;alt=media\" alt=\"\"></p>\n<p>what is the use?</p>\n<ul>\n<li>find out how much variation (rotation,scale, … or pca). useful for augmentation</li>\n<li>normalised image for cropping </li>\n<li>recursive keypoint localisation (localise-&gt;normalise -&gt; localise-&gt;normalise …) </li>\n</ul>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 2961553,
      "author_name": "",
      "author_url": "",
      "post_date": "2024-08-16T17:39:03.283000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2961480": "After some positive feedback on the coordinate pretraining dataset, I have decided to release some more data. \n\nThis time I made additions to the competition coordinate data by annotating the left side of each disc. This provides orientation information, and could be helpful for those using a 2-stage approach 😏\n\n![Image](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5570735%2Fd2f96fa3445f7c9685e60e12860883dd%2FV2.JPG?generation=1723826153577715&alt=media)\n\nI added this data [here](https://www.kaggle.com/datasets/brendanartley/lumbar-coordinate-pretraining-dataset), and showed how to visualize examples [here](https://www.kaggle.com/code/brendanartley/lumbar-coordinate-dataset-code). Hope this helps!\n",
    "2961524": "wow, it is unselfish. How many hours did you spend annotating it?!\nBtw, have you solved the problem with sorting order? (Based on the leaderboard score, I guess you did.)\n~~Not ~~trying to take advantage of your generosity, if it is not a secret, what cv score did you guys get for foraminal and subarticular? ",
    "2967453": "great work",
    "2962712": "are you using a two stage approach for your work or one stage?",
    "2968045": "nice visualisation:\nwhat did the model learns first? \nl5/s1 ... becuase it is the most imprtant point!\n\nthe next point is l4/l3 and then l1/l2\n\nlast train iteration\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fbe922c7102cf6437985e7bd067b93d3d%2FSelection_999(5935).png?generation=1724419677302238&alt=media)\n\nintermediate ...\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F7e8d42bc3e6fc4c8384c0c8d64e36552%2FSelection_999(5934).png?generation=1724419689158886&alt=media)\n\n\nfirst train iteration\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4e07fe236dbd1bf2cbbb51cb4b5744a8%2FSelection_999(5933).png?generation=1724419700834470&alt=media)\n",
    "2967097": "shape analysis:\ncode from:\nhttps://medium.com/@olga_kravchenko/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421\n\nleft to right:\nmean shape, align to center only, align to the center and scale,  align to the center, scale, rotation\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0f185e8152c32eed4cb622cdffc613ab%2FSelection_999(5924).png?generation=1724334688933737&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fe180ee6619b9d52bbb3584f5270fa396%2FSelection_999(5925).png?generation=1724342123517999&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F4b58c01e78c49d39f6e92d6dbf43f777%2FSelection_999(5926).png?generation=1724358043209591&alt=media)\n\nwhat is the use?\n- find out how much variation (rotation,scale, ... or pca). useful for augmentation\n- normalised image for cropping \n- recursive keypoint localisation (localise->normalise -> localise->normalise ...) ",
    "2961553": ""
  }
}