使用Tensorflow.js进行图像识别

时间:2018-06-28 14:18:05

标签: tensorflow tensorflow.js tensorflowjs-converter

我是ML的完全入门者,我正在尝试使用移动相机和使用Tensorflow.js进行预训练的模型进行图像识别。我已经在Tensorflow.js网站中使用了pacman示例,并对其进行了修改。

以下是一些相关代码:

async loadModel() {
  console.log('Loading model...');
  const startTime = performance.now();
  this.model = await loadFrozenModel(MODEL_URL, WEIGHTS_URL);
  const totalTime = Math.floor(performance.now() - startTime);
  console.log(`Model loaded and initialized in ${totalTime}ms...`);
  this.setup(); // Opens the camera and pass the video stream source to the video element
}

这将加载我使用tensorflowjs-converter转换的模型。加载模型后,我将使用navigator.getUserMedia打开相机,并将流源分配给在HTML中创建的HTML视频元素。现在。打开相机后,我将调用以下方法进行预测:

  async predict() {
    while (this.isPredicting) {
      console.log("predicting . . . . . . . . ");
      const predictionData = tf.tidy(() => {
        // Capture the frame from the webcam.
        const img = this.capture();
        const predictions = this.model.predict(img);

        // Returns the index with the maximum probability. This number corresponds
        // to the class the model thinks is the most probable given the input.
        return predictions;
      });

      const classId = (await predictionData.data());
      console.log(classId);
      predictionData.dispose();
      await tf.nextFrame();
    }
}

console.log(classId)记录在对象下方,而不管摄像机的位置如何。

Float32Array(2) [0.0467529296875, 0.953125]

有人可以帮我理解这里的错误吗?

0 个答案:

没有答案