半精度压缩感知采样方法转让专利

申请号 : CN201910417842.X

文献号 : CN110289861A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李肯立廖龙龙陈建国刘楚波李克勤廖湘科

申请人 : 湖南大学

摘要 :

本发明提供一种半精度压缩感知采样方法,包括如下步骤:对视频图像中的对象进行检测,确定对象在视频图像中的坐标位置;将视频图像的RGB三个通道划分为33×33的子图像块,并将子图像块转换为1089×1的矩阵;对子图像块按照矩阵方式进行编号和标识;使用随机高斯矩阵产生每个子图像块所对应的半精度测量矩阵;利用半精度测量矩阵运算得到不同压缩感知测量率的半精度测量值;将半精度测量值输入压缩感知重构模型进行重构,将重构后的子图像块拼接得到压缩感知重构图像;将压缩感知图像以左上角为起始点进行裁剪后得到实际重构图像;将RGB三个通道中的实际重构图像进行融合,得到半精度压缩感知重构图像。本发明的半精度压缩感知采样方法采样数据量小。

权利要求 :

1.一种基于半精度浮点数的半精度压缩感知采样方法,其特征在于,包括如下步骤:S1:针对实际应用场景,采用目标检测模型对每帧视频图像中的对象进行检测,确定所述对象在视频图像中的坐标位置;

S2:将每帧视频图像的RGB三个通道分别划分为33×33大小的子图像块,并将所述子图像块转换为1089×1的矩阵;

S3:对每个所述子图像块按照矩阵方式进行编号和标识;

S4:根据预设压缩感知测量率,使用随机高斯矩阵来产生每个所述子图像块所对应的半精度测量矩阵;

S5:根据所述子图像块的标识,利用所述半精度测量矩阵运算,得到不同压缩感知测量率的半精度测量值;

S6:将所述半精度测量值输入压缩感知重构模型进行重构,将重构后的子图像块按照步骤S3中所标识的子图像块位置进行拼接,得到压缩感知重构图像;

S7:将所述压缩感知图像据原始图像的实际大小,以左上角为起始点进行裁剪后得到实际重构图像;

S8:将RGB三个通道中的实际重构图像进行融合,得到半精度压缩感知重构图像。

2.根据权利要求1所述的方法,其特征在于,所述目标检测模型为YOLOv3模型。

3.根据权利要求1所述的方法,其特征在于,所述步骤S3具体为:用pst对每个所述子图像块按照矩阵方式进行编号和标识。

4.根据权利要求3所述的方法,其特征在于,所述标识过程具体:若所述子图像块内检测到所述对象,则标记为1;若所述子图像块内未检测到所述对象,则标记为0。

5.根据权利要求1所述的方法,其特征在于,所述压缩感知重构模型为ISTA-Net+模型。

6.根据权利要求1所述的方法,其特征在于,所述预设压缩感知测量率选自0.01、0.04、

0.10、0.25、0.40、0.50中的一种。

说明书 :

半精度压缩感知采样方法

【技术领域】

[0001] 本发明属于计算机体系结构和数字信号处理技术领域,特别涉及一种半精度压缩感知采样方法。【背景技术】
[0002] 在视频监控、城市安全监控等实际应用场景中,随着高清视频获取设备的使用,视频画面中行人区域的图像质量是用户关注的重点,而其余图像区域显得并不重要且需要采用较高的压缩率进行压缩,以减少采样后的图像数据大小。针对这些实际应用场景感兴趣的图像目标(如行人区域)采用较高的压缩感知测量率,而且对其余图像区域则可采用较低的压缩感知测量率,从而减少分布式视频监控系统中采样数据的网络传输延迟和存储空间需求。
[0003] 压缩感知(Compressive Sensing,CS)是一种融合数字信号(如视频、数字图像等)获取与处理的技术,能够重构保真度较高的图像和视频,并使数据采样和压缩同时完成。其n×1 m×n m×1目标是从随机压缩感知采样矩阵y=Φx中恢复原始信号x=R ,其中,Φ∈R ,y∈R 。
因为m<<n,其测量率被定义为n/m。
[0004] 相关技术中,压缩感知方法关注的重点是面向整个图像的压缩感知性能的提升。其问题在于,图像重构质量随着测量率的降低明显下降,为了获得重构质量较高的重构图像只能采用提高测量率的策略,但同时导致采样数据量增加,影响计算速度。
[0005] 因此,实有必要提供一种半精度压缩感知采样方法以解决上述问题。【发明内容】
[0006] 本发明的目的在于提供一种计算速度高、测量数据小的半精度压缩感知采样方法。
[0007] 本发明提供一种基于半精度浮点数的半精度压缩感知采样方法,包括如下步骤:
[0008] S1:针对实际应用场景,采用目标检测模型对每帧视频图像中的对象进行检测,确定所述对象在视频图像中的坐标位置;
[0009] S2:将每帧视频图像的RGB三个通道分别划分为33×33大小的子图像块,并将所述子图像块转换为1089×1的矩阵;
[0010] S3:对每个所述子图像块按照矩阵方式进行编号和标识;
[0011] S4:根据预设压缩感知测量率,使用随机高斯矩阵来产生每个所述子图像块所对应的半精度测量矩阵;
[0012] S5:根据所述子图像块的标识,利用所述半精度测量矩阵运算,得到不同压缩感知测量率的半精度测量值;
[0013] S6:将所述半精度测量值输入压缩感知重构模型进行重构,将重构后的子图像块按照步骤S3中所标识的子图像块位置进行拼接,得到压缩感知重构图像;
[0014] S7:将所述压缩感知图像据原始图像的实际大小,以左上角为起始点进行裁剪后得到实际重构图像;
[0015] S8:将RGB三个通道中的实际重构图像进行融合,得到半精度压缩感知重构图像。
[0016] 优选的,所述目标检测模型为YOLOv3模型。
[0017] 优选的,所述步骤S3具体为:用pst对每个所述子图像块按照矩阵方式进行编号和标识。
[0018] 优选的,所述标识过程具体:若所述子图像块内检测到所述对象,则标记为1;若所述子图像块内未检测到所述对象,则标记为0。
[0019] 优选的,所述压缩感知重构模型为ISTA-Net+模型。
[0020] 优选的,所述预设压缩感知测量率选自0.01、0.04、0.10、0.25、0.40、0.50中的一种。
[0021] 与相关技术相比,本发明提供的半精度压缩感知采样方法包括如下有益效果:
[0022] (1)半精度压缩感知采样计算能够在Intel GPU HD630上达到约1.55倍的加速比;
[0023] (2)与传统单精度压缩感知采样方法相比,半精度压缩感知采样方法得到的测量数据仅为相应单精度压缩感知采样方法后测量数据的一半,能够降低压缩感知数据的网络传输带宽要求和存储空间需求;
[0024] (3)半精度压缩感知采样方法对于重构后的图像质量影响甚小。【附图说明】
[0025] 图1为本发明提供的半精度压缩感知采样方法的步骤图;
[0026] 图2为子图像块的划分与标识示意图。【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0028] 请结合参阅图1至图2,本发明提供一种半精度压缩感知采样方法,其包括如下步骤:
[0029] S1:针对实际应用场景,采用目标检测模型对每帧视频图像中的对象进行检测,确定所述对象在视频图像中的坐标位置。
[0030] 在本实施方式中,所述应用场景为视频监控,所述对象为行人,所述目标检测模型为YOLOv3模型。
[0031] S2:将每帧视频图像的RGB三个通道分别划分为33×33大小的子图像块,并将所述子图像块转换为1089×1的矩阵。
[0032] 需要说明的是,对所述视频图像边缘长或宽不足33的子图像块,采用像素值为0的方式进行图像填充。
[0033] S3:对每个所述子图像块按照矩阵方式进行编号和标识。
[0034] 具体的,对于宽为w、高为h的一帧视频图像,每个通道将得到[(w-1)/33]×[(h-1)/33]个子图像块,分别用pst对每个子图像块按照矩阵方式进行编号和标识,其中,若所述子图像块内检测到所述对象,则标记为1;若所述子图像块没有检测到所述对象,则标记为0,具体的,p12=1表示位于第2行第3列的子图像块包含检测到的行人对象区域的像素,而p23=0表示位于第3行第4列的子图像块不包含检测到的行人对象区域的像素。
[0035] 如图2所示,假设视频图像大小为132×132,检测到的行人所在坐标为[35,36,48,56],则所述视频图像将会被分为4×4=16个子图像块,行人所在区域对应的最左上角子图像块的编号为[35/33][36/33]=[1][1],相应最右下角自图像块的编号为[(35+48)/33+1][(36+56)/33+1]=[2][2],则包含行人的子图像块p11,p12,p21,p22标记为1,其余子图像块标记为0。
[0036] 这样,在每个通道i∈{R,G,B}中将会产生两个子图像的矩阵xip∈R1089×mp和xib∈1089×mb
R ,mp和mb分别对应包含检测到的行人区域的子图像块的个数和其余区域的子图像块的个数。
[0037] S4:根据预设压缩感知测量率,使用随机高斯矩阵来产生每个所述子图像块所对应的半精度测量矩阵。
[0038] 优选的,所述预设压缩感知测量率选自0.01、0.04、0.10、0.25、0.40、0.50中的一种。
[0039] S5:根据所述子图像块的标识,利用所述半精度测量矩阵运算,得到不同压缩感知测量率的半精度测量值。
[0040] 针对所述子图像,利用所述半精度测量矩阵与其所对应的图像矩阵xip和xib进行并行半精度矩阵运算,从而得到不同压缩感知测量率的采样数据:
[0041]
[0042] 具体的,对于每个通道中pst值为1的子图像块采用较高的测量率生成的测量矩阵Φp进行半精度压缩感知采样;而对每个通道中pst值为0的子图像块采用较低的测量率生成的测量矩阵Φb进行半精度压缩感知采样。这样,在每个通道将会分别产生不同压缩感知测量率的采样数据,通过结合这些压缩感知测量率的采样数据,即可得到每个通道的压缩感知测量率的半精度测量值yi=yip∪yib,i∈{R,G,B}。
[0043] 可以理解的是,IEEE 754-2008标准引入的半精度浮点数占2个字节,包含1个符号位、5个指数位和10个精度位,动态范围是2-127~2128,精度是lg224。与占4个字节的32位单精度浮点数(含1个符号位、8个指数位和23个精度位,动态范围是2-30~231,精度是lg211)相比,拥有较低的精度和动态范围。当硬件计算设备支持半精度浮点数运算时,半精度浮点数运算比相应的单精度浮点数运算要快。更重要的是,在人工智能和压缩感知领域,半精度浮点数在神经网络模型训练和推理、压缩感知采样中的应用并不会明显降低神经网络模型的精度和压缩感知重构的质量,但可提高模型推理和压缩感知采样的计算速度。这是因为半精度浮点数允许更多的程序数据驻留在缓存中,加速数据在缓存和设备存储器之间的交换,减小内存带宽瓶颈对压缩感知采样过程中密集型矩阵运算的限制。
[0044] 从Intel发布的第6代及其之后CPU中集成的GPU开始,已支持半精度浮点运算,如Intel Core i3-6100U、Intel Core i7-6700、Intel Core i7-8700K等。此外,AMD新发布的Vega架构GPU,如AMD Vega R64、AMD Vega R56、AMD Radeon PRO WX9100等,也开始支持半精度浮点运算。OpenCL是一种可移植的并行编程模型,允许相同的代码执行在不同的处理器和GPU设备上,经常被用于加速计算密集型应用。Intel和AMD厂商提供的OpenCL驱动程序已实现了对其GPU设备的半精度浮点运算的支持。因此,在这些新架构的GPU设备上,能够利用OpenCL对压缩感知采样这类密集型半精度浮点运算进行并行加速和优化,实现半精度压缩感知采样方法的大范围应用。
[0045] S6:将所述半精度测量值输入压缩感知重构模型进行重构,将重构后的子图像块按照步骤S3中所标识的子图像块位置进行拼接,得到压缩感知重构图像。
[0046] 优选的,所述压缩感知重构模型为ISTA-Net+模型。
[0047] 步骤7:将所述压缩感知图像据原始图像的实际大小,以左上角为起始点进行裁剪后得到实际重构图像。
[0048] 步骤8:将RGB三个通道中的实际重构图像进行融合,得到半精度压缩感知重构图像。
[0049] 进一步的,通过对于本发明提供的半精度压缩感知采样方法的并行计算方法,可以评估所述半精度压缩感知采样方法的性能,所述并行计算方法的具体步骤如下:
[0050] S10:在Ubuntu 16.04.5操作系统中安装Intel GPU OpenCL运行时SRB5.0;
[0051] S20:安装CUDA SDK8.0、CUDNN 5.1和Tensorflow 1.2.0;
[0052] S30:编译YOLOv3模型的训练和推理框架Darknet的CUDA版;
[0053] S40:下载数据集PRW和已公布的压缩感知重构模型ISTA-Net+文件;
[0054] S50:生成测量率0.01,0.04,0.10,0.25,0.40,0.50对应的半精度测量矩阵;
[0055] S60:通过OpenCL C编程,实现半精度压缩感知采样的kernel函数。
[0056] S70:调用步骤6中实现的压缩感知采样的OpenCL kernel函数,分别对不同区域的子图像块进行并行压缩感知采样加速。
[0057] S80:将压缩感知采样得到的测量值输入到ISTA-Net+压缩感知重构网络中,重构相应的RGB图像。
[0058] 具体的,所述半精度压缩感知采样方法的性能评估指标包括并行加速比、平均压缩比和平均峰值信噪比。
[0059] 具体的,所述并行加速度比Speedup=SPtime/FPtime,其中FPtime为半精度并行压缩感知采样执行时间;SPtime为相应的单精度并行压缩感知采样执行时间,所述并行加速度用于评估并行加速效果。
[0060] 所述平均压缩比mCR=Vsize/Csize,其中,Vsize为原始RGB视频图像帧的大小;Csize为半精度多测量压缩感知采样得到的测量数据大小Csize,所述平均压缩比用于评估半精度压缩感知对采样数据量的减少。
[0061] 所述平均峰值信噪比PSNR用于评估评估半精度压缩感知采样对图像重构质量的影响。
[0062] 实施例1:高测量率为0.50,低测量率为0.40,0.25,0.10,0.04,0.01时,半精度压缩感知采样方法与单精度压缩采用方法的性能比较如表1所示。
[0063] 表1
[0064]
[0065] 实施例2:高测量率为0.40,低测量率为0.25,0.10,0.04,0.01时,半精度压缩感知采样方法与单精度压缩采用方法的性能比较如表2所示。
[0066] 表2
[0067]
[0068] 实施例3:高测量率为0.25,低测量率为0.10,0.04,0.01时,半精度压缩感知采样方法与单精度压缩采用方法的性能比较如表3所示。
[0069] 表3
[0070]
[0071] 实施例4:高测量率为0.10,低测量率为0.04,0.01时,半精度压缩感知采样方法与单精度压缩采用方法的性能比较如表4所示。
[0072] 表4
[0073]
[0074] 结合表1-表4可知,就Intel GPU HD630计算设备来说,与传统单精度压缩感知采样相比,当使用的测量率相同时,半精度压缩感知采样方法的平均并行加速比约为1.55倍,且重构后的视频图像质量与传统单精度压缩感知采样方法后重构的图像质量相同。同时,半精度压缩感知采样方法的平均压缩比是传统单精度压缩感知采样方法的2倍。即本发明所提供的半精度压缩感知采样方法不仅能够提高压缩感知采样在GPU上的执行速度和数据压缩比,而且能够保持与传统单精度压缩感知相同的重构质量。
[0075] 与相关技术相比,本发明提供的半精度压缩感知采样方法包括如下有益效果:
[0076] (1)半精度压缩感知采样计算能够在Intel GPU HD630上达到约1.55倍的加速比;
[0077] (2)与传统单精度压缩感知采样方法相比,半精度压缩感知采样方法得到的测量数据仅为相应单精度压缩感知采样方法后测量数据的一半,能够降低压缩感知数据的网络传输带宽要求和存储空间需求;
[0078] (3)半精度压缩感知采样方法对于重构后的图像质量影响甚小。
[0079] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。