1.一种多目标跟踪及面部特征信息识别方法,其特征在于,具体步骤如下:(1)输入人脸面部特征信息视频,将视频转换成关键帧序列S,通过人脸检测后得到的人脸关键帧集为SF;函数len(X)表示集合X的长度;
(2)通过标注SF特征点进行分类,得到的标签集为SFL,通过预处理和数据增强SFL,得到的数据集为SFD;
(3)使用改进的mini‑Xception模型对SFD进行自适应特征抽取,将提取到的特征向量进行融合,得到自适应寻优面部特征识别模型FFs_model;
(4)设获得的人脸特征数据流为FEV,循环提取FEV中的关键帧序列,进行自适应跟踪多目标人脸,聚合提取人脸跟踪特征,得到多目标人脸关键帧位置集合FEC;
(5)加载自适应寻优面部特征识别模型FFs_model,将多目标人脸关键帧位置集合FEC输入自适应寻优面部特征识别模型FFs_model,生成多目标的面部特征分类结果集FECR;
(6)开放面部特征自适应识别接口FFs API,用户通过客户端程序发起HTTP请求,自适应识别接口FFs API对用户发起的请求参数进行自适应多目标特征识别,并将处理得到的自适应多目标场景下签到及目标特征信息跟踪状态识别的面部特征分类结果集FECR存储在Web平台的服务器,同时将核心信息返回给调用程序,用户可通过Web平台获取可视化展示;
所述步骤(3)中得到自适应寻优面部特征识别模型FFs_model的具体步骤如下:(3.1)定义循环变量i3用于遍历SFD,i3∈[1,len(SFD)],i3赋初值为1;
(3.2)如果i3≤len(SFD),则进入步骤(3.3),否则进入步骤(3.17);
(3.3)设数据集SFD中图像集为Ts,标签集为Lk;
(3.4)图像集Ts中的图像Ti3经过两层以ReLU为激活函数卷积核为3×3并进行批量归一化处理的卷积层,设输出为C0;
(3.5)定义循环变量j3,拓扑层数n=5,j3∈[1,n],j3赋初值为1;
(3.6)如果j3≤n,则进入步骤(3.7);
(3.7)C0经过卷积核为1×1,stride为2,并进行批量归一化处理的卷积层,设输出为C1;
(3.8)C1经过以卷积核为3×3并进行批量归一化与ReLU为激活函数的分离卷积层,设输出为C2;
(3.9)C2经过卷积核为5×5并进行批量归一化处理的卷积层,设输出为C3;
(3.10)C3经过窗口大小为3×3,strides为2的池化层,设输出为Pj3并将其赋值给C0;
(3.11)j3=j3+1,进入步骤(3.6);
(3.12)得到的张量集P={P1,P2,P3,P4,P5}经过求和,设输出为TP;
(3.13)TP经过卷积核为3×3的卷积层后进入全连接层,设输出为F;
(3.14)F经过以softmax为激活函数的神经网络,得到预测标签Lk*;
(3.15)设置多分类的对数损失函数和adam优化器,得到面部特征分类结果R={Lk,Lk*};
(3.16)i3=i3+1,进入步骤(3.2);
(3.17)模型训练完毕,得到自适应寻优面部特征识别模型FFs_model;
所述步骤(4)中得到多目标人脸关键帧位置集合FEC的具体步骤如下:(4.1)输入人脸面部信息视频数据流FEV;
(4.2)将视频流FEV转化为帧序列,得到视频帧序列集合FEVC={fecframe1,fecframe2,…,fecframeM},其中,fecframeM表示FEVC中第M组帧序列;
(4.3)定义人脸跟踪目标object用于记录跟踪目标的特征列表,定义循环变量i4用于遍历FEVC,i4∈[1,len(FEVC)],i4赋初值为1,imagei4为FEVC中的第i4个视频关键帧;
(4.4)遍历FEVC,如果i4≤len(FEVC),则跳转到步骤(4.5),否则结束遍历FEVC,跳转到步骤(4.19);
(4.5)将BGR格式imagei4转换成灰度图片,得到gray_imagei4;
(4.6)加载人脸检测分类器face_detection,循环检测gray_imagei4中人脸;
(4.7)定义当前关键帧人脸取得标志状态d_flag,其中,d_flag为1时表示gray_imagei4检测到人脸,d_flag为0时表示gray_imagei4未检测到人脸;
(4.8)如果d_flag=1,则跳转到步骤(4.9),否则跳转到步骤(4.17);
(4.9)自适应聚合网络提取关键帧中所有人的人脸特征;
(4.10)如果系统已有跟踪目标object,则跳转到步骤(4.11),否则跳转到(4.18);
(4.11)使用自适应聚合网络计算每个跟踪目标特征列表的聚合特征;
(4.12)定义当前关键帧人脸关联匹配标志状态m_flag,其中,m_flag为1时表示gray_imagei4匹配到object中人脸特征,m_flag为0时表示gray_imagei4未匹配到object中人脸特征;
(4.13)根据聚合特征及预测位置,构造相似矩阵关联匹配跟踪目标;
(4.14)如果m_flag=1,则跳转到步骤(4.17),否则跳转到步骤(4.15);
(4.15)创建新的跟踪目标,创建每个跟踪目标的特征列表,存于object中;
(4.16)如果系统已有跟踪目标object,则跳转到步骤(4.18),否则跳转到(4.19);
(4.17)将提取到的特征添加到每个跟踪目标的特征列表;
(4.18)使用卡尔曼观测器预测object中每个跟踪目标下一帧所在位置,清除长时间未匹配到目标的跟踪器;
(4.19)变量i4自增1,即i4=i4+1,进入到步骤(4.4);
(4.20)得到视频帧人脸位置集合FEC={face1,face2,…,facei4},其中,facei4表示FEC中的第i4个人脸位置;
所述步骤(5)中生成多目标的面部特征分类结果集FECR的具体步骤如下:(5.1)输入多目标人脸关键帧位置集合FEC={face1,face2,…,faceN},其中,faceN表示FEC中所跟踪的第N张人脸的关键帧位置区域;
(5.2)定义Rid,Rlabel分别为faceN的序号、特征标签,满足Rfeature={Rid,Rlabel},令FECL={Rfeature0,Rfeature2,…,Rfeaturem},其中,Rfeaturem为FECL中的第m个人脸图像,len(FECL)为集合FECL的长度;
(5.3)加载面部特征识别模型FFs_model,定义循环变量i5用于遍历FECL,i5∈[1,len(FECL)],i5赋初值为1,定义gray_facei5为FECL中的第i5个人脸灰度图像;
(5.4)如果i5≤len(FECL)则进入步骤(5.5)否则进入步骤(5.12);
(5.5)获取人脸矩形位置,得到face_coordinatesi5={x1,y1,x2,y2},其中,x1,x2,y1,y2分别表示人脸区域矩形选框四个点的位置;
(5.6)获取人脸区域,得到gray_facei5,其中,gray_facei5=gray_imagei5[y1:y2,x1:x2];
(5.7)将gray_facei5等比例缩放,得到imgi5,满足imgi5={img_shape,depth=3},其中,img_shape={height=48,width=48};
(5.8)将imgi5数据归一化处理,得到norm_imgi5;
(5.9)将norm_imgi5放入自适应聚合网络,获取面部特征预测值FFs_predictioni5;
(5.10)通过自适应聚合网络,寻优FFs_predictioni5最大面部特征倾向标签FFs_label_argi5,得到Rlabeli5面部特征预测值及预测概率,其中,Rlabeli5=FFs_label_argi5;
(5.11)i5=i5+1,进入到步骤(5.4);
(5.12)得到面部特征分类结果集FECR={FFs_image1,FFs_image2,…,FFs_imagem},其中,FFs_image={Rid,Rlabel},Rid和Rlabel分别表示人脸特征结果的序号及特征识别预测标签,FFs_imagem表示面部特征分类结果集FECR中的第m个结果序列;
(5.13)自适应聚合FECR特征信息,得到自适应场景下监测对象人脸信息,获得多目标追踪签到考勤及面部特征变化信息跟踪识别特征状态结果集。
2.根据权利要求1所述的一种多目标跟踪及面部特征信息识别方法,其特征在于,所述步骤(1)中得到的人脸关键帧集SF的具体步骤如下:(1.1)输入图像数据集S,定义函数len(X)表示集合X的长度,令S={S1,S2,…,SM},其中,SM表示S中第M张图像,M∈[1,len(S)];
(1.2)定义循环变量i1,用于遍历S,i1∈[1,len(S)],i1赋初值为1;
(1.3)如果i1≤len(S)则进入步骤(1.4)否则进入步骤(1.10);
(1.4)对Si1进行灰度处理,得到gray_Si1;
(1.5)将灰度增强图像gray_Si1变换为直方图均衡图像hist_Si1;
(1.6)对hist_Si1进行中值滤波处理,得到med_Si1;
(1.7)对med_Si1进行锐化处理,得到sha_Si1;
(1.8)利用OpenCV中的Haar Cascade分类器对sha_Si1进行人脸检测并提取出人脸,得到的人脸放到SF中;
(1.9)i1=i1+1,进入步骤(1.3);
(1.10)人脸提取结束。
3.根据权利要求1所述的一种多目标跟踪及面部特征信息识别方法,其特征在于,所述步骤(2)中得到的数据集SFD的具体步骤如下:(2.1)输入人脸关键帧集SF;
(2.2)对人脸关键帧集SF打标签,将图片分为七个基础面部特征类别;
(2.3)定义id,label分别为单个带标签的人脸图片feature的序号、标签,满足feature={id,label},令SFL={feature0,feature1,…,featurem},其中,featurem为SFL中的第m个人脸图像,len(SFL)为数据集图像数量;
(2.4)定义循环变量i2用于遍历SFL,i2∈[1,len(SFL)],i2赋初值为1,imagei2为SFL中的第i2个人脸图像;
(2.5)如果i2≤len(SFL)则进入步骤(2.6)否则进入步骤(2.12);
(2.6)将imagei2等比例缩放,得到imgi2,满足imgi2={img_shape,depth=3},其中,img_shape={height=48,width=48};
(2.7)将图像imgi2随机调节亮度得到brig_imgi2;
(2.8)将图像imgi2旋转1次得到rota_imgi2;
(2.9)将图像imgi2翻转得到mirr_imgi2;
(2.10)将imgi2,rota_imgi2,brig_imgi2,mirr_imgi2人脸对齐,得到alig_imagei2;
(2.11)i2=i2+1,进入到(2.5);
(2.12)得到图像集Ts={alig_image1,alig_image2,…,alig_image3m}。
4.根据权利要求1所述的一种多目标跟踪及面部特征信息识别方法,其特征在于,所述步骤(6)中开放面部特征自适应识别接口FFs API,用户通过客户端程序发起HTTP请求,自适应识别接口FFs API对用户发起的请求参数进行自适应多目标特征识别,并将处理得到的自适应多目标场景下签到及面部特征分类结果集FECR存储在Web平台的服务器,同时将核心信息返回给调用程序,用户可通过Web平台获取可视化展示的具体步骤如下:(6.1)开放面部特征自适应识别接口FFs API;
(6.2)创建线程池Thread Pool;
(6.3)判断线程池Thread Pool所有任务是否执行完毕,如果所有任务执行完毕,则进入步骤(6.9),否则进入步骤(6.4);
(6.4)用户通过客户端程序发起HTTP请求;
(6.5)子线程Child Thread获取任务处理;
(6.5)自适应识别接口FFs API对用户发起的请求参数进行自适应多目标特征识别,并将处理得到的自适应多目标场景下考勤签到及面部特征分类结果集FECR存储在Web平台;
(6.7)将步骤(6.5)识别出的自适应多目标特征核心参数信息FFs ResultSet返回给调用程序,面部特征分类结果集FECR将保留在Web平台供可视化展示;
(6.8)结束该子线程Child Thread,进入步骤(6.3);
(6.9)关闭线程池Thread Pool;
(6.10)面部特征自适应识别结束,向客户端返回可视化结果集供展示。