一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于移动设备实时深度估计的立体匹配实现方法和装置

2022-11-16 14:02:39 来源:中国专利 TAG:


1.本发明涉及计算机立体视觉,尤其涉及一种用于移动设备实时深度估计的立体匹配实现方法和装置。


背景技术:

2.立体视觉匹配(stereo matching)是计算机视觉中的一个重要而又非常困难的问题,它的目标是从不同视点图像中找到匹配的对应点。可以说立体匹配是深度估计的基础。
3.通常的立体视觉匹配是在桌面图形处理器(gpu)上执行的。研究人员尝试在移动gpu上进行立体视觉匹配,但性能甚至不如在移动端cpu上运行。这是由于gpu的以下限制造成的:
4.(1)有限的内存带宽。立体视觉匹配中最耗时的步骤是匹配代价计算和代价聚合,因为它们需要频繁的内存读/写操作来计算每个像素的视差。然而,与桌面图形处理器相比,移动图形处理器的内存带宽非常有限。因此,在立体匹配中频繁的内存读写操作会导致移动图形处理器延时较长。
5.(2)有限的内存架构支持。在立体视觉匹配的代价聚合中,需要使用线程同步来获得一个像素在所有视差下的最小代价聚合。在桌面图形处理器中,线程同步是在快速的片上共享内存中执行的,而移动图形处理器只有片外共享内存,速度要慢得多。
6.总而言之,受移动图形处理器有限的内存资源的影响,采用移动图形处理器进行立体匹配,会导致视差实时计算性能差,进而导致移动设备不能实现实时深度估计。


技术实现要素:

7.本发明的目的是提供一种用于移动设备实时深度估计的立体匹配实现方法和装置,以解决采用移动图形处理器进行立体匹配导致的视差实时计算性能差的问题,降低移动图形处理器立体匹配的延时。
8.第一方面,本发明提供一种用于移动设备实时深度估计的立体匹配实现方法,所述方法包括:
9.对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;
10.基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;
11.根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;
12.对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;
13.其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
14.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,所述对
目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵,包括:
15.采用census变换方法将所述主图像和所述目标图像对中副图像内的每一个像素转换为一个二值串;
16.对于所述主图像和所述副图像囊括的每一个像素对,读取相应像素对的二值串,并利用sgbm算法对读取的二值串进行处理得到相应像素对中两个像素之间的汉明距离;
17.基于所有像素对中两个像素之间的汉明距离和预存的匹配代价平滑算法,计算并存储所述主图像内每一个像素在每一个视差下的匹配代价值;
18.其中,所述像素对由主图像中的像素φ以及所述副图像中与所述像素φ的对应像素视差相距di的像素构成;所述di处于视差范围内。
19.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,互为反向路径的两条路径流向相反且内容相同;所述基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价,包括:
20.基于所述代价矩阵,对互为反向路径的两条路径中索引值相同的两个像素同步进行代价聚合计算,以得到所述主图像中每一个像素在每一个视差下以及每一条路径下的聚合代价;
21.将所述主图像中每一个像素在每一个视差下以及每一条路径下的聚合代价进行相加,得到所述主图像中每一个像素在每一个视差下的聚合代价;
22.其中,所述索引值指示出路径方向上像素的排序序号。
23.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,所述对互为反向路径的两条路径中索引值相同的两个像素同步进行代价聚合计算之后,还包括:
24.将所述互为反向路径的两条路径中索引值相同的两个像素经代价聚合计算后得到的聚合代价合并到一个数组中进行存储。
25.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,所述根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算,包括:
26.将每一个线程的数据切片扩充至2n;
27.对于所述主图像中每一个像素,利用个线程读入相应像素在所有视差下的聚合代价,以使每一个线程将自身读入的2n个聚合代价进行比较得到最小聚合代价对应的视差;
28.将个线程得到的最小视差作为相应像素的视差;
29.其中,所述d为视差范围涵盖的视差总数,n为预设值。
30.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,在移动设备的gpu上执行所述匹配代价计算、所述代价聚合和所述视差计算;在移动设备的cpu上执行所述视差优化。
31.根据本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,所述n设为3。
32.第二方面,本发明还提供一种用于移动设备实时深度估计的立体匹配实现装置,所述装置包括:
33.匹配代价计算模块,用于对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;
34.代价聚合模块,用于基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;
35.视差计算模块,用于根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;
36.视差优化模块,用于对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;
37.其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
38.第三方面,本发明还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的用于移动设备实时深度估计的立体匹配实现方法。
39.第四方面,本发明还公开了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的用于移动设备实时深度估计的立体匹配实现方法。本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法和装置,对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图。本发明在立体匹配的代价融合计算步骤中,对互为反向路径的两条路径(例如从左到右的聚合路径以及从右到左的聚合路径,或者从上到下的聚合路径以及从下到上的聚合路径)同时进行代价聚合,以减少访问全局内存的开销。同时,在立体匹配的视差计算步骤中,通过扩大线程上数据切片的方式,减少并发线程的数量,进而减少线程同步的开销。在移动设备上进行图像处理时,访问全局内存开销和线程同步开销的减少,降低了立体匹配的延时,进而提升了深度估计实时性能。
附图说明
40.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法流程图;
42.图2是本发明提供的反向路径同步聚合与聚合代价合并存储的过程示意图;
43.图3是本发明提供的数据切片示意图;
44.图4是本发明提供的一种用于移动设备实时深度估计的立体匹配实现装置的结构示意图;
45.图5是本发明提供的实现用于移动设备实时深度估计的立体匹配实现方法的电子设备结构示意图。
具体实施方式
46.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.下面结合图1至图5描述本发明用于移动设备实时深度估计的立体匹配实现方法和装置。
48.第一方面,本发明提供一种用于移动设备实时深度估计的立体匹配实现方法,如图1所示,所述方法包括:
49.s11、对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;
50.s12、基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;
51.s13、根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;
52.s14、对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;
53.其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
54.目前最先进的立体匹配算法和cnn模型,例如:半全局块匹配(semi-global-block matching,sgbm)、stereonet和hitnet,计算量大,在移动设备上上实现时运行时间长。而立体匹配需要在线进行,以找到对帧中的点之间的对应关系。长时间运行导致深度估计应用程序的刷新率较低。因此,本发明的目标是在计算有限的移动设备上加速立体匹配。
55.考虑到sgbm具有较高的精度和效率,因此主要采用sgbm进行立体匹配。然而,通过一定的实验发现,在移动设备上采用sgbm进行立体匹配,得到视差图的速度并不能满足实时深度估计的需求。研究人员分析认定移动gpu有限的内存带宽降低了计算效率。因此,本发明在sgbm中反向路径同步进行代价聚合,以减少访问全局内存的开销;同时,扩大线程数据切片,以减少并发线程的数量。通过上述方式,本发明移动gpu上线程间的内存访问开销和同步成本显著降低,移动gpu内存资源使用减少,移动gpu上立体匹配的计算效率提高。
56.本发明提供的一种用于移动设备实时深度估计的立体匹配实现方法,在立体匹配的代价融合计算步骤中,对互为反向路径的两条路径(例如从左到右的聚合路径以及从右到左的聚合路径,或者从上到下的聚合路径以及从下到上的聚合路径)同时进行代价聚合,以减少访问全局内存的开销。同时,在立体匹配的视差计算步骤中,通过扩大线程上数据切
片的方式,减少并发线程的数量,进而减少线程同步的开销。访问全局内存开销和线程同步开销的减少,降低了立体匹配的延时,进而提升了深度估计实时性能。
57.在上述各实施例的基础上,作为一种可选的实施例,所述对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵,包括:
58.采用census变换方法将所述主图像和所述目标图像对中副图像内的每一个像素转换为一个二值串;
59.对于所述主图像和所述副图像囊括的每一个像素对,读取相应像素对的二值串,并利用sgbm算法对读取的二值串进行处理得到相应像素对中两个像素之间的汉明距离;
60.基于所有像素对中两个像素之间的汉明距离和预存的匹配代价平滑算法,计算并存储所述主图像内每一个像素在每一个视差下的匹配代价值;
61.其中,所述像素对由主图像中的像素φ以及所述副图像中与所述像素φ的对应像素视差相距di的像素构成;所述di处于视差范围内。
62.本实施例以sgbm算法的代价匹配计算为例进行说明:
63.在sgbm算法中,每一步都要利用上一步的运算结果,这需要对全局内存进行大量的读写操作。在代价匹配计算步骤中,先采用census变换方法将目标立体图像对中的每个像素转换为一个二值串后,然后计算主图像中每个像素与副图像中对应的视差范围内像素之间的汉明距离,并将汉明距离计算结果写入内存。然后通过滑动窗口读取汉明距离进行匹配代价平滑,得到最终的代价矩阵。
64.具体的,设定图像分辨率为w
×
h,最大视差范围为d。计算主图像中一个像素与副图像中该像素对应的视差范围内的一个像素之间的汉明距离,需要从内存中读取这两个像素的二值串,并将这两个像素的汉明距离值写入内存。因此,对主图像中所有像素来说,需要w
×h×d×
3次的内存读写。而后,通过滑动窗口读取汉明距离进行匹配代价平滑,需从内存中读取两个像素的汉明距离运算结果,并输入到匹配代价平滑算法中得到相应的匹配代价值。因此,获取主图像中所有像素的视差代价,共需要w
×h×d×
(3 3)次的内存读写。
65.本发明为了减少内存的读写开销,采用计算融合的方式实现代价匹配计算,即汉明距离计算完成后不进行存储,直接利用它进行匹配代价值计算。在这种情况下,内存读写次数为w
×h×d×
(4 1),与原来的方法相比减少了w
×h×
d。
66.需要注意的是,匹配代价平滑算法采用现有的方式,在此不再赘述。
67.在上述各实施例的基础上,作为一种可选的实施例,互为反向路径的两条路径流向相反且内容相同;所述基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价,包括:
68.基于所述代价矩阵,对互为反向路径的两条路径中索引值相同的两个像素同步进行代价聚合计算,以得到所述主图像中每一个像素在每一个视差下以及每一条路径下的聚合代价;
69.将所述主图像中每一个像素在每一个视差下以及每一条路径下的聚合代价进行相加,得到所述主图像中每一个像素在每一个视差下的聚合代价;
70.其中,所述索引值指示出路径方向上像素的排序序号。
71.本实施例以sgbm算法的代价聚合为例进行说明:
72.假设sgbm算法采用4条路径聚合(从左到右的聚合路径、从右到左的聚合路径、从上到下的聚合路径和从下到上的聚合路径),代价聚合时,每个像素需要单独计算每条聚合路径的聚合代价,这将需要大量的(2
×h×
d 2
×w×
d)内存读写操作。
73.本发明考虑到互为反向路径的两条路径(从左到右的聚合路径与从右到左的聚合路径互为反向路径、从上到下的聚合路径与从下到上的聚合路径互为反向路径)读取的数据序列是一致的,因此可以同时对互为反向路径的两条路径进行代价聚合。图2为反向路径同步聚合与聚合代价合并存储的过程示意图,如图2所示,从左到右的聚合路径与从右到左的聚合路径中具有相同索引值的像素pr和p
l
可以同时计算。这样,可以减少w*d h*d次内存访问;从上到下的聚合路径与从下到上的聚合路径与之等同。最终通过反向路径同步聚合可以减少(h
×
d w
×
d)次内存访问。
74.在上述各实施例的基础上,作为一种可选的实施例,所述对互为反向路径的两条路径中索引值相同的两个像素同步进行代价聚合计算之后,还包括:
75.将所述互为反向路径的两条路径中索引值相同的两个像素经代价聚合计算后得到的聚合代价合并到一个数组中进行存储。
76.本实施例中,采用数据合并写入内存的方式,进一步减少内存访问的开销。
77.具体的,将从左到右的聚合路径与从右到左的聚合路径中具有相同索引值的像素pr和p
l
对应的聚合代价合并到一个数组中进行内存写操作(例如将两个16位值合并为一个32位值),它只被写入一次。从上到下的聚合路径与从下到上的聚合路径与之等同。最终,可以减少一半的内存写操作。
78.总而言之,本发明通过计算融合和数据合并写入内存的方式,减少了立体匹配中内存读写的开销。
79.在上述各实施例的基础上,作为一种可选的实施例,所述根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算,包括:
80.将每一个线程的数据切片扩充至2n;
81.对于所述主图像中每一个像素,利用个线程读入相应像素在所有视差下的聚合代价,以使每一个线程将自身读入的2n个聚合代价进行比较得到最小聚合代价对应的视差;
82.将个线程得到的最小视差作为相应像素的视差;
83.其中,所述d为视差范围涵盖的视差总数,n为预设值。
84.本实施例以sgbm算法的视差计算为例进行说明:
85.在视差计算中,计算每个像素的最小聚合代价是一个关键步骤,这需要同步每个像素的所有视差下的聚合代价。sgbm算法通常创建的线程数量等于最大视差数量(d),以计算一个像素的所有聚合代价的最小值。然而,它会导致大量的同步开销和内存访问的争用。在桌面gpu中,同步是在片上共享内存中进行的,执行时间较短,而在移动gpu中,同步是在片外共享内存中执行的,耗时较长。
86.本发明采用扩大数据切片的方法解决上述问题。图3是本发明提供的数据切片示
意图,如图3所示,本发明向量化内存访问一次获取2n个连续数据,然后对它们进行单线程向量化处理。通过扩展数据切片方法,每个线程计算2n的聚合代价,并得到该线程上的最小聚合代价。因此,只需要在移动共享内存中同步线程,就可以得到所有差异的最小值,这大大降低了移动gpu上的数据同步成本。此外,使用该方式还可以减少共享内存读写的次数。通过向量化内存访问,该实施例只将2n的视差值读入内存一次,这将内存读次数减少了并且只需要将的数据写入共享内存就可以获得最小的聚合代价。本发明增加了每个线程的数据量,提高了数据吞吐量和带宽利用率,可以在完成最后一帧的视差计算后立即开始一帧的代价计算。
87.在上述各实施例的基础上,作为一种可选的实施例,在移动设备的gpu上执行所述匹配代价计算、所述代价聚合和所述视差计算;在移动设备的cpu上执行所述视差优化。
88.考虑到视差优化是一个比较独立的步骤,为了进一步减少移动设备上的立体匹配的延迟,我们将帧的视差优化分配到cpu上,另外三个步骤,即代价匹配计算、代价聚合和视差计算,仍然运行在移动gpu上。即gpu上每一帧对图像在视差计算完成之后,即可开始下一帧对图像的计算。
89.在上述各实施例的基础上,作为一种可选的实施例,所述n设为3。
90.在本发明中,当n不能超过设定阈值,超过设定阈值后单个线程数据处理速度会大幅降低,反而不利于视差计算。
91.需要注意的是,不同的移动设备n的取值会存在差异,因此实际应用时应当先寻找最优的n值。
92.在移动设备的立体匹配验证环节,在hwm40p和hwp30分别采用本发明sgbm进行立体匹配,并在hwm40p和hwp30分别采用d-sgbm(为桌面gpu开发的sgbm)进行立体匹配。表1为本发明sgbm与d-sgbm的时延对比图,表1中—表示通过cpu和gpu两个线程处理的同时处理的方式将延时隐藏了,从表1中可看出,本发明sgbm相比于d-sgbm,在hwm40p和hwp30上延迟分别降低了81.4%和72.8%。且每一个步骤都得到了显著优化。
93.表1
[0094][0095]
第二方面,对本发明提供的用于移动设备实时深度估计的立体匹配实现装置进行描述,下文描述的用于移动设备实时深度估计的立体匹配实现装置与上文描述的用于移动设备实时深度估计的立体匹配实现方法可相互对应参照。图4示例了一种用于移动设备实时深度估计的立体匹配实现装置的结构示意图,图中所述装置包括:
[0096]
匹配代价计算模块21,用于对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;
[0097]
代价聚合模块22,用于基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;
[0098]
视差计算模块23,用于根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;
[0099]
视差优化模块24,用于对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;
[0100]
其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
[0101]
本发明提供的一种用于移动设备实时深度估计的立体匹配实现装置,在立体匹配的代价融合计算步骤中,对互为反向路径的两条路径(例如从左到右的聚合路径以及从右到左的聚合路径,或者从上到下的聚合路径以及从下到上的聚合路径)同时进行代价聚合,以减少访问全局内存的开销。同时,在立体匹配的视差计算步骤中,通过扩大线程上数据切片的方式,减少并发线程的数量,进而减少线程同步的开销。访问全局内存开销和线程同步开销的减少,降低了立体匹配的延时,进而提升了深度估计实时性能。
[0102]
本发明实施例提供的用于移动设备实时深度估计的立体匹配实现装置,具体执行上述各用于移动设备实时深度估计的立体匹配实现方法实施例流程,具体请详见上述各用于移动设备实时深度估计的立体匹配实现方法实施例的内容,在此不再赘述。
[0103]
第三方面,图5示例了一种电子设备的实体结构示意图。如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行用于移动设备实时深度估计的立体匹配实现方法,该方法包括:对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
[0104]
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0105]
第四方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,以执行用于移动设备实时深度估计的立体匹配实现方法,该方法包括:对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
[0106]
第五方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,以执行用于移动设备实时深度估计的立体匹配实现方法,该方法包括:对目标图像对进行匹配代价计算,得到所述目标图像对中主图像对应的代价矩阵;其中,所述主图像对应的代价矩阵存储了主图像内每一个像素在视差范围内每一个视差下的匹配代价值;基于所述代价矩阵,采用反向路径同步聚合方式对所述主图像中每一个像素进行代价聚合,得到所述主图像中每一个像素在每一个视差下的聚合代价;根据所述主图像中每一个像素在每一个视差下的聚合代价,采用扩大线程数据切片的方式对所述主图像中每一个像素进行视差计算;对所述主图像中每一个像素进行视差优化,得到所述主图像对应的视差图;其中,所述目标图像对是由移动设备双摄像头同步拍摄得到的。
[0107]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0108]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0109]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献