CN116540710A - 一种基于图像识别的玻璃清洁机器人的路径规划方法 - Google Patents
一种基于图像识别的玻璃清洁机器人的路径规划方法 Download PDFInfo
- Publication number
- CN116540710A CN116540710A CN202310535222.2A CN202310535222A CN116540710A CN 116540710 A CN116540710 A CN 116540710A CN 202310535222 A CN202310535222 A CN 202310535222A CN 116540710 A CN116540710 A CN 116540710A
- Authority
- CN
- China
- Prior art keywords
- image
- cleaning robot
- data
- glass
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004140 cleaning Methods 0.000 title claims abstract description 65
- 239000011521 glass Substances 0.000 title claims abstract description 54
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 25
- 238000005520 cutting process Methods 0.000 claims abstract description 19
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 238000010146 3D printing Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 27
- 238000007781 pre-processing Methods 0.000 claims description 21
- 238000011176 pooling Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000008901 benefit Effects 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 208000019300 CLIPPERS Diseases 0.000 claims description 2
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 claims description 2
- 238000013479 data entry Methods 0.000 claims description 2
- 230000001902 propagating effect Effects 0.000 claims description 2
- 238000013179 statistical model Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 229910000831 Steel Inorganic materials 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
Abstract
本发明公布了一种基于图像识别的玻璃清洁机器人的路径规划方法,涉及人工智能的图像识别领域和路径规划领域。本发明提供的基于图像识别的玻璃清洁机器人的路径规划方法,包括如下过程:清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的图像分类,依据脏污程度分为将图像分为两类;对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径;对于较干净的一类,清洁机器人采用基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径。
Description
技术领域
本发明公布了一种基于图像识别的玻璃清洁机器人的路径规划方法,涉及人工智能的图像识别领域和路径规划领域。
背景技术
近年来,随着城市化进程的不断推进,高楼大厦增多,高空玻璃幕墙清洁工作也显著增加,目前主要靠清洁工人从楼顶悬吊钢索进行清洁。通过使用玻璃清洁机器人可以避免人工作业的安全隐患,因此保证清洁机器人的清洁能力和工作效率十分必要。
现有的爬壁擦窗机器人设计中,有神经网络环境建模和蚁群算法等,虽然路径覆盖率高、重复率低,但是存在计算量大、算法运行效率不高的问题。另有采用随机覆盖法等方法提高工作效率,这些方法多采用建立栅格的方法。但是上述方法,都没有根据玻璃幕墙的脏污程度采取更高效的路径覆盖方式以提高清洁效率。
发明内容
本发明的目的在于提供一种基于图像识别的玻璃清洁机器人的路径规划方法,能够根据玻璃污渍的不同脏污程度采用适合的路径规划实现对玻璃的全覆盖,以达到更好的清洁效果。
为实现上述目的,本发明提供的基于图像识别的玻璃清洁机器人的路径规划方法,包括如下过程:清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的图像分类,依据脏污程度分为将图像分为两类;对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径;对于较干净的一类,清洁机器人采用基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径。
进一步地,所述清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的识别后依据脏污程度分为两类的过程具体如下:对所述图像进行预处理,包括Resize、CenterCrop、ToTensor和Normalize等操作;定义卷积神经网络模型Net,共有两层卷积层、三层全连接层;使用交叉熵损失函数和随机梯度下降算法对模型进行训练;使用测试集对模型进行测试,计算模型的准确率。
进一步地,所述对图像进行预处理的具体过程如下:
定义图像预处理函数;
定义自己的数据集类my_Data_Set,从存储图像名和标签的txt文件中读取图像名和标签对应的信息,并进行图像数据的预处理;生成PyTorch所需的DataLoader数据输入格式,用于模型的训练和测试。
进一步地,所述定义图像预处理函数的过程具体如下:首先定义包括对图像进行缩放、裁剪、转换成Tensor向量以及归一化等操作;此过程中使用了pytorch中的图像预处理包torchvision.transforms和Resize库来缩放图像大小至84x84像素;使用CenterCrop对图片进行中心裁剪,生成一个长宽都为84像素的正方形图像;然后,使用RandomCrop在随机位置进行裁剪操作;最后,使用ToTensor()函数来将图像像素值读入并归一化为0到1的数字,方便后续进入卷积神经网络操作。
进一步地,所述定义自己的数据集类my_Data_Set,从存储图像名和标签的txt文件中读取图像名和标签对应的信息,并进行图像数据的预处理的过程具体如下:
数据集类my_Data_Set继承自PyTorch中的nn.Module类,它用于打开存储图像名和标签的文本文件train.txt和val.txt,并将图像名和对应的标签对应地存储到images和labels中。my_Data_Set重写了两个函数:__len__和__getitem__,分别用于获取数据集的大小和获取指定序号的图像和标签。
数据输入处理步骤中,首先获取了图像名和标签,然后使用loader函数读入图像信息,再将其作为输入进行transform进行图片数据的预处理,返回一个前面处理好的image和对应的label。
进一步地,所述生成PyTorch所需的DataLoader数据输入格式,用于模型的训练和测试的过程具体如下:利用上述的my_Data_Set类构建了训练集和测试集的数据集对象train_dataset和test_dataset,并设置好数据预处理方式和图像读取方式等参数;然后使用PyTorch的DataLoader类生成训练集和测试集的数据输入对象train_loader和test_loader,其中batch_size参数表示每个batch中包含的数据量大小,shuffle参数表示是否在每个epoch开始时打乱数据顺序。这样做可以使数据输入更加高效和方便,可以迭代地从数据集中加载数据,而不必一次性将所有数据都加载到内存中。
进一步地,所述定义卷积神经网络模型Net,共有两层卷积层、三层全连接层的过程具体如下:Net有两个主要函数:__init__和forward。在__init__函数里,首先用nn.Conv2d定义了两个卷积层,输入通道数为3,输出通道数为6和16,卷积核大小为5,即使用5x5大小的卷积核对输入的图像进行卷积操作。接着使用nn.MaxPool2d定义了一个最大池化层,大小为2x2,将相邻的2x2的区域取最大值。之后分别定义了3个全连接层,其中第一个全连接层的输入大小为16×18×18,输出大小为800,第二个全连接层的输入大小为800,输出大小为120,第三个全连接层的输入大小为120,输出大小为10。这个CNN总共有两个卷积层和三个全连接层;在forward函数里,将输入的张量x依次进行卷积、池化、展平、全连接等操作。其中卷积和池化使用了激活函数F.relu()进行非线性变换,而全连接层则直接进行线性变换。最终得到一个大小为10的输出张量,表示对输入的图像进行了分类预测,每个元素表示属于一个类别的置信度。
进一步地,所述使用交叉熵损失函数和随机梯度下降算法对模型进行训练的过程如下:使用交叉熵损失函数nn.CrossEntropyLoss()和随机梯度下降法(SGD)优化器optim.SGD()对定义好的卷积神经网络模型net进行训练。首先定义了一个交叉熵损失函数cirterion和一个SGD优化器optimizer,其中lr参数表示学习率,momentum参数表示动量参数;在这里我们进行了50次训练,每次训练都是批量获取train_loader中的训练数据、梯度清零、计算输出值、计算误差、反向传播并修正模型。我们以每200次计算的平均误差作为观察值。
进一步地,所述使用测试集对模型进行测试,计算模型的准确率的过程如下:
首先定义了两个变量correct和total,分别用于统计模型在测试集上预测正确的样本数和总样本数;接着使用torch.no_grad()块来关闭梯度计算,以节省内存并加速推理过程;然后遍历测试集数据,将测试集输入数据通过模型进行前向传播,得到输出结果,再使用torch.max()函数获取每个输出张量中最大值所在的位置(即预测的类别),并与标签数据比较,统计预测正确的样本数和总样本数;最终输出模型在测试集上的准确率,即预测正确的样本数占总样本数的百分比。
进一步地,所述对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径的过程具体如下:
输入待清洁区域的平面多边形序列,偏置距离;
以边界轮廓为主体生成一系列偏置曲线并进行裁剪和衔接;
将偏置曲线进行连接。
进一步地,所述以边界轮廓为主体生成一系列偏置曲线并进行裁剪和衔接的过程具体如下:裁剪过程中,使用了专门用于平面闭合或非闭合多段线布尔运算的开源计算几何库Clipper,它提供了一种基于布尔运算的平面曲线的偏置方法,可以非常高效稳定的提供平面偏置曲线,解决了路径轮廓上的各种各样的非法自相交的问题;在生成连续偏置曲线过程中,本发明选择以边界轮廓为主体,指定偏置距离,对其进行多次偏置以生成连续偏置曲线;
采用矩形衔接方式,减少了顶点的数据量,相对于圆弧衔接提高了运行速度。
进一步地,所述对于较干净的一类,清洁机器人采用基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径的过程具体如下:
输入待清洁区域的平面多边形序列,路径间距;
根据路径间距生成一系列平行线段;
将待清洁区域内的平行线段根据zig-zag连接法连接在一起。即可得到平行路径。
进一步地,所述根据路径间距生成一系列平行线段的过程具体如下:
运用扫描线法计算得到和边界的所有交点,生成一系列等距的平行线段,这样的优势是生成的平行线段在玻璃平面上的分布是完全可控的,有利于路径的连接。
本发明具有的有益效果:在现有路径规划技术的基础上,将神经网络图像分类与全覆盖路径规划相结合,能够根据玻璃的脏污程度选择不同的路径规划进行清洁,兼顾工作效率和清洁效果,并且计算量较小,算法效率高。提供了一种实用高效的新型玻璃清洁机器人的路径规划方法。
附图说明
图1为本发明中针对玻璃较脏的情况生成的路径规划。
图2为本发明中采用的矩形衔接法图示。
图3为本发明中针对玻璃较干净的情况生成的路径规划。
图4为本发明中使用的zig-zag连接法。
图5为本发明中采用的CNN网络架构。
图6为本发明中图像处理的流程。
图7为本发明中路径规划的流程。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一种基于图像识别的玻璃清洁机器人的路径规划方法,包括如下过程:
S1、清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的识别后分为两类,在一个实施例中,步骤S1的具体过程如下:
我们使用PyTorch训练卷积神经网络。如图5所示,是一个典型的CNN网络架构。总体来说,我们定义了神经网络架构、数据集加载器、损失函数和优化器。然后,它使用训练数据集训练网络,并在验证数据集上测试其准确性。神经网络架构由两个卷积层组成,具有ReLU激活函数和最大池化层。卷积层的输出被展平,并通过两个具有ReLU激活函数的全连接层。最终的全连接层有10个输出,对应于CIFAR-10数据集中的10个类。数据集加载程序使用my_Data_Set类加载训练和验证数据集,该类从文本文件中读取图像名称和标签,并使用Load_Image_Information函数加载图像。然后,DataLoader类用于创建用于训练和测试的数据批处理。使用的损失函数是交叉熵损失,使用的优化器是随机梯度下降(SGD),学习率为0.001,动量为0.5。该网络经过50个epoch的训练,在训练期间每200批打印一次损失和准确性。训练后,在验证数据集上测试网络的准确性。计算正确预测的数量,并通过将此数字除以验证数据集中的图像总数来计算精度。
步骤S1的总体流程如图6所示;
接下来,详细叙述各部分功能;
我们首先定义了一些数据预处理操作,包括对图像进行缩放、裁剪、转换成Tensor向量以及归一化等。在此过程中,我们使用了pytorch中的图像预处理包torchvision.transforms和Resize库来缩放图像大小至84x84像素。接着,我们使用CenterCrop对图片进行中心裁剪,生成一个长宽都为84像素的正方形图像。除了CenterCrop以外,我们还使用RandomCrop在随机位置进行裁剪操作。最后,我们使用ToTensor()函数来将图像像素值读入并归一化为0到1的数字。接下来,我们使用DataLoader来实现图像数据读入,这里不再赘述。
进一步地,我们定义了一个卷积神经网络的类Net,封装了所有训练的步骤,包括卷积、池化、激活以及全连接操作。在__init__函数中,我们首先定义了所有需要用到的函数,这些函数都会在forward函数中调用。其中,第一个属性self.conv1=nn.Conv2d(3,6,5),实际上就是定义了一个卷积层,其中3代表输入图像的像素数组的层数,即输入的图像通道数,比如在本例中,使用的图像都是由R、G、B三个通道组成的彩色图像,因此该值为3;6代表进行6次卷积,每一次卷积都可以生成不同的特征映射数组,用于提取图像的6种特征。每一个特征映射结果最终都会被堆叠在一起形成一个图像输出,再作为下一步的输入。而5则表示过滤器的尺寸,即我们希望用一个5x5的矩阵去和图像中相同尺寸的矩阵进行卷积,再相加形成一个值。接下来我们定义了一个池化层,其主要工作是因为大图片生成的像素矩阵实在太大了,我们需要用一个合理的方法在降维的同时又不失去物体特征,因此使用池化的技术,每四个元素合并成一个元素,用这一个元素去代表四个元素的值,那么图像体积会降为原来的四分之一。然后,我们再定义了一个卷积层self.conv2=nn.Conv2d(6,16,5),其输入和输出都是多层像素数组。与conv1类似,conv2也会生成不同的特征映射数组,用于提取图像的16种特征。其参数16表示最后一次卷积生成的图像矩阵的高度为16层。16代表conv2的输出层数,和conv1一样,16代表着这一次卷积操作将会学习图片的16种映射特征,特征越多理论上能学习的效果就越好。conv2使用的过滤框尺寸和conv1一样,所以不再重复。
对于self.fc1=nn.Linear(16*18*18,800),它的参数16很好理解,因为最后一次卷积生成的图像矩阵的高度就是16层,前面我们通过预处理把训练图像裁剪成一个84*84的正方形尺寸,所以图像最早输入就是一个3*84*84的数组。经过第一次5*5的卷积之后,我们可以得出卷积的结果是一个6*80*80的矩阵,这里的80就是因为我们使用了一个5*5的过滤框,当它从左上角第一个元素开始卷积后,过滤框的中心是从2到78,并不是从0到79,所以结果就是一个80*80的图像了。经过一个池化层之后,图像尺寸的宽和高都分别缩小到原来的1/2,所以变成40*40。接着又进行了一次卷积,和上一次一样,长宽都减掉4,变成36*36,然后应用了最后一层的池化,最终尺寸就是18*18。所以第一层全连接层的输入数据的尺寸是16*18*18。三个全连接层所做的事很类似,经过训练,最后输出一个二分类数值。
最后,在forward函数中,我们将定义好的各个层按照前向传播的顺序组合起来,从而实现整个卷积神经网络的训练过程。forward接受一个input,返回一个网络输出值,中间的过程就是一个调用init函数中定义的层的过程。我们首先对输入数据进行卷积操作,然后再进行池化操作,接着使用ReLU激活函数,把所有的非零值转化成零值,将激活后的结果输入到全连接层中,最后得到输出结果。
进一步地,开始对模型进行训练,总共进行50个epoch的训练。在每个epoch中,将训练集数据通过train_loader加载进来,并使用Variable()将输入和标签数据包装成变量,然后将优化器梯度清零,将输入数据输入到模型中,得到输出结果,计算出当前batch的交叉熵损失,进行反向传播和权重更新,最后将当前batch的损失值加入到running_loss中,并在每个epoch中每经过200个batch就打印一次训练结果。最终训练完毕,输出"finished training!"。训练过程中,我们可以通过调整学习率、动量等参数以及网络结构来提高模型的训练效果。
最终我们经过测试,输出得到一个识别的准确率。根据现有的数据集(540张图片),我们得到的准确率是81%,向此CNN模型中加入更多测试集将得到更高的准确率。
S2、对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径。
如图1所示,对于较脏的一类,清洁机器人会采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖以达到更好的清洁效果,即用等距偏置算法生成一系列连续等距的平面路径。
玻璃的四角一般为90度,两边所对应的向内的偏置曲线必然会相交,此时需要裁剪,衔接。在裁剪过程中本发明使用了专门用于平面闭合或非闭合多段线布尔运算的开源计算几何库Clipper,它提供了一种基于布尔运算的平面曲线的偏置方法,可以非常高效稳定的提供平面偏置曲线,解决了路径轮廓上的各种各样的非法自相交的问题。如图2所示,因为玻璃一般为矩形,本发明中采用的衔接方式是矩形衔接,减少了顶点的数据量,相对于圆弧衔接提高了运行速度。
在生成连续偏置曲线过程中,本发明选择以边界轮廓为主体,指定偏置距离,对其进行多次偏置以生成连续偏置曲线,而非基于当前偏置曲线生成下一条偏置曲线,这样做的优势有两点:一是避免了偏置顶点数量的无谓递增,在对劣角顶点的连续偏置过程中,在局部区域,偏置顶点数量相对于相对于上一条曲线会成倍的增加。二是提高了偏置轮廓的精度,由Clipper生成的偏置曲线上存在局部区域的微小扰动,在对当前偏置曲线的连续偏置过程中,这种扰动会被放大,造成较大误差。
当清洁机器人沿着当前偏置曲线走完一周后,需要移动到另一条偏置曲线上,由于在实际运用的过程中,快速而又精确地计算两条相邻的偏置曲线的最近点计算较困难,且需要较长的时间,如图1所示,本发明首先直接在两条偏置曲线的顶点处取最近点,然后在其中一条偏置曲线上指定一个最近点,后面只需要根据这个点遍历下一条偏置曲线的点来寻找最近点。最后将各条偏置曲线连接起来,构成完整的路径。本发明通过这样的方法降低了算法的时间复杂度,提高了运行效率。
因此,本发明轮廓偏置路径的生成和连接主要如下步骤:一:输入待清洁区域的平面多边形序列作为边界轮廓,偏置距离。二:以边界轮廓为主体生成一系列偏置曲线并进行裁剪和衔接。三:对偏置曲线进行连接。
S3、对于较干净的一类,为了兼顾清洁机器人的清洁效率和玻璃的清洁效果,本发明采用了基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径。
如图3所示,在边缘处的偏置轮廓内,本发明运用扫描线法计算得到和边界的所有交点,生成一系列等距的平行线段,这样的优势是生成的平行线段在玻璃平面上的分布是完全可控的,有利于路径的连接。
当清洁机器人沿着一条平行线段清洁完成后,需要进入到下一条平行线。如图4所示,本发明采用了zig-zag连接法,zig-zag连接的特点是在两条相邻的平行线段的同侧点(即同为起点或同为终点)处连接这两条线段,其优势为总路径长度更短,清洁效率会更高。因此只要输入待清洁区域的平面多边形序列,路径间距,路径角度(本发明一般取0)。
因此,本发明进行平行路径的生成和连接需要如下主要步骤:一,输入待清洁区域的平面多边形序列,路径间距。二,根据路径间距生成一系列平行线段。三:将待清洁区域内的平行线段根据zig-zag连接法连接在一起。即可得到平行路径。路径规划总流程如图7所示。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种基于图像识别的玻璃清洁机器人的路径规划方法,其构造包括:括如下过程:清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的图像分类,依据脏污程度分为将图像分为两类;对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径;对于较干净的一类,清洁机器人采用基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径。
2.根据权利要求1所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述清洁机器人通过自身装配的摄像机对玻璃拍照,经过卷积神经网络的识别后依据脏污程度分为两类的过程具体如下:对所述图像进行预处理,包括Resize、CenterCrop、ToTensor和Normalize等操作;定义卷积神经网络模型Net,共有两层卷积层、三层全连接层;使用交叉熵损失函数和随机梯度下降算法对模型进行训练;使用测试集对模型进行测试,计算模型的准确率。所述对图像进行预处理的具体过程如下:定义图像预处理函数;定义自己的数据集类my_Data_Set,从存储图像名和标签的txt文件中读取图像名和标签对应的信息,并进行图像数据的预处理;生成PyTorch所需的DataLoader数据输入格式,用于模型的训练和测试。
3.根据权利要求2所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述定义图像预处理函数的过程具体如下:首先定义包括对图像进行缩放、裁剪、转换成Tensor向量以及归一化等操作;此过程中使用了pytorch中的图像预处理包torchvision.transforms和Resize库来缩放图像大小至84x84像素;使用CenterCrop对图片进行中心裁剪,生成一个长宽都为84像素的正方形图像;然后,使用RandomCrop在随机位置进行裁剪操作;最后,使用ToTensor()函数来将图像像素值读入并归一化为0到1的数字,方便后续进入卷积神经网络操作;所述定义自己的数据集类my_Data_Set,从存储图像名和标签的txt文件中读取图像名和标签对应的信息,并进行图像数据的预处理的过程具体如下:数据集类my_Data_Set继承自PyTorch中的nn.Module类,它用于打开存储图像名和标签的文本文件train.txt和val.txt,并将图像名和对应的标签对应地存储到images和labels中;my_Data_Set重写了两个函数:__len__和__getitem__,分别用于获取数据集的大小和获取指定序号的图像和标签;数据输入处理步骤中,首先获取了图像名和标签,然后使用loader函数读入图像信息,再将其作为输入进行transform进行图片数据的预处理,返回一个前面处理好的image和对应的label。
4.根据权利要求3所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述生成PyTorch所需的DataLoader数据输入格式,用于模型的训练和测试的过程具体如下:利用上述的my_Data_Set类构建了训练集和测试集的数据集对象train_dataset和test_dataset,并设置好数据预处理方式和图像读取方式等参数;然后使用PyTorch的DataLoader类生成训练集和测试集的数据输入对象train_loader和test_loader,其中batch_size参数表示每个batch中包含的数据量大小,shuffle参数表示是否在每个epoch开始时打乱数据顺序;这样做可以使数据输入更加高效和方便,可以迭代地从数据集中加载数据,而不必一次性将所有数据都加载到内存中。
5.根据权利要求3所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述定义卷积神经网络模型Net,共有两层卷积层、三层全连接层的过程具体如下:Net有两个主要函数:__init__和forward。在__init__函数里,首先用nn.Conv2d定义了两个卷积层,输入通道数为3,输出通道数为6和16,卷积核大小为5,即使用5x5大小的卷积核对输入的图像进行卷积操作;接着使用nn.MaxPool2d定义了一个最大池化层,大小为2x2,将相邻的2x2的区域取最大值;之后分别定义了3个全连接层,其中第一个全连接层的输入大小为16×18×18,输出大小为800,第二个全连接层的输入大小为800,输出大小为120,第三个全连接层的输入大小为120,输出大小为10;这个CNN总共有两个卷积层和三个全连接层;在forward函数里,将输入的张量x依次进行卷积、池化、展平、全连接等操作。其中卷积和池化使用了激活函数F.relu()进行非线性变换,而全连接层则直接进行线性变换;最终得到一个大小为10的输出张量,表示对输入的图像进行了分类预测,每个元素表示属于一个类别的置信度。
6.根据权利要求4所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述使用交叉熵损失函数和随机梯度下降算法对模型进行训练的过程如下:使用交叉熵损失函数nn.CrossEntropyLoss()和随机梯度下降法(SGD)优化器optim.SGD()对定义好的卷积神经网络模型net进行训练。首先定义了一个交叉熵损失函数cirterion和一个SGD优化器optimizer,其中lr参数表示学习率,momentum参数表示动量参数;在这里我们进行了50次训练,每次训练都是批量获取train_loader中的训练数据、梯度清零、计算输出值、计算误差、反向传播并修正模型。我们以每200次计算的平均误差作为观察值。
7.根据权利要求1所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述使用测试集对模型进行测试,计算模型的准确率的过程如下:首先定义了两个变量correct和total,分别用于统计模型在测试集上预测正确的样本数和总样本数;接着使用torch.no_grad()块来关闭梯度计算,以节省内存并加速推理过程;然后遍历测试集数据,将测试集输入数据通过模型进行前向传播,得到输出结果,再使用torch.max()函数获取每个输出张量中最大值所在的位置(即预测的类别),并与标签数据比较,统计预测正确的样本数和总样本数;最终输出模型在测试集上的准确率,即预测正确的样本数占总样本数的百分比。
8.根据权利要求1所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述对于较脏的一类,清洁机器人采用3D打印技术中的基于裁剪的轮廓偏置的路径规划实现对玻璃的全覆盖,即用等距偏置算法生成一系列连续等距的平面路径的过程具体如下:输入待清洁区域的平面多边形序列,偏置距离;以边界轮廓为主体生成一系列偏置曲线并进行裁剪和衔接;将偏置曲线进行连接。
9.根据权利要求1所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述以边界轮廓为主体生成一系列偏置曲线并进行裁剪和衔接的过程具体如下:裁剪过程中,使用了专门用于平面闭合或非闭合多段线布尔运算的开源计算几何库Clipper,它提供了一种基于布尔运算的平面曲线的偏置方法,可以非常高效稳定的提供平面偏置曲线,解决了路径轮廓上的各种各样的非法自相交的问题;在生成连续偏置曲线过程中,本发明选择以边界轮廓为主体,指定偏置距离,对其进行多次偏置以生成连续偏置曲线;采用矩形衔接方式,减少了顶点的数据量,相对于圆弧衔接提高了运行速度。
10.根据权利要求1所述的一种基于图像识别的玻璃清洁机器人的路径规划方法,其特征在于:所述对于较干净的一类,清洁机器人采用基于裁剪的偏置轮廓路径和基于扫描线法的平行路径的混合路径,在玻璃的边缘处采用轮廓路径,在其余部分采用平行路径的过程具体如下:输入待清洁区域的平面多边形序列,路径间距;根据路径间距生成一系列平行线段;将待清洁区域内的平行线段根据zig-zag连接法连接在一起。即可得到平行路径;所述根据路径间距生成一系列平行线段的过程具体如下:运用扫描线法计算得到和边界的所有交点,生成一系列等距的平行线段,这样的优势是生成的平行线段在玻璃平面上的分布是完全可控的,有利于路径的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310535222.2A CN116540710A (zh) | 2023-05-12 | 2023-05-12 | 一种基于图像识别的玻璃清洁机器人的路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310535222.2A CN116540710A (zh) | 2023-05-12 | 2023-05-12 | 一种基于图像识别的玻璃清洁机器人的路径规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116540710A true CN116540710A (zh) | 2023-08-04 |
Family
ID=87455704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310535222.2A Pending CN116540710A (zh) | 2023-05-12 | 2023-05-12 | 一种基于图像识别的玻璃清洁机器人的路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116540710A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740768A (zh) * | 2023-08-11 | 2023-09-12 | 南京诺源医疗器械有限公司 | 基于鼻颅镜的导航可视化方法、系统、设备及存储介质 |
CN117464694A (zh) * | 2023-12-28 | 2024-01-30 | 汉狮光动科技(广东)有限公司 | 中空玻璃自动清洗装置路径规划方法 |
-
2023
- 2023-05-12 CN CN202310535222.2A patent/CN116540710A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740768A (zh) * | 2023-08-11 | 2023-09-12 | 南京诺源医疗器械有限公司 | 基于鼻颅镜的导航可视化方法、系统、设备及存储介质 |
CN116740768B (zh) * | 2023-08-11 | 2023-10-20 | 南京诺源医疗器械有限公司 | 基于鼻颅镜的导航可视化方法、系统、设备及存储介质 |
CN117464694A (zh) * | 2023-12-28 | 2024-01-30 | 汉狮光动科技(广东)有限公司 | 中空玻璃自动清洗装置路径规划方法 |
CN117464694B (zh) * | 2023-12-28 | 2024-03-05 | 汉狮光动科技(广东)有限公司 | 中空玻璃自动清洗装置路径规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116540710A (zh) | 一种基于图像识别的玻璃清洁机器人的路径规划方法 | |
CN109800736B (zh) | 一种基于遥感影像和深度学习的道路提取方法 | |
Barzohar et al. | Automatic finding of main roads in aerial images by using geometric-stochastic models and estimation | |
CN110517487B (zh) | 基于热力图变化识别的城市区域交通资源调控方法及系统 | |
Bhanu et al. | Adaptive image segmentation using genetic and hybrid search methods | |
Furukawa | SOM of SOMs | |
Naylor | Constructing good partitioning trees | |
CN110647852A (zh) | 一种车流量统计方法、终端设备及存储介质 | |
CN115796007A (zh) | 一种基于时空图网络的交通流量预测方法 | |
US11308368B2 (en) | Image processing using generative graphical models | |
Han et al. | Planning paths through unknown space by imagining what lies therein | |
Serrano et al. | Knowledge-based hierarchical POMDPs for task planning | |
CN113554656B (zh) | 基于图神经网络的光学遥感图像实例分割方法及装置 | |
WO2024078112A1 (zh) | 一种舾装件智能识别方法、计算机设备 | |
CN110188682B (zh) | 基于几何结构双路卷积网络的光学遥感图像目标检测方法 | |
Lagae et al. | Geometry synthesis by example | |
CN116597275A (zh) | 一种基于数据增强的高速移动目标识别方法 | |
Phoha et al. | Image recovery and segmentation using competitive learning in a layered network | |
CN115641317A (zh) | 面向病理图像的动态知识回溯多示例学习及图像分类方法 | |
Bhattacharjya et al. | A genetic algorithm for intelligent imaging from quantum-limited data | |
CN115131823A (zh) | 一种基于残差网络反卷积ssd算法的家居宠物识别方法 | |
CN114708431A (zh) | 基于多维特征融合的图注意力的材料图像分割方法 | |
Takeyama | Geo-Algebra: A mathematical approach to integrating spatial modeling and GIS | |
Golts et al. | Deep-energy: Unsupervised training of deep neural networks | |
Perbet et al. | Homogeneous superpixels from Markov random walks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |