我正在为大学项目寻找一个免费的人脸识别库.我不是在寻找面部检测.我正在寻找实际的认可.这意味着查找包含指定面或库的图像,以计算特定面之间的距离.
我目前正在使用OpenCV来检测面部,并使用粗略的Eigenface算法进行识别.但我认为应该有一些比自编的Eigenface算法更好的性能.我不是在谈论速度和性能,我正在寻找一个比简单的Eigenface方法更好的结果库.
我看了一下Faint,但看起来这个库对我自己的应用程序来说不是很可重用.
我很高兴使用Python,Java,C++,C等类似的库.最好的办法是,如果它可以在Windows机器上运行,因为我现在依赖于一些外部的Windows专用代码.
使用Java Android,我试图找到一种用相机给定图片识别脸部的方法.
有任何想法吗?有没有人有任何API建议?
我想知道是否有人知道如何使用JavaScript识别面部.我听说过OpenCV和亲戚,但我想在客户端(网络应用程序)处理面部识别.
有任何想法吗?
我目前正在开发一款实验相机应用程序.我正在考虑实施面部检测,目前我正在权衡我的选择.
我已经考虑过可用于Android的OpenCV端口并使用他们的面部检测功能,但是从我以前的实现中看到的演示,相机似乎滞后了很多.
考虑到HTC Desire上的摄像头具有面部检测支持,我知道必须能够至少获得一个半体面的人脸检测系统.我只是想知道是否有人对如何获得最佳结果有意见...使用可用的库?自己实现一个特定的算法?
我有一个非常大的照片库,里面有成千上万的相似的人物,物品,地点,东西.照片中的大多数人都有自己的用户帐户和头像照片来匹配.根据每张照片可用的附加数据,还有可能在照片中的人的逻辑短列表.我允许用户使用他们的朋友和他们认识的人标记照片,但自动化过程会更好.
我使用了face.com上的照片标记器/取景器与Facebook照片集成,而用于个人相册的Google Picasa照片标记器也做同样的事情,正是我想要做的.
是否有PHP脚本,用于Google Picasa的API,face.com或其他识别服务或任何其他开源项目,提供服务器端面部识别和/或按照相似性对照片进行分组?
示例:正如您所看到的,各种照片共享站点都提供了该功能,但有没有为我自己的服务器上存储的图像提供API或者足以链接到我自己的图库和标记系统的东西?
我正在开发一个用于人脸识别的Android应用程序,使用JavaCV,它是OpenCV的非官方包装器.导入后com.googlecode.javacv.cpp.opencv_contrib.FaceRecognizer
,我应用并测试以下已知方法:
在我识别出检测到的脸部之前,我会校正旋转的脸部并裁剪出适当的区域,从而激发了这种方法
一般情况下,当我传递相机时,数据库中已存在一个面,识别就可以了.但这并不总是正确的.有时它很有可能识别未知面部(在训练样本的数据库中找不到).当我们在DB中有两个或更多相似特征的面孔(胡须,小胡子,眼镜......)时,这些面孔之间的识别可能会非常错误!
要使用测试面部图像预测结果,我应用以下代码:
public String predict(Mat m) {
int n[] = new int[1];
double p[] = new double[1];
IplImage ipl = MatToIplImage(m,WIDTH, HEIGHT);
faceRecognizer.predict(ipl, n, p);
if (n[0]!=-1)
mProb=(int)p[0];
else
mProb=-1;
if (n[0] != -1)
return labelsFile.get(n[0]);
else
return "Unkown";
}
Run Code Online (Sandbox Code Playgroud)
我无法控制概率p的阈值,因为:
同样,我不明白为什么在使用LBPH时,为什么predict()函数有时会出现大于100的概率?在Fisher和Eigen的情况下,它给出了非常大的值(> 2000)?? 有人可以帮助找到这些奇怪问题的解决方案吗?是否有任何建议可以提高认可的稳健性?特别是在两个不同面孔相似的情况下.
以下是使用Facerecognizer的整个类:
package org.opencv.javacv.facerecognition;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_contrib.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FilenameFilter; …
Run Code Online (Sandbox Code Playgroud) 关于camera2人脸识别机制的信息不足.我使用了Google的Camera2示例: android-Camera2Basic
我将人脸识别模式设置为FULL.
mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE,
CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
Run Code Online (Sandbox Code Playgroud)
我也查了一下
STATISTICS_INFO_MAX_FACE_COUNT
并且STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES
:
int max_count = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT);
int modes [] = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES);
Run Code Online (Sandbox Code Playgroud)
输出:maxCount:5,模式:[0,2]
我的CaptureCallback:
private CameraCaptureSession.CaptureCallback mCaptureCallback
= new CameraCaptureSession.CaptureCallback() {
private void process(CaptureResult result) {
Integer mode = result.get(CaptureResult.STATISTICS_FACE_DETECT_MODE);
Face [] faces = result.get(CaptureResult.STATISTICS_FACES);
if(faces != null && mode != null)
Log.e("tag", "faces : " + faces.length + " , mode : " + mode );
}
@Override
public void onCaptureProgressed(CameraCaptureSession session, CaptureRequest request,
CaptureResult partialResult) {
process(partialResult); …
Run Code Online (Sandbox Code Playgroud) face-recognition ×10
android ×4
java ×2
opencv ×2
camera ×1
ios ×1
javacv ×1
javascript ×1
objective-c ×1
php ×1
swift ×1
tagging ×1
xcode ×1