Планета гаджетов / технологий
Искусственный интеллект и машинное обучение — это одни из самых популярных тем в бизнесе. Google, лидер в этой области, разработал набор инструментов для разработчиков, которые позволят создать новый пользовательский опыт с безграничными возможностями. Сегодня мы исследуем Google Cloud Vision API и его применение в приложениях Android.
Это интересный API, который позволяет разработчикам анализировать изображения и контекстные данные, используя самообучающуюся и развивающуюся модель машинного обучения — все в простом REST API. Благодаря этому API, мы можем получать контекстную информацию об изображении и классифицировать изображения по категориям и подкатегориям, достигая глубокого уровня детализации информации.
Для примера возьмем это изображение:
Vision API удивителен – он может распознать основной субъект фото (животное), определить его вид (собака) и породу (бигль). Более того, вы можете получить дополнительные данные о траве и горах на фоне.
Давайте взглянем на все функции Google Cloud Vision API:
В нашем примере мы используем две функции: обнаружение меток и оптическое распознавание символов. Давайте посмотрим, как интегрировать Vision API в приложение Android. Мы создадим пробный проект, который позволит пользователю выбирать изображение из галереи и получать о нем информацию.
Чтобы использовать API, мы должны включить его в Google Cloud Developer Console. Вот как это сделать:
Мы готовы начать, давайте приступим к кодингу.
Создайте новый проект в Android Studio и помните, что имя пакета должно совпадать с названием в проекте в Google Cloud Developer Console. Затем откройте build.gradle и добавьте зависимости Vision API.
Теперь откройте AndroidManifest.xml и добавьте необходимые разрешения для сетевых вызовов и получения информации об учетной записи, необходимой для запроса OAuth.
Сейчас мы можем создать Activity, которая позволит нам выбрать изображение из галереи и вызвать сервисы Cloud Vision, чтобы получить информацию о нем.
Файл макета нашей активности очень прост: у нас есть один ImageView, используемый для отображения выбранного изображения из галереи, два TextView для отображения результатов и одна Button, используемая для выбора изображения из галереи.
Вот файл с макетом нашей активности:
Теперь остановимся на самой Activity. В этом примере мы используем библиотеку Google API Client для Java, и так как мы используем OAuth запрос, нам нужно получить от Google токен аутентификации. Давайте определим класс, который позволит нам получить этот токен.
Примечание: для простоты мы будем использовать AsyncTask для сетевых операций, но если вы будете использовать этот API в реальном проекте, используйте библиотеку, например, Retrofit, возможно, вместе с RxJava.
Теперь у нас есть вся необходима информация, чтобы вызвать Cloud Vision API и получить результаты.
При помощи метода setType() мы определим тип функции, которую хотим использовать: в нашем случае это LABEL_DETECTION и TEXT_DETECTION. Формат изображения, переданного API, находится в Base64. Как только результаты будут получены, они передаются методу getDetectedText (), который будет форматировать строку и фильтровать информацию, после чего мы можем окончательно отобразить их в интерфейсе.
Искусственный интеллект и машинное обучение быстро стали основой цифровых преобразований. С внедрением Cloud Vision API Google предлагает первоклассный инструмент для интеграции этих технологий в повседневный рабочий процесс как пользователей, так и разработчиков. Прямо сейчас та же технология, что мы видели выше, уже является частью основных продуктов Google, таких как «Фотографии», используется в качестве помощи для организации и классификации нашей коллекции воспоминаний. Благодаря общей доступности этих инструментов тысячи продуктов смогут интегрировать эту удивительную технологию.