核心图像人脸检测在 64 位 iOS 上被破坏?
Posted
技术标签:
【中文标题】核心图像人脸检测在 64 位 iOS 上被破坏?【英文标题】:Core Image face detection broken on 64 bit iOS? 【发布时间】:2013-10-01 20:58:34 【问题描述】:所以,我有一个使用 Core Image (https://itunes.apple.com/us/app/ace-freakyface-cartoon-mask/id454513332?mt=8) 的人脸检测功能的应用程序,我刚拿到新的 iPhone 5s,该应用程序不再检测到人脸。调试时我也在控制台中收到错误:
/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat: mach-o,但架构错误 2013-09-25 20:17:22.861 faceMaker[474:a16b] 人脸检测发现人脸错误:错误域=FCRFaceDetectorErrorDomain Code=2"dlopen(/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat , 2): 没有找到合适的图片。确实找到了:
我已经用 ios 7 更新了我的 iPhone 4s(非 64 位)并且该应用程序可以正常运行。我认为我需要更新有效的架构,但是当我这样做时,我会破坏 AdMob 库。可能有办法解决这个问题,但我不知道。无论如何,我会继续尝试一些东西,但想知道是否有其他人有类似的问题。我还使用人脸检测器 api 下载了应用商店中的其他应用,结果相同,即在 64 位上没有乐趣。
谢谢,
尼克
【问题讨论】:
您是否向 Apple 提交了错误? @borrrden 不,我没有。 @borrrden 检查我刚刚提交了一个,有没有办法发布它的链接? 我认为有,但我不确定。通常人们会发布一个指向雷达的链接...它会是openradar.appspot.com/####### 同样的问题...您找到解决方案了吗? 【参考方案1】:我们的面部变形应用程序也有这个问题。我写了一个独立的测试程序,只做人脸识别软件。如果我将它编译为 64 位应用程序并在装有 iOS 7 的 iPhone 5S 上运行它,它就可以工作。如果我将它编译为 32 位应用程序,在装有 iOS 7 的 iPhone 5S 上运行它,它就会失败。我收到了类似的日志。它出现在 32 位模式下,名为 FaceCore 的私有库不可用。该库的 64 位版本可用。我们需要让更多的人就此向 Apple 投诉,因为这听起来像是一个操作系统错误!
【讨论】:
【参考方案2】:一个解决方案刚刚出现在最新的 xCode 更新中。您现在可以为 arm64 和目标 6.0 及更高版本构建(与以前版本的 7.0 及更高版本相比)。如果你这样做,问题就解决了。
另外,Apple 已回复我的错误报告并表示他们将在下一次 iOS 更新中修复此问题。手指交叉!
【讨论】:
很酷,很好的信息。是的,我希望下一次 dot 更新能让一切正常。【参考方案3】:我希望我能竖起大拇指最后的帖子。我有未针对 64 位更新的库,进入构建设置并显示所有提供了关闭 64 位构建的选项。
【讨论】:
【参考方案4】:对我来说,我将构建设置中的架构更改为“包括 64 位、64 位臂”并且它工作正常。但不知何故,我的 google admob 无法正常工作,因为它不是 64 位计算。
【讨论】:
以上是关于核心图像人脸检测在 64 位 iOS 上被破坏?的主要内容,如果未能解决你的问题,请参考以下文章
dlib 人脸检测错误:不支持的图像类型,必须是 8 位灰度或 RGB 图像