profile-images-classification-worker
v0.1.0
Published
Browser profile image classification by Flexiligner
Readme
profile-images-classification-worker
Установка
npm install profile-images-classification-workerИспользование
import { ProfileImagesClassifier } from "profile-images-classification-worker";
const classifier = new ProfileImagesClassifier({
modelUrls: {
mouth: "https://cdn.example.com/mouth.onnx",
teethJawXray: "https://cdn.example.com/teeth-jaw-xray.onnx",
teethRotation: "https://cdn.example.com/teeth-rotation.onnx",
},
});
const result = await classifier.classifyFile(file);
console.log(result.className, result.classId, result.details);
classifier.dispose();API
new ProfileImagesClassifier({
modelUrls: {
mouth,
teethJawXray,
teethRotation,
jawRotation,
xrayRotation,
},
onnxWasmBaseUrl,
mediapipeWasmBaseUrl,
faceDetectorModelUrl,
faceLandmarkerModelUrl,
thresholds,
delegate,
debug,
workerUrl,
});Методы:
init()предварительно загружает MediaPipe и четыре ONNX-сессии в Web Worker.classifyFile(file)запускает основной пайплайн.classifyFiles(files)обрабатывает файлы последовательно и повторно использует сессии на стороне Web Worker.dispose()завершает работу worker и отклоняет ожидающие запросы.
Значения по умолчанию
- Базовый URL для ONNX WASM:
https://cdn.jsdelivr.net/npm/[email protected]/dist/ - Базовый URL для MediaPipe WASM:
https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm
Локальное демо
npm install
npm run devДемо читает URL моделей и сред выполнения из result/.env:
VITE_MOUTH_MODEL_URLVITE_TEETH_JAW_XRAY_MODEL_URLVITE_TEETH_ROTATION_MODEL_URLVITE_JAW_ROTATION_MODEL_URLVITE_XRAY_ROTATION_MODEL_URLVITE_ONNX_WASM_BASE_URLVITE_MEDIAPIPE_WASM_BASE_URLVITE_FACE_DETECTOR_MODEL_URLVITE_FACE_LANDMARKER_MODEL_URLVITE_CLASSIFIER_DEBUG
Для того чтобы использовать локальные onnx-модели - поместите их в папку models и укажите URL вида /models/mouth.onnx.
Для публикации на npm, соберите пакет с помощью npm run build и опубликуйте его с помощью npm publish.
Публикуется в пакет только dist/, который содержит скомпилированные файлы и типы. Исходный код и конфигурация сборки остаются в репозитории для удобства разработки.
