[Model] Support Insightface model inferenceing on RKNPU (#1113)

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* 更新交叉编译

* Update issues.md

* Update fastdeploy_init.sh

* 更新交叉编译

* 更新insightface系列模型的rknpu2支持

* 更新insightface系列模型的rknpu2支持

* 更新说明文档

* 更新insightface

* 尝试解决pybind问题

Co-authored-by: Jason <928090362@qq.com>
Co-authored-by: Jason <jiangjiajun@baidu.com>
This commit is contained in:
Zheng-Bicheng
2023-01-14 20:40:33 +08:00
committed by GitHub
parent f88c662449
commit 1dabfdf3f1
21 changed files with 712 additions and 147 deletions
@@ -100,7 +100,6 @@ ArcFace模型加载和初始化,其中model_file为导出的ONNX模型格式
> > * **size**(list[int]): 通过此参数修改预处理过程中resize的大小,包含两个整型元素,表示[width, height], 默认值为[112, 112]
> > * **alpha**(list[float]): 预处理归一化的alpha值,计算公式为`x'=x*alpha+beta`alpha默认为[1. / 127.5, 1.f / 127.5, 1. / 127.5]
> > * **beta**(list[float]): 预处理归一化的beta值,计算公式为`x'=x*alpha+beta`beta默认为[-1.f, -1.f, -1.f]
> > * **swap_rb**(bool): 预处理是否将BGR转换成RGB,默认True
#### AdaFacePostprocessor的成员变量
以下变量为AdaFacePostprocessor的成员变量
@@ -3,7 +3,6 @@ import cv2
import numpy as np
# 余弦相似度
def cosine_similarity(a, b):
a = np.array(a)
b = np.array(b)
@@ -56,24 +55,17 @@ def build_option(args):
args = parse_arguments()
# 配置runtime,加载模型
runtime_option = build_option(args)
model = fd.vision.faceid.ArcFace(args.model, runtime_option=runtime_option)
# 加载图片
face0 = cv2.imread(args.face) # 0,1 同一个人
face1 = cv2.imread(args.face_positive)
face2 = cv2.imread(args.face_negative) # 0,2 不同的人
# 设置 l2 normalize
model.postprocessor.l2_normalize = True
# 预测图片检测结果
result0 = model.predict(face0)
result1 = model.predict(face1)
result2 = model.predict(face2)
# 计算余弦相似度
embedding0 = result0.embedding
embedding1 = result1.embedding
embedding2 = result2.embedding
@@ -81,7 +73,6 @@ embedding2 = result2.embedding
cosine01 = cosine_similarity(embedding0, embedding1)
cosine02 = cosine_similarity(embedding0, embedding2)
# 打印结果
print(result0, end="")
print(result1, end="")
print(result2, end="")
@@ -3,7 +3,6 @@ import cv2
import numpy as np
# 余弦相似度
def cosine_similarity(a, b):
a = np.array(a)
b = np.array(b)
@@ -56,24 +55,17 @@ def build_option(args):
args = parse_arguments()
# 配置runtime,加载模型
runtime_option = build_option(args)
model = fd.vision.faceid.CosFace(args.model, runtime_option=runtime_option)
# 加载图片
face0 = cv2.imread(args.face) # 0,1 同一个人
face0 = cv2.imread(args.face)
face1 = cv2.imread(args.face_positive)
face2 = cv2.imread(args.face_negative) # 0,2 不同的人
face2 = cv2.imread(args.face_negative)
# 设置 l2 normalize
model.postprocessor.l2_normalize = True
# 预测图片检测结果
result0 = model.predict(face0)
result1 = model.predict(face1)
result2 = model.predict(face2)
# 计算余弦相似度
embedding0 = result0.embedding
embedding1 = result1.embedding
embedding2 = result2.embedding
@@ -81,7 +73,6 @@ embedding2 = result2.embedding
cosine01 = cosine_similarity(embedding0, embedding1)
cosine02 = cosine_similarity(embedding0, embedding2)
# 打印结果
print(result0, end="")
print(result1, end="")
print(result2, end="")
@@ -3,7 +3,6 @@ import cv2
import numpy as np
# 余弦相似度
def cosine_similarity(a, b):
a = np.array(a)
b = np.array(b)
@@ -56,24 +55,18 @@ def build_option(args):
args = parse_arguments()
# 配置runtime,加载模型
runtime_option = build_option(args)
model = fd.vision.faceid.PartialFC(args.model, runtime_option=runtime_option)
# 加载图片
face0 = cv2.imread(args.face) # 0,1 同一个人
face0 = cv2.imread(args.face)
face1 = cv2.imread(args.face_positive)
face2 = cv2.imread(args.face_negative) # 0,2 不同的人
face2 = cv2.imread(args.face_negative)
# 设置 l2 normalize
model.postprocessor.l2_normalize = True
# 预测图片检测结果
result0 = model.predict(face0)
result1 = model.predict(face1)
result2 = model.predict(face2)
# 计算余弦相似度
embedding0 = result0.embedding
embedding1 = result1.embedding
embedding2 = result2.embedding
@@ -81,7 +74,6 @@ embedding2 = result2.embedding
cosine01 = cosine_similarity(embedding0, embedding1)
cosine02 = cosine_similarity(embedding0, embedding2)
# 打印结果
print(result0, end="")
print(result1, end="")
print(result2, end="")
@@ -3,7 +3,6 @@ import cv2
import numpy as np
# 余弦相似度
def cosine_similarity(a, b):
a = np.array(a)
b = np.array(b)
@@ -56,24 +55,17 @@ def build_option(args):
args = parse_arguments()
# 配置runtime,加载模型
runtime_option = build_option(args)
model = fd.vision.faceid.VPL(args.model, runtime_option=runtime_option)
# 加载图片
face0 = cv2.imread(args.face) # 0,1 同一个人
face1 = cv2.imread(args.face_positive)
face2 = cv2.imread(args.face_negative) # 0,2 不同的人
# 设置 l2 normalize
model.postprocessor.l2_normalize = True
# 预测图片检测结果
result0 = model.predict(face0)
result1 = model.predict(face1)
result2 = model.predict(face2)
# 计算余弦相似度
embedding0 = result0.embedding
embedding1 = result1.embedding
embedding2 = result2.embedding
@@ -81,7 +73,6 @@ embedding2 = result2.embedding
cosine01 = cosine_similarity(embedding0, embedding1)
cosine02 = cosine_similarity(embedding0, embedding2)
# 打印结果
print(result0, end="")
print(result1, end="")
print(result2, end="")