This commit is contained in:
Blake Blackshear
2020-02-18 06:11:02 -06:00
parent bb8e4621f5
commit 05951aa7da
3 changed files with 10 additions and 16 deletions

View File

@@ -27,7 +27,7 @@ def load_labels(path, encoding='utf-8'):
return {index: line.strip() for index, line in enumerate(lines)}
class ObjectDetector():
def __init__(self, model_file):
def __init__(self):
edge_tpu_delegate = None
try:
edge_tpu_delegate = load_delegate('libedgetpu.so.1.0')
@@ -61,7 +61,7 @@ class ObjectDetector():
return detections
class EdgeTPUProcess():
def __init__(self, model):
def __init__(self):
# TODO: see if we can use the plasma store with a queue and maintain the same speeds
try:
sa.delete("frame")
@@ -79,11 +79,11 @@ class EdgeTPUProcess():
self.detect_ready = mp.Event()
self.frame_ready = mp.Event()
self.fps = mp.Value('d', 0.0)
self.avg_inference_speed = mp.Value('d', 10.0)
self.avg_inference_speed = mp.Value('d', 0.01)
def run_detector(model, detect_ready, frame_ready, fps, avg_speed):
def run_detector(detect_ready, frame_ready, fps, avg_speed):
print(f"Starting detection process: {os.getpid()}")
object_detector = ObjectDetector(model)
object_detector = ObjectDetector()
input_frame = sa.attach("frame")
detections = sa.attach("detections")
fps_tracker = EventsPerSecond()
@@ -103,7 +103,7 @@ class EdgeTPUProcess():
duration = datetime.datetime.now().timestamp()-start
avg_speed.value = (avg_speed.value*9 + duration)/10
self.detect_process = mp.Process(target=run_detector, args=(model, self.detect_ready, self.frame_ready, self.fps, self.avg_inference_speed))
self.detect_process = mp.Process(target=run_detector, args=(self.detect_ready, self.frame_ready, self.fps, self.avg_inference_speed))
self.detect_process.daemon = True
self.detect_process.start()