更新简历的项目内容

This commit is contained in:
xiongraorao 2018-08-20 11:20:10 +08:00
parent f134d10ad8
commit 57e9e8b6aa

View File

@ -7,6 +7,9 @@
- [技术关键](#技术关键)
- [大数据框架](#大数据框架)
- [存储实现](#存储实现)
- [索引步骤](#索引步骤)
- [身份鉴别](#身份鉴别)
- [结果推送](#结果推送)
- [计算逻辑](#计算逻辑)
- [索引方法](#索引方法)
- [CPU索引](#cpu索引)
@ -70,6 +73,27 @@ count: 记录当天插入索引的hash的个数hash为当天的哈希索引
hash: 当天抓取的人的hash值
### 索引步骤
首先用 FFmpeg 库来抓取视频流然后进行人脸检测、特征提取得到512维特征利用PCA降维到256维。
将实值特征利用hash函数转换到汉明空间得到hash特征查询HashTable获取当前hash特征关联的所有记录判断是否已经插入到当天的索引中查询IndexTable)如果是则直接查询候选集否则得到候选集之后还要将新的哈希值插入到索引中以供后续查询更新IndexTable)
哈希值的查找策略历史15天内每天的索引库中的哈希值和待查询哈希值之间的汉明距离最小小于D范围内的前K个哈希值作为候选集
更具哈希候选集查询HashTable获取与候选集中哈希值相关联的所有记录实值特征url人脸ID分别添加至特征列表和id列表中**两个列表长度一样并且id和特征一一对应**
### 身份鉴别
身份鉴别模块的功能是拿到特征列表和ID列表之后进行精细选择的一个过程最终得到最相似的那个人的ID。
如果ID是空的话说明这个人以前没有出现过因此生成一个新的ID把这个人的ID加入到TimesTable 中,
否则通过ID还有时间定位到TimesTable 中的某一行对应的Times+1
### 结果推送
通过 Redis + socket.io + Node.js 将计算结果送到web页面上去。
### 计算逻辑
每天抓到的人脸都会存储到IndexTable中用于初始化索引。对于抓取到的人脸去以前的特征库里面检索特征中间需要用到HashTable来对人脸进行精细计算然后统计次数存入到TimesTable中。