reab5555 commited on
Commit
5813a90
·
verified ·
1 Parent(s): a63d0d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -3
app.py CHANGED
@@ -6,7 +6,8 @@ from transformers import Owlv2Processor, Owlv2ForObjectDetection
6
  import numpy as np
7
  import os
8
 
9
- device = 'cuda'
 
10
 
11
  processor = Owlv2Processor.from_pretrained("google/owlv2-base-patch16")
12
  model = Owlv2ForObjectDetection.from_pretrained("google/owlv2-base-patch16").to(device)
@@ -32,7 +33,7 @@ def detect_objects_in_frame(image, target):
32
  boxes, scores, labels = results[i]["boxes"], results[i]["scores"], results[i]["labels"]
33
 
34
  for box, score, label in zip(boxes, scores, labels):
35
- if score.item() >= 0.5:
36
  box = [round(i, 2) for i in box.tolist()]
37
  object_label = text[label]
38
  confidence = round(score.item(), 3)
@@ -58,10 +59,11 @@ def process_video(video_path, target, progress=gr.Progress()):
58
  frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
59
  original_fps = int(cap.get(cv2.CAP_PROP_FPS))
60
  original_duration = frame_count / original_fps
 
61
 
62
  output_path = "output_video.mp4"
63
  fourcc = cv2.VideoWriter_fourcc(*'mp4v')
64
- out = cv2.VideoWriter(output_path, fourcc, original_fps, (int(cap.get(3)), int(cap.get(4))))
65
 
66
  batch_size = 64
67
  frames = []
@@ -71,6 +73,9 @@ def process_video(video_path, target, progress=gr.Progress()):
71
  if not ret:
72
  break
73
 
 
 
 
74
  pil_img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
75
  frames.append(pil_img)
76
 
 
6
  import numpy as np
7
  import os
8
 
9
+ # Check if CUDA is available, otherwise use CPU
10
+ device = 'cuda' if torch.cuda.is_available() else 'cpu'
11
 
12
  processor = Owlv2Processor.from_pretrained("google/owlv2-base-patch16")
13
  model = Owlv2ForObjectDetection.from_pretrained("google/owlv2-base-patch16").to(device)
 
33
  boxes, scores, labels = results[i]["boxes"], results[i]["scores"], results[i]["labels"]
34
 
35
  for box, score, label in zip(boxes, scores, labels):
36
+ if score.item() >= 0.25:
37
  box = [round(i, 2) for i in box.tolist()]
38
  object_label = text[label]
39
  confidence = round(score.item(), 3)
 
59
  frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
60
  original_fps = int(cap.get(cv2.CAP_PROP_FPS))
61
  original_duration = frame_count / original_fps
62
+ output_fps = 5
63
 
64
  output_path = "output_video.mp4"
65
  fourcc = cv2.VideoWriter_fourcc(*'mp4v')
66
+ out = cv2.VideoWriter(output_path, fourcc, output_fps, (int(cap.get(3)), int(cap.get(4))))
67
 
68
  batch_size = 64
69
  frames = []
 
73
  if not ret:
74
  break
75
 
76
+ if frame % (original_fps // output_fps) != 0:
77
+ continue
78
+
79
  pil_img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
80
  frames.append(pil_img)
81