一种提取前景目标方法基于异构平台的计算优化方法

文档序号:9866587阅读:421来源:国知局
一种提取前景目标方法基于异构平台的计算优化方法
【技术领域】
[0001]本发明涉及视频成像技术领域,尤其涉及一种提取前景目标方法基于异构平台的计算优化方法。
【背景技术】
[0002]增强现实技术(AugmentedReality,AR)是近年来发展起来的新兴技术,其核心是将虚拟内容和真实存在的内容进行实时融合,形成虚拟、现实之间的互动,从而创造出全新的体验。本公司为了解决在线娱乐平台主播因拍摄环境单调、直播视频缺乏吸引力的问题,发明了一种应用于互联网视频直播的AR方法,可有效提升视频的趣味性、加强视频的视觉冲击力。
[0003]AR算法应用于PC机和移动设备如智能手机,利用硬件以空间上并行的方法可大大提升算法的运行速度。目前的AR算法在提取前景目标中涉及大量的参数,现有技术中通过C语言对公式进行计算,其对图像逐点处理,循环量次数多、计算量大,运行的实时性很差。同时,现有的处理方法在PC机和移动设备上的处理过程相同,但是,目前很多移动设备如智能手机大多都采用了ARM架构的处理器,PC机大多采用的是X86架构的处理器,ARM的指令集与X86的指令集是完全不同的;采用现有处理方法降低了运算效率。

【发明内容】

[0004]针对上述问题中存在的不足之处,本发明提供一种提取前景目标方法基于异构平台的计算优化方法。
[0005]为实现上述目的,本发明提供了一种提取前景目标方法基于异构平台的计算优化方法,包括:
[0006]步骤一、根据异构平台的架构平台类型的处理器核数,启用线程处理的数目,并选取指令集,所述异构平台的架构平台类型包括X86架构平台或ARM架构平台;
[0007]步骤二、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;
[0008]步骤三、在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中,所述像素点从R、G、B三个通道分别导入;
[0009]步骤四、分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
[0010]步骤五、计算所述差值平方值,将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
[0011]步骤六、分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;
[0012]步骤七、重复步骤三?步骤六,直至完成所有区域内的前景目标提取。
[0013]作为本发明的进一步改进,所述提取前景目标的方法为:
[0014]将视频帧的每一个像素点和混合高斯模型GMM的各个分布进行匹配,提取前景目标;
[0015]像素点和混合高斯模型GMM的匹配公式为:
[0016]Χ-μ?I < Aoi
[0017]其中,Χ为像素值,yi为高斯分布的均值,Oi为高斯分布的方差,λ为阈值;
[0018]当像素点与某个高斯分布满足上式,则该像素点与高斯分布相匹配,为背景点;否则为前景点。
[0019]作为本发明的进一步改进,所述步骤一包括:
[0020]在Χ86架构平台中,当处理器为单核时,启用单线程处理;当Χ86架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取SSE内嵌指令集;
[0021 ]当ARM架构平台的处理器为单核时,启用单线程处理;当ARM架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点,并选取NEON内嵌指令集。
[0022]作为本发明的进一步改进,所述步骤三中:
[0023]在Χ86架构平台中,用_mm_loadljpi64指令将相邻8个像素点及混合高斯模型GMM数据导入到SSE寄存器中;
[0024]在ARM架构平台中,用vld3_u8指令将相邻8个像素点及混合高斯模型GMM数据导入到NEON寄存器中。
[0025]作为本发明的进一步改进,所述步骤四中:
[0026]在X86架构平台中,用_mm_sub_epil6指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
[0027]在ARM架构平台中,用vabd_u8指令计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值。
[0028]作为本发明的进一步改进,所述步骤五中:
[0029]在X86架构平台中,用乘法指令_mm_mullo_epil6计算所述差值平方值,用_mm_adds_epil6指令将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
[0030]在ARM架构平台中,用乘加指令vmlaq_ul6计算所述差值平方值,并将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和。
[0031]作为本发明的进一步改进,所述步骤六中:
[0032]在X86架构平台中,用比较指令_mm_cmpgt_epil6分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积Aoi进行比较;
[0033]在ARM架构平台中,用比较指令VCgeq_ul6分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积λ0ι进行比较。
[0034]作为本发明的进一步改进,所述步骤三与步骤四之间还包括步骤八;
[0035]步骤八、将寄存器中的数据从8位扩展到16位。
[0036]与现有技术相比,本发明的有益效果为:
[0037]本发明提供了一种提取前景目标方法基于异构平台的计算优化方法,根据提取前景目标方法的可并行特性,利用Χ86架构平台的SSE内嵌指令集和ARM架构平台的NEON内嵌指令集和处理器的多核性;其中SSE内嵌指令集和NEON内嵌指令集都属于SMD指令集;通过一个指令处理多个数据的方式,有效提升了算法的执行速度,降低了计算的循环次数,保证了运行的实时性。
【附图说明】
[0038]图1为本发明一种实施例公开的提取前景目标方法在X86架构平台的计算优化方法的流程图;
[0039]图2为本发明一种实施例公开的提取前景目标方法在ARM架构平台的计算优化方法的流程图。
【具体实施方式】
[0040]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]本发明公开了一种提取前景目标方法基于异构平台的计算优化方法,包括:
[0042]步骤一、根据异构平台的架构平台类型的处理器核数,启用线程处理的数目,并选取指令集,所述异构平台的架构平台类型包括X86架构平台或ARM架构平台;
[0043]步骤二、对视频帧的像素点进行分区,每个区域内包含相邻的8个像素点;
[0044]步骤三、在第一区域内,将相邻8个像素点及混合高斯模型GMM数据导入到寄存器中,所述像素点从R、G、B三个通道分别导入;
[0045]步骤四、分别计算每个像素点的R、G、B像素值与混合高斯模型GMM均值的差值;
[0046]步骤五、计算所述差值平方值,将8个像素点的R像素值的平方值、G像素值的平方值、B像素值的平方值分别求和;
[0047]步骤六、分别将R、G、B像素值的平方和与阈值和高斯分布的方差的乘积进行比较,提取第一区域内的前景目标;
[0048]步骤七、重复步骤三?步骤六,直至完成所有区域内的前景目标提取。
[0049]在增强现实AR方法包括原始背景检测、混合高斯模型建立、提取前景目标、替换背景。其中:提取前景目标的方法为:将视频帧的每一个像素点和混合高斯模型GMM的各个分布进行匹配,提取前景目标;
[0050]像素点和混合高斯模型GMM的匹配公式为:
[0051 ] Χ-μ?| <Aoi
[0052]X为像素值,μ?为高斯分布的均值,Oi为高斯分布的方差,λ为阈值;
[0053]当像素点与某个高斯分布满足上式,则该像素点与高斯分布相匹配,为背景点;否则为前景点。
[0054]由于现有技术中需要逐点判断是否为前景点,该步骤耗时最大,本发明针对该步骤进行优化。
[0055]下面结合附图对本发明做进一步的详细描述:
[0056]设输入视频帧为RGB图像,混合高斯模型由k个高斯分布组成,k的取值由移动设备或PC机的处理能力决定,方差和阈值为常数。
[0057]实施例1:如图1所示,本发明公开提取前景目标方法在X86架构平台的计算优化方法,包括:
[0058]SlOl、当X86架构的处理器为单核时,启用单线程处理;当X86架构的处理器为多核时,启用多线程处理,每个线程处理视频帧的一部分像素点。
[0059]S102、选用X86架构平台上的SSE内嵌指令集为数据处理提供指令;
[0060]X86SSE 指令集是 X86 平台上一种 SIMD(Singl
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1