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

关于测试中,咨询调试处理 #17

Closed
cheny00 opened this issue Aug 5, 2022 · 11 comments
Closed

关于测试中,咨询调试处理 #17

cheny00 opened this issue Aug 5, 2022 · 11 comments

Comments

@cheny00
Copy link

cheny00 commented Aug 5, 2022

Good Job
感谢博主分享与解答
(PS:之前用旧的code由于种种原因,未能调通,昨天又重新下载后很快就调试出结果了\^_^//)

采用最新的code,测试过程中,如何显示检测时间,以及右下角的鼠标位置信息?
这里的检测时间,是代表哪些环节?还是说是从检测图像读取到目标显示的所有时间?
image

@DennisLiu1993
Copy link
Owner

m_statusBar.SetPaneInfo (0, indicators[0], SBPS_NOBORDERS, 150);//设置状态栏的宽度
m_statusBar.SetPaneInfo (1, indicators[1], SBPS_STRETCH, 200);
m_statusBar.SetPaneInfo (2, indicators[2], SBPS_STRETCH, 200);
m_statusBar.SetPaneInfo (3, indicators[3], SBPS_STRETCH, 200);

這幾行調整一下,第四個參數是狀態欄的寬度

檢測時間代表純執行時間,從建立金字塔到取得所有結果,沒有包含檔案讀寫

@cheny00
Copy link
Author

cheny00 commented Aug 8, 2022

你好,博主,检测时间可以观察了
1 检测时间
1.1 不包括检测图像读取加载吗?
1.2 若有预处理,是否也不计时在内?
1.3 在线测试,模板图像在这里仅加载一次,且不计时在内?

2 模板图像获取,需要做哪些人为处理,才能获得较为理想的模板信息呢?

3 目前测试与halcon相比,采用1280X960检测图像和640X640模板图像,整体效果还可以
3.1 一般定位在x和y方向各存在±1像素以内的偏差,角度存在1°以内的偏差,但也存在较大定位偏差;有什么方式可以增强定位精度的方式?比如2中对模板图像进行人为处理等。
3.2 参数设置,目标数目1、最大重叠率0、得分0.9、角度范围[-10,10],开SIMD和次像素估计,耗时45-65ms(处理器i7-12700H,2.7GHz);该耗时是否在合理预期范围?耗时波动20ms由哪些因素影响?能否进一步加速缩短耗时?
image

4 最近打算进一步研究您发的论文和该方案,在方案上如何快速梳理流程和原理,您有哪些建议吗?


感谢博主近些天的帮助与指导
(ʃƪ ˘ ³˘)啾❣。・゚♡

@DennisLiu1993
Copy link
Owner

感謝測試
1-1 不包含加載
1-2 我沒有做預處理,這可能是Halcon比較準的原因
1-3 是的

2 我不知道有什麼方法比較好,論文中也沒看過
3-1 老實說我沒招了
3-2 波動20應該是你的CPU有在做其他事情,加速部分你可以詢問 @githublqs,他跟我討論很多,只是我太忙了沒時間弄

PS 那篇論文不是我寫的,有些東西我也看不懂,例如: 最高分要是在3*3的邊界我就無法處理。
不過作者開了一間公司,裡面有軟體可以下載來測試,他的軟體用亞像素的確是變準的,我的卻沒有

@cheny00
Copy link
Author

cheny00 commented Aug 11, 2022

感谢回复
1 关于定位结果的询问,采用圆形模板匹配检测图像

PCL_temp
PCL

1.1 旋转范围为0°时,测试定位(x,y)均为像素级整数信息,如何获取亚像素级的定位结果呢?

image

1.2 旋转范围设置非0°时,可以获取亚像素级的定位结果;但以当前设置1时(2°的范围),存在超出该范围的定位角度结果,造成这种现象可能的因素是哪些,有什么解决方法吗?
(PS:还是说,我对Tolerance参数设置角度的理解有误,那应该如何理解?)

image

2 关于论文与本源码
2.1 在模板匹配领域里,您有哪些认为不错的论文或是检索关键词等资料信息,能否提供指导一下
(PS: Maybe 我将要在这一方面长期钻研了)
2.2 本源码工程,如何梳理和研究更加高效,能否提供一下脉络或线索

@DennisLiu1993
Copy link
Owner

1.1 0度沒有角度資訊了,用一般二維的方法
1.2 取決於我對於角度搜索範圍的定義: 上一層金字塔的匹配角度+-角度步長,在金字塔比較下層,通常角度步長會>2度

dAngleStep = atan (2.0 / max (pTemplData->vecPyramid[iLayer].cols, pTemplData->vecPyramid[iLayer].rows)) * R2D;
for (int i = -1; i <= 1; i++)
	vecAngles.push_back (dMatchedAngle + dAngleStep * i);

2.1 最終你還是要朝Shape Based Matching的,NCC適用的範圍比較少。Github-meiqua
2.2
加速可以朝幾個方向:

  1. GetNexMaxLoc (),改為分區域計算min max值,塗黑後在重新計算有被影響到的區域。這對小模板提速效果明顯
  2. cv:: matchTemplate (),中大模板的計算為FFT,修改OpenCV源碼讓模板的FFT可以不用重新計算
  3. A real‑time two‑stage and dual‑check template matching algorithm based on normalized cross‑correlation for industrial vision positioning.pdf

@cheny00
Copy link
Author

cheny00 commented Aug 15, 2022

1.1 那这样理解是否合适:由于0°没有角度信息,使得3X3X3二项式插值无法实现,从而只有像素级的定位结果。

1.2.1 Tolerance的参数物理含义是什么,不是设置检测图像的旋转范围吗?
1.2.2 右下窗口返回的Angle是模板对应检测目标的实际物理角度信息,通过各层金字塔的匹配角度+角度步长确定?

2.1 测试了一下该博主的based与subpixel(https://github.com/meiqua/shape_based_matching/tree/subpixel)

2.1.1 发现subpixel创建检测图像的响应表耗时是based的一倍左右,这可能是进行了icp处理后产生的效果,您知道icp为什么会造成近一倍的耗时增加吗?
2.1.2 对该subpixel响应表创建过程,有哪些可尝试的改进方向?
2.1.3 观察了一下模板特征点的筛选与确定,在距离约束与nms作用下,发现对特征点拾取分布比较均匀,但是对于部分细小的结构/纹理特征产生了消除或抑制的影响;除非增加大量的特征点数量,但这样并非一种较好的方式,而且增加特征点数目也导致匹配结果与效果下降。我认为对于模板匹配而言,图像目标的特征性信息对匹配效果有很大的影响,请问您有哪些方式或想法可以更加有效的提取出局部细小的结构/纹理特征?

2.2 对于模板匹配技术已经发展几十年,很多商业软件也是从当初的技术与思想上发展与演变过来的,对于Halcon等商业软件的模板匹配技术或文档,在检索方向上您有哪些建议与理解?尤其是对于早期的技术资料与技术思路。

@DennisLiu1993
Copy link
Owner

1.1 是的
1.2.1 是啊,但有可能被最底層的AngleStep超過
1.2.2 實際物理角度,精度為AngleStep

2 你要問meiqua,他的東西太高深了

2.2 商業庫的邏輯無法參透,我隱隱覺得這些公司發展了20年的ShapeBasedMatching是不可能被模仿的
NCC多看一下論文可能可以逼近效果

@cheny00
Copy link
Author

cheny00 commented Aug 18, 2022

谢谢回复
这几天在梳理源码,待我把有疑惑的问题梳理清再向您请教

@githublqs
Copy link

githublqs commented Oct 11, 2022 via email

@Tony-Zhang-1229
Copy link

从meiqua博主找到这里的,看到您的代码也很好,最近会试一下。希望有机会多多交流,已给星星 @DennisLiu1993

@DennisLiu1993
Copy link
Owner

从meiqua博主找到这里的,看到您的代码也很好,最近会试一下。希望有机会多多交流,已给星星 @DennisLiu1993

感謝支持

@cheny00 cheny00 closed this as completed Feb 10, 2023
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

4 participants