ml5.js: Feature Extractor Classification

Sdílet
Vložit
  • čas přidán 13. 09. 2024

Komentáře • 95

  • @andrzejsokola
    @andrzejsokola Před 6 lety +4

    It always have been something unreachable on my mind how to program yourself those kind of stuff and now it looks so easy and fun. I can't wait anymore to try this myself and use it for some projects :D Thanks :P

  • @raccoon0413
    @raccoon0413 Před 6 lety

    I laughed when I saw video thumbnails with a rainbow thinking it's silly. After checking out what you're covering and how useful they are, I'm no longer laughing. My subscription is yours now, sir.

  • @forall5625
    @forall5625 Před 6 lety +10

    Happy , Sad ...
    Really it was very funny and also helpful , thank you

  • @John-shreds
    @John-shreds Před 6 lety +1

    This is a top notch video. Ive been studying to prepare my c and assembly class, and javascript looks so pretty.

  • @8eck
    @8eck Před 4 lety +1

    Thank you for sharing this. Your tutorials inspired me.

  • @8eck
    @8eck Před 4 lety +2

    You have a talent for teaching. This is awesome and somewhat even entertaining and funny, but i can't stop listening. :)

  • @geoffwagner4935
    @geoffwagner4935 Před 11 měsíci

    Wow, Dan's sad face will probably have the best training ever after i get through this list

  • @fastterior
    @fastterior Před 6 lety +1

    Love from India ♥️

  • @machinelearning4376
    @machinelearning4376 Před 5 lety +1

    Wooooow!!! This is mind blowing

  • @Otakutaru
    @Otakutaru Před 6 lety +3

    Hey Shiffman, I have a little suggestion. Could you make a video where you tackle some nice ways to build simple interfaces with p5.js? Like teaching the basics for us to get a starting point, because the default DOM buttons are not pretty.

    • @parsonsmarcus
      @parsonsmarcus Před 6 lety +2

      It is really easy to create your own nice looking buttons. I created a little Codepen to share with you =] codepen.io/marcusparsons/pen/zJOpdz

    • @raghvendra87
      @raghvendra87 Před 5 lety

      @@parsonsmarcus Thank you! But in index.js how to create a pretty button? Or do we need to do somewhere else ?

  • @mardoniorodrigues11
    @mardoniorodrigues11 Před 6 lety

    Great! Love from Brazil!

  • @search_me_tilak
    @search_me_tilak Před 3 lety

    17:30 really cool 🔥😂

  • @kit0925
    @kit0925 Před 5 lety +1

    Great video, after taking a look at the YOLO() I can use it to draw a rectangle on the image. Seems that feature extractor function cannot perform the same task as it cannot identify more than one object in the image at the same time. What I should look into if I want to train a model with my own objects and use the trained model to identify multiple objects in a video then mark their position?

  • @alterego4767
    @alterego4767 Před 6 lety

    Hi Dan, would you consider covering the Separating Axis Theorem for collision handling with 2D convex polygons? Please let me know, thanks.

  • @user-ct9qz9sf5z
    @user-ct9qz9sf5z Před 4 lety

    Thanks a lot for your video. Can i have more than two classes if images ?

  • @mskogly
    @mskogly Před 6 lety +2

    When adding a third option it seem so ignore one of them. Closup of coffee mug, phone, jar of honey. Should be plenty different. Tried several different objects. Weird?

    • @TheCodingTrain
      @TheCodingTrain  Před 6 lety +1

      I think there is currently an issue with doing more than 2! Follow here: github.com/ml5js/ml5-library/issues/164

  • @Grynjolf
    @Grynjolf Před 5 měsíci

    I would have expected this to work by "adding" your classes to the existing data model, but it seems like you're overwriting it to where it's ONLY showing the ones you create. So what's the point of starting with mobile net if it's not even keeping around the existing data?

  • @basiccoder2166
    @basiccoder2166 Před 5 lety +1

    Hi Daniel, while using your code in feature extractor once training is completed i am getting output as [object Object],[object Object] Could you please help me to know why am i getting this output?(i am using Bracket Editor) and how to rectify it.

    • @thirukumaranps
      @thirukumaranps Před 5 lety +1

      you should use label for name,if it not work,see the video one more time carefully(there should be some points you had missed)

    • @thirukumaranps
      @thirukumaranps Před 5 lety +1

      hi vipul,you just try store the first value result array...
      eample:instead of using label=result use label=result[0];
      beacause the detected objects is in the first posistion

    • @thirukumaranps
      @thirukumaranps Před 5 lety +2

      result[0].label

    • @basiccoder2166
      @basiccoder2166 Před 5 lety +1

      @@thirukumaranps Thanks praveenkumar

  • @krutarthshah3302
    @krutarthshah3302 Před 6 lety

    By default, does the normal mobilenet data which we used for the classification examples add up. That means, let's say I put a cat, will it answer cat or whistle/ukulele?

  • @periohome7760
    @periohome7760 Před 2 lety

    how do we do this via adding a folder of images as opposed to video to train the model . in 'teachable model' example they can upload files as an option so it must be possible???

  • @souptiknath4668
    @souptiknath4668 Před 4 lety +1

    How to overcome the background problem?
    Means in other background it cannot recognize?

    • @scottrjjh
      @scottrjjh Před 4 lety +1

      There are many ways to go about solving this issue, none of them perfect, and some better than others depending on the project context.
      Remove the backgrounds - this would mean that the classifier would learn from only the object in the image. However, this can sometimes make the model worse! In the case of expressions, this may be a good idea, however, if you were classifying animals, the background may often provide 'context' to the algorithm, and 'clues' as to what the animal is. An overly simple example would be, a white background may indicate an animal in snowy conditions (polar bear). Where as a green background may indicate a jungle animal (monkey).
      Segmentation - this is kind of the more advanced version of removing the background, and is essentially using an additional ML method to segment the image into different parts, and draw boundary boxes around them. This helps the model to separate the image into important parts to learn from, and unimportant parts. If you had lots of images of bikes parked in various streets, this would be a good method as the bike would be highlighted in every image, rather than say cars or street lamps that may also be in the image. This is especially useful if the object you're training on is small. (If you have lots of images of pens on desks, and lots of the desks have other items on it, the model is likely to associate with those other larger objects).
      Cropping - Again good for smaller objects, and is an approach you should almost always use. Ensure the images you use contain only the object you want to classify. This essentially reduces noise.
      Lots of data - If you use lots and lots of data, each with different backgrounds, the model will eventually learn that the backgrounds are unimportant, and with have a clearer idea of the object you're classifying.
      It must be mentioned that this is just off the top of my head, so I hope it helps, and I hope others comment with more examples (or correct me haha!). Also which method you use depends hugely on the context of the problem you are trying to solve, and the algorithm you are using.
      Hope this helps, or at least provides a bit of a starting block!

    • @souptiknath4668
      @souptiknath4668 Před 4 lety +1

      @@scottrjjh Thanks for your explanation.
      1.Can you just tell me how to use Yolo in ml5 with transfer learning (means adding my own images)?
      2.How to store the Mobilenet model after retraining with my own images?
      Please Help me.I am new to Machine Learning.

  • @danielfraga8551
    @danielfraga8551 Před 7 měsíci

    Great Video!
    Can you share the code, as the link doesnt work

    • @TheCodingTrain
      @TheCodingTrain  Před 7 měsíci

      Updated the description! thecodingtrain.com/tracks/ml5js-beginners-guide/ml5/3-feature-extractor/1-classification

  • @victorm.nogueira3794
    @victorm.nogueira3794 Před 6 lety

    Amazing

  • @revtane9
    @revtane9 Před 4 lety

    Do you have a tutorial about this using posenet?

  • @AndrewSmithh
    @AndrewSmithh Před 5 lety +1

    7:16 "train" whistle

  • @user-ct9qz9sf5z
    @user-ct9qz9sf5z Před 4 lety

    Thanks a lot for your video. Can i have more than two classes of images? Im trying to add a third class but the label matrix has only the first two classes...

  • @solidgallium2191
    @solidgallium2191 Před 5 lety

    very awesome video! although i'm having a problem trying to make it recognize a third class, it works perfectly with 2 labels but it can't recognize a third one, even if i block the camera completely, making the third object to classify an black image, it still can't get it. is there any known issues with that? cause you say at the end that we should try adding more things to identify to test it out.
    thank you

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety +1

      Yes, make sure you have the most recent version of ml5 and that you specify the number of labels: { numLabels: 3 }. This needs to be documented on the new website, feel free to file an issue here! github.com/ml5js/ml5-website-2/issues

  • @thirukumaranps
    @thirukumaranps Před 5 lety

    can we train custom objects for yolo object detection in ml5js{.....................important.................}

  • @PierreLaBaguette
    @PierreLaBaguette Před 5 lety

    by doing this i loose all classes model was able to recognize before, am i right?

  • @urnotalone69
    @urnotalone69 Před 8 měsíci +1

    its so sad that the code is not in the description and u dont show all of it

    • @TheCodingTrain
      @TheCodingTrain  Před 7 měsíci

      fixed! thecodingtrain.com/tracks/ml5js-beginners-guide/ml5/3-feature-extractor/1-classification

  • @SterlingCobb
    @SterlingCobb Před 3 lety

    Will this work for cocossd model?

  • @relebiza8571
    @relebiza8571 Před 4 lety

    Hey there, i am getting the following error when running the code on my browser :Unhandled promise rejection Error: MathBackendWebGL.writePixels(): pixels can not be null

  • @c7ndk
    @c7ndk Před 6 lety

    Is it possible to use raw 3d models, like STL or OBJ etc. files for traning?

  • @ac2italy
    @ac2italy Před 6 lety +1

    It would be interesting to "teach" the NN with sound and not images: Let it recognize your voice!

  • @SuryaKumaran11
    @SuryaKumaran11 Před 6 lety

    Is it possible to save the trained model and reuse it without training again after page refresh?

    • @TheCodingTrain
      @TheCodingTrain  Před 6 lety

      Not yet, but this is a feature we are hoping / planning to implement!

    • @AlistairMcClymont
      @AlistairMcClymont Před 6 lety

      looking forward to that feature, but for now you could have a locally saved folder full of images and load them in as training as you load the page. Bit of a pain, but a workaround for now perhaps

    • @SuryaKumaran11
      @SuryaKumaran11 Před 6 lety

      Alistair can you share the github link of the local image method. I am new to this and will be helpful for me to have a start

  • @abhijitsanyal24x7
    @abhijitsanyal24x7 Před 5 lety

    The code is running but when I am trying to introduce a 3rd button say "angry" its not working can you suggest me how it can work? waiting for your reply

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety

      See: github.com/ml5js/ml5-library/issues/164 (also take a look at the new KNN classification videos!)

  • @L76videos
    @L76videos Před 6 lety +2

    how to save the model trained to reuse it later?
    thanks

  • @DaChristianVogel
    @DaChristianVogel Před 5 lety

    As soon as I add a third category I realize that ml5 only predicts the first two. I never see the third category. I have „background“, „glasses“ and „teddy bear“ - I add about 100 images per category. as soon as I try to classify the images then I only get „background“ or „glasses“. But never „teddy bear“ - any idea why? 😀

    • @DaChristianVogel
      @DaChristianVogel Před 5 lety

      Ha! Figured it out: If you want to classify more than just two classes, make sure to define numClasses when defining your featureExtractor (as default is 2, see ml5js.org/docs/FeatureExtractor#parameters ), i.e.
      featureExtractor = ml5.featureExtractor("mobileNet", { numClasses: 3 }, onModelReady);
      This does the trick!!!

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety

      We have got to fix this to make it more clear in ml5! Thanks for the reminder :)

  • @suhishanbhandari4008
    @suhishanbhandari4008 Před 4 lety

    When I hit the train button, I get really high loss Values and once the training is complete, it only shows one label, either happy or sad. I don't think it is a problem of my webcam because it works fine with the teachable machine website. Please help me solve this problem. What are the reasons for really high loss values?

    • @pcpixelart2370
      @pcpixelart2370 Před 4 lety

      Did you fix it? I'm with the same problem

    • @suhishanbhandari4008
      @suhishanbhandari4008 Před 4 lety

      @@pcpixelart2370No. I tried to find but there was nothing. So I just moved onto the other video.

  • @buck02
    @buck02 Před 5 lety

    Im trying to do this exactly same but train it by using image files. Is this possible? Ive been trying to do it for past few days but even I got to the part where I could train it, it wouldn’t recognize the image correctly. Ive been searching who internet on how to do transfer learning by feeding images instead of webcam but not a single article or blog about it. All examples are using webcam which is not practical for me because I want to train using more than 100 images

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety

      This is a really good question and I would love to tackle this in a video soon, please remind me! Check ml5js.org for many new examples and feel free to file a GitHub issue on ml5-examples if there isn't one that makes it clear how to do this!

    • @buck02
      @buck02 Před 5 lety

      @@TheCodingTrain Thank you. I was using KNNClassifier() to do it. I just had image DOM element as an input instead of video in featureExtractor but it did not work. I looked in github issues and it seems like there is already one open related to using images from file that has not been resolved. I would love to see a video about this! Your videos are so helpful.

  • @Beast80K
    @Beast80K Před 3 lety

    Does any1 knows how to insert multiple images to train ,by selecting them through HTML .
    I dont want to use webcam to insert training images.

  • @majidtopfit
    @majidtopfit Před rokem

    code link not working )

  • @c6jones720
    @c6jones720 Před 5 lety

    has anyone tried to run these examples on ios? I find when I do nothing happens and my phone just gets hot...

  • @PandoraMakesGames
    @PandoraMakesGames Před 6 lety +1

    Train whistle!!!

  • @tonywang3036
    @tonywang3036 Před 3 lety

    hi, anyone has been tried to convert to the ml5 saved model to tensorflow lite model?

  • @honzasko
    @honzasko Před 6 lety +1

    Idea: Make 2D game in Processing IDE .

  • @lawful_neutral
    @lawful_neutral Před 4 lety

    Hey guys, trying to implement this, but the only thing that keeps coming up in my label is "[object Object'],[object Object]"
    Anyone know what the problem might be?

    • @TheCodingTrain
      @TheCodingTrain  Před 4 lety

      Check the most recent examples on the ml5js.org website. The API always returns an object now so the label will be inside, probably results[0].label.

    • @lawful_neutral
      @lawful_neutral Před 4 lety

      @@TheCodingTrain Thanks for the reply, but I am not sure I implemented it right.
      My gotResults function now looks like this:
      function gotResults(error, result) {
      if (error){
      console.error(error);
      }else{
      label = results[0];
      classifier.classify(gotResults);
      }
      }
      but in the console I am getting the following error:
      gotResults@about:srcdoc:89:5
      e.default/

  • @jeffinfrancis1417
    @jeffinfrancis1417 Před 5 lety

    Great video by the way but when i try to implement it i got an error
    " Unhandled promise rejection Error: "MathBackendWebGL.writePixels(): pixels can not be null "
    this happens when i clicked the button . i am using firefox 64 can you please help me

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety

      Do you see your webcam? Try comparing your code with: github.com/CodingTrain/website/tree/master/Courses/beginner_ml5/04_feature_extractor_classification

    • @jeffinfrancis1417
      @jeffinfrancis1417 Před 5 lety

      @@TheCodingTrain
      Thank you for the reply
      Yes my webcam stream in showing perfectly
      i copied your code and try to run it but still it got the same error in firefox
      but it works in chromium(71) browser I think the issue is with the firefox browser is ml5 only supports in chrome ?

    • @gnkarn00
      @gnkarn00 Před 5 lety

      it happens the same to me and with Chrome (version 59.0.3071.115 64 bits) on a mac

    • @tjarktv9153
      @tjarktv9153 Před 5 lety

      did you found a way to make it work because I have the same problem and i don´t find any help

    • @gnkarn00
      @gnkarn00 Před 5 lety

      TjarkTV yes , try this. gnkarn.github.io/p5js-course/p5jsProy_ML5_feature_extraction/

  • @md.safikhasan8517
    @md.safikhasan8517 Před 6 lety

    will you please tell me
    about your mac laptop you using pls.....
    model number ect....pls...

  • @howto5891
    @howto5891 Před 4 lety

    super detals , but i have a problem with models.js:143 GET storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json 403 whats up ? "this from devloper tools console"

  • @saidbousnane6575
    @saidbousnane6575 Před 6 lety

    I need your E-mail, please !!

  • @user-ct9qz9sf5z
    @user-ct9qz9sf5z Před 4 lety

    Thanks a lot for your video. Can i have more than two classes if images ?

  • @basiccoder2166
    @basiccoder2166 Před 5 lety

    Hi Daniel, while using your code in feature extractor once training is completed i am getting output as [object Object],[object Object] Could you please help me to know why am i getting this output?(i am using Bracket Editor) and how to rectify it.

    • @TheCodingTrain
      @TheCodingTrain  Před 5 lety

      Check the latest example, you probably just need to pull out the specific properties of the JSON object that is returned! The library may have changed a bit. github.com/ml5js/ml5-examples/tree/release/p5js/FeatureExtractor