Багатьом клієнтам, включно з креативною рекламою, медіа та розвагами, електронною комерцією та модою, часто потрібно змінити фон у великій кількості зображень. Як правило, це передбачає редагування кожного зображення вручну за допомогою програмного забезпечення для фотографій. Це може зайняти багато зусиль, особливо для великих партій зображень. однак, Amazon Bedrock та Функції кроку AWS спростити масштабну автоматизацію цього процесу.
Amazon Bedrock пропонує базову модель генеративного штучного інтелекту Amazon Titan Image Generator G1, який може автоматично змінювати фон зображення за допомогою техніки під назвою замальовування. Step Functions дозволяє створювати автоматизований робочий процес, який легко підключається до Amazon Bedrock та інших сервісів AWS. Разом Amazon Bedrock і Step Functions оптимізують весь процес автоматичної зміни фону для кількох зображень.
Ця публікація представляє рішення, яке спрощує процес зміни фону на кількох зображеннях. Використовуючи можливості генеративний ШІ з Amazon Bedrock і моделлю Titan Image Generator G1 у поєднанні з Step Functions це рішення ефективно створює зображення з бажаним фоном. Ця публікація містить уявлення про внутрішню роботу рішення та допомагає зрозуміти вибір дизайну, зроблений для створення цього власного спеціального рішення.
Див GitHub сховище для отримання докладних інструкцій щодо розгортання цього рішення.
Огляд рішення
Давайте розглянемо, як це рішення працює на високому рівні, перш ніж заглибитися в конкретні елементи та використовувані служби AWS. На наступній діаграмі представлено спрощений вигляд архітектури рішення та виділено ключові елементи.
Робочий процес складається з наступних кроків:
- Користувач завантажує кілька зображень у Служба простого зберігання Amazon (Amazon S3) через веб-програму Streamlit.
- Веб-програма Streamlit викликає an API -шлюз Amazon Кінцева точка REST API інтегрована з Amazon Rekognition API DetectLabels, який визначає мітки для кожного зображення.
- Після надсилання веб-додаток Streamlit оновлює файл Amazon DynamoDB таблиця з деталями зображення.
- Оновлення DynamoDB запускає an AWS Lambda функція, яка запускає робочий процес Step Functions.
- Робочий цикл «Крокові функції» виконує такі кроки для кожного зображення:
5.1 Створює корисне навантаження запиту для Amazon BedrockInvokeModel
API.
5.2 Викликає фундамент АмазонкиInvokeModel
Дія API.
5.3 Розбирає зображення з відповіді та зберігає його в розташуванні S3.
5.4 Оновлює статус зображення в таблиці DynamoDB. - Робочий процес Step Functions викликає функцію Lambda для створення звіту про стан.
- Робочий процес надсилає електронний лист за допомогою Служба простих сповіщень Amazon (Amazon SNS).
Як показано на наступному знімку екрана, веб-програма Streamlit дозволяє завантажувати зображення та вводити текстові підказки для визначення бажаного фону, негативних підказок і режиму зафарбовування для створення зображення. Ви також можете переглядати та видаляти непотрібні мітки, пов’язані з кожним завантаженим зображенням, які ви не хочете зберігати в остаточно створених зображеннях.
У цьому прикладі підказкою для фону є «фон міста Лондона». Процес автоматизації генерує нові зображення на основі оригінальних завантажених зображень із Лондоном як фоном.
Поточне завантаження веб-додатків і зображень
Веб-додаток Streamlit служить інтерфейсом для цього рішення. Щоб захистити програму від несанкціонованого доступу, вона інтегрується з Амазонка Когніто пул користувачів. Шлюз API використовує Авторизатор Amazon Cognito для автентифікації запитів. Веб-додаток виконує такі дії:
- Для кожного вибраного зображення він отримує мітки через Amazon Rekognition за допомогою кінцевої точки REST API шлюзу API.
- Після надсилання програма завантажує зображення в сегмент S3.
- Програма оновлює таблицю DynamoDB з відповідними параметрами, назвами зображень і пов’язаними мітками для кожного зображення за допомогою іншої кінцевої точки REST API шлюзу API.
Процес обробки зображень
Коли таблиця DynamoDB оновлюється, Потоки DynamoDB запускає функцію Lambda для запуску нового робочого циклу Step Functions. Нижче наведено приклад запиту на робочий процес:
Робочий цикл «Крокові функції» згодом виконує такі три кроки:
- Замінити фон для всіх зображень.
- Створіть звіт про стан.
- Надішліть електронний лист через Amazon SNS.
Наступний знімок екрана ілюструє робочий процес крокових функцій.
Розглянемо кожен крок детальніше.
Замінити фон для всіх зображень
Step Functions використовує a Розподілена карта для обробки кожного зображення в паралельних дочірніх робочих процесах. Розподілена карта дозволяє обробку з високим рівнем паралелізму. Кожен дочірній робочий процес має власну історію виконання, окрему від історії батьківського робочого циклу.
Step Functions використовує an Оптимізована InvokeModel дія API для Amazon Bedrock. API приймає запити та відповіді розміром до 25 Мб. Однак функція Step Functions має обмеження в 256 КБ для введення та виведення корисного навантаження стану. Для підтримки більших зображень рішення використовує відро S3, де InvokeModel
API зчитує дані з і записує результат. Нижче наведено конфігурацію для InvokeModel
API для інтеграції Amazon Bedrock:
Команда Input S3Uri
Параметр визначає розташування джерела для отримання вхідних даних. The Output S3Uri
Параметр визначає призначення для запису відповіді API.
Функція Lambda зберігає корисне навантаження запиту як файл JSON у вказаному Input S3Uri
Розташування. The InvokeModel
API використовує це вхідне корисне навантаження для створення зображень із указаним фоном:
Модель Titan Image Generator G1 підтримує наступні параметри для створення зображень:
- taskType – Визначає метод зафарбовування для заміни фону зображення.
- текст – Текстова підказка для визначення фону.
- negativeText – Текстова підказка, щоб визначити, що не слід включати в зображення.
- maskPrompt – Текстова підказка, яка визначає маску. Він відповідає міткам, які ви хочете зберегти в остаточно створених зображеннях.
- maskImage – Зображення JPEG або PNG, закодоване в base64.
- outPaintingMode – Визначає, чи дозволяти зміну пікселів усередині маски. DEFAULT дозволяє модифікувати зображення всередині маски, щоб воно відповідало реконструйованому фону. PRECISE запобігає зміні зображення всередині маски.
- numberOfImages – Кількість зображень для створення.
- якість – Якість створених зображень:
standard
orpremium
. - cfgScale – Визначає, наскільки сильно створене зображення має відповідати підказці.
- висота – Висота зображення в пікселях.
- ширина – Ширина зображення в пікселях.
Амазонка InvokeModel
API генерує відповідь із закодованим зображенням у Output S3Uri
Місцезнаходження. Інша функція Lambda аналізує зображення з відповіді, декодує його з base64 і зберігає файл зображення в такому місці: s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/
.
Нарешті, дочірній робочий процес оновлює таблицю DynamoDB зі статусом створення зображення, позначаючи його як будь-який Наступник or не вдалося, включаючи такі деталі, як ImageName
, Cause
, Error
та Status
.
Створіть звіт про стан
Після процесу створення зображення функція Lambda отримує відомості про стан із DynamoDB. Він динамічно компілює ці деталі у вичерпний звіт про стан у форматі JSON. Потім він зберігає створений звіт про стан у файлі JSON у такому місці: s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/
. Команда ITOps може інтегрувати цей звіт зі своєю існуючою системою сповіщень, щоб відстежувати успішне завершення обробки зображень. Для бізнес-користувачів ви можете розширити це, щоб створити звіт у форматі CSV.
Надішліть електронний лист через Amazon SNS
Step Functions викликає дію Amazon SNS API для надсилання електронного листа. Електронний лист містить деталі, зокрема розташування S3 для звіту про стан і остаточних файлів зображень. Нижче наведено зразок сповіщення електронною поштою.
Висновок
У цій публікації ми надали огляд зразка рішення, що демонструє автоматизацію зміни фону зображення в масштабі за допомогою Amazon Bedrock і Step Functions. Ми також детально пояснили кожен елемент рішення. Використовуючи оптимізовану інтеграцію Step Functions з Amazon Bedrock, Distributed Map і моделлю Titan Image Generator G1, рішення ефективно замінює фони зображень паралельно, підвищуючи продуктивність і масштабованість.
Щоб розгорнути рішення, зверніться до інструкцій у GitHub сховище.
ресурси
Щоб дізнатися більше про Amazon Bedrock, перегляньте такі ресурси:
Щоб дізнатися більше про модель Titan Image Generator G1, перегляньте такі ресурси:
Щоб дізнатися більше про використання Amazon Bedrock із покроковими функціями, перегляньте такі ресурси:
Про автора
Четан Маквана є старшим архітектором рішень Amazon Web Services. Він працює з партнерами та клієнтами AWS, щоб надати їм архітектурні вказівки для створення масштабованої архітектури та впровадження стратегій для сприяння прийняттю послуг AWS. Він — ентузіаст технологій і розробник, головною сферою інтересів якого є генеративний штучний інтелект, безсерверні технології та DevOps. Поза роботою він захоплюється переглядом шоу, подорожами та музикою.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/automate-the-process-to-change-image-backgrounds-using-amazon-bedrock-and-aws-step-functions/
- : має
- :є
- : ні
- :де
- $UP
- 1
- 130
- 14
- 22
- 25
- 32
- 7
- 8
- a
- МЕНЮ
- Приймає
- доступ
- через
- дію
- дотримуватися
- Прийняття
- Для дорослих
- реклама
- AI
- ВСІ
- дозволяти
- дозволяє
- Також
- Amazon
- Amazon Rekognition
- Amazon Web Services
- an
- та
- Інший
- API
- додаток
- архітектурний
- архітектура
- ЕСТЬ
- ПЛОЩА
- AS
- асоційований
- At
- перевіряти справжність
- автоматизувати
- Автоматизований
- автоматично
- Автоматизація
- AWS
- Функції кроку AWS
- фон
- фони
- заснований
- перед тим
- будувати
- будівельник
- Створюємо
- bus
- бізнес
- by
- званий
- Виклики
- CAN
- можливості
- зміна
- заміна
- дитина
- вибір
- Місто
- комбінований
- Зроблено
- Завершує
- всеосяжний
- конфігурація
- з'єднує
- послідовний
- складається
- конструкти
- містить
- Core
- відповідає
- створювати
- Креатив
- виготовлений на замовлення
- Клієнти
- дані
- глибше
- дефолт
- визначати
- Визначає
- демонстрація
- розгортання
- розгортання
- дизайн
- бажаний
- призначення
- деталь
- докладно
- деталі
- схема
- розподілений
- дайвінг
- Пес
- Не знаю
- управляти
- динамічно
- кожен
- електронної комерції
- продуктивно
- зусилля
- або
- елемент
- елементи
- кодований
- Кінцева точка
- підвищення
- Що натомість? Створіть віртуальну версію себе у
- розваги
- ентузіаст
- Весь
- особливо
- приклад
- існуючий
- Розширювати
- пояснені
- мода
- філе
- Файли
- остаточний
- після
- для
- формат
- фонд
- від
- Frontend
- функція
- Функції
- далі
- g1
- шлюз
- породжувати
- генерується
- генерує
- покоління
- генеративний
- Генеративний ШІ
- generator
- керівництво
- Запрягання
- he
- висота
- допомагає
- Високий
- основний момент
- історія
- Як
- Однак
- HTML
- HTTPS
- ID
- if
- ілюструє
- зображення
- зображень
- реалізації
- in
- включати
- У тому числі
- внутрішній
- вхід
- всередині
- розуміння
- інструкції
- інтегрувати
- інтегрований
- Інтеграція
- інтеграція
- інтерес
- в
- Вводить
- викликає
- включає в себе
- IT
- ЙОГО
- JPG
- json
- тримати
- ключ
- етикетки
- великий
- більше
- УЧИТЬСЯ
- рівень
- МЕЖА
- розташування
- Лондон
- подивитися
- серія
- низький
- made
- зробити
- чоловік
- людина
- вручну
- карта
- маркування
- маска
- Медіа
- метод
- режим
- модель
- більше
- множинний
- музика
- Імена
- Необхідність
- негативний
- Нові
- сповіщення
- номер
- of
- Пропозиції
- часто
- on
- оптимізований
- or
- порядок
- оригінал
- Інше
- вихід
- поза
- огляд
- власний
- Паралельні
- параметр
- параметри
- партнери
- виступає
- людина
- фото
- plato
- Інформація про дані Платона
- PlatoData
- басейн
- пошта
- необхідність
- Premium
- запобігає
- процес
- обробка
- продуктивність
- підказок
- захист
- забезпечувати
- за умови
- забезпечує
- якість
- послатися
- доречний
- видаляти
- замінювати
- звітом
- запросити
- запитів
- дозвіл
- ресурси
- відповідь
- відповіді
- REST
- результат
- зберігати
- прогін
- пробіжки
- зразок
- масштабованість
- масштабовані
- шкала
- плавно
- побачити
- обраний
- послати
- посилає
- старший
- окремий
- Без сервера
- служить
- Послуги
- Повинен
- показаний
- Шоу
- простий
- спрощений
- спрощує
- Софтвер
- рішення
- Рішення
- Source
- конкретний
- зазначений
- старт
- починається
- стан
- Статус
- Крок
- заходи
- зберігання
- просто
- стратегії
- раціоналізувати
- рядок
- сильно
- уявлення
- Згодом
- Успішно
- такі
- підтримка
- Опори
- система
- таблиця
- Приймати
- команда
- техніка
- Технологія
- текст
- Що
- Команда
- Джерело
- їх
- Їх
- потім
- Ці
- це
- ті
- три
- велетень
- до
- разом
- трек
- Подорож
- типово
- несанкціонований
- розуміти
- небажаний
- Оновити
- оновлений
- Updates
- завантажено
- використовуваний
- користувач
- користувачі
- використовує
- використання
- через
- вид
- хотіти
- спостереження
- we
- Web
- Веб-додаток
- веб-сервіси
- Що
- Чи
- який
- ширина
- з
- Work
- робочий
- Робочі процеси
- виробки
- працює
- запис
- Ти
- зефірнет