📜  使用 Google 的 Teachable Machine 进行图像分类(1)

📅  最后修改于: 2023-12-03 15:06:46.634000             🧑  作者: Mango

使用 Google 的 Teachable Machine 进行图像分类

简介

Teachable Machine 是谷歌推出的一个在线机器学习平台,它可以帮助用户快速并且简单地训练一个能够识别图像、音频和自然语言的自定义机器学习模型。

在这篇文章中,我们将介绍如何使用 Teachable Machine 进行图像分类。我们将会创建一个可以检测和区分物体的小型机器学习模型。

步骤
1. 准备数据

要训练机器学习模型,我们需要一些数据。在我们的情况下,我们将使用拍摄的照片来训练我们的模型。

建议准备两个文件夹,一个用于存放正样本图片,另一个用于存放负样本图片。在这个示例中,我们的示例图片是一个红色的球和一个蓝色的球。我们希望机器学习模型可以学会区分这两个不同颜色的球。

2. 创建模型
  1. 打开 Teachable Machine 网站。

  2. 通过点击 “分类器” 创建一个新的分类器模型。

  3. 选择 “图像” 作为输入类型,然后将正样本和负样本图片拖拽到网站中,以让模型了解每个分类的视觉特征。稍等片刻,模型就会自动学习分类的区别和相似之处。

  4. 训练模型。在上传完图片后,您可以点击“训练模型”按钮,这将花费一些时间来创建一个预测模型。在训练期间,您可能会看到一个类似于损失图的可视化,这是您的模型正在学习的。

  5. 测试您的模型。训练完成后,您可以将新的视觉元素添加到测试集并尝试分类。该模型将返回一个概率数,该数值越接近100,则表示该图片匹配我们预设的分类。

  6. 导出您的模型以供使用。

3. 集成您的模型

有两种常用的方式可以将您的 Teachable Machine 模型集成到您的项目中。

  • 在网站上使用 API

repl.it 提供了一个示例代码,可以将 Teachable Machine 模型嵌入到您的网页中。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Teachable Machine Audio Model</title>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.3.0/dist/tf.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@teachablemachine/image@3.3.0/dist/image.min.js"></script>
    <script type="text/javascript">
        async function loadModel() {
            const URL = 'https://teachablemachine.withgoogle.com/models/1qvMV6U5/';
            const model = await tmImage.load(URL + 'model.json', URL + 'metadata.json');
            return model;
        }
        
        async function predict(model, image) {
            const prediction = await model.predict(image);
            return prediction;
        }
        
        const imageUploadEl = document.getElementById('imageUpload');
        imageUploadEl.addEventListener('change', async () => {
            const image = await tmImage.load(imageUploadEl.files[0], 0, true);
            const model = await loadModel();
            const prediction = await predict(model, image);
            console.log(prediction);
        });
    </script>
</head>
<body>
    <input type="file" id="imageUpload" />
</body>
</html>
  • 脱机使用模型

如果您想在本地运行模型并脱机使用,您可以参考 Teachable Machine TensorFlow.js Python Wrapper

结语

Teachable Machine 是一个非常有用的工具,它可以帮助您快速轻松地构建出一个能够识别图像、音频和自然语言的自定义机器学习模型。无论您是小白还是专业人士,Teachable Machine 都能为您提供所需的支持。希望这篇文章能够帮助您更好地理解 Teachable Machine 如何使用图像分类。