Link to this sectionDocumentação da Ultralytics: Usando YOLO26 com SAHI para Inferência Fatiada#
Bem-vindo à documentação da Ultralytics sobre como usar o YOLO26 com o SAHI (Slicing Aided Hyper Inference). Este guia completo visa fornecer a você todo o conhecimento essencial necessário para implementar o SAHI junto com o YOLO26. Vamos nos aprofundar no que é o SAHI, por que a inferência fatiada é fundamental para aplicações em larga escala e como integrar essas funcionalidades ao YOLO26 para um desempenho aprimorado de detecção de objetos.
Link to this sectionIntrodução ao SAHI#
O SAHI (Slicing Aided Hyper Inference) é uma biblioteca inovadora projetada para otimizar algoritmos de detecção de objetos para imagens de alta resolução e em larga escala. Sua funcionalidade principal consiste em dividir imagens em fatias gerenciáveis, executar a detecção de objetos em cada fatia e, em seguida, unir os resultados. O SAHI é compatível com uma gama de modelos de detecção de objetos, incluindo a série YOLO, oferecendo flexibilidade enquanto garante o uso otimizado de recursos computacionais.
Watch: How to use SAHI with Ultralytics YOLO26 to Detect Small Objects | Slicing Aided Hyper Inference 🚀
Link to this sectionPrincipais Recursos do SAHI#
- Integração Contínua: O SAHI integra-se facilmente aos modelos YOLO, o que significa que você pode começar a fatiar e detectar sem muitas modificações no código.
- Eficiência de Recursos: Ao dividir imagens grandes em partes menores, o SAHI otimiza o uso da memória, permitindo que você execute detecções de alta qualidade em hardware com recursos limitados.
- Alta Precisão: O SAHI mantém a precisão da detecção empregando algoritmos inteligentes para mesclar caixas de detecção sobrepostas durante o processo de união.
Link to this sectionO que é Inferência Fatiada?#
A Inferência Fatiada refere-se à prática de subdividir uma imagem grande ou de alta resolução em segmentos menores (fatias), conduzindo a detecção de objetos nessas fatias e, em seguida, recompilando as fatias para reconstruir as localizações dos objetos na imagem original. Essa técnica é inestimável em cenários onde os recursos computacionais são limitados ou ao trabalhar com imagens de altíssima resolução que poderiam levar a problemas de memória.
Link to this sectionBenefícios da Inferência Fatiada#
-
Carga Computacional Reduzida: Fatias de imagem menores são mais rápidas de processar e consomem menos memória, permitindo uma operação mais fluida em hardwares de entrada.
-
Qualidade de Detecção Preservada: Como cada fatia é tratada independentemente, não há redução na qualidade da detecção de objetos, desde que as fatias sejam grandes o suficiente para capturar os objetos de interesse.
-
Escalabilidade Aprimorada: A técnica permite que a detecção de objetos seja escalada mais facilmente em diferentes tamanhos e resoluções de imagens, tornando-a ideal para uma ampla gama de aplicações, desde imagens de satélite até diagnósticos médicos.
| YOLO26 without SAHI | YOLO26 with SAHI |
|---|---|
![]() | ![]() |
Link to this sectionInstalação e Preparação#
Link to this sectionInstalação#
Para começar, instale as versões mais recentes do SAHI e da Ultralytics:
pip install -U ultralytics sahiLink to this sectionImportar Módulos e Baixar Recursos#
Veja como baixar algumas imagens de teste:
from sahi.utils.file import download_from_url
# Download test images
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
"demo_data/small-vehicles1.jpeg",
)
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
"demo_data/terrain2.png",
)Link to this sectionInferência Padrão com o YOLO26#
Link to this sectionInstanciar o Modelo#
Você pode instanciar um modelo YOLO26 para detecção de objetos assim:
from sahi import AutoDetectionModel
detection_model = AutoDetectionModel.from_pretrained(
model_type="ultralytics",
model_path="yolo26n.pt",
confidence_threshold=0.3,
device="cpu", # or 'cuda:0'
)Link to this sectionRealizar Predição Padrão#
Realize a inferência padrão usando um caminho de imagem.
from sahi.predict import get_prediction
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)
result.export_visuals(export_dir="demo_data/", hide_conf=True)Link to this sectionVisualizar Resultados#
Exporte e visualize as caixas delimitadoras e máscaras preditas:
from PIL import Image
# Open the predicted image
processed_image = Image.open("demo_data/prediction_visual.png")
# Display the predicted image
processed_image.show()Link to this sectionInferência Fatiada com o YOLO26#
Realize a inferência fatiada especificando as dimensões das fatias e as taxas de sobreposição:
from PIL import Image
from sahi.predict import get_sliced_prediction
result = get_sliced_prediction(
"demo_data/small-vehicles1.jpeg",
detection_model,
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)
# Export results
result.export_visuals(export_dir="demo_data/", hide_conf=True)
# Open the predicted image
processed_image = Image.open("demo_data/prediction_visual.png")
# Display the predicted image
processed_image.show()Link to this sectionManipulando Resultados de Predição#
O SAHI fornece um objeto PredictionResult, que pode ser convertido em vários formatos de anotação:
# Access the object prediction list
object_prediction_list = result.object_prediction_list
# Convert to COCO annotation and COCO prediction formats
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]Link to this sectionPredição em Lote#
Para predição em lote em um diretório de imagens:
from sahi.predict import predict
predict(
model_type="ultralytics",
model_path="yolo26n.pt",
model_device="cpu", # or 'cuda:0'
model_confidence_threshold=0.4,
source="path/to/dir",
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)Você está agora pronto para usar o YOLO26 com o SAHI para inferência tanto padrão quanto fatiada.
Link to this sectionCitações e Agradecimentos#
Se você usar o SAHI em seu trabalho de pesquisa ou desenvolvimento, por favor cite o artigo original do SAHI e reconheça os autores:
@article{akyon2022sahi,
title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
journal={2022 IEEE International Conference on Image Processing (ICIP)},
doi={10.1109/ICIP46576.2022.9897990},
pages={966-970},
year={2022}
}Estendemos nossos agradecimentos ao grupo de pesquisa SAHI por criar e manter este recurso inestimável para a comunidade de visão computacional. Para mais informações sobre o SAHI e seus criadores, visite o repositório GitHub do SAHI.
Link to this sectionFAQ#
Link to this sectionComo posso integrar o YOLO26 ao SAHI para inferência fatiada na detecção de objetos?#
Integrar o YOLO26 da Ultralytics ao SAHI (Slicing Aided Hyper Inference) para inferência fatiada otimiza suas tarefas de detecção de objetos em imagens de alta resolução, particionando-as em fatias gerenciáveis. Essa abordagem melhora o uso da memória e garante alta precisão de detecção. Para começar, você precisa instalar as bibliotecas ultralytics e sahi:
pip install -U ultralytics sahiEm seguida, baixe as imagens de teste:
from sahi.utils.file import download_from_url
# Download test images
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
"demo_data/small-vehicles1.jpeg",
)
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
"demo_data/terrain2.png",
)Para instruções mais detalhadas, consulte nosso guia de Inferência Fatiada.
Link to this sectionPor que devo usar o SAHI com o YOLO26 para detecção de objetos em imagens grandes?#
Usar o SAHI com o YOLO26 da Ultralytics para detecção de objetos em imagens grandes oferece vários benefícios:
- Carga Computacional Reduzida: Fatias menores são mais rápidas de processar e consomem menos memória, tornando viável executar detecções de alta qualidade em hardware com recursos limitados.
- Precisão de Detecção Mantida: O SAHI usa algoritmos inteligentes para mesclar caixas sobrepostas, preservando a qualidade da detecção.
- Escalabilidade Aprimorada: Ao escalar tarefas de detecção de objetos através de diferentes tamanhos e resoluções de imagem, o SAHI torna-se ideal para várias aplicações, como análise de imagens de satélite e diagnósticos médicos.
Saiba mais sobre os benefícios da inferência fatiada em nossa documentação.
Link to this sectionPosso visualizar os resultados da predição ao usar o YOLO26 com o SAHI?#
Sim, você pode visualizar os resultados da predição ao usar o YOLO26 com o SAHI. Veja como você pode exportar e visualizar os resultados:
from PIL import Image
result.export_visuals(export_dir="demo_data/", hide_conf=True)
processed_image = Image.open("demo_data/prediction_visual.png")
processed_image.show()Este comando salvará as predições visualizadas no diretório especificado, e você poderá então carregar a imagem para vê-la em seu notebook ou aplicação. Para um guia detalhado, confira a seção de Inferência Padrão.
Link to this sectionQuais recursos o SAHI oferece para melhorar a detecção de objetos do YOLO26?#
O SAHI (Slicing Aided Hyper Inference) oferece vários recursos que complementam o YOLO26 da Ultralytics para detecção de objetos:
- Integração Contínua: O SAHI integra-se facilmente aos modelos YOLO, exigindo ajustes mínimos de código.
- Eficiência de Recursos: Ele particiona imagens grandes em fatias menores, o que otimiza o uso da memória e a velocidade.
- Alta Precisão: Ao mesclar efetivamente caixas de detecção sobrepostas durante o processo de união, o SAHI mantém alta precisão de detecção.
Para uma compreensão mais profunda, leia sobre os principais recursos do SAHI.
Link to this sectionComo lido com projetos de inferência em larga escala usando o YOLO26 e o SAHI?#
Para lidar com projetos de inferência em larga escala usando o YOLO26 e o SAHI, siga estas melhores práticas:
- Instale as Bibliotecas Necessárias: Garanta que você tenha as versões mais recentes do ultralytics e do sahi.
- Configure a Inferência Fatiada: Determine as dimensões das fatias e as taxas de sobreposição ideais para o seu projeto específico.
- Execute Predições em Lote: Use os recursos do SAHI para realizar predições em lote em um diretório de imagens, o que melhora a eficiência.
Exemplo para predição em lote:
from sahi.predict import predict
predict(
model_type="ultralytics",
model_path="path/to/yolo26n.pt",
model_device="cpu", # or 'cuda:0'
model_confidence_threshold=0.4,
source="path/to/dir",
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)Para passos mais detalhados, visite nossa seção sobre Predição em Lote.

