Ко всем кейсам
Mobile
Заказчик — визионер с большим опытом, который хочет изменить привычные для всех вещи в лучшую сторону. Сама идея создания приложения звучала для нас как вызов, мимо которого мы не смогли пройти.
Создать MVP версию мобильного приложения, которое поможет пользователям быстро и просто приобретать товары из любого видео. Предположим, вы смотрите фильм, и платье главной героини западает в душу с первого взгляда. Но как его найти среди всего видеопотока? Заходите в приложение, наводите смартфон на экран, и сразу получаете название фильма и карточку товара для покупки.
Основная – real-time распознавание видео. Пользователь сканирует экран устройства – телевизор, планшет или ноутбук, – алгоритм искусственного интеллекта определяет фрагмент видео и товары в нем. Понравившиеся товары можно купить или добавить в вишлист, а еще посмотреть историю отсканированных видео.
– Приложение создано на фреймворке Flutter.
– Табличная база данных видео с предложениями о товарах.
– ML-модели, обученные на TensorFlow.
– База с шаблонными числовыми векторами кадров видео из базы Milvus.
Почему Flutter? Кроссплатформенность Flutter позволяет охватить две мобильные операционные системы, iOS и Android, одним кодом. А значит, Time To Market произойдет быстрее, чем при нативной разработке.
К тому же у Flutter есть возможность повторять дизайн-макеты точно. Время на верстку не требуется, ведь UI Flutter производит своими силами.
А еще на Flutter можно интегрировать искусственный интеллект сразу на обе платформы: Android и iOS.
При разработке приложения мы оптимизировали работу искусственного интеллекта на IOS: на стадии запуска скорость работы ИИ составляла 6 секунд на обработку одного кадра, а после оптимизации скорость обработки одного кадра снизилась до 100 миллисекунд.
За разработку ML-модели отвечали наши коллеги из AGIMA AI. AGIMA AI помогает автоматизировать бизнес с помощью алгоритмов машинного обучения и искусственного интеллекта, также принимать верные решения на основе больших данных. Для приложения коллеги разработали ML-модель, которая распознает видео и предлагает товары в нем присутствующие. Если вы пользуетесь приложением для распознавания музыки Shazam, то здесь что-то подобное, но для видеопотока.
Вместе с командой AGIMA AI мы портировали пайплайн распознавания на Dart и получили решение, которое отлично работает в реальном времени на широком спектре мобильных устройств и на iOS, и на Android.
Пайплайн состоит из нескольких частей:
1. Детекция монитора, на котором показывается видеопоток. Для обучения детекции мы собрали и разметили изображения, на которых наблюдаются включенные мониторы.
2. Эмбеддинг полученного кадра из видеопотока: превращение изображения кадра в численный вектор. Мы собрали много разнообразных картинок: кадры из фильмов, картины, произведения искусства и пр. А дальше научили эмбеддер отличать все эти картинки друг от друга.
3. Мэтчинг полученных численных векторов с шаблонными векторами из базы Milvus.
4. Предложение товаров на основе найденного видеопотока.
С точки зрения пользователя ML-модель работает так: пользователь снимает видеопоток на смартфон, детектор находит монитор в его окружении, преобразует показываемый видеопоток из монитора в численный вектор. Каждые 6 кадров по полученной последовательности числовых векторов происходит поиск шаблонного вектора. Когда нужный вектор найден, определяется видеопоток и пользователь узнает, откуда это видео, и какие в нем товары присутствуют
За два месяца мы создали MVP версию приложения, которая не имеет аналогов на рынке. Разработали дизайн, создали ML-модель и все это реализовали на Flutter. Теперь для поиска товара в видео достаточно навести смартфон на монитор и получить ответ за доли секунды: какой фильм, какие часы и костюм на главном герое.
Дмитрий Тарасов
CEO Amiga
Владимир Причина
PM Amiga
Сергей Лепшей
PM Amiga
Леонид Никулин
Art Director Amiga
Тимур Моисеев
Teamlead Amiga
Антон Мартышков
Flutter Dev, Amiga
Андрей Татаринов
CEO AGIMA AI
Александр Козлов
ML Dev, AGIMA AI