Как стать автором
Обновить

Снятся ли телефонам с HMS электроовцы? Обзор функций и возможностей инструментов AI от Huawei

Время на прочтение 10 мин
Количество просмотров 17K
Перерисовать человека в кота и наоборот, перевести надпись с китайского «на лету» и сделать подборку статей — эти и многие другие сценарии в мобильных приложениях стали возможны благодаря сервисам, использующим технологии искусственного интеллекта и решающим когнитивные задачи. В мобильной экосистеме Huawei они реализуются через сервис ML Kit, который дает доступ к готовым функциям для мобильных приложений: переводу текста в речь и наоборот, распознаванию лиц и движений и многим другим. Под катом мы расскажем, какие AI-решения предоставляет платформа HMS и как на ней можно работать со своими моделями.

AI «из коробки»

ML Kit — самый простой способ интегрировать функции AI в ваше приложение. Этот компонент HMS Core предоставляет доступ к API-интерфейсам, с помощью которых можно не изобретать велосипед, а использовать готовые модели. Здесь можно найти практически все популярные функции ИИ, которых ждут пользователи: распознавание лиц, перевод речи в текст и т. д. Сервис поддерживает все устройства Android с архитектурой ARM, единственное требование — интеграция с HMS Core ML Software Development Kit (SDK). Для каждой из популярных задач AI в нём предусмотрена своя служба.

Работа с текстом

ML Kit позволяет распознавать как простой текст, так и элементы форматирования: абзацы, картинки и т. п. С помощью этих инструментов можно создавать приложения, считывающие данные с банковских карт или проездных, для оцифровки документов и т. д. С текстом в ML Kit работает пять служб:
Служба распознавания текста работает с надписями на квитанциях, визитках и документах. В офлайне сервис разбирает надписи на упрощённом китайском, японском, корейском, английском, испанском, португальском, итальянском, немецком, французском и русском языках, а также определяет специальные символы. В онлайне добавляются польский, финский, норвежский, шведский, датский, турецкий, тайский, арабский, хинди и индонезийский языки.
Служба распознавания документов распознаёт не только текст, но и его форматирование, например абзацы и изображения. Процесс идёт только через облачный API.
Служба распознавания банковских карт считывает номера и прочую информацию с кредиток China UnionPay, American Express, Mastercard, Visa и JCB.
Служба распознавания карт — любых — позволяет настраивать логику постобработки для извлечения информации из дисконтных карт, различных удостоверений личности, пропусков и т. п.
Служба распознавания форм позволяет оцифровывать таблицы: она распознаёт текст и считывает информацию о структуре: строках, столбцах, координатах ячеек. Сервис работает с документами на китайском и английском языках, понимает знаки препинания.

Работа с речью и переводы

С помощью ML Kit можно создавать приложения, которые будут слышать и понимать пользователя: писать под диктовку, транскрибировать аудиофайлы, создавать обучающие курсы. Сервис позволяет идентифицировать языки, переводить между ними, и с его помощью можно заставить приложение разговаривать. Непосредственно на устройстве можно выполнять следующие операции с речью и аудио:
  • переводить в режиме реального времени один из 20 языков, но модели перевода для исходного и для целевого языков необходимо предварительно загрузить на телефон;
  • определить язык речи в режиме реального времени. Служба возвращает коды стандарта ISO 639−1. Сейчас поддерживается 51 язык;
  • преобразовать речь в текст. Сервис работает с французским, испанским, немецким и итальянским языками. Текущая версия предоставляет пять типов женских голосов.
При подключении к интернету появляются дополнительные опции:
  • перевод в режиме реального времени с 31 языка;
  • количество распознаваемых языков увеличивается до 107;
  • расширяются возможности преобразования текста в речь (TTS) в реальном времени — использует режим синтеза глубокой нейронной сети (DNN). Доступны два мужских и шесть женских голосов, громкость и скорость которых можно регулировать. За один запрос обрабатывается текст до 500 символов в кодировке UTF-8;
  • преобразование в реальном времени речи в текст и транскрибирование звуковых фрагментов продолжительностью до 60 секунд с точностью распознавания более 95 %. К сожалению, русский язык сервис пока не понимает. Эту функцию можно использовать для голосового поиска в приложениях, набора текста для заметок, сообщений и пр.;
  • транскрибация аудиофайлов формата WAV, M4A и AMR продолжительностью до 5 часов. Пока сервис поддерживает только китайский и английский языки. Служба подходит для создания субтитров к видео, так как поддерживает транскрибацию с отметками времени;
  • создание интерактивных обучающих роликов из презентационных материалов в формате PDF и комментариев к ним. Вручную остаётся только задать параметры видео и аудио;
  • обнаружение различных типов звуков: идентификация смеха, детского плача, храпа, чихания, крика и других звуковых событий. Пример применения — приложения для пользователей с нарушениями слуха, помогающие своевременно реагировать на сигналы тревоги, звонки в дверь и т. п.;
  • преобразование речи в текст «на лету». Сгенерированный текст содержит знаки препинания и временные метки. В настоящее время можно распознать китайский, английский и французский языки.
Служба определения языка в реальном времени при наличии интернета различает более 100 языков и возвращает коды стандарта ISO 639−1. С помощью сервиса можно, например, определять типы языков перед переводом веб-страниц.

Работа с изображениями

ML Kit позволяет распознавать объекты на фотографиях или прямо из потока камеры. Есть возможность классифицировать товары, географические ориентиры, сценарии на фото. Это позволяет создавать умные галереи, приложения для обработки изображений, автоматической настройки параметров камеры и пр.
Служба классификации изображений сортирует элементы картинок по интуитивно понятным категориям: люди, объекты, среды, действия, произведения искусства и т. д. Кроме того, сервис позволяет настраивать модели классификации изображений. В офлайне поддерживается более 400 общих категорий изображений, в онлайне — свыше 12 тыс.
Служба обнаружения и отслеживания объектов детектирует на изображении сразу несколько целей, способна определять и классифицировать в режиме реального времени товары для дома, одежду, продукты питания, места, растения, лица и др.
Служба распознавания ориентиров позволяет получить название сфотографированного объекта и его координаты — долготу и широту. В базе данных — более 17 тыс. объектов со всего мира. При распознавании вызывается облачный API.
Служба сегментации изображений вычленяет из картинок определённые элементы (человеческое тело, небо, растения, продукты, животные, вода, песок, здания, горы и др.) и сохраняет массив координат для каждого из них. Используется для приложений, обрабатывающих фото, например вы можете поменять цвет неба или поместить портрет на другой фон.
Служба визуального поиска продукта выполняет по фотопоиск одинаковых или похожих товаров в предварительно установленной библиотеке изображений. Сервис используется в приложениях для онлайн-коммерции: чтобы быстрее найти желаемый товар, нужно загрузить фото такого же или похожего изделия.
Служба улучшения разрешения помогает устранить «шум» в низкокачественных изображениях, сделать картинку чёткой. Кроме того, алгоритм даёт возможность без потери качества увеличить фото в три раза.
Служба коррекции перекоса автоматически определяет местоположение документа на изображении и регулирует угол съёмки в соответствии с углом обзора.
Служба улучшения изображения, содержащего текст, позволяет повысить чёткость символов. Используется для лучшего распознавания текста с низкокачественных или повреждённых копий.
Служба обнаружения сценариев классифицирует содержимое изображений по категориям: портрет, внутренние помещения, здания и т. д. (всего 102 сценария). Используется для классификации изображений в галерее, автоматической настройки параметров камеры на основе сцены в кадре и т. п.

Распознавание человека

Отдельно от остальных образов ML Kit позволяет распознавать на изображениях человека. Самый популярный сценарий — распознавание лиц, которое используется в различных системах безопасности. С помощью служб ML Kit можно:
Распознавать лица: служба фиксирует до 855 точек контура лица и идентифицирует формы и черты лица пользователя, его эмоции, возраст, пол и одежду. Может одновременно распознать несколько лиц, «понимает» улыбку, гнев, отвращение, страх, печаль и удивление.
Распознавать позы. ML Kit считывает и анализирует информацию о ключевых точках человеческого тела, таких как верхняя часть головы, шея, плечи, локти, запястья, бёдра, колени и лодыжки. Приложение, подключённое к этому сервису, можно запрограммировать на автоматическую съёмку после того, как пользователь принимает определённую позу.
Автоматически проверить личность без выполнения пользователем каких-либо инструкций.
Распознавать положения руки. Сервис определяет координаты 21 ключевой точки руки: кончиков пальцев, суставов, запястья и т. п. Например, это можно использовать в приложениях для преобразования руки в 2D-модель и синхронизации с моделью персонажа анимации.

Обработка естественного языка

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

Работа с собственными моделями

ML Kit не ограничивается стандартными моделями — если их не хватает или нужно использовать собственные алгоритмы, можно создать свою собственную модель, обучить её с нуля или добавить необходимые параметры в предварительно обученную.
Фреймворк MindSpore Lite предоставляет простые API-интерфейсы для интеграции пользовательской модели на устройство. Он совместим со всеми основными платформами или фреймворками для вывода моделей, такими как MindSpore, TensorFlow Lite, Caffe и Onnx. На основе MindSpore Lite работает ещё один инструмент, AI Create. С его помощью можно быстро обучать и создавать новые модели для идентификации изображений и текста.
В самом ML Kit есть функция развёртывания и вывода модели — инструмент, который позволяет интегрировать модели локально или в режиме облачного хостинга. Вы можете упаковывать модели с приложениями или загружать их на платформу хостинга моделей ML Kit. Затем они загружаются и обновляются через ML SDK.
Простейший способ получить модель с нужными параметрами — переучить предварительно обученную модель от ML Kit под свои потребности. В настоящее время в качестве исходной доступна модель для классификации изображений, которая определяет элементы по интуитивно понятным категориям: люди, действия, произведения искусства и т. п.

Расширенные возможности для приложений с функциями AI

Для тех, кому не хватает возможностей ML Kit, у Huawei есть HiAI — открытая платформа для работы с искусственным интеллектом. Это набор инструментов, с помощью которых можно создавать свои модели и алгоритмы под любую стандартную или нестандартную задачу, а также тестировать их на наших серверах. HiA состоит из трёх компонентов: HiAI Foundation, HiAI Engine и HiAI Service. Каждый компонент содержит инструменты для работы на своём уровне: с облачными сервисами, функциями самого устройства и с нейронными процессорами.

Работа с NPU

Huawei HiAI Foundation открывает разработчикам доступ к функциям, реализованным в процессорах. В первую очередь он обеспечивает работу когнитивных сервисов с процессорами и NPU (Neural Processing Unit): упрощает трансформацию и миграцию существующих моделей, повышает производительность процессора для операций AI. Благодаря инструментам HiAI Foundation телефоны Huawei и Honor могут:
  • компилировать разных операторов нейронных сетей, включая свёртывание, объединение, и активацию, в выделенные последовательности инструкций;
  • оптимизировать данные (пакет, канал, высоту и ширину) в модели нейронной сети, в частности в данных канала в картах функций;
  • при отсутствии NPU адаптировать возможности CPU для работы с моделями: определить вычислительные возможности рабочей среды, адаптивное разделение подграфов и планирование устройств для нейронной сети;
  • приводить модели к точному соответствию с определёнными требованиями с помощью большого числа встроенных алгоритмов для калибровки или переобучения.

Работа на уровне API

Следующий компонент — Huawei HiAI Engine — предоставляет набор готовых решений для работы через API. Функции HiAI Engine сводятся к трём основным направлениям:
  • Компьютерное зрение (CV): можно улучшить качество фотографий, распознать объекты, человеческие позы и лица с изображений и потокового видео.
  • Автоматическое распознавание речи (ASR): можно распознать человеческий голос и преобразовать речь в текст для облегчения дальнейшего анализа и понимания компьютерами.
  • Механизм понимания естественного языка (NLU) в сочетании с ASR позволяет приложениям понимать человеческий голос или текст, налаживать коммуникацию между машиной и человеком. В этом направлении с помощью HiAI Engine можно сегментировать слова, распознавать текстовые сущности, анализировать эмоции и осуществлять машинный перевод с разных языков.

Облачные возможности HiAI

Huawei HiAI Service является службой облачных вычислений: приложение отправляет данные на серверы Huawei, а в ответ получает обработанные результаты. Функции этот сервиса, например, использует платформа Ability Gallery: в облаке происходит обработка запросов пользователей, изображений и голосовых команд, подбор контента, а на устройство отправляются уже готовые результаты.
Так работает, например, режим HiVision в телефонах новой серии Huawei Mate 20. С помощью одной из функций HiVision Identify устройство, подключаясь к нашим облачным сервисам, сканирует и идентифицирует объекты и изображения, выдавая пользователю информацию о товарах, достопримечательностях, известных произведениях живописи и т. п. А если в этом режиме навести камеру на продукт питания или фрукт, то помимо прочего AI рассчитает примерное количество калорий. Можно даже сканировать математические задачи, чтобы получить ответ.

Примеры работы c AI в экосистеме Huawei

В этой статье мы перечислили основные возможности нашей платформы, а основные примеры и пошаговые руководства собрали в нашем Codelabs. Например, здесь можно ознакомиться с работой служб ML Kit на примере сервиса Face Detection или с распознаванием текста, таблиц и улучшением изображений с помощью HiAI Engine. ML Kit уже используют более 200 наших партнёров за пределами Китая, попробуйте и вы. А если у вас возникли вопросы — мы ответим на них в комментариях.
Теги:
Хабы:
+18
Комментарии 14
Комментарии Комментарии 14