Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ ls
- compare2.py Dockerfile root
- $ cat compare2.py
- #! /usr/bin/env python
- from flask import Flask, request
- import flask
- from PIL import Image
- from io import BytesIO
- import base64
- import numpy as np
- import argparse
- import cv2
- import itertools
- import os
- import numpy as np
- np.set_printoptions(precision=10)
- import openface
- fileDir = os.path.dirname(os.path.realpath(__file__))
- modelDir = os.path.join(fileDir, '/root/openface/', 'models')
- dlibModelDir = os.path.join(modelDir, 'dlib')
- openfaceModelDir = os.path.join(modelDir, 'openface')
- parser = argparse.ArgumentParser()
- parser.add_argument('--dlibFacePredictor', type=str, help="Path to dlib's face predictor.",
- default=os.path.join(dlibModelDir, "shape_predictor_68_face_landmarks.dat"))
- parser.add_argument('--networkModel', type=str, help="Path to Torch network model.",
- default=os.path.join(openfaceModelDir, 'nn4.small2.v1.t7'))
- parser.add_argument('--imgDim', type=int,
- help="Default image dimension.", default=96)
- parser.add_argument('--verbose', action='store_true')
- args = parser.parse_args()
- app = Flask(__name__)
- align = openface.AlignDlib(args.dlibFacePredictor)
- net = openface.TorchNeuralNet(args.networkModel, args.imgDim)
- @app.route("/search", methods=['POST'])
- def get_search():
- image_str = request.form['image']
- im = Image.open(BytesIO(base64.b64decode(image_str)))
- rgbImg = np.array(im)
- print rgbImg.shape
- bgrImg = cv2.cvtColor(rgbImg, cv2.COLOR_RGB2BGR)
- rgbImg = cv2.cvtColor(bgrImg, cv2.COLOR_BGR2RGB)
- print rgbImg.shape
- try:
- bb = align.getLargestFaceBoundingBox(rgbImg)
- alignedFace = align.align(args.imgDim, rgbImg, bb,
- landmarkIndices=openface.AlignDlib.OUTER_EYES_AND_NOSE)
- rep = net.forward(alignedFace)
- return flask.jsonify(rep.tolist())
- except:
- return flask.jsonify("ERROR")
- if __name__ == '__main__':
- app.run(debug=True, host='0.0.0.0', port=8000)
- $ cat Dockerfile
- FROM bamos/openface
- RUN apt-get install python-pip
- RUN pip install flask
- RUN pip install numpy
- ADD compare2.py /root/demos/compare2.py
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement