Update README.md
Browse files
README.md
CHANGED
@@ -38,7 +38,40 @@ Para entrenar el modelo, se han combinado varios datasets descargados desde **CO
|
|
38 |
- **License Plate Recognition** - para mejorar la detección de matrículas.
|
39 |
- **Shahbagh Traffic Dataset** - dataset específico para escenas de tráfico.
|
40 |
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
```python
|
44 |
from ultralytics.utils.downloads import download
|
@@ -47,7 +80,7 @@ from ultralytics.utils.downloads import download
|
|
47 |
download('https://ultralytics.com/assets/coco8.zip', dir='datasets')
|
48 |
```
|
49 |
|
50 |
-
|
51 |
|
52 |
```python
|
53 |
from roboflow import Roboflow
|
@@ -66,8 +99,18 @@ dataset_path = version.download("yolov8")
|
|
66 |
|
67 |
print(f"✅ Dataset descargado en: {dataset_path}")
|
68 |
```
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
---
|
73 |
|
@@ -106,7 +149,7 @@ Después del entrenamiento, validamos el modelo con el siguiente código:
|
|
106 |
from ultralytics import YOLO
|
107 |
|
108 |
# Cargar el modelo entrenado
|
109 |
-
model = YOLO("/home/USER/yolo/yolov8-object-detection/runs/detect/
|
110 |
|
111 |
# Validar el modelo y guardar los resultados
|
112 |
metrics = model.val(
|
@@ -143,11 +186,11 @@ Para aplicar el modelo a un video y detectar objetos:
|
|
143 |
from ultralytics import YOLO
|
144 |
|
145 |
# Cargar el modelo entrenado
|
146 |
-
model = YOLO("runs/detect/
|
147 |
|
148 |
# Realizar inferencia en un video
|
149 |
-
results = model.predict("video.mp4", save=True, conf=0.5)
|
150 |
|
151 |
# Guardar el video con las detecciones
|
152 |
print("✅ Procesamiento completado. Video guardado.")
|
153 |
-
```
|
|
|
38 |
- **License Plate Recognition** - para mejorar la detección de matrículas.
|
39 |
- **Shahbagh Traffic Dataset** - dataset específico para escenas de tráfico.
|
40 |
|
41 |
+
---
|
42 |
+
|
43 |
+
### ⚙ **Configuración del Entorno**
|
44 |
+
Para garantizar un entrenamiento sin problemas, es importante configurar correctamente el entorno. Se recomienda usar un entorno virtual de Python y asegurarse de que todas las dependencias necesarias estén instaladas.
|
45 |
+
|
46 |
+
#### **1️⃣ Crear y activar un entorno virtual (opcional pero recomendado)**
|
47 |
+
```bash
|
48 |
+
# Crear el entorno virtual
|
49 |
+
python -m venv .venv
|
50 |
+
|
51 |
+
# Activar el entorno virtual
|
52 |
+
# En Linux/macOS
|
53 |
+
source .venv/bin/activate
|
54 |
+
|
55 |
+
# En Windows (cmd o PowerShell)
|
56 |
+
.venv\Scripts\activate
|
57 |
+
```
|
58 |
+
|
59 |
+
#### **2️⃣ Instalar las dependencias necesarias**
|
60 |
+
```bash
|
61 |
+
pip install -r requirements.txt
|
62 |
+
```
|
63 |
+
|
64 |
+
o también
|
65 |
+
|
66 |
+
```bash
|
67 |
+
pip install ultralytics roboflow
|
68 |
+
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu # Cambiar a cu121 si se usa GPU con CUDA 12.1
|
69 |
+
```
|
70 |
+
|
71 |
+
---
|
72 |
+
|
73 |
+
#### **3️⃣ Descargar los datasets**
|
74 |
+
Si utilizas el **dataset de COCO8**, puedes descargarlo con el siguiente código:
|
75 |
|
76 |
```python
|
77 |
from ultralytics.utils.downloads import download
|
|
|
80 |
download('https://ultralytics.com/assets/coco8.zip', dir='datasets')
|
81 |
```
|
82 |
|
83 |
+
Si utilizas los **datasets de Roboflow**, puedes descargarlos con el siguiente código:
|
84 |
|
85 |
```python
|
86 |
from roboflow import Roboflow
|
|
|
99 |
|
100 |
print(f"✅ Dataset descargado en: {dataset_path}")
|
101 |
```
|
102 |
+
|
103 |
+
### 🔹 **Observaciones**
|
104 |
+
Para descargar los datasets de Roboflow mediante código es necesario la Private API Key que se encuentra en **Settings > APi Keys** de tu cuenta de Roboflow.
|
105 |
+
|
106 |
+
# `rf.workspace("license-project")`
|
107 |
+
- `rf` es un objeto de la clase **Roboflow** que hemos inicializado con nuestra **API Key**.
|
108 |
+
- `.workspace("shovonthesis")` selecciona el espacio de trabajo llamado `"shovonthesis"`, que es donde está almacenado el dataset dentro de **Roboflow**.
|
109 |
+
|
110 |
+
# `.project("license-plate-detection-project")`
|
111 |
+
- Dentro del espacio de trabajo `"shovonthesis"`, buscamos el dataset con el identificador `"shahbagh-g7vmy"`.
|
112 |
+
- `project` ahora representa este dataset específico y nos permitirá **acceder a sus versiones, descargarlo o gestionarlo**.
|
113 |
+
- Una vez esto este configurado solo nos quedará seleccionar la versión que queremos del dataset y ejecutarlo.
|
114 |
|
115 |
---
|
116 |
|
|
|
149 |
from ultralytics import YOLO
|
150 |
|
151 |
# Cargar el modelo entrenado
|
152 |
+
model = YOLO("/home/USER/yolo/yolov8-object-detection/runs/detect/train_yolov8s/weights/best.pt")
|
153 |
|
154 |
# Validar el modelo y guardar los resultados
|
155 |
metrics = model.val(
|
|
|
186 |
from ultralytics import YOLO
|
187 |
|
188 |
# Cargar el modelo entrenado
|
189 |
+
model = YOLO("runs/detect/train_yolov8s/weights/best.pt")
|
190 |
|
191 |
# Realizar inferencia en un video
|
192 |
+
results = model.predict("ruta/video.mp4", save=True, conf=0.5)
|
193 |
|
194 |
# Guardar el video con las detecciones
|
195 |
print("✅ Procesamiento completado. Video guardado.")
|
196 |
+
```
|