Tengo muchas ganas de inscribirme en una maestría en procesamiento de señales e imágenes, o tal vez Computer Vision (aún no lo he decidido), y surgió esta pregunta.
Mi preocupación es que, dado que el aprendizaje profundo no necesita extracción de características y casi no requiere preprocesamiento de entrada, ¿está matando el procesamiento de imágenes (o el procesamiento de señales en general)?
No soy un experto en aprendizaje profundo, pero parece funcionar muy bien en tareas de reconocimiento y clasificación tomando imágenes directamente en lugar de un vector de características como otras técnicas.
¿Hay algún caso en el que un enfoque tradicional de extracción de características + clasificación sería mejor, utilizando técnicas de procesamiento de imágenes, o esto está muriendo debido al aprendizaje profundo?
Respuestas:
Esta publicación ha sido actualizada mucho. En la parte superior, puede ver actualizaciones de enlaces. A continuación, variaciones sobre la respuesta inicial. Para la versión corta: los éxitos de las redes neuronales convolucionales y el aprendizaje profundo parecen una especie de revolución galileana. Desde un punto de vista práctico, el procesamiento clásico de señales o la visión por computadora están muertos ... siempre que tenga suficientes datos etiquetados, se preocupe poco por fallas de clasificación evidentes ( fallas profundas ), tenga energía infinita para ejecutar pruebas sin pensar en la huella de carbono , y no te molestes en explicaciones racionales. Para los demás, esto nos hizo repensar todo lo que hicimos antes: extracción de características, optimización (cf. mi colega J.-C. Pesquet trabaja en estructuras de redes neuronales profundas para resolver desigualdades variacionales), invariancia, cuantificación, etc. Y de eso surge una investigación realmente interesante, con suerte poniéndose al día con principios firmemente arraigados y un rendimiento similar.
Enlaces actualizados:
Las referencias de aprendizaje profundo "paso a paso" en el procesamiento estándar de señal / imagen se pueden encontrar en la parte inferior. Michael Elad acaba de escribir Deep, Deep Trouble: Deep Learning's Impact on Image Processing, Mathematics, and Humanity (SIAM News, 2017/05), extracto:
Esta tribuna es de interés, ya que muestra un cambio del "procesamiento de imágenes" tradicional, tratando de modelar / comprender los datos, a un ámbito de corrección, sin tanta información.
Este dominio está evolucionando bastante rápido. Esto no significa que evolucione en una dirección intencional o constante. Ni bien ni mal. Pero esta mañana, escuché el siguiente dicho (¿o es una broma?):
Este fue mi intento muy breve: el aprendizaje profundo puede proporcionar resultados de vanguardia, pero uno no siempre comprende por qué , y parte de nuestro trabajo científico sigue siendo explicar por qué funcionan las cosas, cuál es el contenido de un dato etc.
El aprendizaje profundo requiere bases de datos (enormes) bien etiquetadas. Cada vez que realiza trabajos manuales en imágenes únicas o singulares (es decir, sin una gran base de datos detrás), especialmente en lugares que probablemente no produzcan "imágenes etiquetadas gratuitas basadas en el usuario" (en el conjunto complementario del conjunto " gatos divertidos que juegan juegos y caras ") , puede atenerse al procesamiento de imágenes tradicional por un tiempo y con fines de lucro. Un tweet reciente resume que:
Si están siendo asesinados (lo cual dudo a corto plazo), aún no están muertos. Por lo tanto, cualquier habilidad que adquiera en el procesamiento de señales, el análisis de imágenes y la visión por computadora lo ayudará en el futuro. Esto se trata, por ejemplo, en la publicación del blog: ¿Nos hemos olvidado de la geometría en la visión por computadora? por Alex Kendall:
Un ejemplo concreto puede ser el siguiente: un par de imágenes muy oscuras (por ejemplo, de vigilancia) de la misma ubicación, que necesitan evaluar si una de ellas contiene un cambio específico que debería detectarse, es potencialmente una cuestión de procesamiento de imágenes tradicional, más de Aprendizaje profundo (a partir de hoy).
Por otro lado, tan exitoso como Deep Learning es a gran escala, puede conducir a una clasificación errónea de un pequeño conjunto de datos, lo que podría ser inofensivo "en promedio" para algunas aplicaciones. Dos imágenes que difieren ligeramente del ojo humano podrían clasificarse de manera diferente a través de DL. O las imágenes aleatorias podrían establecerse en una clase específica. Ver, por ejemplo, las redes neuronales profundas se engañan fácilmente: ¿Predicciones de alta confianza para imágenes irreconocibles (Nguyen A, Yosinski J, Clune J. Proc. Computer Vision and Pattern Recognition 2015), o ¿Deep Learning tiene defectos profundos? , en negativos adversos:
Con el debido respeto al "Aprendizaje profundo", piense en "la producción en masa respondiendo a un comportamiento registrado, conocido, validado en masa o esperado" versus "pieza singular de oficio". Ninguno es mejor (todavía) en una sola escala de índice. Ambos pueden tener que coexistir por un tiempo.
Sin embargo, el aprendizaje profundo impregna muchas áreas nuevas, como se describe en las referencias a continuación.
Afortunadamente, algunas personas están tratando de encontrar una lógica matemática detrás del aprendizaje profundo, un ejemplo de las cuales son redes de dispersión o transformaciones propuestas por Stéphane Mallat y sus coautores, ver el sitio ENS para la dispersión . Análisis armónico y operadores no lineales, funciones de Lipschitz, invariancia de traducción / rotación, mejor para la persona promedio de procesamiento de señales. Ver, por ejemplo, Comprensión de redes convolucionales profundas .
fuente
Primero, no hay nada de malo en hacer un trabajo de posgrado en procesamiento de imágenes o visión por computadora y usar el aprendizaje profundo. El aprendizaje profundo no está matando el procesamiento de imágenes y la visión por computadora, es simplemente el tema de investigación actual en esos campos.
En segundo lugar, el aprendizaje profundo se utiliza principalmente en el reconocimiento de categorías de objetos. Pero esa es solo una de las muchas áreas de la visión por computadora. Hay otras áreas, como la detección de objetos, el seguimiento, la reconstrucción 3D, etc., muchas de las cuales aún se basan en características "hechas a mano".
fuente
No Deep Learning no está matando el procesamiento de imágenes. Necesita grandes conjuntos de datos y muchos recursos computacionales para hacer un aprendizaje profundo. Hay muchas aplicaciones en las que es deseable poder procesar imágenes con menos carga computacional y huellas de memoria más pequeñas y sin tener acceso a grandes bases de datos. Algunos ejemplos son teléfonos móviles, tabletas, cámaras móviles, automóviles, cuadricópteros. El aprendizaje profundo es muy publicitado en este momento, ya que existen algunos resultados muy impresionantes para la clasificación.
La clasificación es uno de los muchos problemas que trata el procesamiento de imágenes, por lo que incluso si fuera cierto que el aprendizaje profundo resolvería todos los problemas de clasificación, quedarían muchos otros tipos de procesamiento de imágenes. Reducción de ruido, registro de imágenes, cálculos de movimiento, transformación / mezcla, nitidez, correcciones ópticas y transformaciones, cálculo de geometrías, estimación 3D, modelos de movimiento 3D + tiempo, visión estéreo, compresión y codificación de datos, segmentación, desbarbado, estabilización de movimiento, gráficos por computadora, Todo tipo de renderizado.
fuente
Hoy tuvimos una discusión con un amigo mío. Era un día lluvioso aquí en Munich, mientras que una gran parte de Europa tenía una especie de ambiente soleado. La gente compartía fotografías en las redes sociales, donde vestían bonitos vestidos de verano, deambulando por los mares. Estaba molesta con esta situación y se volvió hacia mí y me preguntó: "¿Podrías escribir un software para bloquear las imágenes en las redes sociales, que involucran fotos tan lindas del verano, cuando el clima es tan malo aquí?". Dije por qué no. Todo lo que necesita hacer es reunir un gran conjunto de imágenes de verano, y ejemplos negativos, alimentarlo a través de una red, que hace una clasificación binaria en el nivel de "Bloquear" o "No bloquear". Entrenar y sintonizar la red. Eso es.
Luego, me volví hacia mí mismo: ¿sé realmente cómo escribir un algoritmo simple para decidir si el clima es agradable o no, sin dejar que la máquina piense por mí? Apenas ... Tal vez ... Para el lector curioso, aquí hay algunas características que es posible que desee diseñar, si trata de hacerlo:
Obviamente, ni siquiera me importaría esta publicación CVPR hoy en día y solo profundizaré. Entonces, por mucho que me guste el aprendizaje profundo por su rendimiento robusto en muchos escenarios, también lo uso con precaución. Incluso si no matara mi conocimiento del procesamiento de imágenes, tiende a disminuir la experiencia de dominio que necesito. Intelectualmente, esto no es muy elegante.
Tan pronto como el individuo decida mantenerse en el camino y se beneficie de ambos mundos, estará seguro.
fuente
La respuesta corta es, No. DL puede reconocer una taza en una foto, pero esto no mata el procesamiento de la señal de todos modos. Dicho esto, su pregunta es bastante relevante en estos días difíciles. Hay un buen panel de discusión sobre el tema, con Stephane Mallat, etc., aquí .
fuente
La ingeniería de datos todavía se usa en el aprendizaje automático para preprocesar y seleccionar los datos alimentados a los DNN para mejorar su tiempo de aprendizaje y su eficiencia de evaluación. El procesamiento de imágenes (el material entre el sensor de la cámara y los mapas de bits RGB / etc. alimentados a los DNN), todavía es una forma de ingeniería de datos.
fuente
Una comprensión profunda del procesamiento de señales (junto con álgebra lineal, cálculo vectorial, estadística matemática, etc.) es imprescindible para un trabajo no trivial en el campo del aprendizaje profundo, especialmente en visión por computadora.
Algunos de los documentos de alto impacto en el aprendizaje profundo (ahora que se ha recogido la mayoría de los frutos bajos) demuestran una buena comprensión de los conceptos de procesamiento de señales.
Algunos conceptos motivacionales:
La lista continua. Por lo tanto, incluso si termina trabajando en visión artificial y aplicando el aprendizaje profundo a sus problemas, el fondo del procesamiento de la señal le facilitará las cosas.
fuente
Realmente no hago mucho procesamiento de imágenes, pero trabajé para una organización (Marina de los EE. UU.) Que hizo y financió la investigación en clasificación de señales la última vez que las redes neuronales fueron un tema candente, entre mediados y finales de los 80. Tuve que pasar por un gran número de cosas esencialmente de marketing. Los argumentos estaban en la línea de:
Tomó el libro de Bishop para reprimir mi cinismo.
En más de unas pocas aplicaciones, el algoritmo de procesamiento de señal óptimo requerirá una búsqueda exhaustiva de enumeración en un gran espacio de parámetros que rápidamente se vuelve intratable. Una gran granja de servidores puede aumentar ese espacio de búsqueda alcanzable, pero en algún momento, necesita encontrar una heurística. DL parece ser capaz de encontrar algunas de esas heurísticas, pero no resuelve la optimización de hardware NP subyacente.
fuente
Sospecho que mi perspectiva desde la universidad era que muchas personas de procesamiento de señales eran un poco hostiles hacia el LD, porque se sentían amenazados de que estaba invadiendo su dominio. Pero recientemente se ha investigado mucho sobre los beneficios de las redes neuronales profundas y valoradas complejas, lo que puede sugerir que el boleto dorado es realmente una comprensión sólida de ambas disciplinas.
fuente
Bueno, sí. Del mismo modo que el desarrollo en lenguajes de programación de nivel superior como C ++ y Python 'mataron' a la programación de ensamblaje. Sin embargo, eso no significa que sea irrelevante aprender ensamblaje cuando se inscribe en un curso de CS. Proporciona una gran visión de cómo funciona la computadora, qué sucede detrás de las escenas de los idiomas de nivel superior, cuáles son los principios básicos del lenguaje de la computadora, etc. Pero nadie en su sano juicio ahora programaría una aplicación de escritorio en ensamblador.
fuente