ADetailer для Stable Diffusion: полное руководство по установке и настройке

Кривые лица и деформированные руки на сгенерированных изображениях — та самая проблема, ради решения которой чаще всего устанавливают расширение ADetailer для Stable Diffusion. Плагин работает по принципу «найди и исправь»: специальная детекторная модель находит на картинке лицо, глаза или кисти рук, а затем эта область перерисовывается с повышенным вниманием к деталям. В результате мелкие артефакты генерации устраняются без ручной доработки в графическом редакторе.

Расширение известно также под названием After Detailer и устанавливается в веб-интерфейс Automatic1111 или Forge. В этой статье разберём установку, выбор моделей детекции, ключевые параметры и типичные ошибки, с которыми сталкиваются пользователи при первом запуске.

Что такое ADetailer и как он работает

ADetailer — это расширение, которое добавляет в Stable Diffusion этап постобработки. После основной генерации изображение передаётся детекторной модели на базе YOLO или аналогичного алгоритма. Модель находит заданные объекты — лицо, глаза, руки, человека целиком — и возвращает их координаты в виде ограничивающих рамок.

Далее найденная область обрезается, увеличивается и прогоняется через inpainting с заданным промптом и силой шума. Результат вставляется обратно в исходное изображение. По сути, это автоматизированный inpaint конкретных зон, который избавляет от ручной работы с масками.

Подход особенно эффективен на портретах в полный рост или групповых сценах, где лицо занимает малую часть кадра и модель не успевает прорисовать его качественно за отведённые шаги генерации.

Установка расширения

Установка выполняется стандартным способом через вкладку Extensions в веб-интерфейсе. Откройте раздел Install from URL и вставьте адрес репозитория расширения — его актуальную ссылку следует брать с официальной страницы проекта на GitHub, так как форки и устаревшие копии встречаются часто.

После установки перезапустите интерфейс полностью, а не только через кнопку перезагрузки градио. При первом запуске ADetailer автоматически загрузит модели детекции — это займёт некоторое время и потребует доступа к сети. Загруженные файлы сохраняются в папке models/adetailer внутри директории веб-интерфейса.

☑️ Проверка после установки ADetailer

Выполнено: 0 / 5
⚠️ Внимание: если при первом запуске в консоли появляются ошибки загрузки моделей, проверьте доступ к сети и наличие свободного места на диске. Обрыв скачивания оставляет повреждённые файлы, которые нужно удалить из папки models/adetailer и загрузить заново.

Выбор моделей детекции

В выпадающем списке ADetailer model доступно несколько детекторов, каждый из которых заточен под свой тип объектов. Названия моделей содержат подсказку: face — лица, hand — кисти рук, person — фигура человека целиком, eyes — область глаз.

  • 🙂 face_yolov8n / face_yolov8s — базовый выбор для исправления лиц, версия «s» точнее, но медленнее
  • hand_yolov8n — детекция кистей рук, помогает с пальцами
  • 🧍 person_yolov8n-seg — сегментация всей фигуры, полезна для общей доработки силуэта
  • 👁 модели для глаз и мелких зон — точечная доработка при крупных планах

Практический совет: начинайте с одной модели для лиц. Включение сразу нескольких детекторов в разных вкладках ADetailer заметно увеличивает время генерации, а эффект не всегда оправдывает затраты.

📊 Какую задачу вы решаете с помощью ADetailer чаще всего?
Исправление лиц
Исправление рук и пальцев
Доработка фигуры целиком
Только изучаю возможности

Основные параметры настройки

Блок ADetailer содержит заметное количество ползунков, но реально влияют на результат лишь несколько. Разберём ключевые.

  • 🎚 Detection confidence threshold — порог уверенности детектора. Слишком низкое значение ловит лишние области, слишком высокое — пропускает нужные лица
  • 🖌 Denoising strength — сила перерисовки найденной области. Низкие значения сохраняют сходство с исходником, высокие дают больше свободы модели
  • 📐 Inpaint padding — отступ вокруг найденной области, чтобы исправление не обрывалось резко по краю
  • 🔲 Mask blur — размытие границы маски для плавного перехода между исправленной зоной и остальным изображением

Отдельного внимания заслуживает поле промпта внутри ADetailer. Если оставить его пустым, используется основной промпт генерации — это нормально для лиц. Но для рук иногда полезно задать отдельное короткое описание, чтобы модель сфокусировалась именно на анатомии кисти.

Сравнение режимов детекции

Ниже — ориентировочная таблица применимости детекторов. Точные названия моделей могут отличаться в зависимости от версии расширения, сверяйтесь со списком в самом интерфейсе.

ДетекторОбъектКогда использоватьОсобенности
face_yolov8nЛицоПортреты, групповые сценыБыстрый, базовая точность
face_yolov8sЛицоМелкие лица в кадреТочнее, но медленнее
hand_yolov8nКисти рукЖесты, видимые ладониТребует аккуратного промпта
person_yolov8n-segФигураПолный рост, одеждаСегментационная маска
mediapipe_faceЛицоАльтернатива YOLOИной алгоритм детекции

Детектор рук исправляет форму кисти, но не гарантирует правильное число пальцев — если поза сложная, результат стоит проверять визуально на каждой генерации.

Типичные ошибки и их решения

Частая жалоба — ADetailer включён, но лицо не меняется. Возможная причина — слишком высокий порог уверенности детектора: модель просто не находит лицо. Снизьте значение confidence и проверьте в консоли строки вида «N face(s) detected» — они показывают, сколько объектов нашёл детектор.

Вторая ситуация — после обработки лицо выглядит «вставленным» и отличается по тону. Здесь помогает увеличение mask blur и padding, а также снижение силы денойзинга. Крайний случай — несовпадение стиля, когда для inpaint подставляется другая чекпоинт-модель; проверьте, что в настройках ADetailer не выбрана отдельная модель без необходимости.

⚠️ Внимание: ошибки вида RuntimeError с упоминанием ultralytics обычно означают конфликт версий библиотеки. Расширение зависит от пакета ultralytics, и его несовместимая версия ломает детекцию. Проверьте требования на странице расширения и версию пакета в окружении Python.
Почему ADetailer не виден в интерфейсе после установки

Наиболее вероятные причины — неполный перезапуск веб-интерфейса, конфликт с другим расширением или ошибка при загрузке зависимостей. Откройте консоль запуска и найдите строки с упоминанием adetailer: сообщение об ошибке укажет конкретный модуль, который не удалось импортировать.

Ещё одна проблема — сильное замедление генерации. Каждый включённый детектор добавляет полноценный проход inpaint, а на слабой видеокарте это ощутимо. Решение простое: оставить один детектор и снизить разрешение зоны inpaint в дополнительных настройках.

ADetailer в API и пакетной обработке

Расширение работает не только через веб-интерфейс. При вызове генерации через API параметры ADetailer передаются в поле alwayson_scripts внутри JSON-запроса. Это позволяет встроить исправление лиц в автоматизированные конвейеры и скрипты пакетной обработки.

Структура запроса выглядит примерно так — точные поля сверяйте с документацией вашей версии расширения:

"alwayson_scripts": {

"ADetailer": {

"args": [true, {"ad_model": "face_yolov8n.pt", "ad_denoising_strength": 0.35}]

}

}

При пакетной генерации учитывайте, что время обработки каждого изображения вырастет. Для больших партий имеет смысл сначала сгенерировать всё без ADetailer, а затем прогнать исправление только на отобранных кадрах.

FAQ: частые вопросы об ADetailer

Работает ли ADetailer с моделями SDXL?

Да, расширение совместимо с SDXL-чекпоинтами. Детекторные модели не зависят от версии Stable Diffusion — они лишь находят области, а перерисовку выполняет загруженный чекпоинт. Учитывайте только повышенные требования SDXL к видеопамяти.

Нужно ли скачивать модели детекции вручную?

Обычно нет: при первом использовании детектора расширение загружает файл автоматически. Ручная установка требуется лишь при проблемах с сетью — тогда файл помещается в папку models/adetailer.

Почему ADetailer меняет лицо на чужое?

Вероятная причина — слишком высокая сила денойзинга: модель перерисовывает лицо почти с нуля. Снизьте denoising strength и убедитесь, что в поле промпта ADetailer нет описаний, противоречащих исходному изображению.

Можно ли использовать ADetailer в ComfyUI?

В ComfyUI аналогичная функциональность реализуется через отдельные ноды детекции и inpaint — само расширение ADetailer написано под Automatic1111-подобные интерфейсы. В экосистеме ComfyUI есть сторонние пакеты с похожей логикой.

Сколько детекторов разумно включать одновременно?

Для большинства сценариев достаточно одного-двух. Каждый дополнительный детектор добавляет отдельный проход обработки, увеличивая время генерации и нагрузку на видеокарту без гарантированного прироста качества.