DeepLabV3,珊瑚的分割和分类/检测



我正在尝试在Coral上使用DeepLabV3进行图像分割和对象检测/分类。

我能够在珊瑚上使用DeepLabV3成功地运行semantic_segmentation.py示例,但这只显示了一个对象被分割的图像。

我看到它为颜色分配了标签——我如何将我根据模型的标签信息制作的labels.txt文件与这些颜色关联起来?(我怎么知道哪个颜色对应哪个标签(。

当我尝试运行engine=DetectionEngine(args.model(

使用deeplab模型,我得到了错误

ValueError:检测模型应该有4个输出张量!此型号具有1。

我想这种方法是错误的吗?

谢谢!

我相信您已经就同一查询联系过我们。我只是想把答案粘贴在这里供其他人参考:

"检测模型通常有4个输出张量来指定位置、类别、分数、数量和检测。你可以在这里阅读更多信息。相反,分割模型只有一个输出张量,所以如果你用同样的方式对待它,你很可能会试图访问错误的内存区域。如果你想在同一张图像上完成所有三项任务,我的建议是创建3个不同的引擎,并将图像输入到每个引擎中。唯一的问题是,每次切换模型时,模型加载到TPU上可能会出现数据传输瓶颈。我们这里有一个关于如何在一个TPU上运行2个模型的示例,您应该能够将其修改为采用3个模型。">

在最后一条注释中,我刚刚看到您添加了:

我如何将我根据模型的标签信息创建的labels.txt文件与这些颜色相关联

我只是不认为这是您可以为分割模型做的事情,但也许我只是对您的查询感到困惑?

以对象检测模型为例,有4个输出张量,第二个张量为您提供了一个与某个类相关的id数组,您可以将其映射到标签文件。分割模型只给出对象周围的像素。

[编辑]抱歉,看起来我是那个对分割模型感到困惑的人。引用我的大学:("您有兴趣知道标签的名称,可以从Semantic_segmentation.py中的结果数组中找到该标签对应的整数。其中result是每个像素的分类数据。

例如;

如果您在中以bird.jpg作为输入打印结果数组,您会发现几个像素的值为3,这是pascalvoc_segmentation_labels.txt中对应的第四个标签(索引从0开始(。">

相关内容

  • 没有找到相关文章

最新更新