CN107564063B - 一种基于卷积神经网络的虚拟物显示方法及装置 - Google Patents
一种基于卷积神经网络的虚拟物显示方法及装置 Download PDFInfo
- Publication number
- CN107564063B CN107564063B CN201710765514.XA CN201710765514A CN107564063B CN 107564063 B CN107564063 B CN 107564063B CN 201710765514 A CN201710765514 A CN 201710765514A CN 107564063 B CN107564063 B CN 107564063B
- Authority
- CN
- China
- Prior art keywords
- picture
- rectangular
- frame
- image
- homography
- 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.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种基于卷积神经网络的虚拟物显示方法及装置,该方法包括:获取摄像机当前时刻所拍摄的每帧画面,针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差,当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。通过上述方法,可以有效的确定出摄像机的当前时刻的影像是否没有到达指定的位置。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于卷积神经网络的虚拟物显示方法及装置。
背景技术
在计算机视觉领域中,包含同一对象的任意两幅图像通过单应性联系在一起,而通过确定两幅图像的单应性矩阵可以广泛的应用到人们的实际生活中,如,图像校正、图像对齐以及相机防抖等。
目前,在不同的相机姿态下,同一个对象所产生的图像内容会有所不同,但是仍然存在着局部对应的像素,可以利用局部对应的像素来确定包含同一对象的任意两幅图像对应的单应性矩阵。
具体的,在现有技术中,主要使用MS-COCO数据集中的图片来生成实验所需的128*128的图像数据,使用两幅图像相对应的四对顶点(8个横纵坐标)的相对偏移量作为标签,训练基于卷积神经网络的VGG-style网络的部分参数,后续,可利用训练好的VGG-style网络确定包含同一对象的两幅的图像对应的单应性矩阵。
但是,现有技术在生成数据时,没有充分考虑图像内部发生的变化,包括亮度变化以及内部扰动的常见的情况,使得在使用VGG-style网络确定包含同一对象的两幅的图像对应的单应性矩阵的精度较低。
发明内容
本申请实施例提供一种基于卷积神经网络的虚拟物显示方法及装置,能够有效的确定出摄像机的当前时刻的影像是否没有到达指定的位置。
本申请实施例提供的一种基于卷积神经网络的虚拟物显示方法,包括:
获取摄像机当前时刻所拍摄的每帧画面;
针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差;
当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。
优选地,在将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,所述方法还包括:
制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像,初始化待训练的卷积神经网络模型内的各权重参数,将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
优选地,所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
优选地,该方法包括:对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
优选地,所述卷积神经网络模型内的最后一个池化层的核大小为4x4,所述卷积层的卷积核的通道数为64。
优选地,按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
优选地,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式p′=p×(1.0+r)确定该幅矩形图像中每个像素点的新灰度值,其中,p′表示新灰度值,P表示原始灰度值,r表示随机数;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
优选地,其中随机梯度下降法使用的下降策略为: 其中,lr为当前学习率,iter为当前迭代次数,max_iter为最大迭代次数,power为控制学习率下降快慢的参数,base_lr为基础学习率;和/或,模型精度按照如下公式计算:si=pi-ri,其中,M为测试样本集的数量,pi为一对矩形图像i的顶点坐标的预测偏差,ri为一对矩形图像i的顶点坐标的真实偏差。
优选地,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式则显示虚拟物,其中,m指的是当前时刻所获取的帧画面的数量,T为预设的第一阈值,S为预设的第二阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差。
优选地,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式‖V‖<S,则显示虚拟物,其中,‖·‖为0范数、1范数或2范数的距离公式,S是预设的第三阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差构成的偏差矩阵。
本申请实施例提供的一种基于卷积神经网络的虚拟物显示装置,包括:
获取模块,用于获取摄像机当前时刻所拍摄的每帧画面;
输出模块,用于针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差;
显示模块,用于当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。
优选地,所述装置还包括:
模型训练模块,用于在输入模块将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像,初始化待训练的卷积神经网络模型内的各权重参数,将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
优选地,所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
优选地,该装置还包括:
扰动模块,用于对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
优选地,所述卷积神经网络模型内的最后一个池化层的核大小为4x4,所述卷积层的卷积核的通道数为64。
优选地,所述模型训练模块,还用于按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
优选地,所述扰动模块具体用于,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式p′=p×(1.0+r)确定该幅矩形图像中每个像素点的新灰度值,其中,p′表示新灰度值,P表示原始灰度值,r表示随机数;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
优选地,其中随机梯度下降法使用的下降策略为: 其中,lr为当前学习率,iter为当前迭代次数,max_iter为最大迭代次数,power为控制学习率下降快慢的参数,base_lr为基础学习率;和/或,模型精度按照如下公式计算:si=pi-ri,其中,M为测试样本集的数量,pi为一对矩形图像i的顶点坐标的预测偏差,ri为一对矩形图像i的顶点坐标的真实偏差。
优选地,所述显示模块具体用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式则显示虚拟物,其中,m指的是当前时刻所获取的帧面的数量,T为预设的第一阈值,S为预设的第二阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差。
优选地,所述显示模块具体用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式‖V‖<S,则显示虚拟物,其中,‖·‖为0范数、1范数或2范数的距离公式,S是预设的第三阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差构成的偏差矩阵。
本申请实施例提供一种基于卷积神经网络的虚拟物显示方法及装置,该方法包括:获取摄像机当前时刻所拍摄的每帧画面,针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差,当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。通过上述方法,可以有效的确定出摄像机的当前时刻的影像是否没有到达指定的位置。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的基于卷积神经网络的单应性矩阵确定的过程示意图;
图2为本申请实施例提供的一种建立卷积神经网络模型的具体实施方式;
图3A为本申请实施例提供的待训练的卷积神经网络模型的模型结构示意图;
图3B本申请实施例提供的起始模块结构示意图;
图4为本申请实施例提供的制作训练图像集的具体实施方式;
图5为本申请实施例提供的扰动一幅矩形图像的子图像位置前后示意图;
图6为本申请实施例提供的摄像机所拍摄的矫正后的每帧画面轨迹示意图;
图7为本申请实施例提供的基于卷积神经网络的视频防抖的过程示意图;
图8为本申请实施例提供的摄像机所拍摄的矫正前后的画面示意图;
图9为本申请实施例提供的基于卷积神经网络的虚拟物显示装置的结构示意图;
图10为本申请实施例提供的基于卷积神经网络的虚拟物显示***组成结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的基于卷积神经网络的单应性矩阵确定过程,具体包括以下步骤:
S101:将存在单应性对应关系的一对矩形图像输入预先建立的卷积神经网络模型。
在实际应用中,确定包含同一对象的任意两幅图像的单应性矩阵可以广泛的应用到人们的实际生活中,如,图像校正、图像对齐以及相机防抖等。
而在确定包含同一对象的任意两幅图像的单应性矩阵的过程中,首先需要建立卷积神经网络模型,后续,可通过建立好的卷积神经网络模型来确定包含同一对象的任意两幅图像的单应性矩阵。
进一步的,本申请给出了一种建立卷积神经网络模型的具体实施方式,具体如图2所示:
S201:制作训练图像集,其中,该训练图像集包括至少一对存在单应性对应关系的矩形图像。
S202:初始化待训练的卷积神经网络模型内的各权重参数。
S203:将至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型。
S204:根据待训练的卷积神经网络模型输出的至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及至少一对存在单应性对应关系的矩形图像的顶点坐标训练该待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
在此需要说明的是,一对存在单应性对应关系的矩形图像指的是该对矩形图像中的两幅图像包含同一对象。另外,由于在对待训练的卷积神经网络模型进行训练之前,该待训练的卷积神经网络模型的卷积层的数量,卷积层中卷积核的数量以及卷积核的通道数通常都是设定好的,且在训练的过程中不会再次进行更改,而待训练的卷积神经网络模型中的卷积层中卷积核的数量以及卷积核的通道数也决定了输入到模型中的一对图像的大小和形状,也就是说,输入到模型中的一对图像的大小和形状是要符合模型输入要求的,因此,训练图像集中所包括的一对存在单应性对应关系的图像的大小是固定大小的,且形状是固定的。
另外,在此还需要说明的是,本申请还提供了待训练的卷积神经网络模型的模型结构,具体如图3A所示,待训练的卷积神经网络模型的模型结构由输入层(Input)、卷积层(Convolution Layer)、激活函数(Activation Function)、池化层(Pooling Layer)和全连接层(Full Connection Layer)构成,也可能包含其他加速网络训练的自定义层,其中,卷积层(Convolution Layer)具有提取图像抽象特征的能力,通常来说,层数越多,特征越抽象,可以学习到更高层次的语义特征,在本申请中,将卷积层标记为WxHxC+S的形式,W表示核宽度,H表示核高度,C表示核的个数,S表示步幅;激活函数(Activation Function)是一种提高网络非线性的方法,每个卷积层后默认常见的ReLU激活函数;池化层(PoolingLayer)是一种数据下采样的方法,可以提高模型的非线性并防止模型过拟合,本申请使用了Max Pooling和Avg Pooling两种方式,其中,Max Pooing是将感受野内的最大值作为池化层的输出,Avg Pooling是取感受野内的数组的均值作为池化层的输出,在本申请中,将池化层标记为WxH+S的形式,W表示核宽度,H表示核高度,S表示步幅;连接层(FullConnection Layer)在整个卷积神经网络中起到“分类器”的作用,得到一个8维的向量。
另外,由于局部响应归一化(LRN)层可以对当前特征图在深度上作平滑处理,在分类任务中被证明有效提高了准确率,因此,本申请在所建立的卷积神经网络模型中也使用了LRN层。其次,本申请在所建立的卷积神经网络模型中也使用了起始(Inception)模块,而Inception模块可以有效提高网络的宽度,也增加了网络对尺度的适应性,Inception模块在模型中的数量可以根据实际情况来定,如,设定为9个。图3B示出了起始模块的结构示意图。
在此需要说明的是,在待训练的卷积神经网络模型中,层与层之间的数据称为特征图,该特征图可视为一个具有宽度,高度和深度的三维矩阵,卷积核的大小决定了当前特征图上感受野的大小,卷积核的个数决定了下一层特征图的深度,步幅的大小决定了下一层特征图的宽度和高度。
进一步的,由于在对待训练的卷积神经网络模型进行训练时需要使用训练图像集,因此,在本申请中,在训练待训练的卷积神经网络模型之前需要制作训练图像集,而在实际应用中,一对存在单应性对应关系,且大小和形状符合模型输入要求的两幅图像通常是难以直接获取的,因此,在本申请中,可以按照如图4所示的方式来制作训练图像集:
S401:获取原始图像集。
S402:针对原始图像集中的任一原始图像,将该原始图像缩放到预设的大小。
S403:根据预设的长度以及预设的宽度,在原始图像上确定第一矩形图像,分别记录第一矩形图像的四个顶点在原始图像中的第一位置。
S404:对第一矩形图像的四个顶点进行随机扰动,记录随机扰动后的四个顶点的第二位置。
S405:根据所述四个顶点的第一位置与所述四个顶点的第二位置,求解所述第一位置与所述第二位置的单应性矩阵。
S406:将该原始图像通过所述单应性矩阵进行转换。
S407:在转换后的图像上找到对应于该原始图像中的第二位置所围成的四边形的四个顶点像素,并根据预设的长度以及预设的宽度,对四个顶点像素所围成的四边形进行缩放,将缩放后的四边形作为第二矩形图像。
在此需要说明的是,所述第一矩形图像与所述第二矩形图像是存在单应性对应关系的一对矩形图像。
例如,获取原始图像集,针对原始图像集中的原始图像X,在本例子中,只以原始图像集中的原始图像X为例进行说明,其他原始图像的制作过程和原始图像X是一致的,将原始图像X缩放到320*240(即,预设的大小),根据预设的长度128以及预设的宽度128,在原始图像X上确定第一矩形图像A,分别记录第一矩形图像A的四个顶点在原始图像X中的第一位置,生成八个随机数n,对第一矩形图像的四个顶点进行随机扰动,记录随机扰动后的四个顶点的第二位置,根据四个顶点的第一位置与四个顶点的第二位置,求解第一位置与第二位置的单应性矩阵H,将该原始图像X通过该单应性矩阵H进行转换,得到图像Y,在转换后的图像(即,图像Y)上找到对应于该原始图像X中的第二位置所围成的四边形的四个顶点像素,并根据预设的长度128以及预设的宽度128,对四个顶点像素所围成的四边形进行缩放,将缩放后的四边形作为第二矩形图像B,其中,第一矩形图像A与第二矩形图像B即为存在单应性对应关系的一对矩形图像,
在此需要说明的是,根据预设的长度128以及预设的宽度128,在原始图像X上确定第一矩形图像A可以是以原始图像的中心为第一矩形图像A的中心点,按照预设的长度128以及预设的宽度128确定第一矩形图像A的四条边,当然也可以以原始图像的其他点为第一矩形图像A的中心点,按照预设的长度128以及预设的宽度128确定第一矩形图像A的四条边,具体以原始图像中的哪个点为第一矩形图像A的中心点来确定第一矩形图像A可根据实际情况来定。另外,由于第一矩形图像的四个顶点中每个顶点是包括横坐标以及纵坐标,因此,需要生成八个随机数n,这八个随机数n可以相同,可以有一部分相同,有一部分不同,也有可能互不相同,后续,根据生成的八个随机数n,对第一矩形图像的四个顶点进行随机扰动,记录随机扰动后的四个顶点的第二位置的过程具体为:假设顶点1的第一位置为(x,y),而顶点1的第一位置中x对应的随机数为n1,y对应的随机数为n2,则根据随机数n1和n2,对顶点1进行扰动,记录随机扰动后的顶点1的第二位置(x+n1,y+n2)。
进一步的,为了降低卷积神经网络模型的规模,因此,在本申请中,在制作训练图像集的过程中,可以在将该原始图像缩放到预设的大小之前,将原始图像进行灰度化处理,即,将该原始图像转换成灰度化图像,或者在确定出第二矩形图像后,将第一矩形图像和第二矩形图像均进行灰度化处理。
进一步的,为了提升算法鲁棒性以及自适应能力,在本申请中,在确定出第一矩形图像和第二矩形图像之后,也就是确定出一对存在单应性对应关系的矩形图像后,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
进一步的,本申请在此给出了对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式,具体如下:
针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式p′=p×(1.0+r)确定该幅矩形图像中每个像素点的新灰度值,其中,p′表示新灰度值,P表示原始灰度值,r表示随机数。
在此需要说明的是,在实际应用中,随机数r可以是位于区间[-0.1,0.1]之间。
进一步的,本申请在此给出了对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式,具体如下:
针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊。
在此需要说明的是,在实际应用中,随机数a可以是位于区间[1,5]之间。
进一步的,本申请在此给出了对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式,具体如下:
针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声。
进一步的,本申请在此给出了对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式,具体如下:
针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素,具体如图5所示,在图5中,最左边的图是第一矩形图像,中间得到图是第二矩形图像,最右边的图是对第二矩形图像的子图像位置进行扰动后的图像。
在此需要说明的是,在对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像进行两种以上的扰动时,扰动顺序可以根据实际情况来定,如,可以先对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像进行亮度扰动,再进行模糊度扰动,也可以先对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像进行模糊度扰动,再进行亮度扰动。
另外,将扰动后的矩形图像作为最终的训练图像集中的矩形图像。
进一步的,为了降低卷积神经网络模型的规模,则卷积神经网络模型内的最后一个池化层的核大小设定为4x4,所述卷积层的卷积核的通道数设定为64。
进一步的,在本申请中,待训练的卷积神经网络模型内的各权重参数的过程中,具体可以按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
在此需要说明的是,为了提供模型的精度,在本申请中,损失函数可以使用欧氏距离,当然,在实际应用中,也可以使用其他类型的损失函数。
进一步的,在本申请实施例中,随机梯度下降法所使用的下降策略可以为:其中,lr为当前学习率,iter为当前迭代次数,max_iter为最大迭代次数,power为控制学习率下降快慢的参数,base_lr为基础学习率。
在此需要说明的是,本发明在实际应用中,可以将每次参与梯度更新的训练样本数量设为64,max_iter为最大迭代次数设为400000,power为控制学习率下降快慢的参数设为0.5,base_lr为基础学习率设为0.001。
通过上述方法训练完成卷积神经网络模型内的各权重参数后,得到卷积神经网络模型。
后续,当需要确定两幅图像之间的单应性矩阵,则可以将两幅图像分别裁剪成符合卷积神经网络模型输入要求的大小和形状,如,假设卷积神经网络模型输入要求的大小和形状为128*128的矩形,则需要将两幅图像分别裁剪成128*128的矩形,当然裁剪后的两幅矩形图像必须存在相互对应关系,也就是说,必须包含同一对象,再将存在单应性对应关系的一对矩形图像输入预先建立的卷积神经网络模型。
S102:根据所述卷积神经网络模型输出的所述一对矩形图像的四个顶点坐标之间的偏差以及所述一对矩形图像中的一幅矩形图像的已知四个顶点坐标确定所述一对矩形图像中另一幅矩形图像的四个顶点坐标。
在本申请实施例中,将存在单应性对应关系的一对矩形图像输入预先建立的卷积神经网络模型之后,通过卷积神经网络模型最终输出的是一对矩形图像的四个顶点坐标之间的偏差。
而单应性矩阵计算公式具体为:其中,H为两幅图像的单应性矩阵,(u′,v′)以及(u,v)为同一像素在两幅图像中的映射关系,则根据单应性矩阵计算公式,最终想要确定出两幅图像的单应性矩阵,则需要知道两幅图像相对应的四对坐标,而一对矩形图像中的一幅矩形图像的四个顶点坐标可以明确确定出来,也就是,假设以一对矩形图像中的一幅矩形图像中心点为原点,将该矩形图像的四个顶点坐标固定,以该矩形图像中心为坐标原点,则该矩形图像的四个顶点坐标是可以确定的,一对矩形图像中的另一幅矩形图像可以通过将一对矩形图像中的一幅矩形图像的已知四个顶点坐标与之对应的输出的一对矩形图像的顶点坐标之间的偏差相加,从而在另一幅矩形图像中可以确定出与一对矩形图像中的一幅矩形图像的已知四个顶点坐标相对应的顶点坐标。
S103:根据所述一幅矩形图像的已知四个顶点坐标和所述另一幅矩形图像的四个顶点坐标,确定所述一对矩形图像对应的单应性矩阵。
在本申请实施例中,当确定出四对坐标后,可以根据单应性矩阵计算公式确定两幅图像的单应性矩阵。
通过上述方法,由于在训练卷积神经网络模型时所使用的训练图像集是进行过亮度、模糊度、噪声和子图像位置扰动的,充分考虑了图像质量对于训练和使用模型的精度影响,因此,可以提升模型的鲁棒性以及自适应能力,相对于使用VGG-style网络确定包含同一对象的两幅的图像对应的单应性矩阵而言,精度更高。
在此需要说明的是,根据实际实验测试,测试出本申请所使用的卷积神经网络模型大小为12.52M,卷积神经网络模型精度平均误差为5.3,而现有技术中所使用VGG-style网络模型大小为260.91M,模型精度平均误差为9.2。
上述就是卷积神经网络模型的建立方式,以及根据卷积神经网络模型来确定包含同一对象的任意两幅图像的单应性矩阵的方式,而在实际应用中,通过建立卷积神经网络模型,并根据卷积神经网络模型来确定包含同一对象的任意两幅图像的单应性矩阵,可以广泛的应用到人们的实际生活中,在此,本申请将提供若干基于单应性矩阵的应用,详细说明根据卷积神经网络模型来确定包含同一对象的任意两幅图像的单应性矩阵在人们实际生活中的应用。
第一种应用:
在实际应用中,由于摄像机在拍摄的过程中,有可能会出现摄像机抖动,从而使得所拍摄的画面瞬间发生剧烈的抖动变化的情况,因此,为了能够在摄像机出现抖动的时候,所拍摄的画面不会瞬间发生剧烈的抖动变化,而是实现所拍摄的画面的每一帧能够平滑的发生的变化,在本申请中,可以基于训练好的卷积神经网络模型来确定相邻两幅图像的四个顶点的坐标偏差,根据坐标偏差对画面进行矫正,从而达到所拍摄的画面不会瞬间发生剧烈的抖动变化,而是实现所拍摄的画面的每一帧能够平滑的发生的变化的效果。
具体如下:
以所拍摄的画面抖动前一帧开始,依次将前一帧画面与相邻的下一帧画面(即,图7中的画面序列)输入到上述建立的卷积神经网络模型,输出前一帧画面与相邻的下一帧画面的四个顶点的顶点坐标之间的偏差(即,图7中的画面序列偏移),根据每对所述卷积神经网络模型输出的前一帧画面与相邻的下一帧画面的四个顶点坐标之间的偏差,确定每帧画面与第一帧画面的四个顶点坐标之间的偏差(即,图7中的相机运动轨迹),根据确定出的每帧画面与第一帧画面的四个顶点坐标之间的偏差,确定每帧画面与第一帧画面的四个顶点坐标之间的矫正偏差(图7中的相机运动轨迹平滑),根据每帧画面与第一帧画面的四个顶点坐标之间的矫正偏差以及第一帧画面的已知四个顶点坐标,确定每帧画面的四个顶点矫正坐标,根据确定出的每帧画面的四个顶点矫正坐标,确定指定的两帧画面之间的单应性矩阵(即,图7中的单应性矩阵变换),并矫正每帧画面。
在此需要说明的是,根据每对所述卷积神经网络模型输出的前一帧画面与相邻的下一帧画面的四个顶点坐标之间的偏差,确定每帧画面与第一帧画面的四个顶点坐标之间的偏差(图7中的相机运动轨迹平滑),具体可以:针对任一帧画面,确定位于该帧画面之前的每对所述卷积神经网络模型输出的前一帧画面与相邻的下一帧画面的四个顶点坐标之间的偏差,将确定出的位于该帧画面之前的每对所述卷积神经网络模型输出的前一帧画面与相邻的下一帧画面的四个顶点坐标之间的偏差之和作为该帧画面与第一帧画面的四个顶点坐标之间的偏差,即,pt为该帧画面与第一帧画面的四个顶点坐标之间的偏差,Δi为第i帧画面与第i-1帧画面的四个顶点坐标之间的偏差,从而得到如图6所示的每帧画面与第一帧画面的四个顶点坐标之间的偏差。
另外,在此还需要说明的是,在本申请中,根据确定出的每帧画面与第一帧画面的四个顶点坐标之间的偏差,确定每帧画面与第一帧画面的四个顶点坐标之间的矫正偏差(图7中的相机运动轨迹平滑),具体可以:以所拍摄的画面抖动前一帧画面开始,依次根据前一帧画面与第一帧画面的四个顶点坐标之间的矫正偏差以及,下一帧画面与第一帧画面的四个顶点坐标之间的偏差,通过矫正公式p′t=argminp(α‖p-p′t-1‖+(1-α)‖p-pt‖)确定下一帧画面与第一帧画面的四个顶点坐标之间的矫正偏差,其中,p′t为下一帧画面与第一帧画面的四个顶点坐标之间的矫正偏差,pt为下一帧画面与第一帧画面的四个顶点坐标之间的偏差,p′t-1为前一帧画面与第一帧画面的四个顶点坐标之间的矫正偏差,α为权重系数,用于调整画面的稳定情况和保留情况,直到所有帧的画面与第一帧画面的四个顶点坐标之间的矫正偏差都确定完成,从而得到如图6所示的每帧画面与第一帧画面的四个顶点坐标之间的矫正偏差。
进一步的,在本申请中,根据确定出的每帧画面的四个顶点矫正坐标,确定指定的两帧画面之间的单应性矩阵(即,图7中的单应性矩阵变换),并矫正每帧画面,具体可以:当指定的两帧画面包括:前一帧画面与相邻的下一帧画面时,,来确定下一帧画面的矫正方位(其中,该矫正方位包括下一帧画面矫正后的四个顶点的顶点坐标)针对任一帧画面,根据确定出的该帧画面的四个顶点矫正坐标以及与该帧画面相邻的前一帧画面的四个顶点矫正坐标,通过单应性矩阵公式,确定前一帧画面与该帧画面之间的单应性矩阵,将下一帧画面通过确定出的单应性矩阵矫正成前一帧画面,重复上述过程,直到将该帧画面矫正到跟第一帧画面一致,最后,将所有帧画面均矫正到跟第一帧画面一致;当指定的两帧画面包括:第一帧画面与其他帧画面时,针对任一帧画面,根据确定出的该帧画面的四个顶点矫正坐标以及第一帧画面画面的四个顶点矫正坐标,通过单应性矩阵公式,确定第一帧画面与该帧画面之间的单应性矩阵,将该帧画面通过确定出的单应性矩阵矫正成第一帧画面,重复上述过程,直到将该帧画面矫正到跟第一帧画面一致,最后,将所有帧画面均矫正到跟第一帧画面一致。
进一步的,当所有帧画面均矫正到跟第一帧画面一致之后,裁剪所有帧画面中的共同内容(即,图7中的画面剪裁输出),即可得到一个更平滑,稳定的视频,也就是实现所拍摄的画面的每一帧能够平滑的发生的变化,整个过程具体如图7所示。
在此需要说明的是,对矫正后的每帧画面,求取非黑边部分的最大内接矩形,且矩形的宽高比应为显示的比例,一般情况下,应当保证裁剪后至少有80%的保留率。
例如,如图8所示,图8中的(a)与(b)为同一个摄像机在实景拍摄视频中的相邻两帧画面,为了简单方便的说明本申请的方案,在此只以(a)与(b)两幅画面为例进行说明,实际上抖动发生时会出现多帧的画面,但是原理跟两幅画面是一致的,(a)为所拍摄的画面抖动前一帧画面(即,第一帧画面),(b)为相邻的下一帧画面,将(a)画面与(b)画面输入到上述建立的卷积神经网络模型,输出(a)画面与(b)画面的四个顶点的顶点坐标之间的偏差(也就是确定(b)画面与(a)画面的四个顶点坐标之间的偏差),针对(b)画面,确定位于(b)画面之前的每对卷积神经网络模型输出的(a)画面与(b)画面的四个顶点坐标之间的偏差,将确定出的位于(b)画面之前的每对卷积神经网络模型输出的(a)画面与(b)画面的四个顶点坐标之间的偏差之和作为(b)画面与(a)画面的四个顶点坐标之间的偏差,以所拍摄的画面抖动前一帧画面开始,依次根据(a)画面与(b)画面的四个顶点坐标之间的矫正偏差以及,(a)画面与(b)画面的四个顶点坐标之间的偏差,通过矫正公式p′t=argminp(α‖p-p′t-1‖+(1-α)‖p-pt‖)确定(a)画面与(b)画面的四个顶点坐标之间的矫正偏差,根据(a)画面的四个顶点的顶点矫正坐标以及输出的(a)画面与(b)画面的四个顶点的顶点坐标之间的矫正偏差,确定(b)画面的四个顶点的顶点矫正坐标,,来确定,最后,根据(b)画面的四个顶点矫正坐标与(a)画面的四个顶点矫正坐标,通过单应性矩阵公式,确定(a)画面与(b)画面之间的单应性矩阵,将(b)画面通过确定出的单应性矩阵矫正成(a)画面,裁剪所有帧画面中的共同内容,裁剪(b)画面得到图8中的(c)画面,将(c)画面替换原来的(b)画面。
通过上述方式,可以有效的使得所拍摄的画面不会瞬间发生剧烈的抖动变化,而是实现所拍摄的画面的每一帧能够平滑的发生的变化的效果。
第二种应用:
在实际应用中,观看视频直播已经逐渐成为人们日常生活中一种重要的娱乐方式,而在进行视频直播的过程中,为了增强视频直播中虚拟与现实的互动性,当摄像机的当前时刻的影像到达指定的位置时,则会在屏幕上显示预设的虚拟物,当摄像机的当前时刻的影像没有到达指定的位置时,则不会在在屏幕上显示预设的虚拟物,在本申请中,可以根据当前影像与指定的位置的影像,通过上述建立的卷积神经网络模型来判断摄像机的当前时刻的影像是否到达指定的位置。
具体过程如下:
从直播视频中,提取当前时刻的m帧画面,依次针对m帧画面中的每个画面,将该画面与目标画面共同输入到上述建立的卷积神经网络模型中,输出该画面与目标画面的四个顶点的顶点坐标之间的偏差,也就是,四对顶点的位置偏差,直到确定出m帧画面中每个画面与目标画面的四个顶点的顶点坐标之间的偏差,再根据确定出m帧画面中每个画面与目标画面的四个顶点的顶点坐标之间的偏差Vi,通过公式:来确定摄像机的当前时刻的影像是否没有到达指定的位置。
另外,在此还需要说明的是,再根据确定出m帧画面中每个画面与目标画面的四个顶点的顶点坐标之间的偏差Vi之后,还可以通过公式‖V‖<S来确定摄像机的当前时刻的影像是否没有到达指定的位置,其中,其中,‖·‖可以是0范数,1范数,2范数等距离公式,S是预设的阈值,V为当前m帧画面的方位偏差矩阵[Vij]m×8,当然,还可以根据其他公式来确定摄像机的当前时刻的影像是否没有到达指定的位置,只要能够通过公式让当前时刻的影像与目标画面的方位偏差尽量小即可。
进一步的,当根据确定出m帧画面中每个画面与目标画面的四个顶点的顶点坐标之间的偏差满足公式时,则确定摄像机的当前时刻的影像到达指定的位置;当根据确定出m帧画面中每个画面与目标画面的四个顶点的顶点坐标之间的偏差未满足公式时,则确定摄像机的当前时刻的影像没有到达指定的位置。
进一步的,当确定出摄像机的当前时刻的影像到达指定的位置时,则会在屏幕上显示预设的虚拟物,当确定初摄像机的当前时刻的影像没有到达指定的位置时,则不会在在屏幕上显示预设的虚拟物,需要继续移动摄像机直到摄像机当前时刻的影像与目标画面通过公式匹配成功,这也说明,摄像机的当前时刻的影像到达指定的位置。
通过上述方式,可以有效的确定出摄像机的当前时刻的影像是否没有到达指定的位置。
此外,在使用相机进行全景画面的拍摄的过程中,难免会出现摄像头无法稳定在同一水平线上,从而造成相邻的前一帧与后一帧的画面的拼接会不稳定的情况,因此,在本申请中,可以基于训练好的卷积神经网络模型来确定相邻两幅画面的单应性矩阵,将后一帧的画面调整到前一帧的画面的角度,从而使得相邻的前一帧与后一帧的画面进行稳定的拼接。
具体如下:
将前一帧画面与相邻的下一帧画面输入到上述建立的卷积神经网络模型,输出前一帧画面与相邻的下一帧画面的四个顶点的顶点坐标之间的偏差,根据前一帧画面的四个顶点的顶点坐标以及输出的前一帧画面与相邻的下一帧画面的四个顶点的顶点坐标之间的偏差,确定下一帧画面的四个顶点的顶点坐标,并根据前一帧画面与相邻的下一帧画面的四对顶点的顶点坐标,通过单应性矩阵计算公式,确定出前一帧画面与相邻的下一帧画面之间的单应性矩阵,最后,再将相邻的下一帧画面中的每一个像素通过确定出的单应性矩阵转换成矫正画面,将矫正画面与前一帧画面进行拼接。
通过上述方式,可以有效的使得相邻的前一帧与后一帧的画面进行稳定的拼接。
以上为本申请实施例提供的基于卷积神经网络的虚拟物显示方法,基于同样的思路,本申请实施例还提供一种基于卷积神经网络的虚拟物显示装置。
如图9所示,本申请实施例提供的一种基于卷积神经网络的虚拟物显示装置包括:
获取模块901,用于获取摄像机当前时刻所拍摄的每帧画面;
输出模块902,用于针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差;
显示模块903,用于当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。
所述装置还包括:
模型训练模块904,用于在输入模块901将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像,初始化待训练的卷积神经网络模型内的各权重参数,将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
该装置还包括:
扰动模块905,用于对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
所述卷积神经网络模型内的最后一个池化层的核大小为4x4,所述卷积层的卷积核的通道数为64。
所述模型训练模块904,还用于按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
所述扰动模块905具体用于,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式p′=p×(1.0+r)确定该幅矩形图像中每个像素点的新灰度值,其中,p′表示新灰度值,P表示原始灰度值,r表示随机数;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
其中随机梯度下降法使用的下降策略为:其中,lr为当前学习率,iter为当前迭代次数,max_iter为最大迭代次数,power为控制学习率下降快慢的参数,base_lr为基础学习率;和/或,模型精度按照如下公式计算:si=pi-ri,其中,M为测试样本集的数量,pi为一对矩形图像i的顶点坐标的预测偏差,ri为一对矩形图像i的顶点坐标的真实偏差。
所述显示模块903具体用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式则显示虚拟物,其中,m指的是当前时刻所获取的帧面的数量,T为预设的第一阈值,S为预设的第二阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差。
所述显示模块903具体用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式‖V‖<S,则显示虚拟物,其中,‖·‖为0范数、1范数或2范数的距离公式,S是预设的第三阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差构成的偏差矩阵。
另外,本申请实施例还提供一种基于卷积神经网络的虚拟物显示***,该***包括:
处理器、计算机可读存储器、和计算机可读存储介质;
程序,用于获取摄像机当前时刻所拍摄的每帧画面,针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差,当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物。
所述程序存储在所述计算机可读存储介质上,用于由所述处理器经由所述计算机可读存储器执行。
所述处理器、计算机可读存储器以及所述计算机可读存储介质可以用图10中的处理器、内部存储器、外部存储器来实现。
其中,图10为基于卷积神经网络的虚拟物显示***组成结构框图,其中示出了基于卷积神经网络的虚拟物显示***的主要部件。图9中,处理器1010、内部存储器1005、总线桥1020以及网络接口1015接入***总线1040,总线桥1020用于桥接***总线1040和I/O总线1045,I/O接口接入I/O总线1045,USB接口以及外部存储器与I/O接口连接。图10中,处理器1010可以为一个或多个处理器,每个处理器可以具有一个或者多个处理器内核;内部存储器1005为易失性存储器,例如寄存器、缓存器、各种类型的随机存取存储器等;在基于卷积神经网络的虚拟物显示***运行的时候,内部存储器1005中的数据包括操作***和应用程序;网络接口1015可以为以太网接口、光纤接口等;***总线1040可以用来传送数据信息、地址信息、以及控制信息;总线桥1020可以用来进行协议转换,将***总线协议转换为I/O协议或者将I/O协议转换为***总线协议以实现数据传输;I/O总线1045用来数据信息和控制信息,还可以总线终结电阻或电路来降低信号反射干扰;I/O接口1030主要与各种外部设备连接,例如键盘、鼠标、传感器等等,闪存可以通过USB接口接入I/O总线,外部存储器为非易失性存储器,例如硬盘、光盘等。在基于卷积神经网络的虚拟物显示***运行之后,处理器可以将存储于外部存储其中的数据读取到内部存储器中,并对内部存储其中的***指令进行处理,完成操作***以及应用程序的功能。该示例基于卷积神经网络的虚拟物显示***可以为位于台式机、笔记本电脑、平板电脑、智能手机等。
优选地,所述程序还用于,在将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像,初始化待训练的卷积神经网络模型内的各权重参数,将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
优选地,所述程序还用于,所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
优选地,所述程序还用于,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
优选地,所述程序还用于,所述卷积神经网络模型内的最后一个池化层的核大小为4x4,所述卷积层的卷积核的通道数为64。
优选地,所述程序还用于,按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
优选地,所述程序还用于,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式p′=p×(1.0+r)确定该幅矩形图像中每个像素点的新灰度值,其中,p′表示新灰度值,P表示原始灰度值,r表示随机数;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
优选地,所述程序还用于,其中随机梯度下降法使用的下降策略为:其中,lr为当前学习率,iter为当前迭代次数,max_iter为最大迭代次数,power为控制学习率下降快慢的参数,base_lr为基础学习率;和/或,模型精度按照如下公式计算:si=pi-ri,其中,M为测试样本集的数量,pi为一对矩形图像i的顶点坐标的预测偏差,ri为一对矩形图像i的顶点坐标的真实偏差。
优选地,所述程序还用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式则显示虚拟物,其中,m指的是当前时刻所获取的帧面的数量,T为预设的第一阈值,S为预设的第二阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差。
优选地,所述程序还用于,当每帧画面与目标画面的四个顶点坐标之间的偏差满足误差公式‖V‖<S,则显示虚拟物,其中,‖·‖为0范数、1范数或2范数的距离公式,S是预设的第三阈值,V为每帧画面与目标画面的四个顶点坐标之间的偏差构成的偏差矩阵。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种基于卷积神经网络的虚拟物显示方法,其特征在于,包括:
获取摄像机当前时刻所拍摄的每帧画面;
针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差,所述目标画面指的是指定位置所对应的画面;所述卷积神经网络模型是根据至少一对存在单应性对应关系的矩形图像训练得到的;
当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则确定摄像机的当前时刻的影像到达指定的位置,则在屏幕上显示虚拟物;
当每帧画面与目标画面的四个顶点坐标之间的偏差不小于阈值,则确定当摄像机的当前时刻的影像没有到达指定的位置,则继续移动摄像机,直到摄像机当前时刻的影像与目标画面的四个顶点坐标之间的偏差小于阈值;
当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物,具体包括:
2.如权利要求1所述的方法,其特征在于,在将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,所述方法还包括:
制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像;
初始化待训练的卷积神经网络模型内的各权重参数;
将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型;
根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
3.如权利要求2所述的方法,其特征在于,所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
4.如权利要求2所述的方法,其特征在于,该方法包括:对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述卷积神经网络模型内的最后一个池化层的核大小为4x4,卷积层的卷积核的通道数为64。
6.如权利要求2所述的方法,其特征在于,所述训练所述待训练的卷积神经网络模型内的各权重参数包括:
按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型;
根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
7.如权利要求4所述的方法,其特征在于,
对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式确定该幅矩形图像中每个像素点的新灰度值,其中,表示新灰度值,表示原始灰度值,r表示随机数;
对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;
对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;
对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
10.一种基于卷积神经网络的虚拟物显示装置,其特征在于,包括:
获取模块,用于获取摄像机当前时刻所拍摄的每帧画面;
输出模块,用于针对每帧画面中的任一帧画面,将该帧画面与目标画面输入预先建立的卷积神经网络模型,输出该帧画面与目标画面的四个顶点坐标之间的偏差,所述目标画面指的是指定位置所对应的画面;所述卷积神经网络模型是根据至少一对存在单应性对应关系的矩形图像训练得到的;
显示模块,用于当每帧画面与目标画面的四个顶点坐标之间的偏差小于阈值,则显示虚拟物;当每帧画面与目标画面的四个顶点坐标之间的偏差不小于阈值,则确定当摄像机的当前时刻的影像没有到达指定的位置,则继续移动摄像机,直到摄像机当前时刻的影像与目标画面的四个顶点坐标之间的偏差小于阈值;
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
模型训练模块,用于在输入模块将该帧画面与目标画面输入预先建立的卷积神经网络模型之前,制作训练图像集,其中,所述训练图像集包括至少一对存在单应性对应关系的矩形图像,初始化待训练的卷积神经网络模型内的各权重参数,将所述至少一对存在单应性对应关系的矩形图像输入待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述至少一对存在单应性对应关系的矩形图像的顶点坐标的偏差以及所述至少一对存在单应性对应关系的矩形图像的顶点坐标训练所述待训练的卷积神经网络模型内的各权重参数,得到卷积神经网络模型。
12.如权利要求11所述的装置,其特征在于,所述至少一对存在单应性对应关系的矩形图像均为灰度图像,和/或所述至少一对存在单应性对应关系的矩形图像包括图像的中心点且尺寸相同。
13.如权利要求11所述的装置,其特征在于,该装置还包括:
扰动模块,用于对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度、模糊度、噪声和子图像位置中的至少一者进行扰动。
14.如权利要求10-13任意一项所述的装置,其特征在于,所述卷积神经网络模型内的最后一个池化层的核大小为4x4,卷积层的卷积核的通道数为64。
15.如权利要求11所述的装置,其特征在于,所述模型训练模块,还用于按照随机梯度下降法将所述训练图像集中的存在单应性对应关系的矩形图像输入所述待训练的卷积神经网络模型,根据待训练的卷积神经网络模型输出的所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的偏差,以及所述训练图像集中的存在单应性对应关系的矩形图像的顶点坐标的顶点坐标之间的差值,构建损失函数,直至损失函数符合预先设定的模型精度值。
16.如权利要求13所述的装置,其特征在于,所述扰动模块具体用于,对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的亮度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数r,根据所生成的随机数r,通过公式确定该幅矩形图像中每个像素点的新灰度值,其中,表示新灰度值,表示原始灰度值,r表示随机数;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的模糊度进行扰动的方式为:针对待扰动的一幅矩形图像,生成随机数a,以随机数a为模糊半径,对该幅矩形图像进行高斯模糊;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的噪声进行扰动的方式为:针对待扰动的一幅矩形图像,生成密度随机数以及强度随机数,根据密度随机数以及强度随机数,在该幅矩形图像内生成椒盐噪声;对所述至少一对存在单应性对应关系的矩形图像中的一幅矩形图像的子图像位置进行扰动的方式为:针对待扰动的一幅矩形图像,在该幅图像内随机选择两个不同位置且相同尺寸的子图像,交换两个子图像内的所有像素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710765514.XA CN107564063B (zh) | 2017-08-30 | 2017-08-30 | 一种基于卷积神经网络的虚拟物显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710765514.XA CN107564063B (zh) | 2017-08-30 | 2017-08-30 | 一种基于卷积神经网络的虚拟物显示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107564063A CN107564063A (zh) | 2018-01-09 |
CN107564063B true CN107564063B (zh) | 2021-08-13 |
Family
ID=60978479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710765514.XA Active CN107564063B (zh) | 2017-08-30 | 2017-08-30 | 一种基于卷积神经网络的虚拟物显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107564063B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10475113B2 (en) | 2014-12-23 | 2019-11-12 | Ebay Inc. | Method system and medium for generating virtual contexts from three dimensional models |
WO2019136761A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 一种用于识别人为动作的三维卷积装置 |
JP6658795B2 (ja) * | 2018-05-11 | 2020-03-04 | セイコーエプソン株式会社 | 機械学習装置、撮影時期推定装置、機械学習プログラムおよび写真データの生産方法 |
CN110096310B (zh) * | 2018-11-14 | 2021-09-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
US11803664B2 (en) | 2018-10-09 | 2023-10-31 | Ebay Inc. | Distributed application architectures using blockchain and distributed file systems |
CN110602393B (zh) * | 2019-09-04 | 2020-06-05 | 南京博润智能科技有限公司 | 一种基于图像内容理解的视频防抖方法 |
CN114998583A (zh) * | 2022-05-11 | 2022-09-02 | 平安科技(深圳)有限公司 | 图像处理方法、图像处理装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4874280B2 (ja) * | 2008-03-19 | 2012-02-15 | 三洋電機株式会社 | 画像処理装置及び方法、運転支援システム、車両 |
CN106485192B (zh) * | 2015-09-02 | 2019-12-06 | 富士通株式会社 | 用于图像识别的神经网络的训练方法和装置 |
CN106548127B (zh) * | 2015-09-18 | 2022-11-04 | 松下电器(美国)知识产权公司 | 图像识别方法 |
CN105610843A (zh) * | 2015-12-31 | 2016-05-25 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 远程摄像画面实时分享方法及其*** |
CN107240117B (zh) * | 2017-05-16 | 2020-05-15 | 上海体育学院 | 视频中运动目标的跟踪方法和装置 |
-
2017
- 2017-08-30 CN CN201710765514.XA patent/CN107564063B/zh active Active
Non-Patent Citations (3)
Title |
---|
Javanese vowels sound classification with convolutional neural network;Chandra Kusuma Dewa;《2016 International Seminar on Intelligent Technology and Its Applications (ISITIA)》;20170123;第123-128页 * |
基于3D卷积神经网络的视频检索技术研究;吕要要;《中国优秀硕士论文全文数据库信息科技辑》;20170615;I140-66 * |
基于卷积神经网络的点云配准方法;舒程珣等;《激光与光电子学进展》;20170331;第54卷(第3期);第031001-1页-第031001-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107564063A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107689035B (zh) | 一种基于卷积神经网络的单应性矩阵确定方法及装置 | |
CN107566688B (zh) | 一种基于卷积神经网络的视频防抖方法、装置及图像对齐装置 | |
CN107564063B (zh) | 一种基于卷积神经网络的虚拟物显示方法及装置 | |
CN112348815B (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
US8102428B2 (en) | Content-aware video stabilization | |
US20210004962A1 (en) | Generating effects on images using disparity guided salient object detection | |
CN109753971B (zh) | 扭曲文字行的矫正方法及装置、字符识别方法及装置 | |
CN113286194A (zh) | 视频处理方法、装置、电子设备及可读存储介质 | |
US10970821B2 (en) | Image blurring methods and apparatuses, storage media, and electronic devices | |
CN107113381A (zh) | 时空局部变形及接缝查找的容差视频拼接 | |
US11132800B2 (en) | Real time perspective correction on faces | |
JP2022515517A (ja) | 画像深度推定方法および装置、電子機器、ならびに記憶媒体 | |
WO2024001360A1 (zh) | 绿幕抠图方法、装置及电子设备 | |
CN113643414A (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN114429191B (zh) | 基于深度学习的电子防抖方法、***及存储介质 | |
US11770551B2 (en) | Object pose estimation and tracking using machine learning | |
CN112529006B (zh) | 全景图片的检测方法、装置、终端及存储介质 | |
CN113506305A (zh) | 三维点云数据的图像增强方法、语义分割方法及装置 | |
CN108734712B (zh) | 背景分割的方法、装置及计算机存储介质 | |
Ahn et al. | Implement of an automated unmanned recording system for tracking objects on mobile phones by image processing method | |
US20230290061A1 (en) | Efficient texture mapping of a 3-d mesh | |
US20230216999A1 (en) | Systems and methods for image reprojection | |
CN115564639A (zh) | 背景虚化方法、装置、计算机设备和存储介质 | |
WO2023023960A1 (zh) | 图像处理及神经网络的训练方法和装置 | |
US20220114740A1 (en) | Camera motion information based three-dimensional (3d) reconstruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210114 Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Address before: 511442 24 floors, B-1 Building, Wanda Commercial Square North District, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |