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.

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#
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
region | list ou dict | None | Pontos 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_in | bool | True | Flag que controla se as contagens de entrada são exibidas no fluxo de vídeo. |
show_out | bool | True | Flag que controla se as contagens de saída são exibidas no fluxo de vídeo. |
analytics_type | str | 'line' | Tipo de gráfico, por exemplo, line, bar, area ou pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de cores a usar no mapa de calor. |
line_width | int | 2 | Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução. |
verbose | bool | True | Ativa 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_file | str | None | Caminho para o arquivo JSON que contém todos os dados de coordenadas das vagas de estacionamento. |
up_angle | float | 145.0 | Limiar de ângulo para a pose de 'subida'. |
kpts | list[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_angle | float | 90.0 | Limiar de ângulo para a pose de 'descida'. |
blur_ratio | float | 0.5 | Ajusta a percentagem da intensidade do desfoque, com valores no intervalo 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | Nome do diretório para armazenar deteções recortadas. |
records | int | 5 | Número total de deteções necessário para acionar um e-mail com o alarme de segurança. |
vision_point | tuple[int, int] | (20, 20) | O ponto onde a visão irá acompanhar objetos e desenhar trajetórias com a solução VisionEye. |
source | str | None | Caminho para a origem de entrada (vídeo, RTSP, etc.). Só pode ser usado com a interface de linha de comandos (CLI) de Solutions. |
figsize | tuple[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. |
fps | float | 30.0 | Fotogramas por segundo usados nos cálculos de velocidade. |
max_hist | int | 5 | Número máximo de pontos históricos a acompanhar por objeto para calcular a velocidade/direção. |
meter_per_pixel | float | 0.05 | Fator de escala usado para converter a distância em píxeis em unidades do mundo real. |
max_speed | int | 120 | Velocidade máxima em km/h; as velocidades estimadas superiores são limitadas a este valor. |
data | str | 'images' | Caminho para o diretório de imagens usado na pesquisa por semelhança. |
imgsz | int | 640 | Tamanho da imagem de entrada para inferência do modelo. |
As soluções passam os argumentos de inferência e rastreamento abaixo para model.track().
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Define o limiar de confiança das deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de interseção sobre união (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
device | str | None | Especifica 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. |
imgsz | int or tuple | 640 | Tamanho 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_det | int | 300 | Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas. |
quantize | int or str | None | Precisã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. |
Podes usar show_conf, show_labels e outros argumentos mencionados para personalizar a visualização.
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
show | bool | False | Se 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_conf | bool | True | Exibe 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_labels | bool | True | Exibe 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étodo | Tipo devolvido | Descrição |
|---|---|---|
draw_region() | None | Desenha uma região com os pontos, as cores e a espessura especificados. |
queue_counts_display() | None | Apresenta a contagem da fila na região especificada. |
display_analytics() | None | Apresenta estatísticas gerais da gestão do parque de estacionamento. |
estimate_pose_angle() | float | Calcula o ângulo entre três pontos numa pose de objeto. |
draw_specific_kpts() | np.ndarray | Desenha pontos-chave específicos na imagem. |
plot_workout_information() | int | Desenha uma caixa de texto com rótulo na imagem. |
plot_angle_and_count_and_stage() | None | Visualiza o ângulo, a contagem de repetições e a fase para a monitorização de treinos. |
plot_distance_and_line() | None | Apresenta a distância entre centroides e liga-os com uma linha. |
display_objects_labels() | None | Anota as caixas delimitadoras com os rótulos das classes dos objetos. |
sweep_annotator() | None | Visualiza uma linha de varrimento vertical e um rótulo opcional. |
visioneye() | None | Mapeia os centroides dos objetos e liga-os a um ponto visual de "olho". |
adaptive_label() | None | Desenha 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_counteclasswise_count.
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_countOs objetos SolutionResults têm os seguintes atributos:
| Atributo | Tipo | Descrição |
|---|---|---|
plot_im | np.ndarray | Imagem com sobreposições visuais, como contagens, efeitos de desfocagem ou melhorias específicas da solução. |
in_count | int | Número total de objetos detetados a entrar na zona definida na transmissão de vídeo. |
out_count | int | Número total de objetos detetados a sair da zona definida na transmissão de vídeo. |
classwise_count | dict[str, dict[str, int] | int] | Contagens por classe: {"IN": int, "OUT": int} para ObjectCounter e Heatmap ou um int para Analytics. |
queue_count | int | Número de objetos que se encontram atualmente numa fila ou zona de espera predefinida (adequado para a gestão de filas). |
workout_count | list[int] | Contagem de repetições dos treinos por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento). |
workout_angle | list[float] | Ângulos dos exercícios por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento). |
workout_stage | list[str] | Fase atual do treino por rastreamento no AI Gym (uma entrada por indivíduo rastreado no momento). |
pixels_distance | float | Distância em píxeis entre dois objetos ou pontos, por exemplo, caixas delimitadoras. (Adequada para o cálculo de distâncias). |
available_slots | int | Número de lugares desocupados numa área monitorizada (adequado para a gestão de estacionamento). |
filled_slots | int | Número de lugares ocupados numa área monitorizada. (Adequado para a gestão de estacionamento) |
email_sent | bool | Indica se foi enviado com êxito um aviso ou e-mail de alerta (adequado para um alarme de segurança). |
total_tracks | int | Número total de rastreamentos únicos de objetos observados durante a análise de vídeo. |
region_counts | Dict[str, int] | Contagens de objetos em regiões ou zonas definidas pelo usuário. |
speed_dict | Dict[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_objects | int | Número total de imagens de objetos recortadas geradas pela solução ObjectCropper. |
speed | Dict[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#
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, comoshow_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 pathContribui 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.