【问题标题】:Detect Winks in front facing camera using CIFaceFeature使用 CIFaceFeature 检测前置摄像头中的眨眼
【发布时间】:2013-05-28 18:41:23
【问题描述】:

我有一个使用 AVFoundation 并跟踪面部、眼睛和嘴巴位置的应用程序。我使用 CIFaceFeature 来检测这些并在屏幕上标记它们。

有没有使用框架检测眨眼的简单方法?

【问题讨论】:

    标签: objective-c iphone cocoa-touch avfoundation


    【解决方案1】:

    对于 iOS 7,是的,现在您可以使用 CoreImage 来做到这一点。

    这是 iOS 7 Beta 2 中的 API 差异:

    CoreImage
    
    CIDetector.h
    Added CIDetectorEyeBlink
    Added CIDetectorSmile
    

    iOS 7 之前:

    不,目前无法使用 iOS 框架(AVFoundation 或 CoreImage)。

    您可以使用 OpenCV 进行检查...但它更多的是一个研究课题,不能保证在不同情况下都能很好地工作:

    首先,你需要构建一个闭眼/睁眼分类器,afaik,OpenCV 中没有内置的眼睛眨眼分类器,所以你需要收集足够的“闭眼”和“开眼”样本,并训练一个二元分类器. (我建议使用主成分分析 + 支持向量机。两者都在 OpenCV 中可用)

    然后在 iOS 中,使用 CoreImage 来检测双眼的位置。并在眼睛中心周围剪下一个方形补丁图像。补丁的大小应根据检测到的人脸边界矩形进行归一化。

    然后您需要将 UIImage/CIImage 转换为 OpenCV IplImage 或 CvMat 格式,并将它们输入到您的 OpenCV 分类器中以确定眼睛是睁着还是闭着。

    最后根据睁眼和闭眼的顺序判断是否有眨眼。

    (您还需要检查处理帧速率是否能够选择眨眼动作:假设眨眼发生在 0.5 帧内......那么你永远不会检测到它......)

    这是一个难题……否则 Apple 早就将它们包含在框架中了。

    【讨论】:

    • API 是在标头中定义的,但它们在当前 beta 中是否可以正常工作?
    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 2015-12-11
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2011-10-28
    相关资源
    最近更新 更多