Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
DennisLiu1993 opened this issue May 16, 2022 · 29 comments

Comments

@DennisLiu1993
Copy link

DennisLiu1993 commented May 16, 2022

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

github連結

image

執行結果示例:
image

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@DennisLiu1993
Copy link
Author

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

38 454—45

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

wly2020-robot commented Jun 27, 2022

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

@wly2020-robot
Copy link

wly2020-robot commented Jun 27, 2022

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

@DennisLiu1993
Copy link
Author

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

1656549651731

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

需要很大内存吗?

@wly2020-robot
Copy link

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

@DennisLiu1993
Copy link
Author

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

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@wly2020-robot
Copy link

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

@DennisLiu1993
Copy link
Author

DennisLiu1993 commented Jul 2, 2022

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

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

角度精度看這裡

@DennisLiu1993
Copy link
Author

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

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

@wly2020-robot
Copy link

wly2020-robot commented Jul 4, 2022

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

@wly2020-robot
Copy link

wly2020-robot commented Jul 4, 2022

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

@DennisLiu1993
Copy link
Author

SIMD我不會了
加速方向參考

@DennisLiu1993
Copy link
Author

@laborer123
Copy link

看一下我开发的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

牛啊兄弟

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants