1. 参考博客和代码、模型仓库:
1.1. 【C++随记】collect2: error: ld returned 1 exit status错误分析与解决
1.2. Visual Studio 2022新建 cmake 工程测试 tensorRT 自带样例 sampleOnnxMNIST
1.3.报错:ModuleNotFoundError: No module named ‘tensorrt’
1.4. 推荐使用:Amirstan_plugin - 助力TensorRT高效能优化
1.5. 利用TensorRT实现神经网络提速(读取ONNX模型并运行)
1.6. Ubuntu下安装CUDA
1.7. 【Python】成功解决ModuleNotFoundError: No module named ‘packaging’
1.8. pytorch模型(.pth)转tensorrt模型(.engine)的几种方式
1.9. pytorch模型(.pth)转tensorrt模型(.engine)几种方式
1.10. 【Debug】TensorRT报错汇总
1.11. ace-recognition-cpp-tensorrt
1.12. arcFace 模型下载地址
1.13. retinaFace 模型下载地址
2. 下载代码( github 仓库地址:https://github.com/nghiapq77/face-recognition-cpp-tensorrt)
3. 修改代码:
face-recognition-cpp-tensorrt 仓库是一个功能完备的项目,包括请求、人脸检测、人脸识别( 特征向量计算 )、保存数据库、人脸特征向量相似度计算,由于本人只是想快速验证一下使用 arcFace 计算人脸特征向量是否靠谱,再加上本人对 c++ 不是很熟悉,不想花费大量的时间用在环境安装上,所以我对代码做了精简,只摘出了使用 arcface 计算人脸特征向量的部分,以下是我摘出的 arcface 部分的完整代码:
3.1. 代码结构:
arcface_test/
conversion/
torch2trt.py // 未修改
cpp/
arcface.cpp
common.cpp
include/
arcface.h
common.h
face_images/
xxx
models/
backbone_ir50_asia.pth // 下载地址:https://github.com/ZhaoJ9014/face.evoLVe#model-zoo( xxx仓库的 readme 中也有下载链接引导,我下载的是IR-50 Private Asia Face Data 亚洲人脸的) )
test.cpp
CMakeLists.txt
3.2. arcface.cpp:
#include "arcface.h"
void getCroppedFaces(cv::Mat frame, std::vector<struct Bbox> &outputBbox, int resize_w, int resize_h, std::vector<struct CroppedFace> &croppedFaces) {
croppedFaces.clear();
for (std::vector<struct Bbox>::iterator it = outputBbox.begin(); it != outputBbox.end(); it++) {
cv::Rect facePos(cv::Point((*it).y1, (*it).x1), cv::Point((*it).y2, (*it).x2));
cv::Mat tempCrop = frame(facePos);
struct CroppedFace currFace;
cv::resize(tempCrop, currFace.faceMat, cv::Size(resize_h, resize_w), 0, 0, cv::INTER_CUBIC);
currFace.face = currFace.faceMat.clone();
currFace.x1 = it->x1;
currFace.y1 = it->y1;
currFace.x2 = it->x2;
currFace.y2 = it->y2;
croppedFaces.push_back(currFace);
}
}
int ArcFaceIR50::classCount = 0;
ArcFaceIR50::ArcFaceIR50(TRTLogger gLogger, const std::string engineFile, int frameWidth, int frameHeight, std::string inputName, std::string outputName,
std::vector<int> inputShape, int outputDim, int maxBatchSize, int maxFacesPerScene, float knownPersonThreshold) {
m_frameWidth = static_cast<const int>(frameWidth);
m_frameHeight = static_cast<const int>(frameHeight);
assert(inputShape.size() == 3);
m_INPUT_C = static_cast<const int>(inputShape[0]);
m_INPUT_H = static_cast<const int>(inputShape[1]);
m_INPUT_W = static_cast<const int>(inputShape[2]);
m_OUTPUT_D = static_cast<const int>(outputDim);
m_INPUT_SIZE = static_cast<const int>(m_INPUT_C * m_INPUT_H * m_INPUT_W * sizeof(float));
m_OUTPUT_SIZE = static_cast<const int>(m_OUTPUT_D * sizeof(float));
m_maxBatchSize = static_cast<const int>(maxBatchSize);
m_embed = new float[m_OUTPUT_D];
croppedFaces.reserve(maxFacesPerScene);
m_embeds = new float[maxFacesPerScene * m_OUTPUT_D];
m_knownPersonThresh = knownPersonThreshold;
// load engine from .engine file or create new engine
loadEngine(gLogger, engineFile);
// create stream and pre-allocate GPU buffers memory
preInference(inputName, outputName);
}
void ArcFaceIR50::loadEngine(TRTLogger gLogger, const std::string engineFile) {
if (fileExists(engineFile)) {
std::cout << "[INFO] Loading ArcFace Engine...\n";
std::vector<char> trtModelStream_;
size_t size{0};
std::ifstream file(engineFile, std::ios::binary);
if (file.good()) {
file.seekg(0, file.end);
size = file.tellg();
file.seekg(0, file.beg);
trtModelStream_.resize(size);
file.read(trtModelStream_.data(), size);
file.close();
}
nvinfer1::IRuntime *runtime = nvinfer1::createInferRuntime(gLogger);
assert(runtime != nullptr);
m_engine = runtime->deserializeCudaEngine(trtModelStream_.data(), size);
assert(m_engine != nullptr);
m_context = m_engine->createExecutionContext();
assert(m_context != nullptr);
} else {
throw std::logic_error("Cant find engine file");
}
}
void ArcFaceIR50::preInference() {
// Engine requires exactly IEngine::getNbBindings() number of buffers.
assert(m_engine->getNbBindings() == 2);
// In order to bind the buffers, we need to know the names of the input and
// output tensors. Note that indices are guaranteed to be less than IEngine::getNbBindings()
inputIndex = m_engine->getBindingIndex("input");
outputIndex = m_engine->getBindingIndex("output");
// Create GPU buffers on device
cudaMalloc(&buffers[inputIndex], m_maxBatchSize * m_INPUT_SIZE);
cudaMalloc(&buffers[outputIndex], m_maxBatchSize * m_OUTPUT_SIZE);
// Create stream
cudaStreamCreate(&stream);
}
void ArcFaceIR50::preInference(std::string inputName, std::string outputName) {
// Engine requires exactly IEngine::getNbBindings() number of buffers.
assert(m_engine->getNbBindings() == 2);
// In order to bind the buffers, we need to know the names of the input and
// output tensors. Note that indices are guaranteed to be less than IEngine::getNbBindings()
inputIndex = m_engine->getBindingIndex(inputName.c_str());
outputIndex = m_engine->getBindingIndex(outputName.c_str());
// Create GPU buffers on device
cudaMalloc(&buffers[inputIndex], m_maxBatchSize * m_INPUT_SIZE);
cudaMalloc(&buffers[outputIndex], m_maxBatchSize * m_OUTPUT_SIZE);
// Create stream
cudaStreamCreate(&stream);
}
void ArcFaceIR50::preprocessFace(cv::Mat &face, cv::Mat &output) {
cv::cvtColor(face, face, cv::COLOR_BGR2RGB);
face.convertTo(face, CV_32F);
face = (face - cv::Scalar(127.5, 127.5, 127.5)) * 0.0078125;
std::vector<cv::Mat> temp;
cv::split(face, temp);
for (int i = 0; i < temp.size(); i++) {
output.push_back(temp[i]);
}
}
void ArcFaceIR50::preprocessFaces() {
for (int i = 0; i < croppedFaces.size(); i++) {
cv::cvtColor(croppedFaces[i].faceMat, croppedFaces[i].faceMat, cv::COLOR_BGR2RGB);
croppedFaces[i].faceMat.convertTo(croppedFaces[i].faceMat, CV_32F);
croppedFaces[i].faceMat = (croppedFaces[i].faceMat - cv::Scalar(127.5, 127.5, 127.5)) * 0.0078125;
std::vector<cv::Mat> temp;
cv::split(croppedFaces[i].faceMat, temp);
for (int i = 0; i < temp.size(); i++) {
m_input.push_back(temp[i]);
}
croppedFaces[i].faceMat = m_input.clone();
m_input.release();
}
}
void ArcFaceIR50::doInference(float *input, float *output) {
// DMA input batch data to device, infer on the batch asynchronously, and DMA output back to host
cudaMemcpyAsync(buffers[inputIndex], input, m_INPUT_SIZE, cudaMemcpyHostToDevice, stream);
m_context->enqueueV2(buffers, stream, nullptr);
cudaMemcpyAsync(output, buffers[outputIndex], m_OUTPUT_SIZE, cudaMemcpyDeviceToHost, stream);
cudaStreamSynchronize(stream);
}
void ArcFaceIR50::doInference(float *input, float *output, int batchSize) {
// Set input dimensions
m_context->setBindingDimensions(inputIndex, nvinfer1::Dims4(batchSize, m_INPUT_C, m_INPUT_H, m_INPUT_W));
// DMA input batch data to device, infer on the batch asynchronously, and DMA output back to host
cudaMemcpyAsync(buffers[inputIndex], input, batchSize * m_INPUT_SIZE, cudaMemcpyHostToDevice, stream);
m_context->enqueueV2(buffers, stream, nullptr);
cudaMemcpyAsync(output, buffers[outputIndex], batchSize * m_OUTPUT_SIZE, cudaMemcpyDeviceToHost, stream);
cudaStreamSynchronize(stream);
}
void ArcFaceIR50::addEmbedding(const std::string className, float embedding[]) {
classNames.push_back(className);
std::copy(embedding, embedding + m_OUTPUT_D, m_knownEmbeds + classCount * m_OUTPUT_D);
classCount++;
}
void ArcFaceIR50::addEmbedding(const std::string className, std::vector<float> embedding) {
classNames.push_back(className);
std::copy(embedding.begin(), embedding.end(), m_knownEmbeds + classCount * m_OUTPUT_D);
classCount++;
}
void ArcFaceIR50::initKnownEmbeds(int num) { m_knownEmbeds = new float[num * m_OUTPUT_D]; }
void ArcFaceIR50::forward(cv::Mat frame, std::vector<struct Bbox> outputBbox) {
getCroppedFaces(frame, outputBbox, m_INPUT_W, m_INPUT_H, croppedFaces);
preprocessFaces();
if (m_maxBatchSize < 2) {
for (int i = 0; i < croppedFaces.size(); i++) {
doInference((float *)croppedFaces[i].faceMat.ptr<float>(0), m_embed);
std::copy(m_embed, m_embed + m_OUTPUT_D, m_embeds + i * m_OUTPUT_D);
}
std::cout << "---------------------------------------------------" << std::endl;
std::cout << "[";
for (int i = 0; i < m_OUTPUT_D; ++i) {
std::cout << m_embed[i] << ",";
}
std::cout << "]" << std::endl;
std::cout << "---------------------------------------------------" << std::endl;
} else {
int num = croppedFaces.size();
int end = 0;
for (int beg = 0; beg < croppedFaces.size(); beg = beg + m_maxBatchSize) {
end = std::min(num, beg + m_maxBatchSize);
cv::Mat input;
for (int i = beg; i < end; ++i) {
input.push_back(croppedFaces[i].faceMat);
}
doInference((float *)input.ptr<float>(0), m_embed, end - beg);
std::copy(m_embed, m_embed + (end - beg) * m_OUTPUT_D, m_embeds + (end - beg) * beg * m_OUTPUT_D);
}
std::cout << "---------------------------------------------------" << std::endl;
std::cout << "[";
for (int i = 0; i < m_OUTPUT_D; ++i) {
std::cout << m_embed[i] << ",";
}
std::cout << "]" << std::endl;
std::cout << "---------------------------------------------------" << std::endl;
}
}
std::tuple<std::vector<std::string>, std::vector<float>> ArcFaceIR50::getOutputs(float *output_sims) {
/*
Get person corresponding to maximum similarity score based on cosine similarity matrix.
*/
std::vector<std::string> names;
std::vector<float> sims;
for (int i = 0; i < croppedFaces.size(); ++i) {
int argmax = std::distance(output_sims + i * classCount, std::max_element(output_sims + i * classCount, output_sims + (i + 1) * classCount));
float sim = *(output_sims + i * classCount + argmax);
std::string name = classNames[argmax];
names.push_back(name);
sims.push_back(sim);
}
return std::make_tuple(names, sims);
}
void ArcFaceIR50::visualize(cv::Mat &image, std::vector<std::string> names, std::vector<float> sims) {
for (int i = 0; i < croppedFaces.size(); ++i) {
float fontScaler = static_cast<float>(croppedFaces[i].x2 - croppedFaces[i].x1) / static_cast<float>(m_frameWidth);
cv::Scalar color;
if (sims[i] >= m_knownPersonThresh)
color = cv::Scalar(0, 255, 0);
else
color = cv::Scalar(0, 0, 255);
cv::rectangle(image, cv::Point(croppedFaces[i].y1, croppedFaces[i].x1), cv::Point(croppedFaces[i].y2, croppedFaces[i].x2), color, 2, 8, 0);
cv::putText(image, names[i] + " " + std::to_string(sims[i]), cv::Point(croppedFaces[i].y1 + 2, croppedFaces[i].x2 - 3), cv::FONT_HERSHEY_DUPLEX,
0.1 + 2 * fontScaler, color, 1);
}
}
void ArcFaceIR50::resetEmbeddings() {
classCount = 0;
classNames.clear();
}
ArcFaceIR50::~ArcFaceIR50() {
// Release stream and buffers
cudaStreamDestroy(stream);
cudaFree(buffers[inputIndex]);
cudaFree(buffers[outputIndex]);
}
3.3. common.cpp:
#include "common.h"
bool fileExists(const std::string &name) {
std::ifstream f(name.c_str());
return f.good();
}
void getFilePaths(std::string rootPath, std::vector<struct Paths> &paths) {
DIR *dir;
struct dirent *entry;
std::string postfix = ".jpg";
if ((dir = opendir(rootPath.c_str())) != NULL) {
while ((entry = readdir(dir)) != NULL) {
std::string class_path = rootPath + "/" + entry->d_name;
DIR *class_dir = opendir(class_path.c_str());
struct dirent *file_entry;
while ((file_entry = readdir(class_dir)) != NULL) {
std::string name(file_entry->d_name);
if (name.length() >= postfix.length() && 0 == name.compare(name.length() - postfix.length(), postfix.length(), postfix))
if (file_entry->d_type != DT_DIR) {
struct Paths tempPaths;
tempPaths.className = std::string(entry->d_name);
tempPaths.absPath = class_path + "/" + name;
paths.push_back(tempPaths);
}
}
}
closedir(dir);
}
}
3.4. arcface.h:
#ifndef ARCFACE_H
#define ARCFACE_H
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <tuple>
#include "common.h"
struct CroppedFace {
cv::Mat face;
cv::Mat faceMat;
int x1, y1, x2, y2;
};
void getCroppedFaces(cv::Mat frame, std::vector<struct Bbox> &outputBbox, int resize_w, int resize_h, std::vector<struct CroppedFace> &croppedFaces);
class ArcFaceIR50 {
public:
ArcFaceIR50(TRTLogger gLogger, const std::string engineFile, int frameWidth, int frameHeight, std::string inputName, std::string outputName,
std::vector<int> inputShape, int outputDim, int maxBatchSize, int maxFacesPerScene, float knownPersonThreshold);
~ArcFaceIR50();
void preprocessFace(cv::Mat &face, cv::Mat &output);
void doInference(float *input, float *output);
void doInference(float *input, float *output, int batchSize);
void addEmbedding(const std::string className, float embedding[]);
void addEmbedding(const std::string className, std::vector<float> embedding);
void forward(cv::Mat image, std::vector<struct Bbox> outputBbox);
std::tuple<std::vector<std::string>, std::vector<float>> getOutputs(float *output_sims);
void resetEmbeddings();
void initKnownEmbeds(int num);
void visualize(cv::Mat &image, std::vector<std::string> names, std::vector<float> sims);
std::vector<struct CroppedFace> croppedFaces;
static int classCount;
private:
void loadEngine(TRTLogger gLogger, const std::string engineFile);
void preInference();
void preInference(std::string inputName, std::string outputName);
void preprocessFaces();
int m_frameWidth, m_frameHeight, m_INPUT_C, m_INPUT_H, m_INPUT_W, m_OUTPUT_D, m_INPUT_SIZE, m_OUTPUT_SIZE, m_maxBatchSize, m_maxFacesPerScene;
float m_knownPersonThresh;
cv::Mat m_input;
float *m_embed, *m_embeds, *m_knownEmbeds, *m_outputs;
std::vector<std::string> classNames;
nvinfer1::ICudaEngine *m_engine;
nvinfer1::IExecutionContext *m_context;
cudaStream_t stream;
void *buffers[2];
int inputIndex, outputIndex;
};
#endif // ARCFACE_H
3.5. common.h:
#ifndef COMMON_H
#define COMMON_H
#include "NvInfer.h"
// #include "cuda_runtime_api.h"
#include <cublasLt.h>
#include <dirent.h>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
struct Bbox {
int x1, y1, x2, y2;
float score;
};
struct Paths {
std::string absPath;
std::string className;
};
bool fileExists(const std::string &name);
void getFilePaths(std::string rootPath, std::vector<struct Paths> &paths);
class TRTLogger : public nvinfer1::ILogger {
public:
void log(nvinfer1::ILogger::Severity severity, const char *msg) noexcept override {
switch (severity) {
case Severity::kINTERNAL_ERROR:
std::cerr << "INTERNAL_ERROR: ";
break;
case Severity::kERROR:
std::cerr << "ERROR: ";
break;
case Severity::kWARNING:
std::cerr << "WARNING: ";
break;
case Severity::kINFO:
std::cerr << "INFO: ";
break;
case Severity::kVERBOSE:
std::cerr << "VERBOSE: ";
break;
default:
std::cerr << "UNKNOWN: ";
break;
}
std::cerr << msg << std::endl;
}
};
#endif // COMMON_H
3.6. test.cpp:
#include <opencv2/imgcodecs.hpp>
#include <opencv2/opencv.hpp>
#include "arcface.h"
#include "common.h"
int main(int argc, char* argv[]) {
TRTLogger gLogger;
int videoFrameWidth = 640;
int videoFrameHeight = 480;
std::vector<int> recInputShape = {3, 112, 112};
int recOutputDim = 512;
std::string recEngineFile = "/mnt/d/code/c_code/arcface_test/face-recognition-cpp-tensorrt/arcface_test/conversion/arcface-ir50_asia-112x112-b1-fp16.engine";
std::cout << "recEngineFile = " << recEngineFile << std::endl;
int maxFacesPerScene = 4;
float knownPersonThreshold = 0.65;
int recMaxBatchSize = 1;
std::string recInputName = "input";
std::string recOutputName = "output";
std::vector<struct Bbox> outputBbox;
outputBbox.reserve(maxFacesPerScene);
ArcFaceIR50 recognizer(gLogger,
recEngineFile,
videoFrameWidth,
videoFrameHeight,
recInputName,
recOutputName,
recInputShape,
recOutputDim,
recMaxBatchSize,
maxFacesPerScene,
knownPersonThreshold);
std::string face_image_path = argv[1];
std::cout << "face_image_path = " << face_image_path << std::endl;
cv::Mat frame = cv::imread( face_image_path );
// frame 应该是表示使用 opencv 加载的一张图片,即mat
// frame = cv::imdecode(data, cv::IMREAD_UNCHANGED);
int height = frame.size[0];
int width = frame.size[1];
std::cout << "Image: " << frame.size() << std::endl;
if (frame.empty()){
throw "Empty image";
}if ((height != recInputShape[1]) || (width != recInputShape[2])) {
std::cout << "Resizing input to " << recInputShape[1] << "x" << recInputShape[2] << "\n";
cv::resize(frame, frame, cv::Size(recInputShape[1], recInputShape[2]));
}
std::cout << "Getting embedding...";
Bbox bbox;
bbox.x1 = 0;
bbox.y1 = 0;
bbox.x2 = recInputShape[1];
bbox.y2 = recInputShape[2];
bbox.score = 1;
outputBbox.push_back(bbox);
recognizer.forward(frame, outputBbox);
}
3.7. CMakeLists.txt( 请自行修改你的 cuda、tensorrt 等路径 ):
cmake_minimum_required (VERSION 3.8)
project("test")
include_directories( "/soft/TensorRT-8.6.1.6/include"
"/usr/local/cuda/include"
"/mnt/d/code/c_code/arcface_test/face-recognition-cpp-tensorrt/arcface_test/include")
link_directories( "/soft/TensorRT-8.6.1.6/lib"
"/usr/local/cuda/lib64"
"/soft/opencv-3.4.6/build/lib")
link_libraries( nvinfer
nvinfer_plugin
nvonnxparser
nvparsers
cudnn
cublas
cudart
opencv_core
opencv_imgproc
opencv_highgui
opencv_imgcodecs
)
# 将源代码添加到此项目的可执行文件。
add_executable("test"
"/mnt/d/code/c_code/arcface_test/face-recognition-cpp-tensorrt/arcface_test/test.cpp"
"/mnt/d/code/c_code/arcface_test/face-recognition-cpp-tensorrt/arcface_test/cpp/arcface.cpp"
"/mnt/d/code/c_code/arcface_test/face-recognition-cpp-tensorrt/arcface_test/cpp/common.cpp"
)
3.8. cuda、tensorrt、opencv 版本说明:
截止到 2024年8月28日,该仓库中 readme --》Requirements 显示的该项目依赖的 cuda、tensorrt、opencv 的版本如下:
CUDA 11.3
TensorRT 8.2.2.1
OpenCV 4.5.5
但是本人的 cuda、tensorrt、opencv 版本如下所示:
CUDA 11.2
TensorRT 8.6.1
OpenCV xxx
最后证明也是可以编译通过并且成功计算人脸特征向量的,但是如果你的 tensorrt 是7.x 版本就放弃吧,因为 tensort8 相较于 Tensorrt7单单 API上就做了很多调整。
3.9. cmake 、make 执行生成了可执行文件 test,但是现在还没有 .engine 文件,需要先试用 python 脚本生成 .engine 文件方可进行测试。
4. 生成 .engine 文件:
4.1. cd conversion
4.2. python torch2trt.py( 如果成功,会生成 arcface-ir50_asia-112x112-b1-fp16.engine 文件 )
4.3. 报错以及解决方案:
大部分错都可以百度很快的解决( 比如缺 Python 依赖什么的 ),这里只列举一个花了我很久才解决的,就是需要安装 torch2trt_dynamic( ps:整个过程中一定要有耐心,不要砸桌子,根据环境的不同,需要陆陆续续安装很多依赖,而安装每一个依赖可能都很费劲,加油吧 ),以下是安装步骤:
git clone https://github.com/grimoire/torch2trt_dynamic.git
cd torch2trt_dynamic
python setup.py install
安装过程确实很顺利,但是执行 python torch2trt.py 的时候报错:
File "/usr/local/lib/python3.8/dist-packages/torch2trt_dynamic/converters/__init__.py", line 37, in <module>
from .Conv2d import convert_Conv2d
ModuleNotFoundError: No module named 'torch2trt_dynamic.converters.Conv2d'
我的 torch2trt_dynamic 安装到了 /usr/local/lib/python3.8/dist-packages/torch2trt_dynamic 目录下,我进入 /usr/local/lib/python3.8/dist-packages/torch2trt_dynamic/converters 下发现确实没有 Conv2d.py,倒是有个conv2d.py,我将
conv2d.py 改名为 Conv2d.py,再次运行 python torch2trt.py 发现不报刚才那个错了,但是会报一个好像是循环依赖的问题,看来应该是没有 Conv2d.py 导致的。这个错在全网搜不到直接的解决方案,都是说 torch 版本的问题,其实是因为 torch2trt_dynamic/torch2trt_dynamic/converters 下面同时存在 Conv2d.py、conv2d.py 导致的,不知道为什么 git clone 以后 Conv2d.py就没了(可能配置下大小写敏感可以可决吧,我没试),我是直接下载的 .zip 源码包,存在大小写问题的 .py 文件如下:
'torch2trt_dynamic/converters/Conv2d.py'
'torch2trt_dynamic/converters/conv2d.py'
'torch2trt_dynamic/converters/Identity.py'
'torch2trt_dynamic/converters/identity.py'
'torch2trt_dynamic/converters/Linear.py'
'torch2trt_dynamic/converters/linear.py'
'torch2trt_dynamic/converters/ReLU.py'
'torch2trt_dynamic/converters/relu.py'
'torch2trt_dynamic/converters/ReLU6.py'
'torch2trt_dynamic/converters/relu6.py'
所以需要重新安装 torch2trt_dynamic,我也不知道 python setup.py install 对应的卸载命令是什么,我是直接将安装路径( 例如我的是 /usr/local/lib/python3.8/dist-packages )下的 torch2trt_dynamic 直接干掉了( ps:还要删除该目录下其余几个 torch2trt_dynamic 前缀的文件或文件夹 )。重新安装 torch2trt_dynamic 后,执行 python torch2trt.py 就成功生成了 arcface-ir50_asia-112x112-b1-fp16.engine( 可能会报几个小错,不过我遇到的都是一百度一大堆,很好解决 )
5. 测试 arcFace 的人脸识别( 计算特征向量 ):
我在 face_images 下准备了几张明星的人脸照片:
执行 build 下的 ./test ../face_images/yaoming_0001.png 输出512维度的坐标:
使用到的图片信息以及计算出的特征向量:
yaoming_0001.png:[-0.0403976,-0.0113697,0.0124596,-0.0527867,-0.0768433,-0.0167801,-0.00579069,-0.00304433,-0.00825674,-0.0962894,0.00308157,-0.0037716,-0.0649248,-0.0546372,0.0114324,-0.02172,-0.00604553,-0.0576482,-0.000889481,-0.0476742,0.0169055,-0.0136044,0.000713545,0.0291221,-0.0231628,-0.0540099,-0.0271931,-0.0278361,0.00717466,0.00125557,0.0447887,-0.0336229,-0.0278675,-0.0129693,-0.0104915,-0.0126791,-0.00245232,-0.010664,0.0151021,0.0202459,-0.0410563,-0.0309882,0.0396449,-0.0378257,0.0033619,-0.120754,0.0299689,-0.0691904,-0.0225198,0.022363,-0.076216,0.0323683,-0.0323683,0.0246055,0.0590596,0.00054104,0.000368044,-0.00517124,-0.0289339,0.000196764,0.132359,-0.0323369,-0.0126399,0.0418404,0.00738637,0.067873,-0.0491797,0.0492111,0.0118166,0.0164664,-0.0121695,-0.0317567,0.0613492,-0.0402094,0.0263463,-0.0264247,0.0526612,-0.0491797,0.0369789,0.00970735,-0.0386412,0.0532258,0.00327564,0.0726405,-0.0184581,-0.0137455,0.0553272,0.0306746,-0.0398017,-0.0704449,-0.0110247,0.00679828,-0.0806071,0.0381707,-0.0435968,-0.00963678,-0.0897656,-0.0681867,-0.0229746,0.0176112,0.0804816,-0.0147414,0.0116128,0.0656775,-0.0352852,-0.0235392,-0.0263149,0.0119734,-0.00521829,-0.157576,3.47645e-05,-0.00161528,-0.00453611,-0.122636,-0.0415268,-0.00114187,0.0430323,0.0203086,0.0942193,0.0235548,-0.0188658,-0.0136044,-0.00540256,0.0154863,0.00835867,0.0515634,-0.0082881,-0.0386099,-0.0292789,0.01155,0.0479251,-0.032431,0.0849354,0.0211398,0.00469685,0.0391431,0.0589028,0.0106875,0.0194617,-0.0161998,-0.0305178,-0.000819891,0.00537903,-0.0175328,0.000493993,-0.0548254,-0.0023249,-0.0629488,-0.0114089,-0.084559,0.0421541,0.0438164,-0.0810462,0.0788507,-0.0414954,0.0236332,-0.0232882,-0.0164037,0.015353,-0.065113,0.0136593,0.059185,0.0346265,-0.0308942,-0.100555,-0.0050301,-0.0609415,-0.0109855,0.0504657,-0.00333445,0.148417,-0.000418522,-0.0349402,0.0264874,-0.0178778,-0.0146865,0.0348775,-0.00317567,0.0127105,-0.080168,-0.0351597,0.0310196,-0.0450082,-0.0273186,0.0784116,0.0333092,-0.0304551,0.0113854,-0.0288241,-0.0128438,-0.00502226,-0.0559231,0.00690414,-0.0159332,0.0762788,0.0504657,-0.0199636,-0.0264404,0.00219552,-0.0072962,-0.00233666,0.0839317,0.0370103,-0.00944075,0.000255573,-0.0191324,0.025374,0.0886992,-0.0413699,-0.00438713,-0.00697471,0.0562054,-0.0455101,-0.00243664,0.0136201,0.0106953,-0.0294827,-0.0856882,0.0432518,0.00127321,0.04344,0.00560251,-0.0523476,0.0668694,0.0572091,-0.0530376,-0.0156823,0.0356302,-0.0546999,0.0515007,-0.046106,0.0677476,-0.0732678,-0.0786625,-0.00218376,0.0279302,0.0131967,-0.0166703,0.0364143,0.0236176,-0.00375003,-0.00301296,0.00947212,0.00487328,-0.004344,-0.00479487,0.012538,0.0122244,0.00578677,-0.0477683,-0.00666498,-0.0507793,0.027397,0.00993474,0.00765297,0.0529121,-0.0352225,-0.0015153,0.0458237,0.0782234,-0.0547626,0.0221277,-0.0215005,0.0206066,-0.0408367,0.112787,0.00735108,0.0362261,-0.0880719,0.00805287,0.0751496,-0.0338738,0.00453611,0.0085155,-0.0125302,-0.00254053,0.0537903,0.0341561,0.0245899,-0.0157607,-0.0204654,0.0787252,0.0543863,-0.0116598,-0.0055633,0.052473,-0.0438164,0.0564877,0.026017,-0.00839788,0.0874446,0.00923688,0.0495561,0.0598751,-0.0955366,-0.0641093,-0.0478311,0.0339365,-0.0268952,0.0281811,-0.0670576,0.0394253,-0.00830378,-0.077847,0.0508107,0.0236489,-0.0164351,-0.0420913,-0.122385,0.033372,-0.0754006,-0.015847,0.0363202,0.0495875,-0.0185992,0.00506931,0.0039147,0.00536727,-0.020042,0.0266599,-0.0467019,0.12113,0.0136358,-0.0282909,-0.0436596,-0.0754633,0.00273068,0.0730796,-0.00914279,-0.0397703,-0.0567386,0.0603455,-0.0710095,-0.0318508,-0.0295612,-0.0597496,0.00129869,0.0754006,0.0564563,-0.0409308,0.0218298,0.0016143,0.0085547,-0.00940155,-0.0699431,0.0432832,-0.0120754,0.0452592,-0.0731423,-0.0687513,0.027444,0.0363516,0.0229275,-0.0384844,-0.00388921,-0.00681789,0.0238371,-0.0239312,-0.0134554,-0.0228805,-0.0738951,-0.0188815,-0.0525985,0.0260013,0.0296239,-0.0351284,0.0133613,-0.0491797,0.0100994,-0.0245115,-0.0783488,0.0219239,-0.0888873,-0.0025425,-0.0127027,0.00374611,-0.0437223,-0.00549665,-0.0900792,-0.0352852,-0.00866448,-0.0649248,0.0531944,0.0443496,0.0303296,0.0933411,-0.037073,0.00429303,0.0234137,0.00783724,-0.00350304,0.0190697,-0.02804,-0.0065356,-0.00297572,-0.0285575,0.0605965,-0.0429382,0.0466706,0.000528298,0.0519085,0.0804816,-0.0451651,-0.0217357,-0.0145375,0.0298591,-0.0460119,-0.0396449,0.0413699,0.0292789,0.0319919,-0.00236215,0.121632,-0.0326819,-0.0826772,-0.0408681,-0.0700058,0.0493993,0.00250133,0.00439497,0.021375,0.0631684,0.0583696,0.074146,-0.0487406,-0.122259,-0.00399899,-0.00828026,0.0960385,-0.0683122,-0.0698177,-0.00165154,0.0361948,-0.0910829,-0.0258445,0.0189599,0.0167644,0.00390882,0.0262051,-0.0109776,-0.0275068,0.0193363,-0.017329,0.0029914,0.0581186,0.0572091,-0.011205,-0.0122322,-0.00415973,0.0146081,-0.0385471,-0.0141611,-0.0290593,-0.0115735,-0.0277891,-0.0668694,0.0515948,-0.068124,-0.000137955,-0.0109933,0.0166076,0.054794,0.0220493,0.0407113,-0.00717074,0.0442555,-0.0190226,0.0303139,0.0653639,-0.0737696,0.117868,0.0333406,-0.0340306,0.0290593,0.0148904,-0.0235392,-0.0297023,0.00309922,-0.0878209,-0.0562054,-0.0352225,-0.0103425,0.0231314,-0.00783332,-0.0700058,0.0379198,-0.00150354,-0.0310196,0.00335209,0.0147179,-0.022065,-0.0249506,-0.00795877,0.0107032,-0.0288084,0.0184894,-0.0097936,-0.0121538,0.0477683,-0.00309726,-0.0489915,0.00688846,0.0743969,0.0491484,-0.0661794,0.0446946,0.02735,0.00382844,-0.0276636,-0.0087821,0.069504,-0.0481133]
yaoming_0002.png:[-0.037979,-0.00341255,0.00176606,-0.0831713,-0.0532208,0.0136502,-0.0278962,-0.0231136,-0.00736608,-0.0760208,0.023584,-0.0212632,-0.0594618,-0.0254657,0.0275669,-0.000154971,0.001523,-0.0491752,0.00658596,-0.0219846,0.056702,0.0113529,-0.0311265,0.00740528,-0.0233802,-0.0557298,-0.00573919,-0.0153124,-0.0222355,-0.0102161,0.0424951,-0.0396726,0.0375086,-0.0263438,0.016167,0.0443141,0.00798156,-0.0205419,0.0316283,0.0306561,-0.0225177,-0.0279433,0.00800116,-0.0429028,-0.0112981,-0.0841748,0.0653578,-0.0711911,-0.0212789,0.00813052,-0.0745154,0.00683685,-0.0443455,0.0252775,-0.0120586,-0.0119175,-0.0417111,0.0249326,-0.00326554,0.068494,0.136361,-0.0447845,-0.0368814,0.0634134,-0.0244621,0.0942106,0.0216239,0.0176723,0.0264693,0.0355642,0.0231293,-0.0328984,0.0423383,0.0220002,0.0465408,-0.0591482,0.0432478,-0.0026187,0.0552593,-0.0345606,0.000487332,0.00519428,0.000875188,0.0616258,-0.0076209,-0.0168256,0.030609,0.00363992,-0.0257166,-0.0320203,-0.0192718,0.0135561,-0.0348429,0.0243681,-0.0273161,-0.00746017,-0.0816659,-0.0953396,-0.0119096,0.0369755,0.0945242,-0.0215612,0.0428715,0.040833,-0.0683058,-0.00943204,-0.00925955,-0.0358778,-0.00469642,-0.105375,-0.00522957,-0.0291821,-0.0157201,-0.110958,-0.057831,-0.0136659,0.019115,0.0375086,0.0728219,-0.00371244,-0.0240231,-0.0242112,-0.026187,0.0359092,0.0234742,0.0241015,-0.0375086,-0.0260773,-0.0124271,0.0238506,0.0563884,-0.00976917,0.0140108,0.0564197,0.0139089,0.0480461,0.0335884,-0.0308442,-0.0266261,-0.039798,-0.00478266,0.00916546,0.0117058,-0.0105924,0.0224707,-0.0678667,0.0221571,-0.0509628,-0.00455137,-0.0754563,0.0229097,0.0109844,-0.054538,0.092078,-0.0840494,0.0690585,-0.0261713,-0.0183623,0.0172176,-0.0447218,0.0343724,0.0286646,0.0414288,-0.0800351,-0.0933325,-0.00741312,-0.0757699,-0.018378,0.020291,0.0103886,0.13887,-0.00201303,-0.018378,0.0493006,0.0187073,-0.033902,0.039014,0.0116822,0.0320987,-0.0677413,-0.0563884,0.0455686,-0.0521545,-0.0119018,0.0803487,0.0379477,-0.0262341,0.0363796,-0.0219532,0.00161709,0.0128818,-0.0488929,0.000160729,-0.0166687,0.0537226,0.0642915,-0.0479207,0.00335178,0.0266104,-0.00153868,0.00924386,0.12068,0.0255128,0.00865583,0.0161042,0.000743861,0.0444395,0.0959668,-0.0200872,-0.0583328,0.0194129,0.0709402,-0.0575487,-0.0575174,0.022455,0.0047513,-0.00635075,-0.0959041,0.0261557,0.000381731,0.02948,-0.0388885,-0.0533463,0.0984131,0.0511196,-0.0566393,-0.00439064,0.0482343,-0.0580505,0.0419933,-0.061563,0.0361914,-0.0624412,-0.0427774,-0.00827165,-0.0124114,0.0269083,0.00318125,0.0134777,0.0011496,-0.0283039,-0.0391081,-0.00267947,0.0405193,-0.00558238,0.00157005,0.0236938,-0.0102788,0.0356269,-0.0221884,0.0480148,-0.0458508,0.053754,-0.0206674,-0.0313304,0.0499278,0.00741705,0.0392962,0.040927,0.0895063,-0.0929561,0.0498338,-0.0255755,0.000233498,-0.0189425,0.100295,0.000148723,0.0890673,-0.0702502,-0.00714263,0.0712538,-0.000216592,-0.0159631,0.000835496,-0.0317694,0.00788747,0.0501474,0.0435301,0.0160494,0.00307933,-0.0304052,0.0509001,0.0544753,0.0276297,-0.0371009,0.0598068,-0.0735746,0.0720065,-0.00861663,0.0326162,0.0906354,-0.0021718,0.0403312,0.0273788,-0.0950887,-0.0748918,-0.0797215,0.0258734,-0.0310795,-0.014497,-0.0378536,0.0236938,0.00890673,-0.0857429,0.026877,0.0159396,-0.0392962,0.0289469,-0.136361,0.0358778,-0.0759581,0.0281158,0.0258264,0.00858527,-0.0125447,-0.0138462,0.0215298,0.00470426,-0.0183466,0.0202753,-0.0256225,0.0953396,0.00463369,-0.0168256,-0.0242896,-0.0597127,0.0417424,0.0827949,0.0193188,-0.05228,-0.0284294,0.0248228,-0.0949005,-0.048203,-0.0336198,-0.0816659,-0.0128269,0.037195,0.0417738,-0.0303738,-0.034247,0.0465721,-0.0152261,0.0276924,-0.038669,0.0762717,0.0036164,0.0177037,-0.04422,-0.0620021,0.0109609,0.0295898,0.0124898,-0.0457254,0.0272376,0.0263125,0.0668004,-0.0275983,-0.0385435,-0.015822,-0.0509941,-0.0381045,-0.0366618,0.0619394,0.0243994,0.00707207,0.00466505,-0.0660478,-0.0126545,-0.032083,-0.105752,0.046729,-0.0906981,-0.015822,-0.023537,0.0346861,-0.0108355,-0.0386376,-0.082105,-0.039453,-0.0646051,-0.0547262,0.0156025,0.0401744,0.010812,0.0635702,-0.0322398,0.0376968,0.0154927,0.0431851,-0.0445964,0.0605281,-0.0641661,-0.028006,0.0123957,-0.0559179,0.0279433,-0.0507433,0.0635702,0.037885,0.0310167,0.013611,-0.0272533,-0.028398,-0.0115725,-0.0239447,-0.0447845,-0.00936931,0.0007272,0.0238663,-0.00459057,0.0287587,0.0567333,-0.00421815,-0.0717556,-0.0193972,-0.104058,0.0793451,0.0274572,-0.0286489,-0.000390306,0.0528445,0.0590227,0.085053,-0.0780279,-0.0213887,-0.0141755,-0.0158298,0.0976604,-0.0726337,-0.0206674,-0.0338079,0.0400803,-0.0805996,0.0274885,0.062253,0.00369676,-0.0127015,0.0471994,-0.0496142,-0.0204635,0.0155946,0.0418365,0.00608809,0.083234,0.0472621,-0.0247444,3.63232e-05,0.011596,-0.00402214,-0.0623471,-0.0575487,-0.0358464,0.0159945,-0.0190366,-0.0680549,0.0525309,-0.0111648,0.00915762,-0.0317224,0.0360032,0.014199,-0.0319262,-0.0149047,0.0177664,0.00828733,0.0119096,0.00545302,0.0366618,-0.0509941,0.0683685,0.0280844,0.0197579,0.000859017,0.0133209,0.00931443,-0.0109923,0.00522565,-0.0941479,-0.0565452,-0.0503042,-0.0219846,0.0144107,-0.00266183,-0.0985385,0.0261086,0.0498965,-0.0450668,-0.0100044,0.0589914,-0.0103415,0.00848334,-0.0388258,0.00732296,-0.0391394,0.0274415,-0.0734491,-0.0419306,0.0203694,-0.0222355,-0.0325535,0.0169196,0.0691212,0.0208712,-0.040833,0.0246189,-0.0101142,0.048203,-0.0366618,-0.0101063,0.0232233,-0.0646051]
yaoming_0003.png:[-0.0197905,-0.00596923,0.0281832,-0.0633664,-0.0999056,-0.0205235,-0.0200471,0.0348167,-0.0048835,-0.0338272,-0.0328926,-0.0514554,-0.0798218,-0.0249397,0.0491099,0.0190209,0.0158324,-0.00694043,0.022301,-0.087958,0.0458481,-0.019479,-0.0281649,-0.00322971,-0.0422565,-0.0637695,-0.0446753,-0.0284581,-0.0110589,-0.0194607,0.0645391,-0.0319397,-0.0138809,-0.0135327,-0.00876831,-0.000867554,0.0261308,-0.00264103,0.0117369,0.00720156,-0.032123,-0.0640994,-0.0730418,-0.057246,0.0504659,-0.0552303,0.0572826,-0.0769632,-0.0110406,0.0142565,-0.0521517,0.0765234,-0.0053691,0.00590968,-0.0288062,0.00415739,-0.0533978,-0.0532879,-0.00630365,0.0205052,0.157591,-0.0122042,-0.0245916,0.0511989,-0.0284947,0.0713559,-0.00179924,-0.0191125,0.0119751,0.0747643,0.0084064,-0.0636596,0.00216001,0.000452674,0.0171793,-0.0301073,0.036979,-0.0179489,0.0454449,-0.0121675,-0.00797577,0.011462,-0.00834684,0.0369423,0.0285497,-0.0451151,0.0347984,-0.0281649,0.00359162,0.0102343,0.00615248,0.0350183,-0.0561465,-0.00755889,-0.00476439,-0.00911189,-0.0554502,-0.0332958,-0.0306937,0.027945,0.0235837,-0.0524083,0.028568,0.0496229,-0.0811412,-0.000613301,0.0299973,0.0183154,-0.0120942,-0.101591,0.000534276,-0.0473141,-0.0235471,-0.0657852,-0.110827,0.0201021,0.0143115,-0.02089,0.0387748,-0.0206335,-0.0413036,0.00847512,-0.00754514,-0.014733,0.04189,0.0624501,-0.0106191,0.00498887,0.0308219,-0.0436125,-0.0113429,-0.0133403,0.0668114,0.0143023,0.0327643,0.0650522,0.0130104,0.00662891,0.00150949,-0.00838349,-0.0516753,0.0367591,-0.0166112,-0.0361177,-0.00120599,-0.065602,0.0111872,-0.0848061,-0.0361177,-0.0294842,0.0282015,0.0161898,-0.0202487,0.046068,-0.0342853,0.0136793,0.0183429,0.0197539,0.0432093,-0.0733716,0.0410104,0.0124424,0.0117094,-0.0608376,-0.00936844,0.00749017,-0.0399109,-0.0433193,0.0536544,0.0271937,0.117057,-0.0104633,-0.0576491,-0.0246466,-0.0213115,0.00837891,0.019424,-0.00471858,-0.00395811,-0.0112146,-0.0507591,0.0473874,0.00907066,-0.0166204,0.0437957,0.022246,-0.0480104,0.00648232,-0.0352382,-0.00126783,0.0235104,-0.0301622,-0.0260759,-0.0631831,0.0663716,0.0202487,-0.0198455,-0.0357696,0.0218246,-0.0486701,-0.0221727,0.0451151,-0.0109489,0.00656936,-0.00884161,0.0319031,0.0163822,0.07667,-0.00469567,-0.0168403,0.0156858,0.0479737,-0.0562564,-0.0686072,0.0573926,0.0484502,0.00543782,-0.0969737,0.0524816,0.0260392,0.0829004,-0.0170877,-0.0430628,0.0876648,0.0108848,-0.0695967,0.0394711,-0.0178573,-0.0418167,0.0460313,-0.0966072,0.0546439,-0.0612041,-0.030657,-0.0319214,0.0076047,0.0278534,-0.00190117,-0.0171701,-0.0236387,-0.0121125,-0.0368874,-0.0123324,0.0217146,0.0998323,0.0032549,0.0391413,0.041157,0.0490366,-0.0284947,0.0224659,-0.0303821,0.0548271,-0.0386282,0.00510798,0.061424,-0.0315916,-0.0109398,-0.0228874,0.0630732,-0.101372,0.0258743,0.0258193,0.0617538,-0.0273586,0.0635496,-0.0330942,0.0785025,-0.0686072,-0.0242251,0.0168311,0.0444921,-0.0582721,-0.0110497,-0.0256911,0.00877747,0.067691,-0.00869959,-0.0261492,-0.0596282,-0.0603978,0.0492565,0.0283848,-0.000443798,-0.000785093,0.0324895,-0.112366,0.042623,-0.0158324,0.0588219,0.0477538,0.0699632,0.0193141,0.0138442,-0.0645025,-0.0745444,-0.0785025,0.0322879,-0.046691,-0.0115811,0.0122225,0.0419633,-0.0215131,-0.0448586,0.0632198,0.0107016,-0.0389947,-0.00195386,-0.0682407,0.0145955,-0.0498795,-0.0413769,0.000876716,0.0774763,0.0292277,0.0198272,0.0695601,-0.0164738,-0.0426596,0.0579423,-0.00331904,0.130691,0.0473507,-0.00619829,-0.0031106,-0.0844396,0.0491832,0.0985862,-0.0130654,-0.0286596,-0.0261675,0.0875915,-0.0920627,-0.0462879,-0.0369607,-0.0779161,0.0010697,0.00930888,0.0989527,-0.0206884,-0.0290261,-0.0161348,-0.0426963,-0.0130837,-0.00918061,0.08378,-0.0392146,-0.0175824,-0.0119293,-0.0204869,0.0261125,0.1249,0.0354581,-0.0563664,-0.0266073,0.0109764,0.106209,-0.011233,-0.0706962,0.0256544,-0.0616805,-0.0947014,-0.0063403,0.0484868,0.0378952,-0.0470575,0.0644659,-0.0592617,0.0784292,0.0052958,-0.102471,0.0785758,-0.0769632,-0.0253062,-0.0102618,0.00938218,-0.00734815,-0.00962956,-0.0629999,-0.041047,-0.0120118,-0.0570994,-0.0158141,0.017784,0.0415235,0.0494764,-0.078136,0.0430628,-0.0510889,-0.00388023,-0.0454083,-0.00267539,-0.0356413,0.00963873,0.0283848,-0.00121629,0.0102709,-0.0185445,0.0327277,0.0146138,0.0415235,0.0436858,-0.0279267,-0.00735732,-0.000787957,0.00238907,-0.0264973,-0.032068,0.00146826,0.0568428,-0.0190209,-0.0474973,0.0863454,-0.00310372,-0.0671412,-0.025746,-0.050869,0.0520051,0.0226125,-0.0646857,0.0127539,0.066958,-0.0241518,0.0793821,-0.0573926,-0.082314,-0.0142748,-0.0334423,0.061314,-0.0494764,-0.0531046,0.0372539,0.0301989,-0.0881046,-0.0126714,-0.0319031,0.0256727,-0.0377853,0.0682407,0.0374738,-0.0424764,-0.0199005,0.00967538,0.0256727,0.106356,0.0195706,0.0252146,-0.0113612,-0.0113246,0.0037909,-0.0610575,-0.0481936,-0.00442309,0.0218612,-0.0121767,-0.0499528,0.0288795,0.0118285,-0.0276335,-0.0496596,-0.00313121,-0.0161073,0.0187369,-0.0109581,0.0152094,0.0281465,-0.0334973,0.0199921,0.0436125,-0.092136,0.0423664,0.0238586,0.0672878,-0.032856,0.0480837,0.0118194,-0.0358978,-0.0301622,-0.0461413,-0.00712826,-0.0657852,-0.0020764,0.0219895,0.0476439,-0.0597015,0.0054424,0.0057585,-0.0856857,-0.0151361,0.0130013,-0.0490732,-0.0369973,-0.0288429,0.0380418,-0.0301806,-0.0257277,-0.0302905,-0.0148612,-0.0118377,-0.0694135,0.00470483,-0.0613873,0.0441622,0.082314,-0.0513455,-0.0455549,0.0457748,-0.00753598,-0.028623,0.00645025,0.0145772,-0.0449685]
zhoujielun_0001.png:[-0.0514292,0.0498678,-0.0651026,0.0131648,0.0278437,-0.013496,0.0793911,0.00244549,0.000924081,-0.105129,-0.0130347,-0.0270867,-0.0090072,-0.0158971,-0.0181918,0.00228728,0.0112486,0.0331664,-0.0279146,0.00400977,0.0481409,0.0185467,0.0253124,-0.0287899,0.0308007,0.0278673,-0.0990733,0.0493947,-0.0420849,-0.0480936,0.0585261,0.0994518,0.0286007,0.0325986,-0.0115089,0.0443795,0.0686984,0.0388676,0.0704963,-0.0585261,-0.0366675,0.0185822,-0.076505,0.0284587,-0.0730985,0.0901311,-0.0183456,0.0483538,0.0420849,-0.0548357,-0.0422031,0.0980324,-0.0328352,-0.0841224,-0.00594073,-0.0531797,-0.0133541,0.00855181,-0.129543,-0.0484958,-0.0408311,0.100871,-0.00900128,-0.0143358,0.0477151,0.00259038,-0.0075819,-0.0409967,0.059425,0.0673736,0.0626896,0.0147261,0.0375901,0.0363836,0.027891,0.0382052,0.0613176,-0.00916097,-0.0337105,-0.0254307,0.0298545,0.0684145,0.0226038,-0.0822299,-0.10106,0.0194574,-0.020936,-0.0811417,-0.0174112,-0.0338997,0.0184402,-0.0731458,-0.000863461,0.00566868,-0.0587153,0.0199542,0.0279619,-0.0446871,0.044829,0.0751329,-0.0451129,0.0471473,-0.0426053,0.0856837,0.0238575,0.0995464,0.0272996,0.0713479,-0.0698339,-0.050956,-0.0456806,0.0493947,-0.0145606,0.00214978,0.00884752,0.102953,-0.0476678,0.0549303,0.00591707,-0.0188305,0.00353073,-0.00997711,0.0536055,0.0269447,0.0121239,-0.0236446,-0.0126089,0.0330244,0.0231597,0.0384418,0.0181445,-0.0695027,0.110523,-0.0380633,-0.064866,-0.0891849,0.0753695,0.0192564,-0.0282695,0.0535109,-0.00160716,-0.0122067,0.032433,-0.013425,0.0239049,0.0156251,0.0322674,0.0629735,-0.0706382,0.0331427,0.0648187,-0.0457989,0.0391514,-0.0382762,-0.00392106,-0.0601347,0.00266727,-0.0178961,0.00539072,-0.0451602,0.0308953,-0.0706855,-0.0321728,-0.00668295,0.0515238,0.0321491,-0.0425816,-0.0324803,0.030233,0.0445924,0.037046,-0.0205693,-0.0359105,-0.0275598,-0.0453494,0.0126799,0.0111777,0.00292897,0.052612,0.0335449,-0.0500571,-0.0279619,-0.0116981,-0.0486377,-0.0168552,0.0511926,-0.0387493,-0.0332137,-0.00437053,-0.0275361,-1.20939e-05,0.0406182,-0.0873397,0.00343019,0.0414698,0.0172929,-0.0484958,-0.0546464,0.0151047,0.0322438,-0.0259748,-0.0480699,-0.00985883,-0.0298781,0.0655757,0.0155778,0.0542206,0.0114616,0.0241178,-0.085731,-0.000798406,0.0971808,-0.0226747,0.00371998,-0.0616487,0.00984109,-0.0249812,0.0398611,0.0446634,-0.0125498,0.0260221,0.0411859,0.00703188,-0.0188187,-9.01441e-05,0.014395,0.112699,-0.0616014,0.00793674,0.0288845,0.0768362,0.112983,0.0155423,-0.0413278,-0.0445451,0.0452785,-0.0375428,0.0265426,-0.00533453,0.017494,0.0787287,0.0519969,-0.0698339,-0.0476205,-0.0257855,0.00981152,0.0752276,-0.0465559,-0.0480463,-0.000442819,0.0375901,0.0444742,-0.0117454,-0.018109,-0.020865,0.0567282,-0.0180381,0.00848676,-0.0175531,-0.115065,-0.0231597,0.0223199,0.00344497,0.0431257,0.0382762,-0.0121121,0.0157197,0.0261404,-0.00683672,0.0405235,0.0660489,-0.107211,-0.0107046,0.008883,-0.0247447,-0.0196822,0.0242006,0.0328115,-0.0614595,-0.0366439,-0.0469817,-0.0987894,0.0839331,0.0635886,-0.0246737,0.0166778,-0.0144659,-0.0126799,0.00183338,-0.0527066,0.0480463,0.0652445,0.00586089,0.0460355,0.0230769,-0.0335449,0.00890074,-0.0139337,0.0111126,0.0013913,0.00390627,0.0689823,-0.0136971,0.0731931,0.00497081,-0.0267081,-0.0976539,0.0303276,-0.0217403,8.76028e-05,-0.104467,-0.025478,-0.0105744,-0.00519259,0.0275834,0.0369277,-0.00134694,-0.0956194,-0.0578637,0.0605132,-0.0404526,0.0484484,-0.0351062,-0.0263296,-0.0186886,-0.0175413,0.0408074,-0.0431494,-0.0196467,0.0198833,0.0694554,-0.00300733,0.00615659,0.0388439,-0.0536055,-0.00621574,-0.0298545,-0.0450183,0.0244135,-0.0271576,-0.057296,-0.00217935,-0.0112841,-0.0088002,-0.0391041,-0.0807632,-0.0355084,0.0213145,0.00869375,0.00717382,-0.0335449,-0.0274178,-0.0613176,-0.0431021,-0.0543152,-0.0456097,0.0176832,0.0355084,-0.0649133,-0.0164886,0.0227457,0.119039,0.0287899,-0.0364546,0.00119909,-0.0406655,-0.00182894,-0.0438118,0.0767889,0.0444032,-0.0193037,-0.0239167,0.0661435,-0.0565863,-0.0246974,-0.0380159,0.00688403,0.0205575,0.0337814,-0.0458462,0.0450183,0.0259985,0.0554034,0.0105035,-0.0243425,-0.0272996,0.0254307,-0.0152702,-0.0245791,-0.0529432,-0.0199424,-0.0525174,0.0325986,0.0837439,-0.00352186,-0.0127863,-0.0272759,0.0942474,0.0848794,0.00415171,0.0373062,0.0245554,0.0466742,-0.0266845,-0.00201967,-0.00805503,-0.0381106,-0.0190553,0.0264952,0.00822654,0.0561131,0.0675629,-0.0617434,0.00189104,-0.0299491,-0.023136,0.0667112,0.0101427,-0.0559712,0.0021069,0.0441193,0.00332078,0.0220833,0.0125379,0.010261,-0.00625713,-0.0212198,0.0192209,0.0740447,-0.0326696,-0.0396955,0.0310373,-0.0377321,-0.0420849,-0.0234436,-0.00195905,0.00529018,-0.0577691,0.0278673,0.00711468,0.0466506,-0.0165122,0.0454204,0.01281,0.0305405,0.0251941,0.0145369,-0.00750501,-0.0358869,0.0133896,-0.0516657,0.0791545,0.00156576,0.0272996,0.0281512,-0.0504356,0.022864,0.0598509,0.0372826,0.0224736,0.0649607,0.110334,0.0392697,-0.0624058,-0.0381815,0.022107,-0.0317706,-0.0111954,-0.0107873,-0.0396482,0.0716791,0.0125734,-0.0168197,0.0121476,0.0186176,-0.011018,-0.030848,0.0493947,-0.0744705,0.0116035,-0.0646768,-0.000949955,0.0104384,0.0557346,0.0244608,-0.0184994,0.0758899,0.0950044,0.00721522,0.0421558,-0.0272996,0.00354256,0.0279856,0.0344675,0.0237511,0.00660015,0.00577513,0.0614595,0.0646295,-0.00775341,-0.0162402,-0.00327346,0.0126326,-0.0299491,0.0194929,0.00302063,0.0510033,-0.0525647,-0.0373299,0.00838622,0.0668532,-0.0205811]
zhoujielun_0002.png:[-0.00657538,0.0478487,-0.0310777,0.0279154,-0.0341091,-0.0221033,0.0272175,-0.00694613,-0.0356139,-0.107038,-0.028068,-0.0610213,-0.0164221,-0.0194644,0.0179269,0.0395395,0.0124638,-0.0030696,-0.00581752,-0.0113951,0.0264324,0.0175234,0.0719257,0.00272884,0.0753279,0.00963953,0.00731688,0.0997102,-0.00898526,-0.0015975,0.031841,0.128847,0.0316447,-0.013696,0.0110298,0.0246222,0.0513381,0.00966679,0.0647288,-0.0644671,-0.0584478,0.011526,-0.073714,0.0245568,-0.0111607,0.109219,-0.0406954,0.0080911,0.0759386,0.00321409,-0.0568776,0.0887186,-0.00751316,-0.0125946,-0.0020882,-0.0728853,-0.0492009,-0.0262143,-0.0671714,-0.0552201,-0.077029,0.0910739,0.0332367,-0.0379039,0.0178942,-0.0429853,0.0166075,-0.0663863,0.052036,0.0285042,-0.0108608,0.0160622,0.0467583,0.0283734,-0.0106373,0.0687416,0.0555691,-0.0455806,-0.0512073,-0.0172944,0.0644671,0.0389289,0.00504876,-0.0155934,9.30285e-05,0.00670623,0.00974312,-0.0760258,-0.0527775,-0.0204458,-0.0101629,-0.0671278,0.0226594,-0.000409257,-0.00405373,0.0426364,-0.00995576,-0.0617192,0.0856217,0.0647724,-0.012093,-0.00363936,-0.0488519,0.0625915,0.0230084,0.0103374,0.00452534,-0.0373804,-0.0412624,-0.0366171,-0.0591021,0.00830374,0.0190828,-0.0143284,-0.0314266,0.0813035,-0.0202932,0.0388634,0.0567467,0.00778577,-0.0273702,-0.00102843,0.0432034,0.00268931,0.00802567,-0.0407608,-0.0191264,0.0706608,-0.0113624,-0.0103156,0.0264978,-0.0384927,0.0351123,0.0356357,-0.0510328,-0.0560488,0.0510328,0.00258844,-0.0178506,0.0108499,0.0346107,-0.00299872,-0.0149936,-0.0112534,0.0386235,0.0575755,0.0164003,0.0382092,0.00404282,0.0901143,0.0476306,0.00799841,0.0567031,0.00202686,-0.105991,-0.103549,-0.0482413,-0.0191809,0.00629732,-0.0107463,0.0697884,-0.0854472,0.0134779,0.0638564,0.00284879,0.0208929,-0.0384927,-0.02351,0.0100921,0.0579244,0.0677384,0.041306,-0.0479796,-0.0044681,-0.0362464,-0.0284388,0.0379475,-0.0195081,0.0283734,0.0274356,-0.0816961,-0.00860361,0.000363254,-0.0462785,-0.044054,0.0124202,-0.082961,-0.0833972,-0.0247967,0.00716422,0.0464093,-0.0197589,-0.0593202,-0.0555254,0.0343708,0.0336511,-0.0754151,-0.0808674,-0.0206857,0.0257781,0.00145438,-0.0871483,-0.0650341,0.0255818,0.0599745,0.028526,0.0576191,0.0475434,0.0186357,-0.0638564,0.0386235,0.0871047,-0.0404991,-0.0148737,0.0177633,-0.0168038,0.021111,0.024077,0.0204349,-0.0252765,0.0284824,0.0683927,-0.0189955,0.026476,0.0232919,0.0775524,0.0600617,-0.00735505,-0.0159532,0.0449699,0.0325825,0.0521232,-0.0986634,-0.0524722,-0.0206312,0.0729289,0.0186248,-0.0338474,-0.0291367,-0.00447082,0.0343926,0.0346325,-0.0198134,-0.0136851,-0.0104083,-0.000154877,0.041088,-0.0496807,-0.0403901,0.0326479,0.0528211,0.0902888,0.0350033,0.0167492,0.0256036,0.0686108,-0.0303362,0.0321463,0.0168256,-0.111836,-0.0503349,0.025102,-0.0112861,0.0389289,-0.00998847,-0.0349378,0.0351559,0.0217217,0.0218525,-0.0428109,-0.0277191,-0.0601925,-0.080344,-0.0376203,-0.0805184,0.0464966,0.00495607,0.0655139,-0.0638128,-0.0121694,0.00257618,-0.0711406,0.0573138,0.037315,-0.0174798,0.0148955,0.00831464,0.0221469,0.0386017,-0.0584914,0.0356793,0.0649905,-0.00866903,0.0405209,-0.0593638,0.0351559,0.0885005,0.00411915,0.0180905,-0.0064936,0.0294638,0.0850547,0.0252111,0.0556127,0.0223977,-0.0264542,-0.105381,0.0516871,-0.0534318,0.0358538,-0.0483285,-0.0491572,0.020424,0.035723,-0.00911612,-0.0163458,-0.0124529,0.02556,-0.0451444,0.0257345,-0.0134888,0.0584478,-0.0161277,-0.0269776,-0.0111662,-0.0178179,-0.0335203,0.0116896,-0.029333,-0.0216017,0.0750226,0.0550456,-0.0692214,-0.0289186,-0.0125946,0.0298128,-0.00945415,-0.0828738,-0.0298346,-0.0338474,-0.0477615,-0.0569212,0.0984889,-0.0346325,-0.00281335,-0.0151027,-0.00204731,0.00609558,0.0448391,-0.0635511,-0.0513817,-0.0220379,-0.0216017,0.023161,-0.0219616,-0.0685235,-0.00605742,0.0188538,-0.0290494,-0.0478923,-0.00093233,0.0992741,0.0758513,-0.015179,0.0267813,-0.0422656,-0.00244123,0.0156915,0.0491572,0.00516053,-0.023052,-0.0319718,-0.00307778,-0.00252847,0.0233137,-0.018025,0.0105501,0.0357884,0.0392342,-0.0595383,0.0439449,0.0129872,0.00107068,0.0427236,0.0223759,-0.103461,-0.049986,-0.00810746,-0.0839642,-0.0360283,-0.0322335,-0.0324516,-0.00468346,0.0493317,-0.0199551,0.030358,-0.0516435,0.074979,0.0314048,-0.0415459,0.022485,0.0272611,0.0057521,-0.0253419,-0.0343926,-0.00473526,-0.0990996,0.00812381,-0.0216344,-0.0515562,0.0668661,0.00421184,0.0119295,-0.0197589,-0.0163894,0.00178969,0.0803003,0.0165748,0.00999392,0.0563542,0.0408917,0.00198461,0.0213945,0.0129327,-0.0113406,-0.0314048,0.0111552,0.0507275,0.0128563,-0.00320318,-0.00143393,0.0811727,-0.0723183,0.0837025,-0.0732779,0.00154162,0.0191809,-0.0469327,0.0559616,0.0279154,0.0276755,-0.0762003,-0.0522977,0.0373586,0.0366607,-0.00816198,0.00535681,-0.0372714,0.0115914,0.0629405,-0.0462785,0.0950868,0.0486774,0.0592329,-0.000957547,-0.0364645,-0.0379911,0.0593638,-0.00595928,0.0169455,0.0465838,0.0882824,0.00975403,-0.0615011,0.0200969,0.0123765,0.0186793,-0.0158987,0.0398885,-0.0816961,0.00700065,0.021678,0.0367262,-0.0271521,0.0920335,-0.0477615,-0.0436832,0.09814,-0.0804748,0.0506839,0.00824921,0.0135542,0.00802567,0.0400847,0.0406954,-0.00624279,0.0469764,0.10983,-0.00660809,-0.000679483,-0.0693959,-0.00493426,-0.0159096,0.0395831,0.0112861,-0.0145792,-0.0235536,0.0606723,-0.0418295,-0.0536499,-0.0407608,-0.00832554,0.0204022,0.00821105,-0.00777487,0.0368788,0.0503785,-0.0194862,0.0358102,-0.0161495,0.0339783,-0.0678257]
zhoujielun_0003.png:[0.0343471,0.0604525,0.00378082,0.0452277,0.0642282,0.0794936,-0.00427816,-0.0554588,-0.0273031,-0.0796966,0.0188889,0.0316269,0.136252,0.00157576,-0.063944,0.0344283,-0.016321,-0.0601277,-0.101174,-0.101498,-0.0113171,0.00187265,-0.0411881,-0.0485569,0.0395438,0.00498104,0.00183205,0.0744187,-0.0210305,0.0211523,0.0630508,0.0212132,0.0552558,0.0483539,0.0512364,-0.0853399,-0.0596405,-0.0618735,-0.0154785,-0.0256994,0.0746217,-0.0179043,-0.0355448,0.00293331,0.014088,-0.00637918,-0.0196197,-0.00736371,0.0501402,-0.0442939,0.0314645,-0.0316269,-0.0496124,-0.0570015,-0.00103465,0.0420204,-0.0524544,0.0195791,-0.0828227,0.0297593,0.0148695,-0.0485569,-0.0566361,0.0188584,-0.0261866,-0.00996715,-0.03658,0.00930741,0.0277903,-0.0229792,-0.000832287,0.0201982,-0.0292722,0.00822645,-0.00408785,0.00102831,-0.00249306,0.0557024,0.00287494,-0.0135094,0.00190056,0.0305104,-0.0228575,0.0563925,-0.101417,-0.0350576,0.0179754,-0.0160368,0.0745811,-0.0520078,0.0218628,-0.039016,-0.0903742,-0.00387978,0.00430353,-0.0317081,0.0450653,-0.0149913,0.0184524,-0.0300841,0.0192441,-0.00370723,0.0101143,0.00696787,-0.00526269,-0.0367627,0.0291098,-0.0619953,0.000713661,-0.0286226,-0.00508761,0.0565143,-0.0326825,0.0231416,-0.0454713,0.0820513,-0.12529,0.00349662,0.0119362,0.0292316,0.0386506,0.0100737,0.120174,0.0161078,0.0312006,-0.00999252,-0.0944342,0.0318096,-0.0501402,-0.0644718,0.0190005,-0.0623606,-0.000727617,-0.0326013,0.0591127,0.0265723,0.0296172,0.0289474,-0.0593563,-0.0713737,-0.0160571,0.0408227,0.0180464,-0.0831475,-0.0146056,-0.00751089,0.0400513,-0.0285414,-0.011043,0.00940383,0.0562707,0.0204519,0.0430353,0.0278512,0.062523,-0.0202591,0.0288256,-0.102392,-0.00472475,0.0223297,0.00612543,-0.00548599,0.0135196,0.0237709,0.00232305,0.00425532,0.0308149,-0.0185438,-0.0165138,0.0214568,-0.0617111,0.0472983,0.032378,0.0473795,0.0727947,-0.0464051,0.0334945,0.0449029,0.0449029,0.00868319,0.0138545,-0.0341035,-0.009754,0.0593563,0.0405588,0.0273437,-0.0387318,0.00605946,0.0275061,0.119849,-0.0194674,-0.0248265,0.00396859,0.0151943,0.0648372,0.0467299,0.0529822,0.0497342,-0.0482727,0.0503432,0.05148,-0.0349155,0.0469735,-0.0690189,-0.0593969,0.00679025,0.0287241,-0.00583109,0.0516018,-0.0181479,-0.0448217,0.0604119,-0.0162905,-0.000562682,-0.0607367,0.0425887,-0.0316878,0.0173765,0.0079321,0.0315863,-0.0307337,-0.0454713,-0.0236694,0.0574887,-0.0265723,-0.0435631,0.00187772,-0.00373007,0.10093,-0.0353621,0.0369251,0.0633756,0.0448217,0.0375747,0.0207564,-0.0188381,0.0211117,0.051074,-0.00547077,-0.0128802,-0.0355651,0.0289068,-0.0323983,0.0279121,-0.0177622,0.00163666,0.0266332,0.012464,0.0685318,-0.0218831,0.0317893,0.0565549,0.0608585,0.0375341,0.0688972,-0.0197516,-0.00599348,-0.0365394,0.0364176,-0.0237709,0.0771794,0.0722669,0.0498966,0.0104442,0.00256157,0.0494906,0.036174,-0.0317081,-0.04945,-0.0370875,0.0510334,-0.0610615,0.0292519,-0.0504244,0.0281963,0.0339614,0.00126048,0.0932162,0.053307,0.0986565,-0.00453698,0.0169705,-0.0775042,-0.0490847,-0.0404573,-0.00324541,-0.0098758,0.0260445,0.0505462,0.0307743,-0.0166457,-0.0356869,0.0432383,0.00919069,-0.0885066,0.00433145,-0.117901,-0.0782756,0.0435225,-0.00405994,-0.0698309,-0.0202083,0.0112359,0.00896739,-0.0421016,-0.0200764,0.0476231,-0.0300435,0.0432383,0.0435631,0.0106269,-0.00465624,-0.0330885,-0.0437255,-0.00536927,-0.0729571,0.00456743,-0.036986,0.0770982,0.0197008,0.0171025,0.0682476,-0.0190411,-0.00236238,-0.00940383,0.0418174,0.0400513,-0.000424708,0.0414723,0.00186123,0.051074,0.0612239,0.0608585,-0.0170111,0.0143823,0.0361132,-0.0937846,-0.017072,-0.0317081,-0.0619547,-0.0379604,0.0824573,-0.011175,0.0261663,-0.000728886,0.00349155,0.0206752,-0.0241566,-0.0689377,-0.0156206,-0.0140271,-0.0435225,-0.00628275,0.0252731,0.0764892,0.0340832,0.0754742,0.0285414,-0.0817266,0.0419392,0.0253949,-0.0472983,0.00232558,-0.0183002,0.0217613,-0.00263642,0.0172547,0.0345704,0.0341441,-0.0290895,0.00976415,-0.066989,0.00960175,-0.0264505,0.0762456,-0.0601277,-0.0262069,-0.00119134,0.0463645,0.0528604,0.00594273,-0.0800214,0.0154785,-0.0414723,0.0559865,0.010231,-0.0018828,0.0347125,0.015509,-0.0487599,0.00118626,-0.00767328,-0.0209087,0.0346313,-0.00288256,-0.0574887,-0.030754,0.00198683,-0.0354433,0.0111141,-0.020929,0.0280542,0.00170264,0.0611833,-0.00419442,0.0769764,0.0898058,-0.0652026,-0.00314391,0.0176506,-0.00376305,0.0855835,-0.100605,-0.00152375,-0.0267144,-0.0838783,-0.0143925,-0.0134384,-0.0814424,-0.0895622,-0.0422234,-0.0552964,0.0696685,-0.0356869,0.0297593,-0.0333727,0.0123219,0.0319314,-0.0388942,0.00666337,-0.0304089,-0.0213756,0.0140169,-0.0707647,-0.0202692,-0.0435225,-0.0488411,0.0618735,0.0437661,0.00704907,-0.00762253,0.0123524,0.052901,-0.0153669,0.093541,0.000838631,-0.0530634,-0.0225327,-0.00328601,0.00206422,-0.0718609,0.0240551,-0.0286429,0.0133775,0.0256385,-0.0078712,0.0578541,-0.05554,0.0422234,0.0356869,0.015986,0.0354433,-0.0462833,-0.0790064,0.0239739,0.00924143,-0.00293584,-0.0905366,-0.0390566,0.102067,0.134222,0.0608179,-0.0671108,-0.00860707,0.00641978,-0.00196653,0.101255,-0.011175,-0.0101854,-0.00710489,0.0251513,0.00501402,-0.101417,-0.0289271,0.0267956,0.0344892,0.0222079,0.0488005,0.00151613,0.00556719,0.00238775,-0.0434007,0.00903844,-0.0242987,0.0513988,0.0832287,-0.0361132,-0.0188381,0.00844467,0.0375747,-0.0328449,0.0396656,-0.00555197,0.0337381,0.0564331,-0.0387318,-0.0188483,0.0229995,0.00996715,-0.0888314,-0.00635888,0.0558647]
zhenzidan_0001.png:[-0.00881437,0.0644211,-0.0697783,0.0650238,0.0179636,0.0287116,0.0474787,0.0101202,-0.0144144,0.0643876,-0.0316078,0.0354249,0.0972343,0.00137489,0.0160718,0.00232078,0.0262506,-0.0273555,-0.0286948,0.0843769,-0.0867207,-0.0345878,0.0870555,0.00668402,0.0109238,0.00577161,0.0493538,-0.00988582,0.0300341,0.0016009,0.0363624,0.0163982,0.0142888,0.025899,-0.0047462,-0.0192527,-0.0818991,0.0132509,-0.0404473,-0.0403469,-0.00683469,0.0254135,-0.086051,-0.0504587,0.0487511,0.0301011,-0.00878089,-0.0124975,0.120204,0.0593986,0.00815727,-0.0446662,-0.0397777,0.0324784,0.018583,0.00925802,0.0341693,0.0203743,-0.0206422,0.0172269,-0.0720552,-0.0811625,0.0386727,0.0682046,0.022534,-0.00321436,0.00449089,0.03283,-0.0457041,-0.0526351,0.0735954,-0.0110912,0.0663631,0.0216467,-0.0215797,-0.0633496,-0.0178799,0.00753365,-0.0290631,0.0607714,-0.00309298,0.0363959,-0.015084,0.0477131,0.0332485,0.00195038,0.0224838,0.0446662,0.0364294,-0.000965772,-0.0322105,0.0104467,-0.00199746,0.0180305,0.0898681,-0.0247941,-0.0129746,-0.0291971,-0.0294984,0.012305,-0.036195,0.0574566,0.00890645,-0.0667314,0.0546441,0.0371995,0.0116604,0.0395098,0.0244425,-0.0274225,0.0827697,-0.0810286,-0.0798902,-0.0201902,0.0310554,0.0839081,0.0188341,-0.000374067,-0.0525346,-0.0333992,-0.0314572,-0.0182984,0.0219145,-0.0013592,0.00426697,-0.0300007,0.0148915,0.038204,0.04403,0.0688408,-0.0363289,0.00691422,-0.0524007,0.00548701,-0.0582937,-0.0739302,0.0299672,-0.0125728,0.0656599,0.0181645,0.0225842,-0.0807607,-0.0151845,0.0212784,-0.0658608,-0.0144228,-0.017545,0.0181812,-0.0427911,-0.0300341,0.0602022,0.0545771,-0.0219648,-0.0571553,0.00583021,-0.0138368,-0.0366638,-0.0469095,-0.0359271,0.0748008,-0.0590973,-0.0291803,-0.122748,-0.0867207,-0.045001,-0.0198721,0.0381035,-0.0201567,0.00167101,0.0174111,0.0441974,-0.0276569,0.00693933,-0.0438961,-0.00349896,0.0385053,0.018516,0.0128574,-0.017679,-0.0226847,0.105538,0.0109656,-0.030369,-0.00200165,-0.0138535,0.0435947,0.00659194,-0.0358937,-0.00138012,-0.0873903,0.044097,-0.0339684,-0.00020953,0.0476127,-0.0599678,-0.0248443,0.0786178,0.0348557,0.0116353,-0.0582602,-0.028812,0.111565,0.0624121,-0.0398111,0.0290297,-0.0345878,0.0182984,-0.0877921,0.0127235,0.000930196,-0.0500904,-0.00269956,0.0135941,0.0348557,-0.00911572,0.00287744,0.0119785,0.000309978,0.018516,-0.028879,-0.0118195,0.0752695,-0.00483828,0.00349896,0.0128742,0.0199056,0.0464742,0.0216802,0.0532043,-0.0199223,-0.0181812,0.0861849,0.0816982,0.0553137,-0.0121124,-0.0545436,0.0350901,0.00872229,0.0490189,0.0454698,0.0210273,-0.0453693,0.00687236,-0.00202781,0.0164317,0.055749,-0.0583272,0.0428916,-0.0236222,-0.0383714,-0.0936181,-0.0569544,-0.0602692,0.0510279,0.0114595,-0.0163229,0.0426237,-0.0448001,-0.0216802,-0.00706907,0.0983727,0.00390494,0.0466751,-0.0422219,0.0131337,-0.0336838,-0.0877252,0.00369149,-0.0107564,0.0100114,0.00305741,-0.0462064,-0.00154021,0.0245764,-0.0394763,-0.0155528,0.0451349,-0.0436282,-0.0386058,-0.030888,-0.000469022,0.015377,-0.0164987,-0.084042,0.0264347,-0.0547445,-0.0159044,-0.0527355,0.0299504,-0.0439295,0.0303355,0.0650572,-0.0435277,-0.0242918,-0.024995,0.00886459,-0.00372497,-0.0424563,-2.10903e-05,0.0316413,0.0436617,-0.0139205,-0.0377352,-0.0329639,-0.00539911,0.048818,0.0417532,-0.0478136,-0.0241579,-0.0466751,-0.00396772,-0.0641197,0.0758722,-0.0202906,0.0213788,0.0790866,0.0518315,0.00525681,0.0513962,-0.0424563,-0.0286446,-0.070515,-0.0243755,-0.00891482,-0.0519989,-0.0685729,-0.01567,-0.0190852,-0.0173441,0.00567535,-0.00837491,0.00833724,-0.0172437,-0.0307038,-0.0739972,0.0660952,-0.0306201,-0.0191857,-0.0166828,-0.0413179,0.055816,0.0537735,-0.0542758,-0.0830376,-0.0237394,-0.025966,-0.0731936,0.0142302,-0.0271546,0.0515302,0.0394763,0.114712,0.0128407,0.0493873,-0.0380366,-0.0219145,0.049923,0.0285944,0.0676019,-0.0721891,0.0493538,0.0374004,-0.0141047,0.025899,-0.0142219,-0.0543427,-0.00910734,0.0346213,-0.126097,-0.0337675,0.00830375,-0.085984,0.109355,0.0255474,-0.0525012,0.084042,0.0341525,0.0260497,0.0592982,-0.0265017,-0.0218476,0.000534157,0.0725239,0.0235887,-0.0328634,-0.0737963,-0.0659948,-0.00420419,0.0369986,0.0106727,0.0266524,0.0295654,-0.0646889,0.113105,-0.0610058,-0.00179866,-0.0128491,0.123351,0.00445322,-0.0343869,-0.0101621,0.0644211,-0.0304862,-0.0437621,-0.00416653,-0.0539074,0.0133848,0.0480479,0.0110828,-0.010455,0.0281256,0.0384383,0.0456707,0.0232036,0.0668988,0.0183319,-0.0650238,0.0464408,-0.0403134,0.00334201,-0.0384718,-0.0629478,0.0141214,0.0219815,0.00988582,-0.0434273,-0.030369,-0.00617341,-0.0306034,0.0624121,-0.0189011,-0.0251289,0.0776803,-0.0013006,-0.0826358,-0.00361197,-0.0778812,0.0275899,-0.0658943,0.0324114,-0.0808277,-0.00919105,0.0277406,-0.0202906,0.0395098,0.0411839,-0.0463068,-0.0117609,0.0263678,0.0384718,0.0458046,-0.0203576,0.0962298,-0.0302685,-0.0240909,-0.00749598,-0.0265184,0.0260664,0.00450345,0.0051187,-0.0800911,-0.012623,-0.030235,0.0456372,-0.00415397,-0.123217,-0.00236473,0.0208598,0.0138535,0.0301179,0.0404138,-0.0219815,0.000148711,0.0099779,-0.0932833,0.0125728,0.00911572,-0.0113172,0.0128825,-0.0133932,-0.0428581,-0.0165573,-0.0691087,-0.00799404,0.0663631,-0.0232036,-0.111029,-0.0359941,-0.0274392,0.0133764,0.0285442,-0.0275564,-0.00897341,0.022467,0.0103546,-0.00325621,0.00175262,-0.0350231,-0.0687738,-0.036195,-0.0235887,0.00350105,-0.0975022,0.0289292,-0.0132341,0.0492198,-0.00351152,0.0351905,0.0403134,-0.0267361,0.0444653,0.105605]
zhenzidan_0002.png:[-0.0712725,0.0583178,-0.0762118,0.0535952,0.0318885,-0.0247179,-0.0409005,-0.0625205,-0.00352842,0.0134421,0.0222916,0.0792013,0.0746087,0.0605708,0.0168758,-0.0112541,0.00481198,-0.00843789,-0.0837939,0.0840106,-0.0375643,-0.0439983,0.0241763,0.00341198,-0.0345748,0.0587511,0.0244796,0.0162042,-0.0062553,0.0122723,0.0134205,0.00284061,0.0215551,0.0413554,0.000251837,0.0166266,-0.106584,-0.0379976,-0.0364161,-0.0457097,0.0189446,-0.0227249,0.00979726,-0.0156301,-0.0472695,-0.00188065,-0.0247829,-0.00332804,0.0259527,-0.00462242,0.00603867,-0.00941815,-0.0463596,-0.0363295,-0.0146336,-0.0565847,-0.0259744,0.057148,0.0100951,0.0918527,-0.0516455,-0.0935858,0.0590544,0.0391024,-0.0395573,0.052772,-0.000617068,0.0677197,0.00623364,-0.0565414,0.0650768,-0.0033497,0.0581445,0.0328633,-0.0104742,0.00752802,-0.0142978,0.10901,0.0092286,-0.0386258,-0.0216634,0.0742187,-0.00235318,0.0365245,0.0155543,-0.0459264,-0.0376943,0.0087845,0.00783131,-0.0463596,-0.0322134,0.0136479,-0.0748253,0.0278808,0.0218475,-0.00883324,-0.0609607,-0.0190421,-0.0455798,-0.00580037,-0.0413121,0.0297871,0.0347047,-0.00851912,0.00624988,0.00582745,-0.00180077,-0.0833607,-0.00867077,-0.0872168,0.0290073,-0.0865235,0.0251079,-0.0216525,0.030762,0.0326684,-0.0209702,-0.0303287,-0.0786381,-0.0602675,-0.0729623,-0.00910945,0.077035,0.0662899,-0.0383225,-0.0791147,0.0538118,0.0305454,0.0246529,0.0614373,0.0160634,-0.00253732,-0.0643402,0.0138429,0.00388858,0.00754427,0.0723124,0.0484393,0.039579,0.00851371,0.0216634,-0.0577979,0.0318452,-0.0160201,-0.0284224,0.0230282,0.0622172,0.0332749,-0.11187,-0.0691495,0.0969653,0.00788005,0.0456231,-0.0948856,0.00762551,-0.000225773,-0.0231148,-0.107017,-0.0793313,0.0686729,-0.108057,-0.0487426,-0.0762118,-0.0712725,-0.0171791,0.00597909,-0.0107721,0.0310436,0.00623905,-0.0504323,-0.0102793,-0.0135396,0.0153377,0.00523983,0.0224866,-0.0245879,0.0131497,-0.0862202,0.0736555,0.0324517,0.0318235,-0.0676331,-0.0335349,-0.024328,-0.0353763,0.0960987,-0.00632029,-0.0623905,-0.012099,-0.0112975,0.0344448,-0.0430885,0.00187253,0.0268409,-0.0267326,0.000623499,0.0531619,0.00634737,-0.0203852,0.00958604,0.00648277,0.0506923,-0.0137454,-0.0247396,-0.050259,0.0516888,0.0170707,0.00670482,0.000864504,-0.0510389,-0.0464463,0.059401,0.0209593,0.0206235,-0.00961312,0.00213113,-0.092546,0.0910728,0.0555882,0.0146444,0.00172359,0.0343148,0.0270792,-0.0362645,-0.0386691,0.0805878,0.0728323,0.0290506,-0.00256305,-0.152077,-0.0227032,0.0346397,0.0471395,0.037651,-0.00112988,0.00137969,0.0387774,0.0181431,0.0170599,0.0335132,-0.0243496,-0.0729189,0.00717599,-0.0304804,-0.0565847,0.00638528,-0.046143,-0.0219667,0.0648168,-0.00425415,-0.085787,-0.0288989,0.0121965,0.0429585,0.00818334,-0.0165833,-0.0101439,-0.0400339,-0.0160526,-0.0267976,0.0509956,0.0369144,-0.00123075,-0.046403,0.0406622,-0.00156789,-0.0402506,-0.0604408,-0.0228549,0.0409871,0.0621739,-0.0288773,0.0294839,0.0487426,-0.0279458,-0.0204177,0.0272959,-0.0229848,-0.102511,-0.00535085,0.0766017,0.010718,-0.0199953,-0.0366328,0.0099814,-0.00329825,0.0319751,-0.0230282,0.054635,0.0128247,0.0171032,0.0828841,0.00534002,-0.0102089,-0.0977452,-0.0366328,-0.0384742,-0.0195079,-0.0257794,0.0186738,0.00615782,-0.0590544,-0.0238297,-0.0636903,0.0291806,0.0517321,-0.0475295,-0.078768,-0.0646868,-0.0190204,-0.0159009,-0.0278158,0.0600509,-0.0190854,-0.0359829,0.0128789,0.00752261,0.0154893,0.032885,0.0337732,0.028379,-0.0210568,-0.0418536,-0.057278,-0.0562815,0.0604408,-0.0413121,-0.00673731,-0.0287256,-0.00464679,-0.00365028,0.011265,0.0103876,0.0120448,-0.0772516,0.0626938,-0.0301338,-0.0951456,-0.0127272,0.0176665,0.0488726,0.00419728,0.0129872,-0.0159334,0.00432726,-0.046403,-0.070276,0.00756052,-0.0342931,0.0369361,-0.0128031,0.0596176,-0.0260394,-0.00275531,0.0254761,-0.0301771,-0.0229848,-0.0236564,0.0216417,-0.0468796,0.0518621,0.0224216,-0.0561515,-0.0125431,0.00285686,0.0100843,0.028509,-0.0255628,-0.0589244,-0.028314,0.0233315,-0.0460997,0.0750853,0.0275775,-0.0639936,0.0843572,-0.0291156,0.0299171,-0.0471828,0.0320618,-0.0470095,0.0200928,0.070146,-0.00295434,-0.01615,-0.112303,0.0414637,0.0423519,0.00822125,0.0588811,0.0192154,0.0114058,-0.0668965,0.111696,-0.0413987,0.0265593,0.0569314,0.0921127,-0.0598776,-0.0197678,-0.0133555,0.0454064,-0.0139837,-0.0176557,0.0295922,-0.050649,0.026126,-0.00661816,-0.0239164,-0.102424,0.00274313,0.03295,-0.0464896,0.0339682,0.0137021,0.00744137,-0.0324734,0.035073,0.0149911,-0.00647735,-0.004135,-0.0324517,0.031022,-0.0276858,-0.0608741,0.0034526,0.0905529,0.0569314,0.0409438,-0.0275775,-0.0238297,0.0154352,0.0424169,0.0622172,-0.0102684,0.00971603,-0.00920152,0.0489592,-0.0451898,-0.004923,-0.0269926,0.030892,0.0284224,-0.0485693,0.0355496,0.0404889,-0.0668532,0.0251728,-0.0308703,0.0130305,-0.0840972,-0.0331233,0.0207102,0.0501724,0.0358746,-0.0297222,-0.0304587,-0.00398335,-0.00310057,0.0423952,0.00448161,-0.0707959,-0.0833607,0.00807502,-0.0255628,-0.0954922,0.000314796,-0.00527503,0.030502,0.0261044,0.039254,-0.0328417,0.0225949,0.0336432,-0.154503,0.00622822,0.0348997,-0.0130414,0.0233531,-0.0800679,-0.00470637,-0.0177965,-0.081021,-0.0576679,0.0430018,0.0288556,-0.0175473,-0.0304804,-0.0102143,0.0441283,0.00773383,0.0329283,0.00219748,0.0607874,-0.0421786,0.0809344,-0.0132363,-0.0468362,-0.037196,-0.0208727,0.000493857,0.0193454,0.0233748,-0.0336432,-0.0103605,0.0731789,-0.0393624,0.0565847,0.0187388,0.00804253,0.0298088,0.0724423]
zhenzidan_0003.png:[0.00881276,0.017294,-0.0243847,0.064277,0.0149274,0.0407026,-0.012395,0.00434653,-0.0322858,0.0580519,-0.000387918,0.0596726,0.101001,0.0492483,-0.000970947,0.004114,0.0425075,0.0265948,-0.0572415,0.059378,-0.0647927,-0.0242742,0.126491,0.0328936,-0.0476276,0.0106729,0.0318807,0.000258132,5.03243e-05,0.0140249,0.0506481,0.00936989,-0.00393674,0.0496167,0.0208118,0.0162074,-0.0771324,0.0696917,-0.0100283,-0.00880816,0.0509796,0.0101664,-0.0704284,-0.0477013,0.0119898,0.0100652,0.00956788,0.0174045,0.0566522,0.057352,-0.00342565,-0.0428022,-0.0652347,-0.00578309,0.0101204,-0.0430969,0.0101664,-0.0249189,0.0241822,0.0504271,-0.0604093,-0.0599673,0.00676842,0.0655662,0.0274789,-0.0124594,0.0223036,0.0291917,2.85075e-05,-0.0627668,0.0812579,0.00683289,0.0420655,0.0730437,0.00374335,-0.0465594,-0.0200935,-0.0117227,0.0095863,0.0130764,-0.0643875,0.0861201,-0.0260976,0.0257108,0.0667818,-0.0537054,-0.0365034,0.0318254,0.0700233,0.00866082,-0.0363929,0.0266685,0.00688353,0.0433547,0.0552893,0.01478,-0.0480328,-0.0206092,-0.0459332,0.00785505,-0.00635863,0.0214379,0.0177913,-0.0451597,0.00133297,0.0311071,-0.0121832,0.0119806,-0.029339,-0.0239243,0.0760274,-0.125681,-0.0149826,-0.00765707,0.0232613,0.0285287,0.0231324,0.0112899,-0.0516426,0.0290259,-0.0689182,0.013233,0.00823261,0.012174,-0.0052674,-0.0900983,0.0293759,0.0457859,0.0439441,0.0416603,0.00308723,0.0316412,-0.0317517,-0.0422129,-0.0642402,-0.00165067,0.0164652,-0.0124778,0.101075,0.00320464,-0.0427286,-0.107116,-0.00446394,0.0148261,-0.0840574,-0.0137118,0.0276078,0.0175887,-0.053337,-0.0187766,0.0376453,0.00997306,0.00691576,-0.0233349,0.0239059,0.00534567,-0.0519373,-0.0572784,-0.0351774,0.0724175,-0.0323595,0.0125423,-0.072749,-0.0468909,-0.0149642,-0.0149918,0.00131225,-0.0416603,0.00410249,-0.0351406,0.0146603,0.0200382,0.0495062,-0.0544789,0.011428,0.0327094,-0.00320234,-0.0262817,0.0328936,0.0239796,0.104685,-0.0422497,0.00352925,-0.0119622,-0.0024219,0.0230034,0.00704469,-0.0605567,0.0529687,-0.0730806,0.0400396,-0.0201119,0.00805765,0.0305914,-0.0242558,0.0186753,0.0603725,0.0503534,0.00919493,-0.0199093,-0.0722702,0.0703179,0.0544789,-0.0380137,0.00959551,-0.0148077,0.0742224,-0.0533739,0.0402238,-0.00490826,0.00525819,0.0139236,0.0307572,-0.0188319,0.0310335,0.0036835,0.00753735,0.00117469,0.038382,0.00491747,0.0193199,0.0740383,-0.0138039,-0.0166678,0.0168336,0.00697562,0.013058,0.0652715,0.0678868,-0.0461542,-0.0389714,0.0739278,-0.00875291,0.0778691,0.0123765,-0.0425812,0.000444034,0.00405415,0.0517531,0.0393766,0.0160969,-0.041955,-0.00225614,-0.0373322,0.0106545,0.0132238,-0.0396712,0.0597095,0.019191,0.0243295,-0.0836154,-0.126418,-0.0279025,0.0372954,0.0605935,-0.00270046,0.00644612,-0.0352326,-0.0249373,0.0544052,0.0597463,-0.0134356,0.00386307,-0.0393766,0.0450123,-0.028013,-0.0464489,0.0229113,-0.0393029,0.0129567,0.00499114,-0.0152405,0.0149918,0.00399659,-0.0300942,-0.0243111,0.0745908,-0.0658609,-0.0488432,-0.0297811,0.042618,0.0272763,-0.0270737,-0.0177913,0.02188,-0.0127265,-0.0228377,-0.008426,0.0482906,-0.0563207,0.0223772,0.0340171,-0.0115846,-0.0111426,-0.00193614,0.019633,0.038603,-0.0468909,-0.0226719,-0.0191726,0.0422497,0.00334507,-0.021309,-0.0425812,-0.0311255,0.0784585,0.0578677,-0.0806686,-0.0259502,-0.0475171,-0.0418445,-0.0481065,0.0171467,0.00270277,-0.0503166,0.0934871,0.0443493,0.0458964,0.0668923,-0.0450123,-0.0179202,-0.0435758,-0.0311624,-0.0752538,-0.0561733,-0.0255266,-0.0524161,0.015222,-0.0493588,0.0250109,0.0219905,-0.000663605,0.00204779,0.00374565,-0.0853834,0.0282892,0.0405553,-0.0267974,-0.0264475,-0.0125976,0.0713862,0.0415498,-0.0357299,-0.0743698,-0.0399659,-0.0124686,-0.0616617,0.00720584,-0.044644,0.0396712,0.0314571,0.0415498,-0.00401731,0.0896563,-0.0274236,-0.0516426,-0.00662108,-0.000957709,0.0690287,-0.049101,0.015176,0.0656399,-0.00847204,0.00617906,-0.0403711,-0.0959919,-0.00384235,-0.0209038,-0.121408,-0.037056,-0.00841218,-0.0510901,0.0976863,-0.0141907,-0.0454175,0.0537422,0.0476644,0.0556208,0.0316228,0.0425444,-0.0403711,0.0288602,0.09776,-0.000249787,-0.0326174,-0.126786,-0.0510533,0.0281051,0.0154431,0.0372586,0.0428759,0.0435758,-0.0590833,0.117651,-0.122734,0.000621014,0.0132514,0.0928241,0.00247024,-0.0304993,-0.0235744,0.0508322,-0.057573,-0.0221931,0.0740383,-0.0604093,0.0257292,0.000648065,-0.0209223,-0.0352511,0.0304073,0.0216037,-0.0055897,0.0199093,0.0934135,0.0144761,0.00193959,0.046412,-0.00490826,0.00639547,-0.0200751,-0.0135737,-0.0440914,-0.013675,-0.00644151,0.0096968,0.0502061,0.0224877,-0.0129659,0.0978336,-0.0155812,-0.0166678,0.0664134,0.0479591,-0.0728227,-0.00199484,-0.0315123,0.0959919,-0.0593043,0.0347538,-0.0430232,0.00416235,0.0182517,-0.0175426,0.00799319,0.0118148,-0.0263554,0.024661,0.0176439,0.0322858,0.0671133,0.00720123,0.108663,-0.0099086,-0.0133343,-0.0127357,-0.0472961,0.0119898,-0.0318254,0.00616986,-0.060925,0.0154707,-0.0495799,0.0041094,-0.0239243,-0.140268,-0.0133619,0.0161521,0.00167829,0.0635403,0.0237954,-0.00924557,0.0197251,0.0154523,-0.124428,0.00892327,0.0209223,-0.0485853,0.0472224,-0.0573889,0.0116306,-0.0528213,-0.0983493,-0.0151115,0.0812579,0.0299284,-0.0694339,-0.0120727,-0.0323043,0.0118148,0.0409605,0.016631,-0.031365,0.057794,0.0333725,0.00834312,-0.0102309,-0.0730437,-0.0516794,-0.0336119,-0.0163823,0.0102217,-0.0569837,-0.0478854,-0.00201787,0.0830997,-0.00820038,0.0208854,0.0739646,-0.0189332,0.0786795,0.0778691]
最后我将这三个明星的人脸特征向量保存到了 milvus 向量数据库中,度量方式使用欧式距离,查询出的 topk还算可以,比如使用 zhenzidan_0001.png 的特征向量查询结果如下: