本发明属于视频信号处理,涉及一种神经网络动态范围转换系统,具体在硬件设备上使用小型神经网络进行视频信号动态范围转换的方法。该系统通过动态切换神经网络的权重参数,实现标准动态范围(sdr)视频信号与高动态范围(hdr)视频信号之间的转换,以节省芯片面积和降低成本。
背景技术:
1、随着视频技术的快速发展,视频信号的质量和表现力不断提高。高动态范围(hdr)视频技术相较于标准动态范围(sdr)视频技术,能够提供更高的亮度、更广的色域和更丰富的细节,极大地提升了视觉体验。然而,hdr视频信号的处理和存储通常需要更高的硬件资源和计算能力,这对硬件设备的设计和制造提出了更高的要求。
2、实现sdr与hdr视频信号之间的转换通常依赖于大型神经网络,这些神经网络需要大量的计算资源和存储空间,导致芯片面积增大、成本上升,并且在移动设备等资源受限的硬件平台上难以实现。为了应对这些挑战,研究人员提出了多种优化方法,包括模型压缩、量化和剪枝等技术,以减少神经网络的计算复杂度和存储需求。然而,这些方法在实际应用中仍然存在一定的局限性,难以在保证转换效果的同时显著降低硬件资源的消耗。因此,亟需一种新的解决方案,能够在保证视频信号转换效果的同时,显著降低硬件资源的消耗,适应资源受限的硬件平台,并满足实时处理的需求。
技术实现思路
1、本发明的目的是提供一种神经网络动态范围转换系统,通过在硬件设备上部署小型神经网络并动态切换权重参数,实现标准动态范围(sdr)视频信号与高动态范围(hdr)视频信号之间的高效转换,达到转换视频信号动态范围的目的。
2、本发明包括视频信号输入单元、权重切换控制单元、视频信号转换单元和视频信号输出单元。
3、视频信号输入单元用于接收标准动态范围sdr视频信号或高动态范围hdr视频信号,将像素输入权重切换控制单元和视频信号转换单元。
4、权重切换控制单元使用权重选择网络,设定m个像素区间,权重切换控制单元根据输入视频信号的像素值动态切换小型神经网络的权重参数。
5、视频信号转换单元使用小型神经网络处理视频信号,由权重切换控制单元动态配置小型神经网络的权重参数。
6、视频信号输出单元用于输出经小型神经网络转换后的像素值。
7、将图像输入视频接收单元,视频信号输入单元将输入图像分解,按流水线形式逐像素输入权重切换控制单元和视频信号转换单元;权重切换控制单元获取输入像素对应权重参数,首先判断输入像素的值对应的像素区间,其中关于像素值区间的划分通过权重选择网络训练得到;然后根据输入像素所在的区间,生成对应的权重参数;将权重参数配置到小型神经网络当中,小型神经网络对输入像素进行转换;视频信号输出单元将转换后的像素进行汇总,按视频帧输出。
8、权重切换控制单元和视频信号转换单元均分为训练阶段和推理阶段。
9、在训练阶段,权重选择网络和小型神经网络采用联合训练,具体方法如下:
10、(1)随机初始化一个权重选择网络和m个小型神经网络的权重参数;权重选择网络包含l个子模块、一个全连接层、一个gumbel softmax层和一个argmax层,每个子模块由全连接层和激活算子构成,l≥1;权重选择网络在经典全连接网络基础上增加gumbelsoftmax层和argmax层,经典全连接网络含有全连接算子、激活算子;小型神经网络采用经典卷积神经网络(cnn)结构,含有卷积算子、激活算子;
11、(2)将形状为[b,c,h,w]的训练数据mat_in输入权重选择网络,b、c、h和w分别为训练数据的批次大小、通道大小、高度和宽度;
12、(3)将输入的一个批次训练数据的形状由[b,c,h,w]展平为[b,c*h*w],经过l个子模块提取特征,再经过全连接层将张量进行升维,输出形状为[b,m*c*h*w]的张量,*表示维度相乘;最后将张量形状修改为[b,m,c,h,w];
13、(4)修改后的张量经过gumbel softmax层,输出形状为[b,m,c,h,w]的张量mat_gum,此时张量各维度的值为0或1;
14、(5)将训练数据mat_in分别与张量mat_gum[:,m,:,:,:]进行点乘,m∈[0,m-1],:表示获取该维度所有的数据,计算完成后输出m个形状为[b,c,h,w]的张量,各张量分别含有一个区间的数据;
15、(6)将m个张量分别送入初始化后的m个小型神经网络进行训练,训练完成后得到m份权重参数weight。
16、在推理阶段,权重切换控制单元根据输入的像素值确定所属像素区间,选择对应的权重参数配置到视频信号转换单元的小型神经网络当中,具体方法如下:
17、a.视频信号输入单元将输入图像分解,按流水线形式逐像素输入权重切换控制单元和视频信号转换单元;此时批次大小b,图像高度h,图像宽度w均为1,输入像素的形状为[c];
18、b.输入像素经过l个子模块提取特征,再经过全连接层将张量进行升维,输出形状为[c,m]的张量mat_arg;张量mat_arg经过argmax层,得到张量mat_arg的m所在维度最大值对应的像素区间序号i,其中i∈[0,m-1];
19、c.根据选中的像素区间序号i索引对应的第i份权重参数weight[i],将其配置到视频信号转换单元中的小型神经网络;
20、d.小型神经网络根据权重参数weight[i]对输入像素进行动态范围转换;
21、e.视频信号转换单元将动态范围转换后的像素输入视频信号输出单元,视频信号输出单元按流水线形式逐像素接收,进行汇总,按视频帧输出。
22、本发明的有益效果:本发明显著减少了所需的计算资源和存储空间,节省芯片面积,降低硬件成本。同时适用于各种资源受限的硬件平台,如移动设备、嵌入式系统和实时视频处理设备,并能够在保证高质量视频信号转换效果的同时,满足实时处理的需求,具有广泛的应用前景。
1.一种神经网络动态范围转换系统,其特征在于:包括视频信号输入单元、权重切换控制单元、视频信号转换单元和视频信号输出单元;
2.如权利要求1所述的一种神经网络动态范围转换系统,其特征在于:所述的权重切换控制单元和视频信号转换单元均分为训练阶段和推理阶段;
3.如权利要求1所述的一种神经网络动态范围转换系统,其特征在于:所述的视频信号输入单元和视频信号输出单元支持多种视频格式的输入和输出,包括mp4、avi、mkv和mov格式。
4.如权利要求2所述的一种神经网络动态范围转换系统,其特征在于,小型神经网络根据权重参数weight[i]对输入像素进行动态范围转换,包括以下几种情况:
5.如权利要求2所述的一种神经网络动态范围转换系统,其特征在于:所述的存储在权重切换控制单元设置有缓存模块,训练完成后得到m份权重参数weight存储在所述的缓存模块。
6.如权利要求2所述的一种神经网络动态范围转换系统,其特征在于:步骤(5)中点乘即为像素区间选择,点乘后被清零的数据为非本像素区间的数据,保持不变的数据为本像素区间的数据。
7.如权利要求2所述的一种神经网络动态范围转换系统,其特征在于,系统设置一个用户接口模块,用于接收用户输入的参数和设置,以调整视频信号转换的效果。