Al final y simplificando un poco, todo lo que necesita para detectar objetos específicos en la imagen es:
"puntos de interés"
- Localizar para extraer los parches:
Con el fin de obtener puntos de interés, puede utilizar algunos algoritmos como el detector de esquina de Harris, al azar o algo así como ventanas deslizantes.
- A partir de estos puntos de obtener parches:
que tendrá que tomar el decission del tamaño del parche.
- De estos parches calcule el descriptor de la característica. (como HOG).
En lugar de HOG puede utilizar otro descriptor SIFT como característica, SURF ...
aplicación del HOG no es demasiado difícil. Debe calcular los gradientes del parche extraído aplicando los núcleos Sobel X e Y, luego debe dividir el parche en celdas NxM, 8x8 por ejemplo, y calcular un histograma de gradientes, ángulos y magnitudes. En el siguiente enlace se puede ver que la explicación más detallada: HOG Person Detector Tutorial
- Compruebe su vector de características en el clasificador entrenado previamente
Una vez que tienes este vector, comprobar si es el objeto deseado o no con un clasificador entrenado previamente como SMV. En cambio, SVM podría usar NeuralNetworks, por ejemplo.
La implementación de SVM es más difícil, pero hay algunas bibliotecas como opencv que puede usar.
Estoy un poco tarde, pero para un ejemplo simple y directo VEA: http://stackoverflow.com/questions/6090399/get-hog-image-features-from-opencv-python – jmunsch