【人工智能应用】基于人脸识别的驾驶员身份认证系统

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 本文将使用萤石云结合萤石C2HC网络摄像头来实现基于人脸识别的身份认证功能。本方案硬件成本小于200元,单次人脸识别+身份认证的费用小于0.01元。是一个相对比较经济的方案。

【概述】

实现基于人脸识别的身份认证功能,至少有以下三种方案:
1、使用各大平台提供的云服务,基于WEB API调用。API调用需要按次收费。
2、使用SDK,嵌入在设备里。这种情况需要自行开发硬件,SDK需要按设备数一次性收费。
3、购买现成的人脸识别硬件产品,使用厂家提供的SDK进行二次开发。这种设备通常比较贵。

本文将使用萤石云结合萤石C2HC网络摄像头(第一种方案)来实现基于人脸识别的身份认证功能。本方案硬件成本小于200元,单次人脸识别+身份认证的费用小于0.01元。是一个相对比较经济的方案。

【系统架构示意图】

_
备注:关于车辆启动信号的来源,可以参考我的另一篇文章。【企业项目】工程车辆管理系统(含硬件设计和开发)

【前期准备】

1、由于萤石API不能直接使用摄像头拍摄的照片进行人脸识别,需要将照片发送到OSS云服务进行存储。所以,需要提前开通OSS云服务并做好相应的配置
2、需要一个ECS云服务器来承载PC控制端程序,操作系统为windows
3、在进行人脸识别前,需要调用萤石API来创建一个人脸集合(setToken),集合名称可以随意指定。

【人脸注册】

# 【业务流程】

1、控制端通过萤石API向摄像头发送一个拍照指令,拍摄一张头像照片。
2、摄像头收到拍照指令后,会拍摄一张照片并存储在萤石云的指定位置。萤石API会将图片地址链接返回给程序。
3、控制端收到图片地址链接后获取到图片,并将图片存储到OSS云服务对象中。
4、控制端将图片发送给萤石API进行人脸识别,识别成功后会返回人脸唯一标识(faceToken)
5、将人脸唯一标识faceToken发送给萤石API到指定的人脸集合(setToken)中进行注册。

# 【核心代码】

            Token token = aiLib.checkToken();//获取token
            string pic = aiLib.getPic(token.accessToken, deviceSerial, "1");//使用萤石API拍照
            if (pic != "")
            {
                string url = aiLib.uploadImg(pic);//将照片上传到OSS服务器
                if (url != "")
                {
                    string faceToken = aiLib.faceCheck(token.accessToken, "0", url);//人脸检测
                    bool flag = aiLib.faceRegister(token.accessToken, faceToken, setToken);//人脸注册
                    result.imgUrlOss = url;
                    result.faceToken = faceToken;
                    result.result = flag;
                }
            }
            return result;

【人脸比对-身份认证】

# 【业务流程】

1、车辆启动后,向控制端发送一个车辆启动信号
2、控制端收到信号后,等待1分钟(待摄像头完全启动)后,通过萤石API向摄像头连续发送6次拍照指令,发送间隔为10秒。
3、摄像头收到拍照指令后,会拍摄一张照片并存储在萤石云的指定位置。萤石API会将图片地址链接返回给程序。
4、控制端收到图片地址链接后获取到图片,并将图片存储到OSS云服务对象中。
5、控制端将图片发送给萤石API进行人脸识别,识别成功后会返回人脸唯一标识(faceToken)
6、将人脸唯一标识(faceToken)发送给萤石API进行人脸比对,比对成功后返回相似度得分。
7、相似度大于90即可认为是同一个人。

# 【核心代码】

        Token token = aiLib.checkToken();//获取token
        string pic = aiLib.getPic(token.accessToken, deviceSerial, "1");//使用萤石API拍照
        if (pic != "")
        {
            string url = aiLib.uploadImg(pic);//将照片上传到OSS服务器
            if (url != "")
            {
                string faceToken = aiLib.faceCheck(token.accessToken, "0", url);//人脸检测
                Dictionary<string, object> dic = new Dictionary<string, object>();
                dic["setToken"] = setToken;
                dic["threshold"] = 80;//比对阈值
                dic["matchCount"] = 1;
                string operation = "[" + JsonHelper.ObjectToJSON(dic) + "]";
                string score = aiLib.faceSearch(token.accessToken, "2", faceToken, operation, "1");//在人脸集合中搜索检测到的人脸

                result.imgUrlOss = url;
                result.faceToken = faceToken;
                result.score = score;//相识度得分
            }
        }
        return result;
目录
相关文章
|
8月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2086 81
|
9月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1654 88
|
8月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
820 30
|
8月前
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
827 2
|
8月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
8月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
513 3
|
8月前
|
消息中间件 人工智能 安全
构建企业级 AI 应用:为什么我们需要 AI 中间件?
阿里云发布AI中间件,涵盖AgentScope-Java、AI MQ、Higress、Nacos及可观测体系,全面开源核心技术,助力企业构建分布式多Agent架构,推动AI原生应用规模化落地。
829 0
构建企业级 AI 应用:为什么我们需要 AI 中间件?
|
9月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
867 12
|
8月前
|
人工智能 小程序 Java
电子班牌管理系统源代码,基于AI人脸识别技术的智能电子班牌云平台解决方案
电子班牌管理系统源码,基于AI人脸识别的智慧校园云平台,支持SaaS架构,涵盖管理端、小程序与安卓班牌端。集成考勤、课表、通知、门禁等功能,提供多模式展示与教务联动,助力校园智能化管理。
371 0
|
8月前
|
人工智能 安全 Serverless
再看 AI 网关:助力 AI 应用创新的关键基础设施
AI 网关作为云产品推出已有半年的时间,这半年的时间里,AI 网关从内核到外在都进行了大量的进化,本文将从 AI 网关的诞生、AI 网关的产品能力、AI 网关的开放生态,以及新推出的 Serverless 版,对其进行一个全面的介绍,期望对正在进行 AI 应用落地的朋友,在 AI 基础设施选型方面提供一些参考。
1441 101