引言
如今,基于人脸的技术和话题可以说是炙手可热,基于大数据和人工智能的人脸识别更是突破了我们的想象力的极限,如果应用中不能集成人脸识别,那就太跟不上潮流了。人脸识别是一个算法密集型的项目,如果自行开发,需要很深厚的数学功底和算法底蕴,成本较高,我一个做C#的,自问没有那么高的水平能够写出那么复杂的算法,即使能,我们的算法能和其它公司相比吗。不过好在现在是一个互联网时代,自己开发不行,那么使用其它现成的人脸识别引擎可行吗?答案当然是可行的。
在开始之前,我们先来了解一些人脸识别的集成方式和基础知识,为下面的课程做准备。
选择人脸识别引擎的心路历程
通过搜索引擎,可以大致确定集成人脸识别的可选方式有以下几种
1. 集成WebAPI
目前以百度云,腾讯云为首的互联网公司提供了基于WEBAPI的集成方式,可以通过HTTP的方式提交识别请求,识别结果通过JSON串的方式返回。基于HTTP的方式识别人脸是比较慢的,慢的原因在于IO性能,相对来讲,离线版本的API则能够充分利用本机的机器资源,不用往返于所谓的算法云服务器,直接在本地就能完成人脸识别和标记工作。
2. 集成SDK
以Face++和讯飞语音为例,这些公司即提供了在线识别的方式也提供了基于SDK的本地识别方式。本地识别的优点是速度快,集成度高。而且,作为C#,我们还可以搭建自己的云识别平台。如果采用了WEBAPI的,每一笔请求都需要再经过WEBAPI中转,性能上会大打折扣。
因此,如果我们的项目不需要在互联网上访问&#