Java中的人脸识别

任何人都可以建议我用Java开源面部识别框架吗?

您可以尝试一些开源的Face Recognition Java系统,但不要期望太多,因为我正在寻找相同的东西,但我仍然在寻找更好的选择!

注意,在图像中找到任何面部被称为“面部检测”,在任何面部被称为“面部跟踪”之后,并且确定检测到的面部的身份被称为“面部识别”。 我告诉你这个,因为你可能不得不使用不同的软件和算法来做每一个! 保罗的回答告诉你,OpenCV可以轻松地进行人脸检测(Haar Cascade Detector),但不能轻易进行人脸识别(实际上它确实有一种方法可以进行特征脸识别),这听起来你需要人脸识别,所以OpenCV不是因为你使用Java,所以一定是你最好的选择。

您可以尝试使用Java进行面部检测和面部识别的FAINT,但它几乎没有记录。 还有“ http://darnok.org/programming/face-recognition/ ”,但我似乎无法从中获得好的结果。 还有用于面部识别的“ http://uni.johnsto.co.uk/faces/ ”和用于面部识别/检测的“Neuroph”。

如果你找到了一个好的解决方案,请告诉我“draw3d@shervinemami.co.cc”祝你好运! Shervin Emami

查看OpenCV 。 Viola&Jones已经实施了一个记录良好且备受赞誉的人脸检测技术,称为Haar级联。

这里有一个完整的教程 – 从培训到实验。 请注意,您实际上不需要进行培训; OpenCV捆绑了几个function级联,包括一些用于人脸检测。

准确的人脸识别是一项可以分为几个步骤的任务:

  1. 人脸检测
  2. 面部地标点发现
  3. 使用您的地标进行旋转,裁剪,对齐和缩放
  4. 面部描述符点发现(这些不是人类可读的)
  5. 与已知面部进行比较以找到最接近的匹配

这可以通过几个库来完成,但是需要用于OpenCV和Caffe的bytedeco包装器以及用于矩阵比较的ND4j等库。

OpenCV具有用于面部检测的HAAR级联,并且可以使用flandmark进行面部点识别。 这将允许您执行步骤1-3。

可以使用Caffe和VGG Face Descriptor库的bytedeco包装器完成面部描述符发现( http://www.robots.ox.ac.uk/~vgg/software/vgg_face/

最后, Nd4j可用于比较图像。 如果您有足够的图像按个人分类,也许您可​​以使用库中的神经网络进行分类。