Todas mis preguntas sobre opencv_traincascade

Algunas semanas intento crear un buen clasificador en cascada, pero parece que este proceso está rodeado de misterio. Tengo un montón de preguntas:

1) ¿Por qué opencv nos da tan poca información?

2) ¿Necesita imágenes más positivas o imágenes negativas?

3) ¿Qué tamaño debe tener imágenes positivas? ¿Y imágenes negativas? ¿Debe tener todo el mismo tamaño?

4) si quiero crear un clasificador para una sola señal de tráfico es suficiente una sola imagen positiva como esta para crear muestras con opencv_createsamples?

5) Para crear un clasificador utilizado en una aplicación para Android es mejor Haar o LBP?

6) ¿cuál es el número correcto de etapas?

7) ¿Cuál es el valor correcto para minHitRate y maxFalseAlarmRate?

  1. Da información, es sólo un poco borring para leer http://docs.opencv.org/doc/user_guide/ug_traincascade.html
  2. Necesita más imágenes negativas, por varias razones. En primer lugar sólo a veces se bloquea cuando hay más imágenes positivas, a continuación, negativo, en segundo lugar – la mayoría de las veces el entrenamiento se centra en buscar en las imágenes negativas de algo que fue detectar como su objeto y la fijación del error.
  3. Por lo que sé, no importa mucho, pero lo que es relevante es que las imágenes negativas a sí mismos. Deben estar cerca de los fondos reales de su objeto, quiero decir, si se trata de un signo de tráfico no dan imágenes chasqueadas en su oficina como fondo, tomar fotos de fuera.
  4. Para mí fue suficiente tener una imagen de mi objeto, generar 1.500 muestras con opencv_createsamples, pero mucho mejor tener varias imágenes 10, 20 para generar 100, 200 samples con cada una y luego combinarlas todas en un conjunto de entrenamiento.
  5. Haar es un entrenamiento más lento y tiempo de ejecución, pero a veces es más preciso, así que mi elección es LBP.
  6. Usted puede entrenar la cascada etapa por etapa, hacer 10 -15 etapas al principio, y después agregarlas una por una. Todas las etapas registradas, y usted no tienen que comenzar cada vez de la etapa una.

7.I no jugó con estos parámetros, siempre los dejo con los valores predeterminados, pero puede comprobar aquí acerca de parámetros de trencascade, muestras y otros … para las explicaciones.

También compruebe esta pregunta y respuesta Cómo entrenar en cascada correctamente y FAQ – HAARTraining

  • Croping la imagen en android usando opencv
  • Aplicación de Android que utiliza tecnología de reconocimiento de imagen
  • ¿Cuál es la diferencia entre `opencv.android.JavaCameraView` y` opencv.android.NativeCameraView`
  • Android - utiliza la cámara sin vista de superficie o textureview
  • ¿Cómo utilizar OpenCV + Tesseract para el reconocimiento de texto exacto en Android?
  • Android "No hay tal archivo o directorio" error?
  • Android JavaCV dilema, NoClassDefFoundError lanzado dentro del método 'dibujar' cuando se crea IplImage
  • Cómo acceder a las filas y columnas de Vector <Mat> Imágenes en Open cv para Android?
  • Error: Programa "/ndk-build.cmd" no se encuentra en PATH
  • Representación del modelo 3D de realidad aumentada
  • ¿Cómo reducir los partidos en el reconocimiento de patrones de OpenCV?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.