El conjunto de datos no balanceados es un problema común en todas las áreas y no se refiere específicamente a la visión por computadora ni a los problemas tratados por las redes neuronales convolucionales (CNN).
Para abordar este problema, debe intentar equilibrar su conjunto de datos, ya sea sobremuestreando las clases minoritarias o submuestreando las clases mayoritarias (o ambas). Podría decirse que una buena opción sería el algoritmo SMOTE (Técnica de sobremuestreo de minorías sintéticas), como se mencionó anteriormente. Aquí puede encontrar una comparación de diferentes algoritmos de sobremuestreo. Si eres un usuario de Python, desequilibrado de aprendizaje es una buena biblioteca que implementa muchas técnicas útiles para equilibrar conjuntos de datos.
Por otro lado, si está tratando de clasificar imágenes, una buena manera de aumentar el tamaño de su conjunto de datos es aumentarlo (es decir, creando ejemplos sintéticos razonables, por ejemplo, imágenes similares pero un poco rotadas / desplazadas con respecto a las originales). A veces puede resultarle útil aumentar las clases minoritarias para lograr un mejor equilibrio. La clase Keras ImageDataGenerator es una buena herramienta para este propósito.