一种基于神经网络的全景视频转6DOF视频的方法及系统
技术领域
本发明涉及VR视频制作技术领域,具体涉及一种基于神经网络的全景视频转6DOF视频的方法及系统。
背景技术
ODS(omni-directional stereo)全景立体图像为目前流行的媒体格式,比如VR头盔从视觉传感器中捕获的视频我们称之为ODS全景立体图像。VR头盔通过为佩戴者的每只眼睛分配不同的全景图像,可以模拟三维人类视觉,允许VR视频观察者旋转,但不允许观察者位置移动。
目前,VR视频制作技术领域的研究热点是如何获取高精度、低畸变率的ODS全景立体视频。比如有学者提出,通过至少3个带有鱼眼镜头的相机拍摄场景图像,然后将不同的场景图像“缝合”成ODS全景立体图像,该方法降低了ODS全景立体图像的畸变率,但还是无法实现ODS全景立体图像在VR中的6自由度(6DOF)观看,核心是观察者无法自由移动。
发明内容
本发明的目的在于提供一种基于神经网络的全景视频转6DOF视频的方法及系统,以解决上述技术问题。
为达此目的,本发明采用以下技术方案:
提供一种基于神经网络的全景视频转6DOF视频的方法,包括:
将ODS全景立体图像输入到一全景深度特征提取网络中;
所述全景深度特征提取网络提取所述ODS全景立体图像的图像深度特征,并输出所述ODS全景立体图像对应的全景深度图;
基于所述全景深度图,将原始输入的所述ODS全景立体图像映射为对应的6DOF视频并保存。
作为本发明的一种优选方案,所述ODS全景立体图包括以左眼视角采集的第一ODS全景立体图像和在同个时间点以右眼视角采集的第二ODS全景立体图像,同一时刻分配给左眼的所述第一ODS全景立体图像以及分配给右眼的所述第二ODS全景立体图像模拟出三维人类视觉。
作为本发明的一种优选方案,所述全景深度特征提取网络采用卷积神经网络架构。
作为本发明的一种优选方案,通过一全景损失函数
表达所述全景深度特征提取网络预测所述全景深度图的全景损失,所述全景损失函数
通过以下公式表达:
上式中,w用于表示所述全景深度图的图宽;
h用于表示所述全景深度图的图高;
H(Δ)为所述全景深度图中的每个像素的berHu矩阵;
表示所述全景深度特征提取网络对所述ODS全景立体图像中的某个像素的预测深度,y用于表示同个所述像素的真实深度;
W用于表示所述全景深度图的边界像素的权值矩阵;
n表示W矩阵中非零元素的个数。
作为本发明的一种优选方案,所述W矩阵中各元素的元素值通过以下方法求得:
若像素pi,j为所述全景深度图的边界像素,则Wi,j=λ,Wi,j表示作为所述W矩阵元素的所述像素pi,j对应的元素值;λ为一常数;i,j表示所述像素pi,j在所述全景深度图中的坐标位置;
若像素pi,j为非所述全景深度图的边界像素,则Wi,j=0。
作为本发明的一种优选方案,通过经纬度坐标表示所述像素pi,j在所述全景深度图中的具体坐标位置。
作为本发明的一种优选方案,通过一边界损失函数估计所述全景深度特征提取网络提取的所述全景深度图的图像边界与真实图像边界的距离误差,所述边界损失函数通过下式表达:
y(b)为像素b的真实深度;
B(k)为表示构成所述全景深度图的图像边界的k个边界像素的集合;
N表示边界像素集合中的像素数量。
作为本发明的一种优选方案,用于表示所述全景深度图的图像边界的像素数量为16个。
本发明还提供了一种基于神经网络的全景视频转6DOF视频的系统,包括:
图像输入模块,用于输入所述ODS全景立体图像;
图像深度特征提取模块,连接所述图像输入模块,用于通过所述全景深度特征提取网络提取所述ODS全景立体图像的图像深度特征,并输出所述ODS全景立体图像对应的所述全景深度图;
6DOF视频映射模块,连接所述图像深度特征提取模块,用于基于所述全景深度图,将原始输入的所述ODS全景立体图像映射为对应的所述6DOF视频并保存。
作为本发明的一种优选方案,通过一全景损失函数
表达所述全景深度特征提取网络预测所述全景深度图的全景损失,所述全景损失函数
通过以下公式表达:
上式中,w用于表示所述全景深度图的图宽;
h用于表示所述全景深度图的图高;
H(Δ)为所述全景深度图中的每个像素的berHu矩阵;
表示所述全景深度特征提取网络对所述ODS全景立体图像中的某个像素的预测深度,y用于表示同个所述像素的真实深度;
W用于表示所述全景深度图的边界像素的权值矩阵;
n表示W矩阵中非零元素的个数。
本发明利用卷积神经网络估计ODS全景立体图像的全景深度图,并通过将全景深度图映射为6DOF视频,解决了VR视频仅允许观察者旋转,不允许6自由度观看的技术问题。而且,本发明创新提出的全景损失函数和边界损失函数训练形成的全景深度图预测模型具有更高地预测精度,大幅提高了合成的6DOF视频的真实度和逼真度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例所述的基于神经网络的全景视频转6DOF视频的方法的步骤图;
图2是本发明一实施例所述的基于神经网络的全景视频转6DOF视频的系统的结构图;
图3是所述全景深度特征提取网络的网络结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
首先对本发明实施例将涉及到的部分名词进行解释。本实施例中所述的ODS(omni-directional stereo)全景立体图像为所述全景视频的视频帧。DOF(degree offreedom),中文含义为自由度,6DOF指六自由度。
本实施例提供的基于神经网络的全景视频转6DOF(degree of freedom)视频的方法,请参照图1,包括:
步骤S1,将ODS全景立体图像输入到一全景深度特征提取网络中;
步骤S2,全景深度特征提取网络提取ODS全景立体图像的图像深度特征,并输出ODS全景立体图像对应的全景深度图;
步骤S3,基于全景深度图,将原始输入的ODS全景立体图像映射为对应的6DOF视频并保存。
步骤S1中,获取ODS全景立体图像的现有方法有许多,比如可以通过多个带有鱼眼镜头的相机拍摄场景图像,然后通过图像缝合技术,将所有相机拍摄的场景图像进行“缝合”形成ODS全景立体图像。由于ODS全景立体图像的获取过程并非本发明要求权利保护的范围,所以关于关于ODS全景立体图像的具体获取过程在此不作阐述。
图3示出了本实施例提供的全景深度特征提取网络的网络结构示意图。本实施例提供的全景深度特征提取网络采用CNNs卷积神经网络架构。更具体地,本实施例对现有的U-Net神经网络的网络架构进行了改进,得到了全景深度特征提取网络。请参照图3,全景深度特征提取网络中包括多个依次级联的编码器和多个依次级联的解码器,编码器用于逐级提取ODS全景立体图像的图像深度特征;解码器的输入为编码器的输出,解码器用于基于提取的图像深度特征生成ODS全景立体图像对应的全景深度图以及基于全景深度图将原始输入的ODS全景立体图像映射为具有深度信息的全景图像。
图3中的Left指的是分配给左眼的第一ODS全景立体图像;图3中的Right指的是同一时刻分配给右眼的第二ODS全景立体图像。第一ODS全景立体图像和第二ODS全景立体图像同时分配给眼睛,可模拟出三维人类视觉。第一ODS全景立体图像和第二ODS全景立体图像进行图像融合后形成所述的ODS全景立体图像输入到全景深度特征提取网络中。
全景深度特征提取网络中提取图像特征的卷积核大小优选为3×3。由于全景深度特征提取网络的具体结构并非本发明要求权利保护的范围,所以关于全景深度特征提取网络的具体结构在此不做详细阐述。
为了提高全景深度特征提取网络预测全景深度图的精度,本实施例创新提出了一全景损失函数
表达全景深度特征提取网络预测全景深度图的全景损失。具体地,全景损失函数
通过以下公式表达:
上式中,w用于表示所述全景深度图的图宽;
h用于表示所述全景深度图的图高;
H(Δ)为全景深度图中的每个像素的berHu矩阵;每个像素的berHu矩阵通过现有的berHu损失函数计算而得,所以关于berHu矩阵的具体计算过程在此不做阐述;
表示全景深度特征提取网络对ODS全景立体图像中的某个像素的预测深度,y用于表示同个像素的真实深度;
W用于表示全景深度图的边界像素的权值矩阵;边界像素由全景深度特征提取网络预测而得,具体预测过程在此不做阐述;
n表示W矩阵中非零元素的个数。
W矩阵中各元素的元素值通过以下方法求得:
若像素pi,j为全景深度图的边界像素,则Wi,j=λ,Wi,j表示作为W矩阵元素的像素pi,j对应的元素值;λ为一常数;i,j表示像素pi,j在全景深度图中的坐标位置;
若像素pi,j为非全景深度图的边界像素,则Wi,j=0。
由于ODS全景立体图像中的水平和垂直像素表示一个球体的经度和纬度。因此ODS全景立体图像中的像素位置优选通过经纬度坐标表达。
准确识别出全景深度图的图像边界对于后续映射形成6DOF视频而言至关重要,因为如果图像边界预测不准确可能会造成后续映射的6DOF视频部分图像缺失或图像失真,影响视频真实度和流畅性,所以为了能够准确预测出图像边界,本实施例还创新提出了一边界损失函数用以估计全景深度特征提取网络提取的全景深度图的图像边界与真实图像边界的距离误差。该边界损失函数通过下式表达:
y(b)为像素b的真实深度;
B(k)为表示构成全景深度图的图像边界的k个边界像素的集合;
N表示边界像素集合中的像素数量。
经过多次实验而得,k取值为16时,全景深度特征提取网络预测的全景深度图边界的误差最小,所以全景深度特征提取网络预测的用于表示全景深度图的图像边界的边界像素的数量优选为16个。
上述技术方案中,另外需要说明的是,步骤S3中基于图像深度信息将原始输入的ODS全景立体图像映射为对应的6DOF视频的现有方法有许多,而且基于图像深度信息将原始的ODS全景立体图像映射为6DOF视频的方法也并非本发明要求权利保护的范围,所以关于6DOF视频的具体映射过程在此不做阐述。
以下对本发明一实施例提供的基于神经网络的全景视频转6DOF视频的系统进行阐述,请参照图2,该系统包括:
图像输入模块1,用于输入ODS全景立体图像;
图像深度特征提取模块2,连接图像输入模块1,用于通过全景深度特征提取网络提取ODS全景立体图像的图像深度特征,并输出ODS全景立体图像对应的全景深度图;
6DOF视频映射模块3,连接图像深度特征提取模块2,用于基于全景深度图,将原始输入的ODS全景立体图像映射为对应的6DOF视频并保存。
所述的全景深度特征提取网络采用卷积神经网络结构,具体的网络结构请参照图3,由于全景深度特征提取网络并非本发明要求权利保护的范围,所以全景深度特征提取网络的具体网络结构在此不做阐述。
本系统通过一全景损失函数
表达全景深度特征提取网络预测全景深度图的全景损失,全景损失函数
通过以下公式表达:
上式中,w用于表示全景深度图的图宽;
h用于表示全景深度图的图高;
H(Δ)为全景深度图中的每个像素的berHu矩阵;
表示全景深度特征提取网络对ODS全景立体图像中的某个像素的预测深度,y用于表示同个像素的真实深度;
W用于表示全景深度图的边界像素的权值矩阵;
n表示W矩阵中非零元素的个数。
W矩阵中各元素的元素值通过以下方法求得:
若像素pi,j为全景深度图的边界像素,则Wi,j=λ,Wi,j表示作为W矩阵元素的像素pi,j对应的元素值;λ为一常数;i,j表示像素pi,j在全景深度图中的坐标位置;
若像素pi,j为非全景深度图的边界像素,则Wi,j=0。
另外,本系统通过一边界损失函数估计全景深度特征提取网络提取的全景深度图的图像边界与真实图像边界的距离误差,边界损失函数通过下式表达:
y(b)为像素b的真实深度;
B(k)为表示构成全景深度图的图像边界的k个边界像素的集合;
N表示边界像素集合中的像素数量。
综上,本发明利用卷积神经网络估计ODS全景立体图像的全景深度图,并通过将全景深度图映射为6DOF视频,解决了VR视频仅允许观察者旋转,不允许6自由度观看的技术问题。另外,本发明通过全景损失函数和边界损失函数对预测结果进行评价,然后基于评价结果对全景深度特征提取网络的网络参数进行调整,有利于提高网络的特征提取精度,进而提升所合成的6DOF视频的真实度和逼真度。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。