Multiple Blob Tracking
Multiple Blob Tracking
我想从视频中跟踪一些交通标志。我找到了一个很好的方法来解决这个问题:Link
我现在的问题是:我应该如何处理新的传入blobs的情况?我的意思是,对于一个Blob,我们可以定义一个搜索区域,但也许在下一帧中还会出现第二个东西?我该如何处理?
我从你提供的论文中了解到,这个系统已经可以同时跟踪几个标志,出现和消失。参见§2结尾:
最新跟踪的blob存储在临时内存中。帧(t+1)中的blob与临时存储器(…)中的blob相匹配,因此,当一个符号在特定帧中消失时,当它再次出现时,可以在下一帧中跟踪它。
下一个§(3 - blob匹配)解释了你如何"识别"你从一个帧跟踪到另一个帧的标志。但是,如果您可以匹配它们(识别它们),这也意味着您也可以不识别它们,这意味着存在新的符号:它们必须添加到内存中。
我认为(但我可能错了)误导你的是"搜索区域缩小"。我认为这个区域缩减是独立地对每个符号/blob(参见§2,"边界框是确定的")。所以不管有多少个符号。
算法如下:
- :
- 使用Kalman-Filters 检测"blobs"(=交通标志候选)
- 对于每个blob:
- 使用§3 中描述的环分割方法将该blob与已知blob匹配。
- 如果blob不匹配,将其作为新blob添加到内存
本文没有讨论何时从"最新已知blobs"内存中删除blob。由于该算法可以在斑点消失几帧后重新出现(例如被卡车或电线杆隐藏)以及任何运动(所以我们不能推断标志会消失在图片的两侧或变大后)的情况下工作,我认为(我的观点)我们可以同时使用时间限制和"区域碰撞"检测。如果一个新的blob出现在我们期望一个已知blob的区域,但与它不匹配,那么这意味着旧的blob不再相关。
祝你项目顺利!
相关文章:
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- WinVerifyTrust 仅在使用文件而不是内存 blob 时才有效
- protobuf C++ SQLite handle blob data
- 将图像魔术 blob 保存到节点缓冲区
- 给一个图 G 找到此图中的所有节点 blob,以便 node.color 属性 = 特定颜色
- MySQL c++ 连接器:使用 SetBlob() 在查询中设置多个 blob 数据的正确方法是什么?
- 当我调用它来解码 Blob 对象中的 png 图像时,"Magick++::readImages"引发警告
- Magick++没有加载TGA blob
- 错误:使用 tesseract 引擎时 C++ 中的声明'typedef struct tagBLOB BLOB'冲突
- Magick++ Blob to Image Error
- 从数据集 Blob 字段中打开和编辑文件
- 如何显示用于车辆分类的 Blob 大小
- 如何使用由 PNG 数据构建的 blob 初始化 Magick::Image obj(PNG 由 cv::imencod
- 如何使用ImageMagick Magick 将图像作为gif写为blob
- 提高 Blob 上传性能
- C++,sqlite3.当 BLOB 字段用作查询条件时如何处理它?
- C++ - 将 BLOB 存储为字符串
- C++驱动程序中 Blob 类型的映射
- Cassandra 中的 blob 数据类型
- Multiple Blob Tracking