Skip to content

Additional ml5.js track work #1749

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6b8318c
noc party
shiffman Aug 27, 2024
ff89909
Merge branch 'main' of github.com:CodingTrain/thecodingtrain.com
shiffman Sep 1, 2024
1a9580a
Merge branch 'main' of github.com:CodingTrain/thecodingtrain.com
shiffman Sep 2, 2024
e0ca029
whoops
shiffman Oct 6, 2024
9c99454
merging some changes I never pushed
shiffman Oct 6, 2024
1a897b3
Merge branch 'main' of github.com:CodingTrain/thecodingtrain.com
shiffman Oct 6, 2024
6db3592
Merge branch 'main' of github.com:CodingTrain/thecodingtrain.com
shiffman Oct 8, 2024
a954522
add pose detection video
kfahn22 Oct 16, 2024
6f9b10b
update links, move showcase to new video, add ml5 folder to archives
kfahn22 Oct 16, 2024
c3d9b33
minor updates to description
kfahn22 Oct 16, 2024
c6e78d9
Update content/videos/ml5/7-posenet/pose-detection/index.json
shiffman Oct 16, 2024
06d50e1
Update content/videos/ml5/7-posenet/pose-detection/index.json
shiffman Oct 16, 2024
412afe5
Update content/videos/ml5/7-posenet/pose-detection/index.json
shiffman Oct 16, 2024
3512c3a
Update content/videos/ml5/7-posenet/pose-detection/index.json
shiffman Oct 16, 2024
18902e3
Update content/videos/ml5/7-posenet/pose-detection/index.json
shiffman Oct 16, 2024
51e382b
update description
shiffman Oct 16, 2024
c53d1a7
Merge branch 'ml-pose-detection' of github.com:kfahn22/thecodingtrain…
shiffman Oct 16, 2024
fe521f5
adding the ml5 playlist trailer and facemesh chapter
shiffman Oct 16, 2024
f60a3ed
renaming posenet to bodypose
shiffman Oct 16, 2024
c946b8e
posenet->bodypose
shiffman Oct 16, 2024
d75198f
Merge branch 'main' of github.com:CodingTrain/thecodingtrain.com
shiffman Oct 16, 2024
e2424c4
whoops, merge conflicts
shiffman Oct 16, 2024
89ff492
putting showcase projects back
shiffman Oct 16, 2024
6cd51ee
simplifying titles of trailer and introduction
shiffman Oct 16, 2024
b7da3e5
minor changes
shiffman Oct 16, 2024
c29dc16
adding index image
shiffman Oct 16, 2024
fcf4eb2
fix video description
shiffman Oct 17, 2024
4f9c90b
more cleanup
shiffman Oct 17, 2024
6b44285
Merge branch 'main' into ml5-track
shiffman Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ public
.DS_Store
_descriptions
.netlify
google-credentials/
google-credentials
18 changes: 9 additions & 9 deletions content/tracks/main-tracks/ml5js-beginners-guide/index.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
{
"title": "A Beginner's Guide to Machine Learning in JavaScript",
"title": "A Beginner's Guide to Machine Learning in JavaScript with ml5.js",
"date": "2018-07-31",
"playlistId": "PLRqwX-V7Uu6YPSwT06y_AEYTqIwbeam3y",
"description": "Welcome to \u201cA Beginner's Guide to Machine Learning in JavaScript\u201d! In this series, I'll teach the concepts behind machine learning using the ml5.js library.",
"chapters": [
{
"title": "Introduction",
"videos": ["ml5/0-introduction/1-introduction", "ml5/0-introduction/patt-vira"]
"videos": ["ml5/0-introduction/0-trailer", "ml5/0-introduction/1-introduction"]
},
{
"title": "Classification",
"videos": [
"ml5/1-classification/image-classification",
"ml5/1-classification/3-object-detection",
"ml5/9-doodleNet/1-doodleNet"
]
"videos": ["ml5/1-classification/image-classification", "ml5/1-classification/3-object-detection", "ml5/9-doodleNet/1-doodleNet"]
},
{
"title": "Transfer Learning",
Expand Down Expand Up @@ -46,8 +42,12 @@
]
},
{
"title": "PoseNet",
"videos": ["ml5/7-posenet/pose-detection", "ml5/7-posenet/2-pose-classifier", "ml5/7-posenet/3-pose-regression"]
"title": "BodyPose",
"videos": ["ml5/7-bodypose/pose-detection", "ml5/7-bodypose/2-pose-classifier", "ml5/7-bodypose/3-pose-regression"]
},
{
"title": "FaceMesh",
"videos": ["ml5/0-introduction/patt-vira"]
},
{
"title": "Convolutional Neural Network",
Expand Down
45 changes: 45 additions & 0 deletions content/videos/ml5/0-introduction/0-trailer/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"title": "Trailer",
"description": "This playlist provides an introduction to developing creative coding projects with machine learning. The theory and application of machine learning algorithms is demonstrated in JavaScript using the p5.js and ml5.js libraries.\n\nLearning Objectives:\n\nDevelop an intuition for and high level understanding of core machine learning concepts and algorithms, including supervised learning, unsupervised learning, reinforcement learning, transfer learning, classification, and regression.\n\nBe able to apply machine learning algorithms to real-time interaction in media art projects using pre-trained models and “transfer learning” in JavaScript and related tools.\n\nLearn how to collect a custom dataset to train a machine learning model and Understand how to use a machine learning model to generate media: words, sound, and images.",
"videoNumber": "0.0",
"videoId": "26uABexmOX4",
"date": "2022-03-03",
"languages": ["p5.js", "ml5.js"],
"topics": ["machine learning (ML)", "ml5.js"],
"canContribute": true,
"timestamps": [],
"groupLinks": [
{
"title": "References",
"links": [
{
"icon": "💻",
"title": "ml5.js",
"url": "https://ml5js.org/",
"description": "Reference material for the ml5 library."
},
{
"icon": "📕",
"title": "Intelligence and Learning Class",
"url": "https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning/tree/master/week3-classification-regression",
"description": "Nature of Code github page with resources about intelligence learning"
}
]
},
{
"title": "Videos",
"links": [
{
"icon": "🚂",
"title": "Code! Programming with p5.js",
"url": "https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA",
"description": "Learn all the basics of code (variables, conditionals, loops, objects, arrays) in JavaScript with p5.js!."
}
]
}
],
"credits": [
{ "title": "Editing", "name": "Mathieu Blanchette" },
{ "title": "Animations", "name": "Jason Heglund" }
]
}
8 changes: 4 additions & 4 deletions content/videos/ml5/0-introduction/1-introduction/index.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"title": "A Beginner's Guide to Machine Learning with ml5.js",
"title": "Introduction",
"description": "Welcome to \"A Beginner's Guide to Machine Learning in JavaScript\"! In this series, I'll teach the concepts behind machine learning using the ml5.js library.",
"videoNumber": "0.1",
"videoId": "jmznx0Q1fP0",
Expand All @@ -10,14 +10,14 @@
"timestamps": [
{ "time": "0:00", "title": "Introduction" },
{ "time": "2:00", "title": "What is machine learning?" },
{ "time": "6:00", "title": "What is ML5?" },
{ "time": "6:00", "title": "What is ml5.js?" },
{ "time": "11:45", "title": "Tensorflow" },
{
"time": "14:30",
"title": "Neural networks, pretrained models, and data sets"
},
{ "time": "16:50", "title": "MobilNet" },
{ "time": "18:06", "title": "ML5.org" },
{ "time": "16:50", "title": "MobileNet" },
{ "time": "18:06", "title": "The ml5.js website" },
{ "time": "20:34", "title": "Attributions" }
],
"groupLinks": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
{
"icon": "🚂",
"title": "Pose Estimation with PoseNet",
"url": "/tracks/ml5js-beginners-guide/ml5/7-posenet/pose-detection",
"url": "/tracks/ml5js-beginners-guide/ml5/7-bodypose/pose-detection",
"description": "In this video I cover pose estimation: finding the keypoints of person's pose and skeleton using the pre-trained machine learning model PoseNet."
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@
"links": [
{
"icon": "🚂",
"title": "ml5.js Pose Estimation with PoseNet",
"url": "/tracks/ml5js-beginners-guide/ml5/7-posenet/pose-detection",
"description": "In this video I cover pose estimation: finding the keypoints of person's pose and skeleton using the pre-trained machine learning model PoseNet (in JavaScript with p5.js and ml5.js)."
"title": "ml5.js Pose Estimation",
"url": "/tracks/ml5js-beginners-guide/ml5/7-bodypose/pose-detection",
"description": "In this video I cover pose estimation: finding the keypoints of person's pose and skeleton using BodyPose (in JavaScript with p5.js and ml5.js)."
},
{
"icon": "🚂",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@
"links": [
{
"icon": "🚂",
"title": "ml5.js Pose Estimation with PoseNet",
"url": "/tracks/ml5js-beginners-guide/ml5/7-posenet/pose-detection",
"description": "In this video I cover pose estimation: finding the keypoints of person's pose and skeleton using the pre-trained machine learning model PoseNet (in JavaScript with p5.js and ml5.js)."
"title": "ml5.js Pose Estimation",
"url": "/tracks/ml5js-beginners-guide/ml5/7-bodypose/pose-detection",
"description": "In this video I cover pose estimation: finding the keypoints of person's pose and skeleton using BodyPose (in JavaScript with p5.js and ml5.js)."
},
{
"icon": "🚂",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@
"title": "Pose Detection",
"description": "Strike a pose! In this video, I explore the BodyPose model in ml5.js with MoveNet and BlazePose, showing how to track body keypoints and visualize 'skeleton' connections using live video.",
"videoId": "T99fNXTUUaQ",
"nebulaSlug": "codingtrain-pose-detection-with-ml5js",
"date": "2024-10-16",
"languages": ["ml5.js", "JavaScript"],
"topics": ["machine learning (ML)", "webcam", "pose detection", "ml5.js", "MoveNet", "BlazePose"],
"canContribute": true,
"timestamps": [
{ "time": "0:00", "title": "Introduction" },
{ "time": "0:45", "title": "BodyPose model" },
{ "time": "0:45", "title": "What is the BodyPose model?" },
{ "time": "3:28", "title": "Coco Dataset" },
{ "time": "4:04", "title": "Projects that use pose detection" },
{ "time": "4:04", "title": "Creative Inspiration" },
{ "time": "5:49", "title": "Start coding" },
{ "time": "8:58", "title": "Keypoint index values" },
{ "time": "15:39", "title": "Connections between the keypoints" },
{ "time": "17:57", "title": "Adding p5.distance()" },
{ "time": "8:58", "title": "Working with specific keypoints" },
{ "time": "15:39", "title": "Skeleton connections between the keypoints" },
{ "time": "17:57", "title": "Using dist() function" },
{ "time": "19:39", "title": "BlazePose" },
{ "time": "20:56", "title": "Outro" }
],
Expand Down Expand Up @@ -68,9 +69,9 @@
},
{
"icon": "🏫",
"title": "Introduction to Machine Learning for the Arts",
"title": "Introduction to ML for the Arts",
"url": "https://github.com/ml5js/Intro-ML-Arts-IMA-F24",
"description": "Syllabus for ITP IMA course on Machine Learning."
"description": "Syllabus for ITP IMA course on Machine Learning for the Arts."
},
{
"icon": "💻",
Expand All @@ -86,15 +87,15 @@
},
{
"icon": "💻",
"title": "Next-Generation Pose Detection with MoveNet and TensorFlow.js",
"title": "Next-Generation Pose Detection",
"url": "https://blog.tensorflow.org/2021/05/next-generation-pose-detection-with-movenet-and-tensorflowjs.html",
"description": "Blog post by Ronny Votel and Na Li introducing MoveNet."
"description": "Post about MoveNet and TensorFlow.js by Ronny Votel and Na Li."
},
{
"icon": "📄",
"title": "BlazePose: On-device Real-time Body Pose tracking",
"title": "BlazePose Paper",
"url": "https://arxiv.org/pdf/2006.10204",
"description": "Academic paper introducing the BlazePose model."
"description": "On-device Real-time Body Pose tracking."
},
{
"icon": "💃",
Expand All @@ -115,9 +116,9 @@
"links": [
{
"icon": "🎥",
"title": "Processing / p5.js Tutorial: What is lerp? (Linear Interpolation)",
"title": "What is lerp? (Linear Interpolation)",
"url": "https://www.youtube.com/watch?v=8uLVnM36XUc",
"description": "My tutorial on the lerp function."
"description": "Demonstrates lerp() in Processing and p5.js"
}
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
{
"icon": "🚂",
"title": "Pose Regression with PoseNet and ml5.neuralNetwork()",
"url": "/tracks/ml5js-beginners-guide/ml5/7-posenet/3-pose-regression",
"url": "/tracks/ml5js-beginners-guide/ml5/7-bodypose/3-pose-regression",
"description": "This tutorial builds on the previous video combining PoseNet and ml5.neuralNetwork(). Once again, the output of the pre-trained model (the \"pose\" itself) is the input to an ml5.js neural network. However, this time the final output is a regression (3 continuous values) instead of classification."
}
]
Expand Down
2 changes: 1 addition & 1 deletion static/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
/2d-array /tracks/p5-tips-and-tricks/more-p5/2d-arrays 302!
/quadtree /challenges/98-quadtree 302!
/neural-network /tracks/neural-networks 302!
/pose-classifier /tracks/ml5js-beginners-guide/ml5/7-posenet/2-pose-classifier 302!
/pose-classifier /tracks/ml5js-beginners-guide/ml5/7-bodypose/2-pose-classifier 302!
/raycasting /challenges/145-ray-casting-2d 302!
/p5js /tracks/code-programming-with-p5-js 302!
/processing /tracks/learning-processing 302!
Expand Down
Loading