国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測

這篇具有很好參考價值的文章主要介紹了[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【官方框架地址】

https://github.com/ViewFaceCore/ViewFaceCore
【算法介紹】

SeetaFace6是由中國科技公司自主研發(fā)的一款人臉識別技術(shù),它基于深度學(xué)習(xí)算法,能夠快速、準(zhǔn)確地識別出人臉,并且支持多種應(yīng)用場景,如門禁系統(tǒng)、移動支付、安全監(jiān)控等。SeetaFace6的識別準(zhǔn)確率高達99%以上,并且可以在各種復(fù)雜的環(huán)境下進行工作,如不同的光照條件、面部朝向、面部表情等。

SeetaFace6的研發(fā)背景是基于中國科技公司對于人臉識別技術(shù)的長期研究和探索。在過去的幾年中,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,人臉識別技術(shù)也取得了長足的進步。然而,由于人臉識別的技術(shù)難度較大,很多算法和模型都存在著準(zhǔn)確率不高、容易受到環(huán)境影響等問題。因此,開發(fā)一種高效、穩(wěn)定的人臉識別技術(shù)一直是人工智能領(lǐng)域的熱門話題。

SeetaFace6的設(shè)計原理是通過深度學(xué)習(xí)算法對大量的人臉數(shù)據(jù)進行訓(xùn)練,從而得到一個能夠自動識別出人臉的模型。這個模型可以自動提取出人臉的特征,并且與數(shù)據(jù)庫中的數(shù)據(jù)進行比對,最終得到識別結(jié)果。SeetaFace6采用了多種技術(shù)手段來提高識別準(zhǔn)確率和穩(wěn)定性,如使用卷積神經(jīng)網(wǎng)絡(luò)進行特征提取、使用數(shù)據(jù)增強技術(shù)增加訓(xùn)練數(shù)據(jù)量、使用遷移學(xué)習(xí)等技術(shù)來優(yōu)化模型等。

SeetaFace6的應(yīng)用場景非常廣泛。在門禁系統(tǒng)方面,它可以用于企業(yè)的安全防范、學(xué)校的校園安全、小區(qū)的住宅管理等場景,通過人臉識別技術(shù)來控制人員的進出和訪問權(quán)限。在移動支付方面,它可以用于手機銀行、第三方支付等場景,通過人臉識別技術(shù)來完成身份驗證和支付操作。在安全監(jiān)控方面,它可以用于公共場所的安全監(jiān)控、交通監(jiān)控等場景,通過人臉識別技術(shù)來追蹤嫌疑人的行蹤和身份。

除了以上應(yīng)用場景外,SeetaFace6還可以應(yīng)用于人臉美顏、人臉表情識別、人臉合成等領(lǐng)域。例如,在人臉美顏方面,它可以自動識別出人的面部特征和表情,并且根據(jù)不同的場景和需求進行美顏處理,讓人像更加美麗動人。在人臉表情識別方面,它可以自動識別出人的面部表情和情感狀態(tài),并且根據(jù)不同的情感狀態(tài)進行相應(yīng)的處理和反饋。在人臉合成方面,它可以自動生成與目標(biāo)人物相似的虛擬人臉圖像,并且可以應(yīng)用于虛擬現(xiàn)實、游戲開發(fā)等領(lǐng)域。

總之,SeetaFace6是一款高效、穩(wěn)定的人臉識別技術(shù),具有廣泛的應(yīng)用前景和市場前景。它的出現(xiàn)將為人臉識別技術(shù)的發(fā)展和應(yīng)用帶來新的機遇和挑戰(zhàn)。未來,隨著人工智能技術(shù)的不斷發(fā)展,我們相信SeetaFace6將會在更多的領(lǐng)域得到應(yīng)用和發(fā)展,并且將不斷推動人臉識別技術(shù)的創(chuàng)新和進步。

【效果展示】

人臉檢測

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言

年齡預(yù)測?

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言

口罩檢測?

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言

性別判斷?

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言

眼睛狀態(tài)判斷?

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言

活體檢測(局部)?

[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測,C#,c#,開發(fā)語言


【官方部分代碼】

注意以下是官方實例,不是我示范代碼

using SkiaSharp;
using System;
using System.Diagnostics;
using System.Linq;
using System.Numerics;
using ViewFaceCore.Configs;
using ViewFaceCore.Core;
using ViewFaceCore.Extensions;
using ViewFaceCore.Model;

namespace ViewFaceCore.Example.ConsoleApp
{
    internal class Program
    {
        private readonly static string imagePath0 = @"images/Jay_3.jpg";
        private readonly static string imagePath1 = @"images/Jay_4.jpg";
        private readonly static string maskImagePath = @"images/mask_01.jpeg";

        static void Main(string[] args)
        {
            Console.WriteLine("Hello, ViewFaceCore!\n");

            //人臉識別Demo
            FaceDetectorDemo();

            //關(guān)鍵點標(biāo)記
            FaceMarkDemo();

            //戴口罩識別Demo
            MaskDetectorDemo();

            //質(zhì)量檢測Demo
            FaceQualityDemo();

            //活體檢測Demo
            AntiSpoofingDemo();

            //提取并對比特征值
            FaceRecognizerDemo();

            Console.ReadKey();
        }

        static void FaceDetectorDemo()
        {
            using var bitmap = SKBitmap.Decode(imagePath0);
            using FaceDetector faceDetector = new FaceDetector();
            FaceInfo[] infos = faceDetector.Detect(bitmap);
            Console.WriteLine($"識別到的人臉數(shù)量:{infos.Length} 個人臉信息:\n");
            Console.WriteLine($"No.\t人臉置信度\t位置信息");
            for (int i = 0; i < infos.Length; i++)
            {
                Console.WriteLine($"{i}\t{infos[i].Score:f8}\t{infos[i].Location}");
            }
            Console.WriteLine();
        }

        static void MaskDetectorDemo()
        {
            using var bitmap0 = SKBitmap.Decode(imagePath0);
            using var bitmap_mask = SKBitmap.Decode(maskImagePath);

            using MaskDetector maskDetector = new MaskDetector();
            using FaceDetector faceDetector = new FaceDetector();
            //FaceType需要用口罩模型
            using FaceRecognizer faceRecognizer = new FaceRecognizer(new FaceRecognizeConfig()
            {
                FaceType = FaceType.Mask
            });
            using FaceLandmarker faceMark = new FaceLandmarker();

            var info0 = faceDetector.Detect(bitmap0).First();
            var result0 = maskDetector.PlotMask(bitmap0, info0);
            Console.WriteLine($"是否戴口罩:{(result0.Status ? "是" : "否")},置信度:{result0.Score}");

            var info1 = faceDetector.Detect(bitmap_mask).First();
            var result1 = maskDetector.PlotMask(bitmap_mask, info1);
            Console.WriteLine($"是否戴口罩:{(result1.Status ? "是" : "否")},置信度:{result1.Score}");

            var result = faceRecognizer.Extract(bitmap_mask, faceMark.Mark(bitmap_mask, info1));
            Console.WriteLine($"是否識別到人臉:{(result != null && result.Sum() > 1 ? "是" : "否")}");
            Console.WriteLine();
        }

        static void FaceMarkDemo()
        {
            using var bitmap0 = SKBitmap.Decode(imagePath0);
            using var faceImage = bitmap0.ToFaceImage();
            using FaceDetector faceDetector = new FaceDetector();
            using FaceLandmarker faceMark = new FaceLandmarker();
            Stopwatch sw = new Stopwatch();

            var infos = faceDetector.Detect(faceImage);
            var markPoints = faceMark.Mark(faceImage, infos[0]);

            sw.Stop();
            Console.WriteLine($"識別到的關(guān)鍵點個數(shù):{markPoints.Length},耗時:{sw.ElapsedMilliseconds}ms");
            foreach (var item in markPoints)
            {
                Console.WriteLine($"X:{item.X}\tY:{item.Y}");
            }
            Console.WriteLine();
        }

        static void FaceQualityDemo()
        {
            using var bitmap = SKBitmap.Decode(imagePath0);
            using FaceQuality faceQuality = new FaceQuality();
            using FaceDetector faceDetector = new FaceDetector();
            using FaceLandmarker faceMark = new FaceLandmarker();

            var info = faceDetector.Detect(bitmap).First();
            var markPoints = faceMark.Mark(bitmap, info);

            Stopwatch sw = Stopwatch.StartNew();

            var brightnessResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Brightness);
            Console.WriteLine($"{QualityType.Brightness}評估,結(jié)果:{brightnessResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var resolutionResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Resolution);
            Console.WriteLine($"{QualityType.Resolution}評估,結(jié)果:{resolutionResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var clarityResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Clarity);
            Console.WriteLine($"{QualityType.Clarity}評估,結(jié)果:{clarityResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var clarityExResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.ClarityEx);
            Console.WriteLine($"{QualityType.ClarityEx}評估,結(jié)果:{clarityExResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var integrityExResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Integrity);
            Console.WriteLine($"{QualityType.Integrity}評估,結(jié)果:{integrityExResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var structureeResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Structure);
            Console.WriteLine($"{QualityType.Structure}評估,結(jié)果:{structureeResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var poseResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.Pose);
            Console.WriteLine($"{QualityType.Pose}評估,結(jié)果:{poseResult},耗時:{sw.ElapsedMilliseconds}ms");
            sw.Restart();
            var poseExeResult = faceQuality.Detect(bitmap, info, markPoints, QualityType.PoseEx);
            Console.WriteLine($"{QualityType.PoseEx}評估,結(jié)果:{poseExeResult},耗時:{sw.ElapsedMilliseconds}ms");

            sw.Stop();
            Console.WriteLine();
        }

        static void AntiSpoofingDemo()
        {
            using var bitmap = SKBitmap.Decode(imagePath0);

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

            var info = faceDetector.Detect(bitmap).First();
            var markPoints = faceMark.Mark(bitmap, info);

            Stopwatch sw = Stopwatch.StartNew();
            sw.Start();

            var result = faceAntiSpoofing.AntiSpoofing(bitmap, info, markPoints);
            Console.WriteLine($"活體檢測,結(jié)果:{result.Status},清晰度:{result.Clarity},真實度:{result.Reality},耗時:{sw.ElapsedMilliseconds}ms");

            sw.Stop();
            Console.WriteLine();
        }

        static void FaceRecognizerDemo()
        {
            Stopwatch sw = Stopwatch.StartNew();

            using var faceImage0 = SKBitmap.Decode(imagePath0).ToFaceImage();
            using var faceImage1 = SKBitmap.Decode(imagePath1).ToFaceImage();
            //檢測人臉信息
            using FaceDetector faceDetector = new FaceDetector();
            FaceInfo[] infos0 = faceDetector.Detect(faceImage0);
            FaceInfo[] infos1 = faceDetector.Detect(faceImage1);
            //標(biāo)記人臉位置
            using FaceLandmarker faceMark = new FaceLandmarker();
            FaceMarkPoint[] points0 = faceMark.Mark(faceImage0, infos0[0]);
            FaceMarkPoint[] points1 = faceMark.Mark(faceImage1, infos1[0]);
            //提取特征值
            using FaceRecognizer faceRecognizer = new FaceRecognizer();
            float[] data0 = faceRecognizer.Extract(faceImage0, points0);
            float[] data1 = faceRecognizer.Extract(faceImage1, points1);
            //對比特征值
            bool isSelf = faceRecognizer.IsSelf(data0, data1);

            Console.WriteLine($"識別到的人臉是否為同一人:{isSelf},對比耗時:{sw.ElapsedMilliseconds}ms");
            Console.WriteLine();
            sw.Stop();
        }

        static void FaceTrackDemo()
        {
            using var faceImage = SKBitmap.Decode(imagePath0).ToFaceImage();
            using FaceLandmarker faceMark = new FaceLandmarker();
            using FaceTracker faceTrack = new FaceTracker(new FaceTrackerConfig(faceImage.Width, faceImage.Height));
            var result = faceTrack.Track(faceImage);
            if (result == null || !result.Any())
            {
                Console.WriteLine("未追蹤到任何人臉!");
                return;
            }
            foreach (var item in result)
            {
                FaceInfo faceInfo = item.ToFaceInfo();
                //標(biāo)記人臉
                var points = faceMark.Mark(faceImage, faceInfo);
            }
        }
    }
}


【視頻演示】

https://www.bilibili.com/video/BV1eK411x7wo/
【示范源碼下載】

https://download.csdn.net/download/FL1623863129/88713155
【測試環(huán)境】

vs2019

netframework4.7.2或者netframework4.8

ViewFaceCore文章來源地址http://www.zghlxwxcb.cn/news/detail-810434.html

到了這里,關(guān)于[C#]winform利用seetaface6實現(xiàn)C#人臉檢測活體檢測口罩檢測年齡預(yù)測性別判斷眼睛狀態(tài)檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • c#Winform使用Opencvsharp4實現(xiàn)簡易人臉識別

    c#Winform使用Opencvsharp4實現(xiàn)簡易人臉識別

    ???? 環(huán)境配置: vs2019 , .Net FrameWork 4.8? Opencvsharp4 ????? 在Nuget內(nèi)下載最新的Opencvsharp4即可, ?????? 大概說一下我所理解的人臉識別的原理吧,就是先給訓(xùn)練器一些訓(xùn)練數(shù)據(jù),就是我們告訴訓(xùn)練器這些數(shù)據(jù)分別對應(yīng)的是哪些人,然后訓(xùn)練器就記住這些圖像的特征以及對

    2024年02月07日
    瀏覽(29)
  • Python基于深度學(xué)習(xí)的人臉識別項目源碼+演示視頻,利用OpenCV進行人臉檢測與識別 preview

    Python基于深度學(xué)習(xí)的人臉識別項目源碼+演示視頻,利用OpenCV進行人臉檢測與識別 preview

    ? 該人臉識別實例是一個基于深度學(xué)習(xí)和計算機視覺技術(shù)的應(yīng)用,主要利用OpenCV和Python作為開發(fā)工具。系統(tǒng)采用了一系列算法和技術(shù),其中包括以下幾個關(guān)鍵步驟: 圖像預(yù)處理 :首先,對輸入圖像進行預(yù)處理,包括讀取圖片、將圖片灰度轉(zhuǎn)換、修改圖片的尺寸、繪制矩形

    2024年04月13日
    瀏覽(93)
  • 測試開源C#人臉識別模塊ViewFaceCore(5:質(zhì)量檢測和眼睛狀態(tài)檢測)

    測試開源C#人臉識別模塊ViewFaceCore(5:質(zhì)量檢測和眼睛狀態(tài)檢測)

    ?? ViewFaceCore模塊中的FaceQuality支持預(yù)測人臉質(zhì)量 ,最初以為是預(yù)測人體體重,實際測試過程中才發(fā)現(xiàn)是評估人臉圖片質(zhì)量,主要調(diào)用Detect函數(shù)執(zhí)行圖片質(zhì)量檢測操作,其函數(shù)原型如下所示: ??調(diào)用FaceQuality進行人臉質(zhì)量檢測主要包括以下步驟: ??1)調(diào)用faceDetector類獲

    2024年02月15日
    瀏覽(26)
  • 測試開源C#人臉識別模塊ViewFaceCore(6:視頻活體檢測)

    ??之前的文章介紹ViewFaceCore模塊的FaceAntiSpoofing類支持單幀活體檢測(AntiSpoofing函數(shù))及視頻活體檢測(AntiSpoofingVideo函數(shù)),視頻活體檢測時從攝像頭中抓取一幀圖片進行檢測,當(dāng)檢測結(jié)果狀態(tài)為Detecting時,繼續(xù)從攝像頭中抓取圖片,直至檢測結(jié)果不為Detecting。本文中主要

    2024年01月22日
    瀏覽(61)
  • [C#]winform部署官方y(tǒng)olov8-obb旋轉(zhuǎn)框檢測的onnx模型

    [C#]winform部署官方y(tǒng)olov8-obb旋轉(zhuǎn)框檢測的onnx模型

    【官方框架地址】 https://github.com/ultralytics/ultralytics 【算法介紹】 Yolov8-obb(You Only Look Once version 8 with Oriented Bounding Boxes)是一種先進的對象檢測算法,它在傳統(tǒng)的Yolov3和Yolov4基礎(chǔ)上進行了優(yōu)化,加入了OBB(Oriented Bounding Box)旋轉(zhuǎn)框檢測,能夠更精確地檢測并定位出目標(biāo)物體的

    2024年01月20日
    瀏覽(21)
  • C# OpenCvSharp Yolov8 Face Landmarks 人臉特征檢測

    C# OpenCvSharp Yolov8 Face Landmarks 人臉特征檢測

    目錄 介紹 效果 模型信息 項目 代碼 下載 github地址:https://github.com/derronqi/yolov8-face yolov8 face detection with landmark Model Properties ------------------------- description:Ultralytics YOLOv8-lite-t-pose model trained on widerface.yaml author:Ultralytics kpt_shape:[5, 3] task:pose license:AGPL-3.0 https://ultralytics.com

    2024年02月06日
    瀏覽(20)
  • C# WinForm實現(xiàn)TCP收發(fā)信息

    需要定義 監(jiān)聽IP、端口 發(fā)送消息

    2024年02月14日
    瀏覽(13)
  • Winform窗體利用WebApi接口實現(xiàn)ModbusTCP數(shù)據(jù)服務(wù)

    Winform窗體利用WebApi接口實現(xiàn)ModbusTCP數(shù)據(jù)服務(wù)

    在上位機開發(fā)過程中,有時候會遇到需要提供數(shù)據(jù)接口給MES或者其他系統(tǒng),今天跟大家分享一下,如何在Winform等桌面應(yīng)用程序中,開發(fā)WebApi接口,提供對外modbus設(shè)備的數(shù)據(jù)服務(wù)。通訊模型是: 為了更好地演示應(yīng)用場景,本案例以讀取ModbusTCP設(shè)備為例,開發(fā)好WeiApi接口后,第

    2024年02月05日
    瀏覽(26)
  • 利用ECharts實現(xiàn)winform中的可視化圖表

    利用ECharts實現(xiàn)winform中的可視化圖表

    如今web端的圖表可以說是非常豐富且用起來方便,ECharts已經(jīng)非常成熟了,如果在winform中使用那就太好了。 使用winfrom程序封裝一個web控件,然后進行展示就可以了,說干就干! 按照ECharts官網(wǎng)搞了一個折線圖,效果如下 這里重點強調(diào)一下,不要使用webBrowser,因為這個東西的

    2024年02月03日
    瀏覽(36)
  • C# Winform無邊框窗體實現(xiàn)界面拖動

    C# Winform無邊框窗體實現(xiàn)界面拖動

    2024年02月07日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包