发明内容
本发明实施例提供了一种视差确定方法、装置、计算机设备及存储介质,能够解决相关技术中视差确定过程的准确性和鲁棒性较低问题。所述技术方案如下:
一方面,提供了一种视差确定方法,所述方法包括:
在车辆行驶过程中,采集周围环境的两帧图像,所述两帧图像的视点不同;
将所述两帧图像输入目标模型,在所述目标模型的视差特征层中,基于所述两帧图像的图像特征,确定所述两帧图像之间的初始视差,所述视差特征层用于确定两帧图像之间的初始视差,所述目标模型用于基于任意两帧图像输出所述任意两帧图像的视差;
在所述目标模型的残差学习层中,基于所述两帧图像和所述初始视差,确定所述初始视差的残差;
根据所述初始视差和所述残差,输出所述两帧图像的视差。
在一种可能实施方式中,所述在所述目标模型的残差学习层中,基于所述至少两帧图像和所述初始视差,确定所述初始视差的残差包括:
将所述两帧图像、所述初始视差、所述两帧图像中第一图像的合成图像和所述合成图像与所述第一图像之间的偏差,输入所述目标模型的残差学习层;
在所述残差学习层中,对所述两帧图像、所述初始视差、所述合成图像和所述偏差进行卷积处理,得到所述卷积处理后的初始视差的中间残差;
其中,所述合成图像为基于所述初始视差和所述两帧图像中第二图像所生成的图像,所述合成图像与所述第一图像的视点相同。
在一种可能实施方式中,所述根据所述初始视差和所述残差,输出所述两帧图像的视差包括:
根据所述中间残差和所述卷积处理后的初始视差,确定中间视差;
对所述中间视差进行去卷积处理,得到所述两帧图像的视差,输出所述视差。
在一种可能实施方式中,所述在所述目标模型的残差学习层中,基于所述至少两帧图像和所述初始视差,确定所述初始视差的残差之前,所述方法还包括:
根据所述初始视差和所述两帧图像中的第二图像,生成与所述第一图像的视点相同的合成图像;
根据所述合成图像和所述第一图像,确定所述合成图像和所述第一图像之间的偏差。
在一种可能实施方式中,所述在所述目标模型的视差特征层中,基于所述至少两帧图像的图像特征,确定所述至少两帧图像之间的初始视差包括:
基于所述视差特征层的卷积层,分别对所述两帧图像进行卷积处理,得到所述两帧图像的特征图像;
基于所述两帧图像的特征图像,确定特征图像中每个像素点的视差值;
对所述特征图像进行去卷积处理,基于所述每个像素点的视差值和去卷积处理后的特征图像,确定所述两帧图像的初始视差图像。
另一方面,提供了一种视差确定装置,所述装置包括:
采集模块,用于在车辆行驶过程中,采集周围环境的两帧图像,所述两帧图像的视点不同;
确定模块,用于将所述两帧图像输入目标模型,在所述目标模型的视差特征层中,基于所述两帧图像的图像特征,确定所述两帧图像之间的初始视差,所述视差特征层用于确定两帧图像之间的初始视差,所述目标模型用于基于任意两帧图像输出所述任意两帧图像的视差;
所述确定模块,还用于在所述目标模型的残差学习层中,基于所述两帧图像和所述初始视差,确定所述初始视差的残差;
输出模块,用于根据所述初始视差和所述残差,输出所述两帧图像的视差。
在一种可能实施方式中,所述确定模块,还用于将所述两帧图像、所述初始视差、所述两帧图像中第一图像的合成图像和所述合成图像与所述第一图像之间的偏差,输入所述目标模型的残差学习层;在所述残差学习层中,对所述两帧图像、所述初始视差、所述合成图像和所述偏差进行卷积处理,得到所述卷积处理后的初始视差的中间残差;
其中,所述合成图像为基于所述初始视差和所述两帧图像中第二图像所生成的图像,所述合成图像与所述第一图像的视点相同。
在一种可能实施方式中,所述输出模块,还用于根据所述中间残差和所述卷积处理后的初始视差,确定中间视差;对所述中间视差进行去卷积处理,得到所述两帧图像的视差,输出所述视差。
在一种可能实施方式中,所述装置还包括:
生成模块,用于根据所述初始视差和所述两帧图像中的第二图像,生成与所述第一图像的视点相同的合成图像;
所述确定模块,还用于根据所述合成图像和所述第一图像,确定所述合成图像和所述第一图像之间的偏差。
在一种可能实施方式中,所述确定模块,还用于基于所述视差特征层的卷积层,分别对所述两帧图像进行卷积处理,得到所述两帧图像的特征图像;基于所述两帧图像的特征图像,确定特征图像中每个像素点的视差值;对所述特征图像进行去卷积处理,基于所述每个像素点的视差值和去卷积处理后的特征图像,确定所述两帧图像的初始视差图像。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述的视差确定方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述的视差确定方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
通过在目标模型的视差特征层中,先确定出两帧图像之间的初始视差,再通过残差学习层,确定出初始视差的残差,从而补充了初始视差中可能误差,根据所述初始视差和所述残差,确定出两帧图像最终的视差,从而进一步减小了初始视差中的误差,提高了视差确定的准确性,并且,该残差为基于目标模型中已训练好的残差学习层中得到,能够进一步减少环境因素的影响,提高了视差确定过程的鲁棒性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种视差确定方法的流程图。该发明实施例的执行主体为计算机设备,参见图1,该方法包括:
101、在车辆行驶过程中,采集周围环境的两帧图像,该两帧图像的视点不同;
102、将该两帧图像输入目标模型,在该目标模型的视差特征层中,基于该两帧图像的图像特征,确定该两帧图像之间的初始视差,该视差特征层用于确定两帧图像之间的初始视差,该目标模型用于基于任意两帧图像输出该任意两帧图像的视差;
103、在该目标模型的残差学习层中,基于该两帧图像和该初始视差,确定该初始视差的残差;
104、根据该初始视差和该残差,输出该两帧图像的视差。
在一种可能实施方式中,该在该目标模型的残差学习层中,基于该至少两帧图像和该初始视差,确定该初始视差的残差包括:
将该两帧图像、该初始视差、该两帧图像中第一图像的合成图像和该合成图像与该第一图像之间的偏差,输入该目标模型的残差学习层;
在该残差学习层中,对该两帧图像、该初始视差、该合成图像和该偏差进行卷积处理,得到该卷积处理后的初始视差的中间残差;
其中,该合成图像为基于该初始视差和该两帧图像中第二图像所生成的图像,该合成图像与该第一图像的视点相同。
在一种可能实施方式中,该根据该初始视差和该残差,输出该两帧图像的视差包括:
根据该中间残差和该卷积处理后的初始视差,确定中间视差;
对该中间视差进行去卷积处理,得到该两帧图像的视差,输出该视差。
在一种可能实施方式中,该在该目标模型的残差学习层中,基于该至少两帧图像和该初始视差,确定该初始视差的残差之前,该方法还包括:
根据该初始视差和该两帧图像中的第二图像,生成与该第一图像的视点相同的合成图像;
根据该合成图像和该第一图像,确定该合成图像和该第一图像之间的偏差。
在一种可能实施方式中,该在该目标模型的视差特征层中,基于该至少两帧图像的图像特征,确定该至少两帧图像之间的初始视差包括:
基于该视差特征层的卷积层,分别对该两帧图像进行卷积处理,得到该两帧图像的特征图像;
基于该两帧图像的特征图像,确定特征图像中每个像素点的视差值;
对该特征图像进行去卷积处理,基于该每个像素点的视差值和去卷积处理后的特征图像,确定该两帧图像的初始视差图像。
本发明实施例提供的方法,通过在目标模型的视差特征层中,先确定出两帧图像之间的初始视差,再通过残差学习层,确定出初始视差的残差,从而补充了初始视差中可能误差,根据该初始视差和该残差,确定出两帧图像最终的视差,从而进一步减小了初始视差中的误差,提高了视差确定的准确性,并且,该残差为基于目标模型中已训练好的残差学习层中得到,能够进一步减少环境因素的影响,提高了视差确定过程的鲁棒性。
图2是本发明实施例提供的一种视差确定方法的流程图。该发明实施例的执行主体为计算机设备,例如,该计算机设备服务器或终端,例如,该终端可以为车载终端。参见图2,该方法包括:
201、计算机设备在车辆行驶过程中,采集周围环境的两帧图像。
其中,该两帧图像的视点不同;本发明实施例中,该车辆上可以安装位置不同的两个图像采集设备,例如,摄像头。该计算机设备可以在车辆行驶过程中,控制该两个图像采集设备分别对周围环境进行拍摄,得到周围环境的两帧图像。该计算机设备从该两个图像采集设备中,获取该两帧图像。
该两个图像采集设备的安装位置位于同一水平面上。在一种可能的实施方式中,该计算机设备可以以该车辆的行驶方向为y轴正方向、以垂直y轴水平向右的方向为x轴正方向、以垂直地面向上的方向为z轴正方向,建立该车辆的车辆坐标系。该两个图像采集设备的位置可以采用该车辆坐标系中的坐标来表示,在一种可能示例中,该两个图像采集设备的y轴坐标和z轴坐标可以相同,x轴坐标可以不相同。例如,安装于车辆前挡风玻璃内侧左端和右端各一个摄像头,分别采集车辆左前方和右前方的环境图像。
需要说明的是,该两帧图像的分辨率相同。该计算机设备可以控制两个图像采集设备以相同的分辨率对周围环境进行拍摄,得到该两帧图像。当然,该两个图像采集设备也可以采用不同分辨率进行拍摄,该计算机设备获取该两帧图像时,判断该两帧图像的分辨率是否相同,当该两帧图像的分辨率不相同时,该计算机设备可以将两帧图像的分辨率调整为一致;否则,不进行分辨率调整。另外,本发明实施例中,还可以为车辆安装三个或者更多个图像采集设备,例如,还可以在车辆的左侧车门挡风玻璃内侧或者后挡风玻璃内侧等安装多个摄像头,本发明实施例仅以两个为例进行说明。其中,当图像采集设备的数量大于两个时,计算机设备可以可以选取多帧图像中的任意两帧图像,通过本发明实施例的视差确定过程来确定该两帧图像的视差。
202、计算机设备将该两帧图像输入目标模型,在该目标模型的视差特征层中,基于该两帧图像的图像特征,确定该两帧图像之间的初始视差。
本发明实施例中,该目标模型用于该目标模型用于基于任意两帧图像输出该任意两帧图像的视差。该目标模型中配置有视差特征层,该视差特征层用于确定两帧图像之间的初始视差。
本发明实施例中,该视差特征层中包括卷积层,该卷积层用于提取图像的图像特征。该计算机设备可以通过该卷积层提取图像的图像特征,基于提取的图像特征确定两帧图像之间的初始视差。在一种可能的实施方式中,该初始视差可以为初始视差图像的形式。该计算机设备确定初始视差的过程可以包括:该计算机设备基于该视差特征层的卷积层,分别对该两帧图像进行卷积处理,得到该两帧图像的特征图像;该计算机设备基于该两帧图像的特征图像,确定特征图像中每个像素点的视差值;该计算机设备对该特征图像进行去卷积处理,基于该每个像素点的视差值和去卷积处理后的特征图像,确定该两帧图像的初始视差图像。其中,该两帧图像可以分别为左侧摄像头采集的左图和右侧摄像头采集的右图,每个像素点的视差值可以为该像素点在左图的坐标位置与在右图的坐标位置之间的差值,例如,某一像素点在左图的图像坐标系中坐标位置是(2,7),在右图的图像坐标系中坐标位置是(2,1),则该像素点的视差值为6,相应的,该初始视差图像的图像坐标系中,坐标位置(2,7)的像素点的视差值为6。
其中,该计算机设备利用卷积层对图像进行卷积处理后,所得到的的特征图像的分辨率低于图像的分辨率,也即是,对图像进行卷积处理的过程,相当于一个下采样过程。该视差特征层可以包括多个卷积层,每个卷积层包括至少一个卷积,该多个卷积层包括的多个卷积的卷积核大小可以不相同。卷积核的大小不同,则卷积处理后得到的特征图像的分辨率也不相同。
在一种可能示例中,该计算机设备可以分别通过多个卷积层,分别多次对两帧图像进行不同尺度的下采样过程,并确定出每次卷积处理时两帧特征图像之间的中间初始视差,重复该过程以得到多个中间初始视差,计算机设备可以基于多次确定的多个中间初始视差来确定该两帧图像之间的初始视差。该中间初始视差可以为一帧中间初始视差图像的形式。该过程可以包括:在该视差特征层中,该计算机设备分别通过该多个卷积层,依次对该两帧图像进行多次卷积处理,每次卷积处理后,得到一对特征图像。其中,每对特征图像包括两帧分辨率相同的特征图像,每次卷积处理后得到的一对特征图像的分辨率,小于上一次卷积处理后得到的一对特征图像的分辨率。其中,对于每次卷积处理得到的一对特征图像,该计算机设备确定该对特征图像之间的中间初始视差,从而得到多对特征图像对应的多个中间初始视差。然后,该计算机设备依次对每对特征图像中的任一特征图像进行去卷积处理,采用双线性插值的方式,将该对特征图像对应的中间初始视差插值在去卷积处理的特征图像中,从而分辨率更大的特征图像,该特征图像包括中间初始视差。该计算机设备继续对增大分辨率的特征图像进行去卷积处理,基于增大分辨率后的特征图像所对应的中间初始视差,继续采用双线性插值的方式,对去卷积处理的特征图像进行插值处理,并多次重复该去卷积处理和插值处理的过程,从而得到与两帧图像分辨率相同的初始视差图像。当然,该计算机设备可以基于上述过程,确定分辨率为两帧图像的分辨率一半的初始视差图像,或者分辨率为两帧图像的分辨率的四分之一的初始视差图像,本发明实施例对此不做具体限定。
其中,该计算机设备分别通过该多个卷积层,依次对该两帧图像进行多次卷积处理的过程可以包括:该计算机设备基于相同的卷积层,对两帧图像进行卷积处理,得到分辨率相同的一对特征图像,并确定出该对特征图像之间的中间初始视差;该计算机设备还可以继续对上一次卷积处理得到的两帧特征图像再次进行卷积处理,得到分辨率更小的两帧特征图像,并再次确定出分辨率更小的两帧特征图像之间的中间初始视差。该计算机设备可以重复多次执行该中间初始视差的确定过程,以得到多对特征图像对应的多个视差,每对特征图像包括两帧分辨率相同的特征图像。该多对特征图像之间的分辨率不同。其中,该计算机设备确定每对特征图像之间的中间初始视差的过程可以包括:对于每对特征图像,该计算机设备根据该对特征图像,确定该对特征图像之间的相关系数,根据该相关系数以及该视差特征层中已训练好的相关系数和中间初始视差之间的关联关系,确定出该对特征图像之间的中间初始视差。其中,该视差特征层中还可以包括corr层,该计算机设备可以通过corr层,对两帧特征图像之间的相关性进行计算,得到两帧特征图像之间的相关系数。
需要说明的是,该视差特征层可以为一个沙漏结构,该沙漏结构包括收缩部分和扩大部分,该收缩部分和扩大部分之间可以包括一个corr层。该计算机设备可以在该收缩部分,对两帧图像进行多次卷积处理,得到多对特征图像,该计算机设备通过该corr层,确定每对特征图像之间的中间初始视差,每个中间初始视差均能代表不同尺度的特征图像之间的视差情况,从而更加全面的确定出多个尺度下的中间初始视差。然后,该计算机设备在通过该扩大部分,对特征图像进行多次去卷积处理,每次去卷积处理得到分辨率更大的特征图像,该计算机设备基于多个中间初始视差对每次去卷积处理的特征图像进行插值处理,从而最终得到高分辨率的初始视差图像,提高了初始视差的精确度。
然后,该计算机设备可以通过以下不住203,基于该初始视差来合成与两帧图像中第一图像视点相同的合成图像,并观察该合成图像和第一图像之间的偏差,并基于以下步骤204,确定初始视差的残残差,进而确定出最终的视差。其中,该第一图像和第二图像可以为两帧图像中的任一帧图像,例如,该第一图像可以为两帧图像中左侧摄像头拍摄的左图,第二图像为右侧摄像头拍摄的右图。
203、计算机设备根据该初始视差和该第二图像进行,生成与该第一图像的视点相同的合成图像,并根据该合成图像和该第一图像,确定该合成图像和该第一图像之间的偏差。
其中,该合成图像为基于该初始视差和该两帧图像中第二图像所生成的图像,该合成图像与该第一图像的视点相同。
本步骤中,该计算机设备可以根据该初始视差和第二图像,通过以下公式一,确定与第一图像的视点相同的合成图像;
其中,I
L可以表示第一图像,
可以表示合成图像,I
R可以表示第二图像,d
1可以表示初始视差。
该计算机设备根据该合成图像和该第一图像,通过以下公式二,确定该合成图像和第一图像之间的偏差;
其中,eL可以表示该合成图像和第一图像之间的偏差。
需要说明的是,该目标模型中配置有级联结构,如图3所示,该级联结构配置在视差特征层和残差学习层之间,该计算机设备通过该级联结构,对视差特征层和该残差学习层之间进行级联,该级联的过程,可以为步骤203的执行过程。该计算机设备通过该级联结构,在视差特征层输入两帧图像,输出初始视差,并根据视差特征层的输出,对两帧图像再次进行处理,并将处理得到的合成图像、偏差以及两帧图像和初始视差,作为残差学习层的输入,最终能够输出残差,从而使得目标模型中的网络可以实现从端到端的训练,进一步提高了训练所得到的目标模型的准确性。
204、计算机设备在该目标模型的残差学习层中,基于该两帧图像和该初始视差,确定该初始视差的残差。
本发明实施例中,该计算机设备还可以通过残差学习层,对初始视差进一步改善,例如,由于两个图像采集设备的视点不同,两帧图中可能存在光线不同而亮度不同的误差区域或者被遮挡物遮挡的误差区域等,计算机设备基于匹配算法所确定出的误差区域的视差可能不准确,而本发明实施例中,该计算机设备可以通过残差学习层,对误差区域可能存在误差的视差进一步改进。
本步骤中,该计算机设备可以将该两帧图像、该初始视差、该两帧图像中第一图像的合成图像和该合成图像与该第一图像之间的偏差,输入该目标模型的残差学习层;在该残差学习层中,该计算机设备可以对该两帧图像、该初始视差、该合成图像和该偏差进行卷积处理,得到该卷积处理后的初始视差的中间残差。在一种可能的实施方式中,该残差学习层可以为预先训练好的Resnet(Residual Neural Network,残差神经网络)的网络结构,该计算机设备基于该网络结构,得到该初始视差的残差。
在一种可能的实施方式中,该计算机设备可以可以对输入数据进行多次卷积处理,相当于对输入数据进行多次的下采样过程,得到多个不同分辨率的初始视差图像的多个中间残差。与上述步骤202的过程同理,该过程可以包括:在该残差学习层中,该计算机设备分别通过该残差学习层的多个卷积层,依次对该两帧图像、初始视差图像、该合成图像以及偏差进行多次卷积处理,每次卷积处理后,该计算机设备确定出本次处理后的初始视差图像的中间残差,从而得到多个中间残差。每个中间残差对应一个卷积处理后的初始视差图像。
然后,该计算机设备基于以下步骤205,输出该两帧图像之间的最终视差。
205、计算机设备根据该初始视差和该残差,输出该两帧图像的视差。
在该残差学习层中,该计算机设备还可以基于中间残差,对初始视差进行补差,得到最终的视差。其中,该计算机设备还可以基于去卷积处理,来确定该最终视差,则本步骤可以为:该计算机设备根据该中间残差和该卷积处理后的初始视差,确定中间视差;该计算机设备对该中间视差进行去卷积处理,得到该两帧图像的视差,输出该视差。
在一种可能的实施方式中,该计算机设备可以基于多个中间残差和多次去卷积处理,依次提升中间视差图像的分辨率。该过程可以为:该计算机设备根据每次卷积处理后的初始视差图像的中间残差,对该次卷积处理的初始视差图像进行补差,得到中间视差图像,并对中间视差图像进行去卷积处理,得到分辨率更大的中间视差图像,该计算机设备再次基于该增大分辨率后的中间视差图像所对应的中间残差,对该增大分辨率后的初始视差图像进行补差,并再次进行去卷积处理,多次重复该过程,从而得到与两帧图像的分辨率相同的视差图像。当然,该计算机设备也可以基于上述过程,确定分辨率为两帧图像的分辨率一半或四分之一的视差图像,本发明实施例对此不做具体限定。
其中,该计算机设备可以基于以下公式三,确定两帧图像的视差;
其中,
表示初始视差,为视差特征层的输出,作为残差学习层的输入视差;
表示输出视差,即最终视差;
表示残差,由残差学习层输出;s表示每次卷积处理过程对应的下采样的尺度,为0时表示全分辨率的尺度,也即是,与原始的两帧图像的分辨率相同;s越大,下采样的尺度越大,分辨率越小。当然,在训练目标模型过程中,该计算机设备也可以在目标模型中输入两帧已知图像以及两帧已知图像的真实视差,在残差学习层中,该计算机设备基于上述公式三的方式进行学习,从而反复多次对残差学习层中各个网络参数进行训练,直至基于上述公式三,基于残差学习层输出的残差对初始视差进行补差后,所得到的的视差与真实视差之间的误差小于一定值,训练结束。
需要说明的是,该残差学习层的网络结构可以为沙漏结构,该计算机设备可以对输入数据进行多次卷积处理,得到多个不同分辨率的初始视差多个角度的残差信号,从而更为准确、全面的确定出残差,并基于去卷积处理,最终得到高分辨率的最终视差,从而保证了视差的分辨率,并且提高了视差的准确性。
本发明实施例提供的方法,通过在目标模型的视差特征层中,先确定出两帧图像之间的初始视差,再通过残差学习层,确定出初始视差的残差,从而补充了初始视差中可能误差,根据该初始视差和该残差,确定出两帧图像最终的视差,从而进一步减小了初始视差中的误差,提高了视差确定的准确性,并且,该残差为基于目标模型中已训练好的残差学习层中得到,能够进一步减少环境因素的影响,提高了视差确定过程的鲁棒性。
图4是本发明实施例提供的一种视差确定装置的结构示意图。参见图4,该装置包括:
采集模块401,用于在车辆行驶过程中,采集周围环境的两帧图像,该两帧图像的视点不同;
确定模块402,用于将该两帧图像输入目标模型,在该目标模型的视差特征层中,基于该两帧图像的图像特征,确定该两帧图像之间的初始视差,该视差特征层用于确定两帧图像之间的初始视差,该目标模型用于基于任意两帧图像输出该任意两帧图像的视差;
该确定模块402,还用于在该目标模型的残差学习层中,基于该两帧图像和该初始视差,确定该初始视差的残差;
输出模块403,用于根据该初始视差和该残差,输出该两帧图像的视差。
在一种可能实施方式中,该确定模块402,还用于将该两帧图像、该初始视差、该两帧图像中第一图像的合成图像和该合成图像与该第一图像之间的偏差,输入该目标模型的残差学习层;在该残差学习层中,对该两帧图像、该初始视差、该合成图像和该偏差进行卷积处理,得到该卷积处理后的初始视差的中间残差;
其中,该合成图像为基于该初始视差和该两帧图像中第二图像所生成的图像,该合成图像与该第一图像的视点相同。
在一种可能实施方式中,该输出模块403,还用于根据该中间残差和该卷积处理后的初始视差,确定中间视差;对该中间视差进行去卷积处理,得到该两帧图像的视差,输出该视差。
在一种可能实施方式中,该装置还包括:
生成模块,用于根据该初始视差和该两帧图像中的第二图像,生成与该第一图像的视点相同的合成图像;
该确定模块402,还用于根据该合成图像和该第一图像,确定该合成图像和该第一图像之间的偏差。
在一种可能实施方式中,该确定模块402,还用于基于该视差特征层的卷积层,分别对该两帧图像进行卷积处理,得到该两帧图像的特征图像;基于该两帧图像的特征图像,确定特征图像中每个像素点的视差值;对该特征图像进行去卷积处理,基于该每个像素点的视差值和去卷积处理后的特征图像,确定该两帧图像的初始视差图像。
本发明实施例中,通过在目标模型的视差特征层中,先确定出两帧图像之间的初始视差,再通过残差学习层,确定出初始视差的残差,从而补充了初始视差中可能误差,根据该初始视差和该残差,确定出两帧图像最终的视差,从而进一步减小了初始视差中的误差,提高了视差确定的准确性,并且,该残差为基于目标模型中已训练好的残差学习层中得到,能够进一步减少环境因素的影响,提高了视差确定过程的鲁棒性。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的视差确定装置在视差确定时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视差确定装置与视差确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种终端的结构示意图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的视差确定方法。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图6是本发明实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)601和一个或一个以上的存储器602,其中,该存储器602中存储有至少一条指令,该至少一条指令由该处理器601加载并执行以实现上述各个方法实施例提供的视差确定方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端或服务器中的处理器执行以完成上述实施例中的视差确定方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。