Image classification using ml5,js, MobileNet and p5.js

      <!DOCTYPE html>
      <html lang="ja">
        <meta charset="UTF-8">
        <title>Image classification using MobileNet and p5.js</title>
        <script src=""></script>
        <script src=""></script>
         html{background-color: white;}
         body{ width: 800px; margin: 0 auto; background-color: antiquewhite; padding: 1em;}
        <h1>Image classification using MobileNet and p5.js</h1>
        <p>MobileNet:Efficient convolutional neural networks for mobile vision applications</p>
        <p>p5.min.js(654kB), ml5.min.js(654kB), model.json(113kB)</p>
        <p>オリジナル:<a href=""></a></p>
        <script src="sketch.js"></script>
      // Initialize the Image Classifier method with MobileNet. A callback needs to be passed.
    let classifier;
    // A variable to hold the image we want to classify
    let img;
    function preload() {
      // ml5のイメージ分類器をMobileNetのmodel.jsonをロードして構築
      // 約1,500万枚の画像のデータベース(ImageNet)でトレーニングされている。2.2x10^4 indexies?
      classifier = ml5.imageClassifier('MobileNet'); // 他に'Darknet', 'Darknet-tiny', 'TeachableMachine'
      // イメージをロード:この画像を分類してlabelを表示
      img = loadImage('images/bird.png');
    function setup() {
      const W = 500;
      createCanvas(W, W);
      classifier.classify(img, gotResult); // imgを分類したら、gotResultを呼び出す
      image(img, 0, 0, W, W); // イメージ表示
    // A function to run when we get any errors and the results
    function gotResult(error, results) {
      // Display error in the console
      if (error) {
      } else {
        // The results are in an array ordered by confidence.
        // ` ${ }` : JavaScript テンプレートリテラル:文字列内に変数や式を挿入
        // nf(num, left, right) left: 小数点の以上の桁, right: 小数点以下
        results.forEach( function(result){
            if( result ){
                createDiv(`Confidence: ${nf(result.confidence, 0, 2)}, Label: ${result.label}`);

ml5.js: Friendly Machine Learning for the Web

MobileNet: Efficient convolutional neural networks for mobile vision applications

p5.min.js(654kB), ml5.min.js(654kB), model.json(113kB)