gpt4 book ai didi

opencv - 用于人脸识别的姿势校正

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:02 25 4
gpt4 key购买 nike

我有一个包含人脸图像的数据集。我还为数据集中的每张脸设置了一组 66 个 2D 点,这些点对应于我的脸部特征( Nose 、眼睛、脸部形状、嘴巴)。

所以基本上我根据图像中的 2D 点得到了我的脸的形状。

你知道我可以使用什么算法来旋转我的形状以使脸型是直的吗?假设平移角度为 30 度,我希望将其旋转 30 度,使其位于平移角度的 0 度处。我已经在下面说明了我想说的话。

enter image description here

enter image description here

基本上,您可以考虑我的图像的上面图示的形状轮廓,它们以 2D 表示。我想旋转我的第一个形状点,使它们看起来像第二个形状。形状由一组 66 个基本上是像素坐标的 2D 点组成。我想要做的就是找到每个 66 个点 的对应关系,以便新形状在平移角度上旋转一定角度。

最佳答案

根据你的问题,我可以假设你有旋转参数(例如 x,y 的度数)或点对应(因为你有匹配点的数据库)。因此,您需要应用或估计(并应用)2D 相似性变换以进行图像对齐/配准。另请参阅对此问题的回复:face alignment algorithm on images

从旋转角度到新的点位置:您可以定义一个二维旋转矩阵R 并用它转换您的点坐标。

从形状 A 和形状 B 之间的点对应到旋转:使用 3 个或更多匹配点估计 2D 相似变换(图像对齐)。

从旋转或点对应到扭曲图像:从相似性变换,使用整个图像网格的基础坐标变换映射图像值(考虑插值或非值)。

point-constrained image warping(图片由 Denis Simakov 提供,AAM Slides)

其中大部分已经在 OpenCV 和 MATLAB 中实现。另请参阅 Active Shape 和 Active Appearance Models 的背景和相关方法(Tim Cootes 页面包括二进制文件和背景 Material )。

关于opencv - 用于人脸识别的姿势校正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com