Spaces:
Runtime error
Runtime error
Commit ·
e5b9cea
1
Parent(s): 70b3e07
Update
Browse files- run_opencv.py +11 -4
- utils/img_container.py +2 -2
run_opencv.py
CHANGED
|
@@ -35,6 +35,10 @@ class ArgParser(Tap):
|
|
| 35 |
|
| 36 |
id2label: Optional[str] = "labels/kinetics_400.json"
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
class ActivityModel:
|
| 40 |
def __init__(self, args: ArgParser):
|
|
@@ -77,9 +81,12 @@ class ActivityModel:
|
|
| 77 |
max_index = logits.argmax(-1).item()
|
| 78 |
predicted_label = self.model.config.id2label[max_index]
|
| 79 |
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
)
|
|
|
|
|
|
|
|
|
|
| 83 |
|
| 84 |
# logits = np.squeeze(logits)
|
| 85 |
logits = logits.squeeze().numpy()
|
|
@@ -105,7 +112,7 @@ class ActivityModel:
|
|
| 105 |
|
| 106 |
def main(args: ArgParser):
|
| 107 |
activity_model = ActivityModel(args)
|
| 108 |
-
img_container = ImgContainer(activity_model.frames_per_video)
|
| 109 |
|
| 110 |
num_skips = 0
|
| 111 |
|
|
|
|
| 35 |
|
| 36 |
id2label: Optional[str] = "labels/kinetics_400.json"
|
| 37 |
|
| 38 |
+
threshold: Optional[float] = 10.0
|
| 39 |
+
|
| 40 |
+
max_confidence: Optional[float] = 20.0 # Set None if not scale
|
| 41 |
+
|
| 42 |
|
| 43 |
class ActivityModel:
|
| 44 |
def __init__(self, args: ArgParser):
|
|
|
|
| 81 |
max_index = logits.argmax(-1).item()
|
| 82 |
predicted_label = self.model.config.id2label[max_index]
|
| 83 |
|
| 84 |
+
confidence = logits[0][max_index]
|
| 85 |
+
|
| 86 |
+
if (self.args.threshold is None) or (
|
| 87 |
+
self.args.threshold is not None and confidence >= self.args.threshold
|
| 88 |
+
):
|
| 89 |
+
img_container.frame_rate.label = f"{predicted_label}_{confidence:.2f}%"
|
| 90 |
|
| 91 |
# logits = np.squeeze(logits)
|
| 92 |
logits = logits.squeeze().numpy()
|
|
|
|
| 112 |
|
| 113 |
def main(args: ArgParser):
|
| 114 |
activity_model = ActivityModel(args)
|
| 115 |
+
img_container = ImgContainer(activity_model.frames_per_video, args.is_recording)
|
| 116 |
|
| 117 |
num_skips = 0
|
| 118 |
|
utils/img_container.py
CHANGED
|
@@ -7,13 +7,13 @@ from .frame_rate import FrameRate
|
|
| 7 |
|
| 8 |
|
| 9 |
class ImgContainer:
|
| 10 |
-
def __init__(self, frames_per_video: int = 8) -> None:
|
| 11 |
self.img: Optional[np.ndarray] = None # raw image
|
| 12 |
self.frame_rate: FrameRate = FrameRate()
|
| 13 |
self.imgs: List[np.ndarray] = []
|
| 14 |
self.frames_per_video = frames_per_video
|
| 15 |
self.rs: Optional[DataFrame] = None
|
| 16 |
-
self.is_recording
|
| 17 |
|
| 18 |
def add_frame(self, frame: np.ndarray) -> None:
|
| 19 |
if len(self.imgs) >= self.frames_per_video:
|
|
|
|
| 7 |
|
| 8 |
|
| 9 |
class ImgContainer:
|
| 10 |
+
def __init__(self, frames_per_video: int = 8, is_recording: bool = False) -> None:
|
| 11 |
self.img: Optional[np.ndarray] = None # raw image
|
| 12 |
self.frame_rate: FrameRate = FrameRate()
|
| 13 |
self.imgs: List[np.ndarray] = []
|
| 14 |
self.frames_per_video = frames_per_video
|
| 15 |
self.rs: Optional[DataFrame] = None
|
| 16 |
+
self.is_recording = is_recording
|
| 17 |
|
| 18 |
def add_frame(self, frame: np.ndarray) -> None:
|
| 19 |
if len(self.imgs) >= self.frames_per_video:
|