python人脸识别


原理 人脸框识别 人脸对齐 人脸剪裁 实现 使用webface人脸数据集以及DeepID网络,通过Caffe训练出模型参数,得到LFW二分类的人脸识别准确率。下 根据预处理工具进行人脸框检测,人脸对齐。 预处理工具是其他人写的,地址:https://github.com/RiweiChen/FaceTools 根据香港中文大学提供的人脸框检测和人脸特征点检测的windows二进制程序实现。 http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm
资源截图
代码片段和文件信息
#!/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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)