python人脸识别
原理
人脸框识别
人脸对齐
人脸剪裁
实现
使用webface人脸数据集以及DeepID网络,通过Caffe训练出模型参数,得到LFW二分类的人脸识别准确率。下
根据预处理工具进行人脸框检测,人脸对齐。
预处理工具是其他人写的,地址:https://github.com/RiweiChen/FaceTools
根据香港中文大学提供的人脸框检测和人脸特征点检测的windows二进制程序实现。
http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-04-11 14:10 face_recognition-master
文件 10697 2016-04-11 14:10 face_recognition-masterDeepID.py
文件 8772 2016-04-11 14:10 face_recognition-masterDeepIDTest.py
文件 3005 2016-04-11 14:10 face_recognition-masterREADME.md
目录 0 2016-04-11 14:10 face_recognition-masteranalysis
文件 980054 2016-04-11 14:10 face_recognition-masteranalysisface_recognition_all.pdf
文件 2487 2016-04-11 14:10 face_recognition-masterdeepID_deploy.prototxt
文件 203364 2016-04-11 14:10 face_recognition-masterdeepID_net.png
文件 312 2016-04-11 14:10 face_recognition-masterdeepID_solver.prototxt
文件 4972 2016-04-11 14:10 face_recognition-masterdeepID_train_test.prototxt
文件 4972 2016-04-11 14:10 face_recognition-masterdeepID_train_test_2.prototxt
文件 8198 2016-04-11 14:10 face_recognition-masterlfw_test_deal.py
文件 155334 2016-04-11 14:10 face_recognition-masterpairs.txt
目录 0 2016-04-11 14:10 face_recognition-master
es
文件 21800 2016-04-11 14:10 face_recognition-master
esConvNet_structure.png
文件 156657 2016-04-11 14:10 face_recognition-master
esmedium_scales.png
文件 60113 2016-04-11 14:10 face_recognition-master
esprocess_all.png
#!/usr/bin/env python
#-*- coding:utf-8 -*-
‘‘‘
Create on Tues 2015-11-24
@author: hqli
‘‘‘
#运行前先将caffe安装好放在~/caffe-mater
import os
class DeepID():
#基本属性
prj=‘‘#项目名称
caffepath=‘‘#caffe主目录路径
prjpath=‘‘#工程的位置
datapath=‘‘#数据的路径
num=0#人数多少
# ratio=0#训练数:测试
# max_iter=0#迭代次数(用于lfw验证)
# snapshot=0#迭代多少次保存一次
data_train=‘‘#用于训练的数据列表
data_test=‘‘#用于测试的数据列表
net_proto=‘‘#caffe的Net
net_proto_model=‘‘
solver_proto=‘‘#caffe的solver
solver_proto_model=‘‘
deploy_proto=‘‘#caffe的deploy
snapshot_pre=‘‘#训练好的模型的前缀
lmdb_train=‘‘#训练集的lmdb
lmdb_test=‘‘#测试集的lmdb
imgmean=‘‘#图像均值
netimg=‘‘#net的结构图像
log_train=‘‘#caffe的训练日志
log_test=‘‘#caffe的测试日志
log_create=‘‘#转换lmdb的日志
#可执行文件
shcreate=‘‘#将图像和标签转换成lmdb格式
shimgmean=‘‘#计算图像均值
shdrawnet=‘‘#画Net结构图
shtrain=‘‘#训练
shtest=‘‘#测试
def __init__(selfprjcaffepathprjpathdatapathnum):
self.prj=prj
self.caffepath=caffepath
self.prjpath=self.prjpath
self.datapath=datapath
self.num=num
# self.ratio=ratio
# self.itera=max_iter
# self.snapshot=snapshot
#在prjpath下新建名为num的文件夹将配置以及生成的文件放在该文件夹下
#在prjpath下新建num文件夹
if not os.path.exists(prjpath+str(num)):
os.makedirs(prjpath+str(num))
self.net_proto_model=prjpath+prj+‘_train_test.prototxt‘
self.solver_proto_model=prjpath+prj+‘_solver.prototxt‘
self.netimg=prjpath+prj+‘_net.png‘
self.shdrawnet=prjpath+prj+‘_drawnet.sh‘#画Net结构图
rspath=prjpath+str(num)+‘/‘
strnum=‘_‘+str(num)+‘_‘
self.data_train=rspath+prj+‘_train_‘+str(num)+‘.txt‘
self.data_test=rspath+prj+‘_val_‘+str(num)+‘.txt‘
self.net_proto=rspath+prj+strnum+‘train_test.prototxt‘
self.solver_proto=rspath+prj+strnum+‘solver.prototxt‘
self.deploy_proto=rspath+prj+‘_deploy.prototxt‘
self.snapshot_pre=rspath+prj+‘_‘+str(num)
self.lmdb_train=rspath+prj+strnum+‘train_lmdb‘
self.lmdb_test=rspath+prj+strnum+‘test_lmdb‘
self.imgmean=rspath+prj+strnum+‘mean.binaryproto‘
self.log_train=rspath+prj+strnum+‘train.log‘
self.log_test=rspath+prj+strnum+‘test.log‘
self.log_create=rspath+prj+strnum+‘create.log‘
#可执行文件
self.shcreate=rspath+prj+strnum+‘create.sh‘#将图像和标签转换成lmdb格式
self.shimgmean=rspath+prj+strnum+‘imgmean.sh‘#计算图像均值
self.shtrain=rspath+prj+strnum+‘train.sh‘#训练deepID
self.shtest=rspath+prj+strnum+‘test.sh‘#测试deepID
@staticmethod
def fileopt(filenamecontent):
fp=open(filename‘w‘)
fp.write(content)
fp.close()
def div_data(selfratio):
‘‘‘
@brief: 将数据集分为训练集和测试集保存在prjpath下
‘‘‘
# if not os.path.exists(savepath):
# os.makedirs(savepath)
dirlists=os.listdir(self.datapath)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-04-11 14:10 face_recognition-master
文件 10697 2016-04-11 14:10 face_recognition-masterDeepID.py
文件 8772 2016-04-11 14:10 face_recognition-masterDeepIDTest.py
文件 3005 2016-04-11 14:10 face_recognition-masterREADME.md
目录 0 2016-04-11 14:10 face_recognition-masteranalysis
文件 980054 2016-04-11 14:10 face_recognition-masteranalysisface_recognition_all.pdf
文件 2487 2016-04-11 14:10 face_recognition-masterdeepID_deploy.prototxt
文件 203364 2016-04-11 14:10 face_recognition-masterdeepID_net.png
文件 312 2016-04-11 14:10 face_recognition-masterdeepID_solver.prototxt
文件 4972 2016-04-11 14:10 face_recognition-masterdeepID_train_test.prototxt
文件 4972 2016-04-11 14:10 face_recognition-masterdeepID_train_test_2.prototxt
文件 8198 2016-04-11 14:10 face_recognition-masterlfw_test_deal.py
文件 155334 2016-04-11 14:10 face_recognition-masterpairs.txt
目录 0 2016-04-11 14:10 face_recognition-master
es
文件 21800 2016-04-11 14:10 face_recognition-master
esConvNet_structure.png
文件 156657 2016-04-11 14:10 face_recognition-master
esmedium_scales.png
文件 60113 2016-04-11 14:10 face_recognition-master
esprocess_all.png
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)