Verificação verde
Link copiado para a área de transferência

Cria aplicações de drones com IA com o Ultralytics YOLO11

Aprende a criar aplicações para drones alimentadas por IA com o Ultralytics YOLO11, que permite a deteção de objectos em tempo real e tarefas de visão computacional baseadas em drones.

As compras na loja e as compras em linha podem parecer semelhantes, mas dependem de uma logística diferente. As lojas precisam de reabastecer as prateleiras, enquanto as encomendas em linha dependem de entregas ao domicílio. Graças aos avanços tecnológicos, ambas as experiências de compra estão a ser reformuladas em paralelo.

Por exemplo, está a ocorrer uma grande mudança nas entregas. Os drones com IA estão a mudar a forma como os produtos chegam às nossas casas. Espera-se que estes drones inteligentes façam cerca de 808 milhões de entregas na próxima década, transformando os céus na mais recente rota de entrega do comércio quotidiano.

Os drones de entrega utilizam a inteligência artificial (IA) e a visão por computador, um subcampo da IA que é utilizado para analisar dados visuais, para navegar e contornar obstáculos. Modelos de visão por computador como o Ultralytics YOLO11 podem ajudar os drones a detetar e seguir objectos em tempo real, permitindo-lhes compreender melhor e interagir com o seu ambiente.

Figura 1. Um drone de entregas a levar uma encomenda ao seu destino.

Empresas como a Meituan e a DJI já estão a integrar a visão computacional nos seus drones. De facto, a rápida adoção de drones em várias indústrias fez com que o mercado de drones com IA disparasse para 206,9 mil milhões de dólares até 2031. 

Neste artigo, vamos analisar mais detalhadamente a forma como os modelos de visão por computador, como o Ultralytics YOLO11 , podem ser utilizados em aplicações baseadas em drones, como as entregas por drones. Apresentaremos um exemplo que mostra como estas tecnologias podem ser desenvolvidas e testadas antes de serem utilizadas em cenários do mundo real.

Utiliza o Ultralytics YOLO11 em drones para detetar casas

Uma parte essencial dos drones de entrega é a sua capacidade de detetar casas enquanto navegam. Para recriar esta capacidade e compreender como funciona, vamos treinar um modelo de visão por computador que consegue identificar casas em imagens captadas por um drone aéreo. Para isso, treinaremos YOLO11 de forma personalizada, o que envolve o ajuste fino de um modelo YOLO11 pré-treinado para reconhecer e detetar casas usando exemplos rotulados.

Para isso, precisamos de dados de vídeo de alta qualidade de um drone. O interessante é que, mesmo sem acesso a um drone real, podemos gerar imagens aéreas realistas. Vamos ver como.

Criar uma imagem artificial de um drone com o Google Earth Studio

Google Earth Studio é uma ferramenta de animação baseada na Web que pode ser utilizada pelos utilizadores para criar conteúdos estáticos e animados utilizando as imagens de satélite e 3D do Google Earth. Podemos utilizá-lo para criar imagens aéreas realistas.

O primeiro passo é abrir o Google Earth Studio e criar um projeto, como se mostra abaixo. 

Precisas de uma conta Google para iniciar sessão.

Figura 2. Cria um projeto no Google Earth Studio.

Depois de iniciares sessão, podes escolher um local para o teu vídeo de drone artificial. Utilizando a barra de pesquisa no canto superior esquerdo da página, podes procurar localizações. Para este tutorial, escolhe o Canadá. Além disso, como vamos treinar um modelo para detetar casas, o teu vídeo de drone deve ter uma vista aérea de casas.

Figura 3. Escolhe uma localização utilizando Google Earth Studio.

A seguir, podes definir o primeiro e o último fotogramas para capturar o movimento do disparo artificial do drone. Depois de escolheres a localização inicial para o disparo do drone, define o primeiro fotograma utilizando os diamantes azuis, como se mostra abaixo. 

Fig. 4. Define o primeiro quadro utilizando os diamantes azuis.

A seguir, podes escolher o último fotograma para determinar o destino do drone. Isto ajudar-nos-á a criar um efeito de movimento para a filmagem do drone. Para isso, desliza a barra (destacada abaixo) para a direita até um momento específico, de modo a criar o efeito de movimento para a filmagem do drone. Mais uma vez, utiliza os diamantes azuis para definir o último ponto.

Fig. 5. Define o último fotograma movendo a barra.

Finalmente, podes guardar este projeto e renderizá-lo, clicando no botão vermelho "Render", no canto superior direito da página. Isto vai dar-te a saída de vídeo final da filmagem do drone, criando com sucesso uma filmagem artificial de drone.

Fig. 6. Renderiza o vídeo de saída final.

Como rotular os dados do drone?

Agora que criámos um vídeo artificial de drone, o próximo passo é etiquetar ou anotar as casas nele contidas. Também precisamos de separar os fotogramas individuais do vídeo. 

Para começar, vamos instalar o LabelImg. LabelImg é uma ferramenta de rotulagem de imagens de código aberto. Podes instalá-lo diretamente a partir do terminal utilizando o instalador de pacotes pip, executando o seguinte comando: "pip install labelImg".

Após a instalação, podes executar a ferramenta utilizando o comando "labelImg" no teu terminal ou na linha de comandos. Isto leva-te à página mostrada abaixo.

Fig. 7. Interface da ferramenta LabelImg.

Entretanto, podemos utilizar um conversor de vídeo para imagem online ou uma ferramenta chamada FFmpeg para dividir o vídeo em fotogramas. O FFmpeg é uma coleção de bibliotecas e ferramentas para processar conteúdo multimédia, como áudio, vídeo, legendas e metadados relacionados. 

Podes utilizar o seguinte comando de terminal para separar cada fotograma do vídeo da filmagem do drone:

ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg

Depois de separarmos os fotogramas da filmagem do drone, podemos começar a etiquetar os objectos (casas) neles contidos. Navegando para a pasta de imagens através da ferramenta LabelImg, podemos etiquetar os objectos em cada imagem. Certifica-te de que guardas e verificas todas as imagens etiquetadas. Depois de anotares as imagens, podes agora passar ao treino YOLO11 utilizando estes dados.

Fig. 8. Um exemplo de como guardar imagens com anotações.

Fluxo de trabalho de treino do modelo YOLO11

Antes de começarmos a treinar o YOLO11, vamos organizar as nossas imagens e etiquetas. Começa por criar duas pastas: uma com o nome "train" (treinar) e a outra com o nome "valid" (válido). Divide as tuas imagens entre estas pastas. Dentro de cada uma, cria subpastas separadas para as imagens e os ficheiros de etiquetas correspondentes (formato de texto), como se mostra abaixo.

Fig. 9. Um exemplo de criação de pastas de imagens e etiquetas.

Depois, podemos começar a treinar o modelo YOLO11 da seguinte forma:

  • Passo 1: Instala o pacoteUltralytics Python . Podes fazer isso executando o comando "pip install ultralytics" no teu terminal. Se encontrares algum problema de instalação, consulta o nosso guia de resolução de problemas para obteres dicas e truques que te ajudem a resolvê-los.
  • Passo 2: Depois de instalar o pacote com sucesso, cria um ficheiro com o nome 'data.yaml'. Este é um arquivo de configuração crucial para o treinamento do modelo. No arquivo data.yaml, inclui as seguintes informações: o caminho para o conjunto de dados de treinamento, o caminho para o conjunto de dados de validação, o número de classes (nc) e uma lista de nomes de classes (names), como mostrado abaixo.
Fig. 10. Um exemplo de um ficheiro data.yaml.

  • Passo 3: Uma vez que o arquivo 'data.yaml' esteja configurado, podes começar a treinar o teu modelo usando o seguinte código Python . Esse código carrega o modelo YOLO11 pré-treinado e o treina de acordo com suas configurações.
from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.pt")  # choose your model, e.g., YOLO11 nano

# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
  • Passo 4: Quando o treino estiver concluído, deverás ver um resultado semelhante ao mostrado abaixo. Isto significa que treinaste com sucesso o teu modelo YOLO11 para aplicações baseadas em drones.
Fig. 11. O resultado apresentado após o treino do modelo.

Executa previsões utilizando o Ultralytics YOLO11 em drones

O modelo YOLO11 treinado pode agora ser usado para fazer previsões através de um processo chamado inferência. A inferência envolve a utilização de um modelo para analisar dados novos e não vistos com base no que aprendeu durante o treino. Neste caso, o modelo pode ser utilizado para encontrar e rotular objectos específicos, como casas, em imagens ou vídeos, desenhando caixas delimitadoras à sua volta.

Para executar uma previsão, podes usar o modelo YOLO11 treinado num vídeo de entrada usando o seguinte código Python . Neste exemplo, vamos utilizar o mesmo vídeo de drone artificial que foi utilizado para o treino, mas podes utilizar qualquer outro ficheiro de vídeo, se preferires.

# Import library
from ultralytics import YOLO

# Load the YOLO model
model = YOLO("best.pt")  # Choose your custom-trained model

# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)

Depois de executares este código, o ficheiro de vídeo de saída com as previsões e as caixas delimitadoras será guardado.

Fig. 12. Um fotograma do ficheiro de vídeo de saída. 

Integração do Ultralytics YOLO11 em drones para várias aplicações

Detetar casas para entrega de pacotes por drones é apenas um exemplo de como a visão computacional e YOLO11 podem ser aplicados. Aqui estão alguns outros usos reais da visão computacional, YOLO11 e drones aéreos:

  • Vigilância e segurança: Os drones com IA podem ser utilizados para monitorizar grandes áreas em tempo real. Podem detetar intrusões, seguir actividades suspeitas e reforçar a segurança nas fronteiras nacionais, bem como em grandes eventos públicos. 
  • Resposta a catástrofes e busca e salvamento: Equipados com câmaras térmicas e de deteção de objectos, os drones podem ajudar a localizar sobreviventes em zonas de catástrofe. Podem também avaliar os danos e entregar bens de emergência...
  • Agricultura e agricultura de precisão: Os drones integrados com visão computacional podem ser utilizados para analisar a saúde das culturas e detetar doenças, ajudando os agricultores a aumentar os rendimentos e a reduzir os custos. 
  • Cartografia e análise geoespacial: Ao recolher mapas 3D de alta resolução, os drones com IA podem ajudar no planeamento urbano e nos levantamentos de terrenos. Proporcionam avaliações do terreno mais rápidas e mais precisas do que os métodos tradicionais. 

Principais conclusões

Os drones com IA alimentados por visão computacional estão a mudar muitas indústrias, desde a entrega de encomendas até à ajuda em emergências e à agricultura. Neste guia, percorremos a criação de um vídeo de drone artificial, rotulando objectos nele, treinando YOLO11 e utilizando-o para detetar casas.

A aplicação da deteção de objectos às filmagens dos drones torna-os mais inteligentes, permitindo-lhes reconhecer e seguir objectos automaticamente em tempo real. À medida que a tecnologia melhora, é provável que os drones com IA desempenhem um papel ainda mais importante na realização de entregas mais rápidas, na melhoria da segurança e na ajuda à resposta a catástrofes.

Junta-te à nossa comunidade e explora o nosso repositório GitHub para saberes mais sobre a IA de visão e verifica as nossas opções de licenciamento para iniciares os teus projectos de visão computacional. Estás interessado em inovações como a IA no fabrico ou a visão computacional na indústria automóvel? Visita as nossas páginas de soluções para saberes mais. 

Logótipo do LinkedInLogótipo do TwitterLogótipo do FacebookSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

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