Распознавание.js: Node.js фреймворк для обнаружения и распознавания изображений
Recognize.js: Node.js фреймворк для обнаружения и распознавания объектов на изображениях.
Установка
brew install graphicsmagick
npm i recognizejs
Начало работы
Импортируйте Recognizejs в свой проект:
const Recognizejs = require('recognizejs');
Создайте модель с Recognizejs и инициализируйте её:
const myModel = new Recognizejs();
// Инициализация модели
await myModel.init();
Примечание: инициализация модели может занять до 1-2 минут (в зависимости от производительности вашего устройства), поэтому будьте терпеливы.
Прочитайте файл изображения:
const fs = require('fs');
const myImgBuffer = fs.readFileSync(myImagePath);
Вызовите функцию recognize
модели и передайте буфер изображения в качестве параметра:
// Функция recognize вернёт объект Promise, рекомендуется использовать оператор await для получения возвращаемого значения.
const results = await myModel.recognize(myImgBuffer);
/*
[
{
className: ['className1', 'className2', 'className...'],
probability: 0.9
},
{
className: ['className1', 'className2', 'className...'],
probability: 0.599
}
]
*/
console.log(results);
Пример кода можно найти в папке examples.
API
Создание объекта модели Recognizejs:
new Recognizejs(config?);
Аргументы: config — необязательный параметр со следующими атрибутами:
{
cocoSsd?: {
// base: Управляет базовой моделью cnn, может быть 'mobilenet_v1', 'mobilenet_v2' или 'lite_mobilenet_v2'. По умолчанию используется 'lite_mobilenet_v2'. lite_mobilenet_v2 является наименьшим по размеру и самым быстрым по скорости вывода. mobilenet_v2 имеет наивысшую точность классификации.
base?: ObjectDetectionBaseModel,
// Необязательная строка, указывающая пользовательский URL модели. Это полезно для регионов/стран, у которых нет доступа к модели, размещённой на GCP.
modelUrl?: string
},
mobileNet?: {
// Номер версии MobileNet. Используйте 1 для MobileNetV1 и 2 для MobileNetV2. По умолчанию 1.
version: 1,
// Управляет шириной сети, обменивая точность на производительность. Меньшее значение альфа уменьшает точность и увеличивает производительность. 0,25 доступно только для V1. По умолчанию 1,0.
alpha?: 0.25 | .50 | .75 | 1.0,
// Необязательный параметр для указания пользовательского URL модели или объекта tf.io.IOHandler. Возвращает объект модели.
// Если вы находитесь в материковом Китае, пожалуйста, измените modelUrl на ссылку модели на https://hub.tensorflow.google.cn
modelUrl?: string,
// Необязательный параметр, указывающий ожидаемый диапазон значений пикселей для обученной модели, расположенной по адресу modelUrl. Обычно это [0, 1] или [-1, 1].
inputRange?: [number, number]
}
}
cocoSsd и mobileNet — это разные нейронные сети. cocoSsd используется для идентификации и классификации нескольких объектов на изображении, а mobileNet — для точной идентификации объекта.
Инициализация обучающей модели:
model.init(modelType?);
Функция init возвращает объект Promise, вы можете использовать оператор await для его обработки. Аргумент: modelType может быть строкой или массивом. Вы можете установить здесь модель для загрузки, чтобы избежать загрузки ненужной модели.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )