首页 > 解决方案 > 无法为 face-api.js 加载模型

问题描述

我不明白如何加载“模型”,以便我的 React Web 应用程序的客户端可以开始分析图像。我什至不明白什么是“模型”。

我开始做npm i face-api.js.

import * as faceapi from 'face-api.js'然后,我通过在顶部键入将其导入到我的 SignUp 组件中。

在我的componentDidMount()函数中,我输入了以下代码:

faceapi.nets.ssdMobilenetv1.loadFromUri('/models').then(result => {
  console.log(result);
}).catch(error => {
  console.log(error)
})

这给了我以下错误: SyntaxError:“JSON.parse:JSON 数据的第 1 行第 1 列的意外字符”

所以我尝试在 face-api.js 目录中寻找“models”目录,但什么也找不到。然后我回到 Github,找到了一个“weights”文件夹(我读到的都是与模型相关的)。我下载了它,并将它的内容放在我的注册组件附近的“模型”文件夹中(见附图)。还是同样的错误。

最终,我想做的就是知道用户是否上传了一张包含人脸的图片。随便一张脸。我不需要更多的东西。我究竟做错了什么?

文本

标签: javascriptreactjsface-detectionface-recognitionface-api

解决方案


对于我使用 VueJs 的示例,我在 public / dist 目录中添加了模型,并按照 github 示例的说明进行操作。

Promise.all([
faceapi.nets.faceRecognitionNet.loadFromUri('/models'), 
faceapi.nets.ssdMobilenetv1.loadFromUri('/models'), faceapi.nets.faceLandmark68Net.loadFromUri('/models'),
])
.then(async () => {//some code goes here})

我使用的样本


推荐阅读