CN105631866B - 一种提取前景目标方法基于异构平台的计算优化方法 - Google Patents
一种提取前景目标方法基于异构平台的计算优化方法 Download PDFInfo
- Publication number
- CN105631866B CN105631866B CN201510989300.1A CN201510989300A CN105631866B CN 105631866 B CN105631866 B CN 105631866B CN 201510989300 A CN201510989300 A CN 201510989300A CN 105631866 B CN105631866 B CN 105631866B
- Authority
- CN
- China
- Prior art keywords
- value
- pixel
- platform
- pixel value
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种提取前景目标方法基于异构平台的计算优化方法,异构平台包括X86架构平台和ARM架构平台;对视频帧的像素点进行分区;在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中;分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值,计算上述差值平方值,将8个像素点的R、G、B像素值的平方值分别求和;将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;重复上述操作,直至完成所有区域内的前景目标提取。本发明利用X86架构平台的SSE内嵌指令集和ARM架构平台的NEON内嵌指令集和处理器的多核性;有效提升了算法的执行速度,保证了运行的实时性。
Description
技术领域
本发明涉及视频成像技术领域,尤其涉及一种提取前景目标方法基于异构平台的计算优化方法。
背景技术
增强现实技术(Augmented Reality,AR)是近年来发展起来的新兴技术,其核心是将虚拟内容和真实存在的内容进行实时融合,形成虚拟、现实之间的互动,从而创造出全新的体验。本公司为了解决在线娱乐平台主播因拍摄环境单调、直播视频缺乏吸引力的问题,发明了一种应用于互联网视频直播的AR方法,可有效提升视频的趣味性、加强视频的视觉冲击力。
AR算法应用于PC机和移动设备如智能手机,利用硬件以空间上并行的方法可大大提升算法的运行速度。目前的AR算法在提取前景目标中涉及大量的参数,现有技术中通过C语言对公式进行计算,其对图像逐点处理,循环量次数多、计算量大,运行的实时性很差。同时,现有的处理方法在PC机和移动设备上的处理过程相同,但是,目前很多移动设备如智能手机大多都采用了ARM架构的处理器,PC机大多采用的是X86架构的处理器,ARM的指令集与X86的指令集是完全不同的;采用现有处理方法降低了运算效率。
发明内容
针对上述问题中存在的不足之处,本发明提供一种提取前景目标方法基于异构平台的计算优化方法。
为实现上述目的,本发明提供了一种提取前景目标方法基于异构平台的计算优化方法,包括:
步骤一、根据异构平台的架构平台类型的处理器核数,启用线程处理的数目,并选取指令集,所述异构平台的架构平台类型包括X86架构平台或ARM架构平台;
步骤二、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;
步骤三、在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中,所述像素点从R、G、B三个通道分别导入;
步骤四、分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
步骤五、计算所述差值平方值,将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
步骤六、分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;
步骤七、重复步骤三~步骤六,直至完成所有区域内的前景目标提取。
作为本发明的进一步改进,所述提取前景目标的方法为:
将视频帧的每一个像素点和混合高斯模型GMM的各个分布进行匹配,提取前景目标;
像素点和混合高斯模型GMM的匹配公式为:
|X-μi|≤λσi
其中,X为像素值,μi为高斯分布的均值,σi为高斯分布的方差,λ为阈值;
当像素点与某个高斯分布满足上式,则该像素点与高斯分布相匹配,为背景点;否则为前景点。
作为本发明的进一步改进,所述步骤一包括:
在X86架构平台中,当处理器为单核时,启用单线程处理;当X86架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取SSE内嵌指令集;
当ARM架构平台的处理器为单核时,启用单线程处理;当ARM架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取NEON内嵌指令集。
作为本发明的进一步改进,所述步骤三中:
在X86架构平台中,用_mm_loadl_epi64指令将相邻8个像素点及混合高斯模型GMM数据导入到SSE寄存器中;
在ARM架构平台中,用vld3_u8指令将相邻8个像素点及混合高斯模型GMM数据导入到NEON寄存器中。
作为本发明的进一步改进,所述步骤四中:
在X86架构平台中,用_mm_sub_epi16指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
在ARM架构平台中,用vabd_u8指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值。
作为本发明的进一步改进,所述步骤五中:
在X86架构平台中,用乘法指令_mm_mullo_epi16计算所述差值平方值,用_mm_adds_epi16指令将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
在ARM架构平台中,用乘加指令vmlaq_u16计算所述差值平方值,并将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和。
作为本发明的进一步改进,所述步骤六中:
在X86架构平台中,用比较指令_mm_cmpgt_epi16分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λσi进行比较;
在ARM架构平台中,用比较指令vcgeq_u16分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λσi进行比较。
作为本发明的进一步改进,所述步骤三与步骤四之间还包括步骤八;
步骤八、将寄存器中的数据从8位扩展到16位。
与现有技术相比,本发明的有益效果为:
本发明提供了一种提取前景目标方法基于异构平台的计算优化方法,根据提取前景目标方法的可并行特性,利用X86架构平台的SSE内嵌指令集和ARM架构平台的NEON内嵌指令集和处理器的多核性;其中SSE内嵌指令集和NEON内嵌指令集都属于SIMD指令集;通过一个指令处理多个数据的方式,有效提升了算法的执行速度,降低了计算的循环次数,保证了运行的实时性。
附图说明
图1为本发明一种实施例公开的提取前景目标方法在X86架构平台的计算优化方法的流程图;
图2为本发明一种实施例公开的提取前景目标方法在ARM架构平台的计算优化方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种提取前景目标方法基于异构平台的计算优化方法,包括:
步骤一、根据异构平台的架构平台类型的处理器核数,启用线程处理的数目,并选取指令集,所述异构平台的架构平台类型包括X86架构平台或ARM架构平台;
步骤二、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;
步骤三、在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中,所述像素点从R、G、B三个通道分别导入;
步骤四、分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
步骤五、计算所述差值平方值,将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
步骤六、分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;
步骤七、重复步骤三~步骤六,直至完成所有区域内的前景目标提取。
在增强现实AR方法包括原始背景检测、混合高斯模型建立、提取前景目标、替换背景。其中:提取前景目标的方法为:将视频帧的每一个像素点和混合高斯模型GMM的各个分布进行匹配,提取前景目标;
像素点和混合高斯模型GMM的匹配公式为:
|X-μi|≤λσi
X为像素值,μi为高斯分布的均值,σi为高斯分布的方差,λ为阈值;
当像素点与某个高斯分布满足上式,则该像素点与高斯分布相匹配,为背景点;否则为前景点。
由于现有技术中需要逐点判断是否为前景点,该步骤耗时最大,本发明针对该步骤进行优化。
下面结合附图对本发明做进一步的详细描述:
设输入视频帧为RGB图像,混合高斯模型由k个高斯分布组成,k的取值由移动设备或PC机的处理能力决定,方差和阈值为常数。
实施例1:如图1所示,本发明公开提取前景目标方法在X86架构平台的计算优化方法,包括:
S101、当X86架构的处理器为单核时,启用单线程处理;当X86架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点。
S102、选用X86架构平台上的SSE内嵌指令集为数据处理提供指令;
X86SSE指令集是X86平台上一种SIMD(Single Instruction,Multiple Data,单指令、多数据)指令集,通过一条指令处理多个数据的方式,达到提高数据处理效率的目的。
S103、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;在第一区域内,采用SSE内嵌指令(intrinsics)做进一步优化;用_mm_loadl_epi64指令将相邻8个像素点的像素值及混合高斯模型GMM数据导入到SSE寄存器中;其中混合高斯模型GMM数据是指混合高斯模型GMM计算时需要为计算设定和传递的参数;其中,像素点的像素值从R、G、B三个通道分别导入到SSE寄存器中。
S104、用_mm_cvtepu8_epi16指令将SSE寄存器中的数据从8位扩展到16位,扩展到16位的目的是防止在后面的计算过程中产生溢出错误。
S105、用_mm_sub_epi16指令分别计算R、G、B三个通道的像素值和混合高斯模型GMM均值的差值。
S106、用乘法指令_mm_mullo_epi16分别计算R、G、B三个通道差值的平方值,并把结果保存到16位寄存器中。
S107、用_mm_adds_epi16指令将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和,通过比较指令_mm_cmpgt_epi16将平方和与常数λσi进行比较,提取第一区域内的前景目标;
S108、重复S101~S107,直至完成所有区域内的前景目标提取。
实施例2:如图2所示,本发明公开提取前景目标方法在ARM架构平台的计算优化方法,包括:
S201、当ARM架构的处理器为单核时,启用单线程处理;当ARM架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点。
S202、选用ARM架构平台上的NEON内嵌指令集为数据处理提供指令;ARM NEON指令集是ARM平台上一种128位SIMD(Single Instruction,Multiple Data,单指令、多数据)指令集,通过一条指令处理多个数据的方式,达到提高数据处理效率的目的。
S203、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;在第一区域内,用vld3_u8指令将相邻8个像素点的像素值及混合高斯模型GMM数据导入到NEON寄存器;其中像素点的像素值从R、G、B三个通道分别导入到NEON寄存器中,可以方便后面对数据进行处理。
S204、数据导入到寄存器后,用vabd_u8指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
S205、用乘加指令vmlaq_u16计算所述差值平方值,并将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;再通过比较指令vcgeq_u16分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λσi进行比较,提取第一区域内的前景目标;
S206、重复S201~S205,直至完成所有区域内的前景目标提取。
本发明提供了一种提取前景目标方法基于异构平台的计算优化方法,,在X86架构平台中:在单核处理器上,启用单线程,在多核处理器上,启用多线程;在每个线程里,采用SSE内嵌指令集(一种SIMD指令集),一次并行处理相邻8个像素点。在ARM架构平台中:在单核处理器上,启用单线程,在多核处理器上,启用多线程;在每个线程里,采用NEON内嵌指令集(一种SIMD指令集),一次并行处理相邻8个像素点。本发明根据AR算法中的提取前景目标方法的可并行特性,利用X86架构平台的SSE内嵌指令集和ARM架构平台的NEON内嵌指令集和处理器的多核性;其中SSE内嵌指令集和NEON内嵌指令集都属于SIMD指令集;通过一个指令处理多个数据的方式,有效提升了算法的执行速度,降低了计算的循环次数,保证了运行的实时性。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种提取前景目标方法基于异构平台的计算优化方法,其特征在于,包括:
步骤一、根据异构平台的架构平台类型的处理器核数,启用线程处理的数目,并选取指令集,所述异构平台的架构平台类型包括X86架构平台或ARM架构平台;
在X86架构平台中,当处理器为单核时,启用单线程处理;当X86架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取SSE内嵌指令集;
当ARM架构平台的处理器为单核时,启用单线程处理;当ARM架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取NEON内嵌指令集;
SSE内嵌指令集和NEON内嵌指令集都属于SIMD指令集;
步骤二、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;
步骤三、在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中,所述像素点从R、G、B三个通道分别导入;
所述步骤三中:
在X86架构平台中,用_mm_loadl_epi64指令将相邻8个像素点及混合高斯模型GMM数据导入到SSE寄存器中;
在ARM架构平台中,用vld3_u8指令将相邻8个像素点及混合高斯模型GMM数据导入到NEON寄存器中;
步骤四、分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
所述步骤四中:
在X86架构平台中,用_mm_sub_epi16指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
在ARM架构平台中,用vabd_u8指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
步骤五、计算所述差值平方值,将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
所述步骤五中:
在X86架构平台中,用乘法指令_mm_mullo_epi16计算所述差值平方值,用_mm_adds_epi16指令将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
在ARM架构平台中,用乘加指令vmlaq_u16计算所述差值平方值,并将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
步骤六、分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;
所述步骤六中:
在X86架构平台中,用比较指令_mm_cmpgt_epi16分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λσi进行比较;
在ARM架构平台中,用比较指令vcgeq_u16分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λσi进行比较;
步骤七、重复步骤三~步骤六,直至完成所有区域内的前景目标提取。
2.如权利要求1所述的提取前景目标方法基于异构平台的计算优化方法,其特征在于,所述步骤三与步骤四之间还包括步骤八;
步骤八、将寄存器中的数据从8位扩展到16位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510989300.1A CN105631866B (zh) | 2015-12-24 | 2015-12-24 | 一种提取前景目标方法基于异构平台的计算优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510989300.1A CN105631866B (zh) | 2015-12-24 | 2015-12-24 | 一种提取前景目标方法基于异构平台的计算优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105631866A CN105631866A (zh) | 2016-06-01 |
CN105631866B true CN105631866B (zh) | 2019-04-05 |
Family
ID=56046752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510989300.1A Active CN105631866B (zh) | 2015-12-24 | 2015-12-24 | 一种提取前景目标方法基于异构平台的计算优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105631866B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110428872B (zh) * | 2019-09-26 | 2020-03-10 | 深圳华大基因科技服务有限公司 | 一种基因比对指令集的转换方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572027A (zh) * | 2014-12-24 | 2015-04-29 | 天津大学 | 基于多核处理器的哈里斯特征点检测并行实现方法 |
CN104850866A (zh) * | 2015-06-08 | 2015-08-19 | 电子科技大学 | 基于SoC-FPGA的自重构K-means聚类技术实现方法 |
CN104866295A (zh) * | 2014-02-25 | 2015-08-26 | 华为技术有限公司 | OpenCL运行时***框架的设计方法及装置 |
CN104866537A (zh) * | 2014-02-25 | 2015-08-26 | 英特尔公司 | 用于特征搜索的***、装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874949B2 (en) * | 2011-12-22 | 2014-10-28 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including enhanced temperature based voltage control |
-
2015
- 2015-12-24 CN CN201510989300.1A patent/CN105631866B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866295A (zh) * | 2014-02-25 | 2015-08-26 | 华为技术有限公司 | OpenCL运行时***框架的设计方法及装置 |
CN104866537A (zh) * | 2014-02-25 | 2015-08-26 | 英特尔公司 | 用于特征搜索的***、装置和方法 |
CN104572027A (zh) * | 2014-12-24 | 2015-04-29 | 天津大学 | 基于多核处理器的哈里斯特征点检测并行实现方法 |
CN104850866A (zh) * | 2015-06-08 | 2015-08-19 | 电子科技大学 | 基于SoC-FPGA的自重构K-means聚类技术实现方法 |
Non-Patent Citations (3)
Title |
---|
基于CUDA加速的运动目标检测;梁良;《中国优秀硕士学位论文全文数据库信息科技辑》;20121015;第2012年卷(第10期);第3.2.1-3.2.3节 |
基干AMD APU的终端***的设计与实现;孙文;《中国优秀硕士学位论文全文数据库信息科技辑》;20141130;第2014年卷(第11期);第I137-70页 |
龙芯指令***融合技术;胡伟武 等;《中国科学:信息科学》;20150430;第45卷(第4期);第459-479页 |
Also Published As
Publication number | Publication date |
---|---|
CN105631866A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288614B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN103971330B (zh) | 图像增强方法及装置 | |
WO2017088365A1 (zh) | 一种肤色检测方法及装置 | |
Kwok et al. | Simultaneous image color correction and enhancement using particle swarm optimization | |
US20150326833A1 (en) | Image processing method, image processing device and monitoring system | |
CN104063686B (zh) | 作物叶部病害图像交互式诊断***与方法 | |
CN108921022A (zh) | 一种人体属性识别方法、装置、设备及介质 | |
CN106846336A (zh) | 提取前景图像、替换图像背景的方法及装置 | |
CN105513053B (zh) | 一种用于视频分析中背景建模方法 | |
CN110827312B (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN107426542A (zh) | 基于边缘计算的实时人工智能视频***的硬件架构 | |
Su et al. | An image enhancement method using the quantum‐behaved particle swarm optimization with an adaptive strategy | |
CN107547852A (zh) | 一种大数据存储*** | |
CN104574358A (zh) | 从聚焦堆图像进行场景分割的方法和设备 | |
CN113297937A (zh) | 一种图像处理方法、装置、设备及介质 | |
CN107506691B (zh) | 一种基于肤色检测的唇部定位方法和*** | |
He et al. | Integrated image defogging network based on improved atmospheric scattering model and attention feature fusion | |
CN113221767A (zh) | 训练活体人脸识别模型、识别活体人脸的方法及相关装置 | |
CN105631866B (zh) | 一种提取前景目标方法基于异构平台的计算优化方法 | |
CN105825234A (zh) | 一种融合超像素和背景模型的前景检测方法 | |
Yeganeh et al. | High dynamic range image tone mapping by maximizing a structural fidelity measure | |
CN111708907B (zh) | 一种目标人员的查询方法、装置、设备及存储介质 | |
CN108399334A (zh) | 一种基于操作码频率的恶意代码可视化分析方法 | |
CN114445898B (zh) | 人脸活体检测方法、装置、设备、存储介质及程序产品 | |
CN109741300A (zh) | 一种适用于视频编码的图像显著性快速检测方法和装置 |
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 |