Наука
Inspector Cloud - это AI решение, которое используют тысячи конечных пользователей. Ниже информация о продукте.
Inspector Cloud использует фотографические данные, которые анализируются при помощи алгоритмов машинного зрения на основе глубого обучения, что позволяет идентифицировать на фото требуемый товар из торговых точек и посчитать его количество. Наличие выборки фотографических данных повышает точность аудитов торговых точек до 95% и выше при условии достаточно качества входящих данных.

Относительно быстрая обработка фото данных из торговой точки – одно из преимуществ системы. Благодаря короткому времени отклика системы сотрудник клиента, находящийся в торговой точке, имеет возможность оперативно контролировать выкладку товара, оптимизируя трудозатраты.

Кроме того, есть возможность ретроспективного анализа выкладки товара, не полагаясь на полевых сотрудников и сотрудников в торговых точках, которые проверяют лишь наличие товара на полках, не давая точных данных о доле полки конкурентов, не проверяя корректность цен на ценниках и соответствие планограмме.

Подсистема получения фотографий

Подсистема получения фотографий выполняет функцию доставки изображений с мобильных устройств полевых сотрудников к серверам системы для последующей обработки. Поддерживается три основных канала доставки фотографий:

1. через собственное мобильное приложение;

2. через популярные мессенджеры;

3. через REST API из сторонних мобильных приложений.

Канал доставки через собственное мобильное приложение дает максимальный контроль над процессом использования системы в ритейл-аудите, включая процессы фотосъемки (например, становится возможным панорамирование с использованием датчиков смартфона), передачи изображений, отображения «живых» отчетов (отчеты, подготавливаемые в процессе аудита торговой точки). С другой стороны, широкое использование проприетарного мобильного приложения осложняется необходимостью поддержки нескольких мобильных операционных систем, большого количества моделей мобильных устройств, обучения персонала использованию нового приложения.

Подсистема контроля качества изображений

Подсистема контроля качества изображений выполняет функцию первичного контроля поступающих изображений и быстрой обратной связи с агентами с целью исправления допущенных отклонений от стандартов качества съемки. Контролируется резкость фотографии, а также наличие крупных препятствий, заслоняющих товары.

Подсистема распознавания изображений

Подсистема распознавания изображений последовательно выполняет следующие основные функции:

1. детектирование объектов на фотографии;

2. классификация объектов на фотографии.

Задачей алгоритма детектирования является определение описанных прямоугольников (bounding box) всех товаров, представленных на фотографии. Для детектирования используется сверточная нейронная сеть на базе известной сети AlexNet [ImageNet Classification with Deep Convolutional Neural Networks by Alex Krizhevsky and Sutskever, Ilya and Geoffrey E. Hinton http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf ].

При обучении и анализе изображения используются две нейронных сети. На этапе обучения размер входного изображения фиксирован и составляет 224х224 пикселя. Нейронная сеть для обучения состоит из следующих слоев:

1. Чтение данных из базы данных LMDB [ https://lmdb.readthedocs.io ]

2. Слой пред-обработки изображения

a. конвертация цветовых каналов из RGB в BGR

b. линейное преобразование значений пикселей (сдвиг и масштабирование), которое использовалось в оригинальной сети AlexNet

3. Сверточный слой с размером ядра 11х11, шагом 4 пикселя и количеством выходных признаков 96. В качестве активационной функции используется ReLU (Rectifier Linear Unit)

4. Слой субдискретизации (maxpool) с размером ядра 3х3 пикселя и шагом 2 пикселя

5. Слой локальной нормализации изображения в окрестности 5х5 пикселей с параметрами

6. Сверточный слой с размером ядра 5х5, шагом 1 пиксель и количеством выходных признаков 256. В качестве активационной функции используется ReLU (Rectifier Linear Unit). Кроме того, данный слой расширяет границы изображения на два пикселя в каждую сторону (padding 2 пикселя)

7. Слой субдискретизации (maxpool) с размером ядра 3х3 пикселя и шагом 2 пикселя

8. Слой локальной нормализации изображения в окрестности 5х5 пикселей с параметрами

9. Сверточный слой с размером ядра 3x3, шагом 1 пиксель и количеством выходных признаков 384. В качестве активационной функции используется ReLU (Rectifier Linear Unit). Величина padding составляет 1 пиксель

10. Сверточный слой с размером ядра 3x3, шагом 1 пиксель и количеством выходных признаков 384. В качестве активационной функции используется ReLU (Rectifier Linear Unit). Величина padding составляет 1 пиксель. Начиная с этого слоя первая половина выходных признаков и вторая половина выходных признаков обрабатываются независимо для того, чтобы была возможность параллельного выполнения на двух графических процессорах.

11. Сверточный слой с размером ядра 3x3, шагом 1 пиксель и количеством выходных признаков 256. В качестве активационной функции используется ReLU (Rectifier Linear Unit). Величина padding составляет 1 пиксель.

12. Слой субдискретизации (maxpool) с размером ядра 3х3 пикселя и шагом 2 пикселя

13. Полносвязный слой, в котором количество с числом выходных признаков 4096 и функцией активации ReLU. Для регуляризации на этапе обучения в этом слое осуществляется случайное выкалывание 50% связей (Dropout). На этом слое параллельная обработка признаков завершается.

14. Полносвязный слой, в котором количество с числом выходных признаков 4096 и функцией активации ReLU. Для регуляризации на этапе обучения в этом слое осуществляется случайное выкалывание 50% связей (Dropout)

15. Выходные нейроны слоя предыдущего являются входными для трех полносвязных слоев, а именно:

a. Полносвязный слой с количеством выходных признаков . При обучении этого слоя минимизируется значение Softmax-функцонала. Данный слой позволяет детектировать один из типов упаковки. Один из выходных признаков соответствует отсутствию какого-либо типа упаковки.

b. Полносвязный слой с единственным выходным признаком, соответствующем ширине ограничивающего прямоугольника. Для обучения этого слоя минимизируется значения функционала, характеризующего среднеквадратическую ошибку определения ширины ограничивающего прямоугольника.

c. Аналогичный полносвязный слой для поиска высоты ограничивающего прямоугольника.