标签: face-detection

Viola-Jones的脸部检测声称拥有180k功能

我一直在实施Viola-Jones的人脸检测算法.该技术依赖于在图像内放置24×24像素的子帧,并且随后在每个位置中将矩形特征放置在每个位置中,并且每种尺寸都可能.

这些特征可以包括两个,三个或四个矩形.提供以下示例.

矩形功能

他们声称详尽的集合超过180k(第2部分):

鉴于探测器的基本分辨率为24x24,详尽的矩形特征集非常大,超过180,000.请注意,与Haar基础不同,矩形特征集是过度完整的.

本文未明确说明以下陈述,因此它们是我的假设:

  1. 只有2个双矩形特征,2个三矩形特征和1个四矩形特征.这背后的逻辑是我们正在观察突出显示的矩形之间的差异,而不是明确的颜色或亮度或那种类型的任何东西.
  2. 我们不能将特征类型A定义为1x1像素块; 它必须至少至少1x2像素.此外,类型D必须至少为2x2像素,并且此规则相应地适用于其他功能.
  3. 我们不能将特征类型A定义为1×3像素块,因为中间像素不能被分割,并且从其自身减去它与1×2像素块相同; 此要素类型仅针对偶数宽度定义.此外,要素类型C的宽度必须可以被3整除,并且此规则相应地适用于其他要素.
  4. 我们无法定义宽度和/或高度为0 的要素.因此,我们将xy迭代为24减去要素的大小.

基于这些假设,我计算了详尽的集合:

const int frameSize = 24;
const int features = 5;
// All five feature types:
const int feature[features][2] = {{2,1}, {1,2}, {3,1}, {1,3}, {2,2}};

int count = 0;
// Each feature:
for (int i = 0; i < features; i++) {
    int sizeX = feature[i][0];
    int sizeY = feature[i][1];
    // Each position:
    for (int x = 0; x <= …
Run Code Online (Sandbox Code Playgroud)

algorithm image-processing computer-vision face-detection viola-jones

78
推荐指数
2
解决办法
2万
查看次数

是否可以在Javascript中使用OpenCV或类似的库?

我们可以使用Javascript中的OpenCV吗?有没有这样的实施?

是否有任何JS库可用于检测图片或视频中的面部元素?

javascript html5 opencv artificial-intelligence face-detection

56
推荐指数
7
解决办法
4万
查看次数

Haar Cascades与人脸检测中的LBP级联

我一直在OpenCV(开源计算机视觉库)中进行面部检测实验,发现可以使用Haar级联来检测面部,因为其中有几个提供了OpenCV.但是,我注意到还有几个LBP级联.根据OpenCV人脸检测文档,经过一些研究,我发现LBP代表局部二进制模式,也可以用于人脸检测.

我想知道的是哪个更好?哪一个表现得更快,哪一个更准确?似乎LBP表现得更快,但我也不是100%肯定.谢谢.

opencv cascade face-detection haar-wavelet viola-jones

54
推荐指数
5
解决办法
5万
查看次数

检测面部然后自动拍摄照片

我正在尝试找到一个可以检测我的照片中的脸部的应用程序,使检测到的脸部居中并裁剪720 x 720像素的照片.编辑我计划做的数百张图片是非常耗时和细致的.

我尝试过使用这里提到的python opencv做这个,但我认为它已经过时了.我也试过使用它,但它也在我的系统中给了我一个错误.还尝试使用GIMP的面部检测插件,但它是为GIMP 2.6设计的,但我定期使用2.8.我也尝试过在ultrahigh博客上发布的内容,但它已经过时了(因为我使用的是Ubuntu的精确衍生版本,而博客帖子在它仍然是Hardy的时候又回来了).也尝试使用Phatch,但没有面部检测,所以一些裁剪的图片的脸被切断.

我已经尝试了以上所有这些并且浪费了半天时间试图让上述任何一项做我需要做的事情.

你们有没有建议实现我拥有的大约800张照片的目标.

我的操作系统是Linux Mint 13 MATE.

注意:我打算再添加2个链接但是stackexchange阻止我发布两个更多的链接,因为我还没有太多的声誉.

python linux opencv crop face-detection

53
推荐指数
5
解决办法
6万
查看次数

用相机进行人脸检测

如何像"相机"那样实时进行人脸检测?

在此输入图像描述

我注意到,AVCaptureStillImageOutput为10.0后弃用,因此我用 AVCapturePhotoOutput代替.但是,我发现我为面部检测保存的图像并不那么令人满意?有任何想法吗?


UPDATE

在尝试了@Shravya Boggarapu之后提到.目前,我AVCaptureMetadataOutput用来检测脸部没有CIFaceDetector.它按预期工作.然而,当我试图画出脸部的边界时,似乎错位了.任何的想法?

在此输入图像描述

let metaDataOutput = AVCaptureMetadataOutput()

captureSession.sessionPreset = AVCaptureSessionPresetPhoto
    let backCamera = AVCaptureDevice.defaultDevice(withDeviceType: .builtInWideAngleCamera, mediaType: AVMediaTypeVideo, position: .back)
    do {
        let input = try AVCaptureDeviceInput(device: backCamera)

        if (captureSession.canAddInput(input)) {
            captureSession.addInput(input)

            // MetadataOutput instead
            if(captureSession.canAddOutput(metaDataOutput)) {
                captureSession.addOutput(metaDataOutput)

                metaDataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
                metaDataOutput.metadataObjectTypes = [AVMetadataObjectTypeFace]

                previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
                previewLayer?.frame = cameraView.bounds
                previewLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill

                cameraView.layer.addSublayer(previewLayer!)
                captureSession.startRunning()
            }

        }

    } catch {
        print(error.localizedDescription)
    }
Run Code Online (Sandbox Code Playgroud)

extension CameraViewController: AVCaptureMetadataOutputObjectsDelegate {
func captureOutput(_ captureOutput: …
Run Code Online (Sandbox Code Playgroud)

avfoundation face-detection ios swift

39
推荐指数
2
解决办法
1万
查看次数

Android的FaceDetector的基础技术

我正在Android上实现一个人脸跟踪器,作为一个文献研究,想要确定Android的FaceDetector的基础技术.

简单地说:我想了解android.media.FaceDetector分类器的工作原理.

一个简短的谷歌搜索没有提供任何信息,所以我想我会看看代码.

通过查看Java源代码,FaceDetector.java没有太多需要学习的内容:FaceDetector只是提供图像尺寸和面数的类,然后返回一个面数组.

Android源代码包含此类的JNI代码.我跟着函数调用,在那里,简化为基本要素,我学到了:

  1. "FaceFinder"创建于 FaceFinder.c:75
  2. 在第90行,bbs_MemSeg_alloc返回一个btk_HFaceFinder对象(其中包含实际查找面的函数),基本上将其复制到initialize()()中初始化hsdkA->contextE.memTblE.espArrE的原始btk_HSDK对象的数组中FaceDetector_jni.cpp:145.btk_SDK_create()
  3. 似乎迷宫的函数彼此提供了指针和实例btk_HSDK,但我无处可寻找具体的实例,sdk->contextE.memTblE.espArrE[0]其中包含了魔法.

已经发现,是一个小线索:JNI代码引用FFTEm库,我无法找到的源代码.然而,从它的外观来看,FFT是快速傅立叶变换,它可能与预训练的神经网络一起使用.我能找到的唯一符合这一理论的文献是Ben-Yacoub等人的论文.

我甚至不知道自己是否走上了正确的道路,所以任何建议都无疑会有所帮助.

编辑:我为任何可以提供任何见解的人添加了+100赏金.

java-native-interface android fft face-detection

30
推荐指数
1
解决办法
6097
查看次数

如何选择用于人脸检测的级联文件?

我是面部检测的新生.这些天我尝试编译用于​​面部检测的OpenCV2.1代码.我发现前面检测有大约4个级联文件,分别是"haarcascade_frontalface_alt.xml","haarcascade_frontalface_alt_tree.xml","haarcascade_frontalface_alt2.xml"和"haarcascade_frontalface_default.xml"

我没有找到任何文件来描述它们之间的区别,哪个更喜欢面部检测任务?

opencv face-detection

29
推荐指数
2
解决办法
2万
查看次数

旋转面部检测

是否有用于检测在图像平面中旋转的面的库?或者是否有某种方法可以使用级联来进行直接面部检测并使用opencv来执行此操作?

opencv face-detection

26
推荐指数
3
解决办法
2万
查看次数

面部识别/检测用于照片和视频库的PHP或软件

我有一个非常大的照片库,里面有成千上万的相似的人物,物品,地点,东西.照片中的大多数人都有自己的用户帐户和头像照片来匹配.根据每张照片可用的附加数据,还有可能在照片中的人的逻辑短列表.我允许用户使用他们的朋友和他们认识的人标记照片,但自动化过程会更好.

我使用了face.com上的照片标记器/取景器与Facebook照片集成,而用于个人相册的Google Picasa照片标记器也做同样的事情,正是我想要做的.

是否有PHP脚本,用于Google Picasa的API,face.com或其他识别服务或任何其他开源项目,提供服务器端面部识别和/或按照相似性对照片进行分组?

示例:正如您所看到的,各种照片共享站点都提供了该功能,但有没有为我自己的服务器上存储的图像提供API或者足以链接到我自己的图库和标记系统的东西?

php tagging face-recognition face-detection photo-gallery

25
推荐指数
2
解决办法
4万
查看次数

Android camera2人脸识别

关于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)

android face-recognition face-detection android-camera

21
推荐指数
1
解决办法
1万
查看次数