face-api.js 基于tensorflow.js打造的人脸识别、检测、追踪、表情检测、性别年龄检测插件

face-api.js 基于tensorflow.js打造的人脸识别、检测、追踪、表情检测、性别年龄检测插件

face-api.js 基于tensorflow.js打造的人脸识别、检测、追踪、表情检测、性别年龄检测插件

第一步引入bfwone

第二步执行插件,首先要加载模型

模型分为以下几种ageGenderNet,faceExpressionNet,faceLandmark68Net,faceLandmark68TinyNet,faceRecognitionNet,ssdMobilenetv1,tinyFaceDetector,mtcnn,tinyYolov2

await faceapi.nets.ssdMobilenetv1.loadFromUri('/models')
// accordingly for the other models:
// await faceapi.nets.faceLandmark68Net.loadFromUri('/models')
// await faceapi.nets.faceRecognitionNet.loadFromUri('/models')

还可以这样加载

const net = new faceapi.SsdMobilenetv1()
await net.loadFromUri('/models')

如果要使用未压缩的模型

// using fetch
net.load(await faceapi.fetchNetWeights('/models/face_detection_model.weights'))

// using axios
const res = await axios.get('/models/face_detection_model.weights', { responseType: 'arraybuffer' })
const weights = new Float32Array(res.data)
net.load(weights)

接下来创建html

<img id="myImg" src="images/example.png" />
<video id="myVideo" src="media/example.mp4" />
<canvas id="myCanvas" />

然后执行插件的方法

const input = document.getElementById('myImg')
// const input = document.getElementById('myVideo')
// const input = document.getElementById('myCanvas')
// or simply:
// const input = 'myImg'
const detections = await faceapi.detectAllFaces(input)

ok,更多还可以参照官网 https://github.com/justadudewhohacks/face-api.js
立即下载face-api.js查看所有js插件

网友评论0

程序员在线工具箱