问题标签 [apple-vision]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - Apple Vision Framework:通过观察检测微笑或快乐的面孔?
我正在开发一个项目,该项目使用 Vision Framework 来检测图像中的人脸,然后使用 CoreML 模型来检测人脸是否在微笑。问题是 CoreML 模型文件将近 500 MB。我不想让我的应用程序膨胀太多。
由于我已经从 Vision 框架获得了 VNFaceLandmarks2D 观察数据,我想我会尝试使用它来检测微笑。
有没有人尝试使用 Vision 框架中的 VNFaceLandmarks2D 数据来尝试确定脸部是开心还是微笑?
如果是这样,您是如何做到的,效果如何?
谢谢!
swift - 在 iOS 11 中使用视觉框架进行对象跟踪
我想检测对象并使用视觉框架跟踪该对象。我成功地完成了检测对象和一点点跟踪,但跟踪的准确性并不高。
我希望在转换帧时获得更高的准确性,因为它在跟踪对象时经常失去准确性。
请检查以下代码以检测和跟踪对象:
任何帮助将不胜感激!!谢谢。
swift - VNTrackObjectRequest 不使用 ARSCNView 中的 VNFaceObservation 跟踪面部
我正在尝试在 ARSCNView 中使用 VNFaceObservation 跟踪面部
比我做的
但是请求结果不跟踪人脸并返回错误的rect
ios - 将 VNRectangleObservation 点转换为其他坐标系
我需要将 VNRectangleObservation 收到的 CGPoints(bottomLeft、bottomRight、topLeft、topRight)转换为另一个坐标系(例如屏幕上的视图坐标)。
我定义了一个请求:
我在委托调用中从相机获取 sampleBuffer,并执行检测请求:
稍后在完成处理程序中,我收到结果:
这适用于 CGRect 的boundingBox,但我需要将 CGPoints 转换为另一个视图的坐标系。问题是我不知道如何从sampleBuffer:CMSampleBuffer的坐标系到previewView坐标系的转换。
谢谢!
ios - 在swift 4中使用相机进行实时面部跟踪
我希望能够从相机源中跟踪用户的脸。我看过这个SO 帖子。我使用了答案中给出的代码,但它似乎没有做任何事情。我听说过
在 swift 4 中已更改为其他内容。这可能是代码的问题吗?
在面部跟踪时,我还想使用 CIFaceFeature 监控面部标志。我该怎么做?
swift - Apple Vision - 无法将单个数字识别为区域
我想使用VNDetectTextRectanglesRequest
Vision 框架来检测图像中的区域,该图像仅包含一个字符,数字“9”,背景为白色。我正在使用以下代码来执行此操作:
我得到的观察结果数为 0,但是如果我在黑色背景上提供带有文本“123”的图像,则“123”被检测为带有文本的区域。所描述的问题也会出现在 2 位数字上,白色背景上的“22”也不会被检测到。
在我的情况下,为什么 Vision API 只能检测到白色背景上的 3 位以上数字?
ios - 如何在 Apple Vision 框架中拍摄检测到的矩形的照片
如何从成功的 VNRectangleObservation 对象中拍摄照片(获取 CIImage)?
我正在运行一个视频捕获会话,并在func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)
其中进行处理,即
我应该将传递给处理程序并在该缓冲区上操作的像素缓冲区保存在某处吗?很遗憾,我无法将图像作为观察对象的属性访问:(
有任何想法吗?
ios - ARSession 无限期停留在 ARTrackingStateLimited,原因为 ARTrackingStateReasonInitializing
我正在使用 ARKit ARSession;我第一次使用 ARSession 时,一切正常。它是完全响应的。然后我暂停 ARSession;将其设置为 NULL 以便它被释放并在稍后的某个时间再次创建。
第二次因为 ARTrackingStateLimited 而被跟踪状态卡住,原因是 ARTrackingStateReasonInitializing。所以 currentFrame 不会改变,不管我等多久,它都会保持不变。如果我再次使用 runWithConfiguration 重置,它会返回一个新帧,但 currentFrame 被冻结,trackingState 再次为 ARTrackingStateLimited,原因为 ARTrackingStateReasonInitializing。
是否有任何原因导致 ARSession 第二次无法完成初始化。与第一遍的光照条件完全相同;所以它应该能够检测到相同的特征。这不是资源问题,因为如果存在资源问题,ARKit 通常会显示“资源约束”诊断消息。
感谢您对此的任何回复;
objective-c - .a 库找不到视觉框架
我的项目中有一个 react-native 库。
该库是objective-c,添加了需要和导入视觉的快速组件。
该项目和目标是为所有架构(包括 arm64)设置的,它们也为所有架构而构建,而不仅仅是当前架构。
视觉在应用程序目标的构建规则中正确链接(因为静态库中没有链接)但我在编译期间出现链接器错误:
未找到用于架构 arm64 的 -lswiftVision 的库
似乎无法找到造成这种情况的根本原因,在 swift 项目中从未遇到任何问题,所以我不知道。
设法前进一点,
在库的 main.h 文件中似乎修复了未找到的库,但我有另一个:
在项目的链接过程中似乎发生了一些可疑的事情。
swift - 使用视觉的调度队列中 CVPixelBuffer 的内存泄漏
我在捕获管道中使用渲染器类向视频添加 CI 过滤器。在渲染器的 copyRenderedPixelBuffer 中,我还想复制像素缓冲区并将其发送到 Vision 以检测面部标志。
我为 Vision 制作了一个带有串行调度队列的单例。问题是,一旦我添加了调度队列,pixelBuffer 就不会从内存中释放 - 因此会发生大量泄漏(即使像素缓冲区在 objc 代码中被释放)。随着调度队列的静音,内存泄漏消失了(但是,由于 Vision 功能,视频预览存在大量视频延迟)。
非常感谢任何帮助!
Vision 的 Swift 类