microsoft-cognitive - 如何对存储在 azure 数据存储 blob 中的图像运行 Face-API 查询?
问题描述
我在 Azure 存储帐户(也从 Data Lake Storage 帐户链接)上的 blob 中存储了 200k 图像。我想对所有这些都运行人脸检测,以便可以将它们添加到 LargeFaceList。第一步是运行人脸检测。
以下片段(从教程中复制)适用于在网络图像上进行人脸检测:
import cognitive_face as CF
KEY = 'mykey'
BASE_URL = 'https://eastus.api.cognitive.microsoft.com/face/v1.0/'
CF.Key.set(KEY)
CF.BaseUrl.set(BASE_URL)
CF.face.detect('https://images.fastcompany.net/image/upload/w_596,c_limit,q_auto:best,f_auto,fl_lossy/fc/3068134-inline-i-1-warren-buffet-gave-bill-gates-30-billion-heres-how-its-paying-off.jpg')
我想做的是对存储在我的天蓝色 blob 中的图像运行类似的查询。
在 USQL 中,我会执行以下操作:
"wasb://[blob_name]@[storage_account_name]/FileName.png"
但并不奇怪这不起作用,因为KEY
上面定义的关键是人脸api服务,而不是我的天蓝色存储,所以它没有办法(我不认为)找到那个数据。
我怎样才能做到这一点?我不想将我的 200k 图像一张一张地上传到人脸检测器!
解决方案
您应该能够访问该文件,而不是:
https://[storage_account_name].blob.core.windows.net/[blob_name]/FileName.png
如果无法公开访问 Blob,您可以添加共享访问签名以授予 API 对文件的临时访问权限。
当然,您仍然需要一次调用一个图像的 API,因为没有批处理机制。这也意味着您将受到您账户的费率/配额限制。
推荐阅读
- java - 模板可能不存在
- python-3.x - 基于另一个数组的 Numpy 选择
- sql - 带有附加检查的 SQL 分组
- reactjs - Material UI React - 概述的 TextField 边框或文本无法正确显示
- android - Android 12 在 Chrome 意图中打开链接
- ubuntu - Haskell - GHC 错误:找不到模块“Prelude”/也许您还没有安装包“base-4.12.0.0”的分析库?
- php - 最近在 laravel 7 中通过 cookie 浏览的产品一次只能保存 1 个产品
- c# - 如何使用 webclient 下载文件使用 memortstream 将它们保存为 gif 类型的图像,同时报告进度?
- r - 根据R中不同数据帧的两个变量的ifelse问题
- javascript - 如何将信息从控制器传递到局部视图