GHT
R-table 建立
1、对模板进行求导
2、canny边缘检测
3、y方向导数与x方向导数求解梯度方向phi
4、放置参考点一般是中心点
- 针对边缘点的梯度方向进行一个维度建立表格
- 利用梯度维度将相同梯度下的边缘点与参考点的偏移向量分别存储。(参考点指向边缘点)
search with R-table(VOTE)
其中12步与上阶段12步相同。
vote
前提已经进行相同的求导过程以及边缘检测过程
- 遍历经过处理后的边缘点,对每个边缘点查询R表,查询到与之符合的梯度行。
- 在该梯度行中,将边缘点与存储的偏移向量进行相减,得到可能的参考点。
- 在得到的参考点位置上投票数加1。
- 通过阈值化将投票数较多的参考点视为检测好的结果。
search with others channels scales and roate angles
Supplement
在R表中增加两个维度(大小与角度)
在实际中往往针对实际情况设计大小与角度的范围。
旋转角度
针对待检测图片的旋转角度情况,也可以看作整体的模板进行相反角度旋转。由于是整体上一定角度的旋转,因此可以将待检测图中边缘点的梯度反旋转到标准R表中,查询该梯度位于哪个区间,这个操作就是phi-theta 梯度-旋转角度(-符号是由于视觉上的顺时针对应于图片坐标系中’x指右,y指下’的逆时针)
问题整体旋转对于偏移向量的影响是什么?
旋转theta角度后查询R表中对应梯度区间,同样将查询到的若干偏移向量旋转到对应目标图的空间下,计算参考点投票数。
大小
scale表示标准模板与待检测图片中目标的放大系数。假设模板整体上放大scale系数后与待检测图片上目标的大小一致,因此模板放大的scale系数,对应于偏移向量整体放大了scale系数。