C# 10分钟完成百度人脸识别——入门篇

嗨咯,小编在此祝大家新年快乐财多多!

今天我们来盘一盘人脸注册、人脸识别等相关操作,这是一个简单入门教程。

话不多说,我们进入主题:



完成人脸识别所需的步骤:

  1. 注册百度账号api,创建自己的应用;
  2. 创建vs控制台应用程序,引入动态链接库;
  3. 编写代码调试,效果图查看;
  4. 总结。


1、注册百度账号api,创建自己的应用

注册地址: https://login.bce.baidu.com/

注册登录之后,在“产品服务” 菜单下找到人脸识别 ,如下图:

点击去创建自己的应用名称,其实最主要的就是 API_key  和 Secret_key

有了这些就可以进一步去看 百度提供的SDK 文档了。

这是百度的SDK地址:http://ai.baidu.com/sdk

选择自己喜欢的开发语言进行研究, 里面文档很详细, 下载中有Demo

本人采用的是C# 进行研究。

参考地址:http://ai.baidu.com/docs#/Face-Csharp-SDK/top



2、创建vs控制台应用程序,引入动态链接库

创建控制台应用程序,命名为FaceRecognition,

然后引用动态链接库(安装人脸SDK),我用的是vs2017,使用的是方法一。

方法一:使用Nuget管理依赖 (推荐)

在NuGet中搜索 Baidu.AI,安装最新版即可。

packet地址 https://www.nuget.org/packages/Baidu.AI/

方法二:下载安装

人脸 C# SDK目录结构

Baidu.Aip
    ├── net35
    │   ├── AipSdk.dll             // 百度AI服务 windows 动态库
    │   ├── AipSdk.xml             // 注释文件
    │   └── Newtonsoft.Json.dll    // 第三方依赖
    ├── net40
    ├── net45
    └── netstandard2.0
        ├── AipSdk.deps.json
        └── AipSdk.dll

如果需要在 Unity 平台使用,可引用工程源码自行编译。

安装

1.在官方网站下载C# SDK压缩工具包。

2.解压后,将 AipSdk.dll 和 Newtonsoft.Json.dll 中添加为引用。



3、编写代码调试,效果图查看

  • 注册人脸
  • 识别人脸

首先我们准备一张能够识别人脸的图片,放到公共平台,如果百度云盘,然后分享出去,复制图片地址。

注册人脸:

在Program.cs里面编写代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FaceRecognition
{
    class Program
    {
        static void Main(string[] args)
        {
            // 设置APPID/AK/SK
            var API_KEY = "XFPA49myCG7S37XP1DxjLbXF";                   //你的 Api Key
            var SECRET_KEY = "ZvZKigrixMLXNZOLmkrG6iDx9QprlGuT";        //你的 Secret Key
            var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY);
            client.Timeout = 60000;  // 修改超时时间

            //取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串
            //你共享的图片路径(点击路径可直接查看图片)
            var image = "https://thumbnail0.baidupcs.com/thumbnail/32f3cc8f022839a4dbf6b9f9cca76ce8?fid=3145591938-250528-218900036170682&time=1550282400&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-sTBqvQbbBy3n5SDQfbtjNwjlSHg%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=1077356968076791248&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video";
            var imageType = "URL";

            //注册人脸
            var groupId = "group1";
            var userId = "user1";
            // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获
            var result = client.UserAdd(image, imageType, groupId, userId);
            Console.WriteLine(result);
            // 如果有可选参数
            var options = new Dictionary<string, object>{
                        {"user_info", "user‘s info"},
                        {"quality_control", "NORMAL"},
                        {"liveness_control", "LOW"}
                    };
            // 带参数调用人脸注册
            result = client.UserAdd(image, imageType, groupId, userId, options);
            Console.WriteLine(result);
        }

    }
}

运行后,控制台打印成功与否,百度api控制台查看是否注册成功。

控制台效果图:

百度api控制台查看效果:

很显然,我们注册人脸成功,接下来我们进行人脸识别,我们使用注册过的图片和未注册过的图片进行验证。

识别人脸:

同样在Program.cs里面编写代码,我们把之前的代码注释掉就行,如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FaceRecognition
{
    class Program
    {
        static void Main(string[] args)
        {
            // 设置APPID/AK/SK
            var API_KEY = "XFPA49myCG7S37XP1DxjLbXF";                   //你的 Api Key
            var SECRET_KEY = "ZvZKigrixMLXNZOLmkrG6iDx9QprlGuT";        //你的 Secret Key
            var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY);
            client.Timeout = 60000;  // 修改超时时间

            //取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串
            //你共享的图片路径(点击路径可直接查看图片)
            var image = "https://thumbnail0.baidupcs.com/thumbnail/32f3cc8f022839a4dbf6b9f9cca76ce8?fid=3145591938-250528-218900036170682&time=1550282400&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-sTBqvQbbBy3n5SDQfbtjNwjlSHg%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=1077356968076791248&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video";
            var imageType = "URL";

            ////注册人脸
            //var groupId = "group1";
            //var userId = "user1";
            //// 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获
            //var result = client.UserAdd(image, imageType, groupId, userId);
            //Console.WriteLine(result);
            //// 如果有可选参数
            //var options = new Dictionary<string, object>{
            //            {"user_info", "user‘s info"},
            //            {"quality_control", "NORMAL"},
            //            {"liveness_control", "LOW"}
            //        };
            //// 带参数调用人脸注册
            //result = client.UserAdd(image, imageType, groupId, userId, options);
            //Console.WriteLine(result);

            //人脸识别(在注册的人脸库里面进行识别)
            //调用人脸检测,可能会抛出网络等异常,请使用try / catch捕获
            var result = client.Detect(image, imageType);
            Console.WriteLine(result);
            // 如果有可选参数
            var options = new Dictionary<string, object>{
                        {"face_field", "age"},
                        {"max_face_num", 2},
                        {"face_type", "LIVE"}
                    };
            // 带参数调用人脸检测
            result = client.Detect(image, imageType, options);
            Console.WriteLine(result);

        }

    }
}

控制台效果图:

很显然我们也人脸识别成功了。



4、总结

我们只是使用控制台做了一个简单的注册和识别,删除和更新也是一样的,可以直接去官网拷贝即可,路径为:http://ai.baidu.com/docs#/Face-Csharp-SDK/3b8dc2e8

有了这个简单的demo后,我们可以结合摄像头进行注册、识别、更新等操作。

关注小编不迷路,下一次我们讲调用摄像头完成注册、识别、更新、删除等操作。

原文地址:https://www.cnblogs.com/xiongze520/p/10387355.html

时间: 2024-08-07 19:36:50

C# 10分钟完成百度人脸识别——入门篇的相关文章

C#30分钟完成百度人脸识别

一.前言   距离上次入门篇时隔两个月才出这进阶篇,小编惭愧,对不住关注我的卡哇伊的小伙伴们,为此小编用这篇博来谢罪. 前面的准备工作我就不说了,注册百度账号api,创建web网站项目,引入动态链接库引入. 不了解的可以花费10分钟移步学习:<C# 10分钟完成百度人脸识别—入门篇>. 如果要学习的童鞋最好下载本demo源码,因为有信息入库功能,BLL.DAL.数据库就在源码里面. 一般情况下笔记本自带的可见光摄像头就可以进行人脸识别,但是这种摄像头不能很好的进行活体检测,可能会被照片和视频骗

C# 10分钟完成百度图片提取文字(文字识别)——入门篇

现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,demo使用的是C#控制台应用程序,后续有需要的可以嫁接到指定项目中使用,比如提供选择图片,点击识别, 获取返回的值.废话不多说,上干货: 总体为: 注册百度账号api,创建自己的应用: 创建vs控制台应用程序,引入动态链接库: 编写代码调试,效果图查看: 总结. 1.创建百度AI文字识别应用   在百度

uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件

插件亮点 1 支持安卓平板(横竖屏均可),苹果的iPad.2 颜色图片均可更换. 特别提醒 此插件包含 android 端和 iOS 端,考虑到有些同学只做其中一个端的 app,特意分为 2 个插件,减小安装包体积.android 端请点击这里.iOS 端请点击这里. 1.前言 最近在使用 uniapp 开发项目,有刷脸实名认证的需求,最终使用百度人脸识别实现了需求.自己做了个 APP 原生插件,给大家介绍下用法.本插件主要功能是通过动作检测活体,采集人脸返回.其他功能需要自主实现,如刷脸登录,

百度人脸识别SDK学习

之前看到同事说人脸识别多么高大上之类的, 我就好奇搜索了一下, 本人是小白级别,喜欢用百度多一点,所以就使用了百度的人脸识别SDK进行研究.不得不说百度提供的完档很详细,在学习过程中很少出现不能解决的问题, 所以本人也偷个懒,把sdk文档复制下来. 注:貌似有个bug,我在百度语音中菜单下创建的人脸识别,然后获取API_key和Secret_key, 在学习尝试过程中, 或多或少有请求量, 但是报表中却没有任何记录, 难道是bug吗? 我在想是不是可以无限制的调用了,作为尝试, 没去批量去测试,

日常API之C#百度人脸识别

最近看到一只我家徒儿发来的链接,原来是一堆百度AI的SDK,于是一时兴起就做了一只人脸识别,喵喵喵(●'?'●) 一.准备工作 首先,当然是下载SDK啦:http://ai.baidu.com/sdk#sdk-category-bfr,可以根据自己的语言选择,在这里使用C# WPF 做示例 SDK里的文件大概是酱紫: FaceDemo.cs : 官方示例文件 AipSdk.dll : 需要调用的SDK AipSdk.XML : SDK注释 Newtonsoft.Json.dll : 用于解析JS

Python3使用百度人脸识别接口识别高颜值妹子图片

一.在百度云平台创建应用 为什么要到百度云平台创建应用,首先来说是为了获取获取access_token时需要的API Key和Secret Key 至于为什么需要API Key和Secret Key才能获取access_token,应该一是为了推广一下百度云二是为了获取一些统计数据.微信苹果要你们搞得,度娘就不能要你们搞得?不要纠结 1.访问百度AI开放 平台:http://ai.baidu.com/ 2."产品服务"----"人脸检测" 3. "立即使用

10 分钟,带你快速入门前端三大技术(HTML、CSS、JavaScript)

听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaScript,则是每一个前端开发者必须具备的技能. 掌握这些技能,你可以快速地做出一个酷炫的APP界面或者一个简单大方的网站页面.因此,就让我们一起来快速学习一下这三门技术吧. 以下内容节选自课程<Vue.js 和 Node.js 构建内容发布系统>. 大家也可以点击课程链接,在实验楼提供的虚拟机环境

一起学react (1) 10分钟 让你dva从入门到精通

前言 如果文章中有错误的地方的话 可以直接加我QQ:469373256 自己针对一些问题做的优化版本 目前刚启动 还不是很成熟 https://github.com/fangkyi03/fastkit-dva.git 麻烦大家加星鼓励一下 谢谢 原有的项目从码云移植到了github 新的地址:https://github.com/fangkyi03/react-demo 一起学react(2) dva底层源码与案例分析 - 简书 本人自己修改后的dva版本 增加了对网络处理的控制 https:/

iOS 使用百度的人脸识别登录验证,解决认证失败在头像页面继续识别认证问题

人脸识别(活体验证): 1.芝麻认证 : 0.4元/次,需要企业企业认证.不能有与芝麻信用类似的业务,如:保险... 2.旷视 : 0.5/次.企业认证.业务限制 3. 百度人脸识别 :免费的---可以同时处理10条认证,  企业认证. 4.科大讯飞   人脸检测  2000万次   1年 7.2万  活体检测只能上传一段视频来检测 需要和商务沟通 我们使用的百度,,,, 需求:需要在认证中不跳转界面,失败:继续认证.成功:跳转. 1.在认证结果中促发通知给 DetectionViewContr