Soluções Ultralytics: aproveita o YOLO26 para resolver problemas do mundo real#
As soluções Ultralytics oferecem aplicações inovadoras de modelos YOLO, disponibilizando soluções do mundo real, como contagem de objetos, desfocagem e sistemas de segurança, melhorando a eficiência e a precisão 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 está a nossa lista selecionada de soluções Ultralytics que podes usar para criar projetos incríveis de visão computacional.
- Análise: realiza uma análise abrangente de dados 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 as distâncias entre objetos usando os centróides das caixas delimitadoras no YOLO26, algo essencial para a análise espacial.
- Mapas de calor: utiliza mapas de calor de deteção para visualizar a intensidade dos dados numa matriz, fornecendo informações claras em tarefas de visão computacional.
- Segmentação de instâncias com rastreamento de objetos: implementa segmentação de instâncias e rastreamento de objetos com o YOLO26 para obter limites precisos dos objetos e monitorização contínua.
- Inferência em direto com Streamlit: aproveita o poder do YOLO26 para realizar deteção de objetos em tempo real diretamente no teu navegador Web, através de uma interface Streamlit fácil de usar.
- Desfocagem de objetos: aplica desfocagem de objetos usando o YOLO26 para proteger a privacidade no processamento de imagens e vídeos.
- Contagem de objetos: aprende a realizar a contagem de objetos em tempo real com o YOLO26. Adquire as competências necessárias 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 uma deteção precisa em áreas variadas.
- Recorte de objetos: domina o recorte de objetos com o YOLO26 para extrair objetos com precisão de imagens e vídeos.
- Gestão de estacionamento: 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.
- Gestão de filas: implementa sistemas eficientes de gestão de filas para minimizar os tempos de espera e melhorar a produtividade usando o YOLO26.
- Sistema de alarme de segurança: cria um sistema de alarme de segurança com o YOLO26 que aciona alertas ao detetar novos objetos. Personaliza o sistema de acordo com as tuas necessidades específicas.
- Pesquisa por semelhança: permite a recuperação inteligente de imagens combinando embeddings do OpenAI CLIP com pesquisa por semelhança do cosseno, permitindo 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, algo fundamental para aplicações como veículos autónomos e monitorização do tráfego.
- Rastrear objetos numa zona: aprende a rastrear objetos em zonas específicas de fotogramas de vídeo usando o YOLO26 para obter uma monitorização precisa e eficiente.
- Mapeamento de objetos na vista VisionEye: desenvolve sistemas que imitam o foco do olho humano em objetos específicos, melhorando a capacidade do computador de distinguir e priorizar detalhes.
- Monitorização de exercícios: descobre como monitorizar exercícios 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 tuplos (x, y) ou um dicionário que associa nomes de regiões a listas de pontos para várias regiões (apenas RegionCounter). Quando None, as soluções que requerem uma região utilizam uma predefinição. |
show_in | bool | True | Sinalizador que controla se as contagens de entradas são apresentadas na transmissão de vídeo. |
show_out | bool | True | Sinalizador que controla se as contagens de saídas são apresentadas na transmissão de vídeo. |
analytics_type | str | 'line' | Tipo de gráfico, isto é, line, bar, area ou pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de cores a utilizar 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 registo por fotograma da solução, incluindo a forma da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento permanece sempre silenciosa. |
json_file | str | None | Caminho para o ficheiro JSON que contém todos os dados das coordenadas de estacionamento. |
up_angle | float | 145.0 | Limiar do ângulo para a pose "up". |
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 exercícios abdominais. |
down_angle | int | 90 | Limiar do ângulo para a pose "down". |
blur_ratio | float | 0.5 | Ajusta a percentagem de intensidade da desfocagem, com valores no intervalo 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | Nome do diretório para armazenar as deteções recortadas. |
records | int | 5 | Contagem total de deteções necessária para acionar um e-mail com o sistema de alarme de segurança. |
vision_point | tuple[int, int] | (20, 20) | O ponto onde a visão rastreia objetos e desenha trajetórias usando a solução VisionEye. |
source | str | None | Caminho para a fonte de entrada (vídeo, RTSP, etc.). Só pode ser usado com a interface de linha de comandos (CLI) das soluções. |
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 | Fotogramas por segundo usados nos cálculos de velocidade. |
max_hist | int | 5 | Número 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 píxeis em unidades do mundo real. |
max_speed | int | 120 | Limite máximo de velocidade nas sobreposições visuais (usado nos alertas). |
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 a 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 rastrear mais objetos, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Interseção sobre a 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 selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para executar o 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, apresenta as imagens ou vídeos anotados numa janela. É útil para obter feedback visual imediato durante o desenvolvimento ou os testes. |
show_conf | bool | True | Apresenta a pontuação de confiança de cada deteção junto à etiqueta. Permite compreender o grau de certeza do modelo em cada deteção. |
show_labels | bool | True | Apresenta etiquetas para cada deteção no resultado visual. Permite compreender imediatamente os objetos detetados. |
Utilização de SolutionAnnotator#
Todas as soluções Ultralytics usam a classe separada SolutionAnnotator, que amplia 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 os pontos, as cores e a espessura especificados. |
queue_counts_display() | None | Apresenta as contagens 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 etiquetada 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 exercícios. |
plot_distance_and_line() | None | Apresenta a distância entre centróides e liga-os com uma linha. |
display_objects_labels() | None | Anota as caixas delimitadoras com etiquetas da classe do objeto. |
sweep_annotator() | None | Visualiza uma linha de varrimento vertical e uma etiqueta opcional. |
visioneye() | None | Mapeia e liga os centróides dos objetos a um ponto visual de "olho". |
adaptive_label() | None | Desenha uma etiqueta de fundo circular ou retangular no centro de uma caixa delimitadora. |
Trabalhar com SolutionResults#
Com exceção de Similarity Search, cada chamada de Solution 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, # 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 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, int] | Dicionário que regista as contagens de objetos de entrada/saída 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 a gestão de filas). |
workout_count | list[int] | Contagens de repetições de exercícios por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado). |
workout_angle | list[float] | Ângulos de exercício por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado). |
workout_stage | list[str] | Fase atual do exercício por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado). |
pixels_distance | float | Distância baseada 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 um e-mail de notificação ou alerta foi enviado com sucesso (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 utilizador. |
speed_dict | Dict[str, float] | Dicionário de velocidades de objetos calculadas por rastreamento, útil para a análise da 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 do rastreamento e do processamento da solução. |
Para mais detalhes, consulta a documentação da classe SolutionResults.
Utilização das soluções através da CLI#
A maior parte das Soluções pode ser utilizada diretamente através da interface de linha de comando.
Sintaxe
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS é uma palavra-chave obrigatória.
- SOLUTION_NAME é um de:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - ARGS (opcionais) são pares personalizados de
arg=value, 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 pathContribui para as nossas soluções#
Aceitamos contribuições da comunidade! Se dominares um aspeto específico do Ultralytics YOLO que ainda não esteja abrangido pelas nossas soluções, encorajamos-te a partilhar os teus conhecimentos. Escrever um guia é uma excelente forma de contribuir para a comunidade e de nos ajudar a tornar a nossa documentação mais abrangente e fácil de utilizar.
Para começar, lê o nosso Guia de contribuição para conheceres as orientações sobre como abrir uma solicitação de integração (PR) 🛠️. Aguardamos ansiosamente as tuas contribuições!
Vamos trabalhar em conjunto para tornar o ecossistema Ultralytics YOLO mais robusto e versátil 🙏!
Perguntas frequentes#
O Ultralytics YOLO26 pode ser utilizado para contar objetos em tempo real, tirando partido das suas capacidades avançadas de deteção de objetos. Podes seguir o nosso guia detalhado sobre Contagem de objetos para configurares o YOLO26 para a análise de transmissões de vídeo ao vivo. Basta instalares o YOLO26, carregares o teu modelo e processares os 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 utilizares o YOLO26, podes criar um sistema de alarme de segurança que aciona alertas quando são detetados novos objetos na área sob vigilância. Aprende a configurar um Sistema de alarme de segurança com o YOLO26 para obteres uma monitorização de segurança robusta.
O Ultralytics YOLO26 pode melhorar significativamente os sistemas de gestão de filas ao contar e acompanhar pessoas nas filas com precisão, ajudando assim a reduzir os tempos de espera e a otimizar a eficiência do serviço. Segue o nosso guia detalhado sobre Gestão de filas para aprenderes a implementar o YOLO26 para uma monitorização e análise eficazes das filas.
Sim, o Ultralytics YOLO26 pode ser utilizado eficazmente para monitorizar treinos, acompanhando e analisando rotinas de exercício em tempo real. Isto permite avaliar com precisão a execução e o desempenho dos exercícios. Consulta o nosso guia sobre Monitorização de treinos para aprenderes a configurar um sistema de monitorização de treinos baseado em IA utilizando o YOLO26.
O Ultralytics YOLO26 pode gerar mapas de calor para visualizar a intensidade dos dados numa determinada área, destacando regiões com elevada atividade ou interesse. Esta funcionalidade é particularmente útil para compreender padrões e tendências em várias tarefas de visão computacional. Obtém mais informações sobre como criar e utilizar Mapas de calor com o YOLO26 para uma análise e visualização abrangentes dos dados.