Эта статья является частью #25DaysOfServerless . Новые вызовы будут публиковаться каждый день от Microsoft Cloud Advocates в течение всего декабря. Узнайте больше о том, как Microsoft Azure включает ваши Бессерверные функции .
У вас есть идея или решение? Поделитесь своими мыслями в Твиттере!
Вы хотите, чтобы ваше приложение могло видеть, слышать, слушать, говорить и даже рассуждать? Не беспокойтесь! Вам не нужно иметь ученую степень в области машинного обучения. В настоящее время вы можете выбирать между различными сервисами искусственного интеллекта. Одним из них являются Azure Cognitive Services , доступные в виде API, SDK и сервисов. Они помогают разработчикам создавать интеллектуальные приложения. Когнитивные сервисы сгруппированы. Каждая группа поддерживает различные обобщенные возможности прогнозирования. Компьютерное зрение – это услуга по выбору для обработки и анализа изображений.
Использование Computer Vision API позволяет анализировать и описывать изображения, обнаруживать объекты, распознавать тексты и многое другое. Вы можете либо загрузить свое изображение в сервис, либо передать URL-адрес изображения.
В этом сообщении в блоге я хочу продемонстрировать использование API Cognitive Services, решив одну из проблем #25DaysOfServerless .
Здесь, в Мюнхене, Германия, Феликс с нетерпением ждет возможности посетить традиционный Weihnachtsmarkt, праздничный рынок! Он продолжает отправлять фотографии своему другу и рассказывать обо всех забавных вещах, которые он делает: пьет горячий глинтвейн, катается на коньках, покупает подарки. Но Анна не может найти свои очки и не может ясно видеть, что на фотографиях!
Для сегодняшней задачи Анне нужен сервис, который, учитывая изображение, описывает изображение и дает несколько ключевых слов о том, что оно содержит.
Чтобы решить эту 15-ю задачу нам нужно:
- Найдите изображение случайным образом или по ключевым словам, используя image API.
- Обработайте и проанализируйте данное изображение, чтобы дать соответствующее описание для данного изображения.
- (Необязательно) Отобразите изображение с подписью и ключевыми словами.
Авторское решение 🔥
Эту задачу можно рассматривать как продолжение задачи 7. Не стесняйтесь расширять свое собственное решение или вы можете использовать авторское решение , написанное на Java.
Мы будем использовать Когнитивные сервисы и интегрировать компьютерное зрение для вычисления описания и тегов для изображений. Поэтому войдите в портал и найдите Компьютерное зрение .
Бесплатный уровень позволяет вам совершать 20 звонков в минуту или 5000 в месяц. Это намного больше, чем нам нужно для решения этой задачи.
Все, что вам нужно, это ключ 1 и ваша конечная точка API, которые вы можете найти на портале по адресу Быстрый старт
.
В исходном коде все, что нам нужно сделать, это пройти аутентификацию с помощью сгенерированных ключей, а затем позволить API выполнять свою работу 🐱 🏍 . Поэтому подумайте, какие Типы визуальных объектов
интересны для конкретного варианта использования, поскольку мы хотим сохранить его как можно более kiss 💋 . Для этой задачи нам нужно только описание и теги, объясняющие, что вы можете увидеть на переданном изображении. Чтобы получить анализ изображения, позвоните в службу компьютерного зрения.
// Get environment variables and authenticate with computer vision String CV_KEY = System.getenv("COMPUTER_VISION_SUBSCRIPTION_KEY"); String CV_API = System.getenv("COMPUTER_VISION_ENDPOINT"); ComputerVisionClient compVisClient = ComputerVisionManager.authenticate(CV_KEY) .withEndpoint(CV_API); // This list defines the features to be extracted from the image. ListextractDescriptionAndTags = new ArrayList<>(); extractDescriptionAndTags.add(VisualFeatureTypes.DESCRIPTION); extractDescriptionAndTags.add(VisualFeatureTypes.TAGS); // Call the Computer Vision service and tell it to analyze the loaded image. ImageAnalysis analysis = compVisClient.computerVision().analyzeImage().withUrl(imageUrl) .withVisualFeatures(extractDescriptionAndTags).execute();
Полезно знать: То, что мы получим взамен, – это не только подписи и описания, но и соответствующие значения достоверности. Это может быть очень полезно для сценариев, в которых нам действительно нужно с определенной уверенностью знать, отображается ли на случайном изображении, например, рождественская елка или нет. Для этой задачи мы просто напечатаем наши результаты со значениями достоверности в консоли, чтобы удовлетворить любопытство наших разработчиков.
// Display image captions and confidence values. System.out.println("\nCaptions: "); String captionString = ""; for (ImageCaption caption : analysis.description().captions()) { captionString = caption.text(); System.out.printf("\'%s\' with confidence %f\n", caption.text(), caption.confidence()); } // Display image tags and confidence values. System.out.println("\nTags: "); StringBuilder keywords = new StringBuilder(); for (ImageTag tag : analysis.tags()) { keywords.append(tag.name()); keywords.append(" "); System.out.printf("\'%s\' with confidence %f\n", tag.name(), tag.confidence()); }
Наконец, мы возвращаем изображение с соответствующей подписью и ключевыми словами, чтобы завершить задачу. ✨
return request.createResponseBuilder(HttpStatus.OK).body(String.format("Search for image with keywords:%s. You can see on this picture: %s. With the keywords %s. Got url: %s", resultText, captionString, keywords, imageUrl)).build();
в заключение
Мы узнали, что такое Когнитивные сервисы, и, в частности, изучили искусственное понимание изображений. Поэтому мы видели пример того, как использовать Службу компьютерного зрения .
- Зарегистрируйте свой сервис, чтобы получить свои ключи API.
- Создайте список типов визуальных объектов, которые вы хотите извлечь.
- Проанализируйте изображение. Минни, я
Хотите представить свое решение этой проблемы? Создайте локальное решение, а затем отправьте проблему . Если ваше решение не связано с кодом, вы можете записать короткое видео и отправить его в качестве ссылки в описании проблемы. Обязательно сообщите нам, для какой задачи предназначено решение. Мы рады видеть, что вы создаете! У вас есть комментарии или вопросы? Добавьте их в область комментариев ниже.
Следите за сюрпризами весь декабрь, когда мы празднуем 25 дней без сервера. Следите за обновлениями здесь, на dev.to поскольку мы представляем проблемы и решения! Подпишитесь на бесплатную учетную запись в Azure , чтобы подготовиться к испытаниям!
Оригинал: “https://dev.to/azure/learn-to-automatically-analyze-your-images-using-ai-services-to-find-keywords-title-and-other-useful-metadata-3n6i”