Solving Jigsaw Puzzle Problem Based on Improved Context-Free Network
In this paper, we propose new methods for solving jigsaw puzzles using deep learning techniques. As an interdisciplinary intellectual challenge, the complexity of jigsaw puzzles grows exponentially with the number of pieces. This paper introduces an unsupervised learning method based on a modified AlexNet convolutional neural network architecture for solving the jigsaw puzzle problem of natural images. This method improves the performance and generalization ability of the model by constructing a puzzle task prediction network. The experimental part is carried out on the self-made fruit and vegetable dataset, and the effectiveness of the model in puzzle restoration tasks of different complexity is verified. Finally, the paper summarizes the research results and puts forward the future research directions.
Image Restoration
拼图游戏是一款广受欢迎的智力游戏,它具有多样的形式,不同的难度,玩家需要将杂乱破碎的小碎块按照一定的规律还原成完整的原始图片。解决拼图游戏是一种十分复杂的问题,它涉及计算机科学,数学,工程学等学科。学者们利用这些学科知识将无序的小碎片按照某些规则还原成有序的原始图片,提出了许多拼图问题的相关研究,并将这些研究成果应用到实际生活中,例如辅助天气检测预测
早在1964年,Freeman和Garder
随着深度学习技术的发展,相关技术也应用在解决拼图问题上。一些基于卷积神经网络的方法被大量引入。Le等人提出在图像重组的局部阶段通过构建深度卷积网络(CNN)来检测两两拼图块之间的兼容性,并且正确地计算出成对的匹配。在全局组合阶段使用两种基于循环闭合的搜索算法。通过该两个阶段,可解决各种谜题
关于方形拼图问题Gallagher等人将其分为三种类型
拼图问题本质上就是一个“排序”问题,目标为根据拼图块之间的空间关系进行排序,而卷积神经网络(CNN)特别适合处理空间数据。因此我们借鉴Noroozi
AlexNet卷积神经网络是由Krizhevsky、Sutskever和Hinton于2012年提出的一种经典卷积神经网络。彼时,AlexNet在视觉识别领域斩获了卓越的成绩,使得CNN成为在图像分类上的核心算法模型。
AlexNet由卷积层和全连接层构成,其中卷积层共计五层,每一层卷积层均包含卷积核、偏置项、ReLU激活函数以及局部响应归一化(LRN)模块。全连接层共有三个。其基本配置如下:
卷积层C1:使用96个尺寸为11 × 11 × 3、步长为4的卷积核对RGB三通道的224 × 224 × 3输入图片进行滤波操作。接着,将一对55 × 55 × 48的特征图分别输入ReLU激活函数。对激活后的图像实施最大池化。池化后进行LRN处理。卷积层C2:使用C1输出作为输入,使用256个大小为5 × 5 × 48的卷积核对其进行滤波。卷积层C3、C4、C5:分别采用3 × 3的卷积核,步长为1,滤波器数分别为384、384和256。全连接层F6、F7:通过4096个大小为6 × 6 × 256的卷积核生成4096个尺寸为1 × 1的特征图。将这些特征图输入ReLU函数并且进行Dropout处理,以减少过拟合现象的出现。全连接层F8:具备1000个神经元,对应着1000个类别的输出。最后这些输出输入到1000维的softmax层,生成1000个类别预测的值。
这种多卷积层和全连接层的深度结构使得AlexNet能够有效提取每个拼图块中的高层次特征,如形状、颜色和纹理,从而更好地处理拼图块之间的复杂组合关系,提高拼图重组的准确性。
Context-Free Network (CFN)是Noroozi等人在2016年提出的孪生卷积网络
对拼图碎片进行还原,相应的评价指标是必不可少的,通过计算指标的度量值,有利于拼图还原的调整与优化。
自动解决拼图游戏涉及很多相关的领域,其中Alajlan N.
Accuracy (准确性):算法应该以高度的准确性组合拼图谜题。
Invariance (不变性):一个好的拼图算法应该对旋转和平移拼图块等变化保持良好的不变性。
Robustness (鲁棒性):当某些数据部分缺失、多余、重叠或存在大量噪声时,算法应该仍能正常运行且表现良好。
Scalability (可伸缩性):随着拼图问题规模数量的增加,相应算法的时间复杂度和空间复杂度应该保持在一定范围不变。
Generality (通用性):拼图算法可以应用于不同类型的拼图图像,如黑白图,灰度图和彩色图像。
Computational complexity (计算复杂性):为了适合实时应用程序,拼图算法应该具有较良好的计算效率。
本部分网络结构借鉴了经典的AlexNet架构,并针对特定任务的需求进行了系统调整。首先,输入层接收三通道的RGB图像,默认图像尺寸为(64 × 64)。接着是卷积层、池化层与激活函数部分。在每个卷积层中均使用了Conv2D,且每层的卷积核数量不同(例如96、256等),以提取出多层次的特征。每层卷积层之后均加入了批量归一化(Batch Normalization)处理,这有助于加速训练过程并稳定模型。激活函数使用SELU (Scaled Exponential Linear Unit),其公式如下:
其中
是一个缩放参数,通常取值为
= 1.0507,此参数旨在确保当输入数据的均值为0,方差为1时,经过SELU激活函数后输出的均值接近于0,方差接近于1,这种设计使得SELU在正输入区域保持线性,而在负输入区域提供指数增长,有助于网络捕捉复杂的非线性关系。该激活函数特别适合深度神经网络,相比ReLU激活函数,SELU对噪声更具有鲁棒性,使其在处理含有噪声的数据时表现的更好,并且由于其自归一化的特性,SELU也有助于网络训练的稳定性和收敛速度。MaxPooling2D池化层在减小数据尺寸的同时保留关键信息,从而提高模型的计算效率。具体而言,各层的参数如下:第一层卷积有96个大小为(11, 11)、步长为(2, 2)的卷积核,采用“same”填充方式,这使得输出尺寸保持不变;第二层卷积使用256个(5, 5)的卷积核,填充方式为“valid”(即无填充),这会减少输出尺寸;第三层卷积配备384个(3,3)的卷积核,采用“same”填充;第四层同第三层结构;第五层卷积则是256个(3, 3)的卷积核,亦采用“same”填充。随后是扁平化层,将三维特征图展平为一维,以便后续传入全连接层。最后看全连接层,这是一个拥有1024个神经元的全连接层,通过SELU激活函数实现非线性化,并且应用了正则化来减少过拟合现象。网络架构示意图如
此模型结构使用多个AlexNet模型作为输入,以预测拼图块的排列顺序。具体结构如下:首先,定义 个输入层(每一个输入层代表一个拼图块的输入),将这 个输入分别传递给AlexNet特征提取器,以特征提取,得到 个输出特征图。然后对这些特征图使用Concatenate进行拼接,以组合特征信息。最后,将重组后的特征图送入全连接层中。全连接层共有两层,第一层为2048个神经元的全连接层,通过SELU激活函数激活,并应用正则化防止过拟合。第二层输出排列(这里为 ),使用Softmax激活,给出 对种拼图排列方式的概率。
本数据集包含约15,000张图片,均为个人网络收集和制作。这些图片涵盖了日常生活中常见的果蔬种类,如苹果、粑粑干、白萝卜、菠萝、车厘子等,共计81类,这样的分类有助于模型学习不同果蔬之间的视觉差异,提高识别的准确性。为了提高模型的泛化能力和减少过拟合,我们采用数据增强技术来增加数据量。分别对图片进行了如下操作:
1) 水平反转,帮助模型学习到图像的对称性。
2) 进行不同角度的旋转,模拟果蔬在实际环境中可能出现的不同朝向。
3) 对图片进行缩放,以模拟不同距离下的视觉效果。
4) 调整图片的亮度、对比度、饱和度,以模拟不同光照条件下的视觉效果。
这是一个相对较大的样本量,有助于训练出一个泛化能力强的模型。
我们按照4:1的比例将数据集划分为训练集和测试集。这意味着大约12,000张图片将用于训练,而3000张图片将用于测试。这样的划分比例有助于模型在训练过程中学习到足够的特征,同时在测试集上评估模型的性能。
在开始训练之前,需要对数据进行预处理,以确保数据的质量和一致性。预处理步骤如下:
首先,将所有图片调整为统一的尺寸,例如224 × 224大小的图像,以适应网络的输入要求。然后,检查图像是否存在模糊、过曝和欠曝的问题。最后,为每一类别分配一个唯一的标签,并确保标签的正确性。
本实验在自制的果蔬数据集上展开,旨在测试所提出模型的性能。实验环境配置为AMD Ryzen 9 6900HX with Radeon Graphics 3.30 GHz处理器、40.0GB内存(39.3GB可用) (RAM),并基于TensorFlow深度学习框架进行模型的训练和评估。所有实验均在相同条件下进行,以确保结果的一致性和可重复性。
经过实验测试,CFN拼接任务预测网络模型在较低复杂度的拼图还原任务(2 × 2拼图)上取得了一定的成果,随着数据量的增加,拼图还原的准确率也随之增加,如
总数据量 |
正确数据量 |
模型预测准确率 |
99 |
69 |
69.70% |
474 |
348 |
73.42% |
906 |
668 |
73.73% |
1386 |
1062 |
76.62% |
2157 |
1655 |
76.73% |
4203 |
3178 |
75.61% |
另外我们也与现有技术相比,本模型在准确性方面表现出一定优势,能够较为正确地恢复拼图,复原后的图像如
在不变性方面,模型对图像的平移和旋转具有较好的适应性。在数据增强过程中,通过对图片进行不同角度旋转和水平反转操作,模型学习到了图像在不同变换下的特征,从而在实际拼图还原中,即使图像存在一定程度的旋转或平移,也能准确识别拼图块的位置。
鲁棒性方面,模型在面对一定程度的数据噪声和图像部分缺失时,仍能保持较好的性能。尽管在数据预处理中已尽量避免图像质量问题,但实际数据中仍可能存在少量噪声,模型能够在这种情况下完成拼图还原任务,不过当噪声程度超过一定阈值时,性能会有所下降。
在可伸缩性上,随着拼图问题规模的增加,模型的计算复杂度在可接受范围内。但当拼图规模增大到一定程度,计算时间会有所增加。例如,对于较大尺寸的拼图图像(如5 × 5或更大),模型的处理时间相较于小尺寸拼图(如2 × 2或3 × 3)明显增长。
通用性方面,模型在处理不同类型的果蔬图像时表现良好,无论是形状规则的水果(如苹果、橙子)还是形状不规则的蔬菜(如西兰花、胡萝卜),均能有效还原拼图。
然而,模型也存在一定局限性。计算复杂性方面,尽管在当前实验条件下表现尚可,但对于大规模实时拼图应用场景,仍有优化空间。例如,在处理高清或超大尺寸拼图时,计算速度可能无法满足实时性要求。数据依赖性方面,模型的性能高度依赖于训练数据的质量和多样性。若训练数据中某些果蔬种类的图像数量不足或特征不明显,可能导致模型在处理此类图像拼图时准确率下降。
本研究提出的基于改进的AlexNet特征提取器和CFN拼图任务预测网络相结合的方法,成功实现了对果蔬图像的拼图块的准确预测。实验结果显示,模型在准确率和其他评估标准上表现良好,验证了模型的有效性。未来研究可考虑进一步优化网络结构,提升计算效率,同时增加训练数据的丰富度和多样性,以提高模型的性能和泛化能力,拓展其在更广泛拼图问题中的应用。
北京市大学生创新创业训练项目(10805136024XN139-182)。
*第一作者。
#通讯作者。