Reconocimiento facial en Android

Estoy tratando de desarrollar una aplicación de reconocimiento facial en Android y, como no quiero usar NDK en el proyecto (simplemente no tengo tiempo para cambiar), me quedo con el desarrollo de toda la aplicación con Java y para eso Estoy teniendo algunos problemas:

Parece que el módulo Contrib no está incluido en OpenCV 2.4.2. ¿Hay alguna forma de usarlo en el proyecto?

Intenté usar JavaCV para usar la clase "FaceRecognizer" del módulo Contrib. hay dos clases disponibles llamadas "FaceRecognizer" y "FaceRecognizerPtr". ¿Alguien sabe cuál es la diferencia entre estos dos?

Las clases mencionadas anteriormente tienen un método llamado "Tren" que (en C ++) recibe dos vectores de tipos "Mat & Integer" (model->train(images,labels) & train(Vector<mat> theImages, Vector<int> theLabels). Traté de pasarlosArrayList<mat> & ArrayList<integer> y Vectores en Java, pero parece que el método acepta explícitamente el tipo de datos "CvArr" que no estoy seguro de cómo adquirir ... Aquí está el error:

El método train (opencv_core.CvArr, opencv_core.CvArr) en el tipo opencv_contrib.FaceRecognizer no es aplicable para los argumentos (ArrayList, ArrayList)

¿Alguien sabe cómo cambiar mi ArrayList a CvArr?

Esta es mi primera publicación y no estaba seguro de si debía hacer las tres preguntas en una o en tres publicaciones, así que disculpe las molestias ... Si necesita cualquier otra información sobre el proyecto, no dude en preguntar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta