ml5.js: Feature Extractor Classification

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

КОМЕНТАРІ • 95

  • @andrzejsokola
    @andrzejsokola 6 років тому +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

  • @forall5625
    @forall5625 6 років тому +10

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

  • @raccoon0413
    @raccoon0413 6 років тому

    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.

  • @John-shreds
    @John-shreds 6 років тому +1

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

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

    Thank you for sharing this. Your tutorials inspired me.

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

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

  • @fastterior
    @fastterior 6 років тому +1

    Love from India ♥️

  • @machinelearning4376
    @machinelearning4376 5 років тому +1

    Wooooow!!! This is mind blowing

  • @Otakutaru
    @Otakutaru 6 років тому +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 6 років тому +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 5 років тому

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

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

    17:30 really cool 🔥😂

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

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

  • @mardoniorodrigues11
    @mardoniorodrigues11 6 років тому

    Great! Love from Brazil!

  • @basiccoder2166
    @basiccoder2166 5 років тому +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 5 років тому +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 5 років тому +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 5 років тому +2

      result[0].label

    • @basiccoder2166
      @basiccoder2166 5 років тому +1

      @@thirukumaranps Thanks praveenkumar

  • @Grynjolf
    @Grynjolf 5 місяців тому

    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?

  • @kit0925
    @kit0925 5 років тому +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?

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

    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???

  • @victorm.nogueira3794
    @victorm.nogueira3794 6 років тому

    Amazing

  • @mskogly
    @mskogly 6 років тому +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  6 років тому +1

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

  • @alterego4767
    @alterego4767 6 років тому

    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 4 роки тому

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

  • @krutarthshah3302
    @krutarthshah3302 6 років тому

    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?

  • @AndrewSmithh
    @AndrewSmithh 5 років тому +1

    7:16 "train" whistle

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

    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

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

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

    • @scottrjjh
      @scottrjjh 4 роки тому +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 4 роки тому +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.

  • @solidgallium2191
    @solidgallium2191 5 років тому

    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  5 років тому +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

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

    Will this work for cocossd model?

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

    Do you have a tutorial about this using posenet?

  • @PierreLaBaguette
    @PierreLaBaguette 5 років тому

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

  • @urnotalone69
    @urnotalone69 8 місяців тому +1

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

    • @TheCodingTrain
      @TheCodingTrain  7 місяців тому

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

  • @thirukumaranps
    @thirukumaranps 5 років тому

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

  • @danielfraga8551
    @danielfraga8551 7 місяців тому

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

    • @TheCodingTrain
      @TheCodingTrain  7 місяців тому

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

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

    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...

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

      Never mind i figured that out :)

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

      @@user-ct9qz9sf5z how? do use teachable maching?

  • @abhijitsanyal24x7
    @abhijitsanyal24x7 5 років тому

    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  5 років тому

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

  • @ac2italy
    @ac2italy 6 років тому +1

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

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

    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 4 роки тому

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

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

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

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

    code link not working )

  • @c7ndk
    @c7ndk 6 років тому

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

  • @PandoraMakesGames
    @PandoraMakesGames 6 років тому +1

    Train whistle!!!

  • @L76videos
    @L76videos 6 років тому +2

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

  • @DaChristianVogel
    @DaChristianVogel 5 років тому

    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 5 років тому

      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  5 років тому

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

  • @buck02
    @buck02 5 років тому

    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  5 років тому

      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 5 років тому

      @@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.

  • @SuryaKumaran11
    @SuryaKumaran11 6 років тому

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

    • @TheCodingTrain
      @TheCodingTrain  6 років тому

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

    • @AlistairMcClymont
      @AlistairMcClymont 6 років тому

      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 6 років тому

      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

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

    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.

  • @c6jones720
    @c6jones720 5 років тому

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

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

    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  4 роки тому

      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 4 роки тому

      @@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/

  • @honzasko
    @honzasko 6 років тому +1

    Idea: Make 2D game in Processing IDE .

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

    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"

  • @md.safikhasan8517
    @md.safikhasan8517 6 років тому

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

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

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

  • @jeffinfrancis1417
    @jeffinfrancis1417 5 років тому

    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  5 років тому

      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 5 років тому

      @@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 5 років тому

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

    • @tjarktv9153
      @tjarktv9153 5 років тому

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

    • @gnkarn00
      @gnkarn00 5 років тому

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

  • @saidbousnane6575
    @saidbousnane6575 6 років тому

    I need your E-mail, please !!

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

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

  • @basiccoder2166
    @basiccoder2166 5 років тому

    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  5 років тому

      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