CN112256431A - 代价聚合方法及装置、存储介质、终端 - Google Patents

代价聚合方法及装置、存储介质、终端 Download PDF

Info

Publication number
CN112256431A
CN112256431A CN202011150271.7A CN202011150271A CN112256431A CN 112256431 A CN112256431 A CN 112256431A CN 202011150271 A CN202011150271 A CN 202011150271A CN 112256431 A CN112256431 A CN 112256431A
Authority
CN
China
Prior art keywords
cost aggregation
part image
image
directions
values
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.)
Granted
Application number
CN202011150271.7A
Other languages
English (en)
Other versions
CN112256431B (zh
Inventor
郭昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Tianjin Co Ltd
Original Assignee
Spreadtrum Communications Tianjin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Tianjin Co Ltd filed Critical Spreadtrum Communications Tianjin Co Ltd
Priority to CN202011150271.7A priority Critical patent/CN112256431B/zh
Publication of CN112256431A publication Critical patent/CN112256431A/zh
Application granted granted Critical
Publication of CN112256431B publication Critical patent/CN112256431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

一种代价聚合方法及装置、存储介质、终端,代价聚合方法包括:获取待聚合图像;将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。本发明技术方案能够减小代价聚合所占用的内存以及功耗。

Description

代价聚合方法及装置、存储介质、终端
技术领域
本发明涉及图像处理技术领域,尤其涉及一种代价聚合方法及装置、存储介质、终端。
背景技术
半全局块匹配(Semi-Global Block Matching,SGBM)算法被广泛应用到手机移动平台的双目立体视觉计算景深图像中,而内存和耗时对手机来说是很大的挑战,其中考虑效果采用多个方向的代价聚合,这一部分占用内存大,耗时长,且是不同方向的代价传播步骤,简单的分块会带来效果问题,需要一种保证效果,节省内存的并行方法来提高执行效率。
考虑到手机多核平台上的SGBM中代价聚合的运算复杂和耗时长,优化方法主要是单指令多数据(Single Instruction Multiple Data,SIMD)和多线程并行,且前提是内存占用尽量小。其中多线程并行技术一般是将处理数据的整体运算分割成不相关的块,分发到不同的线程上并行计算。
但是,代价聚合是不同方向的代价传播步骤,涉及不同方向的全图相关性,简单的全图分块会破坏全图相关性,带来效果问题,尤其是分块边界的错位等。并且,做多线程时图像分块之间重叠(overlap),实际验证效果在块分界处上会有错位,扩大overlap的像素(pixel)数能够稍微减少错位,但同时会带来运算量耗时的增加。还有一种多线程实现方案是每行同步等待多个线程执行完成,将多个方向的代价聚合加权到最终聚合上,再计算下一行的多个方向代价聚合值。这样同步等待交互次数很多,线程开销占用大,耗时长。还可以扩大各个方向的聚合内存大小,这样虽然可以不用每行同步等待,但是对于大分辨率和大搜索范围来说,这样大的内存是对手机平台多应用同时运行的很大挑战,内存紧张也会严重拖慢耗时。
发明内容
本发明解决的技术问题是如何减小代价聚合所占用的内存以及功耗。
为解决上述技术问题,本发明实施例提供一种代价聚合方法,代价聚合方法包括:获取待聚合图像;将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
可选的,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:并行地对所述上部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
可选的,所述并行地对所述上部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和之后还包括:同步等待所述上部分图像在左方、左上方、上方和右上方四个方向上和所述下部分图像在右方、右下方、下方和左下方四个方向上的代价聚合值计算完成。
可选的,所述代价聚合方法还包括:并行地对所述上部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
可选的,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:并行地对所述上部分图像在左方上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和;并行地对所述上部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方和上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
可选的,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:采用两个线程分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和。
可选的,所述全局代价聚合值所占用的内存为W×H×D×2,其中,W表示所述待聚合图像的宽,H表示所述待聚合图像的高,D表示搜索范围。
为解决上述技术问题,本发明实施例还公开了一种代价聚合装置,代价聚合装置包括:获取模块,用于获取待聚合图像;划分模块,用于将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;代价聚合模块,用于分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;全局代价聚合值计算模块,用于计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
本发明实施例还公开了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行所述代价聚合方法的步骤。
本发明实施例还公开了一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述代价聚合方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。本发明技术方案采用自上而下和自下而上的双向并行代价聚合方法,在保证和性能优化前效果一致前提下,节省带宽,减少延时,降低功耗,提高了整体的执行效率。
附图说明
图1是本发明实施例一种代价聚合方法的流程图;
图2是图1所示步骤S103的一种具体实施方式的流程图;
图3是本发明实施例一种代价聚合装置的结构示意图。
具体实施方式
如背景技术中所述,简单的全图分块会破坏全图相关性,带来效果问题,尤其是分块边界的错位等。并且,做多线程时图像分块之间重叠(overlap),实际验证效果在块分界处上会有错位,扩大overlap的像素(pixel)数能够稍微减少错位,但同时会带来运算量耗时的增加。还有一种多线程实现方案是每行同步等待多个线程执行完成,将多个方向的代价聚合加权到最终聚合上,再计算下一行的多个方向代价聚合值。这样同步等待交互次数很多,线程开销占用大,耗时长。还可以扩大各个方向的聚合内存大小,这样虽然可以不用每行同步等待,但是对于大分辨率和大搜索范围来说,这样大的内存是对手机平台多应用同时运行的很大挑战,内存紧张也会严重拖慢耗时。
本发明技术方案分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。本发明技术方案采用自上而下和自下而上的双向并行代价聚合方法,在保证和性能优化前效果一致前提下,节省带宽,减少延时,降低功耗,提高了整体的执行效率。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种代价聚合方法的流程图。
图1所示方法可以用于终端侧,也即可以由终端设备执行所述方法的各个步骤。所述终端设备可以是各种适当的智能设备,具体可以是具备双摄像头的智能手机、智能平板电脑等,但不限于此。
具体地,所述代价聚合方法可以包括以下步骤:
步骤S101:获取待聚合图像;
步骤S102:将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;
步骤S103:分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;
步骤S104:计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
具体实施中,待聚合图像可以是由终端设备拍摄得到的,在需要进行代价聚合时,直接调用该待聚合图像。
在步骤S102的具体实施中,可以将待聚合图像划分为上部分图像和下部分图像,其中,上部分图像和下部分图像所包含的像素行数相同。例如,待聚合图像包含的像素行数为h,则上部分图像和下部分图像均包含h/2行像素。
之所以按照像素行数将待聚合图像划分为上部分图像和下部分图像,而不是按照像素列数将待聚合图像划分为左右两部分,是考虑到图像的读取方式是逐行从上到下进行的。故而将代价聚合的计算方向设置为与像素读取的方向一致。
在步骤S103的具体实施中,对上部分图像和所述下部分图像进行各个方向上代价聚合值计算的过程可以并行地执行。
在一个具体实施例中,可以采用两个线程分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和。
也就是说,可以使用两个线程并行地对上部分图像和所述下部分图像进行各个方向上代价聚合值计算。
本发明实施例所称的各个方向可以是左方、左上方、上方、右上方、右方、右下方、下方和左下方这八个方向,也可以是上方、下方、左方和右方这四个方向,或者也可以根据实际应用环境设置为16个方向,本发明实施例对此不作限制。
进而在步骤S104中,将上部分图像和所述下部分图像的代价聚合值之和作为待聚合图像的全局代价聚合值。
需要说明的是,关于代价聚合值的具体计算过程可以参照现有技术中的相关算法和公式,本发明实施例在此不再赘述。
本发明实施例的代价聚合过程包含从上到下和从下到上的多方向的代价聚合,方向数越多效果越好,耗时也会越长,且涉及搜索范围需要内存大,为了提高效率采用自上而下,自下而上的双向并行方法,代价图拆分成上下两部分同时做自上而下的多方向和自下而上的多方向的代价聚合。本发明实施例中的并行方法不破坏多方向代价传播的全局相关性,能够保证优化前后的效果一致性,不会引入优化带来的错位等效果问题。
本发明实施例中所述的并行方法除了全局代价聚合值必需大内存以外,没有额外增加内存,节省带宽。此外,本发明实施例所述的并行方法是双向同时进行,减少延时,提高执行效率。
请参照图2,图1所示步骤S103具体可以包括以下步骤:
步骤S201:并行地对所述上部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
本实施例中是对待聚合图像在八个方向(左方、左上方、上方、右上方、右方、右下方、下方和左下方)上进行代价聚合。其中,从上到下的方向是左方、左上方、上方和右上方,从下到上的方向是右方、右下方、下方和左下方。从上到下的方向和从下到上的方向上的聚合是并行同时进行的。也即,在上部分图像中进行从上到下方向上的代价聚合,在下部分图像中进行从下到上的方向上的代价聚合。
图1所示步骤S103还可以包括以下步骤:步骤S202:同步等待所述上部分图像在左方、左上方、上方和右上方四个方向上和所述下部分图像在右方、右下方、下方和左下方四个方向上的代价聚合值计算完成。
图1所示步骤S103还可以包括以下步骤:步骤S203:并行地对所述上部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
本实施例中,同步等待上部分图像和下部分图像两部分的代价聚合值计算完成后,上半部分和下半部分交换同时做自下而上的多方向和自上而下的多方向的代价聚合,也即,在上部分图像中进行从下到上方向上的代价聚合,在下部分图像中进行从上到下的方向上的代价聚合。等待这两部分完成后即得到最终的代价聚合值。
与现有技术中每行同步等待多个线程执行完成的方案相比,本发明实施例仅需在上半部分和下半部分同时做自下而上的多方向和自上而下的多方向的代价聚合时需要等待,同步等待交互次数减少,线程开销占用小,耗时也更少。
在本发明另一个非限制性的实施例中,图1所示步骤S103还可以包括以下步骤:并行地对所述上部分图像在左方上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和;并行地对所述上部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方和上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
与前述实施例在八个方向上进行代价聚合不同的是,本发明实施例是在四个方向上对待聚合图像进行代价聚合。
具体地,在并行地对所述上部分图像在左方上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和之后还可以包括:同步等待并行计算完成。
可以理解的是,方向数越多聚合的效果越好,耗时也会越长,且涉及搜索范围需要内存也越大,因此具体采用的方向数可以根据实际的需求来设置,本发明实施例对此不作限制。
在一个非限制性的实施例中,所述全局代价聚合值所占用的内存为W×H×D×2,其中,W表示所述待聚合图像的宽,H表示所述待聚合图像的高,D表示搜索范围。
与现有技术中在每个方向上聚合占用的内存是W×H×D×2不同的是,本发明实施例总体占用的内存是W×H×D×2,其他各个方向的代价值的内存大小等只需要W×D×2即可,占用的内存更小,可以保障手机平台多应用同时运行时的性能,同时避免内存紧张导致的耗时增加。
在一个具体的应用场景中,采用2个线程,将待聚合图像分为上下两部分并行执行。h/2(h表示待聚合图像的高)上半部分执行Left,top-left,top,top-right这四个方向的代价值计算并加和,h/2-h下半部分执行right,bottom-left,bottom,bottom-right这四个方向的代价值计算并加和,同时执行。
同步等待两部分并行完成。
h/2行上半部分执行right,bottom-left,bottom,bottom-right这四个方向的代价值计算并加和,并累积到h/2行的全局聚合代价。h/2-h下半部分执行Left,top-left,top,top-right这四个方向的代价值计算并加和,同时执行。
同步等待中两部分并行完成,即完成全图的全局代价聚合值的计算。
请参照图3,本发明实施例还公开了一种代价聚合装置30,代价聚合装置30可以包括:
获取模块301,用于获取待聚合图像;
划分模块302,用于将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;
代价聚合模块303,用于分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;
全局代价聚合值计算模块304,用于计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
本发明实施例分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。本发明技术方案采用自上而下和自下而上的双向并行代价聚合方法,在保证和性能优化前效果一致前提下,节省带宽,减少延时,降低功耗,提高了整体的执行效率。
关于所述代价聚合装置30的工作原理、工作方式的更多内容,可以参照图1至图2中的相关描述,这里不再赘述。
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1或图2中所示的代价聚合方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种终端,所述终端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1或图2中所示的代价聚合方法的步骤。所述终端包括但不限于手机、计算机、平板电脑等终端设备。
应理解,上述的处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(networkprocessor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logicdevice,PLD)或其他集成芯片。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种代价聚合方法,其特征在于,包括:
获取待聚合图像;
将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;
分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;
计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
2.根据权利要求1所述的代价聚合方法,其特征在于,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:
并行地对所述上部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
3.根据权利要求2所述的代价聚合方法,其特征在于,所述并行地对所述上部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和之后还包括:
同步等待所述上部分图像在左方、左上方、上方和右上方四个方向上和所述下部分图像在右方、右下方、下方和左下方四个方向上的代价聚合值计算完成。
4.根据权利要求3所述的代价聚合方法,其特征在于,还包括:
并行地对所述上部分图像在右方、右下方、下方和左下方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方、左上方、上方和右上方四个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
5.根据权利要求1所述的代价聚合方法,其特征在于,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:
并行地对所述上部分图像在左方上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及对所述下部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和;
并行地对所述上部分图像在右方和下方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和,以及所述下部分图像在左方和上方两个方向上进行代价聚合值计算并计算各个方向上代价聚合值的加和。
6.根据权利要求1所述的代价聚合方法,其特征在于,所述分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和包括:
采用两个线程分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和。
7.根据权利要求1所述的代价聚合方法,其特征在于,所述全局代价聚合值所占用的内存为W×H×D×2,其中,W表示所述待聚合图像的宽,H表示所述待聚合图像的高,D表示搜索范围。
8.一种代价聚合装置,其特征在于,包括:
获取模块,用于获取待聚合图像;
划分模块,用于将所述待聚合图像划分为上部分图像和下部分图像,所述上部分图像和下部分图像所包含的像素行数一致;
代价聚合模块,用于分别并行地对所述上部分图像和所述下部分图像进行各个方向上代价聚合值计算以及各个方向上代价聚合值的加和,以得到所述上部分图像和所述下部分图像的代价聚合值;
全局代价聚合值计算模块,用于计算所述上部分图像和所述下部分图像的代价聚合值之和,以得到所述待聚合图像的全局代价聚合值。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至7中任一项所述代价聚合方法的步骤。
10.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述代价聚合方法的步骤。
CN202011150271.7A 2020-10-23 2020-10-23 代价聚合方法及装置、存储介质、终端 Active CN112256431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011150271.7A CN112256431B (zh) 2020-10-23 2020-10-23 代价聚合方法及装置、存储介质、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011150271.7A CN112256431B (zh) 2020-10-23 2020-10-23 代价聚合方法及装置、存储介质、终端

Publications (2)

Publication Number Publication Date
CN112256431A true CN112256431A (zh) 2021-01-22
CN112256431B CN112256431B (zh) 2023-03-14

Family

ID=74261888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011150271.7A Active CN112256431B (zh) 2020-10-23 2020-10-23 代价聚合方法及装置、存储介质、终端

Country Status (1)

Country Link
CN (1) CN112256431B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533710A (zh) * 2019-08-22 2019-12-03 桂林电子科技大学 一种基于gpu的双目匹配算法的方法及处理装置
CN111462195A (zh) * 2020-04-09 2020-07-28 武汉大学 基于主线约束的非规则角度方向代价聚合路径确定方法
CN111768331A (zh) * 2020-06-24 2020-10-13 深兰人工智能芯片研究院(江苏)有限公司 一种优化方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533710A (zh) * 2019-08-22 2019-12-03 桂林电子科技大学 一种基于gpu的双目匹配算法的方法及处理装置
CN111462195A (zh) * 2020-04-09 2020-07-28 武汉大学 基于主线约束的非规则角度方向代价聚合路径确定方法
CN111768331A (zh) * 2020-06-24 2020-10-13 深兰人工智能芯片研究院(江苏)有限公司 一种优化方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李迎松: "摄影测量影像快速立体匹配关键技术研究", 《中国博士学位论文全文数据库 基础科学辑》 *

Also Published As

Publication number Publication date
CN112256431B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US10394929B2 (en) Adaptive execution engine for convolution computing systems
US11112980B2 (en) Method and apparatus for allocating memory space for driving neural network
US20130243329A1 (en) Parallel object detection method for heterogeneous multithreaded microarchitectures
Kong et al. Accelerating MATLAB image processing toolbox functions on GPUs
CN109996023B (zh) 图像处理方法和装置
CN115485695A (zh) 用于分层权重稀疏卷积处理的方法和系统
CN103390262B (zh) 数字滤波器权重系数的获取方法和装置
Motamedi et al. Fast and energy-efficient CNN inference on IoT devices
Fan et al. F-C3D: FPGA-based 3-dimensional convolutional neural network
CN114995782B (zh) 数据处理方法、装置、设备和可读存储介质
US20240096078A1 (en) Method and system for optimizing convolutional residual structure of neural network, device, and medium
US11568323B2 (en) Electronic device and control method thereof
CN116993592B (zh) 一种图像超分辨率重建模型的构建方法、装置及应用
CN109447239B (zh) 一种基于arm的嵌入式卷积神经网络加速方法
CN112256431B (zh) 代价聚合方法及装置、存储介质、终端
US20200327638A1 (en) Connected component detection method, circuit, device and computer-readable storage medium
CN111340790B (zh) 包围盒的确定方法、装置、计算机设备和存储介质
Błażewicz et al. Two-dimensional discrete wavelet transform on large images for hybrid computing architectures: GPU and CELL
Kim et al. Optimizing seam carving on multi-GPU systems for real-time content-aware image resizing
US20220121551A1 (en) Method and device for calculating runtime of neural network on processor
CN115955571A (zh) 一种用于嵌入式设备的图像储存方法、装置及系统
US11915338B2 (en) Loading apparatus and method for convolution with stride or dilation of 2
CN111445503B (zh) 基于gpu集群上并行编程模型的金字塔互信息图像配准方法
CN112183725A (zh) 提供神经网络的方法、计算装置和计算机可读存储介质
TW201521429A (zh) 用於移動估計的視訊前處理方法與裝置

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
GR01 Patent grant
GR01 Patent grant