欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018111960633
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于人脸识别与行人重识别的特定目标跟踪方法,含有以下步骤:(1)训练基于特征融合与三重损失函数的行人重识别神经网络;

步骤11:预训练ResNet50网络;

利用ImageNet数据集作为训练数据集,训练1000分类的ResNet50网络,使ResNet50有理想的初始值,理想的初始值使行人重识别网络更容易收敛;

步骤12:改进ResNet50网络;

搭建基于ResNet50的特征融合网络;加载预训练模型参数,除去ResNet50的全连接层,将ResNet50中的res5a、res5b做全局平均池化,拼接得到两张特征图,用全连接层fc-1024作用在这张拼接特征图上得到长度为1024的特征向量,记为mid-level feature;同时,将ResNet50中的res5c也做全局平均池化,池化后展开得到长度为2048的特征向量,记为high-level feature;将mid-level feature和high-level feature拼接得到长度为3072的特征向量,记为final feature;

添加hard triplet损失函数;一种基于训练批量(Batch)的在线难样本采样方法,对于每一个训练批次,随机挑选P个ID的行人,每个行人随机挑选K张不同的图片,即一个batch含有P×K张图片;对于batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组;定义和a为相同ID的图片集为A,剩下不同ID的图片图片集为B,则hard triplet损失表示为:m设定为0.3;hard triplet损失会计算a和batch中的每一张图片在特征空间final feature的欧式距离,然后选出与a距离最远即最不像的正样本p和距离最近即最像的负样本n来计算三元组损失,hard triplet损失效果比传统的三元组损失要好;

添加softmax损失函数;softmax在分类问题上有非常好的表现,将每一个行人作为一个类别进行训练,Market1501训练集中共751个人,因此在final feature之后加一层全连接层,得到长度为751的fc-class;softmax loss作用于fc-class上;

添加ring损失函数;一种原用于人脸识别的辅助损失函数,Ring loss将特征final feature限制到缩放后的单位圆上,同时能保持凸性,来得到更稳健的特征;其定义如下:这里λ取0.005,m为训练批次大小,即P*K,R是可训练参数,初始值为1;

步骤13:预处理Market1501数据集;

每一个训练批次,随机挑选P=12个ID的行人,每个行人随机挑选K=4张不同的图片,即一个batch含有P*K=48张图片;图片随机裁剪成128*256大小,每张图片有概率地进行水平翻转,并归一化图片像素值;

步骤14:训练行人重识别网络:

加载预训练模型参数到本发明中修改过的ResNet50中,使用预处理过的数据集,三重损失值相加为最终损失值,利用Adam算法优化模型,迭代更新神经网络权重,直至模型收敛;最终,该模型在Market1501上取得rank1为92.2%的精度;

(2)建立目标人脸库;

步骤21:每个目标行人保存三张人脸图片,以“姓名+序号”的图片名保存;所有人保存在同一个文件夹下,一个人的库图片越多,检索起来越容易;

步骤22:在该文件夹下建立一个文本文件,文件内容为图片名和对应的人名;

(3)读取多源监控画面;

步骤31:开启多个子线程,每个线程对应一个监控设备,设备个数可增减;

步骤32:通过rtsp协议读取每个监控的每帧画面,传到服务器进行以下处理;

(4)行人检测;

步骤41:加载Yolo3模型,加载一次即可;

步骤42:将整帧图片送入Yolo3,得到行人的坐标位置,根据坐标从原始画面中裁剪出每个行人,逐个行人进行以下步骤;

(5)提取行人特征;

步骤51:加载训练好的的行人重识别模型,加载一次即可;

步骤52:将行人图片送入行人重识别模型,一个行人得到一行长度为3072的特征向量,即图1中的final feature,该特征向量作为行人特征,在以下步骤中使用;

(6)人脸识别;

步骤61:调用face-recognition库的人脸识别模块提取人脸库的人脸特征向量,人脸库特征提取一次即可;

步骤62:调用face-recognition的人脸检测模块检测人脸,检测监控中行人面部是否可见,若面部检测成功,则继续以下步骤,否则,跳转至步骤(7)进行行人重识别;提取监控中行人的人脸特征向量A,分别求A与行人库中所有人脸相似度;假设人脸库中有特征向量记为B,其相似度计算公式为:其中,dist为A与B的欧式距离;

步骤63:取其中相似度最高的值S;

步骤64:若S大于等于阈值α,本发明中α取0.77,则认为S对应的人脸与该行人匹配;即人脸识别成功,与此同时,保存该行人的行人特征和标签到行人特征库中,行人特征由步骤(5)得到;人脸识别成功则跳过步骤(7)和步骤(8);

步骤65:若S小于阈值α,与该行人最相似的人脸相似度达不到阈值,即人脸识别失败,进入步骤(7)进行行人重识别;

步骤66:由于人脸遮挡严重,或者行人背对监控,无法检测到人脸而导致的人脸识别失败,进入步骤(7)进行行人重识别;

(7)行人重识别;

步骤71:当人脸识别失败时,利用行人特征进行识别;将第五步得到的行人特征记为R,分别求R与行人特征库中每一个行人的欧式距离,欧式距离越小,相似度越高;

步骤72:取R与行人库中最短的欧氏距离,记为x,设置行人重识别阈值β=115,保存至行人库的阈值γ=60;

步骤73:若x<β,则该行人与最小欧式距离对应的标签相匹配,行人重识别成功,进入步骤4;否则,跳过步骤74进入步骤(8);

步骤74:若x<γ,表示该行人特征与行人库中某一特征非常相似,即该行人属于目标行人的概率非常大,保存该行人特征至行人特征库,跳过步骤(8);

(8)基于上下帧时空相关性进行跟踪;

步骤81:记录上一帧每个行人的位置坐标和身份标签,没有身份标签的记为‘None’;

步骤82:假设人脸识别和行人重识别不能识别某一行人,将该行人记为W;

步骤83:计算行人W的位置框与上一帧每个行人位置框的重合度,重合度越高的,表示属于同一人的可能性越大;因此,认定行人W与上一帧中位置重合度最高的行人相匹配。