问题标签 [ios-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 投票
2 回答
5552 浏览

ios - ios Vision VNImageRequestHandler 方向问题

我正在尝试使用VNImageRequestHandler(iOS Vision)通过相机检测人脸。当我在横向模式下通过相机指向照片时,它会检测到面部但具有相反的方向模式。

在此处输入图像描述

0 投票
1 回答
2579 浏览

ios - 如何使用 ARKIt 和视觉框架检测和跟踪足部?

我想虚拟地添加足球并检测和跟踪脚,以便我们可以模拟对球的踢球。

任何人都可以建议在iOS中实现它的方式吗?

0 投票
1 回答
820 浏览

ios - iOS Vision全景拼接

如何使用视觉框架拼接全景图片?

vision 的 VNTranslationalImageRegistrationRequest 可以拼接两个图像。我试了一下,它有效。现在我想拼接两张fishPhotos。像这样在此处输入图像描述

VNHomographicImageRegistrationRequest 或 VNTranslationalImageRegistrationRequest ?有什么建议吗?展开时如何拼接得到全景图?</p>

0 投票
1 回答
263 浏览

swift - 与 iOS11 视觉一起使用时 CAShapeLayer 翻转坐标

我正在使用 iOS 11vision 框架来检测鼻子、眼睛、嘴唇等面部特征。

视觉框架为所有面部特征提供了非常准确的归一化点。现在我试图在贝塞尔路径的帮助下在右眼上画一条红线,下面是我用来绘制相同的代码。

1)addFaceLandmarksToImage()方法是通过视觉框架仅检测右眼并获取所有归一化点。创建上下文并用于绘制直线。

2)addNewPathToImage()方法被定义为在检测到的右眼上添加shapelayer,这样我就可以在下一个形状中裁剪它。

在此处输入图像描述

现在您可以看到,我可以通过 imageview 上的当前上下文准确地绘制右眼。我已经在我的上下文中应用了 translate 和 scale 属性。

但是我试图在 addNewPathToImage() 的帮助下添加的 shapeLayer 被 翻转了。我知道 UIkit 使用的是ULO(左上原点),而核心图形基于LLO(左下原点)系统​​。

我需要在此过程中应用什么转换才能将该 shapeLayer 准确地放置在右眼上。

注意:我已经尝试在 shapeLayer 上进行以下转换,但没有成功。

0 投票
1 回答
1373 浏览

ios - 将 DJI 视频源与 Vision Framework 结合使用

我正在开发一个应用程序,它使用来自 DJI Mavic 2 的视频源并通过机器学习模型运行它来识别对象。

我设法让我的应用程序使用这个示例 DJI 项目预览来自无人机的提要,但是我在尝试将视频数据转换为Vision框架可用的格式时遇到了很多麻烦。

我使用Apple 的这个示例作为创建我的模型的指南(它正在工作!)但看起来我需要创建一个使用类型创建的VNImageRequestHandler对象才能使用.cvPixelBufferCMSampleBufferVision

知道如何进行这种转换吗?有一个更好的方法吗?

编辑:根据我从 DJI 的(参差不齐的)文档中收集到的信息,看起来视频源是 H264 压缩的。他们声称DJIWidget包含用于解压的辅助方法,但我没有成功理解如何正确使用它们,因为没有关于它使用的文档。

编辑 2:这是我在 GitHub 上为 DJIWidget 框架创建的问题

编辑 3:使用附加方法更新代码片段,从方法中VideoFrameProcessor删除旧代码videoFeed

编辑 4:有关如何成功提取像素缓冲区并利用它的详细信息,请参阅GitHub 的此评论

0 投票
1 回答
250 浏览

swift - 特征检测期间 iOS Vision API“computeBlinkFunction”中的错误和冻结

我使用 iOS Vision API 在 iPhone X 上从相机传递的缓冲区上实时执行特征检测ARFrame。它通常工作得很好,但在 iOS 11 和 iOS 12 上,我一直在控制台中看到偶尔出现的错误。无法找到有关的任何信息。此错误连续打印多次,通常与我的应用程序中的严重冻结有关。

有没有人在他们的控制台中看到过这个错误,或者知道是什么原因造成的?任何信息或调试提示将不胜感激。

LandmarkDetector error -20:out of bounds in int vision::mod::LandmarkAttributes::computeBlinkFunction(const vImage_Buffer &, const Geometry2D_rect2D &, const std::vector<Geometry2D_point2D> &, vImage_Buffer &, vImage_Buffer &, std::vector<float> &, std::vector<float> &) @ /BuildRoot/Library/Caches/com.apple.xbs/Sources/Vision/Vision-2.0.62/LandmarkDetector/LandmarkDetector_Attributes.mm:535

更多信息:我认为此错误发生在我的VNDetectFaceLandmarksRequest. 目前我将 ARKit 归一化后找到的人脸边界框传递到 中inputFaceObservations,但我以前VNDetectFaceRectangleRequest在查找人脸边界框时也看到了这些错误。我正在使用 aVNSequenceRequestHandler在每个ARFrame摄像头上实时发出这些请求,在后台线程上运行。

0 投票
1 回答
147 浏览

swift - VNRecognizeTextRequest 无法识别以横向模式扫描的文本

我正在使用VNDocumentCameraViewController扫描文档和VNRecognizeTextRequest检测文本。它仅在以纵向模式扫描文档时有效。它的横向模式失败了。我可以传递方向,VNImageRequestHandler但纵向扫描会失败。同样,如果我尝试检查扫描的图像方向,它总是.up. 所以我什至无法操纵图像。有人知道如何解决这个方向问题吗?我正在使用下面的代码。

0 投票
1 回答
723 浏览

ios - iOS Vision:VNRecognizedText boundingBox(for:) 方法为任何范围返回相同的边界框

我正在使用 iOS Vision 框架通过VNRecognizeTextRequest调用执行 OCR,并且我试图在结果VNRecognizedText观察中找到每个单独的字符。但是,当我boundingBox(for range: Range<String.Index>)在任何对象上调用该方法时,VNRecognizedText并且对于已识别文本内的任何有效范围,我都会返回相同的边界框。这个边界框对应于整个字符串的边界框。

我是否误解了该boundingBox(for:)方法,或者是否有其他方法可以在已识别的文本观察中获取单个字符的离散位置信息?

提前致谢!

编辑:

在进一步研究之后,我意识到单词组和空格之间存在某种联系。考虑具有字符串值“Foo bar”的已识别文本观察。调用boundingBox(for:)“Foo”中的每个字符返回完全相同的边界框,根据尺寸,该边界框似乎对应于整个子字符串“Foo”,而不是我们传递给boundingBox方法的范围的单个字符。然后,在另一个奇怪的行为中,boundingBox空白字符的 for 只是原点处的一个空白区域,其边缘与它两侧的子字符串不对应。最后,第二个子字符串的行为与第一个相同:“bar”中的每个字符都有相同的边界框。

0 投票
0 回答
106 浏览

ios - VNDetectFaceLandmarksRequest 在带有 iOS 14 模拟器的 m1 mac 上不起作用?(未指定的错误)

unspecified error当我使用视觉框架时,为什么在 M1(iPhone 12、iOS 14.3)上提供新的模拟器。我猜 iOS 14 模拟器无法访问有效的视觉框架?它不可能是代码,因为它确实在 x86_64 (Intel) mac 和我的运行 iPhone 11 模拟器(iOS 13.7,在Intel 80486仿真中运行)的 M1 mac 上给了我结果。

不幸的是,我得到一个unspecified errorXCode 调试器截图

0 投票
0 回答
34 浏览

ios - 如何快速从面部地标预测情绪

我可以像这样从VNFaceObservation这个函数中获取面部地标数据,handleFaceDetectionObservations(observations: [VNFaceObservation])

那么有什么方法可以根据上述地标预测面部情绪(例如微笑、愤怒)?