Хакатон Microsoft OneWeek

Этим летом у меня была невероятная возможность принять участие в Microsoft OneWeek Hackathon в качестве стажера. Этот хакатон открыт для всех штатных сотрудников и стажеров Microsoft. Я работал со своими товарищами по стажировке, Тема Нвана (MIT) и София Чен (Браун). Я всегда хотел воплотить свою страсть для разнообразия и включения в технический проект, и этот хакатон дал мне такую ​​возможность. Это был невероятный опыт, который дал мне возможность развить свои технические навыки и навыки совместной работы, а также я получил опыт работы с Azure Cognitive Services API.

Одной из важнейших задач хакатона этого года, организованного генеральным директором Microsoft Сатьей Наделлой, была #HackForAcessibility. За отведенные нам 3 дня мы хотели создать проект для людей с ограниченными возможностями, а именно для людей с формами нарушения зрения.

Проблема

Когда кто-то с нарушением зрения выполняет поиск в Bing (или Google), он может сначала запросить изображение, используя вспомогательные функции, такие как преобразование голоса в текст. Однако после появления этих результатов пользователь может быть не в состоянии сказать, что они собой представляют по отдельности. Мы предлагаем, чтобы наш проект был доступен в качестве настройки учетной записи специальных возможностей, которая легко интегрировалась бы с Bing.

Решение

Чтобы решить эту проблему, мы создали функцию анализатора изображений для изображений Bing, которая считывает вслух точное описание того, что находится на каждом отображаемом изображении. Например, фотография может быть описана как "Барак Обама и Мишель Обама стоят на сцене"или "черная собака в поле лиловых цветов". Это совместимо как с загрузкой изображения, так и с получением ссылки при наведении курсора на изображение. Мы использовали и улучшили API Azure Cognitive Services Computer Vision.

На скриншоте ниже наведен курсор на текст под изображением воды. Описание «закат над водоемом» читается вслух.

Azure API имеет несколько возможностей, в том числе следующие:

  • Бренды — определяет различные бренды на изображении, включая приблизительное местоположение.
  • Категории — классифицирует изображение в соответствии с таксономией, определенной в документации.
  • Цвет — определяет цвет акцента, доминирующий цвет и является ли изображение черно-белым.
  • ImageType — определяет, является ли изображение клипартом или штриховым рисунком.
  • Объекты — определяет различные объекты на изображении, включая приблизительное местоположение. Аргумент Objects доступен только на английском языке.
  • Теги: помечает изображение подробным списком слов, связанных с содержимым изображения.
  • Знаменитости — идентифицирует знаменитостей, если они обнаружены на изображении.
  • Ориентиры – идентифицирует ориентиры, если они обнаружены на изображении.
  • Описание — описывает содержимое изображения полным предложением на поддерживаемых языках.

В основном мы использовали возможности Описания и Теги в нашем проекте.

Улучшения

Если часть общего описания изображения не достигла достаточно высокого уровня достоверности, мы модифицировали эту часть предложения. Например, если один из предметов, будь то знаменитость, достопримечательность, животное и т. д., не был хорошо известен, мы повышали его точность. Используя теги более высокого уровня, предоставляемые API, мы заменили это слово или фразу. В одном случае было трудно идентифицировать кроликов и крольчат. API проанализировал эти изображения как «кошки», как правило, с достоверностью около 30%. Это не очень много, учитывая, что наиболее точные описания составляют 50–60% или выше. В этом случае наша улучшенная модель НЛП заменила кошку млекопитающим или животным. Это значительно повысило точность маркировки изображений. Мы не смогли получить метрики для этого, потому что для получения точного результата потребовался бы анализ человеком очень большой случайной выборки, а это сложно сделать. Однако большинство неточных описаний, с которыми мы столкнулись во время тестирования, были исправлены.

В заключение, это была невероятная возможность поработать над проектом, над которым я давно собирался работать. Я ценю, что Microsoft вложила большие средства в этот хакатон, и мы увидели множество невероятных проектов, сосредоточенных на различных областях, таких как #HackForGood, #HackForDiversity и т. д.