问题标签 [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.

0 投票
1 回答
198 浏览

ios - 最小尺寸如何在使用 VNDetectRectanglesRequest 检测到的矩形上起作用?

你能解释一下minimumSize属性是如何VNDetectRectanglesRequest工作的吗?我阅读了详细信息,但不明白。

来自文档的描述

一个浮点数,指定要检测的矩形的最小尺寸,作为最小尺寸的比例。

我不理解“作为最小维度的比例”。

还有多少个最大矩形视觉框架可以返回?苹果示例代码(演示应用程序)中的注释,他们编写了视觉框架,最多返回 16 个矩形。有人可以确认吗?

0 投票
1 回答
392 浏览

swift - 如何检测对象的轮廓并描述它以在服务器上与 ARKit 进行比较

我想检测形状,然后(以某种方式)描述它以将其与服务器数据进行比较。

所以第一个问题是,是否可以使用 ARKit 检测像 blob 这样的形状?

更具体地说,让我们概括地描述一下我的用例。

我想通过电话扫描图像,获取特定形状,将其发送到服务器,比较服务器上的两个图像(服务器图像是真实的,扫描的图像会非常相似)然后发回一些数据。我不是在问服务器端,关于服务器端的唯一问题是我应该比较什么 - 使用 OpenCV 的图像,两个图像的一些数学描述并尝试找到相似性等)。

如果这个问题难以理解,让我们将其拆分为两个简单的问题:1)如何通过 iPhone 扫描 2D 对象并保存(当对象为黑色和背景白色时,从其背景中修剪特定形状)。2) 描述扫描的对象以与几乎相同的对象进行比较。

0 投票
3 回答
1309 浏览

ios - 如何在 iPhone XS 上使用 ARKit2 和 Vision (VNDetectFaceRectanglesRequest) 时修复 IOAF 代码 GPU 错误

在 iPhone XS(使用 iOS 12.1.2 和 Xcode 10.1)上运行 ARKit 时,我在运行 Vision 代码检测面部边界时遇到错误和崩溃/挂起。

我得到的错误是:

这发生在 iPhone XS 上,同时运行以下概念验证代码以重现错误(总是在运行应用程序的几秒钟内发生)- https://github.com/xta/ARKit-Vision-Demo

相关的 ViewController.swift 包含有问题的方法:

使用 Apple 的 ARKit + Vision 的正确方法是什么VNDetectFaceRectanglesRequest?得到神秘的 IOAF 代码错误是不正确的。

理想情况下,我还想使用 VNTrackObjectRequest 和 VNSequenceRequestHandler 来跟踪请求。

有关于将 VNDetectFaceRectanglesRequest 与 Vision(并且没有 ARKit)一起使用的不错的在线文档。Apple 在这里有一个页面(https://developer.apple.com/documentation/arkit/using_vision_in_real_time_with_arkit),我已经关注了该页面,但我仍然遇到错误/崩溃。

0 投票
1 回答
742 浏览

ios - 如何从 VNFaceObservation boundingBox (Vision + ARKit) 正确平移 X 轴

我正在使用 ARKit 和 Vision,遵循 Apple 的示例项目“使用 ARKit 实时使用视觉”。所以我没有设置我的相机,因为 ARKit 会为我处理。

使用 Vision 的 VNDetectFaceRectanglesRequest,我能够取回 VNFaceObservation 对象的集合。

遵循各种在线指南,我能够将 VNFaceObservation 的边界框转换为可以在 ViewController 的 UIView 上使用的边界框。

在 ARKit 中放置在我的 UIView 上时 Y 轴是正确的,但 X 轴完全关闭且不准确。

在屏幕上显示边界框(在 ARKit/UIKit 中)以使 X 和 Y 轴正确匹配检测到的面部矩形的正确方法是什么?我不能使用 self.cameraLayer.layerRectConverted(fromMetadataOutputRect: transformedRect),因为我没有使用 AVCaptureSession。


更新:进一步挖掘,相机的图像为 1920 x 1440。其中大部分没有显示在 ARKit 的屏幕空间上。iPhone XS 屏幕为 375 x 812 点。

在获得 Vision 的观察边界框后,我将其转换为适合当前视图 (375 x 812)。这不起作用,因为实际宽度似乎是 500(左侧和右侧不在屏幕视图中)。我如何CGAffineTransform从 375x812 获得 CGRect 边界框(看起来像 500x812,总猜测)?

0 投票
1 回答
125 浏览

ios - 使用 Vision 框架时在 Xcode 中获取控制台垃圾邮件并且面部移出屏幕

我正在使用Vision框架运行人脸检测器,但遇到了一个使调试成为挑战的项目。

当我将面部移出屏幕时,我经常会在控制台中收到以下错误消息:

LandmarkDetector 错误 -20:int vision::mod::LandmarkAttributes::computeBlinkFunction(const vImage_Buffer &, const Geometry2D_rect2D &, const std::vector &, vImage_Buffer &, vImage_Buffer &, std::vector &, std: :vector &) @/BuildRoot/Library/Caches/com.apple.xbs/Sources/Vision/Vision-2.0.62/LandmarkDetector/LandmarkDetector_Attributes.mm:535

我了解此错误在框架内,对我的应用程序没有影响。但是,我也在控制台中监视其他数据,并且有许多大错误飞过,这使得这变得困难。

我希望有一种方法可以禁用此特定项目。到目前为止,我还没有找到任何有效的方法。

Xcode 10.1 会出现这种情况,针对多台设备上的 iOS 12.1。

0 投票
0 回答
296 浏览

apple-vision - 在 VNCoreMLRequest 中使用 imageCropAndScaleOption 和 regionOfInterest

如果我同时使用 imageCropAndScaleOption 和 regionOfInterest 会发生什么。以下代码的作用是什么

request是一个VNCoreMLRequest

输入是CGRect(x: 0.0, y: 0.25, width: 1.0, height: 0.5)针对整个图像还是中心裁剪的图像?

我还发现,如果我imageCropAndScaleOption.centerCropCoreML 模型的输入大小为 800x400,Vision API 实际上会从相机中获取最大的居中方形图像,并将其大小调整为 800x400,然后再输入我的模型。它与他们的文件不同:

保持纵横比以适合短边,同时在长边裁剪居中的图像。

0 投票
2 回答
111 浏览

swift - 我如何只允许从门户进入我的虚拟场景?

我有一个应用程序,它将渲染一个增强现实场景和一个您可以走进该场景的门户。场景被一架飞机挡在视野之外,但如果你穿过那架飞机,你就会“闯入”虚拟环境。

我不是在寻找代码,而是在寻找如何解决这个问题的帮助。我想让它让你进入虚拟场景的唯一方法是穿过我创建的门口。我首先考虑跟踪摄像头的位置,并确保您在跨过阈值以启用渲染之前非常靠近入口,但似乎如果我这样做,用户将无法看穿接近/进入虚拟场景之前的门口。

0 投票
0 回答
183 浏览

ios - CreateML MLModel 适用于 Playground UI,但不适用于应用程序

我正在开发一个机器学习应用程序,该应用程序对手绘数字进行分类。我使用 CreateML 制作了一个模型,该模型据称具有 100% 的准确度(我承认我的样本量仅为每个数字大约 50 张图像)。但是,在我的应用程序上运行它时,它不起作用。为了查看这是否是我的应用程序的问题,我下载了Apple Vision+CoreML Example Xcode 项目并用我自己的替换了 MobileNet 分类器。我从自己的应用程序加载了保存在手机上的图像,但分类仍然不准确。有趣的是,我尝试在操场上的 CreateML UI 空间中测试完全相同的图像,您可以在其中测试图像和分类工作。

TL/DR:图像分类适用于 Playground 上的 CreateML Live View,但不适用于 Apple 的 vision+coreML 示例项目的精确副本。

这是我尝试分类的图像示例

这是 7 应用程序上显示的内容,这是 5 应用程序上显示的内容

这是 7 人在操场上出现的东西,这是 5 人在操场上出现的东西

0 投票
1 回答
261 浏览

ios - 我们为 AVCaptureSession 选择哪种像素格式类型来使用 Vision 运行 CoreML 模型是否重要?

我正在使用 Apple 的示例应用程序早餐查找器进行检测,它使用双平面 yuv 格式的像素格式类型。我将其更改为 ARGB,并在我自己的 Turi create 训练模型上运行。现在我不知道更改像素格式类型对在缓冲区上执行视觉请求有任何影响。

0 投票
1 回答
336 浏览

augmented-reality - 使用 ARKit 和 CoreML 从远距离检测物体

我们如何使用 CoreML 或 ARKit 从几乎任何距离检测物体。目前我已经尝试过 ARKIT 3d 物体扫描和检测,它可以在距离物体很近的地方工作,但是当我们远离物体时,它无法检测到那个物体。同样使用 CoreML,我训练了一个模型来检测物体,该模型仅从近距离检测物体。如何实现远距离物体检测,实际物体明显太小。