Edit model card

nintendo-controllers-model-opt3

Modelo de clasificacion de imagenes con Python.

Las predicciones que se obtienen se realizan a traves de un modelo de aprendizaje profundo llamado transformador de visi贸n (ViT) el cual es capaz de discernir entre un control de Xbox y un control de Playstation. En un ViT, la imagen de entrada se "corta" en subim谩genes de igual tama帽o y cada una de esas subim谩genes pasa por una insercion lineal lo que hace que cada subimagen sea s贸lo un vector unidimensional. Despues se le agrega una insercion posicional a cada uno de estos vectores lo cual permite a la red saber d贸nde se encuentra cada subimagen originalmente en la imagen. Estos vectores se transmiten, junto con un vector de clasificaci贸n especial, a los bloques codificadores transformadores, cada uno de los cuales se compone de : Una Normalizaci贸n de Capas (LN), una Autoatenci贸n Multicabezal (MSA),una conexi贸n residual, una segunda LN, un Perceptr贸n Multicapa (MLP) y otra conexi贸n residual, los cuales se conectan uno detr谩s de otro. Por 煤ltimo, se utiliza un bloque MLP de clasificaci贸n para la clasificaci贸n final s贸lo en el vector de clasificaci贸n especial, que al final de todo el proceso, es el que tiene toda la informacion global de la imagen.

La data que se usa de entrada al modelo es obtenida atraves de una API de buscador de imagenes que las descarga y almacena desde la web, de la cual se recolectan ~150 imagenes por clase. Una vez obtenida las imagenes, se dividen entre un 75% y 15% para usar como entrenamiento y validacion respectivamente. Para validar la data recolectada, se hace un peque帽o muestreo al azar de las imagenes para confirma que las imagenes que consiguio la API, en su mayoria sean igual a lo que se introdujo como busqueda (microsoft xbox controller y sony playstation controller).

Una vez etiquetada y mapeada la data, se preparan ejemplos en batches, los cuales seran alimentados de forma aleatorea a un modelo ViT ya preentrenado por usando el conjunto de datos ImageNet-21k. El modelo consta de metodos de entrenamiento, validacion y optimizacion usando PyTorch, en este caso se uso atom como optimizador.

Una vez validadas las predicciones con las etiquetas de las imagenes, se obtuvo un modelo capaz de discernir entre una control de playstation y un control de xbox con una precision de >53%.

Imagenes de ejemplo

microsoft xbox controller

microsoft xbox controller

sony playstation controller

sony playstation controller

Downloads last month
4
Inference API
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.