问题标签 [visionkit]

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 回答
402 浏览

ios - VisionKit 框架 iOS 13 中的 iOS 应用程序崩溃

我正在使用 iOS 13 中引入的 VisionKit 框架进行文档捕获。它是捕获文档的绝佳框架。但是在这个框架中,导航栏上有两个按钮(重拍和完成)。当我单击这些应用程序时,由于以下原因而崩溃:-

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“在 UIApplication 上调用 -statusBar 或 -statusBarWindow 的应用程序:必须更改此代码,因为不再有状态栏或状态栏窗口。在窗口场景中使用 statusBarManager 对象。

我试图通过将preferredStatusBarUpdateAnimation 返回为false 来做到这一点。但它没有解决。

这是代码片段:-

有没有办法解决这个问题以防止它崩溃?

0 投票
1 回答
620 浏览

swift - iOS 13 - 相机挂在 VNDocumentCameraViewController 中

当使用 VisionKit 的 VNDocumentCameraViewController 扫描文档时,相机会在几秒钟后挂起。扫描在 SwiftUI 中使用的 ViewController 中实现。

DocumentScannerViewController的实现:

以及ContentView的实现:

文档扫描相机启动并工作一小段时间。然后相机停止移动。

知道是什么导致了这种行为吗?

0 投票
0 回答
74 浏览

tensorflow - 使用 Google Vision Kit 编译器编译 TensorFlow Graph 的问题

我(未成功)尝试使用 Aiy Vision Kit Compiler 编译模型,以便可以在 Google Vision Kit 上使用它,但我总是收到有关冻结图的错误。我正在使用带有 Tensorflow 1.15 的 Keras。

根据编译器的要求,我冻结并将我的图形保存在 .pb 文件中。起初我使用的是 Tensorflow 2(正如我在另一个问题中报告的那样,我问Tensorflow 2.1/Keras - “output_node is not in graph” error when trying to freeze graph,其中还有我用于冻结的代码),但编译器保留给我一个“output_node/Softmax is not in the graph”错误,所以我切换到 TensorFlow 1.15,现在错误如下:

2020-01-30 07:48:20.826925: F convert_tensorflow_graph.cc:83] Check failed: graph_def.ParseFromString(frozen_graph_contents) Could not parse GraphDef in "./frozen_graph.pb"

在我运行以下命令后:

从我在 .pbtxt 文件中看到的冻结图来看,它看起来像我用 Keras 创建的模型,并且输入和输出名称是正确的,所以我不确定我犯了什么错误。

我按照建议在 Linux 虚拟机上运行编译器。从 Aiy Vision Kit 网站下载的预训练模型已成功编译,所以我猜测问题出在我的 .pb 文件上,而不是环境上。

这是我用来创建和训练模型的代码:

我检查了 Tensorflow 是否可以使用此代码解析 graph_def,它似乎可以工作,并且我得到了具有正确名称的节点和所有节点。

我还尝试使用带有以下代码的 Sequential 创建模型。

而且我在训练时得到了相同数量的参数和相同的准确性/损失,所以我认为它们几乎是等价的。相反,在将其保存为 .h5 文件后,如果我加载模型并打印输入节点名称,它会给我 conv2d_input,就好像它合并了输入层和第一个卷积层一样。在这种情况下,我使用 Vision Kit 编译器得到另一个错误:

这两个模型都是使用 TF 1.15 中的 Keras 类创建的,并且都已使用 freeze_session 冻结(如此处https://www.dlology.com/blog/how-to-convert-trained-keras-model-to-tensorflow-和-做出-预测/)。检查 pbtxt 文件并解析 graph_def 后,节点名称应该是正确的。

任何有关如何解决此问题的帮助将不胜感激。

0 投票
1 回答
749 浏览

ios - iOS中给定图像的多个自定义对象检测(图像处理)

我想用它的框架检测到自定义对象。

  • 我已经对此进行了检查,我得到了很多 ARKit 实现——使用它我们可以获得实时对象检测(即使用输入流作为相机流),但我的要求是从给定/静态图像中获取它。

  • 我找到了最新的 iOS 指南/示例,使用相机作为输入流,提供分类或矩形或面部检测等。

    • 我的问题是我需要从具有自定义多个对象的给定图像中获取它。

      例如,我需要识别给定图像中的时钟(带有多个不同类型时钟的墙壁的图像),这里我可以提供示例时钟图像。所以我需要用它的框架来识别时钟。

      我已经使用带有对象分类的 Vision 的 VNImageBasedRequest 进行了检查,其中我可以使用自定义训练的 CoreML 模型获取分类,但是没有获取boundingBox属性来获取帧,这在 VNDetectedObjectObservation 中可用。

提前感谢您宝贵的时间和回复。

0 投票
0 回答
208 浏览

ios - 如何在ios swift中使用Visionkit解析pancard中的名字和姓氏?

我一直在尝试将泛卡详细信息解析为适当的字段。但我无法正确解析。在这里,我使用正则表达式查找泛卡号和出生日期,结果完美。但我无法正确找到名字和姓氏,因为位置正在变化。

泛卡有两种:

1.) 泛卡一号包含名字、姓氏、泛卡号、出生日期。2.) Pan card second 包含 Name:用户名,father's Name:用户父亲姓名,pan 卡号和 dob

这是块三个不同的文本:

泛卡类型:2

泛卡类型1:

这是查找名字和姓氏的代码: 这里行数组是块检测到的文本转换为数组。

如何在正确的字段中解析名字和姓氏?

非常感谢任何帮助。

0 投票
0 回答
1298 浏览

ios - 是否可以自定义 iOS Visionkit VNDocumentCameraViewController

我正在尝试使用 VisionKit 中的控制器 VNDocumentCameraViewController 扫描图片。是否可以通过例如隐藏扫描扫描按钮和顶部的闪光灯选项来自定义控制器?我只想开始扫描并在识别出图像时收到通知,而无需用户进行任何交互

0 投票
1 回答
367 浏览

ios - 从本地库浏览文档时如何使用 iOS VisionKit?

使用VisionKit,我们可以让用户使用相机扫描文档,如下所示:

但是如果用户从iOS设备本地浏览文档而不涉及相机,我们该怎么办?我们仍然可以使用 visionkit 自动更正纸张方向或边缘吗?

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 投票
1 回答
232 浏览

swift - 如何确保正确处理 VisionImage(来自 Google 在 Firebase 中的 ML Kit)对象?

我正在尝试从名为“quote”的 Assets 文件夹中的图像中读取文本。但是每次都打印出错误“错误 2:无法处理 VisionImage”。

如何确保正确处理 VisionImage 并从图像“报价”中获取文本?

0 投票
0 回答
50 浏览

ios - 仅在设备上崩溃 EXC_BAD_ACCESS

我在单击按钮时崩溃

在创建请求者变量的数组时。在模拟器代码上工作正常。并且分配给请求者的内存,但是当在设备上运行时请求者内存未初始化。

在此处输入图像描述