人脸模型的训练:用navida的cpu+cuda用tensorflow进行训练,将人脸样本图片进行人脸框、五点标定,标定的结果和图片送入卷积神经网络,用gpu进行训练,训练的最终结果就是model模型文件,这种标准的模型文件在不同平台上进行转换后进行识别(由于64位浮点精度高但是运算量很大,耗时,修改一些精度可以影响识别率,于是在pad上进行了模型修改,将浮点精度大大降低,则平板pad上预检速度很快。
将tensor源码中指定用gpu训练,编译为c++库,并且将送入的人脸进行裁剪,平板上程序启动的时候将model送入tensorflow,tenfsorflow调用瑞星微的mali接口进行gpu调用。
盒子上启动的时候(比特大陆支持tensorflow和华为支持tensorflow),盒子硬件已经封装了接口,只需要把图片裁剪后+修改适配当前硬件的model 一起送入盒子硬件,就能够识别。
华为摄像头支持caffe
一、人脸预检
在平板上用gpu+神经网络利用训练好的人脸model进行人脸检测
二、人脸识别比对:
NPU利用自定义的深度图进行特征抽取和比对。
自定义深度图原理:将深度图投影到平面,投影后的像素色彩用深度值替代(灰度值)
三、人脸数据准备
在进行人脸识别比对之前,需要准备红外图+点云。利用红外图得到人脸坐标,将坐标与点云进行匹配,则可以映射出自定义的深度图
四、相机模组
1.知微和小U
直接从相机吐红外+点云数据出来
2.驭光
输出红外 再转换成标准红外
输出深度图 根据驭光给的公式转换成点云
五、硬件构成
1.CPU+GPU 瑞星微RK3399 集成了ARM新一代高端图像处理器Mali-T860@MP4 GPU,
2.主板 西安瑞讯 研华
3.相机
十寸 :知微(3维)+2维(usb相机) 万联(散斑 2+3)
八寸 :小U(2+3维) 驭光(2+3维)
4.计算棒:瑞星微
六、人脸识别服务器
华为--包含了24个盒子的计算单元
七、移植的人脸识别摄像机
华为+川大智胜算法
-----------------------------------------------------------------------------------
1.
图像+旋转角度
gpu预检---landmark--- ------- PAD识别
用红外 本地检测五点 ------- PAD识别---(以前是box识别)--3D优先级大于2D
【GRPC五点识别接口】
RGB+RGB五点+人脸区域+是否口罩---->isfakeface-grpc ------- box识别--可开/关
红外五点+红外+人脸区域+是否口罩---->isfakeface-grpc ------- box识别--可开/关
点云+红外五点->转深度图 ------- pad处理
【GRPC注册与识别接口】
全脸深度图或眼睛深度图(注册时二者同时)+rgb+rgb五点+人脸区域+是否口罩 ------- box识别--抽特征
注册的时候:全脸+眼睛
比对的时候:如果戴口罩 传眼睛 如果未口罩 则传全脸
key+groupid--->FeatureRecognition-grpc ------- box识别--比对