| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 人脸特征点提取详解 -> 正文阅读 |
|
[人工智能]人脸特征点提取详解 |
前言开先河之作,是1992年Cootes提出的ASM模型。ASM方法从局部的特征来检测点,对噪声很敏感。1998年Cootes提出改进都AAM,但对于初始化和appearance的改变很敏感。两者都使用了shape model(PCA),它的缺点是模型不够灵活,不能实现细微调整(如主成分维度不变)。 更多总结: CVPR2012上有一篇非常有名的特征点定位,提出了非参数的形状约束,使用了two level cascaded regression和shape indexed features,提高了对于人脸appearance的变换,提出了correlation based features selection,解决了大训练集的训练问题,提高了时间效率。 大致流程如下:
由于每个点有4个决策树,我们这里有5个关键点,所以我们事先准备了5* 4=20个决策树树。每个树得到3个数字。20个树就得到20* 3=60个数字,即长度为60的向量。
一张图片得到了一个LBF特征。这个1x60的特征向量与另一个1x60的权重向量
w
1
w_1
w1?做点积,然后加上一个常数
b
1
b_1
b1?,就得到了一个值
δ
1
\delta_1
δ1?, 将这个
δ
1
\delta_1
δ1?加到初始位置的第1个点的x坐标上; 同样再与另一个1x60的向量
w
2
w_2
w2?做点积,再加上一个常数
b
1
b_1
b1?,就得到了一个值
δ
2
\delta_2
δ2? ,将这个
δ
2
\delta_2
δ2? 加到初始位置的第1个点的y坐标上。:
通过上述步骤就将第1个关键点移动了[
δ
1
\delta_1
δ1?,
δ
2
\delta_2
δ2?],就把关键点从初始位置,移动到了关键点应该所在的位置:
将移动后的5个点,作为初始位置,再对点移动一次。这里决策树和线性模型的参数又与前两次都不同。
上面过程中,所有预先设定的值,都是通过训练得到的,随机森林是由随机树组成的,随机树的核心元素是树,所以我们得先搞清楚树: 决策树训练训练树的目的是利用树来提取特征,一棵树负责一个关键点。我们这个问题是为了求取点坐标的偏移量的。所以就以【(目标坐标-初始坐标)-偏移量】为loss。优化这个树,使loss取最小。
由于我们设计这个特征目的是要用初始点预测出偏移量的。所以特征要由初始点决定,所以就取初始点周围的点进行计算差:随机在初始点周围取两个点计算像素值的差值diff。
假设有1356张图片可训练,一次训练一个关键点的一颗树,以第一个关键点为例:
通过上述步骤,我们用1356张图片,完成了一颗树的训练。每张图片的第一个关键点周围随机取了1000个diff进行了训练,训练过程中的每个节点的th也是随机取了,经过计算比较,选择出了最合适的取点方式 ( r , θ ) (r,\theta) (r,θ)以及th值。由于是随机取的,所以这个树叫随机决策树。
怎么让随机决策树训练成为森林呢?
上述这样4个随机样本图片训练的随机树,就构成了随机森林。
把森林中,所有树的LBF拼接到一起,就构成了所有关键点的LBF。 怎么完成随机森林的训练? 重复这个过程:随机的选取图片集,在关键点周围随机的取点,训练出随机树。 再探framwork
训练阶段如下,对 s a m p l e i sample_i samplei?的第t个训练阶段,首先用 ? t ?_t ?t?提取出相应的LBF特征。然后以最小化 E 为目标得到 R t Rt Rt, 最后把上一次的估计和本次估计的Δ求和作为新阶段输出:
特征提取shape indexed features
并且我们能看到,再不断的迭代中,决策树的半径参数会逐渐缩小: 特征点生成第一层的每个若分类器
R
t
R^t
Rt,随机选取P个像素,每两个之间做差生成一个features,于是就有PP个特征,更准确来说是P(P-1)/2个特征:
随机选取的特征点并一定不可靠,实际上可采取correlation based features selection(CFS)。 特征选择CFSCFS(correlation-based feature selection) 启发式方程:
详细可参考基于特征相关性的偏最小二乘特征选择方法 CFS首先从训练集中计算特征-类和特征-特征相关矩阵,然后用最佳优先搜索(best first search)搜索特征子集空间。
最佳优先搜索如下类似于贪心算法,详细如下:
在面对高维数据的今天,特征选择成为机器学习的一个重要任务,数百或数千个特征的数据集可能包含高度不相关和冗余的信息,这可能极大地降低学习算法的性能。特征选择算法分为两大类,filter(滤波器)模型或wrapper模型(Das,2001;Kohavi&John,1997)。filter模型依赖于训练数据的一般特征来选择一些特征,而不涉及任何学习算法。wrapper模型在特征选择中需要一个预先挖掘的学习算法,并使用其性能来评估和确定选择了哪些特征。
特征工程更多方法可参考:特征工程——特征选择(Feature Selection),特征关联 Explicit Shape Regression非参数法使用了two level cascaded regression和shape indexed features两个东西。 local binary features 双层 cascaded回归 我们的人脸对齐是通过多次Shape regression迭代实现的(cascaded),由初始化到一轮迭代之后的shape,到最后贴合实际的人脸:
shape indexed features 主要参考: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 13:25:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |