人脸识别实战(深度学习)
这是一个系列的实战教程,希望大家从开头开始撸代码
Bonjour~Bridge
踏踏实实做基础的技术学习
展开
-
02_人脸识别实战(深度学习)- 数据增强
深度学习的3个核心就是优秀的算法设计、高性能的计算能力、大数据所以说数据非常重要,但我们数据不够,所以我们需要数据增强通常的手段有:随机裁剪、颜色改变、水平或竖直翻转、随机改变大小、加入噪声、对图片进行仿射变换等开始吧!在data目录下,新建一个新的目录generator,运行下面的代码:图片变换的工具类import osimport numpy as npimport...原创 2020-04-15 14:11:44 · 2489 阅读 · 4 评论 -
01_人脸识别实战(深度学习)-获得训练数据
打开你的jupyter,我们开始吧!下载数据集(没错就是一张图片)在代码目录旁新建一个文件夹data,将上面下载的图片放入data文件夹下,并在文件夹下新建一个split文件运行下面代码:import cv2import numpy as npdef split_to_dataset(img_path, save_path): olive = cv2.imread(img...原创 2020-04-15 12:44:32 · 966 阅读 · 0 评论 -
深度学习基础篇:常用的激活函数
还记得的另外一篇博客逻辑回归里面提到的Sigmoid激活函数吗?这里我详细的聊聊Sigmoid和其它计算机视觉中常用的激活函数那激活函数干什么的呢?我们可以这样感性的理解:在逻辑回归(二分类问题)中,激活函数可以根据传入的值,判断这个事物属于哪一类在深度学习的神经元中,可以根据传入的值的大小,判断这个神经元是否能继续传递值(不能传递,就是死了,不激活嘛)Sigmoid激活函数作用...原创 2020-04-17 12:39:20 · 372 阅读 · 0 评论 -
深度学习基础篇:逻辑回归Logistic Regression
什么是逻辑回归?逻辑回归算法应用非常广泛,他是用来解决“分类”问题,可能同学要问,回归问题不是返回的是数值吗?怎么变成分类了?这是因为逻辑回归比较特殊,他虽然返回的是数值,但是这个数值是各个类别出现的概率,概率最大的类别,我们就将它作为类别的输出结果。所以,逻辑回归就是根据事物的特征值,最后能够输出判别这个事物属于什么类别的一种方法。如何更加特征值获得分类结果?首先看下面2个公式:p^\...原创 2020-04-17 00:44:59 · 1132 阅读 · 0 评论 -
07_人脸识别实战(深度学习)-使用模型进行人脸图片对比
经过上一篇博客,我们已经获得了人脸分类的模型,这次我们只需要简单的调整,就可以获得提取人脸特征的模型,然后对比人脸之间的特征,就可以知道2张图片是否是同一个人了代码步骤如下从“olivettifaces.jpg”中截取人脸,将同一个人的人脸放在同一文件夹下读取上一个博客的训练好的模型修改模型为提取特征的模型从同一个头像文件夹下读取图片,将第一张图片与其他图片的特征做对比,查看对比结果...原创 2020-04-16 20:20:48 · 2421 阅读 · 0 评论 -
06_人脸识别实战(深度学习)- 回调函数
上一篇博客,我们学会如何训练模型,但是训练好的模型我们需要保存下来啊?一般有2种方式。第一种,我们可以等模型训练完了,再调用保存模型的方法。但是一般不用等模型训练完,模型就能达到很高的精度,另外一方面,训练完的模型可能过拟合或者还不如训练过程中的精度高。所以;我们我们经常用第二种,在训练过程中,就不断的保存模型。这里就需要用到回调函数了callbackscallbacks创建还是直接上代码...原创 2020-04-16 11:24:58 · 1928 阅读 · 2 评论 -
04_人脸识别实战(深度学习)- 数据处理
由于获取的数据(比如图片分辨率),大多不一致,为了更好的训练模型,我们常常需要对数据进行简单的处理,本次人脸模型数据训练处理方式如下:归一化平时我们图片一般是RGB的,每个像素的取值范围为0-255,由于现在的模型深度比较深,所以在计算的时候,由于底层的一点点小的变化,都会导致高层的剧烈变化,甚至超出数据的最大范围。所以我们需要对数据处理一下。我们处理数据主要的方式“数据归一化”,数据归一化...原创 2020-04-16 02:32:13 · 780 阅读 · 0 评论 -
05_人脸识别实战(深度学习)- 创建人脸特征提取模型
为了让大家,更快的上手,先看到效果,在一步一步的分析理论,我这里简要的介绍一下模型就开始上代码。人脸识别模型与分类模型的区别?识别2张图中的人脸的流程是:模型分别提取图片中人脸的特征,然后对比2张图片中人脸特征的相似度,如果相似度小于一个阈值,我们就认为他们是同一个人分类模型的流程是:提取图片中的特征,然后用最后一次(softmax)层将特征值进行计算,它属于哪一类于是乎,我们利用分类模...原创 2020-04-16 01:59:22 · 3161 阅读 · 1 评论 -
深度学习基础篇:分类器性能评估
当我们遇到数据极度偏移的特殊情况时,我们就不能用常用的百分比来评估分类器的好坏了,比如当我们查1万人中是否患有癌症的时候,癌症的患病率为一万分之1,而你的模型能够达到99.9%的准确率,其实你的模型并不好,因为我直接猜测每个人都是健康的,准确都是99.99%,比你的模型准确更高,所以,此时我们需要更好的验证模型好坏的方法,就是查全率和查准率、F1值、ROC曲线我们先来理解“混淆矩阵”预...原创 2020-04-15 21:44:46 · 814 阅读 · 0 评论 -
03_人脸识别实战(深度学习)- 数据分割
如果我们只有训练数据,将模型训练出来后,是不知道这个模型的好坏的,所以一般我们不会直接把数据全部拿去做训练,而是将数据分成“训练数据集”、“测试数据集”、“验证数据集” 3部分这次我们只将数据分割“训练数据集”和“测试数据集”。上一篇博客,我们将所有的数据都放在generator文件夹里面,我们需要把它们取出来,随机的分成“训练数据”和“测试数据”,代码如下:加载所有的图片impo...原创 2020-04-15 19:44:24 · 935 阅读 · 0 评论 -
人脸识别实战(深度学习)-导论
喜欢编写应用的方式去学习和理解知识点。本系列博客,会先从人脸识别项目入手,一步一步搭建人脸识别项目,让大家感性的认识深度学习。搭建项目需要下面这些步骤获得训练数据获取数据数据增强分割数据搭建人脸识别模型人脸特征模型训练特征区分模型训练测试模型准确率测试模式准确率,并优化人脸活体检测...原创 2020-04-15 12:02:26 · 359 阅读 · 0 评论