def find_interesting_object(classifier, wc_paths): for i, path in enumerate(wc_paths): print i cam = Webcam(online=False, path=path) for i in range(10): cam.update() for patch in cam.patches(squareSize=227): if patch is not None: rankings = classifier.rankings(patch) for label, idx, prob in rankings: if label == 'human' and prob > 0.015: print rankings cv2.imshow('patch', patch) cv2.waitKey(0)
from detector.Webcam import Webcam from classify.classifier import ReferenceClassifier from classify.classifier import CamClassifier parser = argparse.ArgumentParser() parser.add_argument("frames_dir", help = "Directory containing webcam image folders") parser.add_argument("num_webcams", help = "Number of webcams to sample", type = int) args = parser.parse_args() frames_dir = args.frames_dir num_webcams = args.num_webcams wc_paths = [os.path.join(frames_dir, fn) for fn in os.listdir(frames_dir)] wc_paths = random.sample(wc_paths, num_webcams) classifier = CamClassifier() classifier.set_batch_size(1) while True: for path in wc_paths: cam = Webcam(online=False, path=path) for i in range(5): cam.update() overlay = cam.filtered_overlay(classifier, squareSize=227) if overlay is not None: cv2.imshow('overlay', overlay) cv2.waitKey(0)
label, idx, prob = ranking if label != 'noise' and prob > 0.5: if prob > K_HUMAN_THRESH: print rankings cv2.imshow('patch', patch) cv2.waitKey(0) return def find_human(classifier, cams): for i, cam in enumerate(cams): print i find_human_in_cam(classifier, cam) for i in range(5): # map(lambda c: c.update(), cams) webcam.update() def find_interesting_object(classifier, wc_paths): for i, path in enumerate(wc_paths): print i cam = Webcam(online=False, path=path) for i in range(10): cam.update() for patch in cam.patches(squareSize=227): if patch is not None: rankings = classifier.rankings(patch) for label, idx, prob in rankings: if label == 'human' and prob > 0.015: print rankings cv2.imshow('patch', patch) cv2.waitKey(0)