« Back to History
face-api-setup.js
|
20260721_154032.php
Initial Bulk Import
Copy Code
<!-- in header of enroll.php and punch.php --> <script src="https://unpkg.com/face-api.js@0.22.2/dist/face-api.min.js"></script> <script> /* face-api loader helper */ async function loadFaceApiModels(basePath='/erp/models/face-api') { // choose ssd_mobilenetv1 or tiny_face_detector (ssd more accurate, tiny faster) await faceapi.nets.ssdMobilenetv1.loadFromUri(basePath); await faceapi.nets.faceLandmark68Net.loadFromUri(basePath); await faceapi.nets.faceRecognitionNet.loadFromUri(basePath); // optionally: await faceapi.nets.tinyFaceDetector.loadFromUri(basePath); return true; } /* helper to get descriptor (Float32Array -> normal JS array) */ async function getFaceDescriptorFromVideoElem(videoEl, options = {}) { // options: detectionOptions if you use tiny face detector const res = await faceapi.detectSingleFace(videoEl).withFaceLandmarks().withFaceDescriptor(); if (!res) return null; // descriptor is Float32Array; convert to regular array return Array.from(res.descriptor); } /* helper to get descriptor from an image element/blob */ async function getDescriptorFromImageBlob(blob) { const img = await faceapi.bufferToImage(blob); const res = await faceapi.detectSingleFace(img).withFaceLandmarks().withFaceDescriptor(); if (!res) return null; return Array.from(res.descriptor); } </script>