实施面部特征检测

时间:2017-03-06 07:09:36

标签: java algorithm pseudocode feature-extraction feature-detection

我想知道'功能检测和提取'一步一步地工作。我参考这个期刊,你可以在这里下载: http:// dynamics.org/~altenber/UH_ICS/EC_REFS/GP_REFS/CEC/2002/GP_WCCI_2002/7074.PDF

例如将RGB转换为灰度,我们知道它可以通过操纵像素值来完成。举个例子: Pixel of Image

假设像素具有RGB值,因此我们需要使用公式来操纵该值:=(++)/ 3

但在我的情况下(基于该期刊的面部特征检测: 使用此模式检测面部特征 Pattern for facial feature detection

首先找到左眼区域,然后是右眼区域,嘴区域, 之后,鼻子假定在眼睛和嘴巴之间。我不知道我的程序是如何知道它是眼睛的区域,嘴巴和鼻子。

你能帮我解释一下或把我推荐到某个地方吗?

谢谢。

ps:我想使用和声搜索算法

来实现该期刊

1 个答案:

答案 0 :(得分:0)

人脸检测主题非常广泛,问题非常复杂,但我会尝试描述它。

在数字图像处理中,您必须将图像视为二维像素阵列。如果继续RGB图像,则每个像素包含3个值(来自r,g,b通道)。

对于简单的解决方案,您可以假设面部始终具有相同的大小(但只是将其视为开发的第一步或原型)。在该步骤之后考虑多个尺度的检测。

您必须选择帧大小进行人脸识别并计算每个帧内的一些特征(如果在这种情况下形状为椭圆形),并对其是否为面进行分类。然后你必须设置你的眼睛,嘴唇和鼻子区域并进行反复)。你必须做出几个假设(如框架大小,区域位置),你必须考虑(或做一些研究)。没有一种方法可以做到这一点。

我在面部检测上做了paper(在fpga硬件中,但是有一些参考其他论文,并且算法描述得相当不错)。您可以检查它以获得面部检测和图像处理的一般概念。

如果您不想自己编写,也有一些已经实现的方法(例如在openCV中)。

设定区域应基于您的假设。例如。你有框架的脸,所以你知道鼻子将或多或少在框架的中心,并将采取例如。 10x20像素。比右(左)眼将位于鼻子的右侧(左侧),稍微高一点并且将具有25x20像素。嘴巴将超过鼻子30x15像素20像素。

设定假设后,你应该对它进行测试,可能会稍微改变一下或添加更多参数来找到边缘数,边角等区域。你可以找到一些形状,例如。为了眼睛。

您知道灰度图像上的鼻孔会很暗。使用此信息。你知道嘴唇在鼻子下面,比鼻子宽。使用它。

这就是你必须根据一些可能是你的测试图像集的图像进行研究的内容。此集代表目标图像。

我认为没有人会告诉你如何写它,因为有很多变量。您必须自己完成,因为您知道应用的使用位置。你知道应用程序将会工作的条件。许多事情会影响算法的性能,例如。闪电条件,相机面对角度。

做研究。