clasificación de imágenes en sistemas embebidos...

25
Clasificación de imágenes en sistemas embebidos usando redes neuronales Carrera de Especialización en Sistemas Embebidos Universidad de Buenos Aires Ing. Julio Gastón Coccé Director: Ing. Juan Manuel Cruz Codirector: Esp. Ing. Alejandro Celery Jurados: Esp. Ing. Patricio Bos Esp. Ing. Franco Bucafusco Esp. Ing. Nicolás Dassieu Blanchet

Upload: buikhuong

Post on 26-Sep-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Clasificación de imágenes en sistemas embebidos usando redes neuronales

Carrera de Especialización en Sistemas Embebidos

Universidad de Buenos Aires

Ing. Julio Gastón Coccé

Director: Ing. Juan Manuel Cruz

Codirector: Esp. Ing. Alejandro Celery

Jurados:Esp. Ing. Patricio BosEsp. Ing. Franco BucafuscoEsp. Ing. Nicolás Dassieu Blanchet

Agenda

• Motivación y objetivos

• Redes neuronales

• Sistema empleado

• Modelos utilizados

• Resultados

• Conclusión

• Demostración práctica

2

Motivación

Dispositivos que podrían fabricarse en Argentina

3

• Medicina

• Agroindustria

• Vehículos robóticos autónomos

Motivación

4

Detección de metafases

5

Motivación

¿Es posible prototipar una solución usando las placas existentes en el mercado?

ARM Cortex-A7 Quad-Core ARM Cortex-A53 Quad-Core

Objetivos

• Imágenes clasificables en dos categorías.

• Lograr un acierto mayor al 80%.

• Establecer criterios con respecto a la memoria RAM y el tiempo de clasificación.

• Determinar la factibilidad de aplicar en sistemas embebidos.

6

Redes Neuronales

7

Modelo de red neuronal

Cálculo para cada nodo de la red

8

Redes Neuronales Convolucionales

Capa convolucional

EntradaFiltrosSalida

3x32x326x3x5x56x28x28

Filtro

9

Redes Neuronales Convolucionales

Modelo general

Imagen Etiquetas

León

Sistema empleado

10

Entradas

Herramientas

Dependencias

Sistema Op.

Hardware

Modelos utilizados

11

Banco de imágenes generado

Modelos utilizados

12

Árboles fractales

Modelos utilizados

13

AlexNet

• Modelo que ganó el concurso ImageNet de 2012 con imágenes de gran resolución.

• 1.2 millones de imágenes de entrenamiento.

• Mil categorías de clasificación.

• Cerca del 85% de acierto en la predicción.

Alex Krizhevsky

Modelos utilizados

14

AlexNet

Resultados

15

Capa Elementos Memoria

Data 300x300 351 KB

Conv1 145x145x50 4107 KB

Sub1 73x73x50 1047 KB

Conv2 35x35x50 240 KB

Sub2 18x18x50 64 KB

Conv3 7x7x50 10 KB

Sub3 4x4x50 3 KB

V1 800 3 KB

V2 500 2 KB

Total 5,4 MB

Filtros Elementos Memoria

Conv1 50x11x11x1 24 KB

Conv2 50x5x5x50 244 KB

Conv3 50x5x5x50 244 KB

W1 800 x 500 1563 KB

W2 500 x 2 2 KB

Total 2 MB

Memoria modelo árboles

Parámetros

Resultados

16

Capa Tiempo Orange Pi

Tiempo Raspberry

Conv1 113,3 ms 87,0 ms

Sub1 39,0 ms 28,6 ms

Conv2 58,8 ms 43,8 ms

Sub2 2,0 ms 1,6 ms

Conv3 2,5 ms 2,0 ms

Sub3 0,23 ms 0,19 ms

Ip1 5,0 ms 2,5 ms

Ip2 0,1ms 0,1ms

Total 221 ms 166 ms

Tiempos del modelo árboles

Resultados

17

Modelo Categorías Acierto Tiempo Orange Pi

Tiempo Raspberry

Parámetros

Árboles 2 84% 220 ms 167 ms 2 MB

AlexNet 1000 85% 732 ms 549 ms 238 MB

Comparativa de modelos

Conclusiones

• Es posible prototipar una solución con placas de bajo costo.

• Se pueden lograr tiempos de clasificación aceptables con un acierto superior al 80%.

• Hay margen de mejora a partir de mejorar el modelo o aprovechar las instrucciones SIMD de los procesadores.

18

Demostración Práctica

19

Fin de la presentación

20

¡Muchas Gracias!

Filtros

21

Visualización de los filtros de la primera capa convolucional

Filtros

22

Filtros

23

Profundidad vs Exactitud

24

Gradient Descent

• Es un algoritmo de optimización iterativo para encontrar el mínimo de una función.

25