如何使用 Ruby 检测人脸?

Posted

技术标签:

【中文标题】如何使用 Ruby 检测人脸?【英文标题】:How can I detect faces using Ruby? 【发布时间】:2010-11-26 20:25:23 【问题描述】:

谁能告诉我如何使用 Ruby 或 javascript 检测静态图片中的人脸?

【问题讨论】:

哇!我认为我是唯一一个达到不可能目标的人。 :-) 即使没有 Ruby,我也能检测到人脸。 简单的解决方案:你没有。复杂的解决方案:使用现有的东西。 (接近)不可能的解决方案:自己写一些东西。如果你没有更好的事情可做。 您已向 palani 提出了 18 个问题,但尚未接受任何答案。如果答案解决了您的问题,请单击答案左侧的勾号接受。 【参考方案1】:

如果您要尝试从头开始编写一些东西,卡内基梅隆网站上有 a great explanation of the process - 图形也很简洁。

但是,您最好的选择可能是尝试加入Opensource Computer Vision 项目。这是good tutorial on using OpenCV for facial recognition。

【讨论】:

【参考方案2】:

由于这个有趣问题的其他答案现在大多已经过时,这里是 2012 年的解决方案:

使用 jQuery 和 jquery.objectdetect:

$("#faces").objectdetect("all", classifier: objectdetect.frontalface, function(coords) 
    // Do something with the face coordinates
);

使用 jQuery 和 jquery.facedetection:

var coords = $("#faces").faceDetection();
// Do something with the face coordinates

不使用 jQuery:这两个插件都基于完全不依赖 jQuery 的独立库。


回复@joeforker,他说

"如果你真的不明白 JQuery 可以检测到的概念 面孔是个笑话,你需要学习很多才能准备好 检测人脸。”

或者你只需​​要等待一两年;)

【讨论】:

令人难以置信的进步!谁会相信仅使用 javascript 就可以在实时视频源中实现?【参考方案3】:

看来您是编程新手。也许你有高等数学学位?如果您真的不明白 JQuery 可以检测人脸的概念是一个笑话,那么您需要学习很多知识才能准备好检测人脸。如果幸运的话,您可以找到一个简单的开箱即用解决方案。不幸的是,人脸识别属于这类问题,往往缺乏简单的开箱即用解决方案。 JavaScript 即将推出。

http://rubyforge.org/projects/opencv/ 是一个与 OpenCV 的 Ruby 绑定。 http://doc.blueruby.mydns.jp/opencv/ 的可怜的文档(仅自动生成的 API 文档)提到了可能有用的 face_detect.rb。与大多数绑定一样,您还应该查阅原始库的文档,例如http://opencv.willowgarage.com/wiki/FaceDetection

您还应该了解,人脸检测(这张照片中的人脸在哪里?)与人脸识别(是谁的脸)是一个不同且更容易的问题。

【讨论】:

看看没毛病...如果有什么不知道的,坦白告诉我不知道这个... 我很佩服你的热情,我只是想警告你,人脸识别是一个难题。【参考方案4】:

我不知道这个问题是否得到了正确的回答或者你是如何解决的,但我最近自己也遇到了这个问题。我目前正在调查外部 API 以实现我的解决方案。我目前比较的两个 Ruby API 是 rdetection 和 Face.com 的 API

我主要将它用于使用 ImageMagick 进行面部感知图像裁剪,因此您的需求和结果可能会有所不同。

【讨论】:

是的,我最近看到了 face.com 的 gem,在这篇文章中有一些解释:hemju.com/2011/03/14/face-recognition-with-ruby 不过我还没有玩太多 gem,所以我不能提供任何额外的帮助。 太棒了,自从我第一次提出这个想法以来,我还没有机会玩它。谢谢!【参考方案5】:

可靠地检测人脸是计算机科学中的难题之一。实际上,使用 Ruby、JavaScript 或任何其他使用当前技术的应用程序语言没有实用的方法让您做到这一点。如果您告诉我们为什么需要检测人脸,那么我们或许可以建议一种实用的替代方法。

【讨论】:

【参考方案6】:

收集大量现金并联系these guys寻求好的解决方案!

Wikipedia 有一篇关于这个的好文章,它也解释了为什么你要尝试做一些仍然非常复杂的事情。

FRGC 也很有趣...如果您确实找到了解决方案,您可以参加这个挑战。

【讨论】:

【参考方案7】:

这是一个使用 Javascript 和使用 Mashape 的人脸识别 API 的人脸识别教程 - http://blog.mashape.com/post/45712257463/face-recognition-using-javascript-and-mashape

它还可以让你检测这个人是否在微笑:)

【讨论】:

【参考方案8】:

Javascript 神经网络已经 used for OCR 所以如果对人脸更难的话应该是可能的。

【讨论】:

【参考方案9】:

人脸检测是使用基于密集内存的算法完成的,该算法实际上是通过图像数据来检测类似人脸的图案。它们可能是许多免费(或收费)可用的面部识别/模式识别算法和 APIS,您可以使用/实现 Ruby 或 Javascript。

【讨论】:

我对 javascript 没有任何意见,但将其用于面部识别就像是在钉钉子。 JQuery 更好。 $('image.png').getFaces(); @Welbog:哦!当然,但我认为你有一个错误。不应该是$('#faces img').getFaces();吗? 哦,好的。可以请解释更多...因为我是 ROR 和 Jquery 的新手。 @palani:开个玩笑。 @voyager:看,伙计。我从未使用过 JQuery。我不太了解它的语法。【参考方案10】:

我知道这是一个老问题,但如果有人像我一样遇到过这个问题,请查看:blog post、test page 和 Github。

【讨论】:

【参考方案11】:

这应该可以帮助您入门。这是关于通过 FFI 将 OpenCV 与 Ruby 一起使用:http://rubysource.com/detecting-faces-with-ruby-ffi-in-a-nutshell/

【讨论】:

【参考方案12】:

经过一些研究和来自这个帖子的帮助,我决定制作一个 ruby​​gem,可以在这里找到: https://github.com/dennisdevulder/rekognize

这使用了来自 rekognition.com 的人脸识别 API。

【讨论】:

这个很有帮助 链接已失效...

以上是关于如何使用 Ruby 检测人脸?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Rails 5 上的 ruby​​ 中添加人脸识别?

如何使用opencv从相机的所有位置检测带有android的人脸?

如何使用 Java 改进 OpenCV 中的人脸检测

如何使用 DeepFace.detectFace() 实际检测图像中的多个人脸?

如何使用opencv自带工具训练人脸检测分类器

如何使用 WPF 检测图像中的人脸?