meiqua / shape_based_matching(issue记录)

本文讨论了如何优化模板匹配中的response map创建,包括速度提升和抗缩放方法。介绍了Halide DSL用于优化内存局部性和并行性,以及在opencv中应用的策略。此外,针对小目标匹配和不同场景,提出了调整扩散层数和大小的建议,并讨论了与DOPE算法的比较。最后,分享了实现的基于tile的融合方法,提高响应图生成速度。
摘要由CSDN通过智能技术生成

readme

与opencv linemod 源码相比,我们从6个方面进行了改进:

  • 删除深度模式,所以我们不需要虚拟函数,这可能会加快
  • opencv linemod最多只能使用63个特征。现在我们可以有8191个
  • 简单代码,旋转和缩放模板图像用于训练。有关示例,请参见test.cpp
  • nms用于精确的边缘选择
  • 单通道方向提取节省时间,对于灰度img稍微快一些
  • 对于多种平台SIMD,可以使用MIPP。例如x86 SSE AVX, arm neon。为了获得更好的性能,我们将MIPP扩展到uint8_t来执行一些指令。(否则我们只能使用一半特征点来避免int8_t溢出)
  • 直接旋转特征以加速模板提取;
    选择分散特征会更均匀;
    如果特征数不够的话,尽可能选择所有特征,而不是抛弃模板(但是features <= 4将自动丢弃)。

issue 1 如何加快responsemap的创建?

  • 测试中发现整个时间,大部分用于了创建responsemap, 请问这个过程可以有办法加速么?例如我有张130万像素的图片,用了150ms创建的,有办法加快么?

有,还可以加速一个量级。
目前的速度瓶颈在opencv的filter上,我之前研究过,opencv用到的加速技巧有separeble filter, SIMD。还可以用的技巧有parallelism、kernel fusion(sobel phase pyrdown大部分都能fuse起来)。
其实这个要写的可读性好、速度

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值