def alexnet_query_by_image(query_id): dq = Query.objects.get(id=query_id) start = TEvent() start.task_id = alexnet_query_by_image.request.id start.video_id = Video.objects.get(parent_query=dq).pk start.started = True start.operation = alexnet_query_by_image.name start.save() start_time = time.time() alexnet_query_by_image.refresh_index('alexnet') alexnet = alexnet_query_by_image.visual_indexer['alexnet'] Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT, visual_index=alexnet) results = Q.find(10) dq.results = True dq.results_metadata = json.dumps(results) for algo, rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq qr.frame_id = r['frame_primary_key'] qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.rank = r['rank'] qr.distance = r['dist'] qr.save() dq.save() start.completed = True start.seconds = time.time() - start_time start.save() return results
def facenet_query_by_image(query_id): dq = Query.objects.get(id=query_id) start = TEvent() start.video_id = Video.objects.get(parent_query=dq).pk start.started = True start.operation = facenet_query_by_image.name start.save() start_time = time.time() facenet_query_by_image.refresh_index('facenet') facenet = facenet_query_by_image.visual_indexer['facenet'] Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT,visual_index=facenet) results = Q.find(10) for algo,rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq dd = Detection.objects.get(pk=r['detection_primary_key']) qr.detection = dd qr.frame_id = dd.frame_id qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.rank = r['rank'] qr.distance = r['dist'] qr.save() dq.results = True dq.save() start.completed = True start.seconds = time.time() - start_time start.save() return results
def query_by_image(query_id): dq = Query.objects.get(id=query_id) start = TEvent() start.video_id = Video.objects.get(parent_query=dq).pk start.started = True start.operation = query_by_image.name start.save() start_time = time.time() Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT, frame_indexers=perform_indexing.frame_indexer, detection_indexers=perform_indexing.detection_indexer) index_entries = IndexEntries.objects.all() results = Q.find(10, index_entries) dq.results = True dq.results_metadata = json.dumps(results) for algo, rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq qr.frame_id = r['frame_primary_key'] qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.rank = r['rank'] qr.distance = r['dist'] qr.save() dq.save() start.completed = True start.seconds = time.time() - start_time start.save() return results
def query_by_image(query_id): dq = Query.objects.get(id=query_id) Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT) results = Q.find() dq.results = True for algo,rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq qr.frame_id = r['frame_primary_key'] qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.distance = r['dist'] qr.save() dq.results_metadata = json.dumps(results) dq.save() return results
def inception_query_by_image(query_id): dq = Query.objects.get(id=query_id) start = TEvent() start.task_id = inception_query_by_image.request.id start.video_id = Video.objects.get(parent_query=dq).pk start.started = True start.operation = inception_query_by_image.name start.save() start_time = time.time() inception = inception_query_by_image.visual_indexer['inception'] # if settings.MEDIA_BUCKET: # ensure_query(dq) Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT, visual_index=inception) exact = True # by default run exact search if dq.approximate: if inception_query_by_image.clusterer['inception'] is None: inception_query_by_image.load_clusterer('inception') clusterer = inception_query_by_image.clusterer['inception'] if clusterer: results = query_approximate(Q, dq.count, inception, clusterer) exact = False if exact: inception_query_by_image.refresh_index('inception') results = Q.find(dq.count) dq.results = True dq.results_metadata = json.dumps(results) for algo, rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq if 'detection_primary_key' in r: qr.detection_id = r['detection_primary_key'] qr.frame_id = r['frame_primary_key'] qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.rank = r['rank'] qr.distance = r['dist'] qr.save() dq.save() start.completed = True start.seconds = time.time() - start_time start.save() return results
def facenet_query_by_image(query_id): dq = Query.objects.get(id=query_id) start = TEvent() start.task_id = facenet_query_by_image.request.id start.video_id = Video.objects.get(parent_query=dq).pk start.started = True start.operation = facenet_query_by_image.name start.save() start_time = time.time() # if settings.MEDIA_BUCKET: # ensure_query(dq) facenet = facenet_query_by_image.visual_indexer['facenet'] Q = entity.WQuery(dquery=dq, media_dir=settings.MEDIA_ROOT, visual_index=facenet) exact = True if dq.approximate: if facenet_query_by_image.clusterer['facenet'] is None: facenet_query_by_image.load_clusterer('facenet') clusterer = facenet_query_by_image.clusterer['facenet'] if clusterer: results = query_approximate(Q, dq.count, facenet, clusterer) exact = False if exact: facenet_query_by_image.refresh_index('facenet') results = Q.find(dq.count) for algo, rlist in results.iteritems(): for r in rlist: qr = QueryResults() qr.query = dq dd = Region.objects.get(pk=r['detection_primary_key']) qr.detection = dd qr.frame_id = dd.frame_id qr.video_id = r['video_primary_key'] qr.algorithm = algo qr.rank = r['rank'] qr.distance = r['dist'] qr.save() dq.results = True dq.save() start.completed = True start.seconds = time.time() - start_time start.save() return results