人脸识别
- 人脸有不同的颜色组成
- 不同的颜色由三原色:红绿蓝组成
- 红绿蓝由0~255的数字组成
所以人脸是由数据组成的
让自己’活下来’—–>喜欢的事情(年纪不能太大)—–>责任(工作,’义气’,社会)
使用matplotlib.pyplot导入数据图片并显示,观察这张图片的数据类型
进行人脸识别操作
1.导入相应模块工具:GridSearchCV、fetch_lfw_people、PCA、loggin等
2.设置logging,控制台显示程序处理数据的进度
3.使用fetch_lfw_people导入数据,如果本地没有会从网络下载,如果本地有数据,加载本地
4.查看人脸数据结构
5.从人脸数据中提取进行机器学习的关键数据
6.对数据进行分割,获取训练数据和测试数据
7.数据太复杂了,使用PCA对数据进行降维处理,去除一些不重要的数据
8.使用GridSerchCV查询最佳的机器学习模型
9.定义方法获取预测人名和真实人名
10.定义方法绘制人脸识别结果图形
11.调用方法进行数据展示
导入相应模块工具:GridSearchCV、fetch_lfw_people、PCA、logging等
import numpy as np
import matplotlib.pyplot as plt
import sklearn.datasets as datasets
import logging
logging.basicConfig(level=logging.WARN, format='%(asctime)s %(message)s')
#min_faces_per_person 最少显示人数
#resize 代表图片被压缩过
#slice_=(slice(70, 195, None), slice(78, 172, None)) 切片,默认值会直接切出人脸
face = datasets.fetch_lfw_people(min_faces_per_person=70,resize=1)
face
输出
{‘DESCR’: ‘LFW faces dataset’,
‘data’: array([[253.66667 , 253.66667 , 254.66667 , …, 86.666664, 86.333336,
86.333336],
[ 42. , 34. , 31.666666, …, 121.666664, 148. ,
185.33333 ],
[ 94. , 72. , 74. , …, 182.66667 , 183. ,
182.33333 ],
…,
[ 84.333336, 86. , 85.333336, …, 44. , 35.666668,
30.333334],
[ 49.666668, 50.333332, 47.666668, …, 178.66667 , 167.66667 ,
127.333336],
[ 31.333334, 33.333332, 26.666666, …, 47.666668, 63. ,
99. ]], dtype=float32),
‘images’: array([[[253.66667 , 253.66667 , 254.66667 , …, 42.333332,
37.666668, 39. ],
[254. , 254. , 253.66667 , …, 43.333332,
38. , 39. ],
[254.66667 , 254.33333 , 253.33333 , …, 44. ,
38.666668, 38. ],
…,
[ 68.333336, 63.333332, 51. , …, 90.333336,
85.666664, 83.666664],
[ 64. , 61.333332, 51.666668, …, 88. ,
87. , 87. ],
[ 58.666668, 58. , 53. , …, 86.666664,
86.333336, 86.333336]],[[ 42. , 34. , 31.666666, ..., 41.333332, 34. , 29.666666], [ 41.666668, 35.666668, 38. , ..., 42. , 36. , 33.666668], [ 41. , 43. , 47.333332, ..., 48.666668, 46. , 39.666668], ..., [ 77.333336, 77.666664, 75.666664, ..., 110.333336, 110.666664, 133.33333 ], [ 77.666664, 78.666664, 78.333336, ..., 112.333336, 123.666664, 154.66667 ], [ 77. , 76.666664, 76.666664, ..., 121.666664, 148. , 185.33333 ]], [[ 94. , 72. , 74. , ..., 151.66667 , 150.33333 , 150. ], [ 96. , 88.333336, 96. , ..., 149.66667 , 148.33333 , 148. ], [ 97.333336, 86.666664, 97.666664, ..., 147.66667 , 145.33333 , 147.33333 ], ..., [ 77. , 72.666664, 67. , ..., 184.33333 , 183. , 181. ], [ 83. , 80.666664, 72.333336, ..., 184. , 184. , 182. ], [ 88.333336, 86.666664, 82.666664, ..., 182.66667 , 183. , 182.33333 ]], ..., [[ 84.333336, 86. , 85.333336, ..., 37.333332, 42.666668, 48. ], [ 86. , 87. , 84.666664, ..., 34.333332, 38.333332, 43.66