在很多时候,我们可能需要使用到图像的识别与配准工作,来判断某个特征或者是划出某个特定特征的位置。现在的深度学习已经能够比较好地解决这个问题,比如常见的YOLO,可以利用几行设定代码就能够划出所需要识别的位置。但是精准度可能会有所偏差,因为在训练过程中使用的样例往往是被经过卷积处理学习的,许多特征点在这过程中可能会消失,并且池化之后以另一种方式进行学习和识别。也就是说许多模式识别的方法重在识别,所以在细节匹配上可能不太适用(例如通过匹配LOGO上的某一点来推算出其位置)。而本文所分享的是一种较为精确的配准方式,可以通过先验条件来推导诸如LOGO在场景中的具体坐标等问题。
关键词:机器视觉 机器学习 图像配准
1 类模型的构建思路
1.1 图像特征的提取算子
目前常用的三种提取特征的方法有surf算子,fast算子和sift算子,在目前版本的opencv中还集成了orb算子,但是这种算子主要是对fast算法的一种优化版本,所以不再讨论。其中论运算速度而言,fast>surf>sift,但是sift算子的提取特性最好,能拥有比较好的尺度一致性和旋转一致性,能够较好的保留特征,但是在很多情况下作为sift算法的改良版本surf算法也可以替代sift,以提高运算效率。但是为了实现思路的可行性验证,先使用了效果最好的SIFT算法进行项目的运用。
Sift算法的核心是构建了比例空间(Scalespace),来保证了尺度一致性,这也是它提取特征优于别的算法,运行速度