Ultralytics YOLO27:
Get Started

Soluções Ultralytics: usa o YOLO26 para resolver problemas do mundo real#

As soluções Ultralytics oferecem aplicações de ponta dos modelos YOLO, com soluções para o mundo real, como a contagem de objetos, a desfocagem e os sistemas de segurança, que aumentam a eficiência e a precisão em diversos setores. Descobre o potencial do YOLO26 em implementações práticas e com impacto.

Miniatura das soluções Ultralytics



Assista: Como executar soluções do Ultralytics pela linha de comando (CLI) | Ultralytics YOLO26 🚀

Soluções#

Segue-se a nossa lista selecionada de soluções Ultralytics que podes usar para criar projetos incríveis de visão computacional.

  • Análise: realiza 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âncias: calcula distâncias entre objetos usando os centroides das caixas delimitadoras no YOLO26, essenciais para a análise espacial.
  • Mapas de calor: utiliza mapas de calor de deteção para visualizar a intensidade dos dados numa matriz e obter informações claras sobre tarefas de visão computacional.
  • Segmentação de instâncias com rastreamento de objetos: implementa a segmentação de instâncias e o rastreamento de objetos com o YOLO26 para obter limites precisos dos objetos e monitorizá-los continuamente.
  • Inferência em direto com Streamlit: aproveita o potencial do YOLO26 para efetuar deteção de objetos em tempo real diretamente no teu navegador, através de uma interface Streamlit fácil de usar.
  • Desfocagem de objetos: aplica desfocagem a objetos com o YOLO26 para proteger a privacidade no processamento de imagens e vídeos.
  • Contagem de objetos: aprende a contar objetos em tempo real com o YOLO26. Desenvolve competências para contar objetos com precisão em transmissões de vídeo em direto.
  • Contagem de objetos em regiões: conta objetos em regiões específicas usando o YOLO26 para obter deteções precisas em áreas distintas.
  • Recorte de objetos: aprende a recortar objetos com o YOLO26 para os extrair com precisão de imagens e vídeos.
  • Gestão de estacionamento: organiza e orienta o fluxo de veículos em parques de estacionamento com o YOLO26, otimizando a utilização do espaço e a experiência dos utilizadores.
  • Gestão de filas: implementa sistemas eficientes de gestão de filas para reduzir os tempos de espera e aumentar a produtividade com o YOLO26.
  • Sistema de alarme de segurança: cria um sistema de alarme de segurança com o YOLO26 que envia alertas ao detetar novos objetos. Personaliza o sistema de acordo com as tuas necessidades específicas.
  • Pesquisa por similaridade: permite recuperar imagens de forma inteligente combinando embeddings do OpenAI CLIP com pesquisa por similaridade do cosseno, possibilitando consultas em linguagem natural como "pessoa a segurar um saco" ou "veículos em movimento".
  • Estimativa de velocidade: estima a velocidade dos objetos usando o YOLO26 e técnicas de rastreamento de objetos, essenciais para aplicações como veículos autónomos e monitorização do trânsito.
  • Rastreamento de objetos numa zona: aprende a rastrear objetos em zonas específicas de fotogramas de vídeo usando o YOLO26 para uma monitorização precisa e eficiente.
  • Mapeamento de objetos com a visualização VisionEye: desenvolve sistemas que imitam o foco do olho humano em objetos específicos, melhorando a capacidade do computador para distinguir e priorizar detalhes.
  • Monitorização de treinos: descobre como monitorizar treinos com o YOLO26. Aprende a rastrear e analisar vários exercícios físicos em tempo real.

Argumentos das soluções#

ArgumentoTipoPadrãoDescrição
modelstrNoneCaminho para um arquivo de modelo Ultralytics YOLO.
regionlist ou dictNonePontos que definem a região de interesse, seja como uma lista de tuplas (x, y) ou como um dicionário que associa nomes de regiões a listas de pontos para várias regiões (somente RegionCounter). Quando None, as soluções que exigem uma região usam uma região padrão predefinida.
show_inboolTrueFlag que controla se as contagens de entrada são exibidas no fluxo de vídeo.
show_outboolTrueFlag que controla se as contagens de saída são exibidas no fluxo de vídeo.
analytics_typestr'line'Tipo de gráfico, por exemplo, line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENMapa de cores a usar no mapa de calor.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva o registro por quadro da solução, com o formato da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.
json_filestrNoneCaminho para o arquivo JSON que contém todos os dados de coordenadas das vagas de estacionamento.
up_anglefloat145.0Limiar de ângulo para a pose de 'subida'.
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, em exercícios como flexões, barras, agachamentos e exercícios abdominais.
down_anglefloat90.0Limiar de ângulo para a pose de 'descida'.
blur_ratiofloat0.5Ajusta a percentagem da intensidade do desfoque, com valores no intervalo 0.1 - 1.0.
crop_dirstr'cropped-detections'Nome do diretório para armazenar deteções recortadas.
recordsint5Número total de deteções necessário para acionar um e-mail com o alarme de segurança.
vision_pointtuple[int, int](20, 20)O ponto onde a visão irá acompanhar objetos e desenhar trajetórias com a solução VisionEye.
sourcestrNoneCaminho para a origem de entrada (vídeo, RTSP, etc.). Só pode ser usado com a interface de linha de comandos (CLI) de Solutions.
figsizetuple[float, float](12.8, 7.2)Tamanho da figura em polegadas para gráficos Analytics; (12.8, 7.2) renderiza um fotograma de 1280×720.
fpsfloat30.0Fotogramas por segundo usados nos cálculos de velocidade.
max_histint5Número máximo de pontos históricos a acompanhar por objeto para calcular a velocidade/direção.
meter_per_pixelfloat0.05Fator de escala usado para converter a distância em píxeis em unidades do mundo real.
max_speedint120Velocidade máxima em km/h; as velocidades estimadas superiores são limitadas a este valor.
datastr'images'Caminho para o diretório de imagens usado na pesquisa por semelhança.
imgszint640Tamanho da imagem de entrada para inferência do modelo.
Argumentos de rastreamento

As soluções passam os argumentos de inferência e rastreamento abaixo para model.track().

ArgumentoTipoPadrãoDescrição
trackerstr'tracktrack.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança das deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de interseção sobre união (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para a inferência (por exemplo, cpu, cuda:0 ou 0). Permite escolher entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo.
imgszint or tuple640Tamanho da imagem de destino para a inferência: um número inteiro para uma imagem quadrada ou um par (height, width). As dimensões são ajustadas ao stride do modelo.
max_detint300Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas.
quantizeint or strNonePrecisão de inferência: 16 (FP16) ou 32/unset (FP32) para modelos PyTorch e TorchScript fora da CPU; os outros formatos usam a precisão selecionada pelo artefato e pelo ambiente de execução. Substitui o argumento obsoleto half.
Argumentos de visualização

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

ArgumentoTipoPadrãoDescrição
showboolFalseSe True, exibe as imagens ou os vídeos anotados em uma janela. Útil para obter feedback visual imediato durante o desenvolvimento ou os testes.
show_confboolTrueExibe a pontuação de confiança de cada detecção junto ao rótulo. Mostra o grau de certeza do modelo em cada detecção.
show_labelsboolTrueExibe os rótulos de cada detecção na saída visual. Permite identificar imediatamente os objetos detectados.

Utilização de SolutionAnnotator#

Todas as soluções Ultralytics usam a classe separada SolutionAnnotator, que estende a classe principal Annotator e disponibiliza os seguintes métodos:

MétodoTipo devolvidoDescrição
draw_region()NoneDesenha uma região com os pontos, as cores e a espessura especificados.
queue_counts_display()NoneApresenta a contagem da fila na região especificada.
display_analytics()NoneApresenta estatísticas gerais da gestão do parque de estacionamento.
estimate_pose_angle()floatCalcula o ângulo entre três pontos numa pose de objeto.
draw_specific_kpts()np.ndarrayDesenha pontos-chave específicos na imagem.
plot_workout_information()intDesenha uma caixa de texto com rótulo na imagem.
plot_angle_and_count_and_stage()NoneVisualiza o ângulo, a contagem de repetições e a fase para a monitorização de treinos.
plot_distance_and_line()NoneApresenta a distância entre centroides e liga-os com uma linha.
display_objects_labels()NoneAnota as caixas delimitadoras com os rótulos das classes dos objetos.
sweep_annotator()NoneVisualiza uma linha de varrimento vertical e um rótulo opcional.
visioneye()NoneMapeia os centroides dos objetos e liga-os a um ponto visual de "olho".
adaptive_label()NoneDesenha um rótulo de fundo circular ou retangular no centro de uma caixa delimitadora.

Trabalhar com SolutionResults#

Com exceção de Similarity Search, cada chamada de solução devolve um objeto SolutionResults.

  • Na 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,  # # Apresenta o resultado
    region=region_points,  # # Passa os pontos da região
    model="yolo26n.pt",  # model="yolo26n-obb.pt" para contar objetos com o modelo OBB.
    # classes=[0, 2],  # conta classes específicas, ou seja, pessoas e carros, com o modelo COCO pré-treinado.
    # tracker="botsort.yaml"  # Escolhe rastreadores, por exemplo, "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

Os objetos SolutionResults têm os seguintes atributos:

AtributoTipoDescrição
plot_imnp.ndarrayImagem com sobreposições visuais, como contagens, efeitos de desfocagem ou melhorias específicas da solução.
in_countintNúmero total de objetos detetados a entrar na zona definida na transmissão de vídeo.
out_countintNúmero total de objetos detetados a sair da zona definida na transmissão de vídeo.
classwise_countdict[str, dict[str, int] | int]Contagens por classe: {"IN": int, "OUT": int} para ObjectCounter e Heatmap ou um int para Analytics.
queue_countintNúmero de objetos que se encontram atualmente numa fila ou zona de espera predefinida (adequado para a gestão de filas).
workout_countlist[int]Contagem de repetições dos treinos por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento).
workout_anglelist[float]Ângulos dos exercícios por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento).
workout_stagelist[str]Fase atual do treino por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento).
pixels_distancefloatDistância em píxeis entre dois objetos ou pontos, por exemplo, caixas delimitadoras. (Adequada para o cálculo de distâncias).
available_slotsintNúmero de lugares desocupados numa área monitorizada (adequado para a gestão de estacionamento).
filled_slotsintNúmero de lugares ocupados numa área monitorizada. (Adequado para a gestão de estacionamento)
email_sentboolIndica se foi enviado com êxito um aviso ou e-mail de alerta (adequado para um alarme de segurança).
total_tracksintNúmero total de rastreamentos únicos de objetos observados durante a análise de vídeo.
region_countsDict[str, int]Contagens de objetos em regiões ou zonas definidas pelo usuário.
speed_dictDict[int, int]Dicionário de velocidades estimadas de objetos por rastreador, em km/h, obtidas pelo SpeedEstimator e úteis 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 que contém métricas de desempenho para rastreamento e processamento da solução.

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

Uso das soluções pela CLI#

Informações do comando

A maioria das soluções pode ser usada diretamente pela interface de linha de comando.

Sintaxe

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS é uma palavra-chave obrigatória.
  • SOLUTION_NAME é um destes: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking'].
  • ARGS (opcional) são pares personalizados de arg=value, 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

Contribui para as nossas soluções#

A comunidade é muito bem-vinda a contribuir! Se dominas algum aspecto específico do Ultralytics YOLO que ainda não esteja contemplado nas nossas soluções, convidamos-te a compartilhar o teu conhecimento. Escrever um guia é uma ótima forma de retribuir à comunidade e ajudar a tornar a nossa documentação mais completa e fácil de usar.

Para começar, lê o nosso Guia de Contribuição para conhecer as orientações 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 🙏!

Perguntas frequentes#

  • O Ultralytics YOLO26 pode ser usado para contar objetos em tempo real, aproveitando os seus recursos avançados de detecção de objetos. Segue o nosso guia detalhado sobre Contagem de objetos para configurar o YOLO26 e analisar transmissões de vídeo ao vivo. Basta instalar o YOLO26, carregar o teu modelo e processar os quadros de vídeo para contar objetos dinamicamente.

  • O Ultralytics YOLO26 aprimora os sistemas de segurança ao oferecer detecção de objetos em tempo real e mecanismos de alerta. Com o YOLO26, podes criar um sistema de alarme de segurança que aciona alertas quando novos objetos são detectados na área monitorada. Aprende a configurar um Sistema de alarme de segurança com o YOLO26 para um monitoramento de segurança robusto.

  • O Ultralytics YOLO26 pode melhorar significativamente os sistemas de gestão de filas ao contar e rastrear pessoas com precisão, ajudando a reduzir o tempo de espera e a otimizar a eficiência do atendimento. Segue o nosso guia detalhado sobre Gestão de filas para aprender a implementar o YOLO26 no monitoramento e na análise eficazes de filas.

  • Sim, o Ultralytics YOLO26 pode ser usado de forma eficaz para monitorar treinos, rastreando e analisando rotinas de exercícios em tempo real. Isso permite avaliar com precisão a execução e o desempenho dos exercícios. Explora o nosso guia sobre Monitoramento de treinos para aprender a configurar um sistema de monitoramento de treinos com IA usando o YOLO26.

  • O Ultralytics YOLO26 pode gerar mapas de calor para visualizar a intensidade dos dados em uma determinada área, destacando regiões de grande atividade ou interesse. Esse recurso é 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 com o YOLO26 para uma análise e visualização abrangentes dos dados.

Comentários