From e6ceac75279479633b5d6b876c53e4194c3edb2c Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Sat, 27 Sep 2025 13:49:06 +0000 Subject: [PATCH] Update README.md --- README.md | 78 +++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index d15f5a0..24fe212 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,40 @@ -# 前端人脸检测 - -#### 介绍 -兼容所有客户端的人脸检测,包括微信小程,QQ,uniapp,谷歌浏览器,safari浏览器等,截取第一张照片传到后台做人脸识别,uniapp安卓需要用x5 - -#### 问题 -1. TinyYolov2 - load model before inference 出现该问题是因为某个模型没加载,但是使用了该模型的功能 - 例如:faceExpressionNet模型.withFaceExpressions()功能。 - -2. loadFromUri可能加载不了uniapp的本地模型,需要使用已下方式: -``` -//axios -const res = await axios.get('/models/face_detection_model.weights', { responseType: 'arraybuffer' }) -const weights = new Float32Array(res.data) -net.load(weights) - -//XMLHttpRequest -load1: function(){ - return new Promise((resolve,reject)=>{ - let net = faceapi.nets.tinyFaceDetector - let oReq = new XMLHttpRequest(); - oReq.open("GET", "../models/tiny_face_detector_model.weights", true); // 加载模型,传入路径 - oReq.responseType = "arraybuffer"; // 设置加载的文件返回类型 - oReq.onload = function () { - console.log('加载成功') - let arrayBuffer = oReq.response; // 加载完模型文件后获取到对应buffer - let weights = new Float32Array(arrayBuffer) - net.load(weights).then(()=>{ - console.log('加载成功') - resolve(); - }) - } - oReq.send(null); - }) -}, -``` - -3. 如果是uniapp,需要在webview中内嵌本项目。 -4. 例子中的模型可能用不上的可以去掉,防止加载慢。 +# 前端人脸检测 + +#### 介绍 +兼容所有客户端的人脸检测,包括微信小程序,QQ,uniapp,谷歌浏览器,safari浏览器等,截取第一张照片传到后台做人脸识别,uniapp安卓需要用x5 + +#### 问题 +1. TinyYolov2 - load model before inference 出现该问题是因为某个模型没加载,但是使用了该模型的功能 + 例如:faceExpressionNet模型.withFaceExpressions()功能。 + +2. loadFromUri可能加载不了uniapp的本地模型,需要使用已下方式: +```javascript +//axios +const res = await axios.get('/models/face_detection_model.weights', { responseType: 'arraybuffer' }) +const weights = new Float32Array(res.data) +net.load(weights) + +//XMLHttpRequest +load1: function(){ + return new Promise((resolve,reject)=>{ + let net = faceapi.nets.tinyFaceDetector + let oReq = new XMLHttpRequest(); + oReq.open("GET", "../models/tiny_face_detector_model.weights", true); // 加载模型,传入路径 + oReq.responseType = "arraybuffer"; // 设置加载的文件返回类型 + oReq.onload = function () { + console.log('加载成功') + let arrayBuffer = oReq.response; // 加载完模型文件后获取到对应buffer + let weights = new Float32Array(arrayBuffer) + net.load(weights).then(()=>{ + console.log('加载成功') + resolve(); + }) + } + oReq.send(null); + }) +}, +``` + +3. 如果是uniapp,需要在webview中内嵌本项目。 +4. 例子中的模型可能用不上的可以去掉,防止加载慢。 5. macos h5中需要授权hbuild摄像头权限,不然会闪退。 \ No newline at end of file -- Gitee