更新简历的项目内容
This commit is contained in:
parent
f134d10ad8
commit
57e9e8b6aa
@ -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中。
|
||||
|
Loading…
x
Reference in New Issue
Block a user