Qué significa entrenar SVM

Soy nuevo en el procesamiento de imágenes. Como mi proyecto estoy haciendo “clasificador de imágenes usando SVM”. Tengo la idea de mi software final “Selecciono una imagen y la ingreso como entrada para mi software y la clasificaré. Si Dale la imagen de un animal que lo clasificará a gato o serpiente adecuadamente ”

Cuando lo busco en Google, dice “Primero necesitas entrenar a SVM”

¿Qué significa entrenar SVM?

¿Cuál es la entrada real para SVM en mi caso (clasificación de imagen)?

SVM es solo un clasificador de la forma en que clasifica las imágenes. ¿Es necesario que yo oculte la imagen a algún formato en particular? Por favor, ayuda.

Support Vector Machine (SVM) es un modelo de aprendizaje automático para la clasificación de datos supervisados. Las SVM aprenden esencialmente un hipoplano que separa el espacio de datos en 2 regiones (en el caso de 2 clases). En su caso, suponga que tiene imágenes de serpientes y gatos y necesita clasificarlos. Los pasos que debes seguir son

Extrae ‘características’ de las imágenes.

Estas “características” pueden ser funciones de la apariencia de serpiente / gato en su estuche, por ejemplo, el color del animal, la forma del animal, etc. Al concatenar estas características, puede obtener un vector de características multidimensional.

Entrena a un clasificador SVM

El entrenamiento esencialmente aprende un hipoplano de separación entre los vectores de características de la clase serpiente y la clase gato . Por ejemplo, si su vector de características es bidimensional, entrenar a un clasificador SVM equivaldría a ‘aprender’ una línea que mejor separa sus datos etiquetados / datos de entrenamiento. Podría usar cualquiera de la multitud de bibliotecas de aprendizaje automático disponibles gratuitamente. En caso de que hables python, puedes usar sklearn para la tarea. Esta tarea de aprendizaje (hipoplano en SVM lineal) se refiere al entrenamiento .

Clasificar las imágenes.

Una vez que haya entrenado a su modelo, podría usarlo para clasificar imágenes cuya clase no se conoce.

Nota: estoy simplificando una gran cantidad de detalles / problemas involucrados en esta respuesta. Le sugiero que lea sobre SVM

Debería mirar en dlib, un módulo de Python que realiza el procesamiento y reconocimiento de imágenes:

http://dlib.net/

Específicamente los ejemplos para detectores de objetos en python:

http://dlib.net/train_object_detector.py.html

Da explicaciones detalladas e instrucciones para la instalación.