Skip to main content

Ultralytics Solutions: Aproveite o YOLO26 para Resolver Problemas do Mundo Real

As Ultralytics Solutions oferecem aplicações de ponta dos modelos YOLO, proporcionando soluções reais como contagem de objetos, desfoque e sistemas de segurança, aumentando a eficiência e accuracy em diversos setores. Descubra o poder do YOLO26 para implementações práticas e impactantes.

Miniatura das Ultralytics Solutions



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Solutions

Aqui está nossa lista selecionada de soluções da Ultralytics que podem ser usadas para criar computer vision projetos.

  • Analytics: Realize análises de dados abrangentes para descobrir padrões e tomar decisões informadas, aproveitando o YOLO26 para análises descritivas, preditivas e prescritivas.
  • Cálculo de Distância: Calcule distâncias entre objetos usando bounding box centroides no YOLO26, essencial para análise espacial.
  • Mapas de Calor (Heatmaps): Utilize mapas de calor de detecção para visualizar a intensidade dos dados em uma matriz, fornecendo insights claros em tarefas de visão computacional.
  • Segmentação de Instância com Rastreamento de Objetos: Implemente segmentação de instâncias e rastreamento de objetos com o YOLO26 para obter limites precisos de objetos e monitoramento contínuo.
  • Inferência ao Vivo com Streamlit: Aproveite o poder do YOLO26 para object detection em tempo real diretamente pelo seu navegador com uma interface amigável do Streamlit.
  • Desfoque de Objetos: Aplique desfoque em objetos usando o YOLO26 para proteger a privacidade no processamento de imagens e vídeos.
  • Contagem de Objetos: Aprenda a realizar a contagem de objetos em tempo real com o YOLO26. Adquira a experiência para contar objetos com precisão em transmissões de vídeo ao vivo.
  • Contagem de Objetos em Regiões: Conte objetos em regiões específicas usando o YOLO26 para uma detecção precisa em áreas variadas.
  • Recorte de Objetos: Domine o recorte de objetos com o YOLO26 para a extração precisa de objetos de imagens e vídeos.
  • Gerenciamento de Estacionamento: Organize e direcione o fluxo de veículos em estacionamentos com o YOLO26, otimizando o uso do espaço e a experiência do usuário.
  • Gerenciamento de Filas: Implemente sistemas eficientes de gerenciamento de filas para minimizar tempos de espera e melhorar a produtividade usando o YOLO26.
  • Sistema de Alarme de Segurança: Crie um sistema de alarme de segurança com o YOLO26 que dispara alertas ao detectar novos objetos. Personalize o sistema para atender às suas necessidades específicas.
  • Busca de Similaridade: Habilite a busca inteligente de imagens combinando OpenAI CLIP embeddings com Meta FAISS, permitindo consultas em linguagem natural como "pessoa segurando uma bolsa" ou "veículos em movimento."
  • Estimativa de Velocidade: Estime a velocidade de objetos usando o YOLO26 e técnicas de rastreamento de objetos, fundamental para aplicações como veículos autônomos e monitoramento de tráfego.
  • Rastrear Objetos em Zona: Aprenda a rastrear objetos dentro de zonas específicas de quadros de vídeo usando o YOLO26 para um monitoramento preciso e eficiente.
  • Mapeamento de Objetos com VisionEye View: Desenvolva sistemas que imitam o foco do olho humano em objetos específicos, aprimorando a capacidade do computador de discernir e priorizar detalhes.
  • Monitoramento de Treinos: Descubra como monitorar treinos usando o YOLO26. Aprenda a rastrear e analisar várias rotinas de fitness em tempo real.

Argumentos das Solutions

ArgumentoTipoPadrãoDescrição
modelstrNoneCaminho para um arquivo de modelo YOLO da Ultralytics.
regionlist'[(20, 400), (1260, 400)]'Lista de pontos que definem a região de contagem.
show_inboolTrueFlag para controlar se exibe as contagens de entrada no fluxo de vídeo.
show_outboolTrueFlag para controlar se exibe as contagens de saída no fluxo de vídeo.
analytics_typestr'line'Tipo de gráfico, i.e., line, bar, area, ou pie.
colormapintcv2.COLORMAP_DEEPGREENColormap a ser usado para o mapa de calor.
json_filestrNoneCaminho para o arquivo JSON que contém todos os dados de coordenadas de estacionamento.
up_anglefloat145.0Limite de ângulo para a pose 'para cima'.
kptslist[int]'[6, 8, 10]'Lista de três índices de pontos-chave usados para monitorar exercícios. Esses pontos-chave correspondem a articulações ou partes do corpo, como ombros, cotovelos e pulsos, para exercícios como flexões, barras, agachamentos e abdominais.
down_angleint90Limite de ângulo para a pose 'para baixo'.
blur_ratiofloat0.5Ajusta a porcentagem da intensidade do desfoque, com valores na faixa 0.1 - 1.0.
crop_dirstr'cropped-detections'Nome do diretório para armazenar detecções recortadas.
recordsint5Contagem total de detecções para disparar um e-mail com sistema de alarme de segurança.
vision_pointtuple[int, int](20, 20)O ponto onde a visão rastreará objetos e desenhará caminhos usando a Solução VisionEye.
sourcestrNoneCaminho para a fonte de entrada (vídeo, RTSP, etc.). Apenas utilizável com a interface de linha de comando (CLI) das Soluções.
figsizetuple[int, int](12.8, 7.2)Tamanho da figura para gráficos de análise, como mapas de calor ou gráficos.
fpsfloat30.0Quadros por segundo (FPS) usados para cálculos de velocidade.
max_histint5Máximo de pontos históricos a rastrear por objeto para cálculos de velocidade/direção.
meter_per_pixelfloat0.05Fator de escala usado para converter a distância em pixels para unidades do mundo real.
max_speedint120Limite máximo de velocidade em sobreposições visuais (usado em alertas).
datastr'images'Caminho para o diretório de imagens usado para busca de similaridade.
Argumentos de rastreamento

As soluções também suportam alguns dos argumentos do track, incluindo parâmetros como conf, line_width, tracker, model, show, verbose e classes.

ArgumentoTipoPadrãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml.
conffloat0.1Define o limite de confiança para detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o Intersection over Union (IoU) limite para filtrar detecções sobrepostas.
classeslistNoneFiltra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
verboseboolTrueControla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados.
devicestrNoneEspecifica o dispositivo para inferência (p. ex., cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.
Argumentos de visualização

Você pode usar show_conf, show_labels, e outros argumentos mencionados para personalizar a visualização.

ArgumentoTipoPadrãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_widthint or NoneNoneEspecifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Fornece personalização visual para maior clareza.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Dá uma visão da certeza do modelo para cada detecção.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece entendimento imediato dos objetos detectados.

Uso do SolutionAnnotator

Todas as Ultralytics Solutions usam a classe separada SolutionAnnotator, que estende a classe principal Annotator, e possuem os seguintes métodos:

MétodoTipo de RetornoDescrição
draw_region()NoneDesenha uma região usando pontos, cores e espessura especificados.
queue_counts_display()NoneExibe contagens de fila na região especificada.
display_analytics()NoneExibe estatísticas gerais para o gerenciamento de estacionamento.
estimate_pose_angle()floatCalcula o ângulo entre três pontos na pose de um objeto.
draw_specific_points()NoneDesenha pontos-chave específicos na imagem.
plot_workout_information()NoneDesenha uma caixa de texto rotulada na imagem.
plot_angle_and_count_and_stage()NoneVisualiza ângulo, contagem de repetições e estágio para monitoramento de exercícios.
plot_distance_and_line()NoneExibe a distância entre centroides e os conecta com uma linha.
display_objects_labels()NoneAnota caixas delimitadoras com rótulos de classe de objeto.
sweep_annotator()NoneVisualiza uma linha de varredura vertical e um rótulo opcional.
visioneye()NoneMapeia e conecta centroides de objetos a um ponto visual de "olho".
adaptive_label()NoneDesenha um rótulo de forma de fundo circular ou retangular no centro de uma caixa delimitadora.

Trabalhando com SolutionResults

Exceto Similarity Search, cada chamada de Solution retorna uma lista de SolutionResults objetos.

  • Para contagem de objetos, os resultados incluem in_count, out_count, e classwise_count.
SolutionResults
import cv2

from ultralytics import solutions

im0 = cv2.imread("path/to/img")

region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

counter = solutions.ObjectCounter(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",  # model="yolo26n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count)  # display in_counts
print(results.out_count)  # display out_counts
print(results.classwise_count)  # display classwise_count

SolutionResults o objeto possui os seguintes atributos:

AtributoTipoDescrição
plot_imnp.ndarrayImagem com sobreposições visuais, como contagens, efeitos de desfoque ou melhorias específicas da solução.
in_countintNúmero total de objetos detectados entrando na zona definida no fluxo de vídeo.
out_countintNúmero total de objetos detectados saindo da zona definida no fluxo de vídeo.
classwise_countDict[str, int]Dicionário que registra as contagens de entrada/saída de objetos por classe para análises avançadas.
queue_countintNúmero de objetos atualmente dentro de uma fila predefinida ou área de espera (adequado para gerenciamento de filas).
workout_countintNúmero total de repetições de treino concluídas durante o rastreamento de exercícios.
workout_anglefloatÂngulo da articulação ou pose calculado durante o treino para avaliação da forma.
workout_stagestrEstágio atual do treino ou fase de movimento (por exemplo, 'para cima', 'para baixo').
pixels_distancefloatDistância baseada em pixels entre dois objetos ou pontos, por exemplo, caixas delimitadoras. (Adequado para cálculo de distância).
available_slotsintNúmero de vagas desocupadas em uma área monitorada (adequado para gerenciamento de estacionamento).
filled_slotsintNúmero de vagas ocupadas em uma área monitorada. (Adequado para gerenciamento de estacionamento)
email_sentboolIndica se um e-mail de notificação ou alerta foi enviado com sucesso (adequado para alarme de segurança).
total_tracksintNúmero total de rastreamentos de objetos únicos observados durante a análise de vídeo.
region_countsDict[str, int]Contagens de objetos dentro de regiões ou zonas definidas pelo usuário.
speed_dictDict[str, float]Dicionário de velocidades de objetos calculadas por rastreamento, útil para análise de velocidade.
total_crop_objectsintNúmero total de imagens de objetos recortadas geradas pela solução ObjectCropper.
speedDict[str, float]Dicionário contendo métricas de desempenho para rastreamento e processamento da solução.

Para mais detalhes, consulta a seção SolutionResults documentação da classe.

Uso de Solutions via CLI

Informações do Comando

A maioria das Solutions pode ser usada diretamente através da CLI, incluindo:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference, Trackzone

Sintaxe

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS é uma palavra-chave obrigatória.
  • SOLUTION_NAME é um dos seguintes: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye'].
  • ARGS (opcional) são pares de arg=value personalizados, como show_in=True, para substituir as configurações padrão.
yolo solutions count show=True # for object counting

yolo solutions count source="path/to/video.mp4" # specify video file path

Contribua para as Nossas Solutions

Damos as boas-vindas a contribuições da comunidade! Se dominas um aspecto específico do Ultralytics YOLO que ainda não está coberto nas nossas solutions, encorajamo-te a partilhar o teu conhecimento. Escrever um guia é uma excelente forma de retribuir à comunidade e ajudar-nos a tornar a nossa documentação mais abrangente e fácil de usar.

Para começar, por favor lê o nosso Guia de Contribuição para diretrizes sobre como abrir um Pull Request (PR) 🛠️. Aguardamos as tuas contribuições!

Vamos trabalhar juntos para tornar o ecossistema Ultralytics YOLO mais robusto e versátil 🙏!

FAQ

Como posso usar o Ultralytics YOLO para contagem de objetos em tempo real?

O Ultralytics YOLO26 pode ser usado para contagem de objetos em tempo real aproveitando as suas capacidades avançadas de detecção de objetos. Podes seguir o nosso guia detalhado sobre Contagem de Objetos para configurar o YOLO26 para análise de fluxo de vídeo ao vivo. Basta instalar o YOLO26, carregar o teu modelo e processar os frames de vídeo para contar objetos dinamicamente.

Quais são os benefícios de usar o Ultralytics YOLO para sistemas de segurança?

O Ultralytics YOLO26 melhora os sistemas de segurança ao oferecer detecção de objetos em tempo real e mecanismos de alerta. Ao empregar o YOLO26, podes criar um sistema de alarme de segurança que dispara alertas quando novos objetos são detectados na área de vigilância. Aprende como configurar um Sistema de Alarme de Segurança com o YOLO26 para uma monitorização de segurança robusta.

Como pode o Ultralytics YOLO melhorar sistemas de gestão de filas?

O Ultralytics YOLO26 pode melhorar significativamente os sistemas de gestão de filas ao contar e rastrear pessoas em filas com precisão, ajudando assim a reduzir os tempos de espera e otimizar a eficiência do serviço. Segue o nosso guia detalhado sobre Gerenciamento de Filas para aprender como implementar o YOLO26 para uma monitorização e análise de filas eficaz.

O Ultralytics YOLO pode ser usado para monitorização de treinos?

Sim, o Ultralytics YOLO26 pode ser usado eficazmente para monitorizar treinos ao rastrear e analisar rotinas de fitness em tempo real. Isto permite uma avaliação precisa da forma e desempenho do exercício. Explora o nosso guia sobre Monitoramento de Treinos para aprender como configurar um sistema de monitorização de treinos alimentado por IA usando o YOLO26.

Como é que o Ultralytics YOLO ajuda na criação de mapas de calor para visualização de dados?

O Ultralytics YOLO26 pode gerar mapas de calor para visualizar a intensidade dos dados numa determinada área, destacando regiões de alta atividade ou interesse. Esta funcionalidade é particularmente útil para compreender padrões e tendências em várias tarefas de visão computacional. Aprende mais sobre como criar e usar Mapas de Calor (Heatmaps) com o YOLO26 para análise e visualização de dados abrangente.

Comentários