CN110414546A - 使用中间损失函数训练图像信号处理器 - Google Patents

使用中间损失函数训练图像信号处理器 Download PDF

Info

Publication number
CN110414546A
CN110414546A CN201910239437.3A CN201910239437A CN110414546A CN 110414546 A CN110414546 A CN 110414546A CN 201910239437 A CN201910239437 A CN 201910239437A CN 110414546 A CN110414546 A CN 110414546A
Authority
CN
China
Prior art keywords
image
computer vision
signal processor
loss function
network
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.)
Pending
Application number
CN201910239437.3A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN110414546A publication Critical patent/CN110414546A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Robotics (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及使用中间损失函数训练图像信号处理器。在用于训练图像信号处理器的示例方法中,经由图像信号处理器基于传感器图像来生成重建图像。基于计算机视觉网络和计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。计算机视觉网络的输出基于重建图像。基于中间损失函数来训练图像信号处理器。

Description

使用中间损失函数训练图像信号处理器
技术领域
本公开涉及使用中间损失函数(loss function)训练图像信号处理器。
背景技术
图像信号处理器(ISP)可包括具有控制图像处理的多个参数的硬件和软件。例如,可以设计ISP,并且基于客观或主观的图像质量度量来调谐ISP的参数。ISP可以处理捕获的图像以用于计算机视觉任务。
发明内容
根据本公开的一方面,提供了一种用于训练图像信号处理器的装置,包括:待训练的图像信号处理器,所述图像信号处理器用于基于传感器图像来生成重建图像;中间损失函数生成器,所述中间损失函数生成器用于基于计算机视觉网络和所述计算机视觉网络的副本(copy)的一个或多个对应层的输出的比较来生成中间损失函数;以及参数修改器,所述参数修改器用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数。
根据本公开的另一方面,提供了一种用于训练图像信号处理器的方法,包括:经由图像信号处理器基于传感器图像来生成重建图像;经由处理器基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数,其中所述计算机视觉网络的输出基于所述重建图像;以及经由处理器基于所述中间损失函数来训练所述图像信号处理器。
根据本公开的又一方面,提供了一种用于训练图像信号处理器的系统,包括:用于基于传感器图像来生成重建图像的装置;用于基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数的装置;以及用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数的装置。
附图说明
图1是示出用于使用部分地基于中间损失函数的总损失函数来训练图像信号处理器(ISP)的示例系统的示意图;
图2是示出用于使用部分地基于中间损失函数的总损失函数来训练深度学习ISP的示例系统的示意图;
图3是示出用于使用中间损失函数来训练ISP的示例系统的示意图;
图4是示出用于基于特征图相似度(similarity)来自动调谐ISP的示例系统的示意图;
图5是示出用于使用中间损失函数来训练ISP的方法的流程图;
图6是示出可以使用中间损失函数来训练ISP的示例计算设备的框图;并且
图7是示出了存储用于使用中间损失函数来训练ISP的代码的计算机可读介质的框图。
在整个公开和附图中使用相同的数字来引用相似的组件和特征。100系列中的数字指的是最初在图1中找到的特征;200系列中的数字指的是最初在图2中找到的特征;诸如此类。
具体实施方式
如在上面讨论的,ISP可用于处理捕获的图像以用于各种视觉任务。例如,计算机视觉任务可包括高级视觉任务,诸如对象检测、对象识别、语义分割和图像标题生成等。然而,ISP可以具有基于针对人类视觉的度量来调谐的参数。因此,ISP当在计算机视觉任务中使用时可能不太准确地操作。
计算机视觉应用可以基于深度学习技术。训练深度学习系统可包括针对一个或多个参数使用损失函数的梯度。然而,某些ISP参数可能无法通过分析梯度链接到损失函数。例如,可以使用非梯度方法,或者可以在数值上近似梯度。确定在这种情况下使用的一组参数可能是耗时的。另外,在ISP参数可以通过梯度链接到损失函数的情况下,常规深度学习技术可以用来训练ISP以用于特定的高级视觉任务。然而,极深网络可能训练起来困难且缓慢,并且可能经常无法收敛。此外,将ISP网络追加到已经很大的深度学习网络可能会导致更慢的训练过程。
本公开总地涉及用于训练ISP的技术。具体而言,本文描述的技术包括用于使用中间损失函数来训练ISP的装置、方法和系统。示例装置包括待训练的图像信号处理器,该图像信号处理器基于传感器图像来生成重建图像。该装置包括中间损失函数生成器,其用于基于计算机视觉网络和该计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。在一些示例中,该装置还可包括总损失函数生成器,其用于基于中间损失函数来生成总损失函数。例如,可以基于中间损失函数和另一损失函数来生成总损失函数,该另一损失函数是基于地面实况(ground truth)和计算机视觉网络的输出生成的。该装置还包括参数修改器,其用于基于中间损失函数或总损失函数来修改图像信号处理器的一个或多个参数。
因此,本文描述的技术使能对图像信号处理器的改进训练。例如,可以使用本文描述的技术来增加训练期间的收敛速度。此外,本文描述的技术可以允许训练可能无法通过分析梯度链接到损失函数的ISP参数。另外,本文描述的技术还允许使用除原始训练数据之外的图像数据来调整ISP参数。
图1是示出用于使用部分地基于中间损失函数的总损失函数来训练图像信号处理器(ISP)的示例系统的框图。示例系统通常由附图标记100指代,并且可以使用下面图5的方法500在下面图4中的计算设备400中实现。
示例系统100包括数据集102。数据集102可包括要用于训练的图像。例如,图像可包括要被检测用于计算机视觉任务的一个或多个对象。数据集102还可包括与要用于计算一个或多个损失函数的每个图像相关联的地面实况数据。例如,地面实况数据可包括标签,边界框,分割掩模,与用于深度图估计的相机的像素密集距离,身体关节位置等。系统100包括图像传感器建模器104,其通信地耦合到数据集102以接收图像。图像传感器建模器104可处理从数据集102接收的图像以模拟来自图像传感器的传感器图像。例如,图像传感器建模器104可包括:用于模拟图像传感器的滤色器阵列(CFA)的CFA,用于模拟成像传感器的噪声的噪声生成器,用于模拟成像传感器的光学系统的响应的点扩散函数(PSF)。系统100包括图像信号处理器(ISP)108,其通信地耦合到图像传感器建模器104。在一些示例中,ISP 108可以是ISP的软件模型或硬件ISP。ISP 108可被训练为使用来自图像传感器建模器104的传感器图像来重建来自数据集102的图像。ISP 108的参数可被训练为使用本文描述的技术生成适合于计算机视觉任务的图像。系统100还包括计算机视觉网络110A,其通信地耦合到图像信号处理器108。例如,计算机视觉网络110A可以是深度学习网络,诸如包括各种层的神经网络。计算机视觉网络110A可以将结果输出到损失函数生成器112,该损失函数生成器112通信地耦合到计算机视觉网络110A。损失函数生成器112还通信地耦合到数据102并且可从数据集102接收地面实况数据。系统100还包括计算机视觉网络的副本110B,其通信地耦合到数据集102。计算机视觉网络的副本110B可以直接从数据集102接收图像。中间损失函数生成器114可以通信地耦合到计算机视觉网络110A和计算机视觉网络的副本110B。中间损失函数生成器114可以基于计算机视觉网络110A的层的结果与计算机视觉网络的副本110B的对应层的结果的比较来生成中间损失函数。例如,可以通过在地面实况和所产生的图像上运行推断来计算中间损失。地面实况可以是与图像相关联的标签。可以基于预定的适合度量来提取和比较特征图。系统110还包括总损失函数生成器116,其耦合到损失函数生成器112和中间损失函数生成器114。总损失函数生成器116可以接收来自损失函数生成器112的损失函数和来自中间损失函数生成器114的中间损失函数,并基于所接收的损失函数和中间损失函数来生成总损失函数。例如,总损失函数可用于利用更适合于计算机视觉任务的一组参数来初始化ISP。如本文所使用的,参数可以是图像信号处理器的设置,其可以被增加、减少或以其他方式操纵以改变ISP的输出。
如图1所示,计算机视觉网络110A可以基于计算机视觉网络110A输出与来自数据集102的地面实况数据的比较来生成常规计算机视觉任务损失函数。例如,视觉任务损失函数可以是分类错误。此外,计算机视觉网络110A可被复制以生成计算机视觉网络的副本110B,该副本被馈给来自数据集102的原始图像。例如,计算机视觉网络110A和110B可以都与特定的计算机视觉任务相关联。中间损失函数生成器114可以生成中间损失函数,其用于比较一些中间值的值。例如,中间值可以是由计算机视觉网络110A和110B表示的深度学习解决方案中的一个或多个层输出。总损失函数生成器116可以将中间损失函数与常规计算机视觉任务损失函数进行组合以形成用于训练的最终总损失函数。在一些示例中,用于生成总损失函数的组合可以例如是如下式所示的加权和:
Losstotal=wcvLosscv+wintermediateLossintermediate 式1
其中,Losscv是由损失函数生成器112生成的常规计算机视觉损失,Lossintermediate是由中间损失函数生成器114生成的中间损失,并且加权因子wcv,wintermediate指示如何组合损失且可以针对特定应用根据经验来选择。在一些示例中,常规计算机视觉损失和中间损失的值可被规格化。例如,加权因子可用于使常规计算机视觉损失和中间损失的值规格化。中间损失可以是计算机视觉网络110A和110B的一个或多个中间结果之间的比较。例如,可以使用深度学习网络中的特定层的输出的值之间的均方差来计算中间损失。在一些示例中,还可以比较计算机视觉网络110A和110B的输入。例如,可以将重建图像与来自数据集的原始图像进行比较。在一些示例中,可以比较计算机视觉网络110A和110B中的中间结果的任何组合。可以使用任何合适的相似测量。例如,中间损失函数可以是任意数目的中间结果的均方误差的加权和。在一些示例中,也可以使用平均绝对差、均方差、结构相似度指标度量或学习的相似度度量。例如,可以替代地或另外地使用学习相似度度量的参数的另一网络。在一些示例中,自动ISP参数调谐可以以中间损失的强烈影响开始。例如,wcv=0.01,wintermediate=0.99,并且在训练过程的多次迭代之后,可以增加加权因子wcv的值,并且可以减小加权因子wintermediate的值,直到在最后一次迭代中将加权因子设置为“wcv=1,wintermediate=0”为止。在一些示例中,可以基于预设数目的训练迭代来调整加权因子。例如,可以每500次训练迭代调整加权因子。
图1的图不旨在表明示例系统100将包括图1所示的所有组件。而是,可以使用更少的组件或未在图1示出的附加组件(例如,附加的数据集、ISP、视觉网络、损失函数生成器、损失函数等)来实现示例系统100。
图2是示出用于使用部分地基于中间损失函数的总损失函数来训练深度学习ISP的示例系统的框图。该示例系统通常由附图标记200指代,并且可以使用下面图5的方法500在下面图6中的计算设备600中实现。
示例系统200包括在上面的图1中描述的类似编号的元件。此外,系统200包括深度学习ISP网络202,其通信地耦合到图像传感器建模器104和计算机视觉网络110A。
如图2所示,所使用的ISP可以是深度学习网络。例如,深度学习网络可以基于一组完全卷积层。ISP网络202可具有预定数目的层。例如,层的数目可以基于要用CNN建模的处理和计算的复杂度。卷积神经网络(CNN)可以用于计算机视觉网络810A和810B。例如,可以使用MobileNet CNN。如本文所使用的,MobileNet是小型、低延迟、低功率的模型,其被参数化为满足各种用例的资源约束。可以建立MobileNets以用于分类、检测、嵌入和分割。还可以选择特定的计算机视觉任务以用于训练。例如,所选择的计算机视觉任务可以是对象检测,诸如花型检测或任何其他对象检测。在一些示例中,可以首先移除颜色样本以构建拜耳图案图像。然后可以通过注入标准偏差为25的加性高斯噪声(对于具有0到255的值的8位图像)来破坏拜耳图像。
在一个示例中,在对有噪声的原始传感器数据建模的图像劣化之后,识别性能从92%下降到59%。然后训练深度学习ISP,从而使计算机视觉网络保持固定。仅使用由损失函数生成器112生成的常规损失函数,训练过程缓慢收敛。然后经由如上所述的中间损失函数生成器114和总损失函数生成器116引入中间损失和总损失,其中在500个时期(epoch)之前“wcv=0.01,wintermediate=0.99”,在1000个时期之前“wcv=0.1,wintermediate=0.9”,在2000个时期之前“wcv=0.5,wintermediate=0.5”,并且最后在训练结束之前“wcv=1,wintermediate=0”。对于中间损失Lossintermediate,使用MobileNet的第一卷积层的平方距离的平均值。在包括中间损失的情况下,训练期间的收敛明显更快。利用所提议的组合损失,首先将ISP调谐为产生相当好的图像,然后使训练进一步专注于产生针对计算机视觉任务更精细调谐的图像。
图2的图不旨在表明示例系统200将包括图2所示的所有组件。而是,可以使用更少的组件或未在图2中示出的附加组件(例如,附加的数据集、ISP、视觉网络、损失函数生成器、损失函数等)来实现示例系统200。
图3是示出用于使用中间损失函数来训练ISP的示例系统的图。示例系统300可以在下面的计算设备500中实现。例如,可以使用图6的计算设备600的ISP训练器或下面图7的计算机可读介质700来训练图像信号处理器108。
图3包括来自上面图1的类似编号的元件。此外,图3包括原始传感器数据集302。例如,原始传感器数据集302可包括来自成像设备的图像。原始传感器数据集302通信地耦合到ISP 108和理想ISP模型304。例如,理想ISP模型304可以是生成理想重建图像的理想ISP的软件模型。如本文所使用的,理想用来意味着:由于面积成本、数据遍历和处理速度等,以硅实现该模型可能过于昂贵。在一些示例中,理想模型可以是传统的或基于深度学习技术。
在图3的示例系统300中,来自原始传感器数据集302的传感器图像可被发送到ISP108和理想ISP模型304。ISP 108可以发送要在计算机视觉网络110A处处理的重建图像。理想ISP模型304可以发送要在视觉网络的副本110B处处理的理想重建图像。如上所述,中间损失函数生成器114可以基于计算机视觉网络110A的一个或多个层输出与计算机视觉网络的副本110B的一个或多个对应层输出的比较来生成中间损失函数。在一些示例中,系统300可以用于使用由ISP 108表示的更简单的ISP来近似由理想ISP模型304表示的复杂ISP。例如,可以在训练期间基于所生成的中间损失函数或总损失函数来改编ISP 108的一个或多个参数。
图3的图不旨在表明示例系统300将包括图3所示的所有组件。而是,可以使用更少的组件或未在图3中示出的附加组件(例如,附加的数据集、ISP、视觉网络、损失函数生成器、损失函数等)来实现示例系统300。
图4是示出用于基于特征图相似度来自动调谐ISP的示例系统的图。示例系统400可以在下面的计算设备500中实现。例如,可以使用图6的计算设备600的ISP训练器或下面图7的计算机可读介质700来训练图像信号处理器108。
图4包括来自上面图1的类似编号的元件。此外,系统400包括自动调谐器402,其用于从计算机视觉网络接收特征图相似度并自动调谐图像信号处理器108。例如,可以已经使用级联特征图的简单差异检测出特征图相似度。在一些示例中,对于某些CV任务,可以通过求每组特征图的平均(F1+F2+...+FN)/N来聚合特征图,然后找到聚合的特征图之间的差异。自动调谐器402可以使用演进式训练过程来修改图像信号处理器108的一个或多个ISP参数。例如,参数可以包括去噪、锐化、去马赛克和色调映射参数。去噪可用于减少图像中的噪声,同时保留用于计算机视觉任务的特征。锐化可用于突出图像中的边缘和精细细节。如本文所使用的,去马赛克是指用于根据从覆盖有滤色器阵列(CFA)的图像传感器输出的不完整颜色样本重建全彩图像的数字图像处理。去马赛克也可称为CFA插值或颜色重建。色调映射可以用于将一组颜色映射到另一组颜色以在具有更有限动态范围的介质中近似高动态范围图像的外观。在一些示例中,可以调谐这些参数中的一个或多个以生成可以导致提高的计算机视觉网络性能的图像。即使它们可能在视觉上不太引人注目,但是由自动调谐图像信号处理器为高级视觉任务生成的图像可以在对象检测的中值平均精度方面表现出更好的性能。例如,由自动调谐图像信号处理器生成的图像可能包含更多可见伪像或更多噪声残差,但是当被在计算机视觉网络处处理时可以产生明显更好的结果。
自动调谐器402可以通过从用于高级视觉任务的训练数据集中获取一个或若干样本来开始。图像可以类似于如上所述被破坏以模仿原始传感器的输出,并被馈送到基于演进式策略的自动调谐循环中。然后,自动调谐器402可以尝试使从ISP重建图像获得的特征图与从地面实况图像获得的特征图之间的相似度最大化或使从ISP重建图像获得的特征图与从地面实况图像获得的特征图之间的损失最小化。在一些示例中,在收敛完成之后,可以使用验证数据集来确认高级视觉任务与仅通过使用图像质量度量来调谐ISP的情况相比具有更好的性能。
使用一小组特征图进行自动调谐的替代方案是使用高级视觉任务的最终损失函数。然而,为了可靠地计算损失,将必须针对每个参数突变处理整个验证数据集。因此,基于特征图相似度的自动调谐可以足够更加有效。
图4的图不旨在表明示例系统400将包括图4所示的所有组件。而是,可以使用更少的组件或未在图4中示出的附加组件(例如,附加的数据集、ISP、视觉网络、损失函数生成器、损失函数等)来实现示例系统400。
图5是示出一种用于使用中间损失函数来训练ISP的方法的流程图。该示例方法通常由附图标记500指代,并且可以在上面图1-4的系统100-400、下面图6的计算设备600的处理器602或下面图7的计算机可读介质700中实现。
在框502处,处理器可以接收传感器图像。例如,可以从原始传感器数据集接收传感器图像。在一些示例中,可以基于从数据集接收的图像来生成传感器图像。例如,可以对图像执行一个或多个滤波处理或其他处理以生成传感器图像。
在框504处,图像信号处理器基于传感器图像来生成重建图像。例如,重建图像可以是对传感器图像执行的去噪、锐化、去马赛克、色调映射或其他处理的结果。
在框506处,处理器基于地面实况和计算机视觉网络的输出来生成第一损失函数。例如,可以从数据集接收地面实况。计算机视觉网络的副本的输出可以基于与传感器图像相对应的图像。
在框508处,处理器基于计算机视觉网络和计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。计算机视觉网络的输出可以基于重建图像。计算机视觉网络的副本的输出可以基于与传感器图像相对应的图像。在一些示例中,比较可以是描述相似度的任何函数。在一些示例中,可以经由在多个计算机视觉任务上训练的深度学习网络来执行比较。在一些示例中,处理器可以使用理想图像信号处理器模型来基于传感器图像生成理想重建图像。计算机视觉网络的副本的输出可以替代地基于理想重建图像。
在框510处,处理器基于第一损失函数和中间损失函数来生成总损失函数。例如,总损失函数可以是第一损失函数和中间损失函数的加权和。
在框512处,处理器基于中间损失函数或总损失函数来训练图像信号处理器。例如,在可区分的ISP的情况下,可以使用损失函数中的一个或多个来计算梯度,并且可以通过图像信号处理器的层来传播梯度。在一些示例中,处理器可以使用加权因子来训练图像信号处理器。例如,处理器可以基于预定数目的迭代来减小中间损失函数的加权因子。因此,处理器可以修改图像信号处理器的一个或多个参数。在一些示例中,如在上面的图4中描述,处理器可以基于特征图相似度来自动调谐一个或多个ISP参数。在一些示例中,处理器还可以训练计算机视觉网络和计算机视觉网络的副本。例如,可以在计算机视觉网络和计算机视觉网络的副本中类似地修改一个或多个参数。使用中间损失函数可以使计算机视觉网络的输出能够在更短的时间内与计算机视觉网络的副本的输出收敛。
该过程流程图不旨在表明将以任何特定顺序执行示例过程500的各块,或者在每种情况下都将包括所有块。另外,取决于具体实施方式的细节,可以在示例过程500中包括未示出的任何数目的附加块。
现在参考图6,示出了框图,其示出了可以使用中间损失函数来训练ISP的示例计算设备。计算设备600可以例如是膝上型计算机,台式计算机,平板计算机,移动设备,或者可穿戴设备等。在一些示例中,计算设备600可以是安全摄像机或机器人设备。计算设备600可包括:中央处理单元(CPU)602,其被配置为执行所存储的指令;以及存储器设备604,其存储可由CPU 602执行的指令。CPU 602可以通过总线606耦合到存储器设备604。此外,CPU602可以是单核处理器,多核处理器,计算集群,或者任何数目的其他配置。另外,计算设备600可包括多于一个的CPU 602。在一些示例中,CPU 602可以是具有多核处理器架构的片上系统(SoC)。在一些示例中,CPU 602可以是用于图像处理的专用数字信号处理器(DSP)。存储器设备604可以包括随机存取存储器(RAM),只读存储器(ROM),闪存,或者任何其他合适的存储器系统。例如,存储器设备604可包括动态随机存取存储器(DRAM)。
存储器设备604可以包括随机存取存储器(RAM),只读存储器(ROM),闪存,或者任何其他合适的存储器系统。例如,存储器设备604可包括动态随机存取存储器(DRAM)。
计算设备600还可包括图形处理单元(GPU)608。如图所示,CPU 602可以通过总线606耦合到GPU 608。GPU 608可被配置为在计算设备600内执行任何数目的图形操作。例如,GPU 608可被配置为渲染或操纵图形图像、图形帧、视频等,以显示给计算设备600的用户。
存储器设备604可以包括随机存取存储器(RAM),只读存储器(ROM),闪存,或者任何其他合适的存储器系统。例如,存储器设备604可包括动态随机存取存储器(DRAM)。存储器设备604可包括设备驱动程序610,其被配置为执行用于使用中间损失函数来生成训练ISP的指令。设备驱动程序610可以是软件,应用程序,应用代码等。
CPU 602还可通过总线606连接到输入/输出(I/O)设备接口612,I/O设备接口612被配置为将计算设备600连接到一个或多个I/O设备614。I/O设备614可包括例如键盘和指示设备,其中指示设备可包括触摸板或触摸屏等。I/O设备614可以是计算设备600的内置组件,或者可以是外部连接到计算设备600的设备。在一些示例中,存储器604可以通过直接存储器访问(DMA)通信地耦合到I/O设备614。
CPU 602还可通过总线606链接到显示接口616,显示接口616被配置为将计算设备600连接到显示设备618。显示设备618可包括作为计算设备600的内置组件的显示屏。显示设备618还可包括在计算设备600内部或外部连接到计算设备600的计算机监视器、电视或投影仪等。
计算设备600还包括存储设备620。存储设备620是物理存储器,诸如硬盘驱动器、光学驱动器、拇指驱动器、驱动器阵列、固态驱动器或其任何组合。存储设备620还可包括远程存储驱动器。存储设备620可包括数据集621。例如,数据集621可包括要用于训练图像信号处理器的图像。在一些示例中,数据集621可以是包括传感器图像的原始传感器数据集。
计算设备600还可包括网络接口控制器(NIC)622。NIC 622可被配置为通过总线606将计算设备600连接到网络624。网络624可以是广域网(WAN)、局域网(LAN)或因特网等。在一些示例中,设备可以通过无线技术与其他设备进行通信。例如,设备可以经由无线局域网连接与其他设备进行通信。在一些示例中,设备可以经由(蓝牙)或类似技术与其他设备连接和通信。
计算设备600还包括相机625。例如,相机625可包括一个或多个传感器。在一些示例中,相机625可生成要用于训练图像信号处理器的传感器图像。传感器图像可被存储在数据集621中。
计算设备600还包括图像信号处理器626。图像信号处理器626可处理用于计算机视觉任务的图像。例如,来自相机625的图像可被图像信号处理器626处理并发送到分类器以进行对象检测。例如,分类器可以是计算机视觉网络。在一些示例中,图像信号处理器626可以是深度学习图像信号处理器网络。可以使用本文描述的技术来训练图像信号处理器626。在训练期间,图像信号处理器626可以根据传感器图像来生成重建图像,并将重建图像发送到计算机视觉网络,如下所述。
计算设备600还包括图像信号处理器(ISP)训练器628。例如,ISP训练器628可以用于修改图像信号处理器626的一个或多个参数。ISP训练器628可以包括图像传感器建模器630,第一计算机视觉网络(CVN)632,第二CVN 634,损失函数生成器636,以及参数修改器638。在一些示例中,ISP训练器628的组件630-638中的每一个可以是微控制器、嵌入式处理器或软件模块。图像传感器建模器630可以基于从数据集接收的图像来生成传感器图像。在一些示例中,可以从原始传感器数据集接收传感器图像。第一CVN 632可以处理来自图像信号处理器的重建图像以生成输出。第二CVN 634可以处理与传感器图像和重建图像相对应的图像以生成输出。或者,第二CVN 634的输出可以基于理想重建图像,该理想重建图像是通过经由理想图像信号处理器模型(未示出)处理传感器图像来生成的。例如,第二CVN 634可以是处理不同输入的第一CVN 632的副本。在一些示例中,第一CVN 632和第二CVN 634可以是经训练的分类器。损失函数生成器636可以基于第一CVN 634的输出和从数据集接收的地面实况来生成第一损失函数。损失函数生成器636可以基于计算机视觉网络和计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。例如,可以使用简单的差异来生成中间损失函数。在一些示例中,聚合以及之后的特征图之间的差异也可以用于生成中间损失函数。第二CVN 634的输出可以基于与传感器图像相对应的图像。在一些示例中,可以通过在多个计算机视觉任务上训练的深度学习网络来执行比较。然后,损失函数生成器636可以基于第一损失函数和中间损失函数来生成总损失函数。例如,总损失函数可以是第一损失函数和中间损失函数的加权和。参数修改器638可以基于中间损失函数或总损失函数来修改图像信号处理器的一个或多个参数。在一些示例中,参数修改器还可以修改计算机视觉网络和计算机视觉网络的副本的一个或多个参数。
图6的框图不旨在表明计算设备600将包括图6所示的所有组件。而是,计算设备600可以包括更少的组件或未在图6中示出的附加组件,诸如附加的缓冲器、附加的处理器等。取决于具体实施方式的细节,计算设备600可包括未在图6示出的任何数目的附加组件。另外,图像传感器建模器630、第一CVN 632、第二CVN 634、损耗函数生成器636、参数修改器638的任何功能可以部分地或全部地在硬件和/或处理器602中实现。例如,功能可以用专用集成电路来实现,以在处理器602中实现的逻辑来实现,或者在任何其他设备中实现。此外,CPU 602的任何功能可以部分地或全部地在硬件中实现和/或在处理器中实现。例如,ISP训练器628的功能可以用专用集成电路来实现,以在处理器中实现的逻辑来实现,以在诸如GPU 608之类的专用图形处理单元中实现的逻辑来实现,或者在任何其他设备中实现。
图7是示出了计算机可读介质700的框图,计算机可读介质700存储用于使用中间损失函数来训练ISP的代码。计算机可读介质700可以由处理器702通过计算机总线704访问。另外,计算机可读介质700可包括被配置为指示处理器702执行本文描述的方法的代码。在一些实施例中,计算机可读介质700可以是非暂时性计算机可读介质。在一些示例中,计算机可读介质700可以是存储介质。
本文讨论的各种软件组件可以存储在一个或多个计算机可读介质700上,如图7所示。例如,图像传感器建模器模块706可被配置为基于从数据集接收的图像来生成传感器图像。第一计算机视觉网络模块708可被配置为处理来自图像信号处理器的重建图像以生成输出。第二计算机视觉网络模块710可被配置为处理与传感器图像和重建图像相对应的图像以生成输出。第二计算机视觉网络可以是第一计算机视觉网络的副本。或者,第二计算机视觉网络模块710的输出可以基于理想重建图像,该理想重建图像是通过经由理想图像信号处理器模型处理传感器图像来生成的。损失函数生成器模块712可被配置为基于第一计算机视觉网络和第二计算机视觉网络的一个或多个对应层的输出的比较来生成中间损失函数。在一些示例中,损失函数生成器模块712可以被配置为生成总损失函数。例如,损失函数生成器模块712可被配置为基于地面实况和计算机视觉网络的输出来生成第一损失函数。损失函数生成器模块712可被配置为基于第一损失函数和中间损失函数来生成总损失函数。参数修改器模块714可被配置为基于中间损失函数或总损失函数来训练图像信号处理器。例如,参数修改器模块714可被配置为基于中间损失函数或总损失函数来修改图像信号处理器的一个或多个参数。在一些示例中,参数修改器模块714可被配置为基于特征图相似度来自动调谐一个或多个ISP参数。在一些示例中,参数修改器模块714还可被配置为修改计算机视觉网络和计算机视觉网络的副本的一个或多个参数。
图7的框图不旨在表明计算机可读介质700将包括图7所示的所有组件。另外,取决于具体实施方式的细节,计算机可读介质700可包括未在图7中示出的任何数目的附加组件。
示例
示例1是一种用于训练图像信号处理器的装置。该装置包括待训练的图像信号处理器,该图像信号处理器用于基于传感器图像来生成重建图像。所述装置还包括中间损失函数生成器,其用于基于计算机视觉网络和该计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。所述装置还包括参数修改器,其用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数。
示例2包括示例1的装置,包括或排除可选的特征。在该示例中,所述传感器图像是从原始传感器数据集接收的。
示例3包括示例1至2中任一个的装置,包括或排除可选的特征。在该示例中,所述装置包括图像传感器建模器,其用于基于图像来生成所述传感器图像,其中所述图像是从数据集接收的。
示例4包括示例1至3中任一个的装置,包括或排除可选的特征。在该示例中,所述图像信号处理器包括深度学习图像信号处理器网络。
示例5包括示例1至4中任一个的装置,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
示例6包括示例1至5中任一个的装置,包括或排除可选的特征。在该示例中,所述计算机视觉网络和所述计算机视觉网络的副本包括经训练的分类器。
示例7包括示例1至6中任一个的装置,包括或排除可选的特征。在该示例中,所述计算机视觉网络用于处理所述重建图像以生成输出,并且所述计算机视觉网络的副本用于处理与所述重建图像相对应的图像中的图像以生成输出。
示例8包括示例1至7中任一个的装置,包括或排除可选的特征。在该示例中,所述参数修改器还用于修改所述计算机视觉网络和所述计算机视觉网络的副本的一个或多个参数。
示例9包括示例1至8中任一个的装置,包括或排除可选的特征。在该示例中,所述比较将由在多个计算机视觉任务上训练的深度学习网络执行。
示例10包括示例1至9中任一个的装置,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于理想重建图像,所述理想重建图像是通过经由理想图像信号处理器模型处理所述传感器图像来生成的。
示例11是一种用于训练图像信号处理器的方法。该方法包括经由图像信号处理器基于传感器图像来生成重建图像。所述方法还包括经由处理器基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。所述计算机视觉网络的输出基于所述重建图像。所述方法还包括经由处理器基于所述中间损失函数来训练所述图像信号处理器。
示例12包括示例11的方法,包括或排除可选的特征。在该示例中,所述方法包括经由处理器基于从数据集接收的图像来生成所述传感器图像。
示例13包括示例11至12中任一个的方法,包括或排除可选的特征。在该示例中,所述方法包括:经由处理器基于地面实况和所述计算机视觉网络的输出来生成第一损失函数;经由处理器基于所述第一损失函数和所述中间损失函数来生成总损失函数;以及经由处理器基于所述总损失函数来训练所述图像信号处理器。
示例14包括示例11至13中任一个的方法,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
示例15包括示例11至14中任一个的方法,包括或排除可选的特征。在该示例中,训练所述图像信号处理器包括基于预定数目的迭代来减小所述中间损失函数的加权因子。
示例16包括示例11至15中任一个的方法,包括或排除可选的特征。在该示例中,训练所述图像信号处理器包括修改所述图像信号处理器的一个或多个参数。
示例17包括示例11至16中任一个的方法,包括或排除可选的特征。在该示例中,训练所述图像信号处理器包括基于特征图相似度来自动调谐一个或多个ISP参数。
示例18包括示例11至17中任一个的方法,包括或排除可选的特征。在该示例中,所述方法包括训练所述计算机视觉网络和所述计算机视觉网络的副本。
示例19包括示例11至18中任一个的方法,包括或排除可选的特征。在该示例中,所述方法包括经由在多个计算机视觉任务上训练的深度学习网络来执行所述比较。
示例20包括示例11至19中任一个的方法,包括或排除可选的特征。在该示例中,所述方法包括经由理想图像信号处理器模型基于所述传感器图像来生成理想重建图像,其中,所述计算机视觉网络的副本的输出基于所述理想重建图像。
示例21是至少一种用于训练图像信号处理器的计算机可读介质,其中存储有指令,所述指令指示处理器基于传感器图像来生成重建图像。所述计算机可读介质还包括指示处理器基于计算机视觉网络和该计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数的指令。所述计算机视觉网络的输出基于所述重建图像。所述计算机可读介质还包括指示处理器基于所述中间损失函数来训练图像信号处理器的指令。
示例22包括示例21的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于基于从数据集接收的图像来生成所述传感器图像的指令。
示例23包括示例21至22中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于以下操作的指令:基于地面实况和所述计算机视觉网络的输出来生成第一损失函数;基于所述第一损失函数和所述中间损失函数来生成总损失函数;以及基于所述总损失函数来训练所述图像信号处理器。
示例24包括示例21至23中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于修改所述计算机视觉网络和所述计算机视觉网络的副本的一个或多个参数的指令。
示例25包括示例21至24中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于基于特征图相似度来自动调谐一个或多个ISP参数的指令。
示例26包括示例21至25中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于修改所述图像信号处理器的一个或多个参数的指令。
示例27包括示例21至26中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于基于预定数目的迭代来减小所述中间损失函数的加权因子的指令。
示例28包括示例21至27中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
示例29包括示例21至28中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于训练所述计算机视觉网络和所述计算机视觉网络的副本的指令。
示例30包括示例21至29中任一个的计算机可读介质,包括或排除可选的特征。在该示例中,所述计算机可读介质包括用于经由在多个计算机视觉任务上训练的深度学习网络来执行所述比较的指令。
示例31是一种用于训练图像信号处理器的系统。该系统包括待训练的图像信号处理器。该图像信号处理器用于基于传感器图像来生成重建图像。所述系统还包括中间损失函数生成器,其用于基于计算机视觉网络和该计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数。所述系统还包括参数修改器,其用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数。
示例32包括示例31的系统,包括或排除可选的特征。在该示例中,所述传感器图像是从原始传感器数据集接收的。
示例33包括示例31至32中任一个的系统,包括或排除可选的特征。在该示例中,所述系统包括图像传感器建模器,其用于基于图像来生成所述传感器图像,其中所述图像是从数据集接收的。
示例34包括示例31至33中任一个的系统,包括或排除可选的特征。在该示例中,所述图像信号处理器包括深度学习图像信号处理器网络。
示例35包括示例31至34中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
示例36包括示例31至35中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络和所述计算机视觉网络的副本包括经训练的分类器。
示例37包括示例31至36中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络用于处理所述重建图像以生成输出,并且所述计算机视觉网络的副本用于处理与所述重建图像相对应的图像中的图像以生成输出。
示例38包括示例31至37中任一个的系统,包括或排除可选的特征。在该示例中,所述参数修改器还用于修改所述计算机视觉网络和所述计算机视觉网络的副本的一个或多个参数。
示例39包括示例31至38中任一个的系统,包括或排除可选的特征。在该示例中,将由在多个计算机视觉任务上训练的深度学习网络执行所述比较。
示例40包括示例31至39中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于理想重建图像,所述理想重建图像是通过经由理想图像信号处理器模型处理所述传感器图像来生成的。
示例41是一种用于训练图像信号处理器的系统。该系统包括用于基于传感器图像来生成重建图像的装置。所述系统还包括用于基于计算机视觉网络和该计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数的装置。所述系统还包括用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数的装置。
示例42包括示例41的系统,包括或排除可选的特征。在该示例中,所述传感器图像是从原始传感器数据集接收的。
示例43包括示例41至42中任一个的系统,包括或排除可选的特征。在该示例中,所述系统包括用于基于图像来生成所述传感器图像的装置,其中所述图像是从数据集接收的。
示例44包括示例41至43中任一个的系统,包括或排除可选的特征。在该示例中,用于生成重建图像的装置包括深度学习图像信号处理器网络。
示例45包括示例41至44中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
示例46包括示例41至45中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络和所述计算机视觉网络的副本包括经训练的分类器。
示例47包括示例41至46中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络用于处理所述重建图像以生成输出,并且所述计算机视觉网络的副本用于处理与所述重建图像相对应的图像中的图像以生成输出。
示例48包括示例41至47中任一个的系统,包括或排除可选的特征。在该示例中,用于修改所述一个或多个参数的装置还用于修改所述计算机视觉网络和所述计算机视觉网络的副本的一个或多个参数。
示例49包括示例41至48中任一个的系统,包括或排除可选的特征。在该示例中,所述比较将由在多个计算机视觉任务上训练的深度学习网络执行。
示例50包括示例41至49中任一个的系统,包括或排除可选的特征。在该示例中,所述计算机视觉网络的副本的输出基于理想重建图像,所述理想重建图像是通过经由理想图像信号处理器模型处理所述传感器图像来生成的。
并非本文描述和示出的所有组件、特征、结构、特性等都必须被包括在特定的一个或多个方面中。例如,如果说明书声明“可能”、“可”、“可以”或“能够”包括组件、特征、结构或特性,则不要求包括该特定组件、特征、结构或特性。如果说明书或权利要求提到“一”或“一个”元素,那并不意味着只有一个元素。如果说明书或权利要求提到“一个附加”元素,那不排除存在多于一个的附加元素。
要注意的是,尽管已经参考特定实施方式描述了一些实施例,但根据一些方面,其它实施方式也是可能的。此外,在附图中示出并且/或者在本文中描述的电路元件或其他特征的布置和/或顺序不需要以所示出和描述的特定方式布置。根据一些方面,许多其他布置是可能的。
在图中示出的每个系统中,在一些情况下,元素可以各自具有相同的附图标记或不同的附图标记,以表明所表示的元素可以是不同的和/或类似的。然而,元素可以灵活到足以具有不同的实施方式和与本文示出或描述的一些或所有系统一起工作。图中示出的各种元素可以是相同的或不同的。哪一个被称为第一元素和哪个被称为第二元素是任意的。
将会理解,前述示例中的细节可以在一个或多个方面中的任何地方使用。例如,上面描述的计算设备的所有可选特征也可以关于本文描述的方法或计算机可读介质中的任一个来实现。另外,尽管本文中可能已经使用流程图和/或状态图来描述各方面,但是技术不限于那些图或本文中的对应描述。例如,流程不需要移动通过每个所示的框或状态,或者以如在本文中示出和描述的完全相同的顺序移动。
本技术不限于本文列出的特定细节。的确,受益于本公开的本领域技术人员将认识到,可以在本技术的范围内做出前述描述和附图的许多其他变型。因此,限定本技术范围的是以下权利要求,包括对其的任何修改。

Claims (25)

1.一种用于训练图像信号处理器的装置,包括:
待训练的图像信号处理器,所述图像信号处理器用于基于传感器图像来生成重建图像;
中间损失函数生成器,所述中间损失函数生成器用于基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数;和
参数修改器,所述参数修改器用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数。
2.如权利要求1所述的装置,其中,所述传感器图像是从原始传感器数据集接收的。
3.如权利要求1所述的装置,包括图像传感器建模器,所述图像传感器建模器用于基于图像来生成所述传感器图像,其中所述图像是从数据集接收的。
4.如权利要求1所述的装置,其中,所述图像信号处理器包括深度学习图像信号处理器网络。
5.如权利要求1所述的装置,其中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
6.如权利要求1-5的任何组合所述的装置,其中,所述计算机视觉网络和所述计算机视觉网络的副本包括经训练的分类器。
7.如权利要求1-5的任何组合所述的装置,其中,所述计算机视觉网络用于处理所述重建图像以生成输出,并且所述计算机视觉网络的副本用于处理与所述重建图像相对应的图像中的图像以生成输出。
8.如权利要求1-5的任何组合所述的装置,其中,所述参数修改器还用于修改所述计算机视觉网络和所述计算机视觉网络的副本的一个或多个参数。
9.如权利要求1-5的任何组合所述的装置,其中,所述比较将由在多个计算机视觉任务上训练的深度学习网络执行。
10.如权利要求1-5的任何组合所述的装置,其中,所述计算机视觉网络的副本的输出基于理想重建图像,所述理想重建图像是通过经由理想图像信号处理器模型处理所述传感器图像来生成的。
11.一种用于训练图像信号处理器的方法,包括:
经由图像信号处理器基于传感器图像来生成重建图像;
经由处理器基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数,其中所述计算机视觉网络的输出基于所述重建图像;和
经由处理器基于所述中间损失函数来训练所述图像信号处理器。
12.如权利要求11所述的方法,包括:经由处理器基于从数据集接收的图像来生成所述传感器图像。
13.如权利要求11所述的方法,包括:
经由处理器基于地面实况和所述计算机视觉网络的输出来生成第一损失函数;
经由处理器基于所述第一损失函数和所述中间损失函数来生成总损失函数;和
经由处理器基于所述总损失函数来训练所述图像信号处理器。
14.如权利要求11所述的方法,其中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
15.如权利要求11所述的方法,其中,训练所述图像信号处理器包括基于预定数目的迭代来减小所述中间损失函数的加权因子。
16.如权利要求11-15的任何组合所述的方法,其中,训练所述图像信号处理器包括修改所述图像信号处理器的一个或多个参数。
17.如权利要求11-15的任何组合所述的方法,其中,训练所述图像信号处理器包括基于特征图相似度来自动调谐一个或多个ISP参数。
18.如权利要求11-15的任何组合所述的方法,包括训练所述计算机视觉网络和所述计算机视觉网络的副本。
19.如权利要求11-15的任何组合所述的方法,包括:经由在多个计算机视觉任务上训练的深度学习网络来执行所述比较。
20.如权利要求11-15的任何组合所述的方法,包括:经由理想图像信号处理器模型基于所述传感器图像来生成理想重建图像,其中,所述计算机视觉网络的副本的输出基于所述理想重建图像。
21.一种用于训练图像信号处理器的系统,包括:
用于基于传感器图像来生成重建图像的装置;
用于基于计算机视觉网络和所述计算机视觉网络的副本的一个或多个对应层的输出的比较来生成中间损失函数的装置;和
用于基于所述中间损失函数来修改所述图像信号处理器的一个或多个参数的装置。
22.如权利要求21所述的系统,其中,所述传感器图像是从原始传感器数据集接收的。
23.如权利要求21所述的系统,包括用于基于图像来生成所述传感器图像的装置,其中所述图像是从数据集接收的。
24.如权利要求21-23的任何组合所述的系统,其中,用于生成重建图像的装置包括深度学习图像信号处理器网络。
25.如权利要求21-23的任何组合所述的系统,其中,所述计算机视觉网络的副本的输出基于与所述传感器图像相对应的图像。
CN201910239437.3A 2018-04-27 2019-03-27 使用中间损失函数训练图像信号处理器 Pending CN110414546A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/965,158 US10796200B2 (en) 2018-04-27 2018-04-27 Training image signal processors using intermediate loss functions
US15/965,158 2018-04-27

Publications (1)

Publication Number Publication Date
CN110414546A true CN110414546A (zh) 2019-11-05

Family

ID=65275359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910239437.3A Pending CN110414546A (zh) 2018-04-27 2019-03-27 使用中间损失函数训练图像信号处理器

Country Status (2)

Country Link
US (2) US10796200B2 (zh)
CN (1) CN110414546A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628124A (zh) * 2020-05-08 2021-11-09 深圳清华大学研究院 Isp与视觉任务联合优化方法、系统、介质和电子设备
WO2022193514A1 (en) * 2021-03-17 2022-09-22 Huawei Technologies Co., Ltd. End to end differentiable machine vision systems, methods, and media
WO2023035263A1 (zh) * 2021-09-13 2023-03-16 华为技术有限公司 确定图像信号处理参数的方法、装置和感知系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3343502B1 (en) * 2016-12-28 2019-02-20 Dassault Systèmes Depth sensor noise
WO2019127233A1 (en) * 2017-12-28 2019-07-04 Intel Corporation Methods and apparatus to simulate sensor data
US10796200B2 (en) 2018-04-27 2020-10-06 Intel Corporation Training image signal processors using intermediate loss functions
US10504027B1 (en) * 2018-10-26 2019-12-10 StradVision, Inc. CNN-based learning method, learning device for selecting useful training data and test method, test device using the same
US11681923B2 (en) * 2019-04-19 2023-06-20 Samsung Electronics Co., Ltd. Multi-model structures for classification and intent determination
KR20200134374A (ko) * 2019-05-21 2020-12-02 삼성전자주식회사 이미지 신호 프로세서의 모델링 방법, 및 전자 기기
GB2588431B (en) 2019-10-23 2023-02-15 Advanced Risc Mach Ltd Image signal processing
US20210248467A1 (en) * 2020-02-06 2021-08-12 Qualcomm Incorporated Data and compute efficient equivariant convolutional networks
CN114078168A (zh) * 2020-08-19 2022-02-22 Oppo广东移动通信有限公司 图像处理模型训练方法、图像处理方法及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10229518A (ja) * 1997-02-13 1998-08-25 Konica Corp 電子カメラ
US6262645B1 (en) 1999-08-27 2001-07-17 Eaton Corporation Circuit interrupter with a trip mechanism having a biased latch
TWI575933B (zh) * 2011-11-04 2017-03-21 杜比實驗室特許公司 階層式視覺動態範圍編碼中之層分解技術
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US10915817B2 (en) * 2017-01-23 2021-02-09 Fotonation Limited Method of training a neural network
US10410322B2 (en) * 2017-04-05 2019-09-10 Here Global B.V. Deep convolutional image up-sampling
US10565758B2 (en) * 2017-06-14 2020-02-18 Adobe Inc. Neural face editing with intrinsic image disentangling
US10438350B2 (en) * 2017-06-27 2019-10-08 General Electric Company Material segmentation in image volumes
US10599978B2 (en) * 2017-11-03 2020-03-24 International Business Machines Corporation Weighted cascading convolutional neural networks
US10740881B2 (en) * 2018-03-26 2020-08-11 Adobe Inc. Deep patch feature prediction for image inpainting
US11532073B2 (en) * 2018-03-29 2022-12-20 Pixar Temporal techniques of denoising Monte Carlo renderings using neural networks
US10140544B1 (en) * 2018-04-02 2018-11-27 12 Sigma Technologies Enhanced convolutional neural network for image segmentation
US10796200B2 (en) * 2018-04-27 2020-10-06 Intel Corporation Training image signal processors using intermediate loss functions
US11409986B2 (en) * 2018-11-15 2022-08-09 Intel Corporation Trainable vision scaler

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628124A (zh) * 2020-05-08 2021-11-09 深圳清华大学研究院 Isp与视觉任务联合优化方法、系统、介质和电子设备
CN113628124B (zh) * 2020-05-08 2024-01-16 深圳清华大学研究院 Isp与视觉任务联合优化方法、系统、介质和电子设备
WO2022193514A1 (en) * 2021-03-17 2022-09-22 Huawei Technologies Co., Ltd. End to end differentiable machine vision systems, methods, and media
US11922609B2 (en) 2021-03-17 2024-03-05 Huawei Technologies Co., Ltd. End to end differentiable machine vision systems, methods, and media
WO2023035263A1 (zh) * 2021-09-13 2023-03-16 华为技术有限公司 确定图像信号处理参数的方法、装置和感知系统

Also Published As

Publication number Publication date
US11386293B2 (en) 2022-07-12
US10796200B2 (en) 2020-10-06
US20210019565A1 (en) 2021-01-21
US20190050682A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
CN110414546A (zh) 使用中间损失函数训练图像信号处理器
US11798132B2 (en) Image inpainting method and apparatus, computer device, and storage medium
US12105887B1 (en) Gesture recognition systems
CN108875732B (zh) 模型训练与实例分割方法、装置和系统及存储介质
CN109191369A (zh) 2d图片集转3d模型的方法、存储介质和装置
CN104866868B (zh) 基于深度神经网络的金属币识别方法和装置
CN111950725A (zh) 用于训练生成器神经网络的训练系统
CN107341436B (zh) 手势检测网络训练、手势检测及控制方法、系统及终端
US11810311B2 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
CN115311186B (zh) 一种红外与可见光图像跨尺度注意力对抗融合方法及终端
CN111738265A (zh) Rgb-d图像的语义分割方法、系统、介质及电子设备
US11138812B1 (en) Image processing for updating a model of an environment
DE102022106057A1 (de) Authentifikatorintegriertes generatives adversariales netzwerk (gan) zur sicheren deepfake-erzeugung
CN108875469A (zh) 活体检测与身份认证的方法、装置及计算机存储介质
CN108875586A (zh) 一种基于深度图像与骨骼数据多特征融合的功能性肢体康复训练检测方法
DE102022123434A1 (de) Gemeinsame Schätzung von Herzfrequenz und Atemfrequenz unter Verwendung neuronaler Netze
CN117854155B (zh) 一种人体骨骼动作识别方法及系统
CN115048954A (zh) 一种仿视网膜的目标检测方法、装置、存储介质及终端
WO2021047453A1 (zh) 图像质量确定方法、装置及设备
CN116758212A (zh) 基于自适应去噪算法的3d重建方法、装置、设备及介质
CN115393961A (zh) 一种基于分布式传感器融合网络的行为识别方法
CN112612956A (zh) 一种基于全景视图的艺术设计方法和平台
CN118097521B (zh) 对象识别方法、装置、设备、介质及程序产品
CN111611971B (zh) 一种基于卷积神经网络的行为检测方法及系统
CN117422801A (zh) 一种3d动画的制作方法及系统

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