图像处理手部特征识别

时间:2011-10-06 23:02:47

标签: image-processing opencv skin

我正在研究一个问题(在C ++ / opencv中),其中4个用户需要使用从肤色和优势特征中提取的身份信息来相互区分。然而,肤色方法(在YCrCb中)具有非常低的可靠性,因为肤色之间没有太大差异。因此,我试图从手中提取更多的特征,如较暗的斑点等。为此,我计算了图像的拉普拉斯。结果:

http://imageshack.us/photo/my-images/818/afb1.jpg/
http://imageshack.us/photo/my-images/31/afb2i.jpg/
http://imageshack.us/photo/my-images/638/afb3.jpg/

前两张图片来自同一只手/人。第二张图片是另一个人的手。正如您所看到的,在第一个图像中可以看到清晰的亮点,这两个图像代表手的较暗点。我的想法是在小方块中对手工进行采样,并在其他图像中找到这些方块。之后,我们可以评估哪个图像对于给定图像具有最高和最高匹配。

但是,我找不到一种算法来查找样本图像和另一个图像之间的匹配。我尝试了cvMatchTemplate()操作(http://dasl.mem.drexel.edu/~noahKuntz/openCVTut6.html#Step%202)和meanShift算法,但两种技术的结果都非常糟糕。

有人可以给我一些提示吗?

1 个答案:

答案 0 :(得分:0)

这是一个棘手的问题,因为手是如此灵活的物体。如果你先解决手势估计问题,你可能会有一些运气。 这是一篇很好的论文,可以帮助您掌握研究空间:

Vision-based hand pose estimation: a review

OpenCV实施的视频示例:

http://www.youtube.com/watch?v=uETHJQhK144

一旦你估计了手部姿势,你就有了隔离和比较每只手的相同区域的基础(例如指关节和手腕之间的区域)。然后,您可以开始应用通用图像匹配技术。应用Eigenfaces示例(在您的情况下为“Eigenhands”)可能是您最好的选择。 Eigenfaces在初级计算机视觉课程中讲授,在线提供大量信息。