FOMO (Objetos más rápidos, más objetos) es la nueva arquitectura de aprendizaje profundo que puede desbloquear nuevas aplicaciones de visión artificial sobre todo en procesadores con bajos recursos.
La mayoría de los modelos de aprendizaje profundo de detección de objetos tienen requisitos de memoria y computación que superan la capacidad de los procesadores pequeños. FOMO, por otro lado, solo requiere varios cientos de kilobytes de memoria, lo que lo hace muy facilmente utilizable con tinyML que permite el uso de modelos de ML en microprocesadores «pequeños» y sin necesidad de conexión a Internet.
TinyML se ha venido utilizando con gran éxito en aplicaciones de clasificación de imágenes detectando la presencia o no de un tipo de objeto en una imagen.
Sin embargo la detección de un objeto para su identificación de más de un objeto requiere, en muchos casos, también cuadros delimitadores lo que conlleva la necesidad de redes neuronales más complejas y pesadas computacionalmente.
Los primeros modelos de detección tenían que procesar varias veces la imagen de entrada para localizar objetos… lo que los hacía lentos, Sin embargo los modelos más recientes como YOLO (You Only Look Once) tan solo empleaban un «disparo único/single shot» para la detección casi en tiempo real … pero a costa de necesitar muchas memoria lo que los hace inservible en pequeños dispositivos (tipo RPi, por ejemplo).
Por otra parte los modelos obtenidos con YOLO son bastante malos para reconocer objetos de pequeño tamaño. Además necesitan de gran cantidad de ejemplos para su entrenamiento… del orden de 10.000 ejemplos por objeto.
Sin embargo la idea que hay detrás de FOMO es diferente ya que su objetivo no es encontrar los límites del objeto sino su centro de gravedad. De esa forma no se requieren tantos ejemplos para el entrenamiento de la red que, por otra parte, es más sencilla y con muchos menos nodos / neuronas eliminando, por ejemplo, las capas de nodos completamente interconectados.
FOMO es unas 30 veces más rápido que algoritmos de su competencia además de poder ejecutarse en procesadores con tan solo 200 KB de RAM siendo muy aconsejanble en aplicaciones donde la cámara está fija y los objetos a identificar pasan por delante de ella como por ejemplo en una cinta transportadora e incluso para contar los coches en un parking.
686