From 579a78b6e32532b26e5a68333aef1d57d04abba1 Mon Sep 17 00:00:00 2001 From: Kathy <65121394+kfahn22@users.noreply.github.com> Date: Sat, 30 Nov 2024 17:48:54 -0500 Subject: [PATCH 1/6] add blazePose video --- .../ml5/7-bodypose/blazePose/images/image.jpg | Bin 0 -> 29395 bytes .../ml5/7-bodypose/blazePose/index.json | 71 ++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 content/videos/ml5/7-bodypose/blazePose/images/image.jpg create mode 100644 content/videos/ml5/7-bodypose/blazePose/index.json diff --git a/content/videos/ml5/7-bodypose/blazePose/images/image.jpg b/content/videos/ml5/7-bodypose/blazePose/images/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db7584a7ba380afa625f6e3c9fab3ef12ef382c4 GIT binary patch literal 29395 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 literal 0 HcmV?d00001 diff --git a/content/videos/ml5/7-bodypose/blazePose/index.json b/content/videos/ml5/7-bodypose/blazePose/index.json new file mode 100644 index 000000000..a271b2b58 --- /dev/null +++ b/content/videos/ml5/7-bodypose/blazePose/index.json @@ -0,0 +1,71 @@ +{ + "title": "3D Pose Estimation with ml5.js", + "description": "Strike a pose! In this video, I exsubstitute the Movenet model to BlazePose, showing how to track body keypoints and visualize 'skeleton' connections using recorded video.", + "videoId": "", + "nebulaSlug": "", + "date": "2024-12-2", + "languages": ["ml5.js", "JavaScript"], + "topics": ["machine learning (ML)", "webcam", "pose detection", "ml5.js", "MoveNet", "BlazePose"], + "canContribute": true, + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "2:00", "title": "Change to the BlazePose model" }, + { "time": "2:37", "title": "x, y, z values are real world measurements" }, + { "time": "4:30", "title": "Replace live camera feed with recorded video" }, + { "time": "5:49", "title": "Render using p5 WEBGL renderer" }, + { "time": "7:48", "title": "Use scale() to expand range of x, y, z values" }, + { "time": "9:00", "title": "Add floor" }, + { "time": "9:58", "title": "Rotate scene" }, + { "time": "11:24", "title": "Use orbitControl() to rotate scene" }, + { "time": "12:22", "title": "Translate to point" }, + { "time": "13:42", "title": "Outro" } + ], + "codeExamples": [ + { + "title": "BlazePose Lerp", + "description": "Sketch demonstrating use of BlazePose model with lerp smoothing.", + "image": "image.jpg", + "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/JMhDRpcxi_" } + } + ], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "💻", + "title": "ml5.js", + "url": "https://ml5js.org/", + "description": "ml5 page with documentation and supporting material." + }, + { + "icon": "📄", + "title": "BlazePose Paper", + "url": "https://arxiv.org/pdf/2006.10204", + "description": "On-device Real-time Body Pose tracking." + } + ] + }, + { + "title": "Videos", + "links": [ + { + "icon": "🚂", + "title": "Custom Shapes", + "url": "tracks/more-p5/custom-shapes", + "description": "In this video, I look at how to draw \"custom\" shapes in p5.js, using, `beginShape()`, `endShape()`, `vertex()` and `curveVertex()." + }, + { + "icon": "🚂", + "title": "Translate, Rotate, Push/Pop", + "url": "tracks/transformations/translate-rotate-push-pop", + "description": "In this video I cover the functions translate(), rotate(), push() and pop()." + } + ] + } + ], + "credits": [ + { "title": "Editing", "name": "Mathieu Blanchette" }, + { "title": "Animations", "name": "Jason Heglund" } + ] +} From 073ec260284201856d911a69373c4f470a452f51 Mon Sep 17 00:00:00 2001 From: Kathy <65121394+kfahn22@users.noreply.github.com> Date: Sat, 30 Nov 2024 18:01:12 -0500 Subject: [PATCH 2/6] fix links --- content/videos/ml5/7-bodypose/blazePose/index.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/videos/ml5/7-bodypose/blazePose/index.json b/content/videos/ml5/7-bodypose/blazePose/index.json index a271b2b58..d03c0e0c2 100644 --- a/content/videos/ml5/7-bodypose/blazePose/index.json +++ b/content/videos/ml5/7-bodypose/blazePose/index.json @@ -52,13 +52,13 @@ { "icon": "🚂", "title": "Custom Shapes", - "url": "tracks/more-p5/custom-shapes", + "url": "/tracks/p5-tips-and-tricks/more-p5/custom-shapes", "description": "In this video, I look at how to draw \"custom\" shapes in p5.js, using, `beginShape()`, `endShape()`, `vertex()` and `curveVertex()." }, { "icon": "🚂", "title": "Translate, Rotate, Push/Pop", - "url": "tracks/transformations/translate-rotate-push-pop", + "url": "/tracks/transformations-in-p5/transformations/translate-rotate-push-pop", "description": "In this video I cover the functions translate(), rotate(), push() and pop()." } ] @@ -68,4 +68,4 @@ { "title": "Editing", "name": "Mathieu Blanchette" }, { "title": "Animations", "name": "Jason Heglund" } ] -} +} \ No newline at end of file From 8deb926b341be80cf9da15c45500964d75488f30 Mon Sep 17 00:00:00 2001 From: Kathy <65121394+kfahn22@users.noreply.github.com> Date: Sat, 30 Nov 2024 18:02:51 -0500 Subject: [PATCH 3/6] Update index.json --- content/videos/ml5/7-bodypose/blazePose/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/videos/ml5/7-bodypose/blazePose/index.json b/content/videos/ml5/7-bodypose/blazePose/index.json index d03c0e0c2..fd4bb4ea0 100644 --- a/content/videos/ml5/7-bodypose/blazePose/index.json +++ b/content/videos/ml5/7-bodypose/blazePose/index.json @@ -3,7 +3,7 @@ "description": "Strike a pose! In this video, I exsubstitute the Movenet model to BlazePose, showing how to track body keypoints and visualize 'skeleton' connections using recorded video.", "videoId": "", "nebulaSlug": "", - "date": "2024-12-2", + "date": "2024-12-1", "languages": ["ml5.js", "JavaScript"], "topics": ["machine learning (ML)", "webcam", "pose detection", "ml5.js", "MoveNet", "BlazePose"], "canContribute": true, From 81ae9b97e2e64ee4f177f37b0dc836074f64ca37 Mon Sep 17 00:00:00 2001 From: Kathy <65121394+kfahn22@users.noreply.github.com> Date: Sat, 30 Nov 2024 18:08:54 -0500 Subject: [PATCH 4/6] Update index.json --- content/tracks/main-tracks/ml5js-beginners-guide/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tracks/main-tracks/ml5js-beginners-guide/index.json b/content/tracks/main-tracks/ml5js-beginners-guide/index.json index 9d0d6f92d..f98c698dc 100644 --- a/content/tracks/main-tracks/ml5js-beginners-guide/index.json +++ b/content/tracks/main-tracks/ml5js-beginners-guide/index.json @@ -34,7 +34,7 @@ }, { "title": "Landmark Detection", - "videos": ["ml5/7-bodypose/pose-detection", "ml5/hand-pose", "ml5/facemesh", "ml5/0-introduction/patt-vira"] + "videos": ["ml5/7-bodypose/pose-detection", "ml5/7-bodypose/blazePose", "ml5/hand-pose", "ml5/facemesh", "ml5/0-introduction/patt-vira"] }, { "title": "Train Your Own Neural Network", From 319c10d2831336f8bc6b988eebe0fce50550731c Mon Sep 17 00:00:00 2001 From: Kathy <65121394+kfahn22@users.noreply.github.com> Date: Sat, 30 Nov 2024 18:13:29 -0500 Subject: [PATCH 5/6] Update index.json --- content/videos/ml5/7-bodypose/blazePose/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/videos/ml5/7-bodypose/blazePose/index.json b/content/videos/ml5/7-bodypose/blazePose/index.json index fd4bb4ea0..81b875c21 100644 --- a/content/videos/ml5/7-bodypose/blazePose/index.json +++ b/content/videos/ml5/7-bodypose/blazePose/index.json @@ -1,6 +1,6 @@ { "title": "3D Pose Estimation with ml5.js", - "description": "Strike a pose! In this video, I exsubstitute the Movenet model to BlazePose, showing how to track body keypoints and visualize 'skeleton' connections using recorded video.", + "description": "In this video, I substitute the MoveNet model with the BlazePose model, showing how to track #D body keypoints and visualize 'skeleton' connections using recorded video.", "videoId": "", "nebulaSlug": "", "date": "2024-12-1", From cc6f534ae49abd42bac58e3406240e683bcd45a1 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 1 Dec 2024 11:02:38 -0500 Subject: [PATCH 6/6] finalizing webpage for blazepose video --- .../7-bodypose/blazePose/images/blazepose.png | Bin 0 -> 31637 bytes .../blazePose/images/blazepose_lerp.png | Bin 0 -> 13243 bytes .../ml5/7-bodypose/blazePose/images/image.jpg | Bin 29395 -> 0 bytes .../ml5/7-bodypose/blazePose/index.json | 82 +++++++++++------- 4 files changed, 53 insertions(+), 29 deletions(-) create mode 100644 content/videos/ml5/7-bodypose/blazePose/images/blazepose.png create mode 100644 content/videos/ml5/7-bodypose/blazePose/images/blazepose_lerp.png delete mode 100644 content/videos/ml5/7-bodypose/blazePose/images/image.jpg diff --git a/content/videos/ml5/7-bodypose/blazePose/images/blazepose.png b/content/videos/ml5/7-bodypose/blazePose/images/blazepose.png new file mode 100644 index 0000000000000000000000000000000000000000..855b5b1a12061285ddc84f0d45b62aedbd58a512 GIT binary patch literal 31637 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

WrST)JHLf?l?|S-PUO`Jnt;*FC!Y}g?)T!NK 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 R*sGnN$Ve!Pe-ktC`#KS4as62*~f>lY2-& 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 diff --git a/content/videos/ml5/7-bodypose/blazePose/index.json b/content/videos/ml5/7-bodypose/blazePose/index.json index 81b875c21..c3c352e91 100644 --- a/content/videos/ml5/7-bodypose/blazePose/index.json +++ b/content/videos/ml5/7-bodypose/blazePose/index.json @@ -1,30 +1,36 @@ { "title": "3D Pose Estimation with ml5.js", - "description": "In this video, I substitute the MoveNet model with the BlazePose model, showing how to track #D body keypoints and visualize 'skeleton' connections using recorded video.", - "videoId": "", - "nebulaSlug": "", - "date": "2024-12-1", + "description": "Building on BodyPose in ml5.js, this video explores the 3D capabilities of the BlazePose model, visualizing poses in a 3D space using WEBGL in p5.js.", + "videoId": "IF414I26_K8", + "nebulaSlug": "codingtrain-3d-pose-estimation-with-ml5js", + "date": "2024-12-01", "languages": ["ml5.js", "JavaScript"], "topics": ["machine learning (ML)", "webcam", "pose detection", "ml5.js", "MoveNet", "BlazePose"], "canContribute": true, "timestamps": [ { "time": "0:00", "title": "Introduction" }, - { "time": "2:00", "title": "Change to the BlazePose model" }, - { "time": "2:37", "title": "x, y, z values are real world measurements" }, - { "time": "4:30", "title": "Replace live camera feed with recorded video" }, - { "time": "5:49", "title": "Render using p5 WEBGL renderer" }, - { "time": "7:48", "title": "Use scale() to expand range of x, y, z values" }, - { "time": "9:00", "title": "Add floor" }, - { "time": "9:58", "title": "Rotate scene" }, - { "time": "11:24", "title": "Use orbitControl() to rotate scene" }, - { "time": "12:22", "title": "Translate to point" }, - { "time": "13:42", "title": "Outro" } + { "time": "2:00", "title": "Incorporating BlazePose model" }, + { "time": "2:37", "title": "What are the xyz values?" }, + { "time": "4:30", "title": "Replace live camera with recorded video." }, + { "time": "5:49", "title": "Render with p5.js WEBGL" }, + { "time": "7:48", "title": "Use scale() to expand range of xyz values" }, + { "time": "9:00", "title": "Creating 3D scene" }, + { "time": "9:58", "title": "Rotating scene." }, + { "time": "11:24", "title": "Using orbitControl()" }, + { "time": "12:22", "title": "Using 3D shapes" }, + { "time": "13:42", "title": "Goodbye!" } ], "codeExamples": [ + { + "title": "BlazePose 3D", + "description": "Sketch demonstrating use of BlazePose model with 3D keypoints.", + "image": "blazepose.png", + "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/ftALPDieT" } + }, { "title": "BlazePose Lerp", - "description": "Sketch demonstrating use of BlazePose model with lerp smoothing.", - "image": "image.jpg", + "description": "Sketch demonstrating linear interpolation of 3D keypoints.", + "image": "blazepose_lerp.png", "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/JMhDRpcxi_" } } ], @@ -34,33 +40,51 @@ "links": [ { "icon": "💻", - "title": "ml5.js", - "url": "https://ml5js.org/", - "description": "ml5 page with documentation and supporting material." + "title": "ml5.js: BodyPose", + "url": "https://docs.ml5js.org/#/reference/bodypose", + "description": "ml5.js documentation on BodyPose models." + }, + { + "icon": "📄", + "title": "On-device, Real-time Body Pose Tracking with MediaPipe BlazePose", + "url": "https://research.google/blog/on-device-real-time-body-pose-tracking-with-mediapipe-blazepose/", + "description": "Google Research blog post on the BlazePose model." + }, + { + "icon": "📄", + "title": "3D Pose Detection with MediaPipe BlazePose GHUM and TensorFlow.js", + "url": "https://blog.tensorflow.org/2021/08/3d-pose-detection-with-mediapipe-blazepose-ghum-tfjs.html", + "description": "TensorFlow blog post on the BlazePose GHUM model." }, { "icon": "📄", - "title": "BlazePose Paper", - "url": "https://arxiv.org/pdf/2006.10204", - "description": "On-device Real-time Body Pose tracking." + "title": "BlazePose GHUM Holistic:", + "url": "https://arxiv.org/pdf/2206.11678", + "description": "Research paper covering real-time 3D human landmarks and pose estimation." } ] }, { "title": "Videos", "links": [ + { + "icon": "🚂", + "title": "ml5.js Pose Estimation", + "url": "/tracks/ml5js-beginners-guide/ml5/7-bodypose/pose-detection", + "description": "Previous video covering BodyPose in ml5.js focusing on the MoveNet model." + }, { "icon": "🚂", "title": "Custom Shapes", "url": "/tracks/p5-tips-and-tricks/more-p5/custom-shapes", "description": "In this video, I look at how to draw \"custom\" shapes in p5.js, using, `beginShape()`, `endShape()`, `vertex()` and `curveVertex()." }, - { - "icon": "🚂", - "title": "Translate, Rotate, Push/Pop", - "url": "/tracks/transformations-in-p5/transformations/translate-rotate-push-pop", - "description": "In this video I cover the functions translate(), rotate(), push() and pop()." - } + { + "icon": "🚂", + "title": "Translate, Rotate, Push/Pop", + "url": "/tracks/transformations-in-p5/transformations/translate-rotate-push-pop", + "description": "In this video I cover the functions translate(), rotate(), push() and pop()." + } ] } ], @@ -68,4 +92,4 @@ { "title": "Editing", "name": "Mathieu Blanchette" }, { "title": "Animations", "name": "Jason Heglund" } ] -} \ No newline at end of file +}