Extraindo resultados do Ultralytics YOLOv8
Saiba como extrair caixas delimitadoras, máscaras, pontos-chave e probabilidades de classe dos objetos Results do Ultralytics YOLOv8 e utilizá-los no seu próprio código Python.
Nuvola Ladi4 min de leitura
O Ultralytics YOLOv8 é um modelo de visão computacional amplamente utilizado em tarefas como a deteção de objetos, a segmentação e o rastreamento. Quer sejas um programador experiente ou estejas a começar na área da inteligência artificial (AI), compreender como extrair eficazmente os resultados do YOLOv8 pode melhorar significativamente os teus projetos. Esta publicação explica os passos práticos para extrair e utilizar os resultados do modelo YOLOv8.
Configuração do Ultralytics YOLOv8#
Antes de começar a extrair resultados, é fundamental ter o teu modelo Ultralytics YOLOv8 instalado e a funcionar. Se estás a começar, podes ver os nossos vídeos anteriores, nos quais abordamos os conceitos básicos da configuração e da utilização de modelos YOLO em várias tarefas de visão computacional. Para começar a extrair resultados, confirma que o teu modelo está configurado corretamente:
- Inicialização do modelo: inicialize o modelo Ultralytics YOLOv8 adequadamente e escolha a configuração de modelo certa para suas necessidades específicas, seja para detecção de objetos ou para tarefas mais complexas, como estimativa de pose.
- Execução de inferência: introduz os teus dados no modelo para realizar a inferência. Este processo gera uma lista de objetos Results, um por imagem ou fotograma, que te permite aceder a todos os dados de deteção.
Entendendo o objeto de resultados#
Cada objeto Results do Ultralytics YOLOv8 contém todos os dados de deteção necessários para avançar com o teu projeto, incluindo:
- Caixas delimitadoras: usa
result.boxespara aceder às coordenadas dos objetos detetados. - Máscaras e pontos-chave: acede às máscaras de segmentação e aos pontos-chave para estimativa de pose usando
result.maskseresult.keypoints, respetivamente. - Probabilidades de classe:
result.probscontém as probabilidades de classe dos modelos de classificação, enquantoresult.boxes.conffornece a pontuação de confiança de cada caixa detetada, útil para filtrar deteções.
Extração de dados para utilização personalizada#
Para usar estes resultados nas tuas aplicações, segue estes passos:
- Converter dados para processamento: se estiveres a executar o modelo numa GPU, converte os resultados para o formato CPU utilizando
.cpu()para os processar. - Aceder às coordenadas das caixas delimitadoras: obtém e manipula as coordenadas das caixas delimitadoras diretamente a partir do objeto de resultados. Isto inclui aceder às coordenadas normalizadas ou a atributos específicos, como a largura e a altura.
- Tratar classificações: extrai as classificações principais para utilizar eficazmente os IDs de classe e as pontuações de confiança.
Aplicação prática no código#
Passando da teoria à prática, Nicolai Nielsen demonstra como implementar estes conceitos num script Python personalizado usando o Visual Studio Code. O script inclui:
- Configurar uma classe de deteção: inicializa e configura o teu modelo Ultralytics YOLOv8 numa estrutura de classe, preparando-o para receber dados em tempo real.
- Extrair resultados: executa a deteção e extrai caixas delimitadoras, máscaras e classificações diretamente do objeto de resultados.
- Utilizar os resultados: converte os resultados para formatos utilizáveis, como JSON ou CSV, ou usa-os diretamente para desenhar caixas delimitadoras em imagens ou fluxos de vídeo.
Visualização e muito mais#
Embora a extração de dados brutos seja crucial, visualizar estas deteções pode fornecer informações imediatas sobre o desempenho do modelo:
- Desenhar retângulos: usa os dados das caixas delimitadoras para desenhar retângulos à volta dos objetos detetados em imagens ou vídeos.
- Representação gráfica direta: utiliza o método integrado
result.plot()para visualizar as deteções sem programação adicional.
Amplia o teu conjunto de ferramentas de IA com o Ultralytics YOLOv8#
Dominar a extração de resultados do Ultralytics YOLOv8 não só aumenta as capacidades do teu projeto, como também aprofunda a tua compreensão dos sistemas de deteção de objetos.
Seguindo estes passos, podes adaptar as deteções do Ultralytics YOLOv8 às tuas necessidades específicas, quer estejas a desenvolver aplicações avançadas baseadas em AI, quer a realizar análises de dados robustas.
Fica atento aos próximos tutoriais sobre o Ultralytics YOLOv8 e outras tecnologias de AI. Junta-te à nossa comunidade para acompanhares as novidades e consulta também a nossa documentação para saberes mais!
Escrito por
Comentários
Faça uma pergunta, compartilhe seus resultados ou ajude alguém.










