本申请涉及图像处理,尤其涉及一种代价聚合方法、装置与电子设备。
背景技术:
1、半全局立体匹配(sgbm,semi-global block matching)算法通常用于计算双目视觉中视差,sgbm算法核心是非常经典的半全局匹配(sgm,semi-global matching)算法,sgm算法的本质为代价聚合,由于每个像素的代价聚合过程均会受多个方向上其他像素的影响,因此在计算的过程中通常会计算多个方向的代价聚合。
2、代价聚合算法是一个迭代的过程,通常需要将中间计算结果缓存在存储器中,然而在大视差的情况下,上述方式需要缓存的数据量将会变得很大,导致硬件资源的开销过大。
技术实现思路
1、有鉴于此,本申请提供一种代价聚合方法、装置与电子设备,以降低代价聚合过程需要的硬件资源的开销。
2、为了实现上述目的,第一方面,本申请实施例提供一种代价聚合方法,包括:
3、确定对图像上的目标像素点进行代价聚合采用的多个聚合方向,所述多个聚合方向包括所述目标像素点的左方、左上方、上方、右上方和右方中的多个方向;
4、对于所述多个聚合方向中的目标方向,在第1至第n个周期,从存储器中读取所述目标像素点在所述目标方向上对应的像素点在所述目标方向上的匹配代价,其中,n是根据所述匹配代价的总数和所述存储器的并行度确定的,n为大于1的正整数;
5、在第n+1个周期,确定所述匹配代价中的最小值;
6、在第n+2至第2n+1个周期,根据所述匹配代价和所述匹配代价中的最小值,确定所述目标像素点在目标方向的目标匹配代价,并将所述目标匹配代价,写入所述存储器。
7、作为本申请实施例一种可选的实施方式,在从存储器中读取所述目标像素点在所述目标方向上对应的像素点在所述目标方向上的匹配代价之前,所述方法还包括:
8、根据所述图像的最大视差以及所述存储器的规格,等比例缩小所述图像。
9、作为本申请实施例一种可选的实施方式,在所述匹配代价的总数除以所述存储器的并行度不存在余数的情况下,n为所述匹配代价的总数除以所述存储器的并行度的商。
10、作为本申请实施例一种可选的实施方式,所述目标像素点左方、左上方、上方和右上方的目标匹配代价并行确定,所述目标像素点在左方和右方的目标匹配代价串行确定。
11、作为本申请实施例一种可选的实施方式,在确定所述目标像素点在右方的目标匹配代价时,复用在确定所述目标像素点在上方或右上方的目标匹配代价时的组合逻辑资源和寄存器。
12、作为本申请实施例一种可选的实施方式,所述确定所述匹配代价中的最小值,包括:
13、在第2个周期至第n+1个周期中的每个周期,确定上一周期读取的匹配代价中的最小值,其中,在所述第n+1个周期确定的匹配代价的最小值为第一最小值和第二最小值中的最小值,所述第一最小值为第n周期读取的匹配代价中的最小值,所述第二最小值包括第2至第n个周期所确定的最小值。
14、作为本申请实施例一种可选的实施方式,在第n+2至第2n个周期,确定所述目标匹配代价所采用的匹配代价来自寄存器;在第2n+1个周期,确定所述目标匹配代价所采用的匹配代价来自所述存储器。
15、作为本申请实施例一种可选的实施方式,所述方法还包括:
16、将所述目标像素点在所述多个聚合方向上的各目标匹配代价之和,饱和到设定比特。
17、第二方面,本申请实施例提供一种代价聚合装置,包括:
18、确定模块:用于确定对图像上的目标像素点进行代价聚合采用的多个聚合方向,所述多个聚合方向包括所述目标像素点的左方、左上方、上方、右上方和右方中的多个方向;
19、读取模块:用于对于所述多个聚合方向中的目标方向,在第1至第n个周期,从存储器中读取所述目标像素点在所述目标方向上对应的像素点在所述目标方向上的匹配代价,其中,n是根据所述匹配代价的总数和所述存储器的并行度确定的,n为大于1的正整数;
20、所述确定模块还用于:在第n+1个周期,确定所述匹配代价中的最小值;在n+2至第2n+1个周期,根据所述匹配代价和所述匹配代价中的最小值,确定所述目标像素点在目标方向的目标匹配代价;
21、写入模块:用于将所述确定模块确定的所述目标匹配代价,写入所述存储器。
22、第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
23、第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
24、第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
25、本申请实施例提供的技术方案,首先确定图像上的目标像素点进行代价聚合时所采用的多个聚合方向,然后对于多个聚合方向中的目标方向,在第1至第n个周期,从存储器中读取目标像素点在目标方向上对应的像素点在目标方向上的匹配代价,在第n+1个周期,确定匹配代价中的最小值,接着在第n+2至第2n+1个周期,根据匹配代价和匹配代价中的最小值,确定目标像素点在目标方向的目标匹配代价,并将目标匹配代价,写入存储器,其中,多个聚合方向包括目标像素点的左方、左上方、上方、右上方和右方中的多个方向,n是根据匹配代价总数和存储器的并行度确定的,n为大于1的正整数。上述技术方案中,通过分批的方式,周期性地从存储器中读取计算目标像素点的目标匹配代价时所需的对应像素的匹配代价,并在下一周期将读取到的匹配代价存储在寄存器中,接着从寄存器中读取匹配代价并计算目标像素点的目标匹配代价(包括目标像素点在各个视差下对应的各匹配代价),通过周期性地分批读取计算的方式,每一批均复用组合逻辑资源的方式,就可以减小计算过程中所需的组合逻辑资源,从而本方案能够降低代价聚合过程需要的硬件资源的开销。
1.一种代价聚合方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在从存储器中读取所述目标像素点在所述目标方向上对应的像素点在所述目标方向上的匹配代价之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在所述匹配代价的总数除以所述存储器的并行度不存在余数的情况下,n为所述匹配代价的总数除以所述存储器的并行度的商。
4.根据权利要求1所述的方法,其特征在于,所述目标像素点左方、左上方、上方和右上方的目标匹配代价并行确定,所述目标像素点在左方和右方的目标匹配代价串行确定。
5.根据权利要求4所述的方法,其特征在于,在确定所述目标像素点在右方的目标匹配代价时,复用在确定所述目标像素点在上方或右上方的目标匹配代价时的组合逻辑资源和寄存器。
6.根据权利要求1所述的方法,其特征在于,所述确定所述匹配代价中的最小值,包括:
7.根据权利要求1所述的方法,其特征在于,在第n+2至第2n个周期,确定所述目标匹配代价所采用的匹配代价来自寄存器;在第2n+1个周期,确定所述目标匹配代价所采用的匹配代价来自所述存储器。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
9.一种代价聚合装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-8任一项所述的方法。