Letterboxing
O letterboxing redimensiona as imagens para uma forma-alvo, preservando a proporção com preenchimento, para manter os objetos sem distorção e todo o campo de visão.
O letterboxing é uma técnica de redimensionamento de imagens que preserva a proporção da imagem enquanto adiciona preenchimento para atingir um tamanho-alvo. A técnica redimensiona a imagem uniformemente e, em seguida, preenche o espaço não utilizado com pixels de borda, mantendo as proporções dos objetos e todo o campo de visão. Em visão computacional, prepara imagens de diferentes formas para modelos que aceitam uma forma de entrada comum.
Fora da IA, letterboxing também descreve a exibição de filmes widescreen com barras horizontais.
Como o letterboxing preserva a geometria da imagem#
A proporção é a relação entre a largura e a altura da imagem. Durante o pré-processamento de dados, o letterboxing seleciona o menor entre dois fatores de escala: a largura-alvo dividida pela largura original e a altura-alvo dividida pela altura original. As duas dimensões usam esse fator, para que a imagem redimensionada caiba no espaço-alvo. Os pixels restantes formam o preenchimento. A operação de redimensionamento e preenchimento do TensorFlow implementa essa abordagem com bordas de valor zero.
Por exemplo, uma imagem de 1280 x 720 ajustada a um espaço-alvo de 640 x 640 usa um fator de escala de 0,5. O conteúdo passa a ter 640 x 360, deixando 280 linhas para o preenchimento: 140 acima e 140 abaixo quando centralizado. Imagens em orientação retrato recebem bordas laterais. Portanto, uma imagem com letterboxing pode ter preenchimento horizontal ou vertical; o espaço-alvo também pode ser retangular.
O Ultralytics YOLO usa a transformação LetterBox para preservar a geometria em entradas de detecção, segmentação e pose, com preenchimento cinzento de valor 114 por predefinição. Para a predição de detecção, segmentação e pose do YOLO26, o preenchimento com retângulo mínimo reduz as bordas a um múltiplo compatível do stride quando as formas do lote e o back-end de inferência permitem.
Letterboxing versus alongamento e recorte#
Três opções de redimensionamento lidam de formas diferentes com imagens e espaços-alvo de formas incompatíveis:
- Letterboxing preserva as proporções e a imagem completa, reservando parte da entrada para o preenchimento.
- Alongamento redimensiona a largura e a altura de forma independente para preencher o espaço-alvo. Os círculos tornam-se elipses quando os fatores de escala são diferentes.
- Recorte preserva as proporções quando combinado com redimensionamento uniforme e, em seguida, remove o conteúdo que fica fora da região selecionada. Os objetos perto das bordas da imagem podem ser cortados.
Estas opções afetam a deteção de objetos, na qual as formas e as posições são importantes, e a classificação de imagens, na qual o recorte altera as evidências visíveis de uma classe.
O preenchimento também consome área de entrada. No exemplo de 1280 x 720, o conteúdo da imagem ocupa 56,25% do quadrado e o preenchimento ocupa 43,75%. A redução da resolução diminui os detalhes finos dentro desse conteúdo; a adição de pixels de borda não acrescenta detalhes aos objetos. Para imagens de alta resolução que contêm objetos pequenos, a inferência em blocos processa regiões separadas da imagem numa escala efetiva maior para os objetos.
Um exemplo de letterboxing em Python#
Instala o Pillow com pip install pillow. A operação ImageOps.pad redimensiona e centraliza uma imagem numa tela com preenchimento. Este exemplo usa a fotografia de um autocarro distribuída para tutoriais de visão computacional.
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}")As dimensões da saída são (810, 1080) -> (640, 640), expressas como largura e altura. A imagem guardada contém a fotografia completa, redimensionada para 480 x 640, com uma borda de 80 píxeis em cada lado.
Mapeamento de anotações e predições#
O letterboxing transforma o sistema de coordenadas, além dos píxeis. Cada coordenada da caixa delimitadora tem de ser escalada e deslocada pelo preenchimento à esquerda ou acima. A mesma geometria aplica-se aos pontos-chave na estimativa de pose e aos contornos de objetos na segmentação de instâncias. Manter as anotações inalteradas durante o treino desalinha os alvos dos objetos que descrevem.
Após a inferência, o redimensionamento das coordenadas inverte a transformação: subtrai o deslocamento do preenchimento e, em seguida, divide pela escala de redimensionamento. No caso de uma caixa posicionada corretamente, mas com preenchimento diferente de zero, omitir esse deslocamento desloca a caixa e reduz a sua interseção sobre união com a verdade de referência. No exemplo do autocarro, um ponto nas coordenadas com preenchimento (320, 320) mapeia para as coordenadas originais (405, 540) depois de subtrair 80 de x e dividir ambas as coordenadas por 640 / 1080.










