图像处理方法、装置及其计算机程序产品与流程

文档序号:28738657发布日期:2022-02-07 21:09阅读:153来源:国知局
图像处理方法、装置及其计算机程序产品与流程

1.本发明涉及图像处理领域,更具体地,涉及一种用于使用卷积神经网络(convolutional neural network,cnn)处理图像的方法、装置和计算机程序产品。


背景技术:

2.图像处理管道(image processing pipeline,ipp)通常用于将输入光学传感器生成的原始图像转换为要渲染的所得图像。高性能ipp在消费者类(特别是移动)设备、像科学任务之类的特定领域任务(例如dna测序)等至关重要。如今,人工智能(artificial intelligence,ai)和深度学习技术在许多ipp中被广泛使用。更具体地,cnn目前是与图像处理相关的大多数深度学习任务中的核心和最先进的技术。因此,高性能ipp需要cnn进行适当的推理。
3.获得基于cnn的高性能的ipp的一种可能方法是降低图像分辨率。简言之,这种方法包括缩小原始图像,以受控的方式处理缩小的图像,以及通过使用cnn将处理后的缩小的图像放大到原始大小。但是,上述方法针对特定领域,因为可能会对原始图像中的细节级别产生负面影响。特别地,尽管这种方法每降低n倍图像分辨率,就会减少n2倍计算,但它会造成包括严重的细节/质量损失在内的副作用。此外,如果原始图像的分辨率高于1080p(对应于1920
×
1080像素),则一些现有的使用缩小的图像的基于cnn的ipp,例如可训练引导滤波器和深度双边学习,可能无法提供足够的实时处理性能。


技术实现要素:

4.提供本发明内容是为了以简化的形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在识别本发明的关键特征或基本特征,也不旨在用于限制本发明的范围。
5.本发明的一个目的是提供一种技术方案,用于将图像源的原始图像转换为适合图像渲染器的图像,而不导致严重的细节/质量损失,也不使用复杂的计算概念,如在可训练引导滤波器和深度双边学习中使用的概念。
6.上述目的是通过所附权利要求中独立权利要求的特征来实现的。进一步的实施例和示例从从属权利要求、具体实施方式和附图中是显而易见的。
7.根据第一方面,提供了一种图像处理方法,执行过程如下。首先,从图像源接收原始图像。原始图像具有预定义大小和高分辨率,并且原始图像以图像源支持的第一颜色空间表示。然后,通过缩小第一颜色空间的原始图像来获得中间图像,并从第一颜色空间转换到图像渲染器支持的第二颜色空间。接下来,通过将转换后的中间图像放大到原始图像的预定义大小,同时提供还原图像的类似高分辨率,获得还原图像。所述放大是通过使用卷积神经网络(convolutional neural network,cnn)来执行的,卷积神经网络用于接收原始图像和转换后的中间图像作为输入,并基于输入返回还原图像。cnn基于三元组的训练集进行预训练,每个三元组包括图像源的过去的原始图像,以及均与过去的原始图像相对应的转
换后的过去的中间图像和过去的还原图像。这样执行的方法可以简化图像源与图像渲染器之间的图像处理,同时提供还原图像的高分辨率。此外,这样执行的方法可以适用于对分辨率高于1080p的原始图像的实时处理。
8.在第一方面的一个实施例中,原始图像的预定义大小表示为(w,h),其中,w和h分别是以像素为单位的原始图像的宽度和高度。反过来,执行所述缩小第一颜色空间的原始图像,使得中间图像具有表示为(w/4,h/4)的大小。这可以降低包括颜色空间转换等进一步图像处理的计算成本。
9.在第一方面的一个实施例中,三元组的训练集包括在内容、分辨率和光照条件上类似于接收到的原始图像的过去的原始图像。这可以使cnn得到更高效的训练。
10.在第一方面的一个实施例中,每个三元组的形成过程如下。首先接收以第一颜色空间表示的过去的原始图像,然后缩小以获得第一颜色空间的过去的中间图像。接下来,将以第一颜色空间表示的过去的中间图像转换到第二颜色空间。之后,通过将以第一颜色空间表示的过去的原始图像转换到第二颜色空间,获得过去的还原图像。最后,将过去的原始图像与转换后的过去的中间图像和过去的还原图像组合,以形成对应的三元组。这可以使基于这样形成的三元组的训练集训练的cnn更高效地操作。
11.在第一方面的一个实施例中,所述缩小原始图像和所述缩小每个过去的原始图像是通过使用相同的插值算法或不同的插值算法执行的。这可以使根据第一方面的方法在使用中更加灵活。
12.在第一方面的一个实施例中,原始图像包括高频分量和低频分量。在本实施例中,cnn包括用于从原始图像中提取高频分量的第一提取块,用于从转换后的中间图像中提取低频分量的第二提取块,以及用于将提取的高频和提取的低频分量合并到还原图像中的解码块。cnn的这种架构可以使cnn更高效地操作。
13.在第一方面的一个实施例中,第一提取块、第二提取块和解码块中的每一个包括至少一个神经元的2d卷积层。这可以使转换后的中间图像更高效地升级到还原图像。
14.在第一方面的一个实施例中,卷积神经网络中的第一提取块和第二提取块用于并行操作。这可以使cnn操作更快。
15.根据第二方面,提供了一种图像处理装置,包括至少一个处理器和耦合到至少一个处理器的存储器。存储器存储处理器可执行指令,当至少一个处理器执行处理器可执行指令时,使至少一个处理器:从图像源接收原始图像,原始图像具有预定义大小和高分辨率,并且原始图像以图像源支持的第一颜色空间表示;通过缩小第一颜色空间的原始图像,获得中间图像;将以第一颜色空间表示的中间图像转换到图像渲染器支持的第二颜色空间;通过将转换后的中间图像放大到原始图像的预定义大小,同时提供还原图像的类似高分辨率,获得还原图像,至少一个处理器用于通过使用卷积神经网络(convolutional neural network,cnn)执行所述放大,并且cnn用于接收原始图像和转换后的中间图像作为输入,并基于输入返回还原图像。至少一个处理器还用于基于三元组的训练集预训练cnn,每个三元组包括图像源的过去的原始图像,以及均与过去的原始图像相对应的转换后的过去的中间图像和过去的还原图像。这样实现的装置可以简化图像源与图像渲染器之间的图像处理,同时提供还原图像的高分辨率。此外,这样实现的装置可以适用于对分辨率高于1080p的原始图像的实时处理。
16.在第二方面的一个实施例中,原始图像的预定义大小表示为(w,h),其中,w和h分别是以像素为单位的原始图像的宽度和高度。反过来,至少一个处理器用于执行所述缩小第一颜色空间的原始图像,使得中间图像具有表示为(w/4,h/4)的大小。这可以降低包括颜色空间转换等进一步图像处理的计算成本。
17.在第二方面的一个实施例中,三元组的训练集包括在内容、分辨率和光照条件上类似于接收到的原始图像的过去的原始图像。这可以使cnn得到更高效的训练。
18.在第二方面的一个实施例中,至少一个处理器还用于通过以下步骤形成每个三元组:
[0019]-接收以第一颜色空间表示的过去的原始图像;
[0020]-通过缩小第一颜色空间的过去的原始图像,获得过去的中间图像;
[0021]-将以第一颜色空间表示的过去的中间图像转换到第二颜色空间;
[0022]-通过将以第一颜色空间表示的过去的原始图像转换到第二颜色空间,获得过去的还原图像;
[0023]-将过去的原始图像与转换后的过去的中间图像和过去的还原图像组合。
[0024]
这可以使基于这样形成的三元组的训练集训练的cnn更高效地操作。
[0025]
在第二方面的一个实施例中,至少一个处理器还用于通过使用相同的插值算法或不同的插值算法执行所述缩小原始图像和所述缩小每个过去的原始图像。这可以使根据第二方面的装置在使用中更灵活。
[0026]
在第二方面的一个实施例中,原始图像包括高频分量和低频分量。在本实施例中,cnn包括用于从原始图像中提取高频分量的第一提取块,用于从转换后的中间图像中提取低频分量的第二提取块,以及用于将提取的高频和提取的低频分量合并到还原图像中的解码块。cnn的这种架构可以使cnn更高效地操作。
[0027]
在第二方面的一个实施例中,第一提取块、第二提取块和解码块中的每一个包括至少一个神经元的2d卷积层。这可以使转换后的中间图像更高效地升级到还原图像。
[0028]
在第二方面的一个实施例中,cnn中的第一提取块和第二提取块用于并行操作。这可以使cnn操作更快。
[0029]
根据第三方面,提供了一种计算机程序产品,包括存储计算机程序的计算机可读存储介质。至少一个处理器执行计算机程序时,使至少一个处理器执行根据第一方面的方法。因此,根据第一方面的方法可以通过计算机程序的形式体现,从而提供了使用灵活性。
[0030]
通过阅读下面的具体实施方式并回顾附图,本发明的其它特征和优点将是显而易见的。
附图说明
[0031]
下面结合附图说明本发明的实质。
[0032]
图1示出了根据本发明的一个方面的图像处理装置的示例性框图。
[0033]
图2示出了根据本发明的另一方面的图像处理方法的示例性框图。
[0034]
图3示出了图2所示方法中使用的卷积神经网络(convolutional neural network,cnn)的示例性框图。
[0035]
图4示出了用于训练图3所示cnn的训练方法的示例性框图。
[0036]
图5示出了构成图4所示方法的步骤s404的子步骤的示例性流程图。
[0037]
图6和图7示出了图2中所示方法和两种现有图像处理方法(即原始高分辨率和双线性上采样)的比较结果。
具体实施方式
[0038]
结合附图进一步详细地描述了本发明的各种实施例。但是,本发明可以通过许多其它形式体现,并且不应解释为限于在以下描述中公开的任何特定结构或功能。相反,提供这些实施例是为了使本发明的描述详细和完整。
[0039]
根据本发明,对于本领域的技术人员来说显而易见的是,本发明的范围涵盖了本文公开的任何实施例,无论本实施例是独立实现的还是与本发明的任何其它实施例协同实现的。例如,本文公开的装置和方法可以通过使用本文提供的任何数量的实施例来实现。此外,应理解,本发明的任何实施例都可以使用所附权利要求中提出的一个或多个元件或步骤来实现。
[0040]
在本发明的实施例中,图像源可以指用于捕获图像的设备,例如摄像机、光学传感器阵列、扫描仪等,而图像渲染器可以指用于渲染捕获的图像的设备,例如电视机,计算机屏幕、计算机打印机、显示器等。图像源和图像渲染器可以集成到一个用户设备(例如,手机中的相机和显示器)中,或实现为相互有线或无线连接的不同用户设备(例如,笔记本电脑摄像头和打印机)。
[0041]
在本发明的实施例中,颜色空间,也称为颜色模型,可以指摄像机可以看到、打印机可以打印或显示器可以显示的特定颜色范围。由于图像源和图像渲染器支持的颜色空间通常彼此不同,因此在由图像渲染器渲染之前,应适当地处理捕获的图像。所述处理由所谓的图像处理管道(image processing pipeline,ipp)执行,该图像处理管道表示所述图像捕获与渲染之间的一组中间步骤。
[0042]
为了将捕获的图像从图像源的颜色空间转换到图像渲染器的颜色空间,ipp通常涉及缩小捕获的图像,然后对缩小的图像执行所述颜色空间转换。这样做的原因是,颜色空间转换只需要了解捕获的图像中存在的平滑颜色梯度,即基于捕获的图像的低频分量。应注意,捕获的图像的高频分量由构成捕获的图像中纹理/细节的尖锐对比度边缘表示。颜色空间转换中不需要高频分量,因此可以排除在考虑之外,以降低计算和时间成本。所述缩小允许隔离捕获的图像的低频分量,以便进一步的颜色空间转换。本发明的实施例不限于图像源和图像渲染器的任何特定颜色空间。作为示例,图像源的颜色空间可以由rgb、hsl、hsv、yuv/yiq/ycbcr和xyz颜色模型中的一个表示,而图像渲染器的颜色空间可以由这些颜色模型中的另一个表示。一旦颜色空间转换完成,ipp还涉及将缩小的图像放大或还原到其原始大小。
[0043]
在本发明的实施例中,卷积神经网络(convolutional neural network,cnn)可以指设计用于处理图像数据的专用类型的神经网络。cnn的主要组件是卷积层,该卷积层执行卷积操作。在cnn的上下文中,卷积是一个线性运算,涉及将权重数组(称为滤波器或内核)与输入数据数组相乘。有意使滤波器小于输入数据数组,这允许相同的滤波器(或权重数组)在cnn的输入端的不同点乘以输入数据数组多次。cnn可以包括多个卷积层,以提取原始图像数据的不同细节。
[0044]
现有的ipp,如基于可训练引导滤波器和深度双边学习的ipp,使用cnn将缩小的图像还原到其原始大小。尽管这种基于cnn的ipp在颜色空间转换和还原后提供了适当的图像分辨率,但它们具有高复杂性,在捕获的图像具有高于1080p的分辨率的情况下可能无法提供实时性能。
[0045]
下面讨论的本发明考虑了现有ipp的上述缺点,并旨在为图像源的原始图像的中间处理提供技术方案,而不导致严重的细节/质量损失,也不使用复杂的计算概念。
[0046]
图1示出了根据本发明的一个方面的图像处理装置100的示例性框图。如图1所示,装置100包括存储器102和耦合到存储器102的处理器104。存储器102存储将由处理器104执行以执行原始图像的中间处理的可执行指令106,这将在后面更详细地讨论。通常,装置100可以被认为是图像源与图像渲染器之间的中间体。同时,装置100可以与图像源和图像渲染器两者一起集成到一个用户设备中,或者与图像源和图像渲染器中的一个集成到一个用户设备中。
[0047]
存储器102可以实现为现代电子计算机器中使用的易失性或非易失性存储器。非易失性存储器的示例包括只读存储器(read-only memory,rom)、闪存、铁电随机存取存储器(random-access memory,ram)、可编程rom(programmable rom,prom)、电可擦除prom(electrically erasable prom,eeprom)、固态驱动器(solid state drive,ssd)、磁盘存储器(如硬盘和磁带)、光盘存储器(如cd、dvd和蓝光光盘)等。至于易失性存储器,其示例包括动态ram、同步dram(synchronous dram,sdram)、双数据速率sdram(double data rate sdram,ddr sdram)、静态ram等。
[0048]
相对于处理器104,它可以实现为中央处理器(central processing unit,cpu)、通用处理器、专用处理器、微控制器、微处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)、复杂可编程逻辑设备等。还应注意,处理器104可以实现为上述一个或多个的任何组合。作为示例,处理器104可以是两个或多个微处理器的组合。
[0049]
存储在存储器102中的可执行指令106可以用作使处理器104执行本发明的各方面的计算机可执行代码。用于执行本发明各方面的操作或步骤的计算机可执行代码可以用一种或多种编程语言的任何组合编写,例如java、c++等。在一些示例中,计算机可执行代码可以是高级语言的形式或预编译的形式,并由解释器(也预存储在存储器102中)动态生成。
[0050]
图2示出了根据本发明的另一方面的图像处理方法200的示例性框图。当处理器104执行装置100的存储器102的指令106时,使装置100的处理器104执行方法200。如图2所示,方法200从步骤s202开始,其中,处理器104从图像源接收原始图像。原始图像具有预定义大小和高分辨率,并且原始图像以图像源支持的第一颜色空间表示。然后,方法200执行步骤s204,其中,处理器104通过缩小第一颜色空间的原始图像,获得中间图像。之后,在步骤s206中,指示处理器104将中间图像从第一颜色空间转换到图像渲染器支持的第二颜色空间。方法200结束于步骤s208,其中,处理器104通过将转换后的中间图像放大到原始图像的预定义大小,同时提供还原图像的类似高分辨率,获得还原图像。在步骤s208中,指示处理器104通过使用卷积神经网络(convolutional neural network,cnn)执行所述放大,该卷积神经网络用于接收原始图像和转换后的中间图像作为输入,并基于输入返回还原图
像。同时,方法200中使用的cnn基于三元组的训练集进行预训练,每个三元组包括图像源的过去的原始图像,以及均与过去的原始图像相对应的转换后的过去的中间图像和过去的还原图像。通常,方法200表示基于cnn的ipp,其允许简化图像源与图像渲染器之间原始图像的中间处理,同时提供与原始图像相同或相似的还原图像分辨率。
[0051]
在一个实施例中,如果原始图像的预定义大小表示为(w,h),其中,w和h分别是以像素为单位的原始图像的宽度和高度,则处理器104用于在步骤s204中,执行所述缩小第一颜色空间的原始图像,使得中间图像具有表示为(w/4,h/4)的大小。然后,在步骤s206中,可以通过使用小于没有大小减小的计算资源量的计算资源来处理如此缩小的中间图像。但是,本发明不限于大小减小到(w/4,h/4),并且可以根据某些应用使用任何其它缩小比例。
[0052]
此外,步骤s204中的所述缩小原始图像可以通过使用任何传统的插值算法来执行。插值算法的一些示例包括三次、双三次、sinc、线性、lanczos和最近邻插值技术。
[0053]
图3示出了在方法200的步骤s208中使用的cnn 300的示例性框图。cnn 300包括第一提取块302、第二提取块304和解码块306。第一提取块302用于从图像源接收原始图像308,并从中提取高频分量。第二提取块304用于接收在方法200的步骤s206中从原始图像308获得的转换后的中间图像310,并从中提取低频分量。解码块306用于接收来自第一提取块302的高频分量和来自第二提取块304的低频分量,并将高频分量和低频分量合并为还原图像312。第一提取块302、第二提取块304和解码块306中的每一个可以包括至少一个神经元的2d卷积层。虽然cnn 300的设计与沙漏式自动编码器相似,但它确实不同,因为cnn 300的输出应基本上重复其输入。换句话说,cnn 300生成的还原图像312应具有与原始图像308的大小和分辨率相似的大小和分辨率。原始图像308与还原图像312之间的唯一区别是它们具有不同的颜色空间,即原始图像308以图像源支持的一个颜色空间表示,而还原图像312以图像渲染器支持的任何其它颜色空间表示。
[0054]
在一个实施例中,cnn 300中的第一提取块302和第二提取块304用于并行操作。这样做是为了减少分别从原始图像308和转换后的中间图像310提取高频分量和低频分量所需的时间。同时,提取块302和304的这种配置不应被视为对本发明的任何限制,并且可以根据某些应用替换为任何其它配置。
[0055]
如上所述,cnn 300应在用于方法200的步骤s208之前进行训练。该训练通过使用图4中示意性地示出的训练方法400来执行。与方法200类似,当处理器104执行装置100的存储器102的指令106时,使装置100的处理器104执行训练方法400。如图4所示,方法400从步骤s402开始,其中,处理器104获取图像源过去生成的一组过去的原始图像。更具体地,处理器104在所有过去的原始图像中选择那些在内容、分辨率和光照条件上与方法200的步骤s202中接收到的原始图像相似的原始图像。这可以使训练更高效。一旦选择了过去的原始图像的集合,方法400继续执行步骤s404,其中,指示处理器104通过使用过去的原始图像的集合生成三元组的训练集。下面参考图5更详细地描述了步骤s404。之后,在步骤s406中,指示处理器104通过使用三元组的训练集训练cnn 300。处理器104重复步骤s406,直到cnn 300的输出得到适当的结果。处理器104可以使用不同的传统监督训练算法来执行方法400的步骤s406,例如,作为反向传播算法。当步骤s406完成时,cnn 300准备好在方法200的步骤s208中使用。
[0056]
图5示出了构成方法400的步骤s404的子步骤的示例性流程图500。换句话说,子步
骤的流程图500用于生成三元组的训练集中包括的每个三元组。与方法200和400类似,当处理器104执行装置100的存储器102的指令106时,使装置100的处理器104执行子步骤的流程图500。更具体地,子步骤的流程图500从子步骤s502开始,其中,处理器104从在方法400的步骤s402中获取的一组过去的原始图像接收过去的原始图像。顾名思义,三元组包括三个元素,每个元素基于在子步骤s502中接收到的过去的原始图像获得。特别地,第一元素由过去的原始图像本身表示。第二元素由转换后的过去的中间图像表示,该转换后的过去的中间图像通过在子步骤s504中缩小第一颜色空间的过去的原始图像和通过在子步骤s506中将过去的中间图像从第一颜色空间转换到第二颜色空间而获得。第三元素由过去的还原图像表示,该过去的还原图像通过在子步骤s508中将过去的原始图像从第一颜色空间转换到第二颜色空间而获得。为了减少生成三元组所需的时间,子步骤s504、506和子步骤508可以并行执行。流程图500的最后子步骤是子步骤s510,其中,处理器104将过去的原始图像、转换后的过去的中间图像和过去的还原图像组合成三元组,即(过去的原始图像,转换后的过去的中间图像,过去的还原图像)。
[0057]
在一个实施例中,通过使用与方法200的步骤s204中使用的相同的插值算法来执行所述缩小流程图500的子步骤s504中的过去的原始图像。在另一个实施例中,子步骤s504和步骤s204中使用的插值算法不同。
[0058]
对于包括在方法400的步骤s402中获取的过去的原始图像集的每个过去的原始图像,重复子步骤s502-s510的上述流程图500。然后,在方法400的步骤s406中,所得到的三元组的训练集用于训练cnn 300。应注意,在cnn 300的训练期间,每个三元组的前两个元素,即过去的原始图像和转换后的过去的中间图像,被用作输入,而三元组的第三元素,即过去的还原图像,用作输出,或者换句话说,用作目标。
[0059]
图6和图7示出了本文公开的方法200与两种现有图像处理方法(如原始高分辨率(high resolution,hr)和双线性上采样)的比较结果。特别地,图6和图7各自从左到右示出了使用原始hr方法、方法200和双线性上采样方法获得的还原图像。可以看出,原始hr方法和方法200提供了相似分辨率的还原图像,这比双线性上采样方法提供的分辨率要好得多。同时,方法200相对于原始hr方法的优点是后者相当复杂,不适合对分辨率高于1080p的原始图像进行实时处理。
[0060]
本领域技术人员应理解,方法200、400的每个框或步骤,或流程图500的每个子步骤,或这些框或步骤或子步骤的任何组合,可以通过硬件、固件和/或软件等各种手段实现。作为示例,以上描述的框或步骤或子步骤中的一个或多个可以由计算机可执行指令、数据结构、程序模块和其它适当的数据表示来体现。此外,体现以上描述的框或步骤或子步骤的计算机可执行指令可以存储在对应的数据载体上,并由至少一个处理器(如装置100的处理器104)执行。该数据载体可以实现为可由至少一个处理器读取以执行计算机可执行指令的任何计算机可读存储介质。这种计算机可读存储介质可以包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而不是限制,计算机可读介质包括以任何适合存储信息的方法或技术实现的介质。更详细地,计算机可读介质的实际示例包括但不限于信息传递介质、ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字多功能光盘(digital versatile disc,dvd)、全息介质或其它光盘存储器、磁带、磁带盒、磁盘存储器和其它磁存储设备。
[0061]
尽管本文描述了本发明的示例性实施例,但应注意,在不偏离由所附权利要求所定义的法律保护范围的情况下,可以在本发明的实施例中进行任何各种改变和修改。在所附权利要求书中,词语“包括”不排除其它元件或步骤,术语“一”或者“一个”不排除多个。在互不相同的从属权利要求中列举某些措施并不表示这些措施的组合不能被有效地使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1