【问题标题】:Integrating tensorflow objection detection api with centroid tracking algorithm of opencv将tensorflow object detection api与opencv的质心跟踪算法集成
【发布时间】:2019-05-20 20:23:28
【问题描述】:

我正在使用对象检测教程 api 来检测对象。到目前为止,它一直运行良好。现在我正在尝试将centroid tracking algorithm 与对象检测 api 集成。为了简要介绍质心跟踪算法的作用,它获取边界框的坐标,即Ymin, Xmin, Ymax, Xmax,并返回对应于给定边界框质心的x, y坐标。除此之外,它还将 id 分配给一个对象。

我的计划是使用 tensorflow 获取边界框的坐标并将其输入质心跟踪算法,然后最终获取检测到的对象的对象 id 和质心。

我面临的问题是 tensorflow 会话返回边界框的坐标,其值以小数表示,如 [(0.359079509973526, 0.2901528775691986, 0.9121878147125244, 0.8523546457290649)] 但质心跟踪器算法不接受这些值,因此最终输出为 0。如果我将边界框值从 [(0.359079509973526, 0.2901528775691986, 0.9121878147125244, 0.8523546457290649)] 更新为 [(359.079509973526, 290.1528775691986, 912.1878147125244, 852.3546457290649)] 然后它给了我输出,但它不是很准确。

有没有人集成这两种算法。如何将对象 id 分配给 tensorflow 中检测到的对象。谢谢

【问题讨论】:

    标签: python algorithm opencv tensorflow


    【解决方案1】:

    请注意 tensorflow 给出了归一化的坐标值。您必须将它们与框架的高度和宽度相乘:xmin * frame.shape[1], ymin * frame.shape[0], xmax * frame.shape[1], ymax * frame.shape[0]。这将解决您的问题。另外,请记住检查您的跟踪器接受的坐标顺序。

    【讨论】:

      猜你喜欢
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      相关资源
      最近更新 更多