Ultralytics YOLO27:
Ultralytics YOLO

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

Descobre como o modelo Ultralytics YOLOv8 pode ser utilizado para estimar velocidades nos teus projetos de visão computacional. Experimenta tu mesmo com um exemplo de código simples.

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

Provavelmente todos já vimos sinais de limite de velocidade nas estradas. Alguns de nós podem até ter recebido uma notificação automática de infração do limite de velocidade por correio ou e-mail. Os sistemas de gestão de tráfego com inteligência artificial (IA) podem sinalizar automaticamente infrações de excesso de velocidade graças à visão computacional. As imagens em tempo real captadas por câmaras nos semáforos e nas autoestradas são utilizadas para estimar a velocidade e reforçar a segurança rodoviária.

A estimativa de velocidade não se limita à segurança nas autoestradas. Pode ser utilizada no desporto, em veículos autónomos e em várias outras aplicações. Neste artigo, vamos discutir como podes utilizar o modelo Ultralytics YOLOv8 para estimar a velocidade nos teus projetos de visão computacional. Também vamos percorrer passo a passo um exemplo de código para que possas experimentá-lo. Vamos começar!

A estimativa de velocidade facilita a gestão do tráfego#

Segundo a Organização Mundial da Saúde (WHO), aproximadamente 1,19 milhões de pessoas morrem anualmente em acidentes de trânsito devido ao excesso de velocidade. Além disso, entre 20 e 50 milhões sofrem ferimentos não fatais, muitos dos quais resultam em incapacidades. A importância da segurança rodoviária não pode ser subestimada, especialmente quando a estimativa de velocidade ajuda a prevenir acidentes, salvar vidas e manter as nossas estradas seguras e eficientes.

A estimativa de velocidade com visão computacional envolve detetar e rastrear objetos em fotogramas de vídeo para calcular a velocidade a que se movem. Algoritmos como o Ultralytics YOLOv8 conseguem identificar e rastrear objetos, como veículos, em fotogramas consecutivos. O sistema mede a distância percorrida por esses objetos utilizando câmaras calibradas ou pontos de referência para estimar distâncias no mundo real. Ao medir quanto tempo os objetos demoram a deslocar-se entre dois pontos, o sistema calcula a sua velocidade através da relação entre distância e tempo.

Estimativa de velocidade utilizando o modelo Ultralytics YOLOv8

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

Além de detetar condutores em excesso de velocidade, os sistemas de estimativa de velocidade integrados com IA podem recolher dados para fazer previsões sobre o tráfego. Estas previsões podem apoiar tarefas de gestão do tráfego, como a otimização dos tempos dos semáforos e a alocação de recursos. Os conhecimentos sobre os padrões de tráfego e as causas do congestionamento podem ser utilizados para planear novas estradas e reduzir o congestionamento.

Aplicações da estimativa de velocidade noutros setores#

As aplicações da estimativa de velocidade vão além da monitorização das estradas. Também pode ser útil para monitorizar o desempenho de atletas, ajudar veículos autónomos a compreender a velocidade dos objetos que se movem à sua volta, detetar comportamentos suspeitos, entre outras aplicações. Sempre que uma câmara possa ser utilizada para medir a velocidade de um objeto, é possível utilizar a estimativa de velocidade com visão computacional.

Eis alguns exemplos de utilização da estimativa de velocidade:

  • Os carros autónomos da Tesla utilizam a estimativa de velocidade baseada em visão para evitar colisões.
  • A visão computacional e a estimativa de velocidade serão utilizadas nos Jogos Olímpicos de 2024 para melhorar a análise do desempenho nas provas de atletismo.
  • As cidades inteligentes estão a investigar a análise da marcha dos peões para monitorizar as velocidades de caminhada e aumentar a mobilidade e a segurança urbanas. Estes sistemas podem alertar os condutores para a presença de peões e prevenir acidentes.
  • Os sistemas de monitorização do comportamento animal utilizam a estimativa de velocidade para rastrear os movimentos dos animais e detetar sinais de sofrimento ou doença.

Estimativa de velocidade da caminhada de uma pessoa

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

As vantagens de estimar a velocidade com visão computacional#

Os sistemas de estimativa de velocidade baseados em visão estão a substituir os métodos tradicionais baseados em sensores devido à sua maior precisão, rentabilidade e flexibilidade. Ao contrário dos sistemas que dependem de sensores dispendiosos, como o LiDAR, a visão computacional utiliza câmaras convencionais para monitorizar e analisar a velocidade em tempo real. As soluções de visão computacional para estimativa de velocidade podem ser integradas facilmente na infraestrutura de tráfego existente. Além disso, estes sistemas podem ser desenvolvidos para executar várias tarefas complexas, como a identificação do tipo de veículo e a análise dos padrões de tráfego, de modo a melhorar o fluxo e a segurança gerais do tráfego.

Experimenta: estimativa de velocidade utilizando o Ultralytics YOLOv8#

Agora que compreendemos claramente a estimativa de velocidade e as suas aplicações, vamos analisar mais de perto como podes integrar a estimativa de velocidade nos teus projetos de visão computacional através de código. Vamos detetar veículos em movimento e estimar a sua velocidade utilizando o modelo Ultralytics YOLOv8.

Este exemplo utiliza um vídeo de carros numa estrada, descarregado da Internet. Podes utilizar o mesmo vídeo ou qualquer vídeo relevante. O modelo Ultralytics YOLOv8 identifica o centro de cada veículo e calcula a sua velocidade com base na rapidez com que esse centro atravessa uma linha horizontal no fotograma do vídeo.

Antes de começarmos, é importante notar que, neste caso, o cálculo da distância é aproximado e baseia-se na distância euclidiana. A calibração da câmara não é tida em conta, pelo que a estimativa de velocidade pode não ser totalmente precisa. Além disso, a velocidade estimada pode variar consoante a velocidade da tua GPU.

Passo 1: Vamos começar por instalar o pacote Ultralytics. Abre a linha de comandos ou o terminal e executa o comando apresentado abaixo.

pip install ultralytics

Consulta o nosso guia de instalação da Ultralytics para obteres instruções passo a passo e boas práticas sobre o processo de instalação. Se encontrares algum problema ao instalar os pacotes necessários para o YOLOv8, o nosso guia de problemas comuns apresenta soluções e sugestões úteis.

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

import cv2
from ultralytics import YOLO, solutions

Passo 3: Depois, podemos carregar o modelo Ultralytics YOLOv8 e obter os nomes das classes que o modelo consegue detetar.

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

Consulta todos os modelos que suportamos para compreenderes qual se adapta melhor ao teu projeto.

Passo 4: Neste passo, vamos abrir o ficheiro de vídeo de entrada utilizando o módulo VideoCapture do OpenCV. Também vamos extrair a largura, a altura e os fotogramas 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, vamos inicializar o gravador de vídeo para guardar os resultados finais da estimativa de velocidade. O ficheiro de vídeo de saída será guardado 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. No nosso vídeo de entrada, esta linha será colocada horizontalmente no centro do fotograma. Experimenta ajustar os valores para colocares a linha nas posições mais adequadas, consoante o teu vídeo de entrada.

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

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

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

Passo 8: O núcleo do script processa o vídeo fotograma a fotograma. Lemos cada fotograma e detetamos e rastreamos objetos. A velocidade dos objetos rastreados é estimada e o fotograma 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: Por fim, libertamos os objetos de captura e gravação de vídeo e fechamos todas as janelas do OpenCV.

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

Passo 10: Guarda o teu script. Se estiveres a trabalhar no terminal ou na linha de comandos, executa o script utilizando o seguinte comando:

python your_script_name.py

Os desafios da estimativa de velocidade baseada em visão#

Também é importante compreender os desafios envolvidos na implementação da estimativa de velocidade com visão computacional. Condições meteorológicas desfavoráveis, como chuva, nevoeiro ou neve, podem causar problemas ao sistema, uma vez que podem obstruir a visibilidade da estrada. Do mesmo modo, as oclusões causadas por outros veículos ou objetos podem dificultar o rastreio e a estimativa precisa da velocidade de um veículo-alvo. Condições de iluminação deficientes, que provocam sombras ou reflexos do sol, também podem complicar ainda mais a tarefa de estimar a velocidade.

Outro desafio está relacionado com o poder computacional. Para estimar a velocidade em tempo real, temos de processar muitos dados visuais provenientes de câmaras de tráfego de alta qualidade. A tua solução pode precisar de hardware dispendioso para processar tudo isto e garantir que tudo funciona rapidamente e sem atrasos.

Depois, existe a questão da privacidade. Os dados recolhidos por estes sistemas podem incluir informações sobre o veículo de uma pessoa, como a marca, o modelo e a matrícula, recolhidas sem o seu consentimento. Algumas câmaras HD modernas podem até captar imagens dos ocupantes no interior do carro. Esta recolha de dados pode levantar questões éticas e legais graves, que devem ser tratadas com o máximo cuidado.

A acelerar rumo ao futuro#

A utilização do modelo Ultralytics YOLOv8 para estimar a velocidade proporciona uma solução flexível e eficiente para muitas utilizações. Embora existam desafios, como a precisão em condições difíceis e a resolução de questões de privacidade, as vantagens são numerosas. A estimativa de velocidade com visão computacional é mais económica, adaptável e precisa do que os métodos antigos. É útil em vários setores, como transportes, desporto, vigilância e carros autónomos. Com todas estas vantagens e aplicações, está destinada a tornar-se uma parte essencial dos futuros sistemas inteligentes.

Tens interesse em IA? Junta-te à nossa comunidade! Explora o nosso repositório no GitHub para saberes mais sobre como utilizamos a IA para criar soluções inovadoras em vários setores, como os cuidados de saúde e a agricultura. Colabora, inova e aprende connosco! 🚀

Explore solutions

Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

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