Представляємо програму Generative AI для перетворення зображення в мову за допомогою Amazon SageMaker і Hugging Face | Веб-сервіси Amazon

Представляємо програму Generative AI для перетворення зображення в мову за допомогою Amazon SageMaker і Hugging Face | Веб-сервіси Amazon

Втрата зору має різні форми. Для одних це від народження, для інших це повільне падіння з часом, яке супроводжується багатьма датами придатності: день, коли ви не можете бачити фотографії, впізнавати себе чи обличчя своїх близьких або навіть читати свою пошту. У нашому попередньому блозі Дозвольте людям із вадами зору прослуховувати документи за допомогою Amazon Texttract і Amazon Polly, ми показали вам нашу програму Text to Speech під назвою «Прочитай для мене». Доступність пройшла довгий шлях, але як щодо зображень?

На конференції AWS re:Invent 2022 у Лас-Вегасі ми продемонстрували «Опиши мені» на AWS Builders' Fair, веб-сайті, який допомагає людям із вадами зору розуміти зображення за допомогою підписів до зображень, розпізнавання обличчя та перетворення тексту в мовлення, технології, яку ми називаємо «Зображення в мовлення». Завдяки використанню кількох служб штучного інтелекту/ML «Describe For Me» генерує підпис до вхідного зображення та читає його чітким, природним голосом різними мовами та діалектами.

У цій публікації блогу ми ознайомимо вас з архітектурою рішення, що лежить в основі «Опишіть для мене», і розглянемо особливості дизайну нашого рішення.

Огляд рішення

Наступна еталонна архітектура показує робочий процес користувача, який робить фотографію за допомогою телефону та відтворює MP3 із підписом до зображення.

Еталонна архітектура для описаного рішення.

Робочий процес включає наступні кроки,

  1. AWS Amplify розповсюджує веб-програму DescribeForMe, що складається з HTML, JavaScript і CSS, на мобільні пристрої кінцевих користувачів.
  2. Команда Амазонка Когніто Пул ідентифікаційних даних надає тимчасовий доступ до Amazon S3 відро.
  3. Користувач завантажує файл зображення в Amazon S3 використання відра AWS SDK через веб-додаток.
  4. Веб-програма DescribeForMe викликає серверні служби AI, надсилаючи Amazon S3 об'єкт Введіть корисне навантаження для API -шлюз Amazon
  5. API -шлюз Amazon створює екземпляр an Функції кроку AWS робочий процес. Державна машина керує послугами штучного інтелекту/машинного навчання (AI/ML) Amazon Rekognition, Amazon SageMakerТекст Amazon, Amazon Translate, та Амазонка Поллі  використання AWS лямбда функції.
  6. Команда Функції кроку AWS робочий процес створює аудіофайл як вихідний файл і зберігає його Amazon S3 у форматі MP3.
  7. Попередньо підписана URL-адреса з розташуванням аудіофайлу, що зберігається в Amazon S3 надсилається назад до браузера користувача API -шлюз Amazon. Мобільний пристрій користувача відтворює аудіофайл за попередньо підписаною URL-адресою.

Покрокове керівництво рішенням

У цьому розділі ми зосередимося на міркуваннях дизайну, чому ми вибрали

  1. паралельна обробка в межах an Функції кроку AWS робочий
  2. уніфікована послідовність попередньо навченої моделі машинного навчання OFA (One For All) від Обіймати обличчя до Amazon SageMaker для підпису зображення
  3. Amazon Rekognition для розпізнавання обличчя

Для більш детального огляду того, чому ми вибрали безсерверну архітектуру, синхронний робочий процес, робочий процес із швидкими покроковими функціями, безголову архітектуру та отримані переваги, прочитайте нашу попередню публікацію в блозі Дозвольте людям із вадами зору прослуховувати документи за допомогою Amazon Texttract і Amazon Polly

Паралельна обробка

Використання паралельної обробки в робочому процесі Step Functions скоротило час обчислення до 48%. Щойно користувач завантажує зображення до сегмента S3, Amazon API Gateway запускає робочий процес AWS Step Functions. Потім наведені нижче три лямбда-функції паралельно обробляють зображення в рамках робочого процесу Step Functions.

  • Перша викликана лямбда-функція describe_image аналізує зображення за допомогою Модель OFA_IMAGE_CAPTION розміщений на кінцевій точці SageMaker у реальному часі, щоб забезпечити підпис до зображення.
  • Викликається друга лямбда-функція describe_faces спочатку перевіряє наявність облич за допомогою Amazon Rekognition Detect Faces API, і якщо істина, він викликає Compare Faces API. Причина цього полягає в тому, що функція порівняння облич видасть помилку, якщо на зображенні не знайдено облич. Крім того, спочатку викликати функцію «Визначити обличчя» швидше, ніж просто запустити «Порівняти обличчя» та обробити помилки, тому для зображень без облич час обробки буде швидшим.
  • Викликається третя лямбда-функція extract_text обробляє перетворення тексту в мовлення за допомогою Amazon Texttract і Amazon Comprehend.

Послідовне виконання лямбда-функцій підходить, але швидший і ефективніший спосіб зробити це — паралельна обробка. У наведеній нижче таблиці показано час обчислення, збережений для трьох зразків зображень.

зображення Люди Послідовний час Паралельний час Економія часу (%) Підпис
Представляємо програму Generative AI для перетворення зображення в мову за допомогою Amazon SageMaker і Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. 0 1869ms 1702ms 8% Смугастий кіт згорнувся калачиком у пухнастому білому ліжку.
Представляємо програму Generative AI для перетворення зображення в мову за допомогою Amazon SageMaker і Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. 1 4277ms 2197ms 48% Жінка в зеленій блузці та чорному кардигані посміхається на камеру. Я впізнаю одну людину: Канбо.
Представляємо програму Generative AI для перетворення зображення в мову за допомогою Amazon SageMaker і Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. 4 6603ms 3904ms 40% Люди, що стоять перед сферами Амазонки. Я впізнаю трьох людей: Канбо, Джека та Аймана.

Підпис зображення

Hugging Face — це спільнота з відкритим кодом і наукова платформа даних, яка дозволяє користувачам ділитися, створювати, навчати та розгортати моделі машинного навчання. Вивчивши моделі, доступні в центрі моделей Hugging Face, ми вирішили використовувати Модель OFA тому що, як описано авторами, це «незалежна від задач і модальностей структура, яка підтримує комплексність завдань».

OFA є кроком до «Один для всіх», оскільки це уніфікована мультимодальна попередньо навчена модель, яка може ефективно передавати низку наступних завдань. Хоча модель OFA підтримує багато завдань, включаючи візуальне заземлення, розуміння мови та створення зображень, ми використовували Модель OFA для підписів до зображень у проекті Describe For Me, щоб виконати частину програми із зображення в текст. Перегляньте офіційний репозиторій OFA (ICML 2022), папір щоб дізнатися про уніфіковані архітектури, завдання та модальності OFA за допомогою простої системи навчання послідовності.

Щоб інтегрувати OFA в нашу програму, ми клонували репо з Hugging Face і контейнеризували модель, щоб розгорнути її на кінцевій точці SageMaker. The блокнот у цьому репо є чудовим посібником із розгортання великої моделі OFA у блокноті Jupyter у SageMaker. Після контейнеризації вашого сценарію висновку модель готова до розгортання за кінцевою точкою SageMaker, як описано в SageMaker документація. Після розгортання моделі створіть кінцеву точку HTTPS, яку можна інтегрувати з лямбда-функцією «describe_image», яка аналізує зображення для створення підпису зображення. Ми розгорнули крихітну модель OFA, тому що це менша модель і її можна розгорнути за коротший період часу, досягнувши аналогічної продуктивності.

Нижче наведено приклади перетворення зображення в мовлення, створене за допомогою «Describe For Me»:

Полярне сяйво, або північне сяйво, заповнює нічне небо над силуетом будинку..

Полярне сяйво, або північне сяйво, заповнює нічне небо над силуетом будинку..

Собака спить на червоній ковдрі на дерев'яній підлозі, поруч із відкритою валізою, наповненою іграшками..

Собака спить на червоній ковдрі на дерев'яній підлозі, поруч із відкритою валізою, наповненою іграшками..

Смугастий кіт згорнувся калачиком у пухнастому білому ліжку.

Смугастий кіт згорнувся калачиком у пухнастому білому ліжку.

Розпізнавання обличчя

Amazon Rekognition Image надає DetectFaces операція, яка шукає ключові риси обличчя, такі як очі, ніс і рот, щоб виявити обличчя на вхідному зображенні. У нашому рішенні ми використовуємо цю функцію для виявлення будь-яких людей на вхідному зображенні. Якщо особу виявлено, ми використовуємо CompareFaces операція, щоб порівняти обличчя на вхідному зображенні з обличчями, з якими було навчено «Describe For Me», і описати особу за іменем. Ми вирішили використовувати Rekognition для виявлення обличчя через високу точність і те, наскільки просто його було інтегрувати в нашу програму за допомогою стандартних можливостей.

Група людей позує для фотографії в кімнаті. Я впізнаю 4 людей: Джека, Канбо, Алека та Трека. На зображенні також був знайдений текст. Там написано: AWS re: Invent

Група людей позує для фотографії в кімнаті. Я впізнаю 4 людей: Джека, Канбо, Алека та Трека. На зображенні також був знайдений текст. Там написано: AWS re: Invent

Потенційні випадки використання

Генерація альтернативного тексту для веб-зображень

Усі зображення на веб-сайті повинні мати альтернативний текст, щоб програми зчитування з екрана могли промовити їх людям із вадами зору. Це також добре для пошукової оптимізації (SEO). Створення альтернативних підписів може зайняти багато часу, оскільки копірайтеру доручено надати їх у дизайнерському документі. API Describe For Me міг автоматично генерувати альтернативний текст для зображень. Його також можна використовувати як плагін для браузера, щоб автоматично додавати підписи до зображень, на яких відсутній альтернативний текст, на будь-якому веб-сайті.

Аудіоопис для відео

Аудіоопис забезпечує дикторський текст для відеовмісту, щоб допомогти людям із вадами зору стежити за фільмами. Оскільки підписи до зображень стають надійнішими та точними, стає можливим робочий процес із створенням звукової доріжки на основі описів ключових частин сцени. Amazon Rekognition вже може виявляти зміни сцени, логотипи та титри, а також виявляти знаменитостей. Майбутня версія describe дозволить автоматизувати цю ключову функцію для фільмів і відео.

Висновок

У цій публікації ми обговорювали, як використовувати служби AWS, включаючи AI та безсерверні служби, щоб допомогти людям із вадами зору бачити зображення. Ви можете дізнатися більше про проект Describe For Me і скористатися ним, відвідавши describeforme.com. Дізнайтеся більше про унікальні особливості Amazon SageMakerAmazon Rekognition і Партнерство AWS із Hugging Face.

Відмова від відповідальності сторонньої моделі ML для вказівок

Ця інструкція призначена лише для інформаційних цілей. Ви все одно повинні провести власну незалежну оцінку та вжити заходів, щоб переконатися, що ви дотримуєтеся своїх власних практик і стандартів контролю якості, а також місцевих правил, законів, постанов, ліцензій і умов використання, які стосуються вас, вашого вмісту та стороння модель машинного навчання, згадана в цьому посібнику. AWS не контролює та не має повноважень щодо сторонньої моделі машинного навчання, на яку посилається в цьому посібнику, і не робить жодних заяв або гарантій, що стороння модель машинного навчання безпечна, не містить вірусів, працює чи сумісна з вашим виробничим середовищем. і стандарти. AWS не робить жодних заяв, не гарантує, що будь-яка інформація в цьому посібнику призведе до певного результату.


Про авторів

Джек МаркеттіДжек Маркетті є старшим архітектором рішень в AWS, який допомагає клієнтам модернізувати та впроваджувати безсерверні архітектури, керовані подіями. Джек сліпий і живе в Чикаго зі своєю дружиною Ерін і котом Міну. Він також є сценаристом і режисером, головним чином зосереджений на різдвяних фільмах і жахах. Переглянути фільмографію Джека у нього Сторінка IMDb.

Алак ЕсварадасАлак Есварадас є старшим архітектором рішень в AWS у Чикаго, Іллінойс. Вона захоплено допомагає клієнтам розробляти хмарні архітектури, використовуючи сервіси AWS для вирішення бізнес-завдань. Алак із ентузіазмом використовує SageMaker для вирішення різноманітних випадків використання ML для клієнтів AWS. Коли вона не працює, Алак із задоволенням проводить час зі своїми доньками та досліджує природу зі своїми собаками.

Кандис БоханнонКандис Боханнон є старшим архітектором рішень із Міннеаполіса, Міннесота. У цій ролі Кандайс працює технічним радником для клієнтів AWS, оскільки вони модернізують технологічні стратегії, особливо пов’язані з даними та DevOps, для впровадження найкращих практик в AWS. Крім того, Кендіс захоплюється наставництвом майбутніх поколінь технологів і демонстрацією жінок у сфері технологій за допомогою програми AWS She Builds Tech Skills.

Трак ДоТрак До є архітектором рішень в AWS. У своїй ролі Trac працює з корпоративними клієнтами, щоб підтримати їхні ініціативи з хмарної міграції та модернізації програм. Він захоплено вивчає проблеми клієнтів і вирішує їх за допомогою надійних і масштабованих рішень за допомогою послуг AWS. Зараз Трак живе в Чикаго зі своєю дружиною та 3 хлопчиками. Він великий авіаційний ентузіаст і в процесі отримання ліцензії приватного пілота.

Часова мітка:

Більше від AWS Машинне навчання