shape_based_matching icon indicating copy to clipboard operation
shape_based_matching copied to clipboard

追蹤了博主三年了,在此用一個開源模板匹配算法回饋給各位

Open DennisLiu1993 opened this issue 3 years ago • 31 comments

此演算法是基於Normalized Cross Correlation實現的算法,在不是太複雜的的環境下可以有效地替代ShapeBasedMatching,內部也不難理解,無SIMD,效能能夠跟上商用函示庫的相同算法,只是把OpenCV用到極限,花幾天就能讀透

github連結

image

執行結果示例: image

DennisLiu1993 avatar May 16 '22 10:05 DennisLiu1993

你好,跑了一下,效果还可以;那么请问检测速度和精度怎么样?谢谢

wly2020-robot avatar Jun 16 '22 12:06 wly2020-robot

测试了一下,检测速度有点难达到工业要求。精度尚不知。

wly2020-robot avatar Jun 18 '22 03:06 wly2020-robot

@wly2020-robot 能發你測試的圖給我嗎? 還有你要求的速度也告訴我,我看看有沒有機會達到

DennisLiu1993 avatar Jun 24 '22 05:06 DennisLiu1993

你好,测试图目前全部来自你的实例图。

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

首先说一下角度检测,采用你的测试用例图;比如实际上是0度,用你的算法检测出来是-0.761;实际上是45度,实际检测出来的是38.454;检测效果图如下: -0 761—0

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

38 454—45

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

偏差很大,是不是我哪里操作不对?

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

在说说检测速度:上效果图 9 1 2 3 4 6 7 8

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

我的电脑主要配置如下图: 处理器配置

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

检测速度会去到600多ms,像素级别也就是1000万多一点,还是慢了点。

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

我实际用的arm嵌入式板,相比电脑配置检测速度就要慢3-4倍。

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

实际上工业上检测对检测速度和精度要求是高的。你这个算法就测试来看,与博主大佬的算法差距还是有的。也有可能我有些方面没有考虑到,或者没有优化到,请指教?谢谢。

wly2020-robot avatar Jun 27 '22 06:06 wly2020-robot

1.38度那張圖實際就是38度... 我只是隨手擺放了一下就取名"45"了 2. 把Min Reduced Area改成64,重新拖曳模板圖片,除了Src6,全部都可以再快不少 3. 勾選SIMD checkbox

DennisLiu1993 avatar Jun 29 '22 03:06 DennisLiu1993

嗯,38度那张图,那实际检测出来的角度38.454,偏差0.454度;0度那张图实际检测出来的角度是-0.761度,偏差0.761度;实际工业上定位检测,角度偏差在0.1度左右,甚至更小;能有优化的空间吗?

wly2020-robot avatar Jun 30 '22 00:06 wly2020-robot

1656549651731

wly2020-robot avatar Jun 30 '22 00:06 wly2020-robot

把Min Reduced Area改成64,内存使用直接飙到6个G,直接卡死。

wly2020-robot avatar Jun 30 '22 00:06 wly2020-robot

需要很大内存吗?

wly2020-robot avatar Jun 30 '22 00:06 wly2020-robot

1656549872534 单勾选SIMD,速度提升不大。

wly2020-robot avatar Jun 30 '22 00:06 wly2020-robot

1.隨手擺的不是真0度,不存在你說的誤差問題... 角度精度絕對是>0.1 38度也不是真的38.0度 你想要Src0檢測到0度就用Src0取模板 Dst5

  1. 我測同樣的圖內存才用76MB,你有機會用debug調適再看看吧
  2. 問了那麼多,幫我按個star吧

DennisLiu1993 avatar Jul 01 '22 10:07 DennisLiu1993

你好,首先对你的解答很是感谢;已经把star给到你了。

wly2020-robot avatar Jul 02 '22 02:07 wly2020-robot

Src1 能否给出在Min Reduced Area为64时,检测上图的耗时结果呢?把电脑配置也麻烦说一下,谢谢!

wly2020-robot avatar Jul 02 '22 02:07 wly2020-robot

同时能否给出算法的检测角度偏差范围呢?就像meiqua一样给出具体的精度数据,谢谢。

wly2020-robot avatar Jul 02 '22 02:07 wly2020-robot

配置: i7-10700, 16GB內存, win10專業版 image

耗時170ms左右,你再同步下最新的代碼,此SIMD捲積在金字塔頂層不適用,我已經修改掉了

角度精度看這裡

DennisLiu1993 avatar Jul 02 '22 10:07 DennisLiu1993

把Min Reduced Area改成64,内存使用直接飙到6个G,直接卡死。

改完Min Reduced Area,要重新拖曳樣板圖片,不然會出現無法預期的情況

DennisLiu1993 avatar Jul 02 '22 10:07 DennisLiu1993

是的,我的配置要比你的低一点,检测下来大概190ms左右,还是觉得慢,工业上的工控电脑性能都比较弱,检测速度难以满足要求,有没有优化空间?效果图如下 detectPic

wly2020-robot avatar Jul 04 '22 07:07 wly2020-robot

对于目标的角度检测精度是>0.2吗?我在arm的6核心处理器上跑出来的效果去到1340ms左右,如果能跑出200-300ms基本上就满足速度要求了。如果在ubuntu系统上跑,有没有相应的版本或者是替换SIMD的版本参考呢?谢谢

wly2020-robot avatar Jul 04 '22 07:07 wly2020-robot

SIMD我不會了 加速方向參考

DennisLiu1993 avatar Aug 12 '22 03:08 DennisLiu1993

看一下我开发的patmatch形状模板匹配 https://www.bilibili.com/video/BV1Ah4y1h7vs/?spm_id_from=333.999.0.0&vd_source=0bfccc45d8303cee561cd4a90452a69a

体验地址链接:https://pan.baidu.com/s/1qvlGxvTQDsTWujCmL1aMPw?pwd=16Ai

牛啊兄弟

DennisLiu1993 avatar Oct 06 '23 06:10 DennisLiu1993

看一下我开发的patmatch形状模板匹配 https://www.bilibili.com/video/BV1Ah4y1h7vs/?spm_id_from=333.999.0.0&vd_source=0bfccc45d8303cee561cd4a90452a69a 体验地址链接:https://pan.baidu.com/s/1qvlGxvTQDsTWujCmL1aMPw?pwd=16Ai

牛啊兄弟

在哪,我这边链接都打不开搜不到了

laborer123 avatar Jan 16 '24 11:01 laborer123