В этом посте я кратко расскажу об архитектуре и рабочем процессе модели.

Архитектура исходной модели

Мы разработали первую модель как модель классификации, которая будет принимать изображение на входе и выводить его метку. Набор данных, используемый для разработки модели, был создан нами, поэтому нужно было позаботиться лишь о небольшой предварительной обработке. Архитектура модели примерно такая, как показано на рисунке ниже:

Модель хорошо работала на изображении, состоящем из одного символа, но не использовалась при рисовании ограничительной рамки на изображении, содержащем несколько текста. Хотя эту модель можно использовать для классификации персонажей, а также для маленьких детей при определении того, что они пишут. Учимся с удовольствием. Не правда ли?

Архитектура финальной модели

Окончательная модель использует архитектуру модели EAST. Модель EAST была предложена в 2017 году для прямого прогнозирования слов или текстовых строк произвольной ориентации и четырехугольной формы в полных изображениях, исключая ненужные промежуточные шаги (например, агрегацию кандидатов и word partitioning) с единственной нейронной сетью.

В конвейере используется модель полностью сверточной сети (FCN), которая напрямую производит предсказания на уровне слов или текстовых строк, исключая избыточные и медленные промежуточные шаги. Созданные предсказания текста, которые могут быть повернутыми прямоугольниками или четырехугольниками, отправляются в службу подавления без максимума для получения результатов.

Модель передает обучение, беря предварительно обученные веса из модели Resnet-50, и выполняет дальнейшее обучение.

Рабочий процесс всего проекта

Модель машинного обучения интегрирована и размещена с помощью Firebase. Изображение, для которого должна быть проведена классификация, загружается в bucket. Функция Cloud запускается при каждой загрузке, которая, в свою очередь, вызывает функцию прогнозирования. Функция прогнозирования принимает JSON в требуемом формате и передает его в Google AI Serving. Предсказанное изображение отправляется обратно клиенту.

Мы попытались прочитать и записать изображение из Firestore, чтобы сделать его быстрым, но проблема в том, что размер документа в Firestore не должен превышать 1 МБ. Поэтому мы перешли на Google Cloud Storage для чтения и записи изображения. Загруженное изображение и прогнозируемые изображения были сохранены, чтобы модель могла быть обучена на нем для повышения точности.

Служба Google AI работает очень быстро, единственное ограничение состоит в том, что размер модели должен быть 250 МБ, а сохраненная модель должна быть в формате .pb. Архитектура и последовательность операций показаны на следующей диаграмме:

В следующей и последней части серии я поделюсь с вами своим опытом обучения.

Спасибо за чтение: Продолжить чтение:

Ссылка на часть 1: здесь

Ссылка на часть 3: здесь