Ultralytics Solutions: Utiliza o YOLO26 para Resolver Problemas do Mundo Real#
As Ultralytics Solutions fornecem aplicações de ponta de modelos YOLO, oferecendo soluções do mundo real como contagem de objetos, desfoque e sistemas de segurança, melhorando a eficiência e a accuracy em diversos setores. Descobre o poder do YOLO26 para implementações práticas e impactantes.

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Soluções#
Aqui tens a nossa lista selecionada de soluções Ultralytics que podes usar para criar projetos incríveis de computer vision.
- Analytics: 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.
- Distance Calculation: Calcula distâncias entre objetos utilizando centroides de bounding box no YOLO26, essencial para análise espacial.
- Heatmaps: Utiliza mapas de calor de deteção para visualizar a intensidade de dados numa matriz, fornecendo insights claros em tarefas de computador vision.
- Instance Segmentation with Object Tracking: Implementa instance segmentation e rastreamento de objetos com o YOLO26 para alcançar limites de objetos precisos e monitorização contínua.
- Live Inference with Streamlit: Aproveita o poder do YOLO26 para object detection em tempo real diretamente através do teu navegador web com uma interface Streamlit fácil de usar.
- Object Blurring: Aplica o desfoque de objetos utilizando o YOLO26 para proteger a privacidade no processamento de imagens e vídeos.
- Object Counting: Aprende a realizar contagem de objetos em tempo real com o YOLO26. Adiciona a perícia para contar com precisão objetos em streams de vídeo ao vivo.
- Object Counting in Regions: Conta objetos em regiões específicas utilizando o YOLO26 para deteção precisa em várias áreas.
- Object Cropping: Domina o corte de objetos com o YOLO26 para extração precisa de objetos de imagens e vídeos.
- Parking Management: Organiza e direciona o fluxo de veículos em áreas de estacionamento com o YOLO26, otimizando a utilização do espaço e a experiência do utilizador.
- Queue Management: Implementa sistemas eficientes de gestão de filas para minimizar os tempos de espera e melhorar a produtividade usando o YOLO26.
- Security Alarm System: Cria um sistema de alarme de segurança com o YOLO26 que aciona alertas ao detetar novos objetos. Personaliza o sistema para satisfazer as tuas necessidades específicas.
- Similarity Search: Ativa a recuperação inteligente de imagens combinando embeddings do OpenAI CLIP com a pesquisa de similaridade de cosseno, permitindo consultas em linguagem natural como "person holding a bag" ou "vehicles in motion."
- Speed Estimation: Estima a velocidade de objetos usando o YOLO26 e técnicas de rastreamento de objetos, cruciais para aplicações como veículos autónomos e monitorização de tráfego.
- Track Objects in Zone: Aprende a rastrear objetos dentro de zonas específicas de fotogramas de vídeo utilizando o YOLO26 para uma monitorização precisa e eficiente.
- VisionEye View Objects Mapping: Desenvolve sistemas que imitam o foco do olho humano em objetos específicos, melhorando a capacidade do computador de discernir e priorizar detalhes.
- Workouts Monitoring: Descobre como monitorizar treinos usando o YOLO26. Aprende a rastrear e analisar várias rotinas de fitness em tempo real.
Argumentos das Soluções#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um ficheiro de modelo YOLO da Ultralytics. |
region | list ou dict | None | Pontos que definem a região de interesse, seja uma lista de tuplas (x, y) ou um dicionário que mapeia nomes de regiões para listas de pontos para múltiplas regiões (apenas RegionCounter). Quando None, as soluções que exigem uma região recorrem a um padrão pré-definido. |
show_in | bool | True | Flag para controlar se os números de entrada devem ser exibidos no stream de vídeo. |
show_out | bool | True | Flag para controlar se os números de saída devem ser exibidos no stream de vídeo. |
analytics_type | str | 'line' | Tipo de grafo, ou seja, line, bar, area ou pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de cores a usar para o mapa de calor. |
line_width | int | 2 | Espessura da linha para as caixas, pontos-chave e contagens que a solução desenha. |
verbose | bool | True | Ativa o registro por quadro da solução contendo formato de entrada, contagens de classes e velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa. |
json_file | str | None | Caminho para o ficheiro JSON que contém todos os dados de coordenadas de estacionamento. |
up_angle | float | 145.0 | Limiar de ângulo para a pose 'cima'. |
kpts | list[int] | '[6, 8, 10]' | Lista de três índices de pontos-chave usados para monitorizar exercícios. Estes pontos-chave correspondem a articulações ou partes do corpo, como ombros, cotovelos e pulsos, para exercícios como flexões, elevações, agachamentos e abdominais. |
down_angle | int | 90 | Limiar de ângulo para a pose 'baixo'. |
blur_ratio | float | 0.5 | Ajusta a porcentagem da intensidade do desfoque (blur), 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 | Contagem total de deteções para disparar um e-mail com o sistema de alarme de segurança. |
vision_point | tuple[int, int] | (20, 20) | O ponto onde a visão irá rastrear objetos e desenhar caminhos usando a VisionEye Solution. |
source | str | None | Caminho para a fonte de entrada (vídeo, RTSP, etc.). Apenas utilizável com a interface de linha de comandos (CLI) das Solutions. |
figsize | tuple[float, float] | (12.8, 7.2) | Tamanho da figura para gráficos de análise como mapas de calor ou gráficos. |
fps | float | 30.0 | Frames por segundo usados para cálculos de velocidade. |
max_hist | int | 5 | Pontos históricos máximos a rastrear por objeto para cálculos de velocidade/direção. |
meter_per_pixel | float | 0.05 | Fator de escala usado para converter a distância em píxeis para unidades do mundo real. |
max_speed | int | 120 | Limite de velocidade máxima em sobreposições visuais (usado em alertas). |
data | str | 'images' | Caminho para o diretório de imagens usado para pesquisa de similaridade. |
imgsz | int | 640 | Tamanho da imagem de entrada para inferência do modelo. |
As Soluções encaminham alguns dos seus argumentos para track, nomeadamente tracker, conf, iou, classes e device.
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.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 para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
device | str | None | Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo. |
Podes usar show_conf, show_labels e outros argumentos mencionados para personalizar a visualização.
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
show_conf | bool | True | Exibe a pontuação de confiança para cada detecção ao lado do rótulo. Fornece uma visão sobre a certeza do modelo para cada detecção. |
show_labels | bool | True | Exibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados. |
Uso do SolutionAnnotator#
Todas as Ultralytics Solutions usam a classe separada SolutionAnnotator, que estende a classe principal Annotator, e têm os seguintes métodos:
| Método | Tipo de Retorno | Descrição |
|---|---|---|
draw_region() | None | Desenha uma região usando pontos, cores e espessura especificados. |
queue_counts_display() | None | Exibe contagens de filas na região especificada. |
display_analytics() | None | Exibe estatísticas gerais para gerenciamento de estacionamentos. |
estimate_pose_angle() | float | Calcula o ângulo entre três pontos na pose de um objeto. |
draw_specific_kpts() | np.ndarray | Desenha pontos-chave específicos na imagem. |
plot_workout_information() | int | Desenha uma caixa de texto rotulada na imagem. |
plot_angle_and_count_and_stage() | None | Visualiza o ângulo, a contagem de repetições e o estágio para monitoramento de treino. |
plot_distance_and_line() | None | Exibe a distância entre centróides e os conecta com uma linha. |
display_objects_labels() | None | Anota caixas delimitadoras com rótulos de classe de objeto. |
sweep_annotator() | None | Visualiza uma linha de varredura vertical e um rótulo opcional. |
visioneye() | None | Mapeia e conecta centróides de objetos a um ponto de "olho" visual. |
adaptive_label() | None | Desenha um rótulo de fundo circular ou retangular no centro de uma caixa delimitadora. |
Trabalhando com SolutionResults#
Exceto Similarity Search, cada chamada de Solution devolve um objeto SolutionResults.
- Para 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, # 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_countO objeto SolutionResults tem os seguintes atributos:
| Atributo | Tipo | Descrição |
|---|---|---|
plot_im | np.ndarray | Imagem com sobreposições visuais, como contagens, efeitos de desfoque ou melhorias específicas da solução. |
in_count | int | Número total de objetos detectados entrando na zona definida no fluxo de vídeo. |
out_count | int | Número total de objetos detectados saindo da zona definida no fluxo de vídeo. |
classwise_count | Dict[str, int] | Dicionário que registra contagens de entrada/saída de objetos por classe para análises avançadas. |
queue_count | int | Número de objetos atualmente dentro de uma fila ou área de espera predefinida (adequado para gerenciamento de filas). |
workout_count | list[int] | Contagens de repetições de treino por faixa do AI Gym (uma entrada por indivíduo rastreado no momento). |
workout_angle | list[float] | Ângulos de exercício por faixa do AI Gym (uma entrada por indivíduo rastreado no momento). |
workout_stage | list[str] | Etapa atual do treino por faixa do AI Gym (uma entrada por indivíduo rastreado no momento). |
pixels_distance | float | Distância baseada em pixels entre dois objetos ou pontos, por exemplo, caixas delimitadoras. (Adequado para cálculo de distância). |
available_slots | int | Número de vagas desocupadas em uma área monitorada (adequado para gerenciamento de estacionamento). |
filled_slots | int | Número de vagas ocupadas em uma área monitorada. (Adequado para gerenciamento de estacionamento) |
email_sent | bool | Indica se um e-mail de notificação ou alerta foi enviado com sucesso (adequado para alarme de segurança). |
total_tracks | int | Número total de rastreamentos de objetos únicos observados durante a análise de vídeo. |
region_counts | Dict[str, int] | Contagens de objetos dentro de regiões ou zonas definidas pelo usuário. |
speed_dict | Dict[str, float] | Dicionário por rastreamento de velocidades de objetos calculadas, útil para análise de velocidade. |
total_crop_objects | int | Número total de imagens de objetos cortados geradas pela solução ObjectCropper. |
speed | Dict[str, float] | Dicionário contendo métricas de desempenho para rastreamento e processamento de solução. |
Para mais detalhes, consulta a SolutionResults class documentation.
Uso de Soluções via CLI#
A maioria das Soluções pode ser usada diretamente através da interface de linha de comando, incluindo:
Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference, Trackzone
Sintaxe
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS é uma palavra-chave necessária.
- SOLUTION_NAME é um de:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - ARGS (opcional) são pares personalizados de
arg=value, tais comoshow_in=True, para substituir as definições predefinidas.
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathContribua com Nossas Soluções#
Recebemos contribuições da comunidade! Se você dominou um aspecto específico do Ultralytics YOLO que ainda não está coberto em nossas soluções, encorajamos você a compartilhar seu conhecimento. Escrever um guia é uma ótima maneira de retribuir à comunidade e nos ajudar a tornar nossa documentação mais abrangente e amigável.
Para começar, lê o nosso Contributing Guide para obteres diretrizes sobre como abrir um Pull Request (PR) 🛠️. Contamos com as tuas contribuições!
Vamos trabalhar juntos para tornar o ecossistema Ultralytics YOLO mais robusto e versátil 🙏!
FAQ#
O Ultralytics YOLO26 pode ser usado para contagem de objetos em tempo real, tirando partido das suas capacidades avançadas de deteção de objetos. Podes seguir o nosso guia detalhado sobre Object Counting para configurar o YOLO26 para análise de streams de vídeo ao vivo. Basta instalar o YOLO26, carregar o teu modelo e processar fotogramas de vídeo para contar objetos dinamicamente.
O Ultralytics YOLO26 melhora os sistemas de segurança ao oferecer deteção de objetos em tempo real e mecanismos de alerta. Ao empregar o YOLO26, podes criar um sistema de alarme de segurança que aciona alertas quando novos objetos são detetados na área de vigilância. Aprende a configurar um Security Alarm System com o YOLO26 para uma monitorização de segurança robusta.
O Ultralytics YOLO26 pode melhorar significativamente os sistemas de gestão de filas ao contar e rastrear com precisão as pessoas nas filas, ajudando assim a reduzir os tempos de espera e a otimizar a eficiência do serviço. Segue o nosso guia detalhado sobre Queue Management para aprender a implementar o YOLO26 para monitorização e análise eficazes de filas.
Sim, o Ultralytics YOLO26 pode ser eficazmente utilizado para monitorizar treinos através do rastreamento e análise de rotinas de fitness em tempo real. Isto permite uma avaliação precisa da forma e do desempenho do exercício. Explora o nosso guia sobre Workouts Monitoring para aprender a configurar um sistema de monitorização de treinos potenciado por IA utilizando o YOLO26.
O Ultralytics YOLO26 pode gerar mapas de calor para visualizar a intensidade de dados numa dada á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 computer vision. Sabe mais sobre a criação e utilização de Heatmaps com o YOLO26 para análise e visualização abrangentes de dados.