任何人都可以建议我使用 Java 中的开源人脸识别框架吗?
3 回答
您可以尝试一些开源的人脸识别 Java 系统,但不要抱太大希望,因为我正在寻找相同的东西,但我仍在寻找更好的选择!
请注意,在图像中找到任何人脸称为“人脸检测”,跟踪任何人脸称为“人脸跟踪”,确定检测到的人脸的身份称为“人脸识别”。我告诉你这个是因为你可能必须使用不同的软件和算法来做每一个!Paul 的回答告诉你 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”告诉我祝您好运!舍文·艾美
准确的人脸识别是一项可以分为几个步骤的任务:
- 人脸检测
- 面部标志点发现
- 使用地标进行旋转、裁剪、对齐和缩放
- 面部描述符点发现(这些不是人类可读的)
- 与已知人脸进行比较以找到最接近的匹配
这可以通过几个库来完成,但需要OpenCV 和 Caffe 的bytedeco包装器以及用于矩阵比较的库(如 ND4j)。
OpenCV具有用于人脸检测的 HAAR 级联,并且可以使用 flandmark 进行人脸点识别。这将允许您执行步骤 1-3。
面部描述符发现可以使用Caffe的 bytedeco 包装器和 VGG 面部描述符库 ( http://www.robots.ox.ac.uk/~vgg/software/vgg_face/ )
最后,Nd4j可用于比较图像。如果您有足够多的按个人分类的图像,也许您可以使用库中的神经网络进行分类。