人脸对齐--Boosted Regression Active Shape Models

本文介绍了一种改进的方法——增强回归主动形变模型(Boosted Regression Active Shape Models),该方法利用训练数据集中的形状变化(shape variation)和外观变化(appearance variation)来建立模型,并应用于新图像中相似物体的检测。通过使用GentleBoost训练的增强特征,提高了局部特征检测的准确性。

Boosted Regression Active Shape Models
British Machine Vision Conference 2007

1 Introduction
这里我们描述一种方法:对一类物体进行建模,然后用该模型对新图像中同一类新物体进行模型拟合。本文讨论的物体就是人脸,当前这个方法可以用于任意类的物体,主要该类不同物体之间存在对应的特征,例如大部分医学图像和人造物体。

这个基于模型的计算机视觉方法需要一组标定的训练图像,不同图像之间有对应特征,如下图所示。有许多不同类别的模型,其中大部分模型都是解析标定区域附近或里面的 appearance variation,也解析不同样本的特征位置的形状变化 shape variation

这里写图片描述

本文使用 Active Shape Model (ASM) framework, ASM 模型用一个统计形状模型对 训练数据中的 shape variation 进行建模,每个局部特征使用一个独立的模型。 在 run-time 时 每个局部模型会迭代更新,形状模型的拟合用于去除 false positive matches。

原始的 ASM [3]文献使用 文献【15】的 local eigen patches 来建模每个特征。本文使用 GentleBoost [9] 训练的 non-linear boosted features。 我们尝试使用 boosted features 来检测局部特征,也用 boosted regression 来预测局部特征点,这样就不需要使用滑动窗口方法。boosted regression 的效果很好

2 Background
Active shape models 是一个什么样的方法了? 对一组标记的训练样本中的同类物体的 shape variation 进行建模。 形状模拟可以被拟合为一组特征检测用于去除 outliers。当然也有很多其他的形状约束方法,如 文献【7】Pictorial Structure Matching method 中的 tree structure 或文献【4】中的 softer shape model constraint。这里我们使用简单的 ASM 算法来 进行 局部特征回归和检测模型的 性能对比。

用于 ASM 的特征检测方法有很多选择,例如 normalised correlation patches【4】, Local Binary Patterns [1], mutual information [5], Boosted Haar Wavelets [17] and K-Nearest NeighbourClassifiers[16]。 原始的 ASM文献使用 local eigen models,这里我们使用 GentleBoost 训练的 discriminative haar wavelets,这种方法在人脸检测中效果很好。

基于局部搜索的特征检测还有一类方法就是 regression techniques。例如文献【2】中的 Active Appearance Model AAM algorithm, AAM 对整个物体进行建模,我们提出的方法对局部特征进行建模。

使用回归方法进行特征提取的文献有【19】,【18】,【11】 ,【14】. 我们的方法特色就是使用 GentleBoost 作为回归函数来预测每个特征当前的偏移量

3 Methodology
3.1 Active Shape Model
Active Shape Model (ASM) 是什么方法了?一个拟合物体类的一组局部特征检测器,并嵌入整体形状信息的算法。如何对形状变形进行建模了?从一组标记的训练数据中学习得到一个 linear shape model
这里写图片描述
这里有个 mean shape,每个独立的样本会和 mean shape 有一定差异,这个差异就是 shape deformation,将这个差异用一组正交基的线性组合来表示

基于一个假设:大部分特征点的检测是正确的,少量的 outlier detections,我们基于这个形状模型拟合物体的特征点,去除这些 outlier 。

3.2 Boosted Feature Detection
任何特征检测器都可以用于 ASM 框架中。这里我们选择 boosted feature detectors,我们的训练算法是 GentleBoost

这里写图片描述
GentleBoost 分类器训练流程如上所示。算法的目标是学习一个 discrimination function 区分 正负样本。正样本是特征点位于中心的图像块,负样本是特征点偏离中心的图像块,示例图如下所示
这里写图片描述

每个正样本标记为 +1,负样本标记为 -1,为了使用了GentleBoost 进行训练,我们需要选择一组函数 f(x) ,其输入是图像块,基于一组训练的权重参数 w 预测样本的类别。 本文中的 f(x) 选择 a binned histogram of responses from a haar wavelet。 这个训练算法的计算量很大, as the weak classifier functions f(x) have to be retrained at every iteration with new weights w

当然还有一些参数设置问题,这个算法得到的效果有时的比较好的。

3.3 Boosted Feature Regression
在上面的基于特征检测的方式中,模型的训练存在一个问题就是正负样本之间没有很明确的界限。上面我们采取的是一个保守的方法, only treat image patches centre on the true feature as positive examples,偏移超过5个像素可以看作负样本,那么偏移相差 1 个像素和 3 个像素的就不好界定了。

中间偏移可以不做处理,模型工作的也挺好,但是这么做有点武断了,会丢弃可能有用的信息,如每个图像块和真值的距离。一种利用这个信息的方法就是回归,真值特征位置的偏移量与 特征点局部区域的 textural appearance 存在一定的 关系,回归方法就是学习这个关系的。

这里写图片描述

这里写图片描述

3.4 Summary of Method
这里写图片描述

基于回归的方法要比基于分类的方法效果好

11

### 提升回归树集成方法简介 提升回归树(Boosted Regression Trees, BRT),也称为梯度提升决策树(Gradient Boosting Decision Trees, GBDT),是一种强大的机器学习技术,用于解决回归问题。该模型通过逐步构建多个弱预测器——通常是浅层决策树,并将这些树组合成一个强预测器来提高整体性能。 #### 工作原理 BRT的核心理念在于迭代地训练一系列基学习器,在每次迭代过程中专注于前一轮未能很好拟合的数据样本。具体来说: - **初始化**:首先设定初始预测值,通常取目标变量的平均值作为起始点。 - **残差计算**:对于每一个观测数据,计算当前模型预测值与实际观察值之间的差异,即所谓的“伪残差”。这一过程旨在识别现有模型无法解释的部分[^2]。 - **新树生长**:基于上述得到的伪残差,利用贪心算法寻找最佳分裂点并建立新的回归树。此步骤会特别关注那些之前被错误分类或估计不准的地方。 - **更新权重/参数**:调整最新加入树木的重要性系数(learning rate乘以对应叶节点分数)。这有助于控制每棵树对最终输出的影响程度,防止过拟合并促进泛化能力。 - **累加贡献**:将新增加的一棵或多棵树的结果叠加到已有模型之上,形成更精确的整体预测函数。 #### 并行优化策略 为了加速大规模数据集上的训练速度以及充分利用现代多核处理器架构的优势,研究者们提出了稀疏感知并行树学习算法。这类改进措施能够在保持原有精度的同时显著减少运算时间开销[^1]。 ```python from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor # 创建模拟数据集 X, y = make_regression(n_samples=1000, n_features=20, noise=0.1) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 初始化GBDT模型 gbdt_model = GradientBoostingRegressor() # 训练模型 gbdt_model.fit(X_train, y_train) # 预测 predictions = gbdt_model.predict(X_test) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值