¿En qué casos las redes convolucionales no son una buena opción para la clasificación de imágenes?

Depende del tipo de problema en el que esté trabajando. El aprendizaje profundo es una herramienta increíble y puede entrenarlo en absolutamente cualquier base de datos y esperar buenos resultados, pero en algunos casos el uso del aprendizaje profundo podría resultar una exageración. Por ejemplo, supongamos que desea clasificar las siguientes imágenes.

en rectángulo o triángulo. Este es un problema bastante básico, puede usar algunas operaciones de umbral en la imagen y obtener contornos y luego puede usar la aproximación de contornos (si está interesado en la detección de formas OpenCV – PyImageSearch) para determinar si es un triángulo o un rectángulo. Ahora también puede resolver este problema utilizando el aprendizaje profundo, y se garantiza que obtendrá una precisión cercana al 100% en ambos casos (aunque es posible que no obtenga el 100% en el caso del aprendizaje profundo), pero estará de acuerdo en que la primera opción es más simple, más rápido y consume muy pocos recursos informáticos, mientras que la segunda opción podría no proporcionarle el 100%, será más lenta y consumirá más recursos. Claramente, la red convolucional no es una buena opción en este caso.

Por lo tanto, siempre que exista un criterio simple que pueda clasificar sus imágenes, la red convolucional profunda resulta ser excesiva para la solución. Y puede encontrar que hay muchos problemas en los que no necesita un aprendizaje profundo para la clasificación.

Cuando todo su conjunto de datos contiene menos de 100 imágenes de más de 200 × 200, todas las cuales son escenas complejas.

En ese caso, no creo que tenga suficientes datos para aprender. En todos los demás casos, las redes convolucionales deberían ser mejores. Aunque con el entrenamiento previo y el aumento agresivo de datos (y tal vez datos sintéticos, si puede administrarlos), incluso podría obtener buenos resultados en ese pequeño conjunto de datos.

Esta es la razón por la que son tan populares; pueden aprender a hacer lo que se les ocurra para extraer funciones, por sí mismos (con suficientes datos)

EDITAR: Whoops. Ni siquiera pensé en los casos en que hay una solución simple y obvia. Atrezzo a Saiprasad. Supongo que esto proviene de pasar tanto tiempo trabajando en cosas sin una solución obvia.

Honestamente, estos casos serán principalmente cuando carezca del presupuesto computacional para ejecutar un ConvNet.