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?
- Umbral adaptable rápido para Canny Edge Detector en Android
- Usando get () y put () para acceder a valores de píxeles en OpenCV para Java
- Detección de objetos android opencv
- OpenCV warpPerspective rendimiento lento
- Cómo leer el valor de cada píxel como valores RGB del objeto Mat m en OpenCV
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?
- No se encontró el paquete de la biblioteca OpenCV
- Pasos de convertir el proyecto C ++ opencv en la computadora a opencv android
- No se encontró ninguna implementación para error largo de org.opencv.core.Mat.n_Mat () con OpenCV
- Adición de archivos .so a jniLibs en Android Studio: archivos duplicados durante el envasado de APK
- Usando OpenCV para analizar datos de geles de proteínas
- ¿Debo usar JavaCV o la biblioteca Java de OpenCV en Android?
- OpenCV para Android: ejemplo simple para convertir la imagen a escala de grises
- TemplateMatching mattoBitmap opencv para android
- Da información, es sólo un poco borring para leer http://docs.opencv.org/doc/user_guide/ug_traincascade.html
- 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.
- 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.
- 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.
- 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.
- 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
- Convertir base de datos de MSAccess a SQlite para android
- ¿Cómo obtener bar clic evento de gráficos horizontalbar de MPcharts en android?