Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Ultralytics YOLO

Ultralytics YOLOv8 para estimativa de velocidade em projetos de visão computacional

Descobre como o modelo Ultralytics YOLOv8 pode ser usado para estimativa de velocidade em seus projetos de visão computacional. Experimente você mesmo com um exemplo de código simples.

ABAbirami Vina
5 min read
Ultralytics YOLOv8 para estimativa de velocidade em projetos de visão computacional

Todos nós provavelmente já vimos sinais de limite de velocidade nas estradas. Alguns de nós podem até ter recebido uma notificação automática de excesso de velocidade por correio ou e-mail. Sistemas de gestão de tráfego baseados em inteligência artificial (IA) podem sinalizar violações de velocidade automaticamente graças à visão computacional. Imagens em tempo real capturadas por câmeras em semáforos e rodovias são usadas para estimativa de velocidade e para reforçar a segurança nas estradas.

Estimativa de velocidade não se limita apenas à segurança em rodovias. Ela pode ser usada em esportes, veículos autônomos e diversas outras aplicações. Neste artigo, discutiremos como você pode usar o modelo Ultralytics YOLOv8 para estimativa de velocidade em seus projetos de visão computacional. Também seguiremos um exemplo de código passo a passo para que você possa testar por conta própria. Vamos começar!

Link to this sectionA estimativa de velocidade torna a gestão de tráfego mais fácil#

De acordo com a Organização Mundial da Saúde (OMS), aproximadamente 1,19 milhão de pessoas morrem anualmente em acidentes de trânsito como resultado do excesso de velocidade. Além disso, de 20 a 50 milhões de pessoas sofrem ferimentos não fatais, muitos dos quais resultam em deficiências. A importância da segurança no trânsito não pode ser subestimada, especialmente quando a estimativa de velocidade ajuda a prevenir acidentes, salvar vidas e manter nossas estradas seguras e eficientes.

A estimativa de velocidade usando visão computacional envolve detectar e rastrear objetos em quadros de vídeo para calcular a rapidez com que eles estão se movendo. Algoritmos como YOLOv8 podem identificar e rastrear objetos, como veículos, em quadros consecutivos. O sistema mede a distância que esses objetos percorrem usando câmeras calibradas ou pontos de referência para medir distâncias do mundo real. Ao cronometrar quanto tempo leva para os objetos se moverem entre dois pontos, o sistema calcula a velocidade deles usando a relação distância-tempo.

Estimativa de velocidade usando o modelo Ultralytics YOLOv8

Fig 1. Estimativa de velocidade usando o modelo Ultralytics YOLOv8.

Além de identificar excesso de velocidade, sistemas de estimativa de velocidade integrados com IA podem coletar dados para fazer previsões sobre o tráfego. Essas previsões podem apoiar tarefas de gestão de tráfego, como otimização de tempos de semáforo e alocação de recursos. Insights sobre padrões de tráfego e causas de congestionamento podem ser usados para planejar novas estradas e reduzir o congestionamento.

Link to this sectionAplicações de estimativa de velocidade em outras indústrias#

As aplicações de estimativa de velocidade vão além do monitoramento de estradas. Também pode ser útil para monitorar o desempenho de atletas, ajudar veículos autônomos a entender a velocidade de objetos que se movem ao seu redor, detectar comportamentos suspeitos, etc. Onde quer que uma câmera possa ser usada para medir a velocidade de um objeto, a estimativa de velocidade via visão computacional pode ser aplicada.

Aqui estão alguns exemplos de onde a estimativa de velocidade está sendo usada:

  • Carros autônomos da Tesla usam estimativa de velocidade baseada em visão para evitar colisões.
  • Visão computacional e estimativa de velocidade serão usadas nos Jogos Olímpicos de 2024 para melhorar a análise de desempenho em eventos de atletismo.
  • Cidades inteligentes estão pesquisando a análise da marcha de pedestres para monitorar velocidades de caminhada e aumentar a mobilidade e a segurança urbana. Esses sistemas podem alertar motoristas sobre a presença de pedestres e prevenir acidentes.
  • Sistemas de monitoramento de comportamento animal usam estimativa de velocidade para rastrear o movimento dos animais e detectar sinais de estresse ou doença.

Estimativa de velocidade medindo a velocidade de caminhada de uma pessoa

Fig 2. A estimativa de velocidade pode medir a velocidade de caminhada de uma pessoa.

Link to this sectionOs benefícios de estimar a velocidade usando visão computacional#

Sistemas de estimativa de velocidade baseados em visão estão substituindo métodos tradicionais baseados em sensores devido à sua maior precisão, custo-benefício e flexibilidade. Ao contrário de sistemas que dependem de sensores caros como LiDAR, a visão computacional usa câmeras padrão para monitorar e analisar a velocidade em tempo real. Soluções de visão computacional para estimativa de velocidade podem ser integradas perfeitamente à infraestrutura de tráfego existente. Além disso, esses sistemas podem ser criados para realizar várias tarefas complexas, como identificação do tipo de veículo e análise de padrões de tráfego, para melhorar o fluxo e a segurança geral.

Link to this sectionExperimente você mesmo: Estimativa de velocidade usando YOLOv8#

Agora que temos uma compreensão clara da estimativa de velocidade e suas aplicações, vamos analisar mais de perto como você pode integrar a estimativa de velocidade em seus projetos de visão computacional através de código. Vamos detectar veículos em movimento e estimar sua velocidade usando o modelo YOLOv8.

Este exemplo usa um vídeo de carros em uma estrada baixado da internet. Você pode usar o mesmo vídeo ou qualquer vídeo relevante. O modelo YOLOv8 identifica o centro de cada veículo e calcula sua velocidade com base na rapidez com que esse centro cruza uma linha horizontal no quadro do vídeo.

Antes de começarmos, é importante notar que, neste caso, o cálculo da distância é aproximado e baseado na Distância Euclidiana. A calibração da câmera não é levada em consideração, portanto, a estimativa de velocidade pode não ser totalmente precisa. Além disso, a velocidade estimada pode variar dependendo da velocidade da sua GPU.

Passo 1: Vamos começar instalando o pacote Ultralytics. Abra seu prompt de comando ou terminal e execute o comando mostrado abaixo.

pip install ultralytics

Dê uma olhada em nosso guia de Instalação do Ultralytics para obter instruções passo a passo e práticas recomendadas sobre o processo de instalação. Se você encontrar algum problema ao instalar os pacotes necessários para o YOLOv8, nosso guia de Problemas Comuns contém soluções e dicas úteis.

Passo 2: Em seguida, vamos importar as bibliotecas necessárias. A biblioteca OpenCV nos ajudará a processar o vídeo.

import cv2
from ultralytics import YOLO, solutions

Passo 3: Depois, podemos carregar o modelo YOLOv8 e recuperar os nomes das classes que o modelo pode detectar.

model = YOLO("yolov8n.pt")
names = model.model.names

Confira todos os modelos que suportamos para entender qual modelo melhor se adapta ao seu projeto.

Passo 4: Nesta etapa, abriremos o arquivo de vídeo de entrada usando o módulo VideoCapture do OpenCV. Também extrairemos a largura, a altura e os quadros por segundo (fps) do vídeo.

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

Passo 5: Aqui, inicializaremos o gravador de vídeo para salvar nossos resultados finais da estimativa de velocidade. O arquivo de vídeo de saída será salvo como “speed_estimation.avi”.

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Passo 6: Em seguida, podemos definir os pontos da linha para a estimativa de velocidade. Para nosso vídeo de entrada, essa linha será colocada horizontalmente no meio do quadro. Sinta-se à vontade para ajustar os valores para colocar a linha nas posições mais adequadas, dependendo do seu vídeo de entrada.

line_pts = [(0, 360), (1280, 360)]

Passo 7: Agora, podemos inicializar o objeto de estimativa de velocidade usando os pontos da linha definidos e os nomes das classes.

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

Passo 8: O núcleo do script processa o vídeo quadro a quadro. Lemos cada quadro e detectamos e rastreamos objetos. A velocidade dos objetos rastreados é estimada, e o quadro anotado é escrito no vídeo de saída.

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

Passo 9: Finalmente, liberamos os objetos de captura e gravação de vídeo e fechamos quaisquer janelas do OpenCV.

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Passo 10: Salve seu script. Se você estiver trabalhando em seu terminal ou prompt de comando, execute o script usando o seguinte comando:

python your_script_name.py

Link to this sectionOs desafios da estimativa de velocidade baseada em visão#

Também é importante entender os desafios envolvidos na implementação da estimativa de velocidade usando visão computacional. Condições climáticas desfavoráveis, como chuva, neblina ou neve, podem causar problemas ao sistema, pois podem obstruir a visibilidade da estrada. Da mesma forma, oclusões causadas por outros veículos ou objetos podem dificultar o rastreamento e a estimativa precisa da velocidade de um veículo alvo. Condições de iluminação precárias que causam sombras ou reflexos do sol também podem complicar ainda mais a tarefa de estimativa de velocidade.

Outro desafio diz respeito ao poder computacional. Para estimar a velocidade em tempo real, precisamos processar muitos dados visuais de câmeras de tráfego de alta qualidade. Sua solução pode exigir hardware caro para lidar com tudo isso e garantir que tudo funcione rapidamente, sem atrasos.

Além disso, há a questão da privacidade. Os dados coletados por esses sistemas podem incluir detalhes do veículo do indivíduo, como marca, modelo e informações da placa, que são coletados sem o consentimento deles. Algumas câmeras HD modernas podem até capturar imagens dos ocupantes dentro do carro. Tal coleta de dados pode levantar sérias questões éticas e legais que precisam ser tratadas com o máximo cuidado.

Link to this sectionAcelerando em direção ao futuro#

Usar o modelo Ultralytics YOLOv8 para estimativa de velocidade fornece uma solução flexível e eficiente para muitos usos. Embora existam desafios, como precisão em condições difíceis e a abordagem de questões de privacidade, as vantagens são múltiplas. A estimativa de velocidade habilitada por visão computacional é mais econômica, adaptável e precisa em comparação com métodos antigos. É útil em vários setores, como transporte, esportes, vigilância e carros autônomos. Com todos os benefícios e aplicações, ela está destinada a ser uma parte fundamental dos futuros sistemas inteligentes.

Interessado em IA? Conecte-se com nossa comunidade! Explore nosso repositório no GitHub para saber mais sobre como estamos usando IA para criar soluções inovadoras em várias indústrias, como saúde e agricultura. Colabore, inove e aprenda conosco! 🚀

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática