CN104331858B - 一种同时利用cpu和gpu进行图像处理的加速方法 - Google Patents

一种同时利用cpu和gpu进行图像处理的加速方法 Download PDF

Info

Publication number
CN104331858B
CN104331858B CN201410682812.9A CN201410682812A CN104331858B CN 104331858 B CN104331858 B CN 104331858B CN 201410682812 A CN201410682812 A CN 201410682812A CN 104331858 B CN104331858 B CN 104331858B
Authority
CN
China
Prior art keywords
hardware
gpu
cpu
processing costs
basic algorithm
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.)
Active
Application number
CN201410682812.9A
Other languages
English (en)
Other versions
CN104331858A (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.)
Xiamen Meitu Technology Co Ltd
Original Assignee
Xiamen Meitu Technology 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 Xiamen Meitu Technology Co Ltd filed Critical Xiamen Meitu Technology Co Ltd
Priority to CN201410682812.9A priority Critical patent/CN104331858B/zh
Publication of CN104331858A publication Critical patent/CN104331858A/zh
Application granted granted Critical
Publication of CN104331858B publication Critical patent/CN104331858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种同时利用CPU和GPU进行图像处理的加速方法,其通过预先对基础算法进行CPU硬件测试和GPU硬件测试并设置所述基础算法的CPU硬件处理值和GPU硬件处理值,然后对待处理图像进行算法确认和基础算法分解,根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件分别对待处理图像进行分解的基础算法处理,最后对分解的基础算法处理进行合成处理,得到结果图像;从而使同一组图像处理的算法根据其特点分别在CPU和GPU进行计算,并最终进行效果合成,对CPU和GPU各自的优势进行有机结合,使图像处理后的效果更佳,并且算法的效率更高,执行速度更快。

Description

一种同时利用CPU和GPU进行图像处理的加速方法
技术领域
本发明涉及一种图像处理方法,特别是一种同时利用CPU和GPU进行图像处理的加速方法。
背景技术
随着用户对于图像处理方面的要求不断超出CPU的计算能力,CPU处理能力也不断强大,但在进入3D时代后,人们发现庞大的3D图像处理数据计算使得CPU越来越不堪重荷,并且远远超出其计算能力。随着图形计算需求日益增多,作为计算机的显示芯片也飞速发展。随后人们发现显示芯片的计算能力也无法满足快速增长的图形计算需求时,图形,图像计算等计算的功能被脱离出来单独成为一块芯片设计,这就是现在的图形计算处理器——GPU(Graphics Processing Unit),也就是显卡。
GPU以其高速的浮点运算能力迅速地吸引了人们的眼球,并且在向量计算方面能够获得比CPU高出十倍的计算效率,GPU并行计算的能力更是强大,它内部具有快速存储系统,此外,GPU的硬件设计能够管理数千个并行线程,这数千个线程全部由GPU创建和管理而不需要开发人员进行任何编程与管理。然而,如此强大的计算能力是具有针对性的,如Z-buffering、纹理映射与光照计算等,这类计算都是针对大量的平行数据,运算的数据量大,但是运算的类型却并不复杂,还具有类似性,计算性强但是逻辑性不强。而CPU是设计用来处理通用任务的处理、加工、运算以及系统核心控制等工作,CPU的微架构是为高效率处理数据相关性不大的计算类、复杂繁琐的非计算类等工作而优化的。所以目前CPU和GPU还在自己的轨道上各司其职,人们都只是简单地利用单纯的CPU硬件或者GPU硬件进行算法的处理,或者只是通过CPU读取图像,再通过GPU进行算法的并行处理,无法将两者进行很好的结合。
发明内容
本发明为解决上述问题,提供了一种同时利用CPU和GPU进行图像处理的加速方法,从而使得算法的效率更高,执行速度更快。
为实现上述目的,本发明采用的技术方案为:
一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于,包括以下步骤:
10.对基础算法进行CPU硬件测试和GPU硬件测试;
20.根据所述硬件测试的测试结果,设置所述基础算法的CPU硬件处理值和GPU硬件处理值;
30.加载待处理图像,并对待处理图像进行算法确认和基础算法分解;
40.根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件分别对待处理图像进行分解的基础算法处理;
50.对分解的基础算法处理进行合成处理,得到结果图像。
优选的,所述的步骤20中设置基础算法的CPU硬件处理值和GPU硬件处理值,该CPU硬件处理值和GPU硬件处理值相加的和为1。
优选的,所述的步骤40中根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件,主要是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,将处理值高的硬件作为该基础算法的默认硬件,并自动选择该默认硬件作为当前基础算法处理的硬件。
优选的,所述的步骤40中根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件,主要是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,手动设置所有基础算法使用的硬件类型以及基础算法的运行顺序。
优选的,所述的分解后的基础算法之间是相互独立的,以便分别在CPU硬件上或在GPU硬件上进行基础算法处理。
本发明的有益效果是:
本发明的一种同时利用CPU和GPU进行图像处理的加速方法,其通过预先对基础算法进行CPU硬件测试和GPU硬件测试并设置所述基础算法的CPU硬件处理值和GPU硬件处理值,然后对待处理图像进行算法确认和基础算法分解,根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件分别对待处理图像进行分解的基础算法处理,最后对分解的基础算法处理进行合成处理,得到结果图像;从而使同一组图像处理的算法根据其特点分别在CPU和GPU进行计算,并最终进行效果合成,对CPU和GPU各自的优势进行有机结合,使图像处理后的效果更佳,并且算法的效率更高,执行速度更快。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种同时利用CPU和GPU进行图像处理的加速方法的流程简图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的一种同时利用CPU和GPU进行图像处理的加速方法,其包括以下步骤:
10.对基础算法进行CPU硬件测试和GPU硬件测试;
20.根据所述硬件测试的测试结果,设置所述基础算法的CPU硬件处理值和GPU硬件处理值;
30.加载待处理图像,并对待处理图像进行算法确认和基础算法分解;
40.根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件分别对待处理图像进行分解的基础算法处理;
50.对分解的基础算法处理进行合成处理,得到结果图像。
所述的步骤20中设置基础算法的CPU硬件处理值和GPU硬件处理值,该CPU硬件处理值和GPU硬件处理值相加的和为1;例如基础算法A,CPU处理值0.3,GPU处理值0.7,则表示该算法再GPU上处理的性能比在CPU上更快,快的倍数在2倍左右;当然,CPU硬件处理值和GPU硬件处理值相加的和也可以是10或100或1000,与上述实施例是类似的。
所述的步骤40中根据分解后的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件,主要是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,将处理值高的硬件作为该基础算法的默认硬件,并自动选择该默认硬件作为当前基础算法处理的硬件;或者是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,手动设置所有基础算法使用的硬件类型以及基础算法的运行顺序。
所述的分解后的基础算法之间是相互独立的,以便分别在CPU硬件上或在GPU硬件上进行基础算法处理;例如美容算法,涉及到人脸识别,皮肤识别,模糊处理,合成处理等相互独立的基础算法,我们预先得知模糊处理适合在GPU上执行,人脸识别和皮肤识别适合在CPU上执行,而且这两个算法之间都是独立的,没有相关性的,因此我们可以分别使用CPU和GPU进行算法处理,最后再进行合成处理得到结果图像。
本发明主要是利用算法的适用性以及相关性预先设置最佳适合的程度,从而使算法在被使用时,能够快速地使用最佳的硬件进行处理;从而使同一组图像处理的算法根据其特点分别在CPU和GPU进行计算,并最终进行效果合成,对CPU和GPU各自的优势进行有机结合,使图像处理后的效果更佳,并且算法的效率更高,执行速度更快,适用于各种图像的快速处理。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (5)

1.一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于,包括以下步骤:
10.对基础算法进行CPU硬件测试和GPU硬件测试;
20.根据所述硬件测试的测试结果,设置所述基础算法的CPU硬件处理值和GPU硬件处理值;
30.加载待处理图像,并对待处理图像进行算法确认和基础算法分解;
40.根据分解的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择处理值高的CPU硬件或GPU硬件分别对待处理图像进行分解的基础算法的处理;
50.对分解的基础算法处理进行合成处理,得到结果图像。
2.根据权利要求1所述的一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于:所述的步骤20中设置基础算法的CPU硬件处理值和GPU硬件处理值,该CPU硬件处理值和GPU硬件处理值相加的和为1。
3.根据权利要求1所述的一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于:所述的步骤40中根据分解的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件,主要是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,将处理值高的硬件作为该基础算法的默认硬件,并自动选择该默认硬件作为当前基础算法处理的硬件。
4.根据权利要求1所述的一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于:所述的步骤40中根据分解的基础算法所对应的CPU硬件处理值和GPU硬件处理值选择所需的CPU硬件或GPU硬件,主要是根据所述基础算法的CPU硬件处理值和GPU硬件处理值,手动设置所有基础算法使用的硬件类型以及基础算法的运行顺序。
5.根据权利要求1所述的一种同时利用CPU和GPU进行图像处理的加速方法,其特征在于:所述的分解的基础算法之间是相互独立的,以便分别在CPU硬件上或在GPU硬件上进行基础算法处理。
CN201410682812.9A 2014-11-24 2014-11-24 一种同时利用cpu和gpu进行图像处理的加速方法 Active CN104331858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410682812.9A CN104331858B (zh) 2014-11-24 2014-11-24 一种同时利用cpu和gpu进行图像处理的加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410682812.9A CN104331858B (zh) 2014-11-24 2014-11-24 一种同时利用cpu和gpu进行图像处理的加速方法

Publications (2)

Publication Number Publication Date
CN104331858A CN104331858A (zh) 2015-02-04
CN104331858B true CN104331858B (zh) 2018-02-16

Family

ID=52406579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410682812.9A Active CN104331858B (zh) 2014-11-24 2014-11-24 一种同时利用cpu和gpu进行图像处理的加速方法

Country Status (1)

Country Link
CN (1) CN104331858B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018098677A1 (zh) * 2016-11-30 2018-06-07 深圳市大疆创新科技有限公司 处理视频流的方法和终端
CN106951322A (zh) * 2017-02-28 2017-07-14 中国科学院深圳先进技术研究院 一种cpu/gpu异构环境的图像协同处理程序获取方法及系统
CN107945098B (zh) * 2017-11-24 2022-03-01 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
CN108198124B (zh) 2017-12-27 2023-04-25 上海联影医疗科技股份有限公司 医学图像处理方法、装置、计算机设备和存储介质
CN108848307A (zh) * 2018-06-27 2018-11-20 华中科技大学鄂州工业技术研究院 一种红外图像实时处理系统及方法
CN110400249A (zh) * 2019-07-23 2019-11-01 杨勇 一种基于cpu的图像处理方法
CN110490300B (zh) * 2019-07-26 2022-03-15 苏州浪潮智能科技有限公司 一种基于深度学习的运算加速方法、装置及系统
CN117274027B (zh) * 2023-08-22 2024-05-24 北京辉羲智能科技有限公司 一种硬件安全冗余的图像处理芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164839A (zh) * 2013-03-07 2013-06-19 华为技术有限公司 一种绘图方法、装置及终端
CN103632336A (zh) * 2013-12-17 2014-03-12 武汉大学 基于负载分配的遥感影像cpu/gpu协同处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152601B2 (en) * 2013-05-09 2015-10-06 Advanced Micro Devices, Inc. Power-efficient nested map-reduce execution on a cloud of heterogeneous accelerated processing units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164839A (zh) * 2013-03-07 2013-06-19 华为技术有限公司 一种绘图方法、装置及终端
CN103632336A (zh) * 2013-12-17 2014-03-12 武汉大学 基于负载分配的遥感影像cpu/gpu协同处理方法

Also Published As

Publication number Publication date
CN104331858A (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
CN104331858B (zh) 一种同时利用cpu和gpu进行图像处理的加速方法
CN110163048B (zh) 手部关键点的识别模型训练方法、识别方法及设备
CN103983334B (zh) 一种信息处理的方法及电子设备
CN104392409B (zh) 一种图像美容的加速方法
An et al. Improving gait recognition with 3d pose estimation
CN109658455A (zh) 图像处理方法和处理设备
JP2018512913A5 (zh)
US20160328874A1 (en) Avatar facial expression animations with head rotation
CN108062536A (zh) 一种检测方法及装置、计算机存储介质
CN113658309B (zh) 三维重建方法、装置、设备以及存储介质
US20180137343A1 (en) Facial image generating method, facial image generating apparatus, and facial image generating device
WO2023088277A1 (zh) 虚拟穿戴方法、装置、设备、存储介质及程序产品
CN109493297A (zh) 低质量人脸图像增强方法、系统、设备及存储介质
CN104952093B (zh) 虚拟染发方法和装置
Lozano et al. Simultaneous and fast 3D tracking of multiple faces in video by GPU-based stream processing
CN112783949B (zh) 人体数据预测方法、装置、电子设备和存储介质
CN104899909B (zh) 颜色映射方法和装置
Botre et al. Virtual Trial Room
Zhou et al. Densely connected Siamese network visual tracking
KR102568699B1 (ko) 360도 파노라마 실내 영상으로부터 생성된 포인트 클라우드의 바닥면을 고려한 후처리 방법
CN109299714A (zh) Roi模板生成方法、roi提取方法及系统、设备、介质
CN112581600B (zh) 电子服装的裘毛效果生成方法、装置、存储介质及设备
Camacho et al. Implementation of MTCNN-based Face Detection Algorithm on Edge AI Device
CN104820770A (zh) 一种用于提供健康指示的方法和装置
Ingvarsson Computers and Art in the 1960s

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant