Sim*_*mon 2 opencv face-recognition computer-vision
我有一个带脸的图像数据集.我还为数据集中的每个面部提供了一组66个2D点,这些点对应于我的脸部标志(鼻子,眼睛,脸部,嘴巴的形状).
所以基本上我的脸部形状与我的图像中的2D点有关.
你知道我可以使用的任何算法,它可以旋转我的形状,使脸部形状是直的吗?假设摇摄角度是30度,我希望它旋转到30度,使其在摇摄角度上定位在0度.我已经说明了我想说的话.
基本上你可以考虑我的图像的上述图形轮廓,它们用2D表示.我想旋转我的第一个形状点,使它们看起来像第二个形状.形状由一组制成66 2D points which are basically pixel coordinates
.我想要做的就是找到每个对应的对应关系,66 points
以便新的形状在平移角度上旋转一定程度.
从你的问题,我可以假设你有旋转参数(例如x,y度)或点对应(因为你有一个匹配点的数据库).因此,您需要应用或估计(并应用)2D相似变换以进行图像对齐/配准.另请参阅关于此问题的回答: 图像上的面部对齐算法
从旋转角度到新点位置:您可以定义2D旋转矩阵R
并使用它转换点坐标.
从形状A和形状B之间的点对应关系到旋转:使用3个或更多个匹配点估计2D相似性变换(图像对准).
从旋转或点对应到扭曲图像:从相似变换,使用整个图像网格的基础坐标变换来映射图像值(考虑插值或非值).
(图片由Denis Simakov提供,AAM幻灯片)
其中大部分已经在OpenCV和MATLAB中实现.另请参阅Active Shape和Active Appearance Models的背景和相关方法(Tim Cootes页面包含二进制文件和背景材料).
归档时间: |
|
查看次数: |
3439 次 |
最近记录: |