• 揭秘人脸对齐之3D变换Java版(文末附开源地址)


    一、人脸对齐基本概念

          人脸对齐通过人脸关键点检测得到人脸的关键点坐标,然后根据人脸的关键点坐标调整人脸的角度,使人脸对齐,由于输入图像的尺寸是大小不一的,人脸区域大小也不相同,角度不一样,所以要通过坐标变换,对人脸图像进行归一化操作。人脸关键点检测有很多算法可以使用包括:ASM、AAM、DCNN 、TCDCN 、MTCNN 、TCNN、TCNN等,这里就不详细介绍,主要说一下得到人脸关键点之后如何进行人脸对齐,使所有人脸达到归一化效果,该过程如下图所示:

     

    二、3D空间中的变换方式

    欧氏变换:最简单的变换,它保持了向量的长度和夹角,相当于把一个刚体原封不动的移动或者旋转。

    相似变换:比欧氏变换多一个自由度,它允许对物体进行均匀的缩放。

    防射变换:又叫正交投影,经过变换后,立方体不再是方的,但是各个面仍是平行四边形。

    射影变换:最一般的变换。例如使用相机随意拍摄一个方形的地板砖,在照片中的样子,它不再是方的,由于远近不同,甚至不再是平行四边形。如果焦距无穷远,则为仿射变换。

    变换方式矩阵不变性质

    欧氏变换

    6dof

    长度
    夹角
    体积

    相似变换

    7dof

    体积比

    仿射变换

    12dof

    平行性
    体积比

    射影变换

    15dof

    接触平面的相交和相切

    三、对齐在图像领域的应用

    (1)、人脸器官定位、器官跟踪。通过人脸对齐,我们能够定位到人脸的每个部件,提取相应的部件特征。

    (2)、表情识别。通过人脸对齐后,我们能够利用对齐后的人脸形状分析人脸的表情状态。

    (3)、人脸漫画/素描图像生成。通过人脸对齐后,我们能够进行人脸漫画和素描生成。

    (4)、虚拟现实和增强现实。通过人脸对齐后,我们能够做出很多好玩的应用

    (5)、人脸老化、年轻化、年龄推断。特征融合/图像增强。通过人脸对齐后,我们能够有效提取人脸特征,并分析人脸年龄、人脸老化等。

    (6)、3D卡通。通过人脸对齐能够进行3D卡通模拟。

    (7)、人脸识别、人脸比对等相关领域

    四、人脸对齐在开源人脸识别中的应用

    该项目是阿里云视觉智能开放平台的人脸1:N的开源替代,项目中使用的模型均为开源模型,项目支持milvus和proxima向量存储库,并具有较高的自定义能力。其次项目使用纯Java开发,免去使用Python带来的服务不稳定性,支持docker一键部署、支持Java客户端,restful接口等。

    项目的gitee地址:https://gitee.com/open-visual/face-search

    对齐工具:

    https://gitee.com/open-visual/face-search/blob/master/face-search-core/src/main/java/com/visual/face/search/core/utils/AlignUtil.java

  • 相关阅读:
    FileUpload组件
    国际化
    dbutils
    BeanUtils
    c3p0连接池]
    JDBC代码模板
    JDBC基础与连接sql2012
    JSP以及JSP解析原理
    Tomcat使用,部署
    JAVA---反射
  • 原文地址:https://www.cnblogs.com/divenswu/p/15747928.html
Copyright © 2020-2023  润新知