ml5.js: Pose Classification with PoseNet and ml5.neuralNetwork()

Поділитися
Вставка
  • Опубліковано 20 сер 2024

КОМЕНТАРІ • 116

  • @Victor-jz5xu
    @Victor-jz5xu 4 роки тому +80

    21:24 "What? This actually works??" This is the title of my life as a programmer.

  • @AntonPanchishin
    @AntonPanchishin 4 роки тому +15

    What's amazing is that the tools for doing stuff like this were only created a few years ago, and more amazing is The Coding Train covering it in super approachable and fun videos :D

  • @Amr-Ibrahim-AI
    @Amr-Ibrahim-AI 4 роки тому +3

    Dan! That was amazing. Thank you for your comprehensive videos that are encapsulated in your lovely spirit.

  • @franksonjohnson
    @franksonjohnson 4 роки тому +4

    So hyped that you used YMCA! I literally just used that with Teachable Machine to show my mom why I was so excited about machine learning when I was home for christmas.

  • @debrain1647
    @debrain1647 3 роки тому

    My name is David From Nigeria, Honestly you have Trained me so far so well ...thanks alot ..I can easily communicate with Hardware Machines using Ml5.js and Microcontroller wifi over the internet. Sometimes i wonder if you sleep at all ! 🤔 Do you ?
    I Love your Works sir ,you are just a human God 💓

  • @leonardolins70
    @leonardolins70 4 роки тому +1

    The best video I watched this year!!!! Congrats for the channel!!

  • @poojayu9100
    @poojayu9100 3 роки тому

    Sir plz take this project to the next level(connect the project to the front end) ... And explain us sir.... Sir please sir we need to now more so please do this... Your teaching is OSM sir.....

  • @windigo000
    @windigo000 4 роки тому +6

    i wish i had these visits from my future past to fix me blunders :D

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    This one was amazing to me, it was maybe one of my favorite moments, i've put a few of these together, and the toy neural network, but the target vs label, and what it's really doing were still a mistery, until i started mixing this challenges output json up, xD lollol with no labels, then adding them by mistake, that it really is just, getting it separated into those labels, targets, and outputs.

  • @rojanbasnet3770
    @rojanbasnet3770 4 роки тому +3

    brain.data.normalize() is not working and brain.normalizeData() is not working either /// Error: Error in oneHot: depth must be >=2, but it is 1

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    on the day that Dan actually dies, what may be strange and remarkable to some on how it happened may not be so strange and remarkable to others , and he probably will be remembered by many . actually dancing to ymca that was the saddest ending to a video yet, didn't see that coming

  • @jakubmichalenko7990
    @jakubmichalenko7990 4 роки тому +9

    10:40 I thought that he is making ad for SHADOW RAID LEGEND GAMERR!!!!

  • @tamfinlay
    @tamfinlay 4 роки тому +1

    @3:10 "It doesn't have an ear" It actually does! leftEar and rightEar :)

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    I have always wanted to do that, and just a webcam this has got be be the coolest version yet . kinect camera and greeen dots is where my dreams of that one left off xD lol

  • @Skyhawk619
    @Skyhawk619 4 роки тому +7

    How do I use JPEG images as the training data instead of using webcam footage?

  • @julianbullmagic
    @julianbullmagic 3 роки тому

    This channel is awesome

  • @joesmith9330
    @joesmith9330 4 роки тому +1

    I LIKE THIS DAN .

  • @julian.kollataj
    @julian.kollataj 3 роки тому

    Thank you! :D Love this!

  • @karuhunc
    @karuhunc 4 роки тому

    Wow..you is the legend programer😆

  • @kiljeaden767
    @kiljeaden767 4 роки тому +2

    Excellent video, however i would really like to know what is the music when the video is fast forwarded please

  • @paramaggarwal
    @paramaggarwal 4 роки тому

    This was very useful.

  • @ozguozkan9342
    @ozguozkan9342 2 роки тому +3

    Hi, thanks for this amazing code and this amazing teaching, but i have a question i get an Error which says 'ReferenceError: y is not defined' i get this error both when i am writing it on my own and getting the code from your git. How can i solve this problem? and again thank you for making such an amazing job as teaching.

  • @enivaldobonelli
    @enivaldobonelli 4 роки тому +14

    You can say that again: let Brain!

  • @user-oh9cm3mi5j
    @user-oh9cm3mi5j 9 місяців тому

    Hello Sir Thanks for the Amazing Video, Had a small doubt is it somehow possible to change the model at run time like loading with different model. Like Having Multiple Models and for each specific case need new model Please Guide

  • @beautysecret2339
    @beautysecret2339 4 роки тому

    You are My hero

  • @SGNewWay
    @SGNewWay 2 роки тому +1

    hello, a have this error, Error: Error: Error in oneHot: depth must be >=2, but it is 1. in Pose Classifier - Model Training . I try train 5 letters

    • @ashleyherr
      @ashleyherr Рік тому

      did you ever work this out? im having the same issue

  • @eldanarashura3011
    @eldanarashura3011 3 роки тому

    you could capture random motion labelling them unknown and adding them into your set. Upon unknown detection you could then print nothing. kudos though

  • @nikal7884
    @nikal7884 9 місяців тому

    Thank you for the video! It's great!
    I just do not get how you implement that when pressing the Y key you are collecting? When I press the Y key nothing happens :D
    Does anyone have an idea what I do wrong?
    thx

    • @FriziWoti
      @FriziWoti 8 місяців тому

      decrease the delays to 1000 and if you are getting reference error: dont write into the console. just click somewhere else on the screen and press a key

  • @azyfloof
    @azyfloof 4 роки тому +7

    Young man, there's no need to feel down
    I said, young man, I'm sure your coding looks sound
    I said, young man, you can make it profound
    If you re-factor it later

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    Brutal

  • @davidpilnik6502
    @davidpilnik6502 4 роки тому

    even when you didnt make a letter, i.e your hands our down, still there is a prediction letter, and it have a big confidence, but it actually not close, there is a way to read the real probabity and to do not show cases like this?
    Thanks!

  • @animalsvibes4565
    @animalsvibes4565 2 роки тому

    Awesome tutorial sir, but anybody knows how to put this p5.js ml5mjs to normal php website or a framework website like codeigniter or laravel?

  • @Ninjacowxtpj
    @Ninjacowxtpj 3 роки тому +1

    When I try to use my saved Data, Error shows up - saying : "Uncaught TypeError: Cannot read property 'split' of undefined". It is something with JSON file :S please, HELP!

  • @cheezcola
    @cheezcola 4 роки тому +1

    Anyone else running into issues with saving the json with the brain.saveData()? doesn't seem to work on chrome/windows
    Seems like chrome is now blocking these downloads in the web editor. Gotta find a workaround :)

    • @brytlao
      @brytlao 4 роки тому +1

      I have the same problem. brain.saveData() does nothing for me. Did you manage to find a workaround?

    • @ricksmith261
      @ricksmith261 4 роки тому

      I am having the same issue

    • @brytlao
      @brytlao 4 роки тому

      @@ricksmith261 We brought this up with the folks at p5js. They actually fixed the code in github, but it still seems to be not working. As a workaround, I open it in presentation mode (File->Share->Present).
      You can check the github thread here:
      github.com/processing/p5.js-web-editor/issues/1443

    • @brytlao
      @brytlao 4 роки тому

      good news! they fixed it :D
      github.com/processing/p5.js-web-editor/issues/1443

  • @Shivamu98
    @Shivamu98 4 роки тому +2

    When training with teachable machines, the bin size increases and goes beyond 5.6 MB and the max upload size on p5 web editor is 5 MB. How do I resolve this issue?

    • @parikshitrajput1884
      @parikshitrajput1884 3 роки тому +1

      Try clicking on the video which is displayed in the preview and then press any key to start collecting.
      It worked for me.

    • @Shivamu98
      @Shivamu98 3 роки тому

      @@parikshitrajput1884 I'm asking abt the situation when I'm uploading on p5 web editor, the trained data

    • @antonv13
      @antonv13 Рік тому

      @@Shivamu98 and 2 year later, did you solve this?

  • @maliksafwan17
    @maliksafwan17 Рік тому

    great video. I have a slight problem in recognizing the poses. My problem is that when it shows Y on the screen, if I do the pose Y it wont work, but if I do for example A it works. So on screen it shows Y buts its actually checking for A. How can I fix this?

  • @dominiksmeda7203
    @dominiksmeda7203 4 роки тому

    How cool is this

  • @ARVINDKUMAR-cp1vt
    @ARVINDKUMAR-cp1vt 3 роки тому

    i try the same code for collecting data for my pose but it dosent work ...it download json file with this ...{"data":[]}. there is no pose data .

  • @michalbarski8515
    @michalbarski8515 4 роки тому

    hi ! great video, but i have a problem with the results[0].confidence it always prints NaN how can i fix it ?

  • @bryanphang5686
    @bryanphang5686 4 роки тому

    Thanks for the awesome video! I having getting NaN when I try to print the confidence score under gotResult and hence I can't get the alphabet to change. Any idea what I can do to get a value or why am I getting NaN? Thank you!

  • @YilmazDurmaz
    @YilmazDurmaz 4 роки тому

    A and M goes similar, Why?
    because PoseNet does not give data for fingers :) for both A and M , you have same shoulder-elbow-wrist movement where A is slightly higher than M.
    so is there a solution one might ask: PoseNet should be programmed to extract also fingers' position.

  • @ahmadjaber6865
    @ahmadjaber6865 3 роки тому

    What is the compiler you are using, please??

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    i have no idea why this worked either after this paste job

  • @felixbruggemann4438
    @felixbruggemann4438 4 роки тому

    you now have covered how to estimate a pose in an neuralnetwork with the outputs of posenet, but its all static. Can u cover how to detect sth like a waving hand or someone running or walking based on the speed. Would be great!

  • @meluwu
    @meluwu 3 роки тому

    Dear Sir, the code is great when I try it on notebook but when I try to train my poses data and using iphone and ipad with chrome to open the web page. It crash. And I try to saw your example part 1 is good, but part 2 (about load model ) was crash too. Did ml5.js don't support mobile device to load model ??

  • @tipsstudio9707
    @tipsstudio9707 4 роки тому

    can you explain signlepost?? because i want to build a model in which i can give single image as input... i tried a lot but can't get solution also i tried your solution on github but did not work.. can you?

  • @lookinghouseco
    @lookinghouseco 4 роки тому +1

    Hi Daniel, Thanks so much for this!! If I want to get the labels from the Teachable Machine pose estimation instead of creating an ml5 neural network, is there a way I can do that?

  • @juniorcastanedagarcia6078
    @juniorcastanedagarcia6078 4 роки тому

    Amigo como le haces con la misma cámara del computador te hace la simulación?

  • @TheSaintsVEVO
    @TheSaintsVEVO 4 роки тому +1

    Once you have a setTimeOut()-shaped hammer, every problem looks like a nail. 😂

  • @agratapatel1
    @agratapatel1 4 роки тому

    Hi hi, is there anything for hand movements instead of poses?

  • @maciejwojcik7226
    @maciejwojcik7226 4 роки тому

    Is it possible to use trained posenet model for pose estimation in for instance in C++ ?

  • @kumar_sham
    @kumar_sham 4 роки тому

    nice

  • @gururajmoger8649
    @gururajmoger8649 4 роки тому

    Pls so long live tutorial on typescript promise and service for all methods with some apis..

  • @Randomness960TVX
    @Randomness960TVX 3 роки тому

    Hi all, i have an issue with posenet with ml5 and p5. There is a preloaded function that permit to export the keypoints ? How can i export the keypoints to JSON or CSV files?

    • @KodewithKomalP
      @KodewithKomalP 2 роки тому

      Did you get the solution of exporting JSON and bin files?

  • @nikitauikey9949
    @nikitauikey9949 3 роки тому

    Can we check the accuracy, throughput of the model?
    If yes, then HOW?

    • @itsabi2205
      @itsabi2205 Рік тому

      Hi! I was also trying to figure out the same. If you've got a solution for it, could you please share?

  • @muhammadafiqsyazwan8734
    @muhammadafiqsyazwan8734 2 роки тому

    You use phyton ?

  • @Potato-rv5yu
    @Potato-rv5yu 2 роки тому

    Hi I have a question, I want to put these things into django but it shows Not Found: /catalog/projects/model.weights.bin
    how can i fix it please

  • @joesmith9330
    @joesmith9330 4 роки тому

    SO Y MEANS ALL THE MOTORS IN THE ROBOT GO TO THEIR Y POSITION . SO COPY ALL THE LETTERS FROM THE POSES AND THE ROBOT DOES WHAT I DO .

  • @geoffwagner4935
    @geoffwagner4935 10 місяців тому

    a "clown nosed", i probably had that one coming ......

  • @anastasiiavibe4112
    @anastasiiavibe4112 4 роки тому +1

    Hello, can you add Russian to the subtitles in all videos?

  • @zafridi100
    @zafridi100 4 роки тому

    How different is this from OpenPose?

  • @antonv13
    @antonv13 Рік тому

    Hi! Does anyone have the code for this? Link is not working unfortunately.. Thanks! :)

    • @TheCodingTrain
      @TheCodingTrain  Рік тому

      Apologies, let me fix the description! thecodingtrain.com/tracks/ml5js-beginners-guide/ml5/7-posenet/2-pose-classifier

    • @antonv13
      @antonv13 Рік тому

      @@TheCodingTrain Thanks a lot

  • @govindkatyura7485
    @govindkatyura7485 4 роки тому

    I'm confuse about input data shape, if pose net get 5 point in first image and 3 point in next image 🤔

    • @TheCodingTrain
      @TheCodingTrain  4 роки тому +1

      I sent all the points always even they aren't seen (the model makes an estimation no matter what, even if a poor one!)

  • @CarlosNeira1
    @CarlosNeira1 4 роки тому

    Hi, in the 5:20 how charge this data, or where put the link. There is a tutorial that shows how to do this but with the teachable machine data? Thanks for the videos.

    • @parthghughriwala6799
      @parthghughriwala6799 4 роки тому

      you can record data in teachable machine and download image samples

    • @Shivamu98
      @Shivamu98 4 роки тому +1

      @@parthghughriwala6799 when downloading the data from teachable machine .bin size goes to 5.7 MB but in p5 web editor the max upload size is 5 MB

    • @CarlosNeira1
      @CarlosNeira1 4 роки тому

      @@parthghughriwala6799 ok, but load the model whit the link and send this Error: Error when checking : expected dense_Dense1_input to have 2 dimension(s), but got array with shape [1,224,224,3]

  • @rachmadimamtarecha5736
    @rachmadimamtarecha5736 4 роки тому

    15:52 showing error in console "Uncaught (in promise) Error: Error in oneHot: depth must be >=2, but it is 1" please help, not showing error without brain.normalizeData();

    • @rachmadimamtarecha5736
      @rachmadimamtarecha5736 4 роки тому

      This is the code _editor.p5js.org/rachmadimamtarecha/sketches/8pTbgF0lb

    • @user-kb4ne7me1j
      @user-kb4ne7me1j 4 роки тому

      u should collect data of least 2 poses in that json file

  • @user-kn2nt7wc9x
    @user-kn2nt7wc9x 4 роки тому

    First of all thanks for the great video! Here's my question. I keep tried press 's' key, saveData() in the 'all code' and 'Data collection code' , but it didn't worked. Is anybody got the same problem or can help how to solve it?

    • @ricksmith261
      @ricksmith261 4 роки тому

      I am having the same issue, have you managed to fix it?

    • @user-kn2nt7wc9x
      @user-kn2nt7wc9x 4 роки тому

      @@ricksmith261 No.. not yet

    • @pranilshinde3515
      @pranilshinde3515 4 роки тому

      Fixed now ??

    • @madhavjariwala4548
      @madhavjariwala4548 4 роки тому +1

      Try in Mozilla, I had the same problem but it works fine for me in Firefox.

    • @swaruptripathy9071
      @swaruptripathy9071 4 роки тому +3

      Try clicking on the video which is displayed in the preview and then press 's' key

  • @pcpixelart2370
    @pcpixelart2370 4 роки тому

    Is it working if I use teachable machine instead doing it?

    • @Shivamu98
      @Shivamu98 4 роки тому

      It's not happening becuz teachable machine gives a .bin size of 5.7MB but the max size we can upload on p5 editor is 5MB

  • @vickyparihar7665
    @vickyparihar7665 4 роки тому

    I think i am on time ..😇

  • @revtane9
    @revtane9 4 роки тому

    when i download the code in the url, i get "fetch api cannot load" in console. anyone can help? thanks a lot

    • @TheCodingTrain
      @TheCodingTrain  4 роки тому

      Can you join the discord and ask there? (Are you running a local server?) discord.gg/hPuGy2g

    • @revtane9
      @revtane9 4 роки тому

      @@TheCodingTrain hi thanks I joined the discord but i cant leave a message. It says in the comment section

    • @revtane9
      @revtane9 4 роки тому

      @@TheCodingTrain i have it worked with xampp. My question is how can i pose like a stretching and show a certain custom text that corresponds into the stretching pose

  • @JasonStillwell
    @JasonStillwell 2 роки тому

    So much grey since the last video.

  • @MisterYoupinet
    @MisterYoupinet 3 роки тому

    -Let's go slower...
    Me: speed = 1.75;
    loop from 22:28

  • @arnavsirigere2877
    @arnavsirigere2877 4 роки тому

    5:33 Spaghetti dance 🍝

  • @jasonlabbe3d
    @jasonlabbe3d 4 роки тому

    How is everyone finding the editing of this video compared to older videos? I'm finding it distracting and sometimes a bit jarring as it constantly speeds up with music and pops to new points. I kind of miss the slower pace. Coding Train still rocks my socks!

    • @TheCodingTrain
      @TheCodingTrain  4 роки тому

      Thanks for this feedback, I'm experimenting with a lot of new ideas and it's really useful to know what works / doesn't work. I might suggest joining the discord if you want to discuss further and gauge what the preferences of the community are? discord.gg/hPuGy2g

    • @ronen6020
      @ronen6020 4 роки тому

      @@TheCodingTrain Thanks for great videos!!
      Do you know why it is not running on Firefox & Edge browsers?

  • @davidsnyder518
    @davidsnyder518 4 роки тому

    Did I miss the premiere?

    • @clipi_
      @clipi_ 4 роки тому

      I missed it too :/

  • @Slinx92OLD
    @Slinx92OLD 4 роки тому +1

    3:37 "YMCA"

  • @MrPDTaylor
    @MrPDTaylor 4 роки тому

    Coding Train is behind hosted by a robot.

  • @tamfinlay
    @tamfinlay 4 роки тому

    I got data capture working for two people - editor.p5js.org/tambuildsthings/sketches/Jlx7ujqV

  • @ahmadyogi1340
    @ahmadyogi1340 4 роки тому +1

    Is this a jojo reference?

  • @nicnakpattywhack5784
    @nicnakpattywhack5784 4 роки тому

    YMCA

  • @sabriath
    @sabriath 4 роки тому +2

    I have a coding challenge for you.
    1. create a program that looks like stock on the market. Example: i.imgur.com/3RERXOf.png
    How I did it was rather easy, at the beginning of the "day" a random number between 0.46 and 0.54 was chosen, this was the bias for that day (effectively 50/50 given infinite time). Next another number was chosen at random but with 3 possibilities, between 200-300, 600-900, and 1800-2200 (32%/64%/4% respectively), which was the "volume." A loop was repeated "volume" times which would decide randomly between [0.0-1.0), and test this against the bias....if it were below the bias, it would reduce the "stock" by 0.01, if it were above, it would increase by 0.01. Each candle would be created just like any stock creates the candle, the open/close based on the starting/ending price of the stock for that day, and the high/low based on the high/low seen for the day. Overnight, there would be a 200 iterated loop of 50/50 to change the price for the next day's open (which gives the ability to create "gaps").
    2. build an indicator that takes the "ATR" (average true range) of this fake stock over time (14 bar moving)....this should be the easiest, I'll even give you the calculation:
    atr[x] = (max(high - low, abs(high - close[x-1]), abs(low - close[x-1])) + atr[x-1] * 13) / 14;
    3. Now the hard part, using only these data points (open, close, high, low, atr, volume), along with inputs (strike, days-to-expire/dte), construct an AI that will give you the optimal zero-sum cost of the call and put options. Meaning, a person who buys an option and another person who sells the same option, would both (on average) end up with no profit and no loss. We are entering an age where trades are free, so we do not have to worry about any other costs. So you don't have to look it up:
    Call option - buyer makes money if it expires above the strike price, seller gets money upfront but has to pay the difference at expiration if it is above strike price.
    Put option - same but if price is below strike instead
    Train the AI on many variations of fake stocks until it can be at or above 98% accurate.....I will donate $50 to your channel if you can send me the net and it is verified to backtest. I do NOT want black-scholes model, it isn't accurate enough. Feel free to add more indicators if you need to get the accuracy up, but please include them with the net.
    Thanks. :)