Soluções Ultralytics: Utilize YOLO11 para Resolver Problemas do Mundo Real
As Soluções Ultralytics fornecem aplicações de ponta dos modelos YOLO, oferecendo soluções do mundo real, como contagem de objetos, desfoque e sistemas de segurança, aumentando a eficiência e a precisão em diversos setores. Descubra o poder do YOLO11 para implementações práticas e impactantes.
Assista: Como Executar Soluções Ultralytics a partir da Linha de Comando (CLI) | Ultralytics YOLO11 🚀
Soluções
Aqui está nossa lista selecionada de soluções Ultralytics que podem ser usadas para criar projetos incríveis de visão computacional.
- Contagem de Objetos: Aprenda a realizar a contagem de objetos em tempo real com o YOLO11. Adquira a experiência para contar com precisão os objetos em fluxos de vídeo ao vivo.
- Recorte de Objetos: Domine o recorte de objetos com o YOLO11 para uma extração precisa de objetos de imagens e vídeos.
- Desfoque de Objetos: Aplique o desfoque de objetos usando o YOLO11 para proteger a privacidade no processamento de imagens e vídeos.
- Monitoramento de Treinos: Descubra como monitorar treinos usando o YOLO11. Aprenda a rastrear e analisar várias rotinas de exercícios em tempo real.
- Contagem de Objetos em Regiões: Conte objetos em regiões específicas usando o YOLO11 para detecção precisa em áreas variadas.
- Sistema de Alarme de Segurança: Crie um sistema de alarme de segurança com YOLO11 que aciona alertas ao detectar novos objetos. Personalize o sistema para atender às suas necessidades específicas.
- Mapas de calor: 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ância e rastreamento de objetos com YOLO11 para obter limites de objetos precisos e monitoramento contínuo.
- Mapeamento de Objetos com Visão Ocular: Desenvolva sistemas que imitem o foco do olho humano em objetos específicos, aprimorando a capacidade do computador de discernir e priorizar detalhes.
- Estimativa de Velocidade: Estime a velocidade do objeto usando YOLO11 e técnicas de rastreamento de objetos, cruciais para aplicações como veículos autônomos e monitoramento de tráfego.
- Cálculo de Distância: Calcule as distâncias entre objetos usando os centroides da bounding box em YOLO11, essencial para a análise espacial.
- Gestão de Filas: Implemente sistemas eficientes de gestão de filas para minimizar os tempos de espera e melhorar a produtividade usando o YOLO11.
- Gestão de Estacionamento: Organize e direcione o fluxo de veículos em áreas de estacionamento com o YOLO11, otimizando a utilização do espaço e a experiência do usuário.
- Analytics: Realize uma análise de dados abrangente para descobrir padrões e tomar decisões informadas, aproveitando o YOLO11 para análises descritivas, preditivas e prescritivas.
- Inferência ao vivo com Streamlit: Aproveite o poder do YOLO11 para detecção de objetos em tempo real diretamente através do seu navegador da web com uma interface Streamlit amigável.
- Rastrear Objetos na Zona: Aprenda a rastrear objetos dentro de zonas específicas de frames de vídeo usando YOLO11 para um monitoramento preciso e eficiente.
- Pesquisa de similaridade 🚀 NOVO: Habilite a recuperação inteligente de imagens combinando embeddings OpenAI CLIP com Meta FAISS, permitindo consultas em linguagem natural como "pessoa segurando uma bolsa" ou "veículos em movimento".
Argumentos de Soluções
Argumento | Tipo | Padrão | Descrição |
---|---|---|---|
model |
str |
None |
Caminho para o arquivo do modelo Ultralytics YOLO. |
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, ou seja, line , bar , area , ou pie . |
colormap |
int |
cv2.COLORMAP_JET |
Mapa de cores 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, int, int] |
'[6, 8, 10]' |
Lista 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 exercícios abdominais. |
down_angle |
float |
90.0 |
Limite de ângulo para a pose 'para baixo'. |
blur_ratio |
float |
0.5 |
Ajusta a porcentagem da intensidade do desfoque, com valores no intervalo 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 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 rastreará objetos e desenhará caminhos usando a Solução VisionEye. |
source |
str |
None |
Caminho para a fonte de entrada (vídeo, RTSP, etc.). Só utilizável com a interface de linha de comandos (CLI) Solutions. |
figsize |
tuple[int, int] |
(12.8, 7.2) |
Tamanho da figura para gráficos analíticos, como mapas de calor ou gráficos. |
fps |
float |
30.0 |
Frames por segundo usados para cálculos de velocidade. |
max_hist |
int |
5 |
Número máximo de pontos históricos para 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 utilizado para a pesquisa de similaridade. |
Rastrear args
As soluções também suportam alguns dos argumentos de 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.3 |
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.5 |
Define o limite de Intersecção sobre União (IoU) para filtrar detecções sobrepostas. |
classes |
list |
None |
Filtra os 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 (por exemplo, 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. |
Argumentos de visualização
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 |
None or int |
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 clareza. |
show_conf |
bool |
True |
Exibe o score de confiança para cada detecção junto com o rótulo. Dá uma ideia da 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 o principal Annotator
classe 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 as contagens de filas na região especificada. |
display_analytics() |
None |
Exibe estatísticas gerais para gerenciamento de estacionamento. |
estimate_pose_angle() |
float |
Calcula o ângulo entre três pontos em uma pose de objeto. |
draw_specific_points() |
None |
Desenha keypoints específicos na imagem. |
plot_workout_information() |
None |
Desenha uma caixa de texto rotulada na imagem. |
plot_angle_and_count_and_stage() |
None |
Visualiza o ângulo, a contagem de passos e o estágio para o monitoramento do treino. |
plot_distance_and_line() |
None |
Exibe a distância entre os centroides e os conecta com uma linha. |
display_objects_labels() |
None |
Anota caixas delimitadoras com rótulos de classe de objeto. |
seg_bbox() |
None |
Desenha contornos para objetos segmentados e, opcionalmente, os rotula. |
visioneye() |
None |
Mapeia e conecta os centroides dos objetos a um ponto "ocular" visual. |
circle_label() |
None |
Desenha um rótulo circular no lugar de uma caixa delimitadora. |
text_label() |
None |
Desenha um rótulo retangular no lugar de uma caixa delimitadora. |
Trabalhando com SolutionResults
Exceto Similarity Search
, cada chamada de Solution retorna uma lista de SolutionResults
objeto.
- Para contagem de objetos, os resultados incluem
in_count
,out_count
, eclasswise_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="yolo11n.pt", # model="yolo11n-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
SolutionResults
object têm os seguintes atributos:
Atributo | Tipo | Descrição |
---|---|---|
plot_im |
np.ndarray |
Imagem com sobreposições visuais, como contagens, efeitos de desfoque ou aprimoramentos específicos 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 registrando 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 predefinida ou área de espera (adequado para gestão de filas). |
workout_count |
int |
Número total de repetições de exercícios concluídas durante o rastreamento de exercícios. |
workout_angle |
float |
Ângulo da articulação ou da pose calculado durante o treino para avaliação da forma. |
workout_stage |
str |
Estágio atual do treino ou fase do movimento (por exemplo, 'subindo', 'descendo'). |
pixels_distance |
float |
Distância baseada em pixel entre dois objetos ou pontos, por exemplo, caixas delimitadoras (adequado para cálculo de distância). |
available_slots |
int |
Número de vagas desocupadas numa área monitorizada (adequado para gestão de estacionamento). |
filled_slots |
int |
Número de vagas ocupadas numa área monitorizada (adequado para gestão 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 utilizador. |
speed_dict |
Dict[str, float] |
Dicionário track-wise de velocidades de objetos calculadas, ú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 de soluções. |
Para mais detalhes, consulte o SolutionResults
documentação da classe.
Uso de Soluções via CLI
Informações do Comando
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
Sintaxe
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS é uma palavra-chave obrigatória.
- SOLUTION_NAME é um dos:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye']
. - ARGS (opcional) são personalizados
arg=value
pares, comoshow_in=True
, para substituir as configurações padrão.
yolo solutions count show=True # for object counting
yolo solutions source="path/to/video.mp4" # specify video file path
Contribua para Nossas Soluções
Agradecemos as contribuições da comunidade! Se você domina algum aspecto específico do Ultralytics YOLO que ainda não foi abordado em nossas soluções, encorajamos você a compartilhar sua experiência. 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, por favor, leia o nosso Guia de Contribuição para obter orientações sobre como abrir um Pull Request (PR) 🛠️. Aguardamos ansiosamente suas 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 YOLO11 pode ser usado para contagem de objetos em tempo real, aproveitando seus recursos avançados de detecção de objetos. Você pode seguir nosso guia detalhado sobre Contagem de Objetos para configurar o YOLO11 para análise de fluxo de vídeo ao vivo. Basta instalar o YOLO11, carregar seu 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 YOLO11 aprimora os sistemas de segurança, oferecendo detecção de objetos em tempo real e mecanismos de alerta. Ao empregar o YOLO11, você pode criar um sistema de alarme de segurança que dispara alertas quando novos objetos são detectados na área de vigilância. Aprenda como configurar um Sistema de Alarme de Segurança com YOLO11 para um monitoramento de segurança robusto.
Como o Ultralytics YOLO pode melhorar os sistemas de gestão de filas?
O Ultralytics YOLO11 pode melhorar significativamente os sistemas de gestão de filas, contando e rastreando com precisão as pessoas nas filas, ajudando assim a reduzir os tempos de espera e a otimizar a eficiência do serviço. Siga nosso guia detalhado sobre Gestão de Filas para aprender como implementar o YOLO11 para monitoramento e análise eficazes de filas.
O Ultralytics YOLO pode ser usado para monitoramento de treinos?
Sim, o Ultralytics YOLO11 pode ser usado eficazmente para monitorar treinos, rastreando e analisando rotinas de fitness em tempo real. Isso permite uma avaliação precisa da forma e do desempenho do exercício. Explore nosso guia sobre Monitoramento de Treinos para aprender como configurar um sistema de monitoramento de treinos alimentado por IA usando o YOLO11.
Como o Ultralytics YOLO ajuda na criação de mapas de calor para visualização de dados?
O Ultralytics YOLO11 pode gerar mapas de calor para visualizar a intensidade dos dados em uma determinada área, destacando regiões de alta atividade ou interesse. Este recurso é particularmente útil na compreensão de padrões e tendências em várias tarefas de visão computacional. Saiba mais sobre como criar e usar Mapas de Calor com YOLO11 para análise e visualização de dados abrangentes.