¿El aprendizaje profundo está matando el procesamiento de imágenes / visión por computadora?

52

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?

Tony
fuente
3
Reabrir esto porque tiene un alto número de votos a favor y la respuesta más votada tiene un número muy alto de votos a favor.
Peter K.
1
@LaurentDuval Creo que cada respuesta fue útil y muy interesante, pero principalmente las suyas y las del mathreadler (junto con la discusión que surgió) realmente aclararon el tema.
Tony
2
Me gustaría hacer una encrucijada en la discusión en curso. ¿Quién dijo que el aprendizaje profundo no requiere extracción de características? En mi propia experiencia práctica, no deberíamos entrenar a DNN para datos sin procesar. Tenemos que hacer alguna extracción de características y también debemos poseer un conocimiento básico de la imagen. El aprendizaje profundo debe usarse con cuidado, pero también es una buena idea.
arun raj

Respuestas:

45

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:

Presentamos ejemplos adversos naturales: ejemplos del mundo real, no modificados y de origen natural que hacen que la precisión del clasificador se degrade significativamente. Seleccionamos 7.500 ejemplos adversos naturales y los lanzamos en un conjunto de prueba clasificador de ImageNet que llamamos ImageNet-A. Este conjunto de datos sirve como una nueva forma de medir la robustez del clasificador. Al igual que los ejemplos adversos de l_p, los ejemplos de ImageNet-A se transfieren con éxito a clasificadores invisibles o de caja negra. Por ejemplo, en ImageNet-A, un DenseNet-121 obtiene alrededor del 2% de precisión, una caída de precisión de aproximadamente el 90%. Recuperar esta precisión no es simple porque los ejemplos de ImageNet-A explotan defectos profundos en los clasificadores actuales, incluida su excesiva dependencia del color, la textura y las señales de fondo. Observamos que las técnicas de entrenamiento populares para mejorar la robustez tienen poco efecto, pero mostramos que algunos cambios arquitectónicos pueden mejorar la solidez de los ejemplos adversos naturales. Se requiere investigación futura para permitir una generalización sólida de este conjunto de pruebas de ImageNet.

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:

Luego, las redes neuronales volvieron repentinamente y con venganza.

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?):

Un algoritmo malo con un gran conjunto de datos puede funcionar mejor que un algoritmo inteligente con datos de pauce .

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:

El requisito de (muchos) datos etiquetados (sin vars faltantes) es un factor decisivo (e innecesario) para muchos dominios

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:

El aprendizaje profundo ha revolucionado la visión por computadora. Hoy en día, no hay muchos problemas en los que la mejor solución no se base en un modelo de aprendizaje profundo de extremo a extremo. En particular, las redes neuronales convolucionales son populares, ya que tienden a funcionar bastante bien fuera de la caja. Sin embargo, estos modelos son en gran parte grandes cajas negras. Hay muchas cosas que no entendemos sobre ellos.

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:

La red puede clasificar erróneamente una imagen después de que los investigadores aplicaron cierta perturbación imperceptible. Las perturbaciones se encuentran ajustando los valores de píxeles para maximizar el error de predicción.

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 .

Laurent Duval
fuente
1
El aumento de datos de capacitación insuficientes mediante el uso de copias adecuadamente modificadas ayuda a generalizar el aprendizaje profundo. Últimamente, se han encontrado maneras de evitar el etiquetado completo supervisado: el aumento de datos sin supervisión genera automáticamente etiquetas para la parte no etiquetada de los datos de entrenamiento en el aprendizaje semi-supervisado y usa esos datos para el entrenamiento. (Siéntase libre de incorporar esta o información similar en la respuesta.)
Olli Niemitalo
1
Si sabes cómo aumentar "consistentemente". OK en los conjuntos de datos clásicos, todavía caminando sobre los datos científicos que trato (geología, química)
Laurent Duval
@Laurent, sobre lo que dijo: "nuestro trabajo científico sigue siendo explicar por qué funcionan las cosas" : parece que la ciencia de datos es una carrera válida para alguien que considera trabajar seriamente en DSP. ¿Hay otros nombres además del título típico de "ingeniero DSP" del que has oído hablar?
JFonseca
21

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".

Dima
fuente
55
Tenga cuidado: los DNN son muy capaces de hacer todo lo que usted menciona: detección de objetos, seguimiento, reconstrucción 3D, etc. Dicho esto, el procesamiento de señales es una idea de los aspectos físicos de cómo se manipulan las señales y por qué deberíamos manipúlelos de alguna manera, y esos (creo) volverán para explicar por qué funcionan los algoritmos adaptativos como los DNN. Pero no se equivoque: los DNN son muy capaces de realizar transformaciones básicas desde la entrada y hasta el objetivo objetivo (diferenciable).
Tarin Ziyaee
11

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.

mathreadler
fuente
Denoising, estimación 3D, etc., todos los que mencionó pueden ser aproximados y resueltos por DNN de arquitectura apropiada y datos apropiados.
Tarin Ziyaee
1
Sí, sí, y puedes hacer tus compras semanales en un Jaguar (pero no es por eso que están construidos).
mathreadler
1
Jeje, cierto, pero eso es diferente a decir que no puedes comprar usando tu jaguar.
Tarin Ziyaee
Es fácil imponer restricciones útiles sobre un problema de ingeniería que los DNN son bastante malos para manejar. Por ejemplo, una restricción de que el método utilizado no debe estar sesgado hacia un determinado conjunto de datos de entrada. Luego, los DNN serán descalificados por defecto, ya que todos necesitan capacitación y, por lo tanto, se sesgarán con los datos de capacitación.
mathreadler
Eso es cierto para cualquier herramienta de ingeniería: pero ese no es el punto. El punto es que todas esas tareas que ha mencionado anteriormente, de hecho, pueden resolverse muy bien con DNN. Sí, algunos son desarrollos más recientes, ¡pero es erróneo decir que no se pueden resolver con DNN! ¡Eso es todo!
Tarin Ziyaee
11

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:

Clasificación climática de dos clases, Cewu Lu§ Di Lin, Jiaya Jia, Chi-Keung Tang , CVPR 2014

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.

Tolga Birdal
fuente
7

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í .

dohmatob
fuente
5

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.

hotpaw2
fuente
4

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:

  • Convoluciones dilatadas : consulte esta publicación de blog . Una de las primeras ecuaciones allí sería pan y mantequilla para una persona bien fundada (hah) en conceptos de procesamiento de señales. También está estrechamente relacionado con el algoritmo arous que se encuentra en el procesamiento clásico de señales wavelet.
  • Capas convolucionales transpuestas / capas Deconv. Nuevamente, conceptos básicos de procesamiento de señal.
  • Conformación de filtros conv : se necesita una buena idea de las normas del operador y el mapeo de contracciones. Esto generalmente se encuentra en un curso de posgrado EE en Teoría de la Señal o Sistemas de Control, o en los cursos de Matemáticas en Análisis (Real o funcional).
  • Ejemplos adversarios : uno de los primeros artículos en investigar esto ( "Propiedades intrigantes de ..." ) formalizó esto en términos de perturbaciones y utilizó constantes de Lipschitz de las diversas capas y no linealidades en una red neuronal para limitar la sensibilidad a tales perturbaciones De acuerdo, el análisis fue muy preliminar, pero nuevamente creo que demuestra que hacer un progreso no trivial en cualquier cosa, incluido el aprendizaje profundo, requiere una comprensión no trivial de la teoría.

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.

AruniRC
fuente
1
Si. Cualquier atajo que se tome para no tener que aprender qué alimentar a la red tendrá que ser aprendido de la peor manera por un peor rendimiento.
mathreadler
4

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:

  • Es neuronal, como su cerebro, y dado que superó a un clasificador lineal, supera las técnicas estadísticas. De hecho, conozco a algunas personas que rechazaron sus documentos porque usaron estadísticas para evaluar el desempeño.
  • Las redes neuronales son inductivas, pueden clasificar las cosas correctamente si ninguno o pocos ejemplos estaban en sus conjuntos de entrenamiento.
  • DARPA está financiando el trabajo, y todos sabemos que todo lo que DARPA hace es un ganador (Google todavía no estaba presente)
  • No es maravilloso el rendimiento, no necesito una matriz de confusión, no necesito clases previas, solo puedo decirte cuál es mi probabilidad de error. No necesito límites, solo haré la opción de mantener uno y volver a barajar.
  • Elija algunas características y adelante, es un cuadro negro, escala, alineación de datos, rechazo de desorden, etiquetas malas, aparición de múltiples clases, no es mi problema.
  • La niebla de las matemáticas, máquinas de Boltzmann
  • Agreguemos una SVD y tal vez una cosa de dimensión fractal.
  • El cebo y el interruptor supervisados ​​/ no supervisados, encontraré todos tus patrones ocultos. ¿No es profunda esta cosa asociativa de la memoria?

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.

Stanley Pawlukiewicz
fuente
Tienes toda la razón en reducir el cinismo, ya que parece desanimar a muchas personas. A veces desearía haberlo aprendido antes en la vida.
mathreadler
3

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.

Austin
fuente
1
Sí. El procesamiento de señales está muy relacionado con el aprendizaje automático. Una comprensión sólida del procesamiento de señales ayuda a comprender cómo construir y usar algoritmos de ML y qué tipo de datos son (no) adecuados para alimentarlos.
mathreadler 01 de
2

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.

Jochemspek
fuente