记录一次没成功的人脸识别测试
本意是想找一个在 C# 中方便直接调用的人脸识别模型代码,原来用过 python 的,但是转到 C# 中很麻烦,最近发现一个项目
FaceRecognitionDotNet(开源地址:https://github.com/takuya-takeuchi/FaceRecognitionDotNet)
虽然在 2022 年已经停更了,但是感觉应该还不算太久,应该问题不大吧,唔,就踩了坑了,最后也没能解决,先记录下吧,以后有时间再看。
主要是想需要其中的 PredictProbabilityEmotion 功能,但项目因为授权原因,不能直接提供训练好的模型,需要自己训练。
当然训练源数据、训练代码已经给出,只需要自己下载下来,运行一下。。。
1、首先安装 CUDA、cuDNN 环境
参考:https://www.cnblogs.com/xwgli/p/17486722.html
环境 CUDA 版本需要 11.2.X (https://developer.nvidia.com/cuda-11.2.0-download-archive),cuDNN 跟 CUDA 版本匹配就行
如果使用 12.X 版本,运行时就会报错:[ERROR] The type initializer for 'DlibDotNet.NativeMethods' threw an exception.
版本可以共存,或者直接把 11.2.X 下的指定文件复制到软件运行目录也可以
所需 CUDA 文件列表(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin):
cublas64_11.dll
cublasLt64_11.dll
curand64_10.dll
cusolver64_11.dll
所需 cuDNN 文件列表:
cudnn_adv_infer64_8.dll
cudnn_adv_train64_8.dll
cudnn_cnn_infer64_8.dll
cudnn_cnn_train64_8.dll
cudnn_ops_infer64_8.dll
cudnn_ops_train64_8.dll
cudnn64_8.dll
参考:https://github.com/takuya-takeuchi/FaceRecognitionDotNet/wiki/Quickstart#for-cuda
2、下载项目源码
这个就不再细说
3、编译运行项目
FaceRecognitionDotNet/tools/EmotionTrainingV2 是用于训练情绪模型的项目
但它是 .net core 2.0 框架,如果想正常编译,需要安装 .net core 2.0 sdk(目前已不再受支持)
或者将项目框架升级到 .NET 8,经测试跟 2.0 没什么区别,不需要改动代码
项目中引用的
输了你,赢了世界又如何...