ml5.js: Feature Extractor Classification

Поделиться
HTML-код
  • Опубликовано: 12 сен 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

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

  • @forall5625
    @forall5625 6 лет назад +10

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

  • @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. :)

  • @8eck
    @8eck 4 года назад +1

    Thank you for sharing this. Your tutorials inspired me.

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

  • @geoffwagner4935
    @geoffwagner4935 11 месяцев назад

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

  • @fastterior
    @fastterior 6 лет назад +1

    Love from India ♥️

  • @machinelearning4376
    @machinelearning4376 5 лет назад +1

    Wooooow!!! This is mind blowing

  • @search_me_tilak
    @search_me_tilak 3 года назад

    17:30 really cool 🔥😂

  • @mardoniorodrigues11
    @mardoniorodrigues11 6 лет назад

    Great! Love from Brazil!

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

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

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

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

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

  • @user-ct9qz9sf5z
    @user-ct9qz9sf5z 4 года назад

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

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

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

  • @victorm.nogueira3794
    @victorm.nogueira3794 6 лет назад

    Amazing

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

  • @PierreLaBaguette
    @PierreLaBaguette 5 лет назад

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

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

  • @revtane9
    @revtane9 4 года назад

    Do you have a tutorial about this using posenet?

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

  • @AndrewSmithh
    @AndrewSmithh 5 лет назад +1

    7:16 "train" whistle

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

  • @SterlingCobb
    @SterlingCobb 3 года назад

    Will this work for cocossd model?

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

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

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

  • @ac2italy
    @ac2italy 6 лет назад +1

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

  • @c7ndk
    @c7ndk 6 лет назад

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

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

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

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

  • @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 :)

  • @L76videos
    @L76videos 6 лет назад +2

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

  • @tonywang3036
    @tonywang3036 3 года назад

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

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

  • @PandoraMakesGames
    @PandoraMakesGames 6 лет назад +1

    Train whistle!!!

  • @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"

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

  • @honzasko
    @honzasko 6 лет назад +1

    Idea: Make 2D game in Processing IDE .

  • @majidtopfit
    @majidtopfit Год назад

    code link not working )

  • @md.safikhasan8517
    @md.safikhasan8517 6 лет назад

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

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