def worker(input_q, output_q): # Load a (frozen) Tensorflow model into memory. detection_graph = tf.Graph() with detection_graph.as_default(): od_graph_def = tf.GraphDef() with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid: serialized_graph = fid.read() od_graph_def.ParseFromString(serialized_graph) tf.import_graph_def(od_graph_def, name='') sess = tf.Session(graph=detection_graph) fps = FPS().start() while True: fps.update() frame = input_q.get() output_q.put(detect_objects(frame, sess, detection_graph)) fps.stop() sess.close()
def worker(input_q, output_q): fps = FPS().start() while True: fps.update() frame = input_q.get() output_q.put(segment_img(frame, sess)) fps.stop() sess.close()
def worker(input_q, output_q): # Load a (frozen) Tensorflow model into memory. detection_graph = tf.Graph() with detection_graph.as_default(): od_graph_def = tf.GraphDef() with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid: serialized_graph = fid.read() od_graph_def.ParseFromString(serialized_graph) tf.import_graph_def(od_graph_def, name='') config = tf.ConfigProto(device_count={'GPU': 0}) sess = tf.Session(graph=detection_graph, config=config) fps = FPS().start() while True: fps.update() frame = input_q.get() frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) output_q.put(detect_objects(frame_rgb, sess, detection_graph)) fps.stop() sess.close()
args = parser.parse_args() logger = multiprocessing.log_to_stderr() logger.setLevel(multiprocessing.SUBDEBUG) input_q = Queue(maxsize=args.queue_size) output_q = Queue(maxsize=args.queue_size) process = Process(target=worker, args=((input_q, output_q))) process.daemon = True pool = Pool(args.num_workers, worker, (input_q, output_q)) video_capture = WebcamVideoStream(src=args.video_source, width=args.width, height=args.height).start() fps = FPS().start() while True: # fps._numFrames < 120 frame = video_capture.read() input_q.put(frame) t = time.time() cv2.imshow('Video', output_q.get()) fps.update() print('[INFO] elapsed time: {:.2f}'.format(time.time() - t)) if cv2.waitKey(1) & 0xFF == ord('q'): break
input_q = Queue(5) # fps is better if queue is higher but then more lags output_q = Queue() for i in range(1): t = Thread(target=worker, args=(input_q, output_q)) t.daemon = True t.start() my_file = "/home/pcroot/Desktop/ABODA-master/video11.avi" my_file_path = Path(my_file) if not my_file_path.is_file(): print("Video does not exist") exit() stream = cv2.VideoCapture(my_file) # stream = cv2.VideoCapture(0) fps = FPS().start() first_run = True (ret, frame) = stream.read() while not ret: (ret, frame) = stream.read() frame = imutils.resize(frame, width=450) adjusted = adjust_gamma(frame, gamma=gamma) # gamma correction frame = adjusted (height, width, channel) = frame.shape image_shape = (height, width) rgb = IntensityProcessing(image_shape) bbox_last_frame_proposals = [] static_objects = [] count = 0