{
  "id": 394933,
  "title": "Let's Get Landmarks Animated!",
  "url": "/competitions/asl-signs/discussion/394933",
  "author_name": "Bilzard",
  "post_date": "2023-03-15T10:03:53.315000",
  "votes": 15,
  "comment_count": 9,
  "views": 0,
  "content": "<p>Hi. I made a <a href=\"https://www.kaggle.com/code/tatamikenn/islr-eda-let-s-get-animated/notebook\" target=\"_blank\">notebook</a> to animate landmark data. Hope it helps to understand data in more intuitive way.</p>\n<p>Have fun!</p>\n<h2>Dataset</h2>\n<p><a href=\"https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs\" target=\"_blank\">ISLR: Animated 250 Sampled Signs</a></p>\n<h2>Sample animation</h2>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fb579990d060e0066c1ff151bae8832d3%2Flandmarks_0.gif?generation=1678874361243265&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fa1843a7c264969e538186f327468872d%2Flandmarks_1.gif?generation=1678874497337976&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2F82aa4c362b613e07bb20ab0b377d7e49%2Flandmarks_2.gif?generation=1678874517148729&amp;alt=media\" alt=\"\"></p>",
  "messages": [
    {
      "id": 2182784,
      "postDate": "2023-03-15T10:03:53.317Z",
      "content": "<p>Hi. I made a <a href=\"https://www.kaggle.com/code/tatamikenn/islr-eda-let-s-get-animated/notebook\" target=\"_blank\">notebook</a> to animate landmark data. Hope it helps to understand data in more intuitive way.</p>\n<p>Have fun!</p>\n<h2>Dataset</h2>\n<p><a href=\"https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs\" target=\"_blank\">ISLR: Animated 250 Sampled Signs</a></p>\n<h2>Sample animation</h2>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fb579990d060e0066c1ff151bae8832d3%2Flandmarks_0.gif?generation=1678874361243265&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fa1843a7c264969e538186f327468872d%2Flandmarks_1.gif?generation=1678874497337976&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2F82aa4c362b613e07bb20ab0b377d7e49%2Flandmarks_2.gif?generation=1678874517148729&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "Hi. I made a [notebook](https://www.kaggle.com/code/tatamikenn/islr-eda-let-s-get-animated/notebook) to animate landmark data. Hope it helps to understand data in more intuitive way.\n\nHave fun!\n\n## Dataset\n\n[ISLR: Animated 250 Sampled Signs](https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs)\n\n## Sample animation\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fb579990d060e0066c1ff151bae8832d3%2Flandmarks_0.gif?generation=1678874361243265&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fa1843a7c264969e538186f327468872d%2Flandmarks_1.gif?generation=1678874497337976&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2F82aa4c362b613e07bb20ab0b377d7e49%2Flandmarks_2.gif?generation=1678874517148729&alt=media)",
      "votes": 15
    },
    {
      "id": 2183407,
      "postDate": "2023-03-15T16:35:08.970Z",
      "content": "<p>I also published a dataset of 250 unique signed sampled from the landmark data.<br>\n(Files are same as the output of the notebook.)<br>\n<a href=\"https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs\" target=\"_blank\">https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs</a></p>",
      "rawMarkdown": "I also published a dataset of 250 unique signed sampled from the landmark data.\n(Files are same as the output of the notebook.)\nhttps://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs",
      "votes": 1
    },
    {
      "id": 2183016,
      "postDate": "2023-03-15T12:31:35.717Z",
      "content": "<p>i want animation in stable diffusion + control net!!!!</p>\n<p><a href=\"https://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/\" target=\"_blank\">https://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/</a></p>",
      "rawMarkdown": "i want animation in stable diffusion + control net!!!!\n\nhttps://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/",
      "votes": 2,
      "replies": [
        {
          "id": 2183026,
          "postDate": "2023-03-15T12:39:08.020Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 2185012,
          "postDate": "2023-03-16T18:42:21.697Z",
          "content": "<p>I managed to manipulated the following GIF. Although pose is good, the hand shape is sometimes good but sometimes far from original. I think natural pose as a photo model is easy to generate, but rare hand shape (that is not unusual in hand signs) are hard to generate due to lack of training image.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Ff67ea9ee99ea241f04c5173d9a733b78%2Fconv.gif?generation=1678991967371522&amp;alt=media\" alt=\"\"></p>",
          "rawMarkdown": "I managed to manipulated the following GIF. Although pose is good, the hand shape is sometimes good but sometimes far from original. I think natural pose as a photo model is easy to generate, but rare hand shape (that is not unusual in hand signs) are hard to generate due to lack of training image.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Ff67ea9ee99ea241f04c5173d9a733b78%2Fconv.gif?generation=1678991967371522&alt=media)",
          "votes": 2,
          "replies": [
            {
              "id": 2185112,
              "postDate": "2023-03-16T20:14:32.153Z",
              "content": "<p>\"hand signs are hard to generate due to lack of training image.</p>\n<p>apply mediapipline to back transalte image to pose.<br>\nmaybe these are good noise for training data</p>\n<hr>\n<p>i think we can modify control net to have more than one contraints :<br>\ne.g. pose + different human signer (different body, arm length)<br>\ne.g. pose + depth (different viewpoint)<br>\ne.g. pose + different framerate /keframe (i think you are ask stable diffusion to interpolate )<br>\ne.g. mix 2 pose of same class</p>",
              "rawMarkdown": "\"hand signs are hard to generate due to lack of training image.\n\napply mediapipline to back transalte image to pose.\nmaybe these are good noise for training data\n\n---\n\ni think we can modify control net to have more than one contraints :\ne.g. pose + different human signer (different body, arm length)\ne.g. pose + depth (different viewpoint)\ne.g. pose + different framerate /keframe (i think you are ask stable diffusion to interpolate )\ne.g. mix 2 pose of same class",
              "votes": 1
            },
            {
              "id": 2185314,
              "postDate": "2023-03-17T00:00:08.167Z",
              "content": "<p>Are you saying the process below?</p>\n<ul>\n<li>media pipe (of this competition data) -&gt; stable diffusion + ControlNet -&gt; media pipe (of generated image)</li>\n</ul>\n<p>It's difficult to generate a lot of data because plenty of human loop exists when generating image from stable diffusion &amp; ControlNet part (because I used WebUI).<br>\nBesides, we should care the effect of domain-shift of the back-translated landmark data of hand: it must change the meaning of hand signs if we use SD &amp; ControlNet with poor hand shape generation.</p>\n<p>However I think It's interesting idea to use the back-translated mediapipe data for external train data or interpolate missing data.</p>",
              "rawMarkdown": "Are you saying the process below?\n\n- media pipe (of this competition data) -> stable diffusion + ControlNet -> media pipe (of generated image)\n\nIt's difficult to generate a lot of data because plenty of human loop exists when generating image from stable diffusion & ControlNet part (because I used WebUI).\nBesides, we should care the effect of domain-shift of the back-translated landmark data of hand: it must change the meaning of hand signs if we use SD & ControlNet with poor hand shape generation.\n\nHowever I think It's interesting idea to use the back-translated mediapipe data for external train data or interpolate missing data."
            },
            {
              "id": 2185319,
              "postDate": "2023-03-17T00:21:37.787Z",
              "content": "<p>For augmentation, I think the following approach is more promising.</p>\n<ul>\n<li>re-construct 3D structure of hand (&amp; body) shape from 2D (+ noizy z) data</li>\n<li>apply 3D rotation, translate, scaling for that data</li>\n<li>project it to 2D</li>\n</ul>",
              "rawMarkdown": "For augmentation, I think the following approach is more promising.\n\n- re-construct 3D structure of hand (& body) shape from 2D (+ noizy z) data\n- apply 3D rotation, translate, scaling for that data\n- project it to 2D"
            }
          ]
        }
      ]
    },
    {
      "id": 2185450,
      "postDate": "2023-03-17T04:33:48.207Z",
      "content": "<p>Before animation as I'm trying to plot, the graph is inverted how do we rotate it by 180 degree</p>",
      "rawMarkdown": "Before animation as I'm trying to plot, the graph is inverted how do we rotate it by 180 degree",
      "replies": [
        {
          "id": 2185451,
          "postDate": "2023-03-17T04:35:33.733Z",
          "content": "<p>You can simply invert y axis of plot library.</p>\n<pre><code> matplotlib.pyplot  plt\n\nx = [, , , , ]\ny = [, , , , ]\n\nplt.plot(x, y)\n\nax = plt.gca()\nax.invert_yaxis()\n\nplt.show()\n</code></pre>",
          "rawMarkdown": "You can simply invert y axis of plot library.\n\n```python\nimport matplotlib.pyplot as plt\n\nx = [1, 2, 3, 4, 5]\ny = [10, 20, 30, 40, 50]\n\nplt.plot(x, y)\n\nax = plt.gca()\nax.invert_yaxis()\n\nplt.show()\n```"
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 2183407,
      "author_name": "Bilzard",
      "author_url": "",
      "post_date": "2023-03-15T16:35:08.970000",
      "content": "<p>I also published a dataset of 250 unique signed sampled from the landmark data.<br>\n(Files are same as the output of the notebook.)<br>\n<a href=\"https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs\" target=\"_blank\">https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs</a></p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2183016,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2023-03-15T12:31:35.717000",
      "content": "<p>i want animation in stable diffusion + control net!!!!</p>\n<p><a href=\"https://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/\" target=\"_blank\">https://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/</a></p>",
      "votes": 2,
      "replies": [
        {
          "id": 2183026,
          "author_name": "",
          "author_url": "",
          "post_date": "2023-03-15T12:39:08.020000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 2185012,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2023-03-16T18:42:21.697000",
          "content": "<p>I managed to manipulated the following GIF. Although pose is good, the hand shape is sometimes good but sometimes far from original. I think natural pose as a photo model is easy to generate, but rare hand shape (that is not unusual in hand signs) are hard to generate due to lack of training image.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Ff67ea9ee99ea241f04c5173d9a733b78%2Fconv.gif?generation=1678991967371522&amp;alt=media\" alt=\"\"></p>",
          "votes": 2,
          "replies": [
            {
              "id": 2185112,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2023-03-16T20:14:32.153000",
              "content": "<p>\"hand signs are hard to generate due to lack of training image.</p>\n<p>apply mediapipline to back transalte image to pose.<br>\nmaybe these are good noise for training data</p>\n<hr>\n<p>i think we can modify control net to have more than one contraints :<br>\ne.g. pose + different human signer (different body, arm length)<br>\ne.g. pose + depth (different viewpoint)<br>\ne.g. pose + different framerate /keframe (i think you are ask stable diffusion to interpolate )<br>\ne.g. mix 2 pose of same class</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2185314,
              "author_name": "Bilzard",
              "author_url": "",
              "post_date": "2023-03-17T00:00:08.167000",
              "content": "<p>Are you saying the process below?</p>\n<ul>\n<li>media pipe (of this competition data) -&gt; stable diffusion + ControlNet -&gt; media pipe (of generated image)</li>\n</ul>\n<p>It's difficult to generate a lot of data because plenty of human loop exists when generating image from stable diffusion &amp; ControlNet part (because I used WebUI).<br>\nBesides, we should care the effect of domain-shift of the back-translated landmark data of hand: it must change the meaning of hand signs if we use SD &amp; ControlNet with poor hand shape generation.</p>\n<p>However I think It's interesting idea to use the back-translated mediapipe data for external train data or interpolate missing data.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2185319,
              "author_name": "Bilzard",
              "author_url": "",
              "post_date": "2023-03-17T00:21:37.787000",
              "content": "<p>For augmentation, I think the following approach is more promising.</p>\n<ul>\n<li>re-construct 3D structure of hand (&amp; body) shape from 2D (+ noizy z) data</li>\n<li>apply 3D rotation, translate, scaling for that data</li>\n<li>project it to 2D</li>\n</ul>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2185450,
      "author_name": "Rohan Mathew",
      "author_url": "",
      "post_date": "2023-03-17T04:33:48.207000",
      "content": "<p>Before animation as I'm trying to plot, the graph is inverted how do we rotate it by 180 degree</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2185451,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2023-03-17T04:35:33.733000",
          "content": "<p>You can simply invert y axis of plot library.</p>\n<pre><code> matplotlib.pyplot  plt\n\nx = [, , , , ]\ny = [, , , , ]\n\nplt.plot(x, y)\n\nax = plt.gca()\nax.invert_yaxis()\n\nplt.show()\n</code></pre>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2182784": "Hi. I made a [notebook](https://www.kaggle.com/code/tatamikenn/islr-eda-let-s-get-animated/notebook) to animate landmark data. Hope it helps to understand data in more intuitive way.\n\nHave fun!\n\n## Dataset\n\n[ISLR: Animated 250 Sampled Signs](https://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs)\n\n## Sample animation\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fb579990d060e0066c1ff151bae8832d3%2Flandmarks_0.gif?generation=1678874361243265&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2Fa1843a7c264969e538186f327468872d%2Flandmarks_1.gif?generation=1678874497337976&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4910466%2F82aa4c362b613e07bb20ab0b377d7e49%2Flandmarks_2.gif?generation=1678874517148729&alt=media)",
    "2183407": "I also published a dataset of 250 unique signed sampled from the landmark data.\n(Files are same as the output of the notebook.)\nhttps://www.kaggle.com/datasets/tatamikenn/islr-animation-250-signs",
    "2183016": "i want animation in stable diffusion + control net!!!!\n\nhttps://www.reddit.com/r/StableDiffusion/comments/11jy7b7/controlnet_models_based_on_mediapipe_prototype/",
    "2185450": "Before animation as I'm trying to plot, the graph is inverted how do we rotate it by 180 degree"
  }
}