实现面部特征检测
Implement Facial Feature Detection
我想知道 'feature detection and extraction' 是如何一步一步运作的。我指的是这个期刊,你可以在这里下载:
http://dynamics.org/~altenber/UH_ICS/EC_REFS/GP_REFS/CEC/2002/GP_WCCI_2002/7074.PDF
比如RGB转Grayscale,我们知道可以简单的通过操作像素值来完成。举个例子:
Pixel of Image
假设像素具有 RGB 值,因此我们需要使用公式操作该值:= (++)/3
但就我而言(基于该期刊的面部特征检测:
使用此模式进行面部特征检测
Pattern for facial feature detection
首先,找到左眼区域,然后是右眼区域,嘴巴区域,
之后,鼻子位于眼睛和嘴巴之间。我不知道我的程序怎么知道是眼睛区域、嘴巴和鼻子。
你能帮我解释一下或者给我介绍一下吗?
谢谢。
ps:我想使用 Harmony 搜索算法
来实现该期刊
人脸检测的话题很广泛,问题也很复杂,但我会尽量用几句话来描述它。
在数字图像处理中,您必须将图像视为二维像素阵列。如果处理 RGB 图像,每个像素包含 3 个值(来自 r、g、b 通道)。
对于简单的解决方案,您可以假设面的大小始终相同(但将其视为开发或原型的第一步)。在那一步之后考虑多尺度检测。
你必须选择人脸识别的帧大小并计算每个帧内的一些特征(如果在这种情况下形状是椭圆形)并分类是否是人脸。然后你必须设置你的眼睛、嘴唇和鼻子区域并取回它)。你必须做出几个假设(如帧大小、区域位置),你必须考虑(或做一些研究)。没有只有一种方法可以做到这一点。
我做了一个paper人脸检测(在fpga硬件上,但有一些参考其他论文,算法描述得很好)。您可以检查它以获得人脸检测和图像处理的一般概念。
如果您不想自己编写,也有一些已经实现的方法(例如在 openCV 中)。
设置区域应基于您的假设。例如。你有带脸的框架,所以你知道鼻子或多或少会在框架的中心并且会采取例如。 10x20 像素。比右(左)眼位于鼻子的右(左)高一点,像素为 25x20。嘴巴将是 30x15 像素,比鼻子高出 20 像素。
设置假设后,您应该对其进行测试,并且可能会稍微更改或添加更多参数来查找区域,例如边数、角数。你可以找到一些形状,例如。对于眼睛。
你知道鼻孔在灰度图像上会变暗。使用此信息。你知道嘴唇在鼻子下面,比鼻子宽。用那个。
这就是你必须根据一些将成为你的测试图像集的图像进行研究的内容。该集合表示目标图像。
我想没有人会告诉你具体怎么写,因为变数很多。你必须自己做,因为你知道你的应用程序将在哪里使用。您知道 该应用程序将运行的条件。许多事情都会影响算法的性能,例如。闪电条件,相机面对角度。
做研究。
我想知道 'feature detection and extraction' 是如何一步一步运作的。我指的是这个期刊,你可以在这里下载: http://dynamics.org/~altenber/UH_ICS/EC_REFS/GP_REFS/CEC/2002/GP_WCCI_2002/7074.PDF
比如RGB转Grayscale,我们知道可以简单的通过操作像素值来完成。举个例子: Pixel of Image
假设像素具有 RGB 值,因此我们需要使用公式操作该值:= (++)/3
但就我而言(基于该期刊的面部特征检测: 使用此模式进行面部特征检测 Pattern for facial feature detection
首先,找到左眼区域,然后是右眼区域,嘴巴区域, 之后,鼻子位于眼睛和嘴巴之间。我不知道我的程序怎么知道是眼睛区域、嘴巴和鼻子。
你能帮我解释一下或者给我介绍一下吗?
谢谢。
ps:我想使用 Harmony 搜索算法
来实现该期刊人脸检测的话题很广泛,问题也很复杂,但我会尽量用几句话来描述它。
在数字图像处理中,您必须将图像视为二维像素阵列。如果处理 RGB 图像,每个像素包含 3 个值(来自 r、g、b 通道)。
对于简单的解决方案,您可以假设面的大小始终相同(但将其视为开发或原型的第一步)。在那一步之后考虑多尺度检测。
你必须选择人脸识别的帧大小并计算每个帧内的一些特征(如果在这种情况下形状是椭圆形)并分类是否是人脸。然后你必须设置你的眼睛、嘴唇和鼻子区域并取回它)。你必须做出几个假设(如帧大小、区域位置),你必须考虑(或做一些研究)。没有只有一种方法可以做到这一点。
我做了一个paper人脸检测(在fpga硬件上,但有一些参考其他论文,算法描述得很好)。您可以检查它以获得人脸检测和图像处理的一般概念。
如果您不想自己编写,也有一些已经实现的方法(例如在 openCV 中)。
设置区域应基于您的假设。例如。你有带脸的框架,所以你知道鼻子或多或少会在框架的中心并且会采取例如。 10x20 像素。比右(左)眼位于鼻子的右(左)高一点,像素为 25x20。嘴巴将是 30x15 像素,比鼻子高出 20 像素。
设置假设后,您应该对其进行测试,并且可能会稍微更改或添加更多参数来查找区域,例如边数、角数。你可以找到一些形状,例如。对于眼睛。
你知道鼻孔在灰度图像上会变暗。使用此信息。你知道嘴唇在鼻子下面,比鼻子宽。用那个。
这就是你必须根据一些将成为你的测试图像集的图像进行研究的内容。该集合表示目标图像。
我想没有人会告诉你具体怎么写,因为变数很多。你必须自己做,因为你知道你的应用程序将在哪里使用。您知道 该应用程序将运行的条件。许多事情都会影响算法的性能,例如。闪电条件,相机面对角度。
做研究。