揭秘人脸对齐之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
揭秘人脸对齐之3D变换-Java版(文末赋开源地址)的更多相关文章
- 人脸识别中的重要环节-对齐之3D变换-Java版(文末附开源地址)
一.人脸对齐基本概念 人脸对齐通过人脸关键点检测得到人脸的关键点坐标,然后根据人脸的关键点坐标调整人脸的角度,使人脸对齐,由于输入图像的尺寸是大小不一的,人脸区域大小也不相同,角度不一样,所以要通过坐 ...
- 阿里云视觉智能开放平台的人脸1:N搜索的开源替代-Java版(文末赋开源地址)
一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...
- 阿里云人脸1:N搜索开源版-Java版(文末附开源地址)
一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...
- Java版 人脸识别SDK demo
虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! 前言 由于业务需求,最近跟人脸识别杠上了,本以为虹软提供的SDK是那种面向开发语言的,结果是一堆dll· ...
- Java版 人脸识别SDK dem
虹软人脸识别SDK之Java版,支持SDK 1.1+,以及2.0版本,滴滴,抓紧上车! 前言由于业务需求,最近跟人脸识别杠上了,本以为虹软提供的SDK是那种面向开发语言的,结果是一堆dll······ ...
- 三分钟极速体验:Java版人脸检测
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Java版人脸检测详解下篇:编码
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 人脸搜索项目开源了:人脸识别(M:N)-Java版
一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...
随机推荐
- nit是虱子的卵
如题.[牛津] (egg of a) louse or other parasitic insect 虱或其他寄生虫(的卵). 忘了在那个帖子里说nit: 虱子了. 为了凑字数,迄今为止六级/考研单词 ...
- React 16.13.1触发两次render
一段很普通的代码,出发了两次render import React, { useState, useEffect } from 'react' const MouseTracker: React.FC ...
- 从源码看RequestMappingHandlerMapping的注册与发现
1.问题的产生 日常开发中,大多数的API层中@Controller注解和@RequestMapping注解都会被使用在其中,但是为什么标注了@Controller和@RequestMapping注解 ...
- linux 常用清空文件方法
1.vim 编辑器 vim /tmp/file :1,$d 或 :%d 2.cat 命令 cat /dev/null > /tmp/file
- Linux磁盘与文件系统原理
这一章主要是原理性的,介绍了Linux文件系统的运作原理.涉及到很多计算机组成和操作系统的原理性知识,这部分知识很多都忘了,在这里复习下. 我们只看本章第1,2节.--------------- ...
- excel数据导入mySql数据库
1.将excel数据保存好 2.打开数据库,在表上点击右键,选择导入向导 3.点击下图中红色部门,点击下一步 4.选择excel文件的位置,下方的表空间内,会出现excel中的sheet页,选择要导入 ...
- C++内存管理:简易内存池的实现
什么是内存池? 在上一篇 C++内存管理:new / delete 和 cookie中谈到,频繁的调用 malloc 会影响运行效率以及产生额外的 cookie, 而内存池的思想是预先申请一大块内存, ...
- 如何查看Python的版本号
一.如何查看Python的版本号 win+r输入cmd在输入:python --version回车即可
- mobile app 与server通信的四种方式
Have you ever wondered how the information gets into the application installed in your mobile device ...
- Excel里的格式会自动变成日期或会计专用吗?(Excel技巧集团)
Excel里的格式会自动变成日期或会计专用? 正常情况下当然不会了,可是最近却有很多很多同学问这样的问题,并把这个问题列成了Excel2007和2010的一个Bug,可是小妖同学却从来没遇到过这样的问 ...