svn: faceanalysisserver
- 人脸分析主服务: faceanalysisserver,
- 读取配置文件faceanalysisserver.conf ,读取数据库配置,得到的指定的配置的摄像机的信息
- t_face_video_camera
- t_face_video_device
- 读取需要加载的模块,中间以分号隔开
- 人脸分析服务为每一路人脸分析摄像机开启一个线程,分析人脸数据,并将得到的人脸特征数据,抛送给其他模块来处理
- 会加载一个视频插件、一个pkfacerecognizer插件用于人脸检测识别,一个pkfacerecog2path的插件,用于处理检测到人脸的后续操作
- pkfacerecognizer: 加载人脸的模型,人脸检测和人脸特征点的计算,
- pkfacerecog2path的模块
- 初始化从数据库t_face_person_known表中加载所有人脸库保存在内存中记录为内存人脸库,内存人脸库会定时重新加载数据库
- 传入人脸检测结果,将检测结果的特征值与内存人脸库中进行比对
- 相似度大于0.5的记录为一个成功识别,如果该人脸还不存在于数据库,新建一个人员信息保存至t_face_person_known中,再将轨迹记录更新在数据库t_face_person_track表中,
- 相似度小于0.5视为新的人脸但不存在于人脸库,先保存在内存人脸库中,下次检测到同一个人,则会记录新人脸和轨迹
- 视频插件模块:
- videoCamera
- videoDahua
- videoFile
- videoHK
- videoOnvif
在pkfacerecognizer中增加一个接口: PK_FACE_RECOGNIER_API int PKRecog_GenerateFeature(cv::Mat &mat char * szFeatureRet, int nFeatureBufLen, int *pnFeatureLen) // 根据一个Mat,生成一个人脸特征值,目前是2048个float
通过