测试FaceRecognitionDotNet报错“Error deserializing object of type int”

FaceRecognitionDotNet宣称是最简单的.net人脸识别模块,其内部使用Dlib、DlibDotNet、OpenCVSharp等模块实现人脸识别,网上有不少介绍文章。实际测试过程中,在调用FaceRecognition.Create函数创建FaceRecognition实例对象时,会报如下错误:

bash 复制代码
DlibDotNet.SerializationException:"An error occurred while trying to read the first object from the file E:\MyPrograms\C#\TestViewFaceCore\TestFaceRecognitionDotNet\Models\shape_predictor_68_face_landmarks.dat.
ERROR: Error deserializing object of type int


  开始认为是个人电脑中的模型文件有误,于是在参考文献4中重新下载了所有模型,然后运行程序还是报相同错误。
  百度错误信息,在stackoverflow中找到个类似问题(参考文献2),文章中提到有可能是shape_predictor_68_face_landmarks.dat文件不对,于是从参考文献1中下载FaceRecognitionDotNet源码,并将FaceRecognition中加载部分模型文件的代码注释,如下所示。

csharp 复制代码
private FaceRecognition(string directory)
{
    ...
    ...

    //this._PosePredictor68Point?.Dispose();
    //this._PosePredictor68Point = ShapePredictor.Deserialize(predictor68PointModel);

    ....
    ....
}

重新编译FaceRecognitionDotNet项目后再调用,上述报错问题解决。但又出现以下异常,从报错信息来看,缺少DlibDotNetNativeDnn.dll文件,但是将DlibDotNetNativeDnn.dll及DlibDotNetNative.dll文件复制到exe同级文件夹或者同级文件夹下的runtimes\win-x86\native文件夹内都不行。最后找到参考文献3,其内提到在exe同级文件夹下创建dll\x86子文件夹并复制dll文件,照此方式能解决报错问题,至此即可正常测试FaceRecognitionDotNet的用法了。

参考文献:

1\]https://github.com/takuya-takeuchi/FaceRecognitionDotNet/tree/master \[2\]https://stackoverflow.com/questions/50349818/dlib-error-deserializing-object-of-type-unsigned-long-while-deserializing-object \[3\]https://blog.csdn.net/qq_29881799/article/details/134267102 \[4\]https://github.com/ageitgey/face_recognition_models/tree/master/face_recognition_models/models

相关推荐
bugcome_com11 小时前
零基础入门C#:一篇搞懂核心知识点
c#
程序员敲代码吗14 小时前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
缺点内向16 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
喵叔哟17 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
2501_9307077817 小时前
使用 C# .NET 从 PowerPoint 演示文稿中提取背景图片
c#·powerpoint·.net
初级代码游戏18 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
大空大地202619 小时前
流程控制语句--switch多分支语句使用、while循环语句的使用、do...while语句、for循环
c#
kylezhao201921 小时前
C#序列化与反序列化详细讲解与应用
c#
JQLvopkk21 小时前
C# 实践AI :Visual Studio + VSCode 组合方案
人工智能·c#·visual studio
故事不长丨21 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#