zoukankan      html  css  js  c++  java
  • Keras 训练自己的人脸特征点提取模型的坑

    以下是从入坑到脱坑的全过程

    本文的目的是什么?

    目前,人脸识别的应用已经非常普遍,人脸识别的技术也非常成熟,(想了解人脸识别原理的同学点这里)一般情况我们可以选择付费的api,如果《穷》就可以选择一些开源的项目加以改进。但是实际项目如果是牛脸识别,猪脸识别,狗脸识别,猫脸识别呢!这种需求是存在的,但是就不会有那么多资源,甚至没有资源供我们自己使用,然后我们自然地就想到能否把人脸识别的相关技术用在上面呢!我不知道这个技术是否可行,但人们总会先把过去成功的经验用在相似的事情上。可以确定的是人脸识别所用到的所有模型不可能拿来直接用,因为它不可能把牛脸当作人脸,但是我们可以用回归模型训练的思路,用相对应的数据,去训练对应的模型。也就是如果一个模型可以通过训练进行人脸识别,那么只要不改变网络结构,只是重新训练模型的权重,那么牛脸识别,猫脸识别也应该能做到。

    总结一下本文的目的

    最后总结一下就是,我希望可以找到一个模型A,适用于牛脸识别,但苦于没有数据,我只能用现成的/但又黑盒的人脸识别模型生成人脸特征数据,用这批特征数据去验证模型A。(如果能找到开源的人脸特征点提取模型(是提取landmark坐标点的模型,不是将人脸图像降维到一定长度的模型),就不用靠猜的了)

    选择模型

    这个实验我打算用inception-V3作为基础模型,在后面接上两层全连接,变成一个新的网络。(为什么要加两层全连接,我是猜的,模型搭建经验不足啊!!!)

    为什么用inception呢,因为它已经被大量用到一些分类识别的项目上了,说明它的卷积层还是可以抓到图像信息的,所以我将它的卷积部分的权重冻结,算上后加上的两层全连接,这个实验仅训练后三层网络。

    数据制作

    本次实验我只想训练模型能够提取人脸68个特征点坐标,因此我找到都是人脸图像(不包含复杂背景,只有头的那种),作为训练用到的模型输入数据,同时也做了图像增强,旋转/平移/缩放……

    用开源项目把这些人脸图进行特征点标记,并存起来当作我的labels

    模型训练代码

     略……

    预测结果

    模型训练完,无论给模型输入什么图像,输出都一样,无论什么图片,输出总是在图片的同一个位置画出人脸特征点。

    分析与再次尝试

    2020-8-19:即便是输入模型全零矩阵,也会有同样的输出,输入与输出没有建立一种映射关系,仅仅找到了一个输出,能让所有标签loss平均最小,是模型结构问题?损失函数问题?,很有可能是模型的问题,无论输入什么图像,模型的某些层会消除所有差异,导致输出恒定不变!准备尝试resnet50模型,还不行就尝试自己建立模型,至少做到输出会随着输入不同而变化。

    2020-8-20:事实上输出并不一样,只是小数点后几位不同,即便用resnet50也是这样,这是什么原因呢!!!

    2020-8-21:准备尝试Hourglass网络,数据已增强,这里用到了人体躯干关节点提取常用的Hourglass网络

    2020-8-25:事实证明Hourglass是有效果的,它能够找到眼睛和嘴巴的位置,由于训练次数太少,准确度还不高,但性能是可以提升的,也就是网络结构才是最关键的。

    2020-8-26:看到有人用ASM算法做的人脸特征点提取,有机会再试。

    未完待续。。。

  • 相关阅读:
    B.Icebound and Sequence
    Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS
    Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
    Educational Codeforces Round 65 (Rated for Div. 2) B. Lost Numbers
    Educational Codeforces Round 65 (Rated for Div. 2) A. Telephone Number
    Codeforces Round #561 (Div. 2) C. A Tale of Two Lands
    Codeforces Round #561 (Div. 2) B. All the Vowels Please
    Codeforces Round #561 (Div. 2) A. Silent Classroom
    HDU-2119-Matrix(最大匹配)
    读书的感想!
  • 原文地址:https://www.cnblogs.com/niulang/p/13524678.html
Copyright © 2011-2022 走看看