[关闭]
@qiezhian 2014-07-10T07:54:15.000000Z 字数 835 阅读 1319

多目标跟踪软件设计

research


1.目标检测节点设计

  1. struct detection
  2. {
  3. //Label是本节点的标号
  4. int Label;
  5. //fragment,object, group三者之一
  6. int Fog;
  7. //本节点的位置信息
  8. Rect rect;
  9. //检测区域像素面积
  10. int Area;
  11. //u和s是高斯分布的均值和方差,用来表示一个高斯分布
  12. int u;
  13. double s;
  14. //下一帧中标记为本Label的元素个数
  15. int Label_Num;
  16. //指向下一个detection节点的指针
  17. detection* pNext;
  18. //孩子节点,如果本节点为object或group,可能会有孩子节点
  19. detection* pChild;
  20. }

2.目标标记

t+1时会检测到很多detection节点,串成链表lt+1。对lt+1中的元素xkt+1lt中每个元素进行概率运算,取和其最匹配的元素的标记作为xkt+1的标记,如果最高匹配的概率小于某个阈值则表明xkt+1是新目标,赋予其新编号。

3.部件--目标--组群 模型标记————FOG图更新

FOG图,即Fragment--Object--Group模型图,用来标记detection元素为部件、目标或者组群身份。
lt中的元素进行检查,检查xktLabel_Num字段,如果为0,则说明该目标在t+1帧中消失了,如果为1,说明该目标在t+1帧中继续存活,如果大于1,说明该目标在t+1帧中分裂为多个部件,在lt+1中搜索Label等于xktLabel的元素,并将其更新到FOG图中。
最后检查object之间距离过小的object对,产生新的group节点,将object对作为此group的孩子节点。原有的group节点的孩子object距离过大,则将group节点删除,恢复object节点。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注