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级联,包括一些用于人脸检测。
准确的人脸识别是一项可以分为几个步骤的任务:
- 人脸检测
- 面部地标点发现
- 使用您的地标进行旋转,裁剪,对齐和缩放
- 面部描述符点发现(这些不是人类可读的)
- 与已知面部进行比较以找到最接近的匹配
这可以通过几个库来完成,但是需要用于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可用于比较图像。 如果您有足够的图像按个人分类,也许您可以使用库中的神经网络进行分类。