| | |
| | | // 调整图像大小 |
| | | const resizedImage = faceapi.resizeResults(img, { width: 600, height: 600 }); |
| | | // 设置检测选项 |
| | | const options = new faceapi.SsdMobilenetv1Options({ minConfidence: 0.3 }); |
| | | const options = new faceapi.SsdMobilenetv1Options({ minConfidence: 0.6 }); |
| | | counter = (i / images.length) * 100; |
| | | console.log(`Progress = ${counter}%`); |
| | | // Read each face and save the face descriptions in the descriptions array |
| | | const detections = await faceapi.detectSingleFace(resizedImage,options).withFaceLandmarks().withFaceDescriptor(); |
| | | if(detections?.descriptor){ |
| | | console.log('kankan ================') |
| | | console.log('kankan ================') |
| | | console.log('kankan ================') |
| | | console.log(detections===undefined) |
| | | if(detections&&detections.descriptor){ |
| | | descriptions.push(detections.descriptor); |
| | | imgs.push(images[i]) |
| | | }else{ |
| | | return '录入失败'; |
| | | } |
| | | |
| | | } |
| | |
| | | descriptions: descriptions, |
| | | images:imgs |
| | | }); |
| | | console.log(label) |
| | | console.log(descriptions) |
| | | console.log(imgs) |
| | | try{ |
| | | await createFace.save(); |
| | | console.log('人脸录入成功!') |
| | |
| | | } |
| | | ) |
| | | .then(() => { |
| | | app.listen(process.env.PORT || 80,'0.0.0.0'); |
| | | app.listen(process.env.PORT || 8188,'0.0.0.0'); |
| | | console.log("DB connected and server us running."); |
| | | console.log('http-sse-'+80) |
| | | logger.info('数据库连接成功,服务已启动,端口号80') |
| | | console.log('http-sse-'+8188+process.env.PORT) |
| | | logger.info('数据库连接成功,服务已启动,端口号8188') |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |