Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Letterboxing

Letterboxing изменяет размер изображений до целевой формы, сохраняя соотношение сторон и добавляя поля, поэтому объекты не искажаются, а поле зрения остается полным.

Letterboxing — это метод изменения размера изображения, который сохраняет его соотношение сторон и добавляет поля, чтобы достичь целевого размера. Изображение равномерно масштабируется, а свободное пространство заполняется пикселями границ, благодаря чему сохраняются пропорции объектов и полное поле зрения. В компьютерном зрении этот метод позволяет подготовить изображения с разными формами для моделей, принимающих изображения с одинаковой формой.

За пределами ИИ термин letterboxing также означает показ широкоэкранного фильма с горизонтальными полосами.

Как letterboxing сохраняет геометрию изображения#

Соотношение сторон — это отношение ширины изображения к его высоте. При предобработке данных letterboxing выбирает меньшее из двух значений масштабирования: целевая ширина, деленная на исходную ширину, и целевая высота, деленная на исходную высоту. Обе стороны умножаются на этот коэффициент, поэтому изображение после изменения размера помещается в целевую область. Оставшиеся пиксели становятся полями. Операция изменения размера и добавления полей в TensorFlow реализует этот подход, заполняя границы нулевыми значениями.

Например, для изображения размером 1280 x 720, вписываемого в область 640 x 640, используется коэффициент масштабирования 0,5. Изображение становится размером 640 x 360, а 280 строк остаются для полей: 140 сверху и 140 снизу при центрировании. Для портретных изображений поля добавляются по бокам. Поэтому у изображения с letterboxing могут быть горизонтальные или вертикальные поля; целевая область также может быть прямоугольной.

Ultralytics YOLO использует преобразование LetterBox, чтобы сохранять геометрию входных данных для обнаружения объектов, сегментации и определения позы; по умолчанию для полей используется серый цвет со значением 114. При обнаружении объектов, сегментации и предсказании позы с помощью YOLO26 дополнение до минимального прямоугольника сокращает поля до совместимого кратного шага, если это поддерживается формами батчей и бэкендом инференса.

Letterboxing, растягивание и обрезка#

Три способа изменения размера по-разному обрабатывают несовпадение формы изображения и целевой области:

  • Letterboxing сохраняет пропорции и изображение целиком, выделяя часть входной области под поля.
  • Растягивание независимо изменяет ширину и высоту, чтобы заполнить целевую область. Если коэффициенты масштабирования различаются, круги превращаются в эллипсы.
  • Обрезка сохраняет пропорции при равномерном изменении размера, а затем удаляет содержимое за пределами выбранной области. Объекты у краев изображения могут быть обрезаны.

Эти варианты влияют на обнаружение объектов, где важны форма и положение, и на классификацию изображений, где обрезка меняет видимые признаки класса.

Поля также занимают часть входной области. В примере с изображением 1280 x 720 содержимое изображения занимает 56,25% квадратной области, а поля — 43,75%. Уменьшение разрешения снижает детализацию содержимого; добавление пикселей границ не создает дополнительной детализации объектов. Для изображений высокого разрешения с мелкими объектами тайловый инференс обрабатывает отдельные области изображения, увеличивая эффективный масштаб объектов.

Пример letterboxing на Python#

Установи Pillow с помощью pip install pillow. Операция ImageOps.pad изменяет размер изображения и размещает его по центру холста с полями. В этом примере используется фотография автобуса, распространяемая для учебных материалов по компьютерному зрению.

from urllib.request import urlretrieve

from PIL import Image, ImageOps

urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
image = Image.open("bus.jpg")
image = image.convert("RGB")

# Preserve proportions and fill the unused area with gray.
letterboxed = ImageOps.pad(image, (640, 640), color=(114, 114, 114))
letterboxed.save("letterboxed_bus.png")
print(f"{image.size} -> {letterboxed.size}")

Размеры выходного изображения — (810, 1080) -> (640, 640), указанные в формате «ширина × высота». Сохраненное изображение содержит фотографию целиком, измененную до размера 480 x 640, с полем шириной 80 пикселей с каждой стороны.

Преобразование аннотаций и предсказаний#

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

После инференса пересчет координат отменяет преобразование: сначала вычти смещение, вызванное полями, затем раздели координаты на коэффициент масштабирования. Если рамка расположена правильно, но имеет ненулевые поля, пропуск этого смещения сдвигает рамку и снижает ее пересечение над объединением с истинной разметкой. В примере с автобусом точка с координатами после добавления полей (320, 320) преобразуется в исходные координаты (405, 540): из x вычитается 80, а обе координаты делятся на 640 / 1080.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения