CN111726592B - 获取图像信号处理器的架构的方法和装置 - Google Patents

获取图像信号处理器的架构的方法和装置 Download PDF

Info

Publication number
CN111726592B
CN111726592B CN202010621932.3A CN202010621932A CN111726592B CN 111726592 B CN111726592 B CN 111726592B CN 202010621932 A CN202010621932 A CN 202010621932A CN 111726592 B CN111726592 B CN 111726592B
Authority
CN
China
Prior art keywords
processing module
optimized
architecture
processing
module
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
Application number
CN202010621932.3A
Other languages
English (en)
Other versions
CN111726592A (zh
Inventor
余可
李泽贤
彭悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202010621932.3A priority Critical patent/CN111726592B/zh
Publication of CN111726592A publication Critical patent/CN111726592A/zh
Application granted granted Critical
Publication of CN111726592B publication Critical patent/CN111726592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例提供一种获取图像信号处理器的架构的方法和装置,获取图像信号处理器中的多个处理模块;根据所述多个处理模块生成所述图像信号处理器的待优化架构;对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构。

Description

获取图像信号处理器的架构的方法和装置
技术领域
本公开涉及图像处理技术领域,尤其涉及获取图像信号处理器的架构的方法和装置。
背景技术
在数字相机中,图像信号处理器(Image Signal Processor,ISP)用于将图像传感器捕获的信号转换为人们能够感知和理解的图像。图像传感器的不同架构获得的图像处理效果往往是不同的,因此,为了获得较好的图像处理效果,有必要针对不同的场景采用不同的图像传感器架构。然而,传统的针对图像传感器的优化方式通常是采用固定的图像传感器架构,仅对架构的参数进行调整。
发明内容
本公开提供一种获取图像信号处理器的架构的方法和装置。
根据本公开实施例的第一方面,提供一种获取图像信号处理器的架构的方法,所述方法包括:获取图像信号处理器中的多个处理模块;根据所述多个处理模块生成所述图像信号处理器的待优化架构;对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述获取图像信号处理器中的多个处理模块,包括:在所述多个处理模块中的第一处理模块不可微分的情况下,获取所述第一处理模块对应的代理网络;和/或在所述多个处理模块中的第二处理模块可微分的情况下,获取所述第二处理模块。
在一些实施例中,所述待优化架构包括多级节点,所述多级节点中的每级节点包括所述多个处理模块中的每个处理模块;所述根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构,包括:根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述每级节点中的至少一个第一级节点还包括一个跳跃连接模块;所述跳跃连接模块用于在所述待优化架构中跳过与所述跳跃连接模块处于同一级的各个处理模块。
在一些实施例中,所述对所述待优化架构中的每个处理模块进行训练,包括:对所述待优化架构中的每个处理模块进行第一训练,以调整所述每个处理模块的权重;和/或对所述待优化架构中的每个处理模块进行第二训练,以调整所述每个处理模块的输入参数。
在一些实施例中,所述对所述待优化架构中的每个处理模块进行第一训练,包括:获取所述待优化架构的第一损失函数,根据所述第一损失函数分别对所述待优化架构中各个处理模块的输入参数进行更新;获取更新后的待优化架构的第二损失函数;根据所述第二损失函数,分别对所述待优化架构中的各个处理模块进行第一训练。
在一些实施例中,所述根据第i级节点的各个训练后的处理模块,确定所述第i级节点的第一目标处理模块,包括:将第i级节点的权重最大的处理模块作为所述第i级节点的第一目标处理模块。
在一些实施例中,所述方法还包括:在对所述待优化架构中的每个处理模块进行第一训练之后,根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块。
在一些实施例中,所述根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块,包括:将所述第i级节点包括的处理模块中优化权重小于所述第i级节点的权重阈值的处理模块作为所述第二目标处理模块删除掉。
在一些实施例中,所述第i级节点的权重阈值根据以下方式确定:将所述第i级节点包括的处理模块的最大权重与相对阈值的乘积确定为所述第i级节点的权重阈值。
在一些实施例中,所述对所述待优化架构中的每个处理模块进行第二训练,包括:获取所述待优化架构的第三损失函数;根据所述第三损失函数,对所述待优化架构中的每个处理模块进行第二训练。
在一些实施例中,所述多个处理模块中包括不可微分的至少一个第一处理模块对应的代理网络;所述对所述待优化架构中的每个处理模块进行训练,包括:在所述图像信号处理器执行特定任务的情况下,对各个处理模块在训练过程中得到的最新输出数据进行存储;根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整。
在一些实施例中,所述根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整,包括:对存储的最新输出数据进行采样,得到采样数据;将所述采样数据分别输入各个第一处理模块,获取各个第一处理模块的第一输出结果;将所述采样数据分别输入各个第一模块对应的代理网络,获取各个第一模块对应的代理网络的第二输出结果;根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练,包括:根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,获取第四损失函数;根据所述第四损失函数,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述方法还包括:在根据至少一个训练后的代理网络确定所述图像信号处理器的优化架构之后,对所述优化架构中包括的每个处理模块的输入参数进行调整。
根据本公开实施例的第二方面,提供一种获取图像信号处理器的架构的装置,所述装置包括:获取模块,用于获取图像信号处理器中的多个处理模块;生成模块,用于根据所述多个处理模块生成所述图像信号处理器的待优化架构;确定模块,用于对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述获取模块用于:在所述多个处理模块中的第一处理模块不可微分的情况下,获取所述第一处理模块对应的代理网络;和/或在所述多个处理模块中的第二处理模块可微分的情况下,获取所述第二处理模块。
在一些实施例中,所述待优化架构包括多级节点,所述多级节点中的每级节点包括所述多个处理模块中的每个处理模块;所述确定模块包括:第一确定单元,用于根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;第二确定单元,用于根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述每级节点中的至少一个第一级节点还包括一个跳跃连接模块;所述跳跃连接模块用于在所述待优化架构中跳过与所述跳跃连接模块处于同一级的各个处理模块。
在一些实施例中,所述确定模块用于:对所述待优化架构中的每个处理模块进行第一训练,以调整所述每个处理模块的权重;和/或对所述待优化架构中的每个处理模块进行第二训练,以调整所述每个处理模块的输入参数。
在一些实施例中,所述确定模块包括:更新单元,用于获取所述待优化架构的第一损失函数,根据所述第一损失函数分别对所述待优化架构中各个处理模块的输入参数进行更新;第一获取单元,用于获取更新后的待优化架构的第二损失函数;第一训练单元,用于根据所述第二损失函数,分别对所述待优化架构中的各个处理模块进行第一训练。
在一些实施例中,所述第一确定单元用于:将第i级节点的权重最大的处理模块作为所述第i级节点的第一目标处理模块。
在一些实施例中,所述装置还包括:删除模块,用于在对所述待优化架构中的每个处理模块进行第一训练之后,根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块。
在一些实施例中,所述删除模块用于:将所述第i级节点包括的处理模块中优化权重小于所述第i级节点的权重阈值的处理模块作为所述第二目标处理模块删除掉。
在一些实施例中,所述第i级节点的权重阈值根据以下方式确定:将所述第i级节点包括的处理模块的最大权重与相对阈值的乘积确定为所述第i级节点的权重阈值。
在一些实施例中,所述确定模块包括:第二获取单元,用于获取所述待优化架构的第三损失函数;第二训练单元,用于根据所述第三损失函数,对所述待优化架构中的每个处理模块进行第二训练。
在一些实施例中,所述多个处理模块中包括不可微分的至少一个第一处理模块对应的代理网络;所述确定模块包括:存储单元,用于在所述图像信号处理器执行特定任务的情况下,对各个处理模块在训练过程中得到的最新输出数据进行存储;调整单元,用于根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整。
在一些实施例中,所述调整单元包括:采样子单元,用于对存储的最新输出数据进行采样,得到采样数据;第一输入子单元,用于将所述采样数据分别输入各个第一处理模块,获取各个第一处理模块的第一输出结果;第二输入子单元,用于将所述采样数据分别输入各个第一模块对应的代理网络,获取各个第一模块对应的代理网络的第二输出结果;训练子单元,用于根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述训练子单元用于:根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,获取第四损失函数;根据所述第四损失函数,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述装置还包括:调整模块,用于在根据至少一个训练后的代理网络确定所述图像信号处理器的优化架构之后,对所述优化架构中包括的每个处理模块的输入参数进行调整。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
根据本公开实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
本公开实施例通过获取图像信号处理器的多个处理模块,根据所述多个处理模块生成所述图像信号处理器的待优化架构,待优化架构中的每个处理模块可以分别优化,从而使得整个待优化架构可以根据实际情况可调整,解决了图像信号处理器的架构固定的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是本公开实施例的获取图像信号处理器的架构的方法的流程图。
图2是本公开实施例的待优化架构的示意图。
图3是本公开实施例的代理网络微调过程的示意图。
图4是本公开实施例的获取图像信号处理器的架构的方法的整体流程的示意图。
图5是本公开实施例的获取图像信号处理器的架构的装置的框图。
图6是本公开实施例的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
在数字相机中,图像信号处理器(Image Signal Processor,ISP)用于将图像传感器捕获的原始图像(raw image)转换为人们能够感知和理解的图像(例如,RGB(Red GreenBlue,红绿蓝)图像),是相机(如单反相机,手机相机)等图像采集设备中不可或缺的组成部分。图像信号处理器包括多个处理模块,所述多个处理模块按照某种顺序依次串联,构成图像信号处理器的一种架构,也称为一条流水线(pipeline)。所述多个处理模块采用不同的连接方式,构成图像信号处理器的不同架构。在实际应用中,不同的处理模块会针对图像的噪声、色彩、亮度、变形和格式中的至少一者做不同的处理,因此,图像传感器的不同架构获得的图像处理效果往往是不同的。因此,为了获得较好的图像处理效果,有必要针对不同的场景采用不同的图像传感器架构,即,对图像传感器中所采用的每个处理模块及其连接方式进行优化。
然而,一些传统的对图像信号处理器的优化方式将图像传感器的架构固定,即,将图像信号处理器中的处理模块按照固定顺序依次连接,或者用深度神经网络来近似特定的图像信号处理器架构。这种固定的图像信号处理器架构在实际应用中效果不好,因为在实际应用中图像传感器、图像拍摄场景和图像信号处理器所处理的任务都是多种多样的。目前为止,仍缺乏一种能够高效地对图像传感器的架构进行调整的方式。
基于此,本公开实施例提供一种获取图像信号处理器的架构的方法,如图1所示,所述方法可包括:
步骤101:获取图像信号处理器中的多个处理模块;
步骤102:根据所述多个处理模块生成所述图像信号处理器的待优化架构;
步骤103:对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构。
在步骤101中,图像信号处理器中的每个处理模块可以执行一种图像处理算法,从而对图像信号处理器的输入图像进行处理。在实际应用中,所述处理可以包括但不限于去噪处理(denoising)、去马赛克处理(demosaicing)、伽马校正处理(gamma correction)、色调映射处理(tone mapping)和白平衡处理(white balance)等中的至少一种。去噪处理是指减少图像中的噪声。去马赛克处理用于将传感器中的拜耳滤波器产生的原始图像转换为RGB格式的三通道图。伽马校正用于将大范围的图像压缩成有限范围的图像。色调映射用于突出图像中较暗的部分或者较亮的部分。白平衡处理用于处理由不同传感器灵敏度和光照条件引起的色彩分布,从而恢复处理对象在自然场景下的真实色彩。在实际应用中,图像信号处理器中还可以根据需要包括用于黑电平校正处理(black level correction)、镜头校正处理(lens shading correction)中的至少一者的处理模块,此处不再赘述。
由于不同的处理算法的复杂度以及处理效果往往不同,因此,图像信号处理器中进行一种图像处理的处理模块的数量可以是一个或多个。例如,图像信号处理器包括用于执行灰度世界(Grayworld)算法的处理模块A和用于执行白点检测(Whitepatch)算法的处理模块B,这两个处理模块都用于进行白平衡处理。
一个处理模块可微分是指该处理模块所执行的处理算法可微分。一些算法是严格可微的,因此可以用端到端方式来进行优化。而由于图像信号处理器的处理模块常常需要执行不可微分的算法,例如,查表算法、排序算法等,导致在架构和参数优化上存在困难。为了克服上述问题,可以在所述多个处理模块中的第一处理模块不可微分的情况下,获取所述第一处理模块对应的代理网络,每个可微分的代理网络用于近似表示图像信号处理器中一个不可微分的第一处理模块。可以在所述多个处理模块中的第二处理模块可微分的情况下,获取所述第二处理模块。可选地,代理网络可以是一个神经网络。
在步骤102中,所述待优化架构可以包括多级节点,每级节点均包括所述多个处理模块中的每个处理模块。假设所述多个处理模块的数量为N,则每级节点可包括N个并行的处理模块。如图2所示,是本公开实施例的待优化架构的示意图,每一个图形(正方形,圆形等)代表一个处理模块或该处理模块对应的可微分的代理网络,其中,在所述处理模块为不可微分的第一处理模块的情况下,所述图形代表所述第一处理模块对应的代理网络;在所述处理模块为可微分的第二处理模块的情况下,所述图形代表所述第二处理模块本身。多个处理模块共同构成一个超网络。该超网络包含K级节点,即,超网络共K层,每一层可称为一个step。可选地,K=5。超网络的层数K是可调的,K的值决定了图像信号处理器中的处理模块的数量。各个处理模块在每级节点中重复出现,相邻两级节点之间的各个处理模块可以是全连接的,即这个超网络可视为一个冗余的图像信号处理器。
假设图像信号处理器中的处理模块所采用的所有算法构成一个算法池,令
Figure BDA0002563323160000101
表示算法池中的第j种算法对应的处理模块,fj表示
Figure BDA0002563323160000102
的代理网络。假设
Figure BDA0002563323160000103
可微分,则该处理模块不需要做任何改变,即,
Figure BDA0002563323160000104
假设
Figure BDA0002563323160000105
不可微分,则需要采用代理网络fj来模拟
Figure BDA0002563323160000106
的性能。
通过对代理网络进行训练,并在训练过程中基于预先选定的损失函数对代理网络进行优化处理,从而使代理网络的输出结果逼近对应的处理模块的输出结果。为了保证对于不同的训练图像X和输入参数pj代理网络都与对应的处理模块相似,在训练代理网络的过程中,可以采用诸如随机采样等方式对代理网络的输入参数以及用于训练该代理网络的训练集中的训练图像进行采样。令Lp表示代理网络模拟处理模块的精确度损失函数,该损失函数可以是L1损失函数或者L2损失函数,还可以是其他损失函数。对第j个代理网络进行优化的目标函数记为:
Figure BDA0002563323160000111
其中,pj表示第j个代理网络的输入参数,wj表示第j个代理网络的网络参数。在代理网络为神经网络的情况下,所述网络参数可以是卷积核参数。在上述架构下,第k(1≤k≤K)级节点的输出结果记为:
Figure BDA0002563323160000112
其中,αkj表示第k级节点包括的第j个处理模块的权重,pkj表示第k级节点包括的第j个处理模块的输入参数。一个处理模块的权重用于表示所述处理模块被选为目标处理模块的可能性的大小。在同一层节点的各个处理模块中,一个处理模块的权重越大,该处理模块被选为这一层节点的目标处理模块的可能性越大。同理,在同一层节点的各个处理模块中,一个处理模块的权重越小,该处理模块被选为这一层节点的目标处理模块的可能性越小。需要说明的是,所有的权重都是非负数,同一层节点包括的各个处理模块的权重之和为1,即:
Figure BDA0002563323160000113
进一步地,不同的处理模块的有效数据域不同,例如,数据域包括标准色彩空间(standard Red Green Blue,sRGB)数据域以及原始(RAW)数据域,用于表示一个处理模块的输入数据是RGB格式或者RAW格式。例如,为sRGB图像设计的算法不能在RAW数据域工作,从而采用该算法的处理模块的有效数据域不包括RAW数据域。因此,需要确定每级节点的有效处理模块,然后设计有效索引V的集合。如果(k,j)∈V,则第j个处理模块是节点k上的有效处理模块,每个有效处理模块被分配一个权重。
在本步骤中,可以基于给定的目标场景,对每个处理模块进行优化处理。所述目标场景可以包括任务处理场景、图像采集场景和硬件场景中的至少一种。其中,任务处理场景是指图像信号处理器所执行的任务,例如,目标检测任务或者图像修复任务等。图像采集场景用于表征图像处理器采集图像时所处的环境(包括光照条件和/或能见度等),例如,白天场景、夜晚场景、大雾场景、沙暴场景等。硬件场景是指图像处理器中使用的硬件的类型,所述硬件可以包括图像传感器等。由于不同的架构适用于不同的场景,因此,基于给定的目标场景来进行优化处理,能够获得针对特定场景的较优的图像信号处理器架构,从而提高图像处理效果。不同的场景可采用不同的损失函数。例如,对于图像修复任务,可以采用L2损失函数,即损失函数
Figure BDA0002563323160000121
其中,
Figure BDA0002563323160000122
表示所述待优化架构对给定训练图像的预测标签,Y表示所述训练对象对应的真实标签。标签取决于图像信号处理器所执行的任务,例如,对于画质增强任务,所述标签可以是参考图像;对于目标检测任务,所述标签可以是检测对象的类别或者位置。对于目标检测任务,损失函数由二元交叉熵(Binary Cross Entropy,BCE)损失函数和均方误差(Mean Square Error,MSE)损失函数构成。对于其他任务,也可以采用其他损失函数,此处不再赘述。
在一些实施例中,可以分别从待优化架构的每级节点所包括的处理模块中,选择该级节点的目标处理模块,然后将每级节点对应的目标处理模块用于步骤103中确定所述图像信号处理器的优化架构。
在一些实施例中,所述每级节点还包括一个跳跃连接(skip connection)模块,所述跳跃连接模块用于在所述待优化架构中跳过与所述跳跃连接模块处于同一级的各个处理模块。跳跃连接模块仅用于将上一级节点的处理模块的输出数据直接传递至下一级节点的处理模块,而不对所述输出数据进行处理。通过这种方式,能够调整最终得到的优化架构的长度。假设所述多个处理模块的数量为N,在包括跳跃连接模块的情况下,每级节点包括N+1个模块,其中N个为处理模块,剩下的1个为跳跃连接模块。在包括跳跃连接模块的情况下,相邻两层节点之间的各个处理模块也可以是全连接的,每个跳跃连接模块也包括一个权重,同一层节点包括的各个处理模块与跳跃连接模块的权重之和等于1。
在这种情况下,可以根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
对所述待优化架构中的每个处理模块进行训练,可包括以下至少一者:对所述待优化架构中的每个处理模块进行第一训练,以调整所述每个处理模块的权重;以及对所述待优化架构中的每个处理模块进行第二训练,以调整所述每个处理模块的输入参数。
在一些实施例中,所述对所述待优化架构中的每个处理模块进行第一训练,包括:获取所述待优化架构的第一损失函数,根据所述第一损失函数分别对所述待优化架构中各个处理模块的输入参数进行更新;获取更新后的待优化架构的第二损失函数;根据所述第二损失函数,分别对所述待优化架构中的各个处理模块进行第一训练。
可以通过第一训练集确定所述第一损失函数,例如,可以从第一训练集中随机选取一张训练图像作为所述待优化架构的输入图像,然后获取所述待优化架构的输出标签,确定所述输出结果与该训练图像对应的真实标签的差异,根据所述差异确定所述第一损失函数。类似地,可以通过验证集确定所述第二损失函数。
所述第一损失函数和第二损失函数可以是相同的损失函数,也可以是不同的损失函数,例如,所述第一损失函数和所述第二损失函数均为L2损失函数。可以将原始训练集划分为两个子集,一个子集作为所述第一训练集,另一个子集作为所述验证集。然后,可以计算所述第二损失函数关于每个处理模块的权重的梯度;分别根据所述第二损失函数关于各个处理模块的权重的梯度,对所述待优化架构中的对应处理模块进行第一训练。第k级节点包括的第j个处理模块的优化后的权重
Figure BDA0002563323160000141
可表示为如下形式:
Figure BDA0002563323160000142
其中,
Figure BDA0002563323160000143
式中,▽表示哈密顿算子,L表示处理模块的输出结果与真实结果之间的损失函数,p表示待优化架构的所有输入参数的集合,ξ和γ分别表示第一学习率和第二学习率,α表示待优化架构的所有权重参数的集合,Xval和Xtrain分别表示所述验证集和第一训练集中的图像,
Figure BDA0002563323160000144
Figure BDA0002563323160000145
分别表示所述待优化架构对验证集和第一训练集中的图像的预测标签,Yval和Ytrain分别表示所述验证集和第一训练集中的图像的真实标签。
代理网络的输入参数即为该代理网络所表示的处理模块的输入参数,例如,白平衡算法中白点(white point)的参考值,或者中值滤波器的滤波器大小等。在一些实施例中,所述对所述待优化架构中的每个处理模块进行第二训练,包括:获取所述待优化架构的第三损失函数;根据所述第三损失函数,对所述待优化架构中的每个处理模块进行第二训练。
可以通过第二训练集确定所述第三损失函数。然后,计算所述第三损失函数关于每个处理模块的输入参数的梯度;根据所述第三损失函数关于每个处理模块的输入参数的梯度,对所述待优化架构中的每个处理模块进行第二训练。第k级节点包括的第j个处理模块的优化后的输入参数
Figure BDA0002563323160000151
可表示为:
Figure BDA0002563323160000152
其中,
Figure BDA0002563323160000153
在一些实施例中,所述第一训练和/或第二训练可以包括多次迭代训练过程,直到满足迭代终止条件。所述迭代终止条件可以是迭代次数达到预设次数,或者处理模块收敛,或者是其他条件。在每次迭代过程中,处理模块的输入参数与权重可以交替调整。其中,处理模块的输入参数与权重在一次迭代过程中的调整顺序本公开不做限制,既可以先调整输入参数,也可以先调整权重。在一些实施例中,可以将迭代终止时第i级节点包括的权重最大的处理模块作为所述第i级节点的第一目标处理模块,i为正整数。
前述搜索算法在实际应用中仍然很耗时,因为超网络的结构比较复杂,每种算法在每级节点都重复执行,导致计算量巨大。为了减轻计算负担,可以在优化过程中,根据处理模块的权重,对每级节点上的处理模块进行筛选,以删除每级节点上的不符合条件的第二目标处理模块,这种方式成为在线裁剪(online pruning)。具体地,可以设置一个权重阈值,将第i级节点包括的小于该权重阈值的权重对应的处理模块作为第i级节点的第二目标处理模块。可选地,每级节点可以采用相同的权重阈值,即,无论处理模块在哪一级节点上,只要其权重小于该权重阈值,就将其删除。然而,这种方式对优化超参数比较敏感,并且具有随机性,裁剪结果在不同的试验中可能不一样。
为了解决上述问题,可以为每级节点分别设置一个权重阈值,将第i级节点包括的处理模块中优化权重小于第i级节点的权重阈值的处理模块作为所述第i级节点的第二目标处理模块。在一些实施例中,可以将所述第i级节点包括的处理模块的最大权重与相对阈值的乘积确定为所述第i级节点的权重阈值。在这种情况下,在线裁剪机制可表示为:
Figure BDA0002563323160000161
其中,η∈(0,1)为相对阈值,可以根据实际需要进行调整。
在一些实施例中,代理网络训练过程中使用的训练数据与图像信号处理器执行图像处理任务时的输入数据之间存在差异。而且,第k级节点输出的中间结果Xk是多个代理网络的输出结果的结合,该中间结果的取值在代理网络训练过程中是不可见的。因此,在所述多个处理模块中包括不可微分的至少一个第一处理模块对应的代理网络的情况下,代理网络有时并不能逼近原始处理模块。为了解决这个问题,可以采用代理微调机制,即,用训练过程中最新观测到的中间结果来对代理网络进行微调。
具体来说,可以在所述图像信号处理器执行特定任务的情况下,对各个处理模块在训练过程中得到的最新输出数据进行存储;根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整。这一步骤需要对每种不同的任务分别执行,例如,通过图像信号处理器执行图像修复任务时的最新输出数据对执行图像修复任务时的网络参数进行调整;通过图像信号处理器执行目标检测任务时的最新输出数据对执行目标检测任务时的网络参数进行调整。在迭代训练过程中,可以每迭代tp次,执行一次代理网络微调,tp为正整数。
特别地,在如图3所示的代理网络微调过程中,可以建立数据存储单元M来存储超网络的中间输出结果Xk。数据存储单元被组织成一个队列,最大容量为|M|max。在每次迭代过程中,中间结果X1,…,XK被增加到队列中,如果队列满了,可以将历史过程中获取的中间输出结果移出队列。每迭代tp次,将从队列中随机采样的一块数据Xm(Xm可能是当前迭代的中间结果,也可以是数据存储单元M中存储的历史迭代的中间结果)从数据存储单元中随机采样出来,然后通过反向传播来对代理网络的网络参数进行优化,优化后的网络参数
Figure BDA0002563323160000171
可表示为:
Figure BDA0002563323160000172
其中,
Figure BDA0002563323160000173
Figure BDA0002563323160000174
表示第j个代理网络的优化后的输入参数。
图4示出了本公开实施例的获取图像信号处理器的架构的方法的整体流程。其中虚线左侧代表准备阶段,虚线右侧代表架构调整和参数调整阶段(架构调整和参数调整也可分别称为架构搜索和参数搜索)。在准备阶段中,首先需要确定图像信号处理器的若干个备选算法(称为算法池)。根据算法的输入数据和输出数据的数据域,可将这些算法划分为三大类,记RAW为图像传感器数据域,sRGB为标准RGB数据域,这三大类算法分别完成RAW数据域到RAW数据域的映射,RAW数据域到sRGB数据域的映射,以及sRGB数据域到sRGB数据域的映射。然后对于其中每种不可微分的算法对应的第一处理模块,训练一个代理网络用于近似表示该第一处理模块。在准备阶段结束后,可以开始实施架构搜索和参数搜索。
初始化每个处理模块的输入参数{pkj}和权重αkj,初始化数据存储单元M为空,令存储单元的大小为|M|max。确定学习率γ、总迭代次数T,相邻两次代理网络微调之间相隔的迭代次数(称为微调间距)tp等,tp可以根据经验值设定。开始进行迭代,循环执行以下步骤:
(1)对训练集进行随机采样,得到Xtrain,Ytrain,Xval和Yval
(2)更新每个处理模块的权重。
(3)更新每个处理模块的输入参数。
(4)在数据存储单元M中加入当前训练过程中每个节点输出的图像数据,这些数据将用于代理网络微调。
(5)对超网络进行在线裁剪。图中灰色的实线表示在线裁剪过程,灰色的图形(例如图3中的方形A和圆形B)表示在线裁剪过程中被裁剪掉的代理网络。
(6)(每隔若干次迭代之后执行)从数据存储单元M中采样数据,微调代理网络,一个代理网络微调过程中采用的损失函数与该代理网络训练过程中采用的损失函数可以相同。
以上算法中内循环的步骤可调换顺序,比如步骤(2)中更新权重和步骤(3)中更新输入参数的步骤顺序可互换;比如步骤(5)中进行在线裁剪和步骤(6)中进行代理网络微调的步骤顺序可互换。例如,每次循环时可以先执行步骤(2),再执行步骤(3),也可以先执行步骤(3),再执行步骤(2)。又例如,在第一次循环时可以先执行步骤(2),再执行步骤(3),在第二次循环时可以先执行步骤(3),再执行步骤(2)。
上述过程针对未包括跳跃连接模块时的处理方式进行说明,由于包括跳跃连接模块时的处理方式与未包括跳跃连接模块时的处理方式类似,包括跳跃连接模块时的处理方式可参照未包括跳跃连接模块时的处理方式,此处不再赘述。例如,在设置权重时,每个处理模块与每个跳跃连接模块都设置一个权重,用于表示将跳跃连接模块或者处理模块选择为目标模块的概率,同一级节点包括的跳跃连接模块和各个处理模块的权重之和为1。然后,通过训练将权重最大的跳跃连接模块或者处理模块选择为每级节点的第一目标处理模块,例如,在第i级节点的跳跃连接模块权重最大的情况下,将第i级节点的跳跃连接模块作为所述第i级节点的第一目标处理模块;又例如,在第i级节点的处理模块A权重最大的情况下,将第i级节点的处理模块A作为所述第i级节点的第一目标处理模块。然后,根据每级节点的第一目标处理模块来确定图像信号处理器的架构。
在架构搜索完成后,第i级节点选取权重最大的处理模块作为第一目标处理模块,去除其他处理模块,第k级节点的第一目标处理模块的索引为ak=arg maxj αkj,第k级节点的第一目标处理模块记为fak。各个第一目标处理模块按照对应代理网络所在层级依次相连,得到图像信号处理器的优化架构,此时图像信号处理器的架构已经确定。应当说明的是,该优化架构中的各个第一目标处理模块均为原处理模块,例如,在第一目标处理模块为代理网络的情况下,将该代理网络对应的第一处理模块作为对应的第一目标处理模块。
对于优化架构,输入参数并不是最优的,因为在超网络的每级节点中仍然有多个代理网络没有被裁剪掉。因此,我们进一步为优化架构调整算法参数。
第k级节点的输入数据记为:
Xk=fak(Xk-1,pak;wak);
其中,pak是期望优化的参数,wak表示代理微调后的网络参数。不断对优化架构中各个处理模块的网络参数进行调整,直至收敛。
本公开实施例可用于进行各种图像信号处理器的架构搜索。例如,当希望手机在暗光下拍照依然清晰时,可拍摄若干张正常曝光的图片和长曝光的图片,正常曝光的图片作为输入图片,长曝光的图片用于弥补光线不足,作为标签,用本公开实施例的方法进行图像信号处理器的架构搜索和参数搜索,即可以得到一个适于暗光拍摄的图像信号处理器架构。
上述过程可在图像信号处理器出厂前完成,确定好的架构以及每种架构适用的场景可以对应存储在预设的存储空间中。用户在使用相机过程中,可以直接输入场景信息,图像信号处理器可以根据输入的场景信息切换到对应的架构和参数。切换过程中只需要通过用有限的数据来调整几百个参数,即可适用于不同的场景。
本公开具有以下优点:
(1)采用多个代理网络,每个代理网络分别模拟图像信号处理器中的一个处理模块,搜索到的图像信号处理器架构中包括多个充分可解释的白盒模块。相比于用一个黑盒深度网络来代替整个图像信号处理器的方案具有更好的可解释性,便于纠错与调节。
(2)采用可微分代理网络替代原有不可微分的算法模块,进行全自动的架构搜索和参数搜索,无需采用耗时较长的强化学习等方式对不可微分的处理模块进行训练,提高了架构获取效率。另外,通过在线裁剪机制逐步对不适合的代理网络进行裁剪,进一步提高了架构获取效率。
(3)通过代理微调机制,使得搜索出来的架构适用于不同的任务,对不同的训练集和任务都具有鲁棒性,可针对不同的任务(如画质增强,目标检测等)专门设计特定的架构和参数,使得代理网络更准确地逼近原有算法模块,提高了搜索性能。
(4)架构可扩展。任何新的处理算法,无论是可微分的还是不可微分的,都可以添加到算法池作为处理模块的候选算法。
(5)架构通用性强,可适用于所有可端到端训练的任务(例如语义分割、图像分类等),不局限于画质增强和目标检测任务。
(6)只要通过用有限的数据来调整数量较少的参数,该框架就可以适用于不同的场景。
(7)传统的采用黑盒模型的优化方式需要针对目标任务采用较多的训练数据进行模型训练,而本公开的架构获取方式在架构搜索、参数搜索和代理微调的过程中,所需数据较少,因此,对不同的目标任务只需采用较少的训练数据,减少了训练数据的数量。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
如图5所示,本公开还提供一种图像处理装置,所述装置包括:
获取模块501,用于获取图像信号处理器中的多个处理模块;
生成模块502,用于根据所述多个处理模块生成所述图像信号处理器的待优化架构;
确定模块503,用于对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述获取模块用于:在所述多个处理模块中的第一处理模块不可微分的情况下,获取所述第一处理模块对应的代理网络;和/或在所述多个处理模块中的第二处理模块可微分的情况下,获取所述第二处理模块。
在一些实施例中,所述待优化架构包括多级节点,所述多级节点中的每级节点包括所述多个处理模块中的每个处理模块;所述确定模块包括:第一确定单元,用于根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;第二确定单元,用于根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
在一些实施例中,所述每级节点中的至少一个第一级节点还包括一个跳跃连接模块;所述跳跃连接模块用于在所述待优化架构中跳过与所述跳跃连接模块处于同一级的各个处理模块。
在一些实施例中,所述确定模块用于:对所述待优化架构中的每个处理模块进行第一训练,以调整所述每个处理模块的权重;和/或对所述待优化架构中的每个处理模块进行第二训练,以调整所述每个处理模块的输入参数。
在一些实施例中,所述确定模块包括:更新单元,用于获取所述待优化架构的第一损失函数,根据所述第一损失函数分别对所述待优化架构中各个处理模块的输入参数进行更新;第一获取单元,用于获取更新后的待优化架构的第二损失函数;第一训练单元,用于根据所述第二损失函数,分别对所述待优化架构中的各个处理模块进行第一训练。
在一些实施例中,所述第一确定单元用于:将第i级节点的权重最大的处理模块作为所述第i级节点的第一目标处理模块。
在一些实施例中,所述装置还包括:删除模块,用于在对所述待优化架构中的每个处理模块进行第一训练之后,根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块。
在一些实施例中,所述删除模块用于:将所述第i级节点包括的处理模块中优化权重小于所述第i级节点的权重阈值的处理模块作为所述第二目标处理模块删除掉。
在一些实施例中,所述第i级节点的权重阈值根据以下方式确定:将所述第i级节点包括的处理模块的最大权重与相对阈值的乘积确定为所述第i级节点的权重阈值。
在一些实施例中,所述确定模块包括:第二获取单元,用于获取所述待优化架构的第三损失函数;第二训练单元,用于根据所述第三损失函数,对所述待优化架构中的每个处理模块进行第二训练。
在一些实施例中,所述多个处理模块中包括不可微分的至少一个第一处理模块对应的代理网络;所述确定模块包括:存储单元,用于在所述图像信号处理器执行特定任务的情况下,对各个处理模块在训练过程中得到的最新输出数据进行存储;调整单元,用于根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整。
在一些实施例中,所述调整单元包括:采样子单元,用于对存储的最新输出数据进行采样,得到采样数据;第一输入子单元,用于将所述采样数据分别输入各个第一处理模块,获取各个第一处理模块的第一输出结果;第二输入子单元,用于将所述采样数据分别输入各个第一模块对应的代理网络,获取各个第一模块对应的代理网络的第二输出结果;训练子单元,用于根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述训练子单元用于:根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,获取第四损失函数;根据所述第四损失函数,对所述第一处理模块对应的代理网络进行训练。
在一些实施例中,所述装置还包括:调整模块,用于在根据至少一个训练后的代理网络确定所述图像信号处理器的优化架构之后,对所述优化架构中包括的每个处理模块的输入参数进行调整。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
本公开实施例还包括一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器601、存储器602、输入/输出接口603、通信接口604和总线605。其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
处理器601可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器602可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行。
输入/输出接口603用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口604用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线605包括一通路,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器601、存储器602、输入/输出接口603、通信接口604以及总线605,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (17)

1.一种获取图像信号处理器的架构的方法,其特征在于,所述方法包括:
获取图像信号处理器中的多个处理模块;
根据所述多个处理模块生成所述图像信号处理器的待优化架构;所述待优化架构包括多级节点,所述多级节点中的每级节点包括所述多个处理模块中的每个处理模块;
对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构,具体包括:根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
2.根据权利要求1所述的方法,其特征在于,所述获取图像信号处理器中的多个处理模块,包括:
在所述多个处理模块中的第一处理模块不可微分的情况下,获取所述第一处理模块对应的代理网络;和/或
在所述多个处理模块中的第二处理模块可微分的情况下,获取所述第二处理模块。
3.根据权利要求1所述的方法,其特征在于,所述每级节点中的至少一个第一级节点还包括一个跳跃连接模块;
所述跳跃连接模块用于在所述待优化架构中跳过与所述跳跃连接模块处于同一级的各个处理模块。
4.根据权利要求1所述的方法,其特征在于,所述对所述待优化架构中的每个处理模块进行训练,包括:
对所述待优化架构中的每个处理模块进行第一训练,以调整所述每个处理模块的权重;和/或
对所述待优化架构中的每个处理模块进行第二训练,以调整所述每个处理模块的输入参数。
5.根据权利要求4所述的方法,其特征在于,所述对所述待优化架构中的每个处理模块进行第一训练,包括:
获取所述待优化架构的第一损失函数,根据所述第一损失函数分别对所述待优化架构中各个处理模块的输入参数进行更新;
获取更新后的待优化架构的第二损失函数;
根据所述第二损失函数,分别对所述待优化架构中的各个处理模块进行第一训练。
6.根据权利要求4所述的方法,其特征在于,所述根据第i级节点的各个训练后的处理模块,确定所述第i级节点的第一目标处理模块,包括:
将第i级节点的权重最大的处理模块作为所述第i级节点的第一目标处理模块。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在对所述待优化架构中的每个处理模块进行第一训练之后,根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第i级节点包括的各个处理模块的权重,从所述第i级节点包括的各个处理模块中删除第二目标处理模块,包括:
将所述第i级节点包括的处理模块中优化权重小于所述第i级节点的权重阈值的处理模块作为所述第二目标处理模块删除掉。
9.根据权利要求8所述的方法,其特征在于,所述第i级节点的权重阈值根据以下方式确定:
将所述第i级节点包括的处理模块的最大权重与相对阈值的乘积确定为所述第i级节点的权重阈值。
10.根据权利要求4所述的方法,其特征在于,所述对所述待优化架构中的每个处理模块进行第二训练,包括:
获取所述待优化架构的第三损失函数;
根据所述第三损失函数,对所述待优化架构中的每个处理模块进行第二训练。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述多个处理模块中包括不可微分的至少一个第一处理模块对应的代理网络;
所述对所述待优化架构中的每个处理模块进行训练,包括:
在所述图像信号处理器执行特定任务的情况下,对各个处理模块在训练过程中得到的最新输出数据进行存储;
根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整。
12.根据权利要求11所述的方法,其特征在于,所述根据存储的最新输出数据,对所述至少一个第一处理模块中每个第一处理模块的代理网络的网络参数进行调整,包括:
对存储的最新输出数据进行采样,得到采样数据;
将所述采样数据分别输入各个第一处理模块,获取各个第一处理模块的第一输出结果;
将所述采样数据分别输入各个第一模块对应的代理网络,获取各个第一模块对应的代理网络的第二输出结果;
根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,对所述第一处理模块对应的代理网络进行训练,包括:
根据所述第一处理模块的第一输出结果与所述第一处理模块对应的代理网络的第二输出结果,获取第四损失函数;
根据所述第四损失函数,对所述第一处理模块对应的代理网络进行训练。
14.根据权利要求1至10任意一项所述的方法,其特征在于,所述方法还包括:
在根据至少一个训练后的代理网络确定所述图像信号处理器的优化架构之后,对所述优化架构中包括的每个处理模块的输入参数进行调整。
15.一种获取图像信号处理器的架构的装置,其特征在于,所述装置包括:
获取模块,用于获取图像信号处理器中的多个处理模块;
生成模块,用于根据所述多个处理模块生成所述图像信号处理器的待优化架构;所述待优化架构包括多级节点,所述多级节点中的每级节点包括所述多个处理模块中的每个处理模块;
确定模块,用于对所述待优化架构中的每个处理模块进行训练,根据至少一个训练后的所述处理模块确定所述图像信号处理器的优化架构,具体包括:根据第i级节点的各个训练后的所述处理模块,确定所述第i级节点的第一目标处理模块;i为正整数;根据各级节点的第一目标处理模块确定所述图像信号处理器的优化架构。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至14任意一项所述的方法。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至14任意一项所述的方法。
CN202010621932.3A 2020-06-30 2020-06-30 获取图像信号处理器的架构的方法和装置 Active CN111726592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010621932.3A CN111726592B (zh) 2020-06-30 2020-06-30 获取图像信号处理器的架构的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010621932.3A CN111726592B (zh) 2020-06-30 2020-06-30 获取图像信号处理器的架构的方法和装置

Publications (2)

Publication Number Publication Date
CN111726592A CN111726592A (zh) 2020-09-29
CN111726592B true CN111726592B (zh) 2022-06-21

Family

ID=72570911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010621932.3A Active CN111726592B (zh) 2020-06-30 2020-06-30 获取图像信号处理器的架构的方法和装置

Country Status (1)

Country Link
CN (1) CN111726592B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922609B2 (en) 2021-03-17 2024-03-05 Huawei Technologies Co., Ltd. End to end differentiable machine vision systems, methods, and media

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105020A (ja) * 1993-06-15 1995-04-21 Xerox Corp パイプライン化画像処理システム
JP2006215880A (ja) * 2005-02-04 2006-08-17 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
CN106022245A (zh) * 2016-05-16 2016-10-12 中国资源卫星应用中心 一种基于算法分类的多源遥感卫星数据并行处理系统及方法
CN108537019A (zh) * 2018-03-20 2018-09-14 努比亚技术有限公司 一种解锁方法及装置、存储介质
CN109840590A (zh) * 2019-01-31 2019-06-04 福州瑞芯微电子股份有限公司 一种基于神经网络的场景分类电路架构和方法
WO2020124374A1 (zh) * 2018-12-18 2020-06-25 深圳市大疆创新科技有限公司 图像处理方法、终端设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105020A (ja) * 1993-06-15 1995-04-21 Xerox Corp パイプライン化画像処理システム
JP2006215880A (ja) * 2005-02-04 2006-08-17 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
CN106022245A (zh) * 2016-05-16 2016-10-12 中国资源卫星应用中心 一种基于算法分类的多源遥感卫星数据并行处理系统及方法
CN108537019A (zh) * 2018-03-20 2018-09-14 努比亚技术有限公司 一种解锁方法及装置、存储介质
WO2020124374A1 (zh) * 2018-12-18 2020-06-25 深圳市大疆创新科技有限公司 图像处理方法、终端设备及存储介质
CN109840590A (zh) * 2019-01-31 2019-06-04 福州瑞芯微电子股份有限公司 一种基于神经网络的场景分类电路架构和方法

Also Published As

Publication number Publication date
CN111726592A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
US11544831B2 (en) Utilizing an image exposure transformation neural network to generate a long-exposure image from a single short-exposure image
CN111179311B (zh) 多目标跟踪方法、装置及电子设备
CN111738357B (zh) 垃圾图片的识别方法、装置及设备
CN109522945B (zh) 一种群体情感识别方法、装置、智能设备及存储介质
CN110210513B (zh) 数据分类方法、装置及终端设备
CN113066017B (zh) 一种图像增强方法、模型训练方法及设备
CN110148088B (zh) 图像处理方法、图像去雨方法、装置、终端及介质
KR102042168B1 (ko) 시계열 적대적인 신경망 기반의 텍스트-비디오 생성 방법 및 장치
CN108876847B (zh) 图像定位方法、装置、系统和存储介质
CN111126278A (zh) 针对少类别场景的目标检测模型优化与加速的方法
KR20220065773A (ko) 정상 데이터로의 데이터 샘플 변환
CN110348453B (zh) 一种基于级联的物体检测方法及系统、存储介质及终端
CN112069338A (zh) 图片处理方法、装置、电子设备及存储介质
CN111726592B (zh) 获取图像信号处理器的架构的方法和装置
CN114299358A (zh) 图像质量评估方法、装置、电子设备及机器可读存储介质
CN110135428A (zh) 图像分割处理方法和装置
CN111242176B (zh) 计算机视觉任务的处理方法、装置及电子系统
US11127199B2 (en) Scene model construction system and scene model constructing method
CN115294405B (zh) 农作物病害分类模型的构建方法、装置、设备及介质
CN108876853B (zh) 图像定位方法、装置、系统和存储介质
CN115238134A (zh) 用于生成图数据结构的图向量表示的方法及装置
CN114841887A (zh) 一种基于多层次差异学习的图像恢复质量评价方法
CN112131995A (zh) 一种动作分类方法、装置、计算设备、以及存储介质
CN112115991A (zh) 移动终端换机预测方法、装置、设备及可读存储介质
CN113344181B (zh) 神经网络的结构搜索方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant