Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 155 additions & 0 deletions README.es-ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@


# Overwatch-AI-Aimbot

![alt text](Assets/front.jpg)

Detección de objetos con arquitectura YOLO/MOBILENET

Se incluyen 2 modelos preentrenados en Workspace/pre-trained-models:

1. SSD_MobileNet (320x320)
2. SSD_MobileNet (640x640)

Descomprima estos archivos .tar.gz usando `unzip.py`

Para más modelos preentrenados, descárguelos en https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md

## Paquetes Requeridos
1. API de Detección de Objetos de Tensorflow:

https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html

2. Herramienta LabelImg: https://github.com/tzutalin/labelImg

3. Protocol Buffers: https://github.com/protocolbuffers/protobuf/releases

4. Modelos Preentrenados: https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md



## Estructura de Archivos

```
─ Overwatch-AI-Aimbot/
├─ Workspace/
├─ annotations/
├─ images/
├─ screenshots/
├─ train/
├─ test/
├─ my_models/
├─ pre-trained-models/
├─ processImg.py
├─ unzip.py
├─ testDetection.py
├─ train.py
├─ generate_tfrecord.py

─ RealTimeObjectDetection/
├─ Tensorflow
├─ models/
├─ research/
├─ object_detection/
├─ scripts/
├─ generate_tfrecord.py
├─ labelImg/
├─ labelImg.py

```

**Overwatch-AI-Aimbot**:

- Clonee este repositorio
- Coloque todas las imágenes en Workspace/images/
- Coloque todos los modelos preentrenados en Workspace/pre-trained-models

**RealTimeObjectDetection**:

- Cree la carpeta /RealTimeObjectDetection en el mismo directorio que la carpeta /Overwatch-AI-Aimbot
- La carpeta /Tensorflow contiene el repositorio "models", el cual se clona vía https://github.com/tensorflow/models
- La carpeta /Tensorflow contiene una carpeta "/scripts". Cree esta carpeta y pegue el archivo `generate_tfrecord.py` aquí
- /RealTimeObjectDetection contiene el repositorio "labelImg", el cual se clona vía https://github.com/tzutalin/labelImg

## preprocessImg.py
Se utiliza para renombrar los nombres de archivos de imagen en orden ascendente
(Ej. 1.png, 2.png, etc.)

Debe renombrar las imágenes primero, antes de hacer anotaciones usando labelImg.py

```
python preprocessImg.py [--filepath]
```
--filepath: Carpeta que contiene las imágenes

Ej: `python processImg.py Workspace/images/screenshots`



## unzip.py

Se utiliza para descomprimir archivos .tar.gz o .tar. Útil para descomprimir archivos de modelos preentrenados

```python
python unzip.py
```



## train.py
Se utiliza para procesar datos y entrenar el modelo
- Los Tfrecords y labelmap generados estarán en Workspace/annotataions
- Los pesos del modelo se guardarán en Workspace/my_model/{{CUSTOM_MODEL_NAME}}/


Automáticamente:
- Dividirá las imágenes en carpetas de train/test
- Editará el archivo pipeline.config
- Creará tfrecords a partir de las imágenes
```
python train.py [-L --labels] [-E --epochs] [-N --name] [-T --split] [-s --trainSize] [-M --model]
```

>--labels: (str) Etiquetas en formato json. Debe seguir la convención {'name': ..., 'id': ...}, donde 'name' es la etiqueta asignada en la herramienta labelImg.py.
> Separe las etiquetas usando triple asterisco (Ej. "{...}* * *{...}" )

>--epochs: (int) Número de épocas de entrenamiento a ejecutar

>--name: (str) Nombre del modelo personalizado

>--split: (str; opcional) `"yes"` o `"no"` (Por defecto 'no'). Si es "yes", dividirá automáticamente las imágenes y anotaciones en la carpeta /screenshots hacia las carpetas /train y /test utilizando trainSize

>--trainSize: (float; opcional) Tamaño del conjunto de entrenamiento (0-1, por defecto 1)

> --model: (str; opcional) Modelo preentrenado a usar. Especifique el nombre de la carpeta que contiene el modelo preentrenado (ubicada en Workspace/pre-trained-models/)
>
> (Por defecto ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8)

Ej:
`python train.py -L "{'name': 'head', 'id': 1 }***{'name': 'body', 'id': 2 }" -E 50 -N "overwatch_mobnet" -T yes -S 0.7` -M "centernet_resnet50"

Internamente, esto creará:
- label=[{'name': 'head', 'id': 1 }, {'name': 'body', 'id': 2 }]
- Ejecutará durante 50 épocas
- Creará un modelo llamado "Overwatch_mobnet"
- Dividirá los archivos en la carpeta /screenshot, con el 70% yendo a /train y el 30% restante a /test
- Entrenará utilizando el modelo preentrenado "centernet_resnet50", que se puede encontrar en Workspace/pre-trained-models/centernet_resnet50
- Ejecutará el entrenamiento del modelo, donde los resultados podrán encontrarse en my_models/overwatch_mobnet/



## testDetection.py

Se utiliza para probar custom_model

```
python testDetection.py
```



## generate_tfrecord.py

Se utiliza para la creación del formato TFRecord a partir de archivos de imagen

Pegue el archivo `generate_tfrecord.py` en /RealTimeObjectDetection/Tensorflow/scripts