コード例 #1
0
ファイル: insightface.py プロジェクト: xiyou1024/CompreFace
 def __init__(self):
     super().__init__()
     self._detection_model = FaceAnalysis(
         det_name=self.DETECTION_MODEL_NAME, rec_name=None, ga_name=None)
     self._calculation_model = model_zoo.get_model(
         self.CALCULATION_MODEL_NAME)
     self._CTX_ID_CPU = -1
     self._NMS = 0.4
     self._detection_model.prepare(ctx_id=self._CTX_ID_CPU, nms=self._NMS)
     self._calculation_model.prepare(ctx_id=self._CTX_ID_CPU)
     self.det_prob_threshold = 0.8
コード例 #2
0
    def __init__(self, options):
        '''
        Constructor
        '''
        #import insightface
        from insightface.app import FaceAnalysis

        os.environ['MXNET_CUDNN_AUTOTUNE_DEFAULT'] = '0'
        # kwargs = {'root':os.path.join(options.storage_dir,'models')}
        #load Retina face model

        if options.gpuid == -1:
            ctx_id = -1
        else:
            ctx_id = int(options.gpuid)

        #self.app = FaceAnalysis(allowed_modules=['detection','recognition'])
        self.app = FaceAnalysis()
        self.app.prepare(ctx_id=0, det_size=(640, 640))

        print("InsightFaces Models Loaded.")
コード例 #3
0
import cv2
import numpy as np
import os
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image

if __name__ == '__main__':
    app = FaceAnalysis(allowed_modules=['detection', 'landmark_2d_106'])
    app.prepare(ctx_id=0, det_size=(640, 640))
    img = ins_get_image('t1')
    faces = app.get(img)
    #assert len(faces)==6
    tim = img.copy()
    color = (200, 160, 75)
    for face in faces:
        lmk = face.landmark_2d_106
        lmk = np.round(lmk).astype(np.int)
        for i in range(lmk.shape[0]):
            p = tuple(lmk[i])
            cv2.circle(tim, p, 1, color, 1, cv2.LINE_AA)
    cv2.imwrite('./test_out.jpg', tim)

コード例 #4
0
# pip install onnxruntime

import argparse
import cv2
import sys
import numpy as np
import insightface
from insightface.app import FaceAnalysis

assert insightface.__version__>='0.2'

parser = argparse.ArgumentParser(description='insightface test')
# general
parser.add_argument('--ctx', default=0, type=int, help='ctx id, <0 means using cpu')
args = parser.parse_args()

app = FaceAnalysis(name='antelope')
app.prepare(ctx_id=args.ctx, det_size=(640,640))

img = cv2.imread('katya1.jpg')
faces = app.get(img)
assert len(faces)==1 #6
rimg = app.draw_on(img, faces)
cv2.imwrite("./katya1_out.jpg", rimg)
print(len(faces))
for face in faces:
    print(face.bbox)
    print(face.kps)
    print(face.embedding.shape)

コード例 #5
0
 def __init__(self) -> None:
     self.app = FaceAnalysis()
     # ctx id, <0 means using cpu
     self.app.prepare(ctx_id=0, det_size=(640, 640))
コード例 #6
0
import argparse
import cv2
import sys
import numpy as np
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image


parser = argparse.ArgumentParser(description='insightface gender-age test')
# general
parser.add_argument('--ctx', default=0, type=int, help='ctx id, <0 means using cpu')
args = parser.parse_args()

app = FaceAnalysis(allowed_modules=['detection', 'genderage'])
app.prepare(ctx_id=args.ctx, det_size=(640,640))

img = ins_get_image('t1')
faces = app.get(img)
assert len(faces)==6
for face in faces:
    print(face.bbox)
    print(face.sex, face.age)

コード例 #7
0
import sys
import glob
import torch
import pickle
import os
import numpy as np
import cv2
import os.path as osp
import insightface
from insightface.app import FaceAnalysis
from insightface.utils import face_align

app = FaceAnalysis()
app.prepare(ctx_id=0, det_size=(224, 224))
output_size = 384

input_dir = '/root/codebase/FaceSynthetics'
output_dir = 'data/synthetics'

if not osp.exists(output_dir):
    os.makedirs(output_dir)

X = []
Y = []

for i in range(0, 100000):
    if i % 1000 == 0:
        print('loading', i)
    x = "%06d.png" % i
    img_path = osp.join(input_dir, x)
    img = cv2.imread(img_path)