HAARTRAINING

Su funcionamiento es análogo al del anterior. Estas son sus variables.

vecname: Es el archivo.vec con nuestras muestras positivas.

dirname: El clasificador está compuesto de clasificadores más pequeños que se van agrupando y agrupando hasta obtener uno completo. Un clasificador tiene un número de etapas variable. Cada una de estas etapas está representada por una carpeta numerada dentro de dirname, que es el directorio que elegimos para el clasificador. También podemos crear clasificadores en formato xml, aunque no nos fue necesario para la aplicación.

bgname: Aprovechamos para explicar el funcionamiento del clasificador. Haartraining toma los positivos.vec y hay que pasarle un archivo .dat de backgrounds que tiene la siguiente forma:

File bg.dat:

img/img1.jpg

img/img2.jpg

Como vemos es parecido al de las muestras positivas pues más sencillo ya que no necesitamos coordenadas. ¿Qué hace haartraining? Coge las muestras positivas y las mezcla con “trocitos” de las imágenes que le hemos pasado como negativos, así por ejemplo si queremos reconocer caras en diferentes ambientes le pasaríamos imágenes de caras como positivos e imágenes de interiores, ciudad, etc… como negativos.

Como nuestro facedetect.c está estructurado de tal forma que debe buscar las muestras solo dentro de la imagen de la cara, no de toda la imagen, los negativos en nuestro caso son caras. Por ejemplo si queremos detectar caras sonrientes los negativos serán caras enfadadas, tristes, neturas, sorprendidas…

npos y nneg: Numero de muestras positivas y negativas. Las negativas deben coincidir con el número de positivas que tenemos. Las negativas no es necesario, podemos tener 1000 muestras a partir de 200, simplemente hará más “trocitos”.

nstages: Número de etapas. Nosotros usamos un límite de 14 etapas. Los valores aconsejados para conseguir un clasificador de calidad son unas 5000 muestras positivas y 8000 negativas, con un tiempo de procesamiento de semanas o días. En nuestro caso hemos hecho clasificadores de menor calidad pero en menos tiempo. Unas 300-450 muestras positivas y el mismo número de negativas aunque luego en nneg ponemos unas 800. El tiempo de procesamiento se suele alargar a como mucho una noche. Cuanto más sencilla es la imagen menos se tarda y más etapas del límite de 14 se consiguen. A más etapas tenemos un clasificador más potente.

mem: Memoria RAM en Mb que asignamos al proceso, no conviene asignar la máxima del sistema porque suele dar fallos, si tiense 1,9GB usa 1,7GB como mucho.

minhitrate: 0.999F es un valor apropiado, más nos causaría problemas para alcanzarlo y menos haría un clasificador poco robusto.

nsplits: Número de divisiones por clasificador, aconsejamos 2.

maxfalsealarm: 0.4F es un valor apropiado, aunque a partir de 0.5F comienza a funcionar bastante bien. Si nos pasamos con cualquiera de estos valores puede que el haartraining se quede atascado o tarde demasiado tiempo en procesar, no obstante si vemos que los clasificadores no son todo lo buenos que deberían podemos aumentarlos.

-width y height: Deben ser exactamente los mismos que en createsamples, es muy importante.

mode: 2, es el aconsejado por la documentación.

El resto de parámetros son para modificar valores sobre la forma de realizar los clasificadores y que hemos dejado por defecto ya que así funcionaba bien el programa.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: