Azure自定义视觉SDK ImageRegionCreateEntry似乎没有设置区域

标签 azure azure-cognitive-services microsoft-custom-vision

我使用Azure Custom Vision SDK ImageRegionCreateEntry Class在对象检测模式下将每个图像的区域设置为完整图像,该方法在代码中显示成功(在 full 中):

string dir = "G:\\folderLocation";
string[] files = Directory.GetFiles(dir);
if (files[i].ToLower().Contains(tagList[y].Name.ToLower()))
{
using (var stream = new MemoryStream(File.ReadAllBytes(files[i])))
{
var createImage = trainingApi.CreateImagesFromData(CV_Project_Guid, stream, new List<Guid>() { thisTag.Id });
//set the region for an image that is 300x400
ImageRegionCreateEntry thisImgEntry = new ImageRegionCreateEntry(createImage.Images[0].Image.Id, createImage.Images[0].Image.Tags[0].TagId, 0, 150, 150, 150);

我检查了门户中的每个图像,它没有显示区域限制框:

enter image description here

如果我在门户中手动设置区域并重新访问图像,它会显示盒装区域:

enter image description here

在使用 sdk 设置区域时,我发现树是灰色的,就好像当“显示的区域”切换为“开”时树已被识别一样,这是有误导性的。

此外,如果我使用图像的完整边界(以像素为单位)通过 SDK 为每个图像设置区域,则训练会失败。如果我手动设置区域,训练就会成功。

因此我认为 sdk 未正确设置该区域。有人可以确认一下,在使用 SDK 时,如果 ImageRegionCreateEntry 成功,重新访问门户中的每个图像是否会显示边界框?

最佳答案

[0,0,1,1] 你看不到它,因为它恰好是图像边界,而 [0,1,1,1] 正在边界之外绘制。你可以尝试[0.25, 0.25, 0.5, 0.5] 它应该在中心画一个盒子。请按照此处的文档了解坐标的工作原理 https://learn.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/quickstarts/object-detection?tabs=visual-studio&pivots=programming-language-csharp#upload-and-tag-images

关于Azure自定义视觉SDK ImageRegionCreateEntry似乎没有设置区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73078411/

相关文章:

azure - 如何通过API在Azure Devops中添加团队成员? Groups API 也不起作用

azure - 为什么使用 Azure 资源管理器 Powershell cmdlet 创建的子网 ID 为空?

azure - 限制 API 调用,Microsoft 认知服务 Bing 新闻 API

Azure 认知搜索,当查询与开头的值匹配时,过滤器会给出结果

c# - 如何从图像中的对象获得标准化协调

python - 在Flask API上处理opencv图像(字节,编码为jpg)

azure - 无法使用 flutter 中的 SAS token 上传到 azure 存储

azure - 如何使用自动化帐户 PowerShell Runbook 重置 Azure 服务主体的凭据?

azure - 在哪里可以看到已声明的同义词映射?

angular - 使用带有tensorflow JS的自定义视觉导出模型并输入图像