人脸识别算法测试
opencv 加载oOpenFace 人脸识别模型
//加载人脸检测模型
std::string modelConfiguration = "./deploy_lowres.prototxt";
std::string modelBinary = "./res10_300x300_ssd_iter_140000_fp16 .caffemodel";
//初始化网络
Net detectNet = readNetFromCaffe(modelConfiguration, modelBinary);
//加载识别模型
std::string recongnitionModel = "./openface.nn4.small2.v1.t7";
Net recoNet = readNetFromTorch(recongnitionModel);
cv::String dataBasePath="/FaceRegister/FaceRegister";
std::map<std::string,cv::Mat> dataBaseF = \
faceDatabaseFeature(dataBasePath,detectNet,recoNet);
其中,__deploy_lowres.prototxt__和__es10_300x300_ssd_iter_140000_fp16 .caffemodel__文件是用于检测检测人脸的工作,将检测到的人脸__faces__返回,接着用__openface.nn4.small2.v1.t7__模型将这个faces映射到为一个128维的向量,通过计算向量的相似度,即可得出比较结果
cv::Mat inputBlob