⼈脸搜索项⽬开源了:⼈脸识别(M:N)-Java版
⼀、⼈脸检测相关概念
⼈脸检测(Face Detection)是检测出图像中⼈脸所在位置的⼀项技术,是⼈脸智能分析应⽤的核⼼组成部分,也是最基础的部分。⼈脸检测⽅法现在多种多样,常⽤的技术或⼯具⼤多有insightface、pcn、libfacedetection、Ultra-Light-Fast-Generic-Face-Detector-1MB、CenterFace、RetinaFace MobileNet0.25等等。⽬前具有⼴泛的学术研究价值和业务应⽤价值,⽐如⼈脸识别、⼈脸属性分析(年龄估计、性别识别、颜值打分和表情识别)、⼈脸Avatar、智能视频监控、⼈脸图像过滤、智能图像裁切、⼈脸AR游戏等等。
⼆、⼈脸识别的相关概念
⼈脸识别(Facial Recognition),即通过视频采集设备获取⽤户的⾯部图像,再利⽤核⼼的算法对其脸部的五官位置、脸型和⾓度进⾏计算分析,进⽽和⾃⾝数据库⾥已有的范本进⾏⽐对,从⽽判断出⽤户的真实⾝份.⼈脸识别算法,在检测到⼈脸并定位⾯部关键特征点之后,主要的⼈脸区域就可以被裁剪出来,经过预处理之后,馈⼊后端的识别算法。识别算法要完成⼈脸特征的提取,并与库存的已知⼈脸进⾏⽐对,完成最终的分类。服务架构图如下:
三、⼈脸⽐对的相关概念
⼈脸⽐对算法的输⼊是两张⼈脸图⽚(⼈脸特征),输出是两个特征之间的相似度。⼈脸验证、⼈脸识别、⼈脸检索都是在⼈脸⽐对的基础上加⼀些策略来实现。相对⼈脸提特征过程,单次的⼈脸⽐对耗时相对较短。另外值得⼀提的是⼈脸相似度计算⼀般使⽤的是cos距离,可以将相似度控制在[-1,1]中。
四、⼈脸识别的M:N模式
M:N 是通过计算机对场景内所有⼈进⾏⾯部识别并与⼈像数据库进⾏⽐对的过程。M:N作为⼀种动态⼈脸⽐对,其使⽤率⾮常⾼,能充分应⽤于多种场景,例如公共安防,迎宾,机器⼈应⽤等。但是M:N模式仍存在很⼤的弊端,因为其必须依靠海量的⼈脸数据库才能运⾏,并且由于识别基数过⼤,设备分辨率不⾜等因素,使M:N模式会产⽣很⾼的错误率从⽽影响识别结果。
五、开源⼈脸识别、⼈脸搜索服务
该项⽬是阿⾥云视觉智能开放平台的⼈脸1:N的开源替代,项⽬中使⽤的模型均为开源模型,项⽬⽀持milvus和proxima向量存储库,并具有较⾼的⾃定义能⼒。其次项⽬使⽤纯Java开发,免去使⽤Python
开源项目
带来的服务不稳定性,⽀持docker⼀键部署、⽀持Java客户端,restful接⼝等。
项⽬识别效果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。