### 6. 人脸检测和人脸识别
本节的程序来自于项目https://github.com/davidsandberg/facenet 。
**6.4.1 项目环境设置**
参考6.4.1小节。
**6.4.2 LFW 人脸数据库**
在地址http://vis-www.cs.umass.edu/lfw/lfw.tgz 下载lfw数据集,并解压到~/datasets/中:
```
cd ~/datasets
mkdir -p lfw/raw
tar xvf ~/Downloads/lfw.tgz -C ./lfw/raw --strip-components=1
```
**6.4.3 LFW 数据库上的人脸检测和对齐**
对LFW进行人脸检测和对齐:
```
python src/align/align_dataset_mtcnn.py \
~/datasets/lfw/raw \
~/datasets/lfw/lfw_mtcnnpy_160 \
--image_size 160 --margin 32 \
--random_order
```
在输出目录~/datasets/lfw/lfw_mtcnnpy_160中可以找到检测、对齐后裁剪好的人脸。
**6.4.4 使用已有模型验证LFW 数据库准确率**
在百度网盘的chapter_6_data/目录或者地址https://drive.google.com/file/d/0B5MzpY9kBtDVZ2RpVDYwWmxoSUk 下载解压得到4个模型文件夹,将它们拷贝到~/models/facenet/20170512-110547/中。
之后运行代码:
```
python src/validate_on_lfw.py \
~/datasets/lfw/lfw_mtcnnpy_160 \
~/models/facenet/20170512-110547/
```
即可验证该模型在已经裁剪好的lfw数据集上的准确率。
**6.4.5 在自己的数据上使用已有模型**
计算人脸两两之间的距离:
```
python src/compare.py \
~/models/facenet/20170512-110547/ \
./test_imgs/1.jpg ./test_imgs/2.jpg ./test_imgs/3.jpg
```
**6.4.6 重新训练新模型**
以CASIA-WebFace数据集为例,读者需自行申请该数据集,申请地址为http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html 。获得CASIA-WebFace 数据集后,将它解压到~/datasets/casia/raw 目录中。此时文件夹~/datasets/casia/raw/中的数据结构应该类似于:
```
0000045
001.jpg
002.jpg
003.jpg
……
0000099
001.jpg
002.jpg
003.jpg
……
……
```
先用MTCNN进行检测和对齐:
```
python src/align/align_dataset_mtcnn.py \
~/datasets/casia/raw/ \
~/datasets/casia/casia_maxpy_mtcnnpy_182 \
--image_size 182 --margin 44
```
再进行训练:
```
python src/train_softmax.py \
--logs_base_dir ~/logs/facenet/ \
--models_base_dir ~/models/facenet/ \
--data_dir ~/datasets/casia/casia_maxpy_mtcnnpy_182 \
--image_size 160 \
--model_def models.inception_resnet_v1 \
--lfw_dir ~/datasets/lfw/lfw_mtcnnpy_160 \
--optimizer RMSPROP \
--learning_rate -1 \
--max_nrof_epochs 80 \
--keep_probability 0.8 \
--random_crop --random_flip \
--learning_rate_schedule_file
data/learning_rate_schedule_classifier_casia.txt \
--weight_decay 5e-5 \
--center_loss_factor 1e-2 \
--center_loss_alfa 0.9
```
打开TensorBoard的命令(<开始训练时间>需要进行替换):
```
tensorboard --logdir ~/logs/facenet/<开始训练时间>/
```
#### 拓展阅读
- MTCNN是常用的人脸检测和人脸对齐模型,读者可以参考论文Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks 了解其细节。
- 训练人脸识别模型通常需要包含大量人脸图片的训练数据集,常用 的人脸数据集有CAISA-WebFace(http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html )、VGG-Face(http://www.robots.ox.ac.uk/~vgg/data/vgg_face/ )、MS-Celeb-1M(https://www.microsoft.com/en-us/research/project/ms-celeb-1m-challenge-recognizing-one-millioncelebrities-real-world/ )、MegaFace( http://megaface.cs.washington.edu/ )。更多数据集可以参考网站:http://www.face-rec.org/databases
- 关于Triplet Loss 的详细介绍,可以参考论文FaceNet: A Unified Embedding for Face Recognition and Clustering,关于Center Loss 的 详细介绍,可以参考论文A Discriminative Feature Learning Approach for Deep Face Recognition。
没有合适的资源?快使用搜索试试~ 我知道了~
chapter_6.zip_tensorflow_tensorflow 识别_worddss_人脸_人脸识别
共84个文件
py:57个
txt:6个
jpg:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 156 浏览量
2022-07-14
12:22:10
上传
评论
收藏 2.63MB ZIP 举报
温馨提示
在TensorFlow运行环境下进行人脸识别的代码。
资源推荐
资源详情
资源评论
收起资源包目录
chapter_6.zip (84个子文件)
chapter_6
.travis.yml 448B
.pydevproject 461B
.pylintrc 13KB
data
images
Anthony_Hopkins_0001.jpg 13KB
Anthony_Hopkins_0002.jpg 13KB
pairs.txt 152KB
learning_rate_schedule_classifier_casia.txt 106B
learning_rate_retrain_tripletloss.txt 108B
learning_rate_schedule_classifier_msceleb.txt 107B
test
batch_norm_test.py 2KB
restore_test.py 7KB
triplet_loss_test.py 2KB
center_loss_test.py 4KB
decov_loss_test.py 3KB
train_test.py 9KB
README_eng.md 5KB
test_imgs
2.jpg 21KB
1.jpg 21KB
3.jpg 8KB
src
models
inception_resnet_v1.py 11KB
__init__.py 16B
inception_resnet_v2.py 13KB
squeezenet.py 3KB
train_softmax.py 24KB
facenet.py 20KB
train_tripletloss.py 24KB
calculate_filtering_metrics.py 6KB
lfw.py 3KB
classifier.py 8KB
__init__.py 16B
download_and_extract_model.py 2KB
validate_on_lfw.py 5KB
decode_msceleb_dataset.py 4KB
compare.py 5KB
align
det3.npy 1.49MB
det1.npy 27KB
__init__.py 0B
align_dlib.py 9KB
align_dataset.py 7KB
det2.npy 392KB
detect_face.py 31KB
align_dataset_mtcnn.py 7KB
freeze_graph.py 5KB
download_vgg_face_dataset.py 5KB
__init__.py 0B
.project 361B
tmp
select_triplets_test.py 774B
visualize_vgg_model.py 3KB
funnel_dataset.py 4KB
nn4.py 5KB
mtcnn_test.py 4KB
test1.py 21B
visualize.py 5KB
dataset_read_speed.py 903B
test_align.py 1KB
mtcnn_test_pnet_dbg.py 4KB
nn4_small2_v1.py 4KB
random_test.py 4KB
seed_test.py 5KB
mnist_noise_labels.py 15KB
deepdream.py 10KB
detect_face_v2.m 9KB
nn2.py 5KB
test_invariance_on_lfw.py 11KB
visualize_vggface.py 2KB
vggverydeep19.py 4KB
__init__.py 16B
mnist_center_loss.py 18KB
vggface16.py 5KB
align_dataset.m 8KB
pilatus800.jpg 106KB
invariance_test.txt 2KB
cacd2000_split_identities.py 1KB
detect_face_v1.m 8KB
nn3.py 5KB
batch_represent.py 5KB
rename_casia_directories.py 1KB
network.py 9KB
mtcnn.py 3KB
requirements.txt 87B
LICENSE.md 1KB
.gitignore 1KB
README.md 4KB
util
plot_learning_curves.m 4KB
共 84 条
- 1
资源评论
Kinonoyomeo
- 粉丝: 77
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功