YOLO Vision 2026:

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.

Miniatura das soluções Ultralytics



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#

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
regionlist ou dictNonePontos 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_inboolTrueSinalizador que controla se as contagens de entradas são apresentadas na transmissão de vídeo.
show_outboolTrueSinalizador que controla se as contagens de saídas são apresentadas na transmissão de vídeo.
analytics_typestr'line'Tipo de gráfico, isto é, line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENMapa de cores a utilizar no mapa de calor.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva 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_filestrNoneCaminho para o ficheiro JSON que contém todos os dados das coordenadas de estacionamento.
up_anglefloat145.0Limiar do ângulo para a pose "up".
kptslist[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_angleint90Limiar do ângulo para a pose "down".
blur_ratiofloat0.5Ajusta a percentagem de intensidade da desfocagem, com valores no intervalo 0.1 - 1.0.
crop_dirstr'cropped-detections'Nome do diretório para armazenar as deteções recortadas.
recordsint5Contagem total de deteções necessária para acionar um e-mail com o sistema de alarme de segurança.
vision_pointtuple[int, int](20, 20)O ponto onde a visão rastreia objetos e desenha trajetórias usando a solução VisionEye.
sourcestrNoneCaminho para a fonte de entrada (vídeo, RTSP, etc.). Só pode ser usado com a interface de linha de comandos (CLI) das soluções.
figsizetuple[float, float](12.8, 7.2)Tamanho da figura para gráficos de análise, como mapas de calor ou gráficos.
fpsfloat30.0Fotogramas por segundo usados nos cálculos de velocidade.
max_histint5Número máximo de pontos históricos a rastrear por objeto para cálculos de velocidade/direção.
meter_per_pixelfloat0.05Fator de escala usado para converter a distância em píxeis em unidades do mundo real.
max_speedint120Limite máximo de velocidade nas sobreposições visuais (usado nos alertas).
datastr'images'Caminho para o diretório de imagens usado na pesquisa por semelhança.
imgszint640Tamanho da imagem de entrada para a inferência do modelo.
Argumentos de rastreamento

As soluções encaminham alguns dos seus argumentos para track, nomeadamente tracker, conf, iou, classes e device.

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.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 para as deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Interseção sobre a 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 selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo.
Argumentos de visualização

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

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, apresenta as imagens ou vídeos anotados numa janela. É útil para obter feedback visual imediato durante o desenvolvimento ou os testes.
show_confboolTrueApresenta 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_labelsboolTrueApresenta 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étodoTipo de retornoDescrição
draw_region()NoneDesenha uma região usando os pontos, as cores e a espessura especificados.
queue_counts_display()NoneApresenta as contagens 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 etiquetada na imagem.
plot_angle_and_count_and_stage()NoneVisualiza o ângulo, a contagem de repetições e a fase para a monitorização de exercícios.
plot_distance_and_line()NoneApresenta a distância entre centróides e liga-os com uma linha.
display_objects_labels()NoneAnota as caixas delimitadoras com etiquetas da classe do objeto.
sweep_annotator()NoneVisualiza uma linha de varrimento vertical e uma etiqueta opcional.
visioneye()NoneMapeia e liga os centróides dos objetos a um ponto visual de "olho".
adaptive_label()NoneDesenha 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_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,  # 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_count

O objeto SolutionResults tem 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, int]Dicionário que regista as contagens de objetos de entrada/saída por classe para análises avançadas.
queue_countintNúmero de objetos atualmente dentro de uma fila ou área de espera predefinida (adequado para a gestão de filas).
workout_countlist[int]Contagens de repetições de exercícios por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado).
workout_anglelist[float]Ângulos de exercício por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado).
workout_stagelist[str]Fase atual do exercício por rastreamento do AI Gym (uma entrada por indivíduo atualmente rastreado).
pixels_distancefloatDistância baseada 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 um e-mail de notificação ou alerta foi enviado com sucesso (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 utilizador.
speed_dictDict[str, float]Dicionário de velocidades de objetos calculadas por rastreamento, útil para a análise da 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 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#

Informações sobre o comando

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, como show_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 path

Contribui 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.

Comentários