izaskunmz commited on
Commit
0ca28df
1 Parent(s): e3f6520

processed video with analysis

Browse files
Files changed (3) hide show
  1. .gitignore +1 -1
  2. predict.py +16 -8
  3. validate.py +3 -3
.gitignore CHANGED
@@ -34,7 +34,7 @@ weights/
34
  *.ckpt
35
 
36
  # Ignorar dataset original de COCO para evitar archivos innecesarios
37
- datasets/coco8/
38
  download-coco.py
39
 
40
  # Ignorar archivos con la terminaci贸n .Zone.Identifier (propio de Windows)
 
34
  *.ckpt
35
 
36
  # Ignorar dataset original de COCO para evitar archivos innecesarios
37
+ datasets/
38
  download-coco.py
39
 
40
  # Ignorar archivos con la terminaci贸n .Zone.Identifier (propio de Windows)
predict.py CHANGED
@@ -2,12 +2,22 @@ import cv2
2
  from ultralytics import YOLO
3
 
4
  # Cargar modelo YOLOv8 entrenado
5
- model = YOLO("/home/izaskunmz/yolo/yolov8-object-detection/runs/detect/train_yolov8s_v4/weights/best.pt")
6
 
7
  # Abrir v铆deo
8
  video_path = "/home/izaskunmz/yolo/yolov8-object-detection/raw-video/ny-traffic.mp4"
9
  cap = cv2.VideoCapture(video_path)
10
 
 
 
 
 
 
 
 
 
 
 
11
  while cap.isOpened():
12
  ret, frame = cap.read()
13
  if not ret:
@@ -16,13 +26,11 @@ while cap.isOpened():
16
  # Realizar detecci贸n en el frame
17
  results = model(frame)
18
 
19
- # Mostrar el frame con detecciones
20
- annotated_frame = results[0].plot() # Dibuja las detecciones en el frame
21
- cv2.imshow("YOLOv8 Detecci贸n", annotated_frame)
22
 
23
- # Salir con la tecla "q"
24
- if cv2.waitKey(1) & 0xFF == ord('q'):
25
- break
26
 
27
  cap.release()
28
- cv2.destroyAllWindows()
 
2
  from ultralytics import YOLO
3
 
4
  # Cargar modelo YOLOv8 entrenado
5
+ model = YOLO("/home/izaskunmz/yolo/yolov8-object-detection/runs/detect/train_coco8/weights/best.pt")
6
 
7
  # Abrir v铆deo
8
  video_path = "/home/izaskunmz/yolo/yolov8-object-detection/raw-video/ny-traffic.mp4"
9
  cap = cv2.VideoCapture(video_path)
10
 
11
+ # Obtener dimensiones del video original
12
+ width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
13
+ height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
14
+ fps = int(cap.get(cv2.CAP_PROP_FPS))
15
+
16
+ # Definir el codec y crear el VideoWriter para guardar el resultado
17
+ output_path = "/home/izaskunmz/yolo/yolov8-object-detection/processed-video/ny-traffic-processed.mp4"
18
+ fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec para formato MP4
19
+ out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))
20
+
21
  while cap.isOpened():
22
  ret, frame = cap.read()
23
  if not ret:
 
26
  # Realizar detecci贸n en el frame
27
  results = model(frame)
28
 
29
+ # Obtener frame con anotaciones
30
+ annotated_frame = results[0].plot()
 
31
 
32
+ # Guardar el frame en el video de salida
33
+ out.write(annotated_frame)
 
34
 
35
  cap.release()
36
+ out.release() # Liberar el escritor de video
validate.py CHANGED
@@ -1,13 +1,13 @@
1
  from ultralytics import YOLO
2
 
3
  # Cargar el modelo entrenado
4
- model = YOLO("/home/izaskunmz/yolo/yolov8-object-detection/runs/detect/train_yolov8s_v4/weights/best.pt") # Aseg煤rate de que esta ruta sea correcta
5
 
6
  # Validar el modelo y guardar los resultados en la carpeta correcta
7
  metrics = model.val(
8
- data="/home/izaskunmz/yolo/yolov8-object-detection/datasets/combined/data.yaml",
9
  project="/home/izaskunmz/yolo/yolov8-object-detection/runs/val", # Define la carpeta donde se guardar谩n los resultados
10
- name="val", # Nombre del experimento
11
  exist_ok=True # Evita sobreescribir, crear谩 nuevas versiones numeradas
12
  )
13
 
 
1
  from ultralytics import YOLO
2
 
3
  # Cargar el modelo entrenado
4
+ model = YOLO("/home/izaskunmz/yolo/yolov8-object-detection/runs/detect/train_coco8/weights/best.pt") # Aseg煤rate de que esta ruta sea correcta
5
 
6
  # Validar el modelo y guardar los resultados en la carpeta correcta
7
  metrics = model.val(
8
+ data="/home/izaskunmz/yolo/yolov8-object-detection/datasets/coco8/data.yaml",
9
  project="/home/izaskunmz/yolo/yolov8-object-detection/runs/val", # Define la carpeta donde se guardar谩n los resultados
10
+ name="val_coco8", # Nombre del experimento
11
  exist_ok=True # Evita sobreescribir, crear谩 nuevas versiones numeradas
12
  )
13