• No se han encontrado resultados

Evaluación de desempeño de un sistema

N/A
N/A
Protected

Academic year: 2023

Share "Evaluación de desempeño de un sistema"

Copied!
56
0
0

Texto completo

Agradezco a los directores de esta tesis, Profesor Luis Fernando Castaño y Profesor David Márquez Viloria por su orientación y apoyo constante en la ejecución de la presente tesis de investigación. Quisiera expresar mi agradecimiento a Parque en el grupo de Sistemas de Control y Robótica y al laboratorio en ITM por su apoyo y recursos que permitieron el trabajo continuo en la maestría. Un agradecimiento a todos los profesores de la maestría que me guiaron a través de sus clases en el desarrollo de la misma.

L ISTA DE A CRÓNIMOS

I NTRODUCCIÓN

¿Cuál sería el efecto sobre el rendimiento del hardware en el reconocimiento de objetos del robot humanoide NAO en entornos cotidianos si se integran arquitecturas heterogéneas basadas en FPGA y GPU para acelerar la ejecución de una red neuronal convolucional? El sistema de reconocimiento de objetos de los robots humanoides está limitado por la capacidad del procesador secuencial incorporado, que no cuenta con una buena arquitectura de rendimiento en el procesamiento de imágenes y videos. Sin embargo, una arquitectura heterogénea basada en FPGA o GPU tiene un alto grado de paralelismo que es útil para acelerar algoritmos de procesamiento de imágenes y vídeo, por lo que implementar una CNN en estas arquitecturas mejorará el tiempo de respuesta y la autonomía del robot en el reconocimiento de objetos en el día a día. ambientes.

Se presenta una solución a través de entornos virtuales para robótica, generando una metodología de aplicaciones enfocadas al reconocimiento de objetos para robótica humanoide a través de herramientas de simulación como Webbots y la integración de arquitecturas heterogéneas. En el estado del arte se detallan implementaciones de CNNs en sistemas embebidos basados ​​en FPGA o GPU, sistemas de percepción visual realizados sobre el robot humanoide NAO.

E STADO DEL ARTE

E STADO DEL ARTE

  • I MPLEMENTACIONES DE CNN SOBRE SISTEMAS EMBEBIDOS BASADOS EN GPU
  • I MPLEMENTACIONES DE CNN SOBRE SISTEMAS EMBEBIDOS BASADOS EN FPGA
  • I MPLEMENTACIONES DE CNN SOBRE EL SISTEMA DE CÓMPUTO DEL ROBOT HUMANOIDE
  • I MPLEMENTACIÓN DE ALGORITMOS DE RECONOCIMIENTO DE IMÁGENES SOBRE SISTEMAS COMPUTACIONALES EXTERNOS APLICADO A ROBOTS HUMANOIDESCOMPUTACIONALES EXTERNOS APLICADO A ROBOTS HUMANOIDES

En [18,19], la información de una red CNN entrenada se sintetiza en hardware mediante la herramienta de síntesis de alto nivel Vivado HLS. Estos procesadores aportan limitaciones en su capacidad de procesamiento al ejecutar algoritmos avanzados de técnicas de aprendizaje profundo, limitando al robot en el desarrollo de tareas relacionadas con el reconocimiento de objetos en tiempo real. Para mejorar las limitaciones de la capacidad de procesamiento del sistema robótico convencional a la hora de ejecutar algoritmos CNN, se han presentado varias aproximaciones en torno a grupos de investigación interesados ​​en este campo.

Los trabajos encaminados a mejorar el rendimiento informático en robots con procesadores secuenciales han presentado una limitación en el tiempo de ejecución en el reconocimiento de objetos en tiempo real. Diferentes enfoques se han centrado en utilizar el procesador convencional incorporado en los robots humanoides. A pesar de sus limitaciones computacionales frente a algoritmos robustos, se han realizado técnicas de procesamiento de imágenes para aplicaciones relacionadas con el reconocimiento de gestos, emociones, objetos, goles en la RoboCup, entre otras.

En el caso del robot humanoide NAO, se han utilizado diferentes versiones de este robot humanoide en diferentes aplicaciones. En el caso de las diferentes versiones del robot humanoide de Armar, se integran en el sistema circuitos integrados controlados por un procesador de secuencia externo. Además, una PC externa en [40] está conectada a un módulo de controlador universal (UcoM) integrado en el robot.

En la primera parte se implementa un sistema informático distribuido externo, el cual se conecta vía Wifi a un robot humanoide para implementar algoritmos de visión por computadora. En el caso de [47], sólo se lograron 2 fotogramas por segundo, lo que está muy por debajo de los rangos para una aplicación en tiempo real. Un sistema de monitoreo basado en el robot humanoide NAO se realiza ejecutando imágenes desde un multiprocesador Intel i5 a 3,20 GHz [48].

M ETODOLOGÍA

  • E LEMENTOS Y CONCEPTOS FUNDAMENTALES
    • H ARDWARE
    • T ÉCNICAS DE CLASIFICACIÓN Y DETECCIÓN DE OBJETOS R EDES NEURONALES CONVOLUCIONALES (CNN)REDES NEURONALES CONVOLUCIONALES(CNN)
  • A DQUISICIÓN Y C OMUNICACIÓN
    • A DQUISICIÓN
    • T RANSMISIÓN DEL VIDEO
    • R ECEPCIÓN DEL VIDEO
  • P ROCESAMIENTO DE DATOS
    • I MPLEMENTACIÓN DE LAS CNN EN LOS SISTEMAS EMBEBIDOS
    • I MPLEMENTACIÓN DE ALGORITMOS CLÁSICOS DE APRENDIZAJE AUTOMÁTICO PARA APLI -
  • E VALUACIÓN DE DESEMPEÑO
    • P RECISIÓN
    • T IEMPO DE INFERENCIA
    • C ONSUMO DE POTENCIA

En el caso de la aplicación, la imagen se adquiere, procesa y envía a través de una conexión Ethernet a cada sistema embebido. Finalmente, en el apartado 2.4, se muestra la evaluación del desempeño de la implementación realizando la comparación con los principales trabajos encontrados en el estado del arte. Para este trabajo, el control del robot humanoide virtual generado por Webots y el envío de la imagen al sistema embebido fue realizado por Choregraphe.

Para un problema centrado en la detección de objetos de Tinier-Yolo CNN, se utilizó Pascal Voc 2012 como conjunto de datos. El conjunto de datos INSTRE, además de la recuperación y reconocimiento de objetos a nivel de instancia, sirve para. La obtención de la imagen del objeto visto por el robot humanoide NAO se creó a partir de un entorno virtual que contiene objetos a reconocer.

Para recibir la imagen virtual de los Webots en cada sistema se utilizaron las librerías descritas en el apartado anterior. En el caso de la red Inception V3 implementada en Ultra96 FPGA, el aprendizaje por transferencia se realizó a partir del conjunto de datos INSTRE; en el caso de las redes Tinier-Yolo, Inception V1 y AlexNet, estos modelos previamente entrenados se tomaron de los conjuntos de datos Pascal Voc2012 e ImageNet. . El desarrollo de esta aplicación se basa en un reentrenamiento de las capas convolucionales finales de la red Inception-V3 para la identificación de juguetes.

Por otro lado, se utilizó Xilinx Vitis-DPU para implementar Inception-V1 CNN en Ultra96-V2 FPGA. Para la clasificación de juguetes, se construye un conjunto de datos de 10 clases a partir de la base de datos INSTRE [14]. Este marco proporciona una operación de cuantificación para el motor de inferencia de GPU.

La precisión se presenta para evaluar el desempeño de la arquitectura de red, y el tiempo de ejecución y consumo de energía para la evaluación de arquitecturas heterogéneas durante la fase de inferencia. Por otro lado, se realiza la implementación de la CNN Tinier-Yolo para la detección de objetos.

Tabla 2.2: Arquitectura AlexNet
Tabla 2.2: Arquitectura AlexNet

R ESULTADOS

A DQUISICIÓN Y COMUNICACIÓN

P ROCESAMIENTO DE DATOS

  • I MPLEMENTACIÓN DE LAS CNN T INIER -Y OLO , I NCEPTION -V1 Y A LEX N ET SOBRE EL FPGA
  • I MPLEMENTACIÓN DE LA RED I NCEPTION -V3 SOBRE EL FPGA PARA APLICACIONES EN EDUCACIÓN INICIALEDUCACIÓN INICIAL
  • I MPLEMENTACIÓN DE LA RED T INIER -Y OLO , I NCEPTION -V1 Y A LEX N ET SOBRE LA GPU
  • I MPLEMENTACIÓN DE ALGORITMOS CLÁSICOS DE APRENDIZAJE AUTOMÁTICO PARA APLI -
  • C OMPARACIÓN EJECUCIÓN CNN-FPGA/GPU VERSUS T ÉCNICAS CLÁSICAS -CPU NAO
  • C OMPARACIÓN EJECUCIÓN CNN-FPGA/GPU VERSUS E STADO DEL ARTE
  • L IMITACIONES EN TIEMPO DE INFERENCIA
  • L IMITACIONES DE TRABAJOS PREVIOS USANDO UNA CNN
  • L IMITACIONES EN AUTONOMÍA DE TRABAJO

En la Tabla 3.4 se puede observar que los recursos utilizados están por debajo del monto total del tablero. Por esta razón, no es posible aumentar el rendimiento en el Cyclone V-SoC, a diferencia de la implementación realizada por [1] en la plataforma DE5-net, donde se logra la clasificación en tiempo real, ya que la plataforma es mucho más grande en términos de de recursos. IMPLEMENTACIÓN DE LA RED INSEPTION-V3 SOBRE LA FPGA PARA APLICACIONES EN EDUCACIÓN PRIMARIA.

La implementación modificada de la red Inception-V3 logró una tasa de clasificación del 98% y un rendimiento en tiempo real de 27 fps. La Figura 3.7 muestra la detección en el sistema embebido desde la escena virtual proporcionada por Webbots y la Figura 3.8 la detección en tiempo real. Para las pruebas de inferencia, se toman cinco imágenes aleatorias de la base de datos de la prueba.

En el caso de Tinier-Yolo CNN ejecutado en FPGA y GPU, independientemente de la cantidad de sus pesos, se obtuvo el FPS más bajo, donde la FPGA fue capaz de procesar más imágenes por segundo que la GPU para esta arquitectura de red neuronal. La siguiente sección compara los resultados de la presente tesis con trabajos recientes de última generación, que se centran en la implementación de diferentes CNN para mejorar la percepción visual de la NAO. La comparación se basó en tres métricas básicas: el tiempo de inferencia del sistema informático mientras ejecuta la CNN, la precisión de la CNN y la autonomía del robot humanoide.

En [5], se implementó una CNN que consta de una capa convolucional, agrupación, normalización, conexión completa y softmax para la validación y el reconocimiento de la imagen extraída en la etapa de segmentación. Varios trabajos han logrado resultados satisfactorios en términos de tiempo de finalización para una aplicación en tiempo real, pero sus resultados no fueron mayores en términos de precisión de la red y capacidad ampliada de reconocimiento en función del número de objetos. En este trabajo, el tiempo de respuesta fue rápido debido a que (resolución de la cámara del robot) puede aumentar los tiempos de respuesta y perder información (características).

Figura 3.3: Visualización de imagen virtual en el sistema embebido
Figura 3.3: Visualización de imagen virtual en el sistema embebido

D ISEÑO Backpack PARA NAO

  • C ÁLCULO BATERÍA QUE ALIMENTA AL SISTEMA EMBEBIDO
  • D ISEÑO 3D backpack

El cálculo de la batería se basó en la energía requerida por la FPGA Ultra96, la energía consumida por la operación CNN y la autonomía basada en el tiempo que el robot humanoide estará activo. Considerando este último factor, se tomó como referencia lo mencionado por [14], donde se determina que a pesar de los 60 minutos que ofrece la batería incluida en la NAO, se encontró que en la competencia Robo Cup Soccer, la autonomía de el robot son solo 30 minutos. En este sentido, el tiempo de funcionamiento del FPGA Ultra96 se estimó en 50 minutos de actividad.

El voltaje de entrada del Ultra96 está en el rango de 8V a 18V con una corriente máxima de 3 A. Aunque el FPGA consume solo 3,1 W en la etapa de derivación, se realiza una sobreestimación de la potencia consumida en 6 W. Teniendo en cuenta estos datos, en base a la fórmula de cálculo de la autonomía de la batería, se procede a calcular la potencia que entrega la batería a utilizar.

El siguiente paso se basó en la selección de la batería en función del cálculo de la potencia dada y la autonomía deseada. Para ello se optó por utilizar una batería LiPo de polímero de litio, que son baterías recargables que constan de celdas secundarias idénticas en paralelo para aumentar la capacidad de corriente de descarga. Partiendo de que la potencia entregada por la batería debe ser de 4.998 W, se selecciona una batería LiPo comercial que proporcione esta capacidad y que su voltaje de salida esté dentro de los límites de voltaje de entrada del Ultra96 FGPA (8v - 18v).

Dadas las especificaciones eléctricas de la batería que satisfaga las necesidades de diseño, se realiza una búsqueda de la batería LiPo de referencia comercial que satisfaga las necesidades de consumo eléctrico. Dado que las especificaciones eléctricas y dimensionales de las baterías LiPo son comunes entre los diferentes fabricantes, durante la búsqueda inicial se selecciona la batería de referencia Gens Ace 450mAh-11.1V de 3 celdas. Se presenta el diseño 3D de la mochila teniendo en cuenta los resultados obtenidos de cada placa de desarrollo.

Tabla 3.10: Especificaciones eléctricas de la batería LiPo seleccionada
Tabla 3.10: Especificaciones eléctricas de la batería LiPo seleccionada

C ONCLUSIONES Y F UTURO TRABAJO

Figure

Figura 2.1: Esquema del sistema de reconocimiento propuesto
Tabla 2.2: Arquitectura AlexNet
Tabla 2.3: Arquitectura Inception V1
Tabla 2.5: Arquitectura Tinier-Yolo
+7

Referencias

Documento similar

Transporte de tierras procedentes de excavación a vertedero, con un recorrido total comprendido entre 10 y 20 km., en camión volquete de 10 Tm., i/carga por medios manuales