insightface

import face_model
import argparse
import cv2
import sys
import numpy as np

parser = argparse.ArgumentParser(description='face model test')
# general
parser.add_argument('--image-size', default='112,112', help='')
parser.add_argument('--model', default='', help='path to load model.')
parser.add_argument('--ga-model', default='', help='path to load model.')
parser.add_argument('--gpu', default=0, type=int, help='gpu id')
parser.add_argument('--det', default=0, type=int, help='mtcnn option, 1 means using R+O, 0 means detect from begining')
parser.add_argument('--flip', default=0, type=int, help='whether do lr flip aug')
parser.add_argument('--threshold', default=1.24, type=float, help='ver dist threshold')
args = parser.parse_args()

model = face_model.FaceModel(args)
img = cv2.imread('Tom_Hanks_54745.png')
img = model.get_input(img)
#f1 = model.get_feature(img)
#print(f1[0:10])
gender, age = model.get_ga(img)
print(gender)
print(age)
sys.exit(0)
img = cv2.imread('/raid5data/dplearn/megaface/facescrubr/112x112/Tom_Hanks/Tom_Hanks_54733.png')
f2 = model.get_feature(img)
dist = np.sum(np.square(f1-f2))
print(dist)
sim = np.dot(f1, f2.T)
print(sim)
#diff = np.subtract(source_feature, target_feature)
#dist = np.sum(np.square(diff),1)

 

import face_model
import argparse
import cv2
import sys
import numpy as np

导入命令行解析模块 

 

parser = argparse.ArgumentParser(description='face model test')

 创建对象
将括号内的内容赋值给parser

 

parser.add_argument('--image-size', default='112,112', help='')
parser.add_argument('--model', default='', help='path to load model.')
parser.add_argument('--ga-model', default='', help='path to load model.')
parser.add_argument('--gpu', default=0, type=int, help='gpu id')
parser.add_argument('--det', default=0, type=int, help='mtcnn option, 1 means using R+O, 0 means detect from begining')
parser.add_argument('--flip', default=0, type=int, help='whether do lr flip aug')
parser.add_argument('--threshold', default=1.24, type=float, help='ver dist threshold')
  • parser.add_argument 读入命令行参数。
  • name or flags :必须的参数,包括有选项参数或者是位置参数,例如'--image-size'即为选项参数。在终端时需要输入别名以及对应的值。
  • default:当你没有在终端输入参数值时,需要用到默认值,由这个参数确定,默认为None。
  • help:使用这个参数描述选项作用。
  • type:使用这个参数,转换输入参数的具体类型,这个参数可以关联到某个自定义的处理函数,这种函数通常用来检查值的范围,以及合法性。​​​​​​​
  1. ​​图片尺寸为112*112
  2. 载入模型model(人脸识别)的路径
  3. 载入模型ga-model(年龄性别)的路径
  4. gpu id = 0 ,且必须为整数
  5. det = 0,必须为整数,1表示使用R+0,0表示从新检测
  6. flip = 0
  7. threshold = 1.24
args = parser.parse_args()

解析程序的命令行

model = face_model.FaceModel(args)
img = cv2.imread('Tom_Hanks_54745.png')
img = model.get_input(img)

加载人脸识别模型,读取图片,模型加载图片

#f1 = model.get_feature(img)
#print(f1[0:10])

获取并且输出特征

gender, age = model.get_ga(img)
print(gender)
print(age)
sys.exit(0)

加载性别年龄模型。显示性别和年龄。正常退出。

img = cv2.imread('/raid5data/dplearn/megaface/facescrubr/112x112/Tom_Hanks/Tom_Hanks_54733.png')
f2 = model.get_feature(img)

读取图片并获取特征值

dist = np.sum(np.square(f1-f2))
print(dist)
sim = np.dot(f1, f2.T)
print(sim)
#diff = np.subtract(source_feature, target_feature)
#dist = np.sum(np.square(diff),1)

计算并显示f1和f2的差值

计算并显示f1和f2的矩阵乘积的值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值