图5E示出了在(2,1)、(2,−1),(1,−2),(−1,−3)、(−2,−4)、(-2,−5)处的平方范数为5的一组内部像素被顺时针遍历。对于简化查找表400B或400C中的(2,1)处的内部像素,计算系统110配置为对称地识别其他七个内部像素。
重复所述过程,直到在感兴趣区域中检测到第一个局部特征。图5F示出了遍历感兴趣区域中平方范数小于23的像素的螺旋序列的示例。
如图所示,序列从(0,0)处的中心像素开始,到(2,4)处的像素结束,这看起来像一个向外的螺旋。如果在遍历(2,4)处的最后一个像素之前发现特征,则不需要额外的计算来遍历感兴趣区域500的其余部分。
微软指出,以这种螺旋序列遍历感兴趣区域中的像素是有利的,因为感兴趣区域通常包含围绕其中心的特征点。特征出现的概率集中通常可以用正态分布来表征。螺旋搜索从感兴趣区域的中心开始,这显著增加了在遍历整个感兴趣区域之前找到特征的可能性。
然而,无论特征出现的概率分布如何,暴力搜索的预期时间都是相同的。螺旋搜索的预期时间因此比传统的强力搜索显著提高。
图9示出了以螺旋序列遍历感兴趣区域中的像素以识别局部特征的示例方法900的流程图。
方法900包括识别图像中具有多个像素的感兴趣区域,每个像素对应于特征分数(动作910)。方法900还包括以预定义的顺序遍历感兴趣区域中的每个像素,以基于其邻域中的特征分数来确定其是否是局部特征(动作920)。
在一个实施例中,预定义序列是从感兴趣区域的中心向外到边缘的向外螺旋序列(动作922)。方法900同时包括,响应于基于某些像素的特征分数确定某些像素是一个或多个特征,将它们的位置细化到亚像素精度和/或在特征点处提取一个或更多个特征描述符(动作930)。
相关专利:Microsoft Patent | Spiral feature search
名为“Spiral feature search”的微软专利申请最初在2021年7月提交,并在日前由美国专利商标局公布。