在这里记录看到的有用的参考信息
关于ResNet等backbone的信息,写report有用 目标检测backbone:https://bywmm.github.io/2019/09/30/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8Bbackbone/ 目标检测——Backbone与Detection head: https://zhuanlan.zhihu.com/p/93451942 深度学习与计算机视觉(PB-05)-网络微调 - https://lonepatient.top/2018/03/09/Deep_Learning_For_Computer_Vision_With_Python_PB_05.html#%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0%E5%92%8C%E5%BE%AE%E8%B0%83
lfw图像对的读取 https://blog.csdn.net/oYeZhou/article/details/88942598
[玩转pytorch中的torchvision.transforms!!!!]http://noahsnail.com/2020/06/12/2020-06-12-%E7%8E%A9%E8%BD%ACpytorch%E4%B8%AD%E7%9A%84torchvision.transforms/
在本教程中,我们还将使用多任务级联卷积神经网络(MTCNN)进行面部检测,例如从照片中查找和提取面部。
使用OpenCV进行人脸检测+ 深度学习的人脸检测MTCNN原理
但是上面提供的都是tensorflow上的实现过程,因此需要基于pytorch的实现过程...下面这个有
谷歌 face recognition github pytorch 第一个搜索结果 Face Recognition Using Pytorch
从深度学习之人脸识别模型--FaceNet 以及它参考的文章 FaceNet pre-trained模型以及FaceNet源码使用方法和讲解中摘取的关键:
因为程序中神经网络使用的是谷歌的“inception resnet v1”网络模型,这个模型的输入时160160的图像,而我们下载的LFW数据集是250250限像素的图像,所以需要进行图片的预处理。
2)、基于mtcnn与facenet的人脸识别(输入单张图片判断这人是谁) 代码:facenet/contributed/predict.py 主要功能:
① 使用mtcnn进行人脸检测并对齐与裁剪
② 对裁剪的人脸使用facenet进行embedding
③ 执行predict.py进行人脸识别(需要训练好的svm模型)
① 使用mtcnn进行人脸检测并对齐与裁剪
https://github.com/ZhaoJ9014/face.evoLVe.PyTorch 还发布在微信公众号上face.evoLVe:高性能人脸识别开源库,内附高能模型
face.evoLVe介绍 face.evoLVe 为人脸相关分析和应用提供了全面的人脸识别库,包括:
- 人脸对齐(人脸检测,特征点定位,仿射变换等); -- 使用了这一部分的代码
- 数据处理(例如,数据增广,数据平衡,归一化等);
- 各种骨干网(例如,ResNet,IR,IR-SE,ResNeXt,SE-ResNeXt,DenseNet,LightCNN,MobileNet,ShuffleNet,DPN等);
- 各种损失函数(例如,Softmax,Focal,Center,SphereFace,CosFace,AmSoftmax,ArcFace,Triplet等等);
- 提高性能的技巧包(例如,训练改进,模型调整,知识蒸馏等)。
能够得到什么:
- 这是一个库,可以直接调用人脸检测模块
- 可以直接调用各种骨干网?-- “下图是作者开源的一个人脸识别预训练模型,骨干网用IR-50,网络Head ArcFace,Loss 函数Focal,在MS-Celeb-1M_Align_112x112数据上训练” -- “在该库的最新状态中,作者称正在MS-Celeb-1M_Align_112x112数据集上训练ResNet-50、IR-SE-50、 IR-SE-152、IR-152 ,并将很快提供下载。”
一篇很基础的博文:在Amazon Sagemaker上使用Pytorch进行人脸识别(包括Jupyter笔记本代码)
- 您可以看到我们正在使用预训练的模型(alexnet)。Torchvision提供了许多预先训练的模型
在GitHub上看到的 runiRC/resnet-face-pytorch 内容是
Contents
ResNet-50 on UMD-Faces
- Dataset preparation
- Training
- Evaluation demo
ResNet-50 on VGGFace2 - Dataset preparation
- Training
- Evaluation LFW
就是使用 UMD-Faces/VGGFace2 两个数据集训练 ResNet-50网络 如果我们想要使用ResNet50作为基backbone,那么或许载入这个或者其它的而不是 torchvision中使用Imgaenet训练的ResNet网络更好??
srwpf / ResNet50-Pytorch-Face-Recognition(https://gitee.com/srwpf/ResNet50-Pytorch-Face-Recognition) 一个非常简洁的完整的小项目组织形式,可以学习。内容是训练了resnet和vgg来用作面部识别
AlfredXiangWu/LightCNN (https://github.com/AlfredXiangWu/LightCNN) light_cnn出自2016 cvpr吴翔A Light CNN for Deep Face Representation with Noisy Labels, 优势在于一个很小的模型和一个非常不错的识别率。主要原因在于, (1)作者使用maxout作为激活函数,实现了对噪声的过滤和对有用信号的保留,从而产生更好的特征图MFM(Max-Feature-Map)。这个思想非常不错,本人将此思想用在center_loss中,实现了大概0.5%的性能提升,同时,这个maxout也就是所谓的slice+eltwise,这2个层的好处就是,一,不会产生训练的参数,二,基本很少耗时,给人的感觉就是不做白不做,性能还有提升。
微信文章:轻松学Pytorch-使用ResNet50实现图像分类 这篇文章做的事情很简单 可以和前面的联系在一起看 就是使用torchvision自带的 Resnet50 ((pretrained=True) 来执行图像的分类任务,应该说是应用,因为就是加载已有的标签,然后加载一个图片来显示图片的类别
这里首先需要加载ImageNet的分类标签,目的是最后显示分类的文本标签时候使用。然后对输入图像完成预处理,使用ResNet50模型实现分类预测,对预测结果解析之后,显示标签文本
同一个微信公众号的文章:轻松学Pytorch-全卷积神经网络实现表情识别
这篇讲的内容多一些,虽然不是人脸识别,但是是人脸表情识别,输出的结果是:
和我们想要的结果是类似的。此文的基础网络也是残差网络,不过是自定义block的简单残差网络EmotionsResNet,有可以参考的地方。
类似的:用Pytorch做人脸识别 使用了ImageFolder导入数据集,使用了2层的卷积网络,自带的损失函数训练很简单,有参考价值的是训练获得了model,应用model的过程,"因为抓取摄像头图片使用的Opencv, Pytorch识别图像使用PIL格式,所以需要做个转换:" 他是调用摄像头的,我们不需要,直接读取新的图片即可, ‘加载我们现有的模型进行预测:’ 可以学习这一部分
[一种图像增广(Image Augmentation)方式 Sample pairing image augmentation]https://blog.csdn.net/xiaoxifei/article/details/90408243
[Sample pairing image augmentation代码参考]https://www.reddit.com/r/MachineLearning/comments/c9kmo6/p_pytorch_implementation_of_samplepairing_testing/
扩展知识
- 训练数据太少?过拟合?一文带你领略“数据增长魔法”(上)
- 训练数据太少?过拟合?一文带你领略“数据增长魔法”(下) 自定义 transform的方法
- https://blog.csdn.net/qq_40467656/article/details/107979726
- https://blog.csdn.net/dragongiri/article/details/107533668?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242
- https://blog.csdn.net/pengchengliu/article/details/108683509?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242
- http://spytensor.com/index.php/archives/38/?yczwva=cktlx3