目 录
摘 要 II
Abstract III
- 概述 3
1.1. 研究背景及其研究意义 3
1.2. 国内外研究现状 4
1.3. 研究内容 5
1.3.1. STFT特征点的提取步骤 6
1.3.2. 特征点匹配 6
1.3.3. 特征点聚类 6
1.3.4. 仿射变换 6 - 图像匹配 7
2.1. 图像匹配概述 7
2.1.1. 灰度匹配 7
2.1.2. 特征匹配 9
2.1.3. 比较 9 - SIFT的算法匹配 11
3.1. SIFT特征提取 11
3.1.1. Sfit特征提取 12
3.2. KD-tree算法原理 17
3.2.1. KD-Tree 17
3.2.2. 构建kd-tree 18
3.2.3. kd-Tree最近邻检索 19
3.3. 图像匹配过程 20
3.4. 本章小结 20 - 特征点聚类 21
4.1. 聚类概述 21
4.2. K-means聚类 21
4.3. 本章小结 23 - 图像转换以切割路径 24
5.1. 图像的放射变换 24
5.2. 定点合并 25
5.3. 本章小结 26 - 实验步骤 27
6.1. 提取特征点及其特征向量 27
6.2. 对特征点进行匹配 27
6.3. 实验结果 28
参靠文献 31
1.概述
1.1.研究背景及其研究意义
随着纺织行业的飞速扩张和对数字的深度转型,图像处理在织物领域已经逐渐成为了创新活动的关键组成部分。在近几年,国内外的研究者们在纺织品图像辨识、纺织品上的缺陷检查和机器视觉技术上都获得了丰富的研究进展,并已将这些研究成果成功地投入到实际生产场景中。特别指出,纺织品的自动配对与分隔科技,在这个领域已经获得了大量的关心。在研究织物图片识别流程时,我们采用了数学形态学的手法,并结合了计算机视觉的相关理念,设计了一种基于这一形态学原理的织物自动检测系统。这一技术能够以高效和精准的方式处理织品的图案,从而增强生产效益和削减劳动力成本,这对纺织行业的持续成长具有关键意义。
例如,在纺织业领域,为了提高生产效益和满足技术需求,所生产出的产品通常都是由多组具有相似图案的独立纺织物组成,通常形成的大型布料。打个比方,若计划生产单一的地毯,由于通常的成品地毯面积低于制造各种可加工织物的大小,为了优化生产流程,我们会选择使用多块独立地毯来制造织物。为获取单一成品地毯,有必要对这块较大的布料部分进行切割,以便各个小尺寸成品布能够被分开。
图1-1 实物图与标准图
图1-1给出了纺织出来的整块地毯织物和单个成品地毯的示例图像,在所展示的图像中,左侧呈现了完整的地毯图案,而右侧则是展现完整的成品地毯。在当前,绝大多数纺织厂家主要依赖人工技术来裁剪那些有相同纹理的布料,进而生产出单一的商品。采用这种方法的不足之处在于,其工作量大、处理速度缓慢、效能不高、消耗时间和资源、成本上升,而且在实际执行中,常常由于切制误差导致废品回收,这对纺织公司无疑带来了财务上的打击。
在这样的情境中,该研究旨在自动地识别并绘制织物的几何形态,然后进一步在光切制装置上实施自动切割。在实际操作中,大多数织物的设计形状往往是矩形的。这种面料通常比较柔软,当被送到切割设备上,常常因为如拉伸、褶皱等原因,织物在工作面上的布置不会非常平稳。这样的情况会导致大部分成品织物的边缘矩形出现变形,如果此时继续按矩形来进行切割,那么很容易造成形状的错误,并可能从表面产生不合格品。
1.2.国内外研究现状
图像匹配与分割是计算机视觉领域的核心任务之一,旨在识别、定位和提取图像中的关键信息。随着人工智能技术的飞速发展[1],图像匹配与分割技术在国内外均取得了显著的研究成果。本文旨在综述当前图像匹配与分割的国内外研究现状[2],包括技术原理、算法优化、应用领域、数据集与评价标准、研究团队、挑战与未来趋势等方面。
图像匹配与分割技术主要基于图像处理、计算机视觉和机器学习等领域的基本原理[3]。传统的图像匹配算法,比如SIFT (Scale-Invariant Feature Transform,SIFT)、SURF(Speeded-Up Robust Features,SURF)[4]等,通过提取图像特征点[5]并进行匹配来实现图像间的对齐。而图像分割则主要依赖于阈值分割、边缘检测、区域生长等方法。随着深度学习的兴起,卷积神经网络(Convolutional Neural Network,CNN)等深度学习模型[6]在图像匹配与分割领域取得了巨大的成功。通过训练大量数据,这些模型能够自动学习图像的特征表示和变换,从而实现更精确的匹配与分割。
为了提高图像匹配与分割的准确性和效率,研究者们不断对算法进行优化和创新。一方面,他们改进了网络结构,提出了如ResNet、DenseNet等新型网络架构,以提高模型的表征能力和泛化能力。另一方面,他们优化了损失函数,比如引入Focal Loss、IoU Loss等,以更好地处理样本不均衡和边界模糊等问题[7]。此外,还有一些研究工作将注意力机制、对抗性训练等新技术引入图像匹配与分割领域,以进一步提升模型的性能。
随着各种技术逐步进步,图像的匹配和分割技术在应用方面也持续扩展。医学图像技术在疾病监测和组织划分等方面已经得到了广大的采纳与应用。在安全管理领域中,图像匹配和分割技术被成功应用于面部识别以及目标追踪等多种应用场景。另外,在诸如自动驾驶、增强现实和智能家居这些领域内,这些技术也都展现了它们的关键价值。随着新技术如5G和物联网的进一步发展,图像匹配和切割领域的应用潜力将变得更加广大。
为了客观评估图像匹配与分割[8]算法的性能,研究者们构建了一系列公开数据集,如PASCAL VOC、COCO、Cityscapes[9]等。这批数据资料提供了丰富的图像信息和标记数据,为我们的算法培训和测试过程提供了关键的辅助。此外,科研人员也引入了如准确率、召回率、F1分数、IoU等不同的评价准则,以便更全面地评价算法在各种不同任务中的表现表现。
不论是在国内还是国外,许多顶尖的科研机构和团队在图像配对和划分方面都已经展现了显著的成就。例如,在深层次学习模型及其算法的优化方面,斯坦福大学、麻省理工学院、牛津大学等国际著名学院的科研团队为我们做出了不可或缺的贡献。清华大学、中国科学院的计算技术研究所等一系列国内顶尖研究机构,在此领域也有着显著的发展和进步。这些团队通过发表高质量的研究论文和申请各种专利权,从而促进了图像匹配和分割技术的进一步发展和广泛应用。
尽管图像匹配与分割技术已经取得了显著成果,但仍面临着一些挑战和问题。例如,在复杂环境下如何提高算法的鲁棒性和稳定性[10];探讨如何有效处理大量数据以便增强计算的效率和提升模型的性能水平;我们要如何确保隐私与安全性的保障。在未来,随技术持续创新和应用领域逐步扩展,图像的匹配和分隔将遭遇更多前所未有的考验和可能性。随着人工智能科技不断向前演进,图像的匹配和分割过程将更趋向智能和自动化,并将与其他行业的技术实现深度整合,进而创造出更多有创意的应用领域。
从上述描述来看,图像的匹配和分割是计算机视觉领域中的关键工作之一,国内外均有显著的研究进展。这项技术的推进意味着持续优化和创新算法,扩大其应用场景,创建公开数据集,并完善评估准则,从而进一步促进人工智能的进展并为整个社会贡献更多的实用价值。
1.3.研究内容
针对现有的自动切割技术存在的问题,本文的目标是提供一种放织物发生形变之后依旧能够非常标准的对织物图像进行切割的方法。
主要工作如下:
1.3.1.STFT特征点的提取步骤
利用SIFT算法对图像进行特征点提取的过程主要分为度空间的构造、测尺度空间的极值点、精确确定板值点位置、特征点方向分配、生成特征点描述子五个具体步骤[11]。
1.3.2.特征点匹配
当特征点被提取出后,下一步是进行特征点的匹配工作,而这篇论文采用的特征点匹配技术是基于划分比较与建立数据索引的方式,以便实现快速匹配的。此项过程的核心在于构建KD-Tree,并透过索引来完成相关的匹配活动。评估一组特征点是否符合正确的匹配点对是必要的,这是基于确定在待匹配图内与某一标准图像特征点的最近距离与次近距离比值是否低于预定的阈值来进行判断的,并据此展开对特征点匹配的过程。
1.3.3.特征点聚类
在K均值聚类算法[12](K-means clustering algorithm,k-means)中,首先,我们选取K个数据集内的任意点进行初始的聚类中心定位。紧接着,我们将样本点分布在最近的聚类中心所处的类目中,并依据欧氏距离来计算样本点与聚类中心间的相对距离,从而准确确定最近的聚类中心位置。对每个类别的聚类中心进行了再次更新,并计算了每一类的样本点均值,使其成为新的聚类基准。持续地迭代更新直至满足收敛的要求和条件。新增的聚类集群中央。
1.3.4.仿射变换
在聚类完成后,我们需要对图像做进一步的处理。通过仿射变换来实现平移、旋转、缩放等操作。仿射变换是一种线性变换,可以通过矩阵乘法和向量加法实现。具体而言,对于二维空间中的点(x,y),进行仿射变换可以表示为:
其中是线性变换的矩阵,是平移向量。在实现仿射变换时,我们通过定义仿射变换的矩阵和平移向量,对于每个输入点 (x,y),将其表示为列向量,将输入点进行仿射变换,计算输出点(x′,y′),即将输入点列向量乘以仿射变换矩阵,再加上平移向量。输出点 (x′,y′)即为经过仿射变换后的结果。
2.图像匹配
2.1.图像匹配概述
图像匹配可以理解为在计算机视觉领域,通过对比两个或多个图像,进而确定它们间的相似性或对应关系的一系列操作。在图像检索、追踪目标以及图像对齐等多个场景中,图像匹配经常被使用。
在图像匹配的过程中,关键是确定两幅图形之间的特征点或描述子,通过对比这两个特征或描述来确定它们的匹配性。图像匹配方面的普遍技术包括:特征点匹配、模板匹配[13]、基于深度学习的匹配等。
特征点匹配是图像匹配中的典型方式。该技术通过识别图像的核心位置,如角度和边缘,并据此来确定这些关键位置的描述方法。如SIFT(也被称为SIFT或SURF)、ORB(也称为ORB)等技术都用于实现图像的匹配工作。通过对两图像中特征点描述子的对比,我们能够找寻到它们的对应对应联系。
模板匹配技术是图像识别中的一种热门方法,其主要手段是在图像之间识别出与另一图像模板最为相似的区域,以达到图像匹配的功能。模板匹配方法适合处理如目标识别、物体鉴别等各种任务。
其中可分为灰度匹配和特征匹配两种:
2.1.1.灰度匹配
调整图像灰度级别以匹配另外一副图像的过程被称为灰度匹配,这种图像匹配方法在图像处理和计算机视觉领域中被广泛应用,目的是确保两块图像在灰度水平上具有高度相似性。在执行匹配时,首先我们需要明确哪一个图像标准应与示例图像进行对比,并调整其灰度级别。随后,我们会在对比两图像的灰度等级分布之后,采用合适的灰度转换函数对目标图像的灰度级别进行修正,使其与参考图像相匹配。
灰度匹配的几个主要算法:
1. MAD算法
平均绝对差算法(Mean Absolute Differences,MAD),这种匹配算法其实在很久之前就被提及,它在模式识别领域有着广大的使用,且它的思维方式简明,其匹配的准确度亦相当出色,MAD算法的相似性测度公式如下:
这一算法具有一个明显的特性:其思维路径极其简明,易于初学者掌握。计算过程直观简洁,匹配准确度也相当高。然而,算法的运算需求巨大,并且对噪声极为敏感,因此在具体情况下需仔细考虑并应用该算法。
2.SAD算法
绝对误差方法也被俗称为SAD算法,亦即SAD。而之前我们已经讨论过MMAD算法,这一方法在逻辑上与MAD算法大致相似,但在具体的数学公式上,两者存在细微的差异,请看如下公式所示:
3.SSD算法
误差平方和算法被称为SSD(Mean Square Differences,SSD)算法,也可以把它叫做是差方和算法,这个算法和上面的两个算法本质上是一样的,也是相似度测量公式有一点的不同,具体公式如下:
4.MSD算法
平均误差平方和算法被称为(Mean Square Differences,MSD)算法,也可以叫他均方差算法,一般是被用来计算子图与模板图的距离的平均值,算法公式如下:
还有一些算法,就不再这里继续介绍了。
2.1.2.特征匹配
在很多情况下,一幅图像包含了诸多与众不同的像素点,这些被我们视为该图像的标志或特性,并被人们称为特征点。在算机视觉技术范畴,图像特征与四配的关系主要基于一个特定的特征点。因此,如何准确地识别和定义图像中的这些特征点显得尤为关键。
在计算机可视化这一技术中,技术的关键或特性点,也常被称为兴趣点,已经得到了广大的应用,这些点包括了如何识别目标、图像的校准、视觉追踪以及3D构造等各种功能。这个观点是基于从图片中精选出某一特定点来进行深入研究的手段,而非单纯地对一整张图片进行全面审视。只要图像中能够侦测到众多具有独特属性和稳定度的感兴趣点,那么上述定位方法就会变得格外高效。特征匹配的核心思想是,通过仔细分析两幅图像的特性标记或者描述,来判定它们之间的相应匹配。大体来说,这三个主要领域包括特征提取、特征匹配及映射关系的选取。特征提取的最终目的是从图像中提取出那些既具备自身特性又显示出稳定性和描述性的特定点。现今,我们广泛使用的特征提取技巧包括:SIFT、SURF、ORB等不同的技术;特征匹配的方法是通过对两张图片中的特征或描述进行比较来确定它们之间的联系和对应关系。常用的特征配对方法包括最近邻搜索算法、基于距离算法的配对策略以及RANSAC(多路基函数)技术等;匹配关系筛查是指在进行特征匹配过程中可能会遇到不准确的匹配或者出现异常点,因此对这些匹配关系要进行更深入的筛选,以便移除它们,从而确保结果的准确度和可靠性。经历这三个阶段之后,特征的匹配变得可行。
2.1.3.比较
在图像处理的领域里,灰度匹配和特征匹配被认为是两组具有独特性的匹配机制。灰度匹配主要依靠图像的灰度值进行,此技术是通过比对图像的灰度数据来识别相似或相近的区域或目标。灰度匹配算法常用于如图像对齐、模板匹配等多个不同的任务领域内。后续的特征匹配方法是将已提取的特征点或描述子与图像进行比较。通常,通过这种比较方法,可以确定图像中的特征点或描述子之间的相似或联系,从而实现匹配的过程。如目标鉴别、图像对齐、3D再建等任务中,特性匹配通常被选用。
3.匹配算法
3.1.SIFT特征提取
SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)是一种图像局部特征提取算法[14]。该方法是通过在多元的尺度空间内精确地寻找和确定极值点(如特征点或关键点),以及确定它们的主要方向,从而构建关键的描述符以进一步提取这些特征。在SIFT技术中,提取出来的关键因素表现出尺度稳定和旋转不变的特性,并且它们不会受到光线、仿射变化或者噪声等元素的影响。
以下是SIFT特征提取的主要步骤:
- 建立高斯差分金字塔:极值检测[15]的大致原理是根据不同尺度下的高斯模糊化图像差异(Difference of Gaussians,DoG)寻找局部极值,这些找到的极值所对应的点被称为关键点或特征点。
- 极值点检测:在不同的尺度空间中,通过比较每个像素点与其周围像素点的值,找到局部极值点。这些极值点就是初步的关键点。
- 关键点定位:在一些情况下,可能会检测到过多的关键点,其中一些可能相对不易辨识或易受噪声干扰。为了消除这些关键点,可以通过关键点附近像素的信息、关键点的尺寸、关键点的主曲率等因素进行筛选和定位。
- 方向定位:为了使描述符具有旋转不变性,需要为每一个关键点分配一个基准方向。这通常是通过计算关键点局部邻域的方向直方图,并寻找直方图中最大值的方向来实现的。
- 关键点描述子:在确定了关键点的位置和尺寸,并为其分配了方向后,可以生成一个描述子向量,该向量可以确保关键点在移动、缩放、旋转时的不变性。此外,这个描述子向量还能使关键点在不同光线和视角下保持其不变性。
按照我们的方法步骤,SIFT算法能够识别并提取图像的显著特点和相应的描述子,这些特征和描述可在图像匹配、目标追踪、3D重塑等多种计算机视觉任务中应用。
SIFT算法的核心:首先,在各种尺度空间内探寻稳定的特征点,接着计算这些特征点所代表的尺寸、方向及其尺度的具体信息。这些建议的特征点不仅表现出强烈的鲁棒性,而且对于光照、仿射变化以及噪声都不会产生干扰。描述这些特征点有助于我们利用SIFT算法来鉴别并匹配图像内的核心特性,进一步推动图像处理和识别的实施。所谓匹配过程,其实是对这些特征点进行对照的手段,这个过程可以参考图2-1:
图3-1 SIFT算法匹配流程图
发大水发
SIFT算法
1.生成高斯差分金字塔,尺度空间的构建
2.间极值点的检测
3.稳定关键点的精确定位
4.稳定关键点方向信息分配
5.关键点描述
6.特征点匹配
KD-tree
1.介绍一下kd-TREE
2.构建ka-tree
3.kd-TRee最近邻检索
然后把这个顶点合并也重新写一下
3.1.1.Sfit特征提取
SIFT(Scale Invariant Feature Transform)通常被广大研究者们视为尺度不变特征的转换过程。SIFT的运算符利用128维特征向量来阐述图像内部检测的特定点,这暗示一个图像经过SIFT的处理会被转化为128维特征向量。这一特征向量集在图像缩放、平移和旋转的过程中具有固定特性,同时在光线变化、仿射及投影改变中也能保持其稳健性,成为描述图像局部特性的一个非常高效的手段。
SIFT算法步骤分为:
(1)尺度空间极点检测
(2)关键点精确定位
(3)确定关键点方向
(4)生成特征向量
(1)生成高斯差分金字塔,尺度空间的构建
该方法可以实现对初始图像的尺度转换,从而得到在多尺度条件下的图像尺度空间序列,并从尺度空间中提取主轮廓作为一种特征向量来进行展示。这种方式使得我能够进行边缘、角点的探测,并在多种分辨率条件下进行关键位置的精确提取。在不同的尺度中,我们观察到图像的模糊度会持续上升。此技术能够模拟人类在从靠近到远离目标时,目标在视网膜上的生成过程,有助于我们更加深刻地解读并处理这些图像,这即代表了其形成的过程。
图3-1 金字塔图像
高斯金字塔是Sift算法中一个创新的概念,起初的特点是,它并非是一个金字塔,而是由多个金字塔组合而成,每个金字塔都有其特定的层数。
高斯金字塔构建过程:
1.首先将原始图像放大至两倍,作为高斯金字塔结构的第一批第一层。这一组第一层图像经过高斯卷积(也可以被称为高斯滤波)处理后,作为第二批金字塔的构成部分,其高斯卷积函数则是:
对于参数σ,在Sift算子中取的是固定值1.6。
2. 将σ乘以一个比例系数k,等到一个新的平滑因子σ=kσ,用它来平滑第1组第2层图像,结果图像作为第3层。
3. 一直这样重复,最后就能够得到L层图像,在同一组中,每一层图像的尺寸都是一样的,但是平滑系数不一样。它们对应的平滑系数分别为:0,σ,kσ,k2σ,k3σ……k^(L-2)σ。
4. 在进行处理时,首先把得到的图像视作第二组图像的起始层。随后,在第一组图像的倒数第三层图像上采用σ平滑的高斯策略。这一处理过程使得在第二组图像中得到的第二层图像与第二组的处理方法相似。采用这种方式确保第二组也可以得到相同体积的L层图像,与组内图像具有一致的平滑系数,即:0,σ,kσ,k^2σ k3σ……k(L-2)σ。但当谈及其尺寸,第二组成像仅仅构成了第一组图像数量的一半而已。通过这样持续的操作操作手法,我们能形成O组,而这组L包含了OL的图像。这些合成出的图像集合一起构成了一个高斯的金字塔模型,下面详述了具体的金字塔结构:
图3-2 高斯金字塔
然后,在同一组里面,不同层的图像尺寸是一样的,后一层图像的高斯平滑因子。
(2)高斯金字塔与高斯差分金字塔
高斯金字塔和高斯差分金字塔如下图所示:
图 高斯金字塔
这里的几个参数定义如下:
4. 金字塔的组数(number of octaves):大多数情况下为4,但是实际上这个值与图像的大小有关,我在网上查到的资料大多数为⌊log2(min(M,N))⌋−3或者⌊log2(min(M,N))⌋−2,具体实现看效果确定吧。