Recorte em blocos de alta resolução
Use tile=True para processar imagens de alta resolução em janelas sobrepostas antes de redimensioná-las para a entrada do modelo. Isso pode preservar detalhes de objetos pequenos que seriam perdidos ao redimensionar a imagem inteira. Não é necessário instalar pacotes adicionais.
O recorte usa os pipelines normais de treinamento, validação e predição. A predição retorna um objeto Results por imagem original. A validação mescla as predições antes de avaliá-las em relação às anotações originais; a função de perda do treinamento é calculada nos recortes.
Uso#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="aerial.yaml", tile=True, imgsz=640)
metrics = model.val(data="aerial.yaml", tile=True, imgsz=640)
results = model.predict("large-image.tif", tile=640, imgsz=640, batch=8)yolo predict model=yolo26n.pt source=large-image.tif tile=640 imgsz=640 batch=8tile=True usa imgsz como tamanho da janela. Um inteiro positivo, como tile=1024, define o tamanho da janela independentemente de imgsz. tile=False é o valor padrão. As janelas têm uma sobreposição de 20%, e as janelas finais são alinhadas à borda da imagem. Imagens menores usam uma única janela que abrange a imagem inteira.
batch controla quantos recortes o modelo processa em conjunto durante a predição. O backend existente lida com tamanhos de lote fixos na exportação, incluindo o último lote incompleto. Os modelos exportados mantêm o grafo de entrada normal; o recorte é executado no pipeline de predição do Python.
Para vídeos, transmite os resultados para manter o uso de memória limitado e usa as opções de previsão existentes para salvá-los ou exibi-los:
for result in model.predict("video.mp4", tile=640, stream=True, save=True):
print(result.boxes)yolo predict model=yolo26n.pt source=video.mp4 tile=640 save=TrueTarefas e modelos#
| Tarefa | Saída da imagem inteira |
|---|---|
| Detecção | Restaure as caixas para as coordenadas da imagem de origem e suprima duplicatas com iou, agnostic_nms e max_det. |
| Segmentação | Aplique a mesma seleção de caixas e posicione as máscaras selecionadas na imagem de origem. |
| Semântica | Una os mapas de classes, escolhendo o recorte mais central nas regiões sobrepostas. |
| Profundidade | Combine os mapas de profundidade sobrepostos com pesos que aumentam em direção ao centro de cada recorte. |
| Classificação | Faça a média das probabilidades dos recortes. |
| Pose | Aplique a seleção de caixas e restaure os pontos-chave correspondentes. |
| OBB | Restaure as caixas rotacionadas e use NMS rotacionada. |
O pipeline compartilhado oferece suporte à predição com modelos de tarefas YOLO, YOLO-World, YOLOE, RT-DETR e FastSAM. Os prompts visuais do YOLOE são incorporados a partir da imagem de origem completa e reutilizados pelos recortes. O FastSAM seleciona máscaras com prompt depois de mesclá-las nas coordenadas da imagem de origem. Os preditores do SAM mantêm seu próprio pipeline de prompts e geração de recortes; eles não aceitam tile.
Durante o treinamento, as caixas e os polígonos são recortados para as respetivas janelas, o recorte de OBB preserva a orientação e os pontos-chave fora da janela perdem visibilidade. As instâncias que mantêm menos de 10% da área original da caixa delimitadora são removidas. As janelas vazias são mantidas como exemplos negativos. Os alvos semânticos e de profundidade usam as mesmas janelas que as imagens.
Desempenho e qualidade#
- O recorte executa mais passagens do modelo do que a inferência com a imagem inteira. Escolha os maiores tamanhos de recorte e de lote que preservem os detalhes necessários dentro da memória disponível.
- Recortes consecutivos reutilizam a imagem de origem decodificada. Com
cache="ram", o treinamento armazena as imagens de origem uma única vez;cache="disk"usa o cache de imagens existente. O treinamento embaralha os recortes, por isso o cache é especialmente útil para imagens de origem grandes e compactadas. - As máscaras e os mapas densos do tamanho da imagem de origem ainda exigem memória proporcional às dimensões da imagem original.
max_detlimita o número de máscaras de instância mantidas. - O recorte remove o contexto global. Valide a precisão com seus próprios dados, especialmente para classificação e profundidade, cujas saídas dos recortes podem não ser globalmente consistentes.
- A supressão de duplicatas seleciona predições completas; ela não reconstrói um objeto a partir de fragmentos visíveis separados. A sobreposição reduz o truncamento nas bordas, mas não consegue eliminá-lo para objetos maiores que um recorte.
- Fontes tensor,
embedevisualizenão são compatíveis. O rastreamento é executado uma vez por quadro de origem sobre as previsões combinadas, incluindo os recursos ReID.
Comentários
Faz uma pergunta, partilha os teus resultados ou ajuda alguém.