Simplified Batch Cropper: Удобный инструмент для пакетной обрезки изображений

В мире генеративного ИИ, особенно при работе с моделями вроде Stable Diffusion, подготовка датасетов для тренировки LoRA (Low-Rank Adaptation) — это ключевой этап. Часто изображения из исходных источников содержат лишние элементы: фоны, ненужные объекты или просто неидеальный кроп. Чтобы упростить этот процесс, я разработал простую программу на Python с интерфейсом PySide6 — Simplified Batch Cropper. Это минималистичный инструмент для пакетной обрезки изображений, который позволяет быстро обработать целую папку файлов. Давайте разберём, что она умеет, как работает и почему она станет вашим лучшим другом при сборке датасетов для LoRA-тренировки.

Что такое Simplified Batch Cropper?

Simplified Batch Cropper — это лёгкое приложение, написанное на Python с использованием библиотеки PySide6 для графического интерфейса. Оно предназначено для пакетной обработки изображений: вы загружаете папку с фото, обрезаете их по необходимости и экспортируете результаты. Программа не перегружена функциями — только то, что нужно для быстрой работы. Поддерживаемые форматы: JPG, JPEG, PNG, WEBP.

Основные файлы:

  • RUN_Simplified_Batch_Cropper.bat: Скрипт для запуска, который проверяет и устанавливает зависимости (PySide6 и Pillow), если они отсутствуют.
  • Simplified_Batch_Cropper.py: Основной код программы.

Чтобы запустить, просто кликните на BAT-файл — и вы в деле. Нет нужды в сложной установке.

Функционал программы

Программа имеет простой и интуитивный интерфейс, разделённый на несколько частей:

  1. Загрузка папки с изображениями:

    • Кнопка с иконкой папки (или клик по плейсхолдеру, если папка не выбрана) открывает диалог для выбора директории.
    • Автоматически фильтрует файлы по поддерживаемым расширениям.
    • Если в папке нет изображений, покажет сообщение об этом.
  2. Просмотр и обрезка:

    • Изображения отображаются в сетке из 2 колонок с большими тайлами (минимум 600x600 пикселей).
    • Каждое изображение масштабируется для подгонки под тайл, сохраняя пропорции.
    • Drag-select для обрезки: Зажмите левую кнопку мыши и выделите область на изображении. Обрезка будет переменного размера на основе вашего выбора.
    • Сброс обрезки: Правой кнопкой мыши на тайле — сброс к оригиналу.
    • Крестовина в центре обрезанной области для удобства позиционирования.
    • Тёмная маска вне обрезанной зоны для визуального выделения.
  3. Управление обрезками:

    • Снять последнюю: Убирает обрезку с последнего изменённого изображения.
    • Снять все: Сбрасывает обрезки на всех изображениях.
    • Программа отслеживает порядок изменений, чтобы "Снять последнюю" работала корректно.
  4. Экспорт:

    • Кнопка "Сохранить всё" экспортирует только обрезанные изображения в подпапку "Crop" рядом с исходной.
    • Сохраняет в оригинальном формате (с оптимизацией для JPEG).
    • Если экспортировать нечего (все изображения без обрезки), покажет сообщение.
    • Прогресс-бар и статус в нижней панели для отслеживания процесса.
    • Экспорт в отдельном потоке, чтобы интерфейс не зависал.

Дополнительно:

  • Автоматическая обработка EXIF-ориентации (изображения поворачиваются правильно).
  • Минималистичный дизайн.

Simplified Batch Cropper

Как это полезно для сборки датасетов LoRA?

При тренировке LoRA-моделей качество датасета критично. LoRA адаптирует базовую модель под конкретный стиль, персонажа или объект, и лишние элементы на изображениях могут "размыть" обучение, приводя к худшим результатам. Вот почему Simplified Batch Cropper — must-have:

  • Фокус на субъекте: Быстро обрезайте изображения, чтобы оставить только ключевой объект (например, лицо персонажа или элемент стиля). Это повышает точность тренировки.
  • Пакетная обработка: Обрабатывайте десятки или сотни изображений за раз, не тратя время на Photoshop или онлайн-редакторы.
  • Переменная обрезка: В отличие от фиксированных рамок, drag-select позволяет адаптировать кроп под каждое изображение индивидуально — идеально для разнородных датасетов.
  • Сохранение оригиналов: Экспорт в отдельную папку, так что исходники остаются нетронутыми.
  • Эффективность для новичков и профи: Минимализм ускоряет workflow. Для LoRA-датасетов (обычно 10-50 изображений на модель) это сэкономит часы.

Например, если вы собираете датасет для LoRA на основе фото знаменитости, программа поможет убрать фон, одежду или другие distractions, сосредоточив модель на лице и чертах.

Как начать использовать?

  1. Скачайте файлы: Архив: Simplified_Batch_Cropper.zip
  2. Убедитесь, что у вас установлен Python (3.6+).
  3. Запустите BAT-файл RUN_Simplified_Batch_Cropper.bat — он установит PySide6 и Pillow, если нужно.
  4. Выберите папку с изображениями и начните обрезку!

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

Заключение

Simplified Batch Cropper — это простой, но мощный инструмент, который упрощает подготовку датасетов для LoRA-тренировки. В эпоху, когда ИИ-модели зависят от качества данных, такие утилиты экономят время и повышают результаты. Если вы занимаетесь Stable Diffusion или подобными проектами, попробуйте — и увидите разницу. Поделитесь в комментариях, если у вас есть идеи по улучшениям!