def get_cluster_faces(): params = request.get_json() db.connect(os.path.join(params['data_dir'], params['dbfile']), args.debug) res = db.get_cluster_faces(**params) db.close() return jsonify(res)
def compute_similarities(): params = request.get_json() start_time = time.time() db.connect(os.path.join(params['data_dir'], params['dbfile']), args.debug) num_faces, num_similarities, num_clusters = faceid.compute_similarities( **params) db.close() elapsed = time.time() - start_time res = { 'num_similarities': num_similarities, 'num_clusters': num_clusters, 'num_faces': num_faces, 'elapsed': elapsed } return jsonify(res)
def scan(): params = request.get_json() data_dir = params['data_dir'] dbfile = params['dbfile'] source = params['source'] files = params['files'] if faceid.args.save_resized: faceid.makedirs(os.path.join(data_dir, faceid.args.save_resized)) if faceid.args.save_faces: faceid.makedirs(os.path.join(data_dir, faceid.args.save_faces)) start_time = time.time() db.connect(os.path.join(data_dir, dbfile), args.debug) num_files = 0 num_images = 0 num_faces = 0 results = [] for file in files: relpath = file['relpath'] del file['relpath'] file_images, file_faces, res = faceid.process_file( data_dir, relpath, source, **file) num_files += 1 num_images += file_images num_faces += file_faces results += res db.close() elapsed = time.time() - start_time res = { 'num_files': num_files, 'num_images': num_images, 'num_faces': num_faces, 'elapsed': elapsed, 'images_per_s': num_images / elapsed, 'files': results } return jsonify(res)