zoukankan      html  css  js  c++  java
  • Dlib库landmark算法解析(ERT 集成回归树)

     landmark是一种人脸部特征点提取的技术,Dlib库中为人脸68点标记,在《调用Dlib库进行人脸关键点标记》一文中有效果和标定点序号的示意图。今后可采用landmark中的点提取眼睛区域、嘴巴区域用于疲劳检测,提取鼻子等部分可用于3D姿态估计。

          Dlib库使用《One Millisecond Face Alignment with an Ensemble of Regression Trees》CVPR2014中提及的算法:ERT(ensemble of regression trees)级联回归,即基于梯度提高学习的回归树方法。该算法使用级联回归因子,首先需要使用一系列标定好的人脸图片作为训练集,然后会生成一个模型

          the shape_predictor_trainer object to train a shape_predictor using a set of training images, each annotated with shapes you want to predict. To do this, the shape_predictor_trainer uses the state-of-the-art method.

          使用基于特征选择的相关性方法把目标输出ri投影到一个随机方向w上,并且选择一对特征(u,v),使得Ii(u’)-Ii(v’)与被投影的目标wTri在训练数据上拥有最高的样本相关性。

          当获得一张图片后,算法会生成一个initial shape就是首先估计一个大致的特征点位置,然后采用gradient boosting算法减小initial shape 和 ground truth 的平方误差总和。用最小二乘法来最小化误差,得到每一级的级联回归因子。核心公式如下图所示:


    算法核心公式
          我们使用梯度提高学习的回归树训练每个rt,使用最小二乘法最小化误差。t表示级联序号,rt(∙,∙)表示当前级的回归器regressor。回归器的输入参数为图像I和上一级回归器更新后的shape,采用的特征可以是灰度值或者其它。每个回归器由很多棵树(tree)组成,每棵树参数是根据current shape和ground truth的坐标差和随机挑选的像素对训练得到的。

            与LBF不同,ERT是在学习Tree的过程中,直接将shape的更新值ΔS存入叶子结点leaf node.初始位置S在通过所有学习到的Tree后,meanshape加上所有经过的叶子结点的ΔS,即可得到最终的人脸关键点位置。总体流程如下图所示:


    回归过程,最小化误差
    附:人脸特征提取算法比较(ASM、CLM、ERT等 )请参考如下博客:

    http://blog.csdn.net/u013803245/article/details/51263808
    ————————————————
    版权声明:本文为CSDN博主「zzyy0929」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zzyy0929/article/details/78323256

  • 相关阅读:
    上下左右固定特效
    JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
    JAVA与数据库开发(JDBC-ODBC、SQL Server、MySQL)
    JAVA与网络开发(TCP:Socket、ServerSocket;UDP:DatagramSocket、DatagramPacket;多线程的C/S通讯、RMI开发概述)
    JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
    JAVA中的异常(异常处理流程、异常处理的缺陷)
    最大子段和
    最长【递增】子序列:注意没有公共,即只有一个序列。
    最长公共子序列LCS
    解编辑距离问题
  • 原文地址:https://www.cnblogs.com/Ph-one/p/12752158.html
Copyright © 2011-2022 走看看