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.
![]()
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
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo YOLO da Ultralytics. |
region | list | '[(20, 400), (1260, 400)]' | Lista de pontos que definem a região de contagem. |
show_in | bool | True | Flag para controlar se exibe as contagens de entrada no fluxo de vídeo. |
show_out | bool | True | Flag para controlar se exibe as contagens de saída no fluxo de vídeo. |
analytics_type | str | 'line' | Tipo de gráfico, i.e., line, bar, area, ou pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Colormap a ser usado para o mapa de calor. |
json_file | str | None | Caminho para o arquivo JSON que contém todos os dados de coordenadas de estacionamento. |
up_angle | float | 145.0 | Limite de ângulo para a pose 'para cima'. |
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, para exercícios como flexões, barras, agachamentos e abdominais. |
down_angle | int | 90 | Limite de ângulo para a pose 'para baixo'. |
blur_ratio | float | 0.5 | Ajusta a porcentagem da intensidade do desfoque, com valores na faixa 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | Nome do diretório para armazenar detecções recortadas. |
records | int | 5 | Contagem total de detecções para disparar um e-mail com sistema de alarme de segurança. |
vision_point | tuple[int, int] | (20, 20) | O ponto onde a visão rastreará objetos e desenhará caminhos usando a Solução VisionEye. |
source | str | None | Caminho para a fonte de entrada (vídeo, RTSP, etc.). Apenas utilizável com a interface de linha de comando (CLI) das Soluções. |
figsize | tuple[int, int] | (12.8, 7.2) | Tamanho da figura para gráficos de análise, como mapas de calor ou gráficos. |
fps | float | 30.0 | Quadros por segundo (FPS) usados para cálculos de velocidade. |
max_hist | int | 5 | Máximo de pontos históricos 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 pixels para unidades do mundo real. |
max_speed | int | 120 | Limite máximo de velocidade em sobreposições visuais (usado em alertas). |
data | str | 'images' | Caminho para o diretório de imagens usado para busca de similaridade. |
As soluções também suportam alguns dos argumentos do track, incluindo parâmetros como conf, line_width, tracker, model, show, verbose e classes.
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Define o limite de confiança para detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o Intersection over Union (IoU) limite para filtrar detecções sobrepostas. |
classes | list | None | Filtra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica 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. |
Você pode 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 vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width | int or None | None | Especifica 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_conf | bool | True | Exibe 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_labels | bool | True | Exibe 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é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 fila na região especificada. |
display_analytics() | None | Exibe estatísticas gerais para o gerenciamento de estacionamento. |
estimate_pose_angle() | float | Calcula o ângulo entre três pontos na pose de um objeto. |
draw_specific_points() | None | Desenha pontos-chave específicos na imagem. |
plot_workout_information() | None | Desenha uma caixa de texto rotulada na imagem. |
plot_angle_and_count_and_stage() | None | Visualiza ângulo, contagem de repetições e estágio para monitoramento de exercícios. |
plot_distance_and_line() | None | Exibe a distância entre centroides 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 centroides de objetos a um ponto visual de "olho". |
adaptive_label() | None | Desenha 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, eclasswise_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_countSolutionResults o objeto possui 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 as 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 predefinida ou área de espera (adequado para gerenciamento de filas). |
workout_count | int | Número total de repetições de treino concluídas durante o rastreamento de exercícios. |
workout_angle | float | Ângulo da articulação ou pose calculado durante o treino para avaliação da forma. |
workout_stage | str | Estágio atual do treino ou fase de movimento (por exemplo, 'para cima', 'para baixo'). |
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 de velocidades de objetos calculadas por rastreamento, útil 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 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
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=valuepersonalizados, 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 pathContribua 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.