测试开源C#人脸识别模块ViewFaceCore(6:视频活体检测)

这篇具有很好参考价值的文章主要介绍了测试开源C#人脸识别模块ViewFaceCore(6:视频活体检测)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  之前的文章介绍ViewFaceCore模块的FaceAntiSpoofing类支持单帧活体检测(AntiSpoofing函数)及视频活体检测(AntiSpoofingVideo函数),视频活体检测时从摄像头中抓取一帧图片进行检测,当检测结果状态为Detecting时,继续从摄像头中抓取图片,直至检测结果不为Detecting。本文中主要测试视频活体检测函数AntiSpoofingVideo。
  新建Winform项目,添加以下程序集以支持从摄像头中获取图片及人脸识别。

Hompus.VideoInputDevices
DirectShowLib.Standard
OpenCvSharp4
OpenCvSharp4.Extensions
OpenCvSharp4.runtime.win
ViewFaceCore
ViewFaceCore.all_models
ViewFaceCore.Extension.SkiaSharp
ViewFaceCore.runtime.win.x64

  操作摄像头获取图片的示例详见《测试C#使用OpenCvSharp从摄像头获取图片》,调用ViewFaceCore进行视频活体检测的代码如下所示:

FaceDetector faceDetector = new FaceDetector();
FaceLandmarker faceMark = new FaceLandmarker();
FaceAntiSpoofing faceAntiSpoofing = new FaceAntiSpoofing();

AntiSpoofingResult result = null;

do 
{
    m_capture.Read(m_image);
    if (m_image.Empty())
        continue;

    var bitmap = SKBitmap.Decode(m_image.ToBytes());
    var info = faceDetector.Detect(bitmap).First();
    var markPoints = faceMark.Mark(bitmap, info);
    result = faceAntiSpoofing.AntiSpoofingVideo(bitmap, info, markPoints);
}
while (result != null && result.Status== AntiSpoofingStatus.Detecting);

MessageBox.Show($"活体检测,结果:{result.Status},清晰度:{result.Clarity},真实度:{result.Reality}");

  实际测试过程中人不能移动的太快或完全静止,否则从图片中获取的人脸的清晰度或真实度较低,从而导致活体检测为Spoof(攻击人脸(假人脸))。

参考文献:
[1]https://github.com/ViewFaceCore/ViewFaceCore
[2]https://blog.csdn.net/gc_2299/article/details/131880084文章来源地址https://www.toymoban.com/news/detail-814568.html

到了这里,关于测试开源C#人脸识别模块ViewFaceCore(6:视频活体检测)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包