Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

Resumo

Com a inovação tecnológica, a segurança está se tornando a maior questão a ser tratada. A acessibilidade exponencialmente crescente de drones tem representado uma grande ameaça à segurança geral. O uso de VANTs aumentou nos últimos anos. Tendo em mente os problemas de segurança, uma solução é sugerida. Primeiro, detectar VANTs e depois rastrear seu caminho.

Para detecção de objetos, algoritmos de aprendizado profundo de visão computacional são muito eficazes. A entrada é processada pelo YOLO, que é uma rede neural usada para detecção e rastreamento de objetos em tempo real.

2.1 Entendendo o Conceito de VANT

Conforme o título "Detecção e rastreamento de VANT usando visão computacional", VANT (veículo aéreo não tripulado) é uma aeronave sem piloto, que pode ser controlada remotamente ou por computadores de bordo. Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

VANTs podem ser usados para fins benéficos como agricultura, pesquisa científica, previsão do tempo, entrega e envio, operações de resgate e saúde. Podem ser usados para fins desastrosos como ataques, ataques com mísseis, assassinatos seletivos, etc.

2.2 O que é Visão Computacional?

Visão computacional é o campo da ciência que faz computadores verem, identificarem e processarem imagens da maneira que a visão do olho humano faz e fornecer saída adequada. A visão computacional é usada em quase todos os campos, por exemplo:

2.3 O que é a Técnica de Processamento de Imagens?

A técnica de Processamento de Imagens é usada pela visão computacional para realizar diferentes tarefas. A operação realizada e métodos aplicados para melhorar a qualidade de uma imagem ou obter um resultado específico após ser obtida como uma pilha de imagens é chamada de processamento de imagens.

O processamento de imagens é considerado uma das áreas de tecnologia da informação que evolui mais rapidamente hoje, com aplicações crescentes em todas as áreas de negócios. Aplicações de processamento de imagens são:

Casos de Uso do Processamento de Imagens

O processamento de imagens pode ser usado nestes campos:

2.4 Requisitos de Software

3. Algoritmos para Detecção de Objetos

Muitos algoritmos estão presentes para detecção de objetos. Alguns deles são os seguintes:

Tabela 3.1: Algoritmos para detecção

Algoritmo Descrição Pontos Fortes Pontos Fracos
VIOLA E JONES (O algoritmo Viola-Jones foi projetado por Paul Viola e Michael Jones em 2001) O principal objetivo era detecção de rosto e objetos. Pode detectar objetos em tempo real. Quando damos imagem, o algoritmo olha para sub-regiões menores e tenta encontrar objetos olhando para características especiais em cada sub-região. O algoritmo Viola e Jones usa características semelhantes a Haar para detectar objetos
  1. Robusto
  2. Taxa de detecção muito alta.
  3. Usa diferentes classificadores, cada um olhando para uma porção diferente da imagem
  4. Rápido
  5. Bom na detecção de bordas e linhas
  1. Não pode detectar rostos inclinados ou virados.
  2. Sensível a condições de iluminação
  3. Não pode detectar objetos em movimento
CNN (Redes Neurais Convolucionais) Introduzida por Kunihiko Fukushima em 1980 Modelo hierárquico biologicamente inspirado que pode ser treinado para realizar variedade de detecção, reconhecimento e segmentação. É basicamente um algoritmo de aprendizado profundo, recebe imagens como entrada, atribui pesos e vieses aprendíveis aos objetos presentes na imagem e diferencia entre um e outro
  1. Determina características por treinamento (logo tem maior grau de liberdade).
  2. Usa classificação única que olha para a imagem inteira.
  3. Aplica operação de matriz.
  4. Preciso.
  1. Grande conjunto de dados necessário
  2. Caro.
YOLO (You Only Look Once) É um algoritmo de detecção em tempo real. Aplica algoritmo de rede neural à imagem, e divide a imagem em grade S x S e faz limite ao redor das imagens e prevê possibilidades para cada um dos limites. Usa regressão.
  1. Pode detectar múltiplos objetos na mesma imagem.
  2. Execução em tempo real
  3. Super rápido
  4. Alto desempenho
  5. Sem erros de fundo
1. Detecta um objeto por célula da grade. 2. Favorece alto desempenho sobre precisão.
SSD (Single Shot Detector) Este método só leva um tiro para detectar múltiplos objetos, este método é muito rápido. É projetado para implementação em tempo real. Contém dois componentes: backbone e SSD head.
  1. Tempo computacional mais alto
  2. Alta precisão
  3. Trade-off de exatidão é moderado
  1. Funciona bem para objetos de grande tamanho, mas cai um pouco para objetos de tamanho pequeno
  2. Detecção ponta a ponta, é muito lento.
  3. Computacionalmente caro.

Aqui, o algoritmo de rede neural YOLO será usado. Este algoritmo é muito rápido para implementação em tempo real. Ele usa um algoritmo de rede neural e divide a imagem em grade S x S e faz um limite ao redor da imagem para prever possibilidades para cada limite. Algoritmos para detecção são mostrados na Tabela 4.4.

3.1 Algoritmo para Rastreamento

Após detectar um objeto, o próximo foco é no rastreamento. Se o objeto detectado for uma pipa ou pássaro, não há necessidade de rastreamento, mas se o objeto detectado for um drone, o alvo é rastreado.

Muitos algoritmos são usados para rastreamento de objetos. Mas novamente o YOLO é usado para rastreamento porque este algoritmo é rápido e preciso e pode detectar e rastrear até que o alvo saia do alcance da câmera.

4. Implementação do Design Proposto

Aqui está a implementação do design proposto. Em que todos os passos necessários para rodar o projeto no software são realizados.

4.1 Estágio Inicial

  1. Processamento de imagem precisa de uma boa CPU/GPU, escolha CPU. Instale o Anaconda do site. Instalação do Anaconda mostrada na figura 4.1 Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA
  2. Após a instalação do Anaconda Navigator, crie um ambiente com a ajuda da caixa de diálogo de ambiente e selecione a versão do python.
  3. Após criar o ambiente com sucesso, o próximo passo é instalar o Spyder, pois é fácil de usar. Então instale o open CV através do comando pip install cv2. Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

4.2 Preparando Conjunto de Dados

  1. Colete muitas imagens de diferentes objetos aéreos como drones, pássaros, aviões, helicópteros, pipas e balões.

Nota: Fazer um conjunto de dados é mais do que apenas coletar imagens. Dar nomes às imagens e também informar a posição desses objetos específicos em cada imagem. Para isso, um software chamado LabelImg é usado, que converte imagens em arquivos de texto. Como mostrado na figura 4.6

  1. Uma vez que arquivos Txt de todos os objetos são feitos. Coloque todas as imagens e arquivos de texto em um arquivo zip. Também, arquivo de nomes para as classes incluídas.

Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

4.3 Configuração do YOLO

Para configuração, siga estes passos:

  1. Instale darknet com YOLO v3.
  2. Para configurar o YOLO, crie uma pasta em darknet/data incluindo todas as imagens e arquivos .txt do conjunto de dados feito anteriormente.
  3. Para fazer um arquivo de configuração personalizado, faça as modificações necessárias no YOLO v3 de cfg, ajustando batch, subdivisions e max batches com relação a classes e steps.
  4. Ao inserir o número de classes, altere a camada convolucional acima do YOLO. Também defina random como 1. Parâmetros cfg mostrados na Tabela 4.1

Tabela 4.1: Parâmetros CFG

Nome Descrição
Batch Quantas imagens e rótulos são usados na passagem para frente para calcular um gradiente e atualizar os pesos via método de retropropagação.
Subdivisions O batch é subdividido em muitos "blocos". As imagens de um bloco são executadas em paralelo.
Steps 500,1000: Ajusta a taxa de aprendizado após 500 e 1000 batches.
Layers (Filters) Quantos kernels convolucionais existem em uma camada.
Layers (Random) Colocar nas camadas YOLO. Se definido como 1, faz aumento de dados redimensionando imagens para tamanhos diferentes a cada poucos batches, usado para generalizar sobre tamanhos de objetos.
  1. Crie uma pasta de objeto personalizado através de data/obj.names no qual todos os nomes que queremos detectar como drones, VANTs, pássaros, pipas, etc são escritos.
  2. Em obj.data, número de classes, train.txt, valid, names e pasta de pesos são incluídos e salvos. Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA
  3. Em train.txt, todos os dados e nomes das imagens são salvos. Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

4.4 Treinando YOLO no Seu Conjunto de Dados

Treinamento do YOLO para um conjunto de dados personalizado também é feito através do darknet. Clone e habilite darknet assim como habilite open CV. Pegando a pasta ZIP, arquivo .cfg, arquivo .names, arquivo obj.data e arquivo train.txt criados acima, então configure a rede darknet para o treinamento do YOLO v3, contando as execuções.

Após milhares de iterações, que podem levar cerca de 2 horas baseadas na potência da nossa CPU, um conjunto de dados treinado estará pronto para usar e integrar com nosso sistema, informando a perda média.

4.5 Testando Código em Entrada de Imagem e Vídeo

Após treinar o YOLO para o conjunto de dados personalizado, comece a testar o código no seu conjunto de dados treinado, que é chamado de pesos YOLO. Ele tem 4 classes neste caso.

Tente detecção YOLO em diferentes. Pesos grandes são bons em termos de precisão, mas o processamento é um pouco lento devido a baixos frames por segundo. Faça vídeo de VANT, pássaros e dê estes dados como entrada ao código. Todos os objetos serão detectados e rastreados com sucesso com os rótulos dados, fps e threshold.

Agora o código pode ser testado para cenários em tempo real através da entrada em tempo real de webcam, alterando o alcance da nossa câmera, voamos nosso VANT gravando o resultado, você verá a saída como requerida "Detecção e Rastreamento de VANT".

Detecção e Rastreamento Robusto de UAVs via Visão Computacional Orientada por IA

Tecnologia industrial

  1. Sensor de Movimento SmartThings com Visão Computacional no Raspberry Pi 3
  2. Integrando Microsoft Kinect com Raspberry Pi para Detecção Humana em Tempo Real no Robô Sonbi
  3. Como a Visão Robótica Aprimora a Automação: Principais Vantagens e Aplicações
  4. Top 4 Benefícios da Detecção Inteligente de Vazamentos para Segurança Predial e Economia de Custos
  5. Por que a Detecção de Vazamento de Água IoT da Biz4Intellia Impulsiona a Eficiência Industrial – 5 Vantagens Principais
  6. Sete Maneiras Comprovadas de a Visão Computacional Impulsionar Eficiência e Economizar Custos
  7. Revolucionando a Indústria 4.0: Como a Visão Computacional Impulsiona a Manufatura Inteligente
  8. UAV Avançado de Alta Altitude para Monitoramento Meteorológico Preciso
  9. Prevenção de Deformação de Imagem por Calor em Câmeras de Visão Artificial Line-Scan
  10. Mastercam Unidade 7: Gestão de Imagens e Criação de Trajetórias de Ferramenta