Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

Resumen

Con la innovación tecnológica, la seguridad se está convirtiendo en el mayor reto. La accesibilidad exponencialmente creciente de drones representa una gran amenaza para la seguridad general. El uso de UAVs ha aumentado en los últimos años. Teniendo en cuenta los problemas de seguridad, se propone una solución: primero detectar UAVs y luego rastrear su trayectoria.

Para la detección de objetos, los algoritmos de aprendizaje profundo de visión por computadora son muy efectivos. La entrada es procesada por YOLO (You Only Look Once), una red neuronal usada para detección y seguimiento de objetos en tiempo real.

2.1 Entendiendo el Concepto de UAV

Según el título "Detección y seguimiento de UAV usando visión por computadora", UAV (Vehículo Aéreo No Tripulado) es una aeronave sin piloto, controlable remotamente u ordenadores a bordo. Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

Los UAVs pueden usarse para fines beneficiosos: agricultura, investigación científica, pronóstico meteorológico, envíos y entregas, operaciones de rescate y sanidad. También para fines perjudiciales: ataques, lanzamientos de misiles, asesinatos selectivos, etc.

2.2 ¿Qué es la Visión por Computadora?

Visión por computadora es el campo científico que permite a las computadoras ver, identificar y procesar imágenes como lo hace la visión humana, proporcionando una salida adecuada. Se usa en casi todos los campos:

2.3 ¿Qué es la Técnica de Procesamiento de Imágenes?

La técnica de Procesamiento de Imágenes es usada por la visión por computadora para realizar distintas tareas. Las operaciones y métodos aplicados para mejorar la calidad de una imagen o obtener un resultado específico tras obtenerse como pila de imágenes se denominan procesamiento de imágenes.

El procesamiento de imágenes es una de las áreas de tecnología de la información de más rápida evolución, con aplicaciones crecientes en todos los ámbitos empresariales. Aplicaciones:

Casos de Uso del Procesamiento de Imágenes

El procesamiento de imágenes puede usarse en:

2.4 Requisitos de Software

3. Algoritmos para Detección de Objetos

Existen muchos algoritmos para detección de objetos. Algunos:

Tabla 3.1: Algoritmos para detección

Algoritmo Descripción Fortaleza Debilidad
VIOLA Y JONES (diseñado por Paul Viola y Michael Jones en 2001) Propósito principal: detección de rostros y objetos en tiempo real. El algoritmo mira subregiones pequeñas de la imagen y busca objetos mediante características especiales en cada subregión. Usa características tipo Haar.
  1. Robusto
  2. Tasa de detección muy alta
  3. Usa diferentes clasificadores cada uno mirando distinta porción de la imagen
  4. Rápido
  5. Bueno detectando bordes y líneas
  1. No detecta rostros inclinados o girados
  2. Sensible a condiciones de iluminación
  3. No detecta objetos en movimiento
CNN (Redes Neuronales Convolucionales) Introducida por Kunihiko Fukushima en 1980 Modelo jerárquico biológicamente inspirado entrenable para variedad de detección, reconocimiento y segmentación. Algoritmo de aprendizaje profundo que toma imágenes como entrada, asigna pesos y sesgos aprendibles a objetos en la imagen y diferencia entre ellos.
  1. Determina características por entrenamiento (mayor grado de libertad)
  2. Usa clasificación única que mira imagen completa
  3. Aplica operaciones de matriz
  4. Preciso
  1. Requiere gran conjunto de datos
  2. Costoso
YOLO (You Only Look Once) Algoritmo de detección en tiempo real. Aplica red neuronal a la imagen, la divide en cuadrícula S x S, crea bordes alrededor de imágenes y predice probabilidades para cada borde. Usa regresión.
  1. Detecta múltiples objetos en misma imagen
  2. Ejecución en tiempo real
  3. Súper rápido
  4. Alto rendimiento
  5. Sin errores de fondo
1. Detecta un objeto por celda de cuadrícula.
2. Favorece alto rendimiento sobre precisión.
SSD (Single Shot Detector) Este método solo toma una pasada para detectar múltiples objetos, es muy rápido. Diseñado para implementación en tiempo real. Contiene dos componentes: backbone y SSD head.
  1. Mayor tiempo computacional
  2. Alta precisión
  3. Compromiso exactitud-velocidad moderado
  1. Funciona bien para objetos grandes pero baja para pequeños
  2. Detección end-to-end, demasiado lento
  3. Computacionalmente costoso

Aquí se usará el algoritmo de red neuronal YOLO. Es muy rápido para implementación en tiempo real. Usa red neuronal y divide imagen en cuadrícula S x S creando borde alrededor de la imagen para predecir posibilidades para cada borde. Algoritmos para detección mostrados en Tabla 4.4.

3.1 Algoritmo para Seguimiento

Tras detectar un objeto, el foco está en rastrear. Si el objeto detectado es una cometa o pájaro no hay necesidad de seguimiento, pero si es un dron, el objetivo se rastrea.

Muchos algoritmos se usan para seguimiento de objetos. Pero de nuevo se usa YOLO para seguimiento porque es rápido y preciso, y puede detectar y rastrear hasta que el objetivo sale del rango de la cámara.

4. Implementación del Diseño Propuesto

Aquí está la implementación del diseño propuesto, con todos los pasos para ejecutar el proyecto en software.

4.1 Etapa Inicial

  1. El procesamiento de imágenes necesita buena CPU/GPU, elige CPU. Instala Anaconda desde su web. Instalación de Anaconda mostrada en figura 4.1 Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA
  2. Tras instalar Anaconda Navigator, crea un entorno con el cuadro de diálogo de entorno y selecciona la versión de Python.
  3. Tras crear el entorno con éxito, instala Spyder (fácil de usar). Luego instala OpenCV mediante comando pip install cv2. Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

4.2 Preparación del Conjunto de Datos

  1. Recopila muchas imágenes de distintos objetos aéreos: drones, pájaros, aviones, helicópteros, cometas, globos.

Nota: Crear un dataset es más que recopilar imágenes. Hay que nombrar las imágenes y también indicar la posición de estos objetos en cada imagen. Para ello, se usa un software llamado LabelImg, que convierte imágenes en archivos de texto. Como se muestra en figura 4.6

  1. Una vez creados los archivos TXT de todos los objetos, mete todas las imágenes y archivos de texto en un archivo zip. También nombra archivo para las clases incluidas.

Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

4.3 Configuración de YOLO

Para configurar, sigue estos pasos:

  1. Instala darknet con YOLO v3.
  2. Para configurar YOLO, crea una carpeta en darknet/data incluyendo todas las imágenes y archivos .txt del dataset creado.
  3. Para hacer un archivo de configuración personalizado, haz las modificaciones requeridas en YOLO v3 de cfg, ajustando batch, subdivisiones y max batches respecto a clases y steps.
  4. Al introducir el número de clases, cambia la capa convolucional encima de YOLO. También pon random a 1. Parámetros cfg mostrados en Tabla 4.1

Tabla 4.1: Parámetros CFG

Nombre Descripción
Batch Cuántas imágenes y etiquetas se usan en el paso forward para calcular gradiente y actualizar pesos via backpropagation.
Subdivisions El batch se subdivide en muchos "bloques". Las imágenes de un bloque se ejecutan en paralelo.
Steps 500,1000: Ajusta learning rate tras 500 y 1000 batches.
Layers (Filters) Cuántos kernels convolucionales hay en una capa.
Layers (Random) Poner en capas YOLO. Si es 1, hace data augmentation redimensionando imágenes a distintos tamaños cada pocos batches, para generalizar sobre tamaños de objetos.
  1. Crea carpeta de objeto personalizado mediante data/obj.names con todos los nombres a detectar: drones, UAVs, pájaros, cometas, etc.
  2. En obj.data se incluyen número de clases, train.txt, valid, names, y carpeta weights y se guarda. Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA
  3. En train.txt se guardan todos los datos y nombres de imágenes. Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

4.4 Entrenamiento de YOLO en tu Conjunto de Datos

El entrenamiento de YOLO para dataset personalizado también se hace mediante darknet. Clona y habilita darknet así como OpenCV. Tomando la carpeta ZIP, archivo .cfg, .names, obj.data y train.txt creados, configura la red darknet para entrenamiento de YOLO v3, contando las ejecuciones.

Tras miles de iteraciones (unas 2 horas según potencia de CPU) un dataset entrenado estará listo para usar e integrar con nuestro sistema, indicando la pérdida media (average loss).

4.5 Prueba de Código en Entrada de Imagen y Video

Tras entrenar YOLO para el dataset personalizado, empieza a probar el código en tu dataset entrenado (pesos YOLO). Tiene 4 clases en este caso.

Prueba detección YOLO en distintos. Pesos grandes son buenos en precisión pero el procesamiento es lento por bajos frames por segundo. Haz video de UAV, pájaros y da estos datos como entrada al código. Todos los objetos serán detectados y rastreados exitosamente con etiquetas, fps y umbral.

Ahora el código puede probarse en escenarios reales mediante entrada en tiempo real de webcam; cambia el rango de cámara, vuela tu UAV grabando el resultado y verás la salida requerida: "Detección y Seguimiento de UAV".

Detección y Seguimiento Robusto de UAV mediante Visión por Computadora con IA

Tecnología Industrial

  1. Sensor de movimiento SmartThings con visión artificial en Raspberry Pi 3
  2. Integración de Microsoft Kinect con Raspberry Pi para Detección Humana en Tiempo Real en Robot Sonbi
  3. Siete Formas Comprobadas en que la Visión Artificial Impulsa la Eficiencia y Ahorra Costes
  4. Revolución en la Industria 4.0: Cómo la Visión Artificial Impulsa la Fabricación Inteligente
  5. Osciloscopio PC: Construye un Analizador de Formas de Onda de Bajo Costo Usando tu Computadora
  6. Mastercam Unidad 7: Gestión de Imágenes y Creación de Trayectorias de Herramienta
  7. Cómo la Visión Robótica Mejora la Automatización: Ventajas y Aplicaciones Clave
  8. UAV de Alta Altitud Avanzado para Monitorización Meteorológica Precisa
  9. Prevención de deformación de imagen por calor en cámaras de visión artificial de escaneo lineal
  10. Top 4 Beneficios de la Detección Inteligente de Fugas para Seguridad de Edificios y Ahorro de Costes
  11. Por Qué la Detección de Fugas de Agua IoT de Biz4Intellia Impulsa la Eficiencia Industrial – 5 Ventajas Clave