APRENDIZAJE PROFUNDO FRENTE A VISIÓN ARTIFICIAL TRADICIONAL Resumen. El aprendizaje profundo ha superado los límites de lo que era posible en el dominio del procesamiento de imágenes digitales. Sin embargo, eso no quiere decir que las técnicas tradicionales de visión por computadora, que habían experimentado un desarrollo progresivo en los años anteriores al surgimiento de la DL, se hayan vuelto obsoletas. Este documento analizará los beneficios y los inconvenientes de cada enfoque. El objetivo de este artículo es promover una discusión sobre si se debe mantener el conocimiento de las técnicas clásicas de visión por computadora. El documento también explorará cómo se pueden combinar los dos lados de la visión por computadora. Se revisan varias metodologías híbridas recientes que han demostrado la capacidad de mejorar el rendimiento de la visión por computadora y abordar problemas que no se adaptan al Deep Learning. Por ejemplo, la combinación de técnicas tradicionales de visión por computadora con Deep Learning ha sido popular en dominios emergentes como Visión panorámica y visión 3D para los cuales los modelos de Deep Learning aún no se han optimizado por completo. Keywords: Computer Vision, Deep Learning, Hybrid techniques 1. INTRODUCCIÓN El aprendizaje profundo (DL) se utiliza en el dominio del procesamiento de imágenes digitales para resolver problemas difíciles (por ejemplo, coloración, clasificación, segmentación y detección de imágenes). Los métodos de DL, como las redes neuronales convolucionales (CNN), mejoran principalmente el rendimiento de la predicción mediante el uso de macrodatos y abundantes recursos informáticos, y han superado los límites de lo que era posible. Los problemas que se suponía que no tenían solución se están resolviendo ahora con una precisión sobrehumana. La clasificación de imágenes es un excelente ejemplo de esto. Desde que fue reactivada por Krizhevsky, Sutskever y Hinton en 2012 [1], DL ha dominado el dominio desde entonces debido a un rendimiento sustancialmente mejor en comparación con los métodos tradicionales. ¿DL está haciendo obsoletas las técnicas tradicionales de visión por computadora (CV)? ¿DL ha reemplazado la visión por computadora tradicional? ¿Existe todavía la necesidad de estudiar las técnicas CV tradicionales cuando la DL parece ser tan eficaz? Todas estas son cuestiones que se han planteado en la comunidad en los últimos años [2] y que este artículo pretende abordar. Además, DL no va a resolver todos los problemas de CV. Hay algunos problemas en los que las técnicas tradicionales con características globales son una mejor solución. La llegada de DL puede abrir muchas puertas para hacer algo con técnicas tradicionales para superar los muchos desafíos que trae DL (por ejemplo, potencia de cómputo, tiempo, precisión, características y cantidad de entradas, entre otros). Este documento proporcionará una comparación del aprendizaje profundo con los enfoques más tradicionales de definición de características artesanales que dominaron CV antes. Ha habido tanto progreso en Deep Learning en los últimos años que es imposible que este artículo capture las muchas facetas y subdominios del Deep Learning que están abordando los problemas más pertinentes en CV en la actualidad. Este artículo revisará los enfoques algorítmicos tradicionales en CV, y más particularmente, las aplicaciones en las que se han utilizado como un sustituto adecuado de la DL, para complementar la DL y para abordar problemas que la DL no puede Luego, el artículo pasará a revisar algunas de las actividades recientes en la combinación de DL con CV, con un enfoque en las técnicas de vanguardia para la tecnología emergente, como la percepción 3D, a saber, el registro de objetos, la detección de objetos y la segmentación semántica de Nubes de puntos 3D. Finalmente, se discuten los desarrollos y las posibles direcciones para lograr que el rendimiento de 3D DL a las mismas alturas que 2D DL se discutan junto con una perspectiva sobre el impacto que el aumento del uso de 3D tendrá en CV en general. 2. UNA COMPARACIÓN DEL APRENDIZAJE PROFUNDO Y LA VISIÓN POR COMPUTADORA TRADICIONAL 2.1 ¿QUÉ ES EL APRENDIZAJE PROFUNDO? Para obtener una comprensión fundamental de la LD, debemos considerar la diferencia entre el análisis descriptivo y el análisis predictivo. El análisis descriptivo implica definir un modelo matemático comprensible que describa el fenómeno que deseamos observar. Esto implica recopilar datos sobre un proceso, formular hipótesis sobre patrones en los datos y validar estas hipótesis mediante la comparación del resultado de los modelos descriptivos que formamos con el resultado real [3]. Sin embargo, producir tales modelos es precario porque siempre existe el riesgo de variables no modeladas que los científicos e ingenieros descuidan incluir debido a la ignorancia o la falta de comprensión de algunos fenómenos complejos, ocultos o no intuitivos [4]. El análisis predictivo implica el descubrimiento de reglas que subyacen a un fenómeno y forman un modelo predictivo que minimiza el error entre el resultado real y el predicho considerando todos los posibles factores de interferencia [3]. El aprendizaje automático rechaza el paradigma de programación tradicional en el que el análisis de problemas se reemplaza por un marco de entrenamiento en el que el sistema recibe una gran cantidad de patrones de entrenamiento (conjuntos de entradas para las que se conocen los resultados deseados) que aprende y utiliza para calcular nuevos patrones [5 ]. DL es un subconjunto del aprendizaje automático. DL se basa principalmente en redes neuronales artificiales (ANN), un paradigma informático inspirado en el funcionamiento del cerebro humano. Al igual que el cerebro humano, está compuesto por muchas células informáticas o "neuronas", cada una de las cuales realiza una operación simple e interactúa entre sí para tomar una decisión [6]. Deep Learning tiene que ver con el aprendizaje o la "asignación de créditos" a través de muchas capas de una red neuronal de manera precisa, eficiente y sin supervisión, y es de interés reciente debido a los avances en el procesamiento de hardware [7]. Se ha demostrado que la autoorganización y la explotación de interacciones entre unidades pequeñas funcionan mejor que el control central, especialmente para modelos de procesos complejos no lineales, ya que se puede lograr una mejor tolerancia a fallos y adaptabilidad a nuevos datos [7]. 2.2 VENTAJAS DEL APRENDIZAJE PROFUNDO Las rápidas progresiones en DL y las mejoras en las capacidades de los dispositivos, incluida la potencia informática, la capacidad de memoria, el consumo de energía, la resolución del sensor de imagen y la óptica, han mejorado el rendimiento y la rentabilidad de acelerar aún más la difusión de las aplicaciones basadas en la visión. En comparación con las técnicas tradicionales de CV, DL permite a los ingenieros de CV lograr una mayor precisión en tareas como clasificación de imágenes, segmentación semántica, detección de objetos y localización y mapeo simultáneo (SLAM). Dado que las redes neuronales que se utilizan en DL están entrenadas en lugar de programadas, las aplicaciones que utilizan este enfoque a menudo requieren un análisis menos experto y un ajuste fino y explotan la enorme cantidad de datos de video disponibles en los sistemas actuales. DL también proporciona una flexibilidad superior porque los modelos y marcos de CNN se pueden volver a entrenar utilizando un conjunto de datos personalizado para cualquier caso de uso, a diferencia de los algoritmos CV, que tienden a ser más específicos del dominio. Tomando como ejemplo el problema de la detección de objetos en un robot móvil, podemos comparar los dos tipos de algoritmos para la visión por computadora: El enfoque tradicional es utilizar técnicas de CV bien establecidas, como descriptores de características (SIFT, SURF, BRIEF, etc.) para la detección de objetos. Antes de la aparición de DL, se llevó a cabo un paso llamado extracción de características para tareas como la clasificación de imágenes. Las características son pequeños parches "interesantes", descriptivos o informativos en imágenes. En este paso pueden intervenir varios algoritmos de CV, como la detección de bordes, la detección de esquinas o la segmentación de umbrales. Se extraen tantas características como sea posible de las imágenes y estas características forman una definición (conocida como bolsa de palabras) de cada clase de objeto. En la etapa de implementación, estas definiciones se buscan en otras imágenes. Si una cantidad significativa de características de una bolsa de palabras están en otra imagen, la imagen se clasifica como que contiene ese objeto específico (es decir, silla, caballo, etc.). La dificultad de este enfoque tradicional es que es necesario elegir qué características son importantes en cada imagen dada. A medida que aumenta el número de clases para clasificar, la extracción de características se vuelve cada vez más engorrosa. Depende del juicio del ingeniero de CV y de un largo proceso de prueba y error decidir qué características describen mejor las diferentes clases de objetos. Además, cada definición de característica requiere lidiar con una plétora de parámetros, todos los cuales deben ser ajustados por el ingeniero de CV. DL introdujo el concepto de aprendizaje de extremo a extremo en el que a la máquina se le proporciona un conjunto de datos de imágenes que se han anotado con las clases de objetos que están presentes en cada imagen [7]. Por lo tanto, un modelo DL se "entrena" con los datos dados, donde las redes neuronales descubren los patrones subyacentes en clases de imágenes y automáticamente resuelve las características más descriptivas y destacadas con respecto a cada clase específica de objeto para cada objeto. Está bien establecido que los DNN funcionan mucho mejor que los algoritmos tradicionales, aunque con compensaciones con respecto a los requisitos informáticos y el tiempo de capacitación. Con todos los enfoques de vanguardia en CV que emplean esta metodología, el flujo de trabajo del ingeniero de CV ha cambiado drásticamente, donde el conocimiento y la experiencia en la extracción de características hechas a mano han sido reemplazados por conocimientos y experiencia en iterar a través de arquitecturas de aprendizaje profundo. como se muestra en la Fig.1. El desarrollo de las CNN ha tenido una tremenda influencia en el campo de la CV en los últimos años y es responsable de un gran salto en la capacidad de reconocer objetos [9]. Esta ráfaga en progreso ha sido posible gracias a un aumento en la potencia informática, así como a un aumento en la cantidad de datos disponibles para entrenar redes neuronales. La reciente explosión y la adopción generalizada de varias arquitecturas de redes neuronales profundas para CV es evidente en el hecho de que el artículo fundamental Clasificación de ImageNet con redes neuronales convolucionales profundas ha sido citado más de 3000 veces [2]. Las CNN utilizan núcleos (también conocidos como filtros) para detectar características (por ejemplo, bordes) en una imagen. Un kernel es solo una matriz de valores, llamados pesos, que están entrenados para detectar características específicas. Como su nombre lo indica, la idea principal detrás de las CNN es convolucionar espacialmente el kernel en una imagen de entrada determinada para verificar si la característica que debe detectar está presente. Para proporcionar un valor que represente qué tan seguro es que una característica específica está presente, se lleva a cabo una operación de convolución calculando el producto escalar del kernel y el área de entrada donde se superpone el kernel (el área de la imagen original que el kernel está mirando se conoce como el campo receptivo [10]). Para facilitar el aprendizaje de los pesos del núcleo, la salida de la capa de convolución se suma con un término de sesgo y luego se alimenta a una función de activación no lineal. Las funciones de activación suelen ser funciones no lineales como Sigmoid, TanH y ReLU (unidad lineal rectificada). Según la naturaleza de los datos y las tareas de clasificación, estas funciones de activación se seleccionan en consecuencia [11]. Por ejemplo, se sabe que las ReLU tienen una representación más biológica (las neuronas en el cerebro se activan o no). Como resultado, produce resultados favorables para las tareas de reconocimiento de imágenes, ya que es menos susceptible al problema del gradiente de desaparición y produce representaciones más dispersas y eficientes [7]. Para acelerar el proceso de entrenamiento y reducir la cantidad de memoria consumida por la red, la capa convolucional suele ir seguida de una capa de agrupación para eliminar la redundancia presente en la función de entrada. Por ejemplo, la agrupación máxima mueve una ventana sobre la entrada y simplemente genera el valor máximo en esa ventana reduciendo efectivamente los píxeles importantes en una imagen [7]. Como se muestra en la Fig. 2, las CNN profundas pueden tener varios pares de capas convolucionales y agrupadas. Finalmente, una capa completamente conectada aplana el volumen de la capa anterior en un vector de características y luego una capa de salida que calcula las puntuaciones (confianza o probabilidades) para las clases / características de salida a través de una red densa. Esta salida luego se pasa a una función de regresión como Softmax [12], por ejemplo, que mapea todo en un vector cuyos elementos suman uno [7]. Pero DL sigue siendo solo una herramienta de CV. Por ejemplo, la red neuronal más utilizada en CV es la CNN. Pero, ¿qué es una convolución? De hecho, es una técnica de procesamiento de imágenes ampliamente utilizada (por ejemplo, consulte Detección de bordes de Sobel). Las ventajas de la DL son claras y estaría más allá del alcance de este documento revisar el estado de la técnica. Ciertamente, DL tampoco es la panacea para todos los problemas, como veremos en las siguientes secciones de este documento, existen problemas y aplicaciones donde los algoritmos CV más convencionales son más adecuados. 2.3 VENTAJAS DE LAS TÉCNICAS TRADICIONALES DE VISIÓN POR COMPUTADORA Esta sección detallará cómo se ha demostrado que los enfoques tradicionales basados en funciones, como los que se enumeran a continuación, son útiles para mejorar el rendimiento en las tareas de CV: • • • • • Transformación de características invariantes de escala (SIFT) [14] Funciones robustas aceleradas (SURF) [15] Funciones de la prueba de segmento acelerada (FAST) [16] Hough transforma [17] Hash geométrico [18] Los descriptores de características como SIFT y SURF generalmente se combinan con algoritmos tradicionales de clasificación de aprendizaje automático como Support Vector Machines y KNearest Neighbors para resolver los problemas de CV antes mencionados. DL es a veces excesivo ya que a menudo las técnicas tradicionales de CV pueden resolver un problema de manera mucho más eficiente y en menos líneas de código que DL. Los algoritmos como SIFT e incluso los algoritmos simples de recuento de píxeles y umbrales de color no son específicos de una clase, es decir, son muy generales y funcionan de la misma manera para cualquier imagen. Por el contrario, las características aprendidas de una red neuronal profunda son específicas de su conjunto de datos de entrenamiento que, si no está bien construido, probablemente no funcionará bien para imágenes diferentes del conjunto de entrenamiento. Por lo tanto, SIFT y otros algoritmos se utilizan a menudo para aplicaciones como costura de imágenes / reconstrucción de malla 3D que no requieren conocimientos de clase específicos. Se ha demostrado que estas tareas se pueden lograr mediante el entrenamiento de grandes conjuntos de datos, sin embargo, esto requiere un gran esfuerzo de investigación y no es práctico realizar este esfuerzo para una aplicación cerrada. Es necesario practicar el sentido común a la hora de elegir qué ruta tomar para una solicitud de CV determinada. Por ejemplo, para clasificar dos clases de productos en una cinta transportadora de línea de montaje, una con pintura roja y otra con pintura azul. Una red neuronal profunda funcionará dado que se pueden recopilar suficientes datos para entrenar. Sin embargo, se puede lograr lo mismo mediante el uso de un umbral de color simple. Algunos problemas se pueden abordar con técnicas más sencillas y rápidas. ¿Qué pasa si un DNN tiene un rendimiento deficiente fuera de los datos de entrenamiento? Si el conjunto de datos de entrenamiento es limitado, entonces la máquina puede sobreajustarse a los datos de entrenamiento y no ser capaz de generalizar para la tarea en cuestión. Sería demasiado difícil ajustar manualmente los parámetros del modelo porque un DNN tiene millones de parámetros dentro de él, cada uno con complejas interrelaciones. De esta forma, los modelos DL han sido criticados por ser una caja negra de esta forma [5]. El CV tradicional tiene total transparencia y uno puede juzgar si su solución funcionará fuera de un entorno de formación. El ingeniero de CV puede tener información sobre un problema que puede transferir a su algoritmo y, si algo falla, los parámetros se pueden ajustar para que funcionen bien para una gama más amplia de imágenes. Hoy en día, las técnicas tradicionales se utilizan cuando el problema se puede simplificar para que se puedan implementar en microcontroladores de bajo costo o para limitar el problema de las técnicas de aprendizaje profundo al resaltar ciertas características en los datos, aumentar los datos [19] o ayudar en la anotación del conjunto de datos [ 20]. Más adelante en este artículo analizaremos cuántas técnicas de transformación de imágenes se pueden utilizar para mejorar el entrenamiento de su red neuronal. Finalmente, hay muchos problemas más desafiantes en CV como: robótica [21], realidad aumentada [22], unión automática de panorámicas [23], realidad virtual [24], modelado 3D [24], estimación de movimiento [24], video estabilización [21], captura de movimiento [24], procesamiento de video [21] y comprensión de escenas [25] que no pueden implementarse fácilmente de manera diferenciable con aprendizaje profundo, pero se benefician de soluciones que utilizan técnicas "tradicionales". 3. DESAFÍOS PARA LA VISIÓN ARTIFICIAL TRADICIONAL 3.1 MEZCLA DE ENFOQUES HECHOS A MANO CON DL PARA UN MEJOR RENDIMIENTO Existen claras compensaciones entre el CV tradicional y los enfoques basados en el aprendizaje profundo. Los algoritmos CV clásicos están bien establecidos, son transparentes y optimizados para el rendimiento y la eficiencia energética, mientras que DL ofrece una mayor precisión y versatilidad a costa de grandes cantidades de recursos informáticos. Los enfoques híbridos combinan el CV tradicional y el aprendizaje profundo y ofrecen las ventajas de ambas metodologías. Son especialmente prácticos en sistemas de alto rendimiento que deben implementarse rápidamente. Por ejemplo, en una cámara de seguridad, un algoritmo CV puede detectar eficazmente rostros u otras características [26] u objetos en movimiento [27] en la escena. Estas detecciones luego se pueden pasar a un DNN para verificación de identidad o clasificación de objetos. El DNN solo necesita aplicarse en un pequeño parche de la imagen, lo que ahorra importantes recursos informáticos y esfuerzo de capacitación en comparación con lo que se requeriría para procesar todo el cuadro. La fusión de métricas de Machine Learning y Deep Network se ha vuelto muy popular, por el simple hecho de que puede generar mejores modelos. Las implementaciones de procesamiento de visión híbrida pueden introducir ventajas en el rendimiento y "pueden ofrecer una reducción de 130X-1,000X en operaciones de acumulación múltiple y una mejora de aproximadamente 10X en las velocidades de fotogramas en comparación con una solución DL pura. Además, la implementación híbrida utiliza aproximadamente la mitad del ancho de banda de la memoria y requiere recursos de CPU significativamente menores ”[28]. 3.2 SUPERAR LOS DESAFÍOS DEL APRENDIZAJE PROFUNDO También hay desafíos introducidos por DL. Los últimos enfoques de DL pueden lograr una precisión sustancialmente mejor; sin embargo, este salto tiene el costo de miles de millones de operaciones matemáticas adicionales y un mayor requisito de potencia de procesamiento. DL requiere estos recursos informáticos para la formación y, en menor medida, para la inferencia. Es esencial tener hardware dedicado (por ejemplo, GPU de alta potencia [29] y TPU [30] para entrenamiento y plataformas aceleradas por IA como VPU para inferencia [31]) para desarrolladores de IA. Los resultados del procesamiento de la visión con DL también dependen de la resolución de la imagen. Lograr un rendimiento adecuado en la clasificación de objetos, por ejemplo, requiere imágenes o videos de alta resolución, con el consiguiente aumento en la cantidad de datos que deben procesarse, almacenarse y transferirse. La resolución de la imagen es especialmente importante para aplicaciones en las que es necesario detectar y clasificar objetos a distancia, p. Ej. en imágenes de cámaras de seguridad. Las técnicas de reducción de fotogramas discutidas anteriormente, como el uso de funciones SIFT [26, 32] o el flujo óptico para objetos en movimiento [27] para identificar primero una región de interés, son útiles con respecto a la resolución de la imagen y también con respecto a la reducción del tiempo y los datos requeridos. para entrenamiento. DL necesita big data. A menudo se requieren millones de registros de datos. Por ejemplo, PASCAL VOC Dataset consta de 500K imágenes con 20 categorías de objetos [26] [33], ImageNet consta de 1,5 millones de imágenes con 1000 categorías de objetos [34] y Microsoft Common Objects in Context (COCO) consta de 2,5 millones de imágenes con 91 categorías de objetos [35]. Cuando no se dispone de grandes conjuntos de datos o instalaciones de alta computación, entran en juego los métodos tradicionales. Entrenar a un DNN lleva mucho tiempo. Dependiendo de la disponibilidad del hardware informático, la capacitación puede llevar horas o días. Además, el entrenamiento para cualquier aplicación dada a menudo requiere muchas iteraciones, ya que implica prueba y error con diferentes parámetros de entrenamiento. La técnica más común para reducir el tiempo de formación es el aprendizaje por transferencia [36]. Con respecto al CV tradicional, la transformada discreta de Fourier es otra técnica de CV que alguna vez experimentó una gran popularidad, pero que ahora parece poco conocida. El algoritmo se puede utilizar para acelerar las convoluciones como lo demuestra [37, 38] y, por lo tanto, puede volver a ser de gran importancia. Sin embargo, hay que decir que las tareas más sencillas y específicas del dominio que la clasificación general de imágenes no requerirán tantos datos (del orden de cientos o miles en lugar de millones). Esta sigue siendo una cantidad considerable de datos y las técnicas de CV se utilizan a menudo para impulsar los datos de entrenamiento a través del aumento de datos o reducir los datos a un tipo particular de característica a través de otros pasos de preprocesamiento. El preprocesamiento implica transformar los datos (generalmente con técnicas tradicionales de CV) para permitir que las relaciones / patrones se interpreten más fácilmente antes de entrenar su modelo. El aumento de datos es una tarea común de preprocesamiento que se utiliza cuando hay datos de entrenamiento limitados. Puede implicar realizar rotaciones aleatorias, cambios, cizallas, etc. en las imágenes de su conjunto de entrenamiento para aumentar de manera efectiva el número de imágenes de entrenamiento [19]. Otro enfoque es resaltar las características de interés antes de pasar los datos a una CNN con métodos basados en CV, como la sustracción de fondo y la segmentación [39]. 3.3 APROVECHAR AL MÁXIMO LA INFORMÁTICA PERIMETRAL Si los algoritmos y las inferencias de redes neuronales se pueden ejecutar en el borde, la latencia, los costos, los requisitos de procesamiento y almacenamiento en la nube y los requisitos de ancho de banda se reducen en comparación con las implementaciones basadas en la nube. La informática de borde también puede cumplir con los requisitos de privacidad y seguridad al evitar la transmisión de datos sensibles o identificables a través de la red. Los enfoques híbridos o compuestos que involucran CV y DL convencionales aprovechan en gran medida las capacidades de computación heterogéneas disponibles en el borde. Una arquitectura de cómputo heterogénea consta de una combinación de CPU, coprocesadores de microcontroladores, procesadores de señales digitales (DSP), matrices de puertas programables de campo (FPGA) y dispositivos de aceleración de IA [31] y puede ser energéticamente eficiente al asignar diferentes cargas de trabajo al motor de cómputo más eficiente. Las implementaciones de prueba muestran reducciones de latencia 10x en la detección de objetos cuando se ejecutan inferencias de DL en un DSP frente a una CPU [28]. Varios híbridos de aprendizaje profundo y enfoques basados en características hechas a mano han demostrado sus beneficios en aplicaciones de borde. Por ejemplo, para el reconocimiento de expresiones faciales, [41] proponen una nueva pérdida de características para incrustar la información de las características hechas a mano en el proceso de entrenamiento de la red, que intenta reducir la diferencia entre las características hechas a mano y las características aprendidas por los profundos. red neuronal. También se ha demostrado que el uso de enfoques híbridos es ventajoso para incorporar datos de otros sensores en los nodos de borde. Un modelo híbrido de este tipo en el que el aprendizaje profundo es asistido por fuentes de sensores adicionales como imágenes de radar de apertura sintética (SAR) y elevación como imágenes de radar de apertura sintética (SAR) y elevación se presenta en [40]. En el contexto de la visión de robot 3D, [42] han demostrado que la combinación de métodos subespaciales lineales y predicción convolucional profunda logra un rendimiento mejorado junto con un rendimiento en tiempo de ejecución varios órdenes de magnitud más rápido en comparación con el estado de la técnica. 3.4 PROBLEMAS NO ADECUADOS PARA EL APRENDIZAJE PROFUNDO Hay muchos más problemas cambiantes en CV, tales como: robótica, realidad aumentada, unión automática de panoramas, realidad virtual, modelado 3D, estabilización de movimiento, estabilización de video, captura de movimiento, procesamiento de video y comprensión de escenas que no se pueden implementar fácilmente de una manera diferenciable. con aprendizaje profundo, pero deben resolverse utilizando las otras técnicas "tradicionales". DL sobresale en la resolución de problemas de clasificación cerrados, en los que se debe mapear una amplia gama de señales potenciales en un número limitado de categorías, dado que hay suficientes datos disponibles y el conjunto de prueba se parece mucho al conjunto de entrenamiento. Sin embargo, las desviaciones de estos supuestos pueden causar problemas y es fundamental reconocer los problemas en los que DL no es bueno. Marcus y col. presentan diez preocupaciones sobre el aprendizaje profundo y sugieren que el aprendizaje profundo debe complementarse con otras técnicas si queremos alcanzar la inteligencia artificial general [43]. Además de discutir las limitaciones del procedimiento de entrenamiento y los requisitos intensos de computación y datos como lo hacemos en nuestro artículo, la clave para su discusión es identificar problemas en los que la DL se desempeña mal y donde se puede complementar con otras técnicas. Uno de esos problemas es la capacidad limitada de los algoritmos de DL para aprender relaciones visuales, es decir, identificar si varios objetos en una imagen son iguales o diferentes. Esta limitación ha sido demostrada por [43] quienes argumentan que los mecanismos de retroalimentación que incluyen la atención y el agrupamiento perceptivo pueden ser los componentes computacionales clave para realizar el razonamiento visual abstracto. También vale la pena señalar que los modelos ML tienen dificultades para lidiar con los antecedentes, es decir, no todo se puede aprender de los datos, por lo que se deben inyectar algunos antecedentes en los modelos [44], [45]. Las soluciones que tienen que ver con CV 3D necesitan antecedentes sólidos para funcionar bien, p. Ej. El modelado 3D basado en imágenes requiere información sobre suavidad, silueta e iluminación [46]. A continuación, se muestran algunos campos emergentes en CV donde DL se enfrenta a nuevos desafíos y donde el CV clásico tendrá un papel más destacado. 3.5 VISIÓN 3D Los sistemas de visión 3D son cada vez más accesibles y, como tal, ha habido muchos avances en el diseño de redes neuronales convolucionales 3D (CNN 3D). Este campo emergente se conoce como Aprendizaje Profundo Geométrico y tiene múltiples aplicaciones como clasificación de video, gráficos por computadora, visión y robótica. Este documento se centrará en 3DCNN para procesar datos de 3D Vision Systems. Donde las capas convolucionales 2D el núcleo tiene la misma profundidad para generar una matriz 2D, la profundidad de un núcleo convolucional 3D debe ser menor que la del volumen de entrada 3D para que la salida de la convolución también sea 3D y así preservar el espacio. información. El tamaño de la entrada es mucho mayor en términos de memoria que las imágenes RGB convencionales y el núcleo también debe convolucionarse a través del espacio de entrada en 3 dimensiones (ver Fig. 3). Como resultado, la complejidad computacional de las CNN 3D crece cúbicamente con la resolución. En comparación con el procesamiento de imágenes en 2D, el CV en 3D se hace aún más difícil ya que la dimensión adicional introduce más incertidumbres, como oclusiones y diferentes ángulos de cámara, como se muestra en la Fig.4. Los métodos basados en FFT pueden optimizar las CNN 3D y reducir la cantidad de cálculo, sin embargo, a costa de mayores requisitos de memoria. Investigaciones recientes han visto cómo la implementación del algoritmo de filtrado mínimo de Winograd (WMFA) logra una aceleración doble en comparación con cuDNN (lenguaje / API de NVIDIA para programar en sus tarjetas gráficas) sin aumentar la memoria requerida [49]. La siguiente sección incluirá algunas soluciones con arquitecturas novedosas y pasos de preprocesamiento para diversas representaciones de datos 3D que se han propuesto para superar estos desafíos. El aprendizaje profundo geométrico (GDL) se ocupa de la extensión de las técnicas de DL a datos 3D. Los datos 3D se pueden representar en una variedad de formas diferentes que se pueden clasificar como euclidianas o no euclidianas [50]. Los datos estructurados euclidianos 3D tienen una estructura de cuadrícula subyacente que permite una parametrización global y tienen un sistema común de coordenadas como en Imágenes 2D. Esto permite que los paradigmas 2D DL existentes y 2DCNN se puedan aplicar a datos 3D. Los datos euclidianos 3D son más adecuados para analizar objetos rígidos simples como sillas, aviones, etc. con enfoques basados en vóxeles [51]. Por otro lado, los datos 3D no euclidianos no tienen la estructura de matriz cuadriculada donde no hay parametrización global. Por lo tanto, extender las técnicas clásicas de DL a tales representaciones es una tarea desafiante y solo recientemente se ha realizado con arquitecturas como Pointnet [52]. La información de forma continua que es útil para el reconocimiento a menudo se pierde en su conversión a una representación de vóxel. Con respecto a los algoritmos CV tradicionales, [53] proponen una característica unidimensional que se puede aplicar a las CNN de vóxeles. Se propuso una nueva característica invariante de rotación basada en la curvatura media que mejora el reconocimiento de formas para las CNN de vóxeles. El método fue muy exitoso, ya que cuando se aplicó a la arquitectura reciente de vóxeles CNN Octnet de última generación, se logró un aumento de precisión general del 1% en el conjunto de datos ModelNet10. 3.6 SLAM Visual SLAM es un subconjunto de SLAM donde se utiliza un sistema de visión en lugar de LiDAR para el registro de puntos de referencia en una escena. Visual SLAM tiene las ventajas de la fotogrametría (datos visuales ricos, bajo costo, peso ligero y bajo consumo de energía) sin la pesada carga de trabajo computacional asociada que implica el posprocesamiento. El problema del SLAM visual consiste en pasos como la detección del entorno, la correspondencia de datos, la estimación del movimiento, así como la actualización de la ubicación y el registro de nuevos puntos de referencia [54]. La construcción de un modelo de cómo aparecen los objetos visuales en diferentes condiciones, como la rotación 3D, el escalado, la iluminación y la extensión de esa representación utilizando una forma sólida de aprendizaje de transferencia para lograr el aprendizaje de cero o una sola vez, es un problema desafiante en este dominio. Los métodos de extracción de características y representación de datos pueden ser útiles para reducir la cantidad de ejemplos de entrenamiento necesarios para un modelo ML [55]. Un enfoque de dos pasos se usa comúnmente en la localización basada en imágenes; reconocimiento de lugar seguido de estimación de pose. El primero calcula un descriptor global para cada una de las imágenes agregando descriptores de imágenes locales, p. SIFT, utilizando el enfoque de bolsa de palabras. Cada descriptor global se almacena en la base de datos junto con la pose de cámara de su imagen asociada con respecto al mapa de referencia de nube de puntos 3D. Se extraen descriptores globales similares de la imagen de la consulta y el descriptor global más cercano en la base de datos se puede recuperar mediante una búsqueda eficiente. La pose de cámara del descriptor global más cercano nos daría una localización aproximada de la imagen de la consulta con respecto al mapa de referencia. En la estimación de pose, la pose exacta de la imagen de la consulta se calcula con mayor precisión con algoritmos como Perspective-n-Point (PnP) [13] y algoritmos de verificación geométrica [18]. [56] El éxito del reconocimiento de lugares basado en imágenes se atribuye en gran medida a la capacidad de extraer descriptores de características de la imagen. Desafortunadamente, no existe un algoritmo para extraer características locales similares a SIFT para escaneos LiDAR. Una escena 3D se compone de puntos 3D e imágenes de base de datos. Un enfoque ha asociado cada punto 3D a un conjunto de descriptores SIFT correspondientes a las características de la imagen a partir de las cuales se trianguló el punto. Luego, estos descriptores se pueden promediar en un solo descriptor SIFT que describe la apariencia de ese punto [57]. Otro enfoque construye características multimodales a partir de datos RGB-D en lugar del procesamiento en profundidad. Para la parte de procesamiento en profundidad, adoptan el conocido método de coloración basado en normales de superficie, ya que se ha demostrado que es eficaz y robusto en todas las tareas [58]. Otro enfoque alternativo que utiliza técnicas CV tradicionales presenta Force Histogram Decomposition (FHD), un descriptor jerárquico basado en gráficos que permite caracterizar las relaciones espaciales y la información de forma entre las subpartes estructurales por pares de los objetos. Una ventaja de este procedimiento de aprendizaje es su compatibilidad con los marcos tradicionales de bolsas de características, lo que permite representaciones híbridas que reúnen características estructurales y locales [59]. 3.7 360 CÁMARAS Una cámara 360, también conocida como cámara omnidireccional o esférica o panorámica es una cámara con un campo de visión de 360 grados en el plano horizontal, o con un campo visual que cubre (aproximadamente) toda la esfera. Las cámaras omnidireccionales son importantes en aplicaciones como la robótica donde se necesita una gran cobertura de campo visual. Una cámara 360 puede reemplazar múltiples cámaras monoculares y eliminar los puntos ciegos que obviamente son ventajosos en vehículos terrestres no tripulados (UGV) omnidireccionales y vehículos aéreos no tripulados (UAV). Gracias a la característica de imagen de las cámaras esféricas, cada imagen captura el panorama de 360◦ de la escena, eliminando la limitación en las opciones de dirección disponibles. Uno de los principales desafíos con las imágenes esféricas es la gran distorsión del barril debido a la lente de ojo de pez ultra gran angular, que complica la implementación de métodos convencionales inspirados en la visión humana, como la detección de carriles y el seguimiento de trayectorias. A menudo se requieren pasos adicionales de procesamiento previo, como la calibración previa y la desparasitación. Un enfoque alternativo que ha sido presentado por [60], que elude estos pasos de preprocesamiento al formular la navegación como un problema de clasificación para encontrar la orientación de la ruta potencial óptima directamente basada en las imágenes esféricas sin calibrar y sin procesar. La costura panorámica es otro problema de investigación abierto en esta área. Una metodología de costura en tiempo real [61] utiliza un grupo de mallas deformables y la imagen final y combina las entradas utilizando un robusto sombreador de píxeles. Otro enfoque [62], combina la precisión proporcionada por el razonamiento geométrico (líneas y puntos de fuga) con el mayor nivel de abstracción de datos y reconocimiento de patrones logrado por las técnicas DL (mapas de bordes y normales) para extraer hipótesis estructurales y de diseño para escenas interiores. En escenas escasamente estructuradas, los métodos de alineación de imágenes basados en características a menudo fallan debido a la escasez de características de imagen distintas. En su lugar, se pueden aplicar métodos de alineación de imagen directa, como los basados en la correlación de fase. [23] han investigado las técnicas de alineación de imágenes basadas en correlación basadas en filtros de correlación discriminativa (DCF) y muestran que los métodos basados en DCF propuestos superan los enfoques basados en correlación de fase en estos conjuntos de datos. 3.8 ANOTACIÓN Y AUMENTO DE CONJUNTOS DE DATOS Hay argumentos en contra de la combinación de CV y DL y se resumen en la conclusión de que necesitamos reevaluar nuestros métodos desde los basados en reglas hasta los basados en datos. Tradicionalmente, desde la perspectiva del procesamiento de señales, conocemos las connotaciones operativas de los algoritmos CV como los métodos SIFT y SURF, pero DL no lleva ese significado a ninguna parte, todo lo que necesita son más datos. Esto puede verse como un gran paso adelante, pero también puede ser un retroceso. Algunos de los pros y los contras de cada lado de este debate ya se han discutido en este documento; sin embargo, si los métodos futuros deben basarse exclusivamente en datos, entonces se debe centrar la atención en métodos más inteligentes para la creación de conjuntos de datos. El problema fundamental de la investigación actual es que ya no hay datos suficientes para algoritmos avanzados o modelos para aplicaciones especiales. La combinación de conjuntos de datos personalizados y modelos DL será el tema futuro de muchos artículos de investigación. Los resultados de muchos investigadores consisten no solo en algoritmos o arquitecturas, sino también en conjuntos de datos o métodos para acumular datos. La anotación del conjunto de datos es un cuello de botella importante en el flujo de trabajo de DL que requiere muchas horas de etiquetado manual. En ninguna parte esto es más problemático que en las aplicaciones de segmentación semántica donde cada píxel debe anotarse con precisión. Hay muchas herramientas útiles disponibles para semiautomatizar el proceso según lo revisado por [20], muchas de las cuales aprovechan enfoques algorítmicos como las características ORB [55], la transformación de polígonos [63], el área de interés semiautomática (AOI) montaje [55] y todo lo anterior [63]. El método más fácil y común para superar los conjuntos de datos limitados y reducir el sobreajuste de los modelos de aprendizaje profundo para la clasificación de imágenes es ampliar artificialmente el conjunto de datos mediante transformaciones que preservan la etiqueta. Este proceso se conoce como aumento de conjunto de datos e implica la generación artificial de datos de entrenamiento adicionales a partir de los disponibles, por ejemplo, recortando, escalando o rotando imágenes [64]. Es deseable que los procedimientos de aumento de datos requieran muy pocos cálculos y se puedan implementar dentro de la línea de entrenamiento de DL para que las imágenes transformadas no necesiten ser almacenadas en el disco. Los enfoques algorítmicos tradicionales que se han empleado para el aumento de conjuntos de datos incluyen el análisis de componentes principales (PCA) [1], la adición de ruido, la interpolación o extrapolación entre muestras en un espacio de características [65] y el modelado del contexto visual que rodea a los objetos a partir de anotaciones de segmentación [66]. CONCLUSIÓN Muchas de las técnicas de CV inventadas en los últimos 20 años se han vuelto irrelevantes en los últimos años debido a la DL. Sin embargo, el conocimiento nunca queda obsoleto y siempre hay algo que vale la pena aprender de cada generación de innovación. Ese conocimiento puede brindarle más intuiciones y herramientas para usar, especialmente cuando desee lidiar con problemas de CV en 3D, por ejemplo. Conocer solo DL para CV limitará drásticamente el tipo de soluciones en el arsenal de un ingeniero de CV. En este artículo hemos expuesto muchos argumentos sobre por qué las técnicas tradicionales de CV siguen siendo muy útiles incluso en la era de la DL. Hemos comparado y contrastado CV y DL tradicionales para aplicaciones típicas y discutimos cómo a veces CV tradicional puede considerarse como una alternativa en situaciones en las que DL es excesivo para una tarea específica. El documento también destacó algunas áreas en las que las técnicas tradicionales de CV siguen siendo relevantes, como su utilización en enfoques híbridos para mejorar el rendimiento. Las innovaciones de DL están impulsando avances emocionantes para IoT (Internet of Things), así como técnicas híbridas que combinan las tecnologías con algoritmos tradicionales. Además, revisamos cómo las técnicas tradicionales de CV pueden realmente mejorar el rendimiento de la DL en una amplia gama de aplicaciones, desde la reducción del tiempo de formación, el procesamiento y los requisitos de datos hasta su aplicación en campos emergentes como SLAM, puntadas panorámicas, aprendizaje profundo geométrico y visión 3D donde la DL no existe. pero bien establecido. El dominio del procesamiento de imágenes digitales ha experimentado algunos cambios muy dramáticos recientemente y en un período muy corto. Tanto es así que nos ha llevado a cuestionarnos si las técnicas de CV que estaban de moda antes de la explosión de la IA siguen siendo relevantes. Es de esperar que este documento destaque algunos casos en los que las técnicas tradicionales de CV son útiles y que todavía hay algo que ganar con los años de esfuerzo dedicados a su desarrollo, incluso en la era de la inteligencia basada en datos.
© Copyright 2024