Премиальное программное обеспечение и практические уроки
Как использовать Grounded-SAM в Amazon SageMaker
Как быстро создать размещенную среду визуализации рисунков на основе ИИ на основе SageMaker Notebook.
1. Новые функции: поддержка плагинов ControlNet и Image browser;
2. В сфере электронной коммерции/рекламы новая версия этого решения оснащена новейшими визуальными инструментами. Наземная SAM, генерировать управляемый текст и изображения для ускорения выпуска маркетинговых материалов;
3. Часто задаваемые вопросы и ответы об этой программе.
Мы рекомендуем вам развернуть решение в регионе us-east-1 в регионе Восток США и выбрать тип экземпляра серии ml.g4 или ml.g5 в зависимости от ваших потребностей.
Зарегистрируйтесь для бесплатной пробной версии Amazon Web Services (AWS)АВС)Ссылка на облачный сервис: https://aws.amazon.com/cn/free/
Часть 1: Новые возможности решения
1 Расширения и плагины
1.1 ControlNet
ControlNet основан на Стабильная диффузия WebUI Выпущен плагин, предоставляющий новые методы управления функцией Wenshengtu, позволяющие дополнительно контролировать позы персонажей, глубину резкости, цвет контурных рисунков и многое другое, обеспечивая более стабильный контроль над выходным изображением. ControlNet обучает модели для каждого типа входных данных. В настоящее время общедоступны следующие восемь моделей: canny, deep, hed, mlsd, normal, openpose, scribble и segmentation. Описания моделей приведены в таблице ниже.
Имя препроцессора | Соответствующая модель | Описание модели |
осторожный | control_canny | Распознавание краёв. Извлекайте линейные рисунки из исходного изображения, чтобы создать изображение с той же композицией. |
глубина | контрольная_глубина | Определение глубины: оцените глубину изображения и поймите взаимосвязь между передним и задним планом. |
хедж | control_hed | Обнаружение краев, но сохранение большего количества деталей, подходит для перекрашивания и стилизации. |
млсд | control_mlsd | Распознавание отрезков линий имеет очень плохие возможности для распознавания людей, но очень подходит для архитектуры. |
normal_map | control_normal | Создание карт нормалей на основе изображений, очень удобно для разработчиков компьютерной графики. |
openpose | control_openpose | Извлечение поз скелета персонажа. |
openpose_hand | control_openpose | Извлечь персонажа + позу скелета руки. |
каракули | control_openpose | Извлечь черно-белый черновик. |
фейковые_каракули | control_scribble | Извлечение в стиле граффити (очень мощная модель). |
сегментация | control_seg | Семантическая сегментация. |
Последняя версия этого решения, WebUIVersion 0405, по умолчанию поддерживает плагин ControlNet (см. FAQ 1 в части 3 этой статьи). Просто следуйте инструкциям ниже, чтобы загрузить модель, и вы сможете сразу же начать использовать плагин ControlNet.
- В CloudFormation-Stack-Output (ссылкаПредыдущий блог 4.3 Шаг 12), найдите ссылку NotebookURL и откройте экземпляр SageMaker Notebook.
![]() |
- Откройте терминал и нажмите Файл->Новый->Терминал
- Введите следующую команду, чтобы начать загрузку. Время загрузки будет оцениваться на основе состояния сети сервера.
- Дождитесь завершения загрузки, вернитесь в интерфейс Stable Diffusion Web UI и нажмите кнопку «Обновить» в ControlNet, чтобы завершить загрузку и установку модели.
![]() |
1.2 Браузер изображений
Добавлена поддержка плагина Image Browser, вы можете легко просматривать сгенерированные исторические изображения, как показано на следующем рисунке.
![]() |
2 Региональная поддержка
Добавлен регион Запад США (Орегон)
Часть 2: Генерация креативов для рекламы в сфере электронной коммерции
1 Предыстория
Распространенной задачей при создании изображений для электронной коммерции является изменение отдельных его частей. Традиционно это требовало от дизайнеров значительных затрат времени и усилий на использование профессионального программного обеспечения для редактирования изображений. Однако современные возможности искусственного интеллекта позволяют решать эту задачу гораздо проще и эффективнее.
В этой статье мы покажем вам, как использовать Stable Diffusion WebUI и Grounded-SAM в новой версии Shenghuamiaobi для достижения эффекта сквозного редактирования изображений, показанного на рисунке ниже, включая 1. Нет кодаРеализация редактирования изображений (Ручная маска), подходит для дизайнеров и создателей, которые не знакомы с разработкой кода, и 2. Код эксплойтаАвтоматическое редактирование изображений (Автомаска), подходит для разработчиков и энтузиастов, интересующихся AIGC.
![]() |
Оригинальное изображение из Интернета
2. Использование модели решения
В этой статье мы будем использовать следующие модели.
2.1 Реалистичное видение
Реалистичное видение Модель, создающая реалистичные изображения. Она способна создавать высокореалистичные портреты людей разных возрастов, рас и стилей одежды, которые выглядят точь-в-точь как фотографии.
2.2 ControlNet
ControlNet Это предобученная модель, основанная на Stable Diffusion 1.5. В статье автора Люмина Чжана объясняется, что ControlNet использует входные условия для управления большой предобученной моделью диффузии. Она использует особенности контуров, особенности глубины и скелетные особенности поз человека на входном изображении, а также текстовые подсказки для точного управления генерацией изображений в SD 1.5. ControlNet включает восемь моделей, и в этой статье используется модель Control_canny.
2.3 Наземные ЗРК
Заземленный сегмент-что угодно(Grounded-SAM) основан на Заземление ДИНО(детектор) и Сегментировать все Рабочий процесс генерации мультимодальных изображений, основанный на модели Grounded-SAM (сегментатор), — популярный проект с открытым исходным кодом. Grounded-SAM можно напрямую использовать с Stable Diffusion для управляемой генерации текста и изображений.
2.3.1 Заземление DINO
Заземление ДИНО: модель обнаружения изображений с нулевого кадра, которая может обнаруживать объекты на изображении с помощью текстовых описаний и генерировать прямоугольные рамки.
2.3.2 Модель сегментации всего (SAM)
Сегментировать все SAM: Высококачественная модель сегментации изображений, использующая вспомогательные точки и блоки в качестве ориентиров для сегментации изображений. Её обучающий набор включает более 1 миллиарда масок и 11 миллионов изображений, что делает её крупнейшим на сегодняшний день открытым набором данных для сегментации изображений. Официально SAM усвоила общее понятие «что такое объект», что позволяет ей выполнять сегментацию изображений без дополнительного обучения.
3. Редактирование изображений без кода (ручное маскирование)
Экспериментальные этапы следующие:
3.1 Читатели могут нажатьздесьЗагрузите изображения, использованные в этом эксперименте.
3.2 В выходных данных стека CloudFormation найдите ссылку URL-адрес блокнота и откройте экземпляр блокнота SageMaker.
![]() |
3.3 Нажмите «Терминал» и введите следующие команды последовательно, чтобы загрузить модель Realistic Vision V1.3.
В приведенном выше скрипте мы использовали HuggingFace Реалистичное видение V1.3 Модель. Вы также можете скачать её непосредственно с официального сайта CIVITAI. Реалистичное видение V2.0, конечные эффекты этих двух вариантов очень близки.
![]() |
3.4 В веб-интерфейсе выберите предварительно обученную модель Realistic Vision V1.3, которую мы только что скачали, в качестве базовой модели и выберите функцию Inpaint в img2img в качестве типа задачи. Inpaint — это подкатегория задач преобразования изображений в изображения, которая включает в себя завершение или частичную генерацию изображения с помощью масок.
![]() |
3.5 Загрузите исходное изображение и с помощью кисти вручную замаскируйте область, которую хотите отредактировать.
![]() |
3.6 Настройте параметры Inpaint, как показано ниже. Здесь мы решили заполнить только часть маски.
![]() |
3.7 Загрузите исходное изображение в ControlNet и настройте соответствующие параметры, как показано ниже. Функции ControlNet обеспечивают более точный контроль над конечным изображением. Здесь мы выбираем препроцессор Canny и соответствующую модель Canny для создания обводки изображения. Снижение «нижнего порога Canny» поможет сохранить больше деталей на исходном изображении, как показано на рисунке. Информация об установке модели ControlNet представлена в разделе «Часто задаваемые вопросы». Описание модели Canny и других моделей приведено в таблице «Определения моделей» в разделе «ControlNet».
![]() |
3.8 Воспользуйтесь следующим шаблоном, чтобы ввести слово-подсказку, и нажмите кнопку «Сгенерировать».
Подсказка = невероятно красивое, словно мечта, белое кружевное хлопковое платье с тонкими прозрачными рукавами, дополнительные детали (высокая детализация кожи: 1.2), 8k UHD, цифровая зеркальная камера, мягкое освещение, высокое качество, зернистость пленки, Fujifilm XT3, фотореалистичное изображение
Отрицательная подсказка = (деформированная радужная оболочка, деформированные зрачки, полуреалистичный, cgi, 3d, рендер, эскиз, мультфильм, рисунок, аниме:1.4), текст, крупный план, обрезанный, вне кадра, худшее качество, низкое качество, jpeg артефакты, уродливый, дубликат, болезненный, изуродованный, лишние пальцы, мутировавшие руки, плохо прорисованные руки, плохо прорисованное лицо, мутация, деформированный, размытый, обезвоженный, плохая анатомия, плохие пропорции, лишние конечности, клонированное лицо, изуродованный, грубые пропорции, деформированные конечности, отсутствующие руки, отсутствующие ноги, лишние руки, лишние ноги, сросшиеся пальцы, слишком много пальцев, длинная шея
![]() |
3.9 Дождавшись генерации, мы можем получить следующие результаты.
![]() |
краткое содержание:Хотя описанный выше процесс прост и удобен в использовании, вручную создавать маску каждый раз было бы очень долго. Ниже мы рассмотрим редактирование изображений с помощью кода.
4 Полностью автоматическое редактирование изображений (автоматическое маскирование)
Сочетание этих двух ключевых компонентов, Grounded-DINO (детектор) и Segment Anything Model (сегментатор), создаёт исключительно мощную комбинацию приложений для машинного зрения. Grounded-SAM может выполнять семантическую сегментацию CV с использованием текстовых подсказок. В сочетании со Stable Diffusion это, несомненно, открывает ещё больше возможностей для генерации мультимодальных изображений. Экспериментальные этапы включают в себя следующее:
![]() |
Изображение из https://github.com/IDEA-Research/Grounded-Segment-Anything
4.1 В выходных данных стека CloudFormation найдите ссылку URL-адрес блокнота и откройте экземпляр блокнота SageMaker.
![]() |
4.2 Нажмите «Терминал» и введите последовательно две следующие команды, чтобы клонировать код локально.
![]() |
![]() |
4.3 В пути слева выберите «miaobishenghua2» и дважды щёлкните по файлу «g-seg-local.ipynb». Также выберите «conda_pytorch_p39» в качестве окружения.
![]() |
4.4 Последовательно выполнить все фрагменты кода. Весь процесс состоит из трёх основных этапов.
4.4.1 покажет вам, как использовать Заземление ДИНО, генерируя прогнозируемое прямоугольное поле на основе текстового описания. Например, если мы хотим выбрать зелёное платье, мы можем ввести «зелёное платье» в качестве подсказки и получить изображение ниже. Мы также можем настроить «box_threshold» для управления уверенностью распознавания и «text_threshold» для управления релевантностью подсказки и фильтрации конечных результатов (подробности см. в коде). Полученное прямоугольное поле будет служить вспомогательной подсказкой для задачи сегментации ниже.
![]() |
Мы также можем попробовать изменить подсказку на «белое платье с синими узорами» и получить следующий прямоугольник. Платье слева тоже белое, но оно не выбрано, потому что на нём нет синих узоров.
![]() |
4.4.2 покажет вам, как использовать Сегментировать все Сгенерируем маску сегментации на основе предсказанного прямоугольника, полученного на предыдущем шаге. Здесь мы используем предсказанный прямоугольник в качестве вспомогательного входного сигнала подсказки и ограничиваем выходные данные одной маской сегментации, установив «multimask_output=False» (подробности см. в коде). Это даёт следующий результат. Segment Anything также поддерживает одну и несколько точек в качестве подсказок, что позволяет быстро и автоматически генерировать маски пакетами, даже используя только исходное изображение.
![]() |
![]() |
4.4.3 Мы покажем, как использовать модель Inpainting для Stable Diffusion для замены содержимого в маске выше. В эксперименте мы использовали экземпляр ml.g5.2xlarge. Скорректируйте его в соответствии с типом вашего экземпляра. os.environ["CUDA_VISIBLE_DEVICES"] = "0"
Здесь мы используем модель stable-diffusion-2-inpainting для создания следующего изображения (подробности см. в коде).
![]() |
Резюме: Используя вышеперечисленные методы, мы можем добиться полностью автоматического редактирования изображений и генерации материалов проще и эффективнее. В реальных производственных условиях для дальнейшей оптимизации всего рабочего процесса часто требуется более сложная инженерная архитектура. Следует отметить, что Stable Diffusion, используемый в этой части кода, взят из Диффузоры HuggingFaceУчитывая тесное взаимодействие дизайнеров и технических разработчиков в типичных компаниях, мы рекомендуем использовать API Stable Diffusion WebUI для реализации процесса генерации и вывода кодированных изображений, чтобы обеспечить единообразие параметров и другой информации. Этот пример решения может служить примером для быстрой проверки полностью автоматизированных рабочих процессов.
Часть 3. Часто задаваемые вопросы
1 Как обновиться до последней версии решения (0405)?
Инструкции по установке см.«Цветущие картины — это просто: быстрое создание управляемой стабильной диффузии — среда визуализации картин на основе ИИ на основе блокнота SageMaker»Версия WebUIVersion по умолчанию — 0405. В настоящее время обновление в существующей среде не поддерживается и требует переустановки.
![]() |
2. Как решать проблемы с лимитами обслуживания при развертывании решения?
Перед развертыванием этого решения убедитесь, что соответствующая квота ресурсов для SageMaker Notebook (например, ml.g4dn.2xlarge для использования экземпляра Notebook) увеличена в квоте сервиса соответствующего региона. Подробные инструкции см. в разделеСвязь.
3 Как использовать модели, загруженные из Интернета?
- существовать Облако Откройте страницу «Выходы» формирования. NotebookURL Соответствующая ссылка
- В левой навигационной панели найдите каталог sd-webui/data, как показано ниже.
![]() |
- Для базовой модели стабильной диффузии поместите Стабильная диффузия Оглавление
- Для модели Lora поместите Лора Оглавление
- Для моделей ControlNet разместите ContrloNet Оглавление
- Пользовательские модели, настроенные более точно, также размещаются по умолчанию. Стабильная диффузия Оглавление
4 Как переключаться между режимами Automatic и InvokeAI?
- На странице «Выходы формирования облаков» откройте NotebookURL Соответствующая ссылка
- Откройте терминал и нажмите Файл->Новый->Терминал
- Войдите в следующий каталог
- Запустить автоматический WebUI
- Запустить Invoke WebUI
5 Об управлении версиями
Мы сохраним две последние версии плана: 0405 и 0316.
Подвести итог
В этой статье представлены новые функции решения, представленные в предыдущей серии блогов, такие как поддержка ControlNet и плагина Image Browser, а также поддержка региона Запад США (Орегон). Также подробно описаны методы и этапы использования Grounded-SAM для создания маркетинговых материалов в сфере электронной коммерции на основе этого решения и связанных с ним сервисов SageMaker, включая: 1. Редактирование изображений без написания кода с использованием модели Canny в ControlNet и функции Inpaint; 2. Использование Grounded-SAM (Заземление ДИНО и Сегментировать все) Используйте код для редактирования изображений. Кроме того, мы продолжим добавлять решения, адаптированные под конкретные сценарии клиентов, в серии «Блестящий текст». Если у вас есть вопросы или потребности, свяжитесь с нами для дальнейшего обсуждения.