CN116886835A - 用于确定内容捕获设备的设置的技术 - Google Patents

用于确定内容捕获设备的设置的技术 Download PDF

Info

Publication number
CN116886835A
CN116886835A CN202310828404.9A CN202310828404A CN116886835A CN 116886835 A CN116886835 A CN 116886835A CN 202310828404 A CN202310828404 A CN 202310828404A CN 116886835 A CN116886835 A CN 116886835A
Authority
CN
China
Prior art keywords
image
examples
weight
pixel
capture device
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
CN202310828404.9A
Other languages
English (en)
Inventor
B·K·史密斯
I·苏纳耶夫
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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN116886835A publication Critical patent/CN116886835A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/72Combination of two or more compensation controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/2224Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
    • H04N5/2226Determination of depth image, e.g. for foreground/background separation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/743Bracketing, i.e. taking a series of images with varying exposure conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Exposure Control For Cameras (AREA)
  • Paper (AREA)
  • Steroid Compounds (AREA)
  • Stereophonic System (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

提供用于确定内容捕获设备的一个或多个设置的方法、系统和计算机程序产品。在一些示例中,为了确定一个或多个设置,可以识别来自内容捕获设备的图像的像素的亮度值。图像中的对象和与对象相关联的信息也可以被识别。与对象相关联的信息可以划分为信息类别。并且使用这些对象和信息,可以为每个类别的信息计算单独的权重阵列。可以组合单独的权重阵列创建总权重阵列来增加亮度值。增加的亮度值可以被聚合以计算图像的加权亮度平均值。基于加权亮度平均值和目标值的差值,可以调整一个或多个设置。

Description

用于确定内容捕获设备的设置的技术
本申请是申请号为201780080066.8的中国专利申请“用于确定内容捕获设备的设置的技术”(申请日为2017年12月13日)的分案申请。
相关申请的交叉引用
本申请要求2016年12月23日提交的题为“Method and System For DeterminingExposure Levels(用于确定曝光水平的方法和系统)”的美国临时专利申请No.62/438,926的优先权,其公开内容出于所有目的通过引用整体并入本文。
背景技术
本公开通常涉及用于确定内容捕获设备的设置(诸如曝光设置)。曝光设置可与内容捕获设备的传感器在捕获内容(例如,图像或视频)时所接收的光量有关。曝光设置的示例包括快门速度、光圈设置或国际标准组织(ISO)速度。
用于设置曝光的传统解决方案由用户操作。例如,用户可以根据自己的喜好调整曝光设置。然而,这被证明是不可靠的,而且常常产生次优的结果。
如今,自动曝光控制(AEC)是相机的标准特征。AEC自动确定图像的曝光设置而无需用户输入。使用AEC,相机可以确定相机的曝光设置。但是,AEC通常测量视场中的光量,而不参考视场中是什么。因此,本领域需要改进的AEC。
发明内容
提供了用于确定内容捕获设备的一个或多个设置(例如,曝光设置和/或增益设置)的技术。在一些示例中,为了确定一个或多个设置,可以识别来自内容捕获设备的图像的像素的亮度值。图像中的对象和与对象相关联的信息也可以被识别。与对象相关联的信息可以划分为类别。并且,使用这些对象和信息,可以为每个类别的信息计算单独的权重阵列。可以组合单独的权重阵列创建总权重阵列来增加亮度值。增加的亮度值可以聚合以计算图像的加权亮度平均值。基于加权亮度平均值和目标值的差值,可以调整一个或多个设置。
在其他示例中,不是为每个类别的信息计算单独的权重阵列,而是可以在基于单独的学习的模型中使用与每个对象相关联的信息。组合每个基于学习的模型的输出,可以创建总权重阵列来增加图像的亮度值。增加的亮度值可以聚合以计算图像的加权亮度平均值。基于加权亮度平均值和目标值的差值,可以调整一个或多个设置。
在其他示例中,如本文所述的加权模型可以用于场景的图像中的对象。然后,相同的权重模型可用于场景的其他图像中的其他对象,使得图像拼接器可以将图像和其他图像组合在一起以创建优化的图像。
通过本公开相对于传统技术实现了许多益处。例如,本公开的实施例通过集中于更高优先级的对象来提供图像的更好曝光。本公开还提供作为混合或增强现实场景的一部分的适当曝光的图像。在一些示例中,本公开甚至可以学习和调整分配给图像中对象的优先级。
当眼睛注视的矢量改变时,一些示例允许基于用户的眼睛注视动态调整曝光。示例还可以基于用户的移动或调整图像中聚焦板(focus reticle)的大小动态地重新排序对象优先级。
本公开还允许基于对象的高动态范围(HDR)方法,其中适当地曝光多个高优先级对象。本公开的这些实施例和其他实施例,以及其许多优点和特征,结合下文和附图进行了更详细的描述。
提供了用于更新内容捕获设备的设置的技术。例如,方法可以包括接收由内容捕获设备捕获的图像。在一些示例中,图像可以包括多个像素。在一些示例中,图像可能不会呈现给用户。该方法还可以包括识别图像的目标亮度值。在一些示例中,目标亮度值可以基于内容捕获设备的曝光设置或增益设置中的至少一个来确定。
该方法还可以包括:识别图像中的对象,将图像的多个像素划分为多个像素组,以及计算多个像素组中的每个像素组的像素组亮度值。该方法还可以包括定义不与对象相关联的第一组像素组,为第一组像素组中的每个像素组设置权重,定义与对象相关联的第二组像素组,以及为第二组像素组中的每个像素组设置权重。在一些示例中,第二组像素组中像素组的权重可以基于第二组像素组与对象之间的关联。在一些示例中,第一像素组中的像素的数量可以等于第二像素组中的像素的数量。在一些示例中,第一像素组可以不同于第二像素组。
该方法还可以包括:对于多个像素组中的每个像素组,使用权重和像素组亮度值来计算图像亮度值。该方法还可以包括基于所计算的差值更新内容捕获设备的设置(例如,增益和/或曝光)。
在一些示例中,该方法可以进一步包括识别图像中的第二对象,定义与第二对象相关联的第三组像素组,以及为第三组像素组中的每个像素组设置权重。在计算图像亮度值时,可以使用为第二对象设置的权重。
在一些示例中,该方法还可以包括识别与对象相关联的附加信息。在这样示例中,附加信息可以是与对象相关联的类别、对象的大小、对象与内容捕获设备的距离,或者对象与内容捕获设备的聚焦板的距离。在一些示例中,第一组像素组中每个像素组的权重可以基于附加信息。在一些示例中,第一组像素组中每个像素组的权重可进一步基于第二附加信息。在这样示例中,附加信息可以不同于第二附加信息。
作为示例,该方法还可以包括识别与对象相关联的附加信息。第一组像素组中每个像素组的权重可以基于附加信息。在另一个示例中,附加信息可以包括与对象相关联的类别、对象的大小、对象与内容捕获设备的距离、或对象与内容捕获设备的聚焦板的距离。
在一些示例中,该方法可以进一步包括识别用户正在看的方向,确定图像上与用户正在看的方向相对应的位置,以及确定该对象距该位置的距离。在一些示例中,第一组像素组中每个像素组的权重可以基于附加信息。第一组像素组中每个像素组的权重可以基于与第二附加信息不同的第二附加信息。
对于另一示例,一种方法可包括接收由内容捕获设备捕获的图像。在一些示例中,图像可以包括多个像素。该方法还可以包括识别图像的目标亮度值。在一些示例中,目标亮度值可以基于视场。该方法还可以包括识别图像中的对象、识别对象的一个或多个属性,以及使用神经网络计算对象的权重。在一些示例中,神经网络可以使用一个或多个属性作为输入。在这样的示例中,对象的一个或多个属性中的属性可以包括对象优先级、对象距离或对象大小。在一些示例中,神经网络可以是多层感知器。该方法还可以包括将图像的多个像素划分为多个像素组。在一些示例中,多个像素组的每个像素组可以是相同的大小。
该方法还可以包括定义不与对象相关联的第一组像素组,以及定义与对象相关联的第二组像素组。该方法还可以包括计算第二组像素组的每个像素组的像素组亮度值。该方法还可以包括计算第二组像素组的每个像素组的像素组亮度值。该方法还可以包括将像素组亮度值乘以权重,以为第二组像素组的每个像素组提供加权像素组亮度值。
该方法还可以包括计算图像的总亮度值。在一些示例中,总亮度值可以包括加权像素组亮度值的总和。该方法还可以包括计算总亮度值和目标亮度值之间的差值,并且基于所计算的差值更新内容捕获设备的设置。一些示例中,内容捕获设备的设置可以与曝光或增益相关联。
该方法还可以包括识别图像中的第二对象,识别第二对象的一个或多个第二属性,定义与第二对象相关联的第三组像素组,以及使用第二神经网络计算第二对象的第二权重。在一些示例中,第二神经网络可以使用一个或多个第二属性作为输入。该方法还可以包括计算第三组像素组的每个像素组的第二像素组亮度值。该方法还可以包括将第二像素组亮度值乘以第二权重,以为第三组像素组的每个像素组提供加权第二像素组亮度值。在一些示例中,总亮度值还可以包括加权第二像素组亮度值的总和。
对于另一示例,一种方法可包括接收由内容捕获设备捕获的第一图像,识别第一图像中的第一对象,以及确定对内容捕获设备的第一设置的第一更新。在一些示例中,可以为第一对象确定第一更新。在一些示例中,第一更新可以使用神经网络来确定。该方法还可以包括接收由内容捕获设备捕获的第二图像。在一些示例中,第二图像可以在第一图像之后被捕获。该方法还可以包括识别第二图像中的第二对象和确定对内容捕获设备的第二设置的第二更新。在一些示例中,可以为第二对象确定第二更新。在一些示例中,第一设置和第二设置可以与曝光或增益相关联。在一些示例中,第一设置可以是第二设置。在一些示例中,第一更新可以与第二更新不同。在一些示例中,第一图像和第二图像可以在相同视场中。该方法还可以包括对内容捕获设备的第一设置执行第一更新,并接收由内容捕获设备捕获的第三图像。在一些示例中,在执行第一更新之后,可以捕获第三图像。该方法还可以包括对内容捕获设备的第二设置执行第二更新,并接收由内容捕获设备捕获的第四图像。在一些示例中,第四图像可以在执行第二更新之后被捕获。该方法还可以包括将所述第三图像和所述第四图像组合成单个图像。在一些示例中,可以使用图像拼接器组合第三图像和第四图像。
根据本发明的实施例,提供了一种方法。该方法包括接收由内容捕获设备捕获的第一图像,并识别第一图像中的预定数量的优先级对象。预定数量大于或等于2。该方法还包括对于预定数量的优先级对象中的每个,确定内容捕获设备的一个或多个设置的一个或多个更新。该方法还包括迭代地:使用一个或多个更新中的每个来更新内容捕获设备,并使用一个或多个更新中的每个来接收由内容捕获设备捕获的预定数量的图像。此外,该方法包括将预定数量的图像拼接在一起以形成复合图像。
对于另一示例,一种方法可包括接收由内容捕获设备捕获的图像。图像可以包括多个像素。该方法还可以包括识别图像的目标亮度值,将图像的多个像素划分为多个像素组,计算多个像素组中每个像素组的像素组亮度值,以及识别图像中的位置。该位置可以对应于在与该图像对应的环境中用户正在观看的点。在一些示例中,可以基于用户的一只或多只眼睛的图像来识别位置。在其他示例中,可以基于用户的注视方向来识别位置。在其他示例中,可以基于图像中识别的对象的位置来识别位置。该方法还可以包括基于所识别的位置为多个像素组中的每一个设置权重,对于多个像素组中的每一个,使用权重和像素组亮度值计算图像亮度值,计算图像亮度值和目标亮度值之间的差值,以及基于计算的差值更新内容捕获设备的设置。设置可以与增益或曝光有关。在一些示例中,该方法还可以包括将图像的多个像素划分为多个块,其中,块可以包括一个或多个像素组。在这样示例中,设置权重可以进一步基于距包括位置的块的距离。在一些示例中,设置权重可以进一步基于距位置的距离。
对于另一示例,一种方法可以包括接收由内容捕获设备捕获的图像,其中该图像包括多个像素。该方法还可以包括识别图像的目标亮度值,将图像的多个像素划分为多个像素组,计算多个像素组中的每个像素组的像素组亮度值,接收与图像对应的深度图,基于深度图为多个像素组中的每个像素组设置权重,对于多个像素组中的每个像素组,使用权重和像素组亮度值计算图像亮度值,计算图像亮度值和目标亮度值之间的差值,并基于所计算的差值更新内容捕获设备的设置。设置可以与增益或曝光有关。在一些示例中,深度图可以指示对于一个或多个点距空间中某个点的距离,其中一个或多个点中的每个点对应于图像的一个或多个像素。在一些示例中,该方法还可以包括与图像捕获同时捕获深度图。在其他示例中,该方法还可以包括在捕获图像之前捕获深度图,其中深度图用于为多个图像设置权重。在一些示例中,可以进一步基于指示来自图像的对象的位置的数据设置权重。指示对象位置的数据可以通过分析图像的像素来确定,以识别与对象的存储图像的一个或多个像素匹配的图像的一个或多个像素。
对于另一示例,一种方法可以包括接收由内容捕获设备捕获的图像,其中该图像包括多个像素。该方法还可以包括识别图像的目标亮度值,将图像的多个像素划分为多个像素组,以及识别图像中的多个块。多个块可以包括第一块和第二块,其中第一块包括一个或多个像素组,并且第二块包括与第一块的一个或多个像素组不同的一个或多个像素组。在一些示例中,可以基于多个像素识别多个块。在一些示例中,可以基于图像中识别的一个或多个对象来识别多个块,其中第一块包括与第一对象相关联的像素。该方法还可包括使用第一模型计算第一块的一个或多个权重,以及使用第二模型计算第二块的一个或多个权重。在一些示例中,第一模型可以基于针对第一块中包括的像素确定的一个或多个属性。在这样示例中,第二模型可以基于针对包括在第二块中的像素确定的一个或多个属性,其中与第一模型相关联的一个或多个属性和与第二模型相关联的一个或多个属性不同。在一些示例中,第一模型是基于针对第一块中包括的像素确定的一个或多个属性的神经网络。在一些示例中,第一块的一个或多个权重可以与第二块的一个或多个权重同时计算。在一些示例中,第一块的大小可以与第二块的大小不同。对于每个像素组,该方法还可以包括计算像素组亮度值并将像素组亮度值乘以权重以提供加权像素组亮度值。该方法还可以包括计算图像的总亮度值,其中总亮度值包括加权像素组亮度值的总和。该方法还可以包括计算总亮度值和目标亮度值之间的差值,并基于所计算的差值更新内容捕获设备的设置。设置可以与增益或曝光有关。
虽然上面已经描述了方法,但应该认识到,计算机产品可以包括存储多个指令的计算机可读介质,指令用于控制计算机系统执行上述任何方法的操作。此外,系统可以包括计算机产品和一个或多个处理器,用于执行存储在计算机可读介质上的指令。此外,系统可以包括执行上述任何方法的装置。此外,可以将系统配置为执行上述任何方法。此外,系统可以包括分别执行上述任何方法的步骤的模块。
本发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独使用以确定所要求保护的主题的范围。应通过引用本专利的整个说明书的适当部分、任何或所有附图以及每项权利要求来理解主题。
以下将在以下说明书、权利要求和附图中更详细地描述前述以及其他特征和示例。
附图说明
下面参考以下附图详细描述说明性实施例。
图1A示出使用自动曝光控制更新内容捕获设备的一个或多个设置的过程的示例。
图1B示出确定如何更新内容捕获设备的一个或多个设置的过程的示例。
图2示出对亮度值加权的各种计量技术的示例。
图3示出对象的优先级权重阵列的示例。
图4示出多个对象的优先级权重阵列的示例。
图5示出聚焦板权重阵列的示例。
图6示出眼睛注视权重阵列的示例。
图7示出归一化总权重阵列的示例。
图8是示出使用第一加权模型的用于自动曝光控制的过程的实施例的流程图。
图9示出可用于自动曝光控制的第二加权模型的第一部分的示例。
图10示出可用于自动曝光控制的第二加权模型的第二部分的示例。
图11是示出使用第二加权模型的用于自动曝光控制的过程的实施例的流程图。
图12A示出可以使用自动曝光控制的多个实例的图像拼接过程的示例。
图12B示出可以使用自动曝光控制的多个实例的图像拼接过程的另一示例。
图12C是示出用于使用自动曝光控制的多个实例的过程的实施例的流程图。
图13示出可用于图像拼接过程的图像流的示例。
图14是示出使用图像拼接过程的自动曝光控制的过程的实施例的流程图。
图15示出计算机系统的框图的示例。
图16示出使用基于用户注视识别的位置的自动曝光控制的过程的实施例的流程图。
图17是示出使用深度图的自动曝光控制的过程的实施例的流程图。
图18是示出使用多个模型的自动曝光控制的过程的实施例的流程图。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以便提供对本公开的实施例的透彻理解。然而,很明显,在没有这些具体细节的情况下,可以实施各种实施例。附图和描述并不具有限制性。
随后的描述仅提供示例性实施例,并且不旨在限制本公开的范围、适用性或配置。相反,随后对示例性实施例的描述将为本领域技术人员提供实施示例性实施例的使能描述。例如,虽然描述可以描述像素信息、图像和/或显示,但应认识到音频可以由增强现实设备生成并呈现给用户,而不是视觉内容或除了视觉内容之外。还应当理解,在不偏离所附权利要求中阐述的本公开的精神和范围的情况下,可以对元件的功能和布置作出各种改变。
本公开通常涉及确定内容捕获设备的曝光设置。曝光设置可以涉及内容捕获设备的传感器在捕获内容(例如,图像或视频)时所接收的光量。曝光设置的示例包括快门速度、光圈设置或国际标准组织(ISO)速度。
用于设置曝光的传统解决方案由用户操作。例如,用户可以根据自己的喜好调整曝光设置。然而,这被证明是不可靠的,而且常常产生次优的结果。
如今,自动曝光控制(AEC)是相机的标准特征。AEC自动确定图像的曝光设置而无需用户输入。使用AEC,相机可以确定相机的曝光设置。在一些示例中,AEC可以与用于视场的自动聚焦控制(AF)和/或自动白平衡控制(AWB)一起运行。在这样的示例中,AEC可最初用于计算对于视场的曝光量的估计。在计算估计之后,AF可以执行以确定视场的焦点量。在一些示例中,在确定焦点量之后,AEC可以继续执行以微调视场的曝光设置。在一些示例中,AWB可以至少部分地与AEC并行执行。在这样的示例中,AWB可以在AF之前或之后完成。在一些示例中,AWB可以在AF完成之后开始执行。虽然上面描述了视场,但应该认识到图像中捕获的场景可以构成视场。
下面进一步描述用于确定内容捕获设备的一个或多个设置(例如,曝光设置和/或增益设置)的技术。在一些示例中,为了确定一个或多个设置,可以识别来自内容捕获设备的图像的像素的亮度值。图像中的对象和与对象相关联的信息也可以被识别。与对象相关联的信息可以分为类别。并且,使用这些对象和信息,可以计算每个信息类别的单独权重阵列。可以组合单独权重阵列以创建总权重阵列来增加亮度值。增加的亮度值可以聚合以计算图像的加权亮度平均值。基于加权亮度平均值和目标的差异,可以调整一个或多个设置。
在其他示例中,不是计算每个信息类别的单独权重阵列,而是可以在单独的基于学习的模型中使用与每个对象相关联的信息。结合每个基于学习的模型的输出,可以创建总权重阵列来增加图像的亮度值。增加的亮度值可以聚合以计算图像的加权亮度平均值。基于加权亮度平均值和目标的差异,可以调整一个或多个设置。
在其他示例中,如本文所述的加权模型可以用于场景的图像中的对象。然后,相同的加权模型可用于场景的其他图像中的其他对象,使得图像拼接器(stitcher)可以将图像和其他图像组合在一起以创建优化图像。
图1A示出使用自动曝光控制(AEC)更新内容捕获设备的一个或多个设置的过程100的示例。在一些示例中,一个或多个设置可以包括曝光设置、增益设置或其任何组合。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。增益设置可以是数字增益、模拟增益或其任何组合。
过程100可以包括接收图像(110)。在一些示例中,可以从内容捕获设备的传感器接收图像。在其他示例中,图像可以包括在提供给过程100的馈送中。应该认识到可以从多个设备和系统接收图像。
在一些示例中,可以在图像缓冲器处接收图像。在这样的示例中,图像可为位映射图像,其包括图像的每个像素的像素信息。在一些示例中,图像缓冲器的大小可以等于图像的像素高度和像素宽度。为了说明,图像缓冲器大小可为640×480,其中640可对应于图像的像素数量的宽度,480可对应于图像的像素数量的高度。
过程100还可以包括将图像划分为像素组(120)。可以预定义每个像素组的大小和形状。在一些示例中,每个像素组的大小和形状可以相同或不同。出于说明目的,像素组将被描述为矩形。然而,应当认识到像素组可以是将图像划分为多个部分的任何形状。例如,像素组可以是从图像中心径向的。在这种示例中,每个像素组可以包括不同的直径范围(例如,第一径向可以距离中心0到1个单位,第二径向可以距离中心1到2个单位,第三径向可以距离中心2到3个单位)。又例如,像素组可以与每个对象相关联(例如,第一对象可以是第一像素组,第二对象可以是第二像素组,图像的其余部分可以是第三像素组)。还应认识到,像素组可以是将图像划分为多个部分的任何其他形式。在一些示例中,像素组可以被布置为使得两个或多个像素组重叠。
在一个说明性示例中,图像可以被划分为96个像素组(12个像素组×8个像素组,其中12对应于沿着图像的宽度的像素组的数量,以及8对应于沿着图像的高度的像素组的数量)。在这种例示中,640×480图像中有12×8像素组意味着每个像素组具有大约50像素的高度以及大约60像素的宽度。虽然此例示表明每个像素组的宽度和高度是不同的,但应注意,像素组的宽度可以与像素组的高度相同。
过程100可以进一步包括计算图像的每个像素组的平均亮度像素组值(130)。在一些示例中,可以通过累加像素组的每个像素的亮度值来计算平均亮度像素组值。在这样示例中,亮度值可以表示图像的亮度(例如,图像的非彩色(achromatic)部分)。在一些示例中,亮度值可以是没有颜色分量的图像的表示。例如,在YUV颜色空间中,亮度值可以是Y。在一些示例中,亮度值是图像的伽马(gamma)压缩的RGB分量的加权和。在这样示例中,亮度值可以称为gamma校正的亮度。在一些示例中,可以由软件或硬件通过将像素组的每个像素的亮度值相加来执行累加。一旦像素组的亮度值被累加,可以将总数除以像素组中的像素数量,以计算像素组的平均亮度像素组值。对于图像中的每个像素组,可以重复此过程。
过程100可以进一步包括执行AEC(140)。AEC可以将图像的每个像素组的平均亮度像素组值作为输入。在一些示例中,AEC方法可以使用权重阵列将权重应用于上面描述的平均亮度像素组值。在这样示例中,AEC还可以将权重阵列作为输入,其可以识别要应用于图像的每个像素组的权重。
在一些示例中,权重阵列可以包括与通过划分图像而创建的像素组对应的像素组。例如,如果图像被划分为25个像素组(5个像素组×5个像素组),则权重阵列可以包括25个像素组(5个像素组×5个像素组)的权重。在这样示例中,图像中最左上的像素组可以对应于权重阵列中最左上的像素组,依此类推。在一些示例中,权重阵列中的每个像素组的值可以基于本文讨论的许多技术,包括计量、对象优先级、聚焦板、眼睛注视、归一化总权重阵列、基于学习的方法等,或其任何组合。
在一些示例中,权重阵列(例如,图1至7和图10中描述的权重阵列)可以与平均亮度像素组值组合以计算加权的亮度像素组。例如,每个平均亮度像素组值可以乘以相应的权重。在其他示例中,可以基于创建的像素组将权重阵列与像素的亮度值组合。在这样示例中,可基于包括像素的像素组来确定应用于像素的权重。例如,如果像素位于图像的左上的像素组中,则与权重阵列中左上的像素组相关联的权重可以应用于该像素。在一些示例中,与像素组相关联的权重可以乘以图像的相应像素组中的每个像素,以计算相应像素组的每个像素的加权亮度值。
在一些示例中,可以将加权亮度值一起平均以创建图像的加权亮度平均值。在一些示例中,加权亮度平均值可以表示为:其中WLA是加权亮度平均值,M是像素组的高度,N是像素组的宽度,w[r,c]是权重阵列中的位置r和位置c,lumaavg[r,c]是位置r和位置c处的像素的平均亮度值。
在其他示例中,权重阵列可以用于局部色调映射。例如,局部色调映射系统可以使用加权阵列来识别应该变亮的视场的部分。这种技术可以处理视场的一部分,而不是如上面描述的一些求平均技术的示例一样处理整个视场。在一些示例中,可以基于权重阵列将设置(例如,曝光设置和/或增益设置)应用于一个或多个部分。在这样示例中,权重阵列可以用作局部色调映射的指导。
在一些示例中,可以对高于预定义阈值的像素执行局部色调映射,其中阈值对应于权重阵列的权重。例如,给定权重高于阈值的像素可以使本地色调映射系统确定对像素的设置(例如,曝光设置和/或增益设置)的调整。在一些示例中,当与阈值比较时,可以使用像素和一个或多个相邻像素。例如,像素和一个或多个相邻像素必须高于用于局部色调映射的阈值,以应用于像素和/或一个或多个相邻像素。在一些示例中,软件和/或硬件可以支持局部色调映射。
在一些示例中,过程100还可以包括更新一个或多个设置。如上所述,一个或多个设置可以包括曝光设置、增益设置或其任何组合。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益为2×和数字增益为4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当减少曝光时,可以在增益设置之前调整增益设置。
图1B示出用于确定如何更新内容捕获设备的一个或多个设置的过程160的示例。该过程可包括比较目标亮度值与亮度值(例如,加权亮度平均值)(步骤170)。
如果加权亮度平均值小于目标亮度平均值预定义的第一阈值,则可以调整一个或多个设置以使图像更亮(步骤172)。例如,如果一个或多个设置的曝光设置没有处于最大允许曝光设置,则曝光设置可以增加(例如,递增地增加)直到最大允许曝光设置(步骤174和176)。在一个说明性示例中,对于每秒30帧的帧速率,最大允许曝光设置可以是16.6ms。但是,应该认识到,即使每秒30帧的帧速率,最大允许曝光设置也可以不同。最大允许曝光设置可以基于ISO速度和内容捕获设备。在一些示例中,内容捕获设备的软件和/或硬件可以确定最大允许曝光设置(例如,最大允许曝光设置可以小于帧周期(1/帧速率)减去在传感器和主处理器之间传输图像的时间)。在一些示例中,最大允许曝光设置可以小于软件和/或硬件所允许的。
如果曝光设置处于最大允许曝光设置,则可以增加(例如,递增地增加)一个或多个设置的增益设置,直到最大允许增益设置(步骤174和178)。在一个说明性示例中,最大允许增益设置可以是8×。然而,应该认识到最大允许增益设置可以不同。最大允许增益设置可以基于所需的图像质量(例如,图像中的噪声可以随着增益设置的增加而增加)和内容捕获设备的软件和/或硬件(例如,传感器可以支持高达某些增益设置)。
如果加权亮度平均值大于目标亮度平均值预定义的第二阈值(其可以与第一阈值相同或不同),则可以调整一个或多个设置以使图像更暗(步骤180)。例如,如果增益设置没有处于最小允许增益设置(例如,1x),则可以将增益设置减小(例如,递增地减小)直到最小允许增益设置(步骤182和184)。在一些示例中,可以基于内容捕获设备的软件和/或硬件(例如,内容捕获设备的传感器)来确定最小允许增益设置。
如果增益设置处于最小允许增益设置,则可以将曝光设置减小(例如,递增地减小)直到最小允许曝光设置(例如,20μsec)(步骤182和186)。最小允许曝光可以对应于基于内容捕获设备的软件和/或硬件(例如,内容捕获设备的传感器)应该曝光的视场的时间量。任何一种情况下的调整量都可以基于加权亮度平均值与目标亮度平均值之间的差量。
在一些实施例中,可提供目标亮度平均值。在这样示例中,可提供并使用目标亮度平均值,直至提供新的目标亮度平均值。在其他示例中,可以为不同情况提供多个目标亮度平均值。例如,室外的目标亮度平均值可以略高于室内的目标亮度平均值,因为室外可能更亮。因此,在一些示例中,可以提供或确定两个不同的目标亮度平均值:一个用于室内,一个用于室外。在其他示例中,可以确定目标亮度平均值。在这样示例中,当前的物理环境可以基于一个或多个传感器来确定。例如,一个或多个传感器可以检测当前物理环境中的光量。在一些示例中,可以使用一个或多个设置的任意组合来确定目标亮度值。
图2示出对加权亮度值的各种计量技术的示例。对于各种计量技术,权重标度(weight scale)210已被提供作为特定权重的关键。权重标度210的每级包括当包括在权重阵列中时对应于特定权重的颜色。例如,权重标度210中的顶部框是最深的颜色,代表1的权重,以及权重标度210中的底部框是最浅的颜色,代表0的权重。虽然权重标度210从顶部框到底部框呈线性变化,但应注意,只要权重标度210在整个单个图像中是一致的,权重标度210可以是不同的。在一些示例中,可以在单个权重阵列中组合下面描述的两种或两种的计量技术。
第一计量技术可以是点计量。在一些示例中,点计量可以指对图像的选定区域的每个像素赋予相同的权重。在这样示例中,点计量可实现为对远离选定区域移动而赋予减小的权重。在一些示例中,可以基于用户的运动(例如,通过在视场中进行屏幕触摸的运动)来识别选定区域。在这样示例中,手指在半空中从第一位置移动到第二位置可以对应于选择区域。虽然没有用户触摸的实际屏幕,但可以检测到运动本身。可选择区域的另一种方式是将手指放在一起,以粗略地创建圆的方式,圆内的所有内容都是选择。在其他示例中,可以出现可由用户移动的虚拟帧。在这种示例中,可以在可以移动和/或调整大小的用户的显示中示出圆。
点计量可以使第一权重被分配给一个或多个第一像素组,并且第二权重被分配给一个或多个第二像素组。通常,基于用户选择识别一个或多个第一像素组。例如,用户可以将手指放在屏幕上指示点。手指的位置可以定义用于点计量的一个或多个第一像素组。点计量的结果可以是点计量权重阵列220。可以看出,点计量权重阵列220包括点222。点222可以是基于用户选择(例如,一个或多个第一像素组)识别的位置。点222包括第一权重,看起来是1。点计量权重阵列220的其余部分(例如,一个或多个第二像素组)包括第二权重,看起来是0。应注意,可以使用不同的权重。还应该注意可以识别多于一个点。
第二计量技术可以是中心计量。在一些示例中,中心计量可以指向图像中心的像素的组赋予更大的权重,以及朝向图像边缘移动减小权重。
中心计量可以基于距权重阵列的点(例如,中心)的距离使得将多个权重分配给像素组。中心计量的结果可以是中心计量权重阵列230。中心计量权重阵列230可包括距离中心特定距离的第一权重。第一权重可以是最大的权重。在中心计量权重阵列230中,第一权重包括在垂直上距中心的两个像素组和水平上距中心的三个像素组中。这说明距中心的距离可以在水平和垂直方向上不同。还应注意,中心计量也可以以其他方式变化,包括对角线。
中心计量权重阵列230还可包括第二、第三、第四和第五权重,每个权重是远离先前权重的一个像素组。在一些示例中,每个连续的权重级可以在权重上减小。例如,第五权重可以小于第四权重,第四权重可以小于第三权重,第三权重以小于第二权重,第二权重可以小于第一权重。同样,应该认识到,中心计量权重阵列只是示例,并且可以使用每个权重级和特定权重的其他配置。
第三计量技术可以是图像计量。图像计量可以使得将单个权重分配给权重阵列的每个像素组。图像计量的结果可以是图像计量权重阵列240。图像计量权重阵列240包括对于每个像素组的单个权重。图像计量可以产生整个场景的平均曝光。
在一些示例中,除了(或代替)计量之外,可以为图像中的一个或多个对象分配影响图像的权重阵列的优先级。通过基于一个或多个对象为权重阵列分配权重,即使一个或多个对象相对于图像和权重阵列移动,一个或多个对象可以在多个图像中保持适当地曝光。一个或多个对象可以通过多个图像适当地曝光,因为权重不是每次应用于单个位置,而是基于一个或多个对象而更改。
图3示出用于图像中对象的优先级权重阵列320的示例。与上面类似,权重标度310被提供为特定权重的关键。在一些示例中,图像中的对象可以通过对象识别系统来识别。在这样示例中,对象识别系统可以识别对象的类别(例如,人、动物、椅子等)。在其他示例中,识别可以识别对象的一个或多个附加细节(除了对象的类别之外)。例如,人的身份可以被识别,动物的识别(例如,这是一只金毛猎犬,或者这是斑点),等等。对象识别系统还可以确定包括对象的像素组。
在一个说明性示例中,如下所示的表可用于将权重分配给所识别的对象。使用这样的表,当对象被识别时,为该对象识别的一个或多个像素组被分配表中的优先级权重。
在一些示例中,活动对象(如上表中所示)可以表示应用程序主动使用的对象。例如,混合现实应用程序可以正在使用表面。在这样的示例中,角色可以在表面上跳舞。为了确保表面是优先级,与表面相关联的权重可以大于图像的其他区域的权重。
在一些示例中,用户选择的对象(如上表中所示)可以表示用户已经选择的对象,类似于上述的点计量。但是,与点计量不同,用户选择的对象可以包括对象被包括在内的所有像素组而不仅仅是手指覆盖的像素组。
在一些示例中,识别的人(如上表中所示)可以表示已经由面部识别系统(或其他识别系统)识别的图像中的人。例如,面部识别系统可以识别出人是克拉克·肯特。在这样的示例中,克拉克·肯特可以被包括在应该被分配更高权重的已识别的人的列表中。此外,在一些示例中,特定的人可以被分配不同的权重。在一些示例中,未包括在列表中的人和/或未按姓名识别的人可以被赋予与已识别的人(诸如上表中的“人”所指示的)不同的权重。
类似地,识别的宠物(如上表中所示)可以表示已经由面部识别系统(或其他识别系统)识别的图像中的宠物。例如,面部识别系统可以将宠物识别为迪克西。在这样的示例中,迪克西可以被包括在应该被分配更高权重的识别的宠物的列表中。此外,在一些示例中,特定的宠物可以被分配不同的权重。在一些示例中,不包括在列表中的宠物和/或未按名称标识的宠物可以被赋予与识别的宠物不同的权重(如上表中的“宠物”所指示的)。
在一些示例中,可以为所识别的一个或多个其他类别的对象(如上表中所示)分配各种权重(例如,宠物、汽车、花、建筑物、昆虫、树木/灌木、艺术品、家具等)。在这样示例中,每个类别都可以被分配权重,该权重可以应用于包括对象的所有像素组。在一些示例中,任何不包括对象的像素组可以被分配不同的权重(如上表中的“其他”所示)。在这样示例中,不同的权重可以是零或者其他一些非零的数字。在大多数示例中,不同的权重可以小于其他权重的一个或多个。在一些示例中,不同的权重可以根据距识别的对象的距离而变化。
在一些示例中,可以预定义表的权重、优先级和对象类型。在一些示例中,权重、优先级和对象类型可以基于对用户的动作的学习而随时间调整。例如,如果用户主要捕获包括特定对象的图像,则该对象可以被分配更高的优先级。对于另一个示例,权重可以基于用户相对于类似场景的多个图像的一个或多个动作而改变。例如,基于哪些图像被删除,可以将优先级权重更新为用户的偏好。与删除类似,与其他人共享的图像可以指示该图像的一个或多个设置是最佳的。
再次参考图3,可以识别包括对象322的图像的区域。基于对象322被识别为什么,包括对象322的优先级权重阵列320的一个或多个像素组可以被分配第一权重。在一些示例中,未包括在对象322中的优先级权重阵列320的一个或多个像素组可以被分配第二权重。虽然优先级权重阵列320示出权重为1的对象322和权重为0的未包括在对象322中的一个或多个像素组,但应认识到任何权重都可以分配给对象322以及未包括在对象322中的一个或多个像素组。
图4示出多个对象的优先级权重阵列420的示例。与上面类似,权重标度410被提供为特定权重的关键。在一些示例中,可以在图像中识别一个或多个对象。在这样示例中,AEC可以使用在图像中识别的一个或多个对象的子集来确定执行。例如,如果在图像中识别了多于一个对象,则AEC可以仅使用对象中的一个来确定执行。在一些示例中,AEC可以基于具有最高优先级的对象来确定执行。在其他示例中,AEC可以基于一个或多个识别的对象而不是识别的所有对象来确定执行。在其他示例中,AEC可以基于识别的所有对象来确定执行。
在一个说明性示例中,一个或多个对象可以包括第一对象422、第二对象424和第三对象426。在一些示例中,可以为每个对象分配权重。在一些示例中,两个或多个权重可以相似,和/或两个或多个权重可以不同。例如,第一对象422可以是活动对象(如上表所述),第二对象424可以是用户选择的对象(如上表所述),以及第三对象426可以是汽车(如上表所述)。
图5示出聚焦板权重阵列530的示例。与上述类似,已提供权重标度510作为特定权重的关键。在一些示例中,聚焦板权重阵列530可以识别图像520中聚焦板522的位置。在一些示例中,可以基于手势、自动对焦控制(AF)(如上所述)和/或改变聚焦板522的大小来调整聚焦板522。在一些示例中,手势可以形成或绘制聚焦板522。在这样的示例中,如果对象在聚焦板522的内部,则对象的像素组可以被赋予更高的权重。如果对象在聚焦板522的边界上,则对象的像素组可以被赋予较小的权重。如果对象在聚焦板522之外,则对象的像素组可以被赋予最小的权重。在一些示例中,可以使用内容捕获设备上的命令或从内容捕获设备(例如手势、远程设备等)远程的命令来调整聚焦板522的大小。在其他示例中,AF可指示作为图像520的焦点的图像520的区域。在这样示例中,该区域中的对象可以被赋予更高的权重。
在一些示例中,类似于中心计量权重阵列230,聚焦板权重阵列530的权重可随着距聚焦板522的中心的距离增加而减小。例如,聚焦板522的中心可具有最高的权重。围绕中心的像素组也可以具有最高的权重。但是,随着距中心距离的增加,像素组的权重量可减小。
在其他示例中,聚焦板权重阵列530可以与对象识别系统一起使用以增加包括至少部分在聚焦板522内的对象的像素组的权重。例如,如果对象重叠或完全包含在聚焦板522中,则可以增加包括对象的像素组的权重。如果对象完全在聚焦板522之外,则可减小包括对象的像素组的权重。
图6示出眼睛注视权重阵列690的示例。与上述类似,权重标度610被提供为特定权重的关键。为了实现眼睛注视权重阵列690,系统可以包括一个或多个眼睛捕获设备。眼睛捕获设备可用于捕获用户的一只或多只眼睛(例如,眼睛660)的一个或多个图像和/或一个或多个视频。图像和/或视频可以进一步处理以确定眼睛660的注视670。在一些示例中,注视670可以指示眼睛660正在看的方向或眼睛660正在看的位置。
在一些示例中,注视670还可以基于用户的眼睛660指示眼睛660正在看的深度。在一些示例中,通过观看左眼和右眼,系统可以确定注视670是在特定深度观看特定对象。在一些示例中,与中心计量权重阵列230类似,眼睛注视权重阵列690的权重可以随着距注视670正在看的位置的距离增加而减小。例如,注视670正在看的位置的中心可以具有最高的权重。围绕中心的像素组也可以具有最高的权重。但是,随着距中心距离的增加,像素组的权重量可减小。
为了说明眼睛注视权重阵列690,注视670可以指向第二组像素组630,其可以包括第二对象632。包括第二对象632的像素组可以被分配最高的权重。然后,可以基于远离第二对象632的距离和/或基于识别的其他对象来分配权重。
例如,可以识别第一组像素组620中的第一对象622和第三组像素组640中的第三对象642。在该示例中,第一组像素组620可被分配对应于与第二对象632的距离和第一对象622的识别的权重。如果第一对象622是具有高优先级的对象,则可以增加第一组像素组的权重。另一方面,如果第一对象622是具有低优先级的对象,则第一组像素组的权重可减小。可以对第三组像素组640和第三对象642执行类似的操作。在一些示例中,在一组像素组(例如,第四组像素组650)中不识别对象。当没有对象被识别时,可以基于与一个或多个对象(例如,第二对象632)的距离或注视670的位置,为一组像素组分配默认值或值。
图16是示出使用基于用户注视识别的位置的自动曝光控制的过程1600的实施例的流程图。在一些方面,过程1600可由计算设备(例如,内容捕获设备(诸如照相机))执行。
过程1600被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,当由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程1600可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包含由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程1600可以包括接收由内容捕获设备捕获的图像(1610)。在一些示例中,图像可以包括多个像素。在一些示例中,图像可以从照相机或其他内容捕获设备接收。在其他示例中,图像可以从图像的馈送(或流)接收。在这样示例中,馈送可以是当前或过去的图像。图6将图像示出为包括第一组块620、第二组块630、第三组块640和第四组块650。应该认识到,图像可以包含比图6中所示更多或更少的组块。
过程1600可以进一步包括识别图像的目标亮度值(1620)。在一些示例中,目标亮度值可以指示图像的最优亮度量。在这样示例中,图像的每个像素可以与亮度值相关联。在一些示例中,目标亮度值可以对应于图像的亮度值的平均值。在其他示例中,目标亮度值可以对应于图像的亮度值的加权平均值。在其他示例中,目标亮度值可以对应于将权重阵列与亮度值相乘后得到的数字。
在一些示例中,可以预定义目标亮度值。在其他示例中,可以基于一个或多个传感器确定目标亮度值。对于一个说明性示例,传感器可以检测到环境中的光量。基于光量,可以设置目标亮度值。在这样的示例中,可以存在目标亮度值的阈值。例如,如果光量高于某一量,则目标亮度值可以是某一量。
过程1600可以进一步包括将图像的多个像素划分为多个像素组(1630)。在一些示例中,像素组可以表示连续(或相邻/邻接)像素组。在这样示例中,像素组的形状可以变化。例如,每个像素组可以是矩形或正方形,这样图像可以划分为行和列。在其他示例中,每个像素组可以包括来自图像的中心的某些数量的像素。在一些示例中,不同的像素组可以是不同的形状(例如,如果创建像素组使得其包括对象)。在一些示例中,像素组可以具有不同的大小。在一些示例中,像素组可以被布置为使得两个或多个像素组重叠。
过程1640可以进一步包括为多个像素组中的每一个计算像素组亮度值(1640)。在一些示例中,像素组的像素组亮度值可以包括像素组的每个像素的亮度值的平均值。在其他示例中,像素组亮度值可以是像素组的每个像素的亮度值之和。在其他示例中,像素组亮度值可以是每个像素的亮度值和图像的平均亮度值之间的差值。例如,考虑到每个像素,可以为图像计算平均亮度值。然后,可使用平均亮度值计算每个像素的差值,以使得为像素组生成与平均亮度值的差值。应该认识到,可以使用像素组的亮度值的其他汇总值。
过程1600还可以包括识别图像中的位置(1650)。该位置可以对应于用户正在观看与图像对应的环境(即,用户所在的物理区域)的点。例如,图像可以对应于用户正在观看的一般方向。位置可以是图像中确定用户实际观看的位置。
在一些示例中,可以基于用户的一只或多只眼睛的眼睛图像来识别位置。眼睛图像可以与上述图像分离。在这样示例中,可以分析眼睛图像以识别用户在看的位置。例如,可以确定眼睛图像的一个或多个像素的每组对应于图像的一个或多个像素的不同组。在这样的示例中,如果确定眼睛图像中的一个或多个眼睛正在看眼睛图像的一个或多个像素的特定组,则可以将图像中的位置识别为与眼睛图像的一个或多个像素的特定组对应的图像的一个或多个像素的组。应该认识到,可以使用多于一个眼睛图像。例如,可以使用第一只眼睛的眼睛图像和第二只眼睛的眼睛图像。在一些示例中,位置可以对应于图像中识别的对象的位置。还应认识到,可以使用基于用户的一只或多只眼睛的眼睛图像来识别用户正在看的位置的其他方法。
在其他示例中,可以基于用户的注视方向来识别位置。在这样的示例中,代替使用用户的一只或多只眼睛的眼睛图像,可以使用用户佩戴的设备的取向。在一个说明性示例中,取向可以包括俯仰、偏航和滚动的一组中的一个或多个。在这种示例中,测量设备的取向的传感器(例如,陀螺仪)可以包括在设备中。应该认识到,可以使用基于设备的取向来识别用户正在看的位置的其他方法。
过程1600可以进一步包括基于所识别的位置为多个像素组中的每一个设置权重(1660)。例如,与更接近所识别的位置的位置对应的像素组可以被设置为比与距所识别的位置较远的位置对应的像素组更高的权重。应认识到,权重可根据其他方法设置。图6示出了针对眼睛权重阵列690的像素组设置的权重。
在一些示例中,过程1600还可以包括将图像的多个像素划分为多个块,其中块包括一个或多个像素组。在这样的示例中,设置权重可以进一步基于距包括位置的块的距离。图6示出将图像的多个像素划分为多个块。例如,第一块可以是第一组块620,第二块可以是第二组块630,第三块可以是第三组块640,第四块可以是第四组块650。应该认识到,图像可以划分为比图6中所示更多或更少的组块。
过程1600可以进一步包括针对多个像素组中的每一个使用权重和像素组亮度值来计算图像亮度值(1670)。在一些示例中,计算图像亮度值可以包括对每个加权像素组亮度值求和,其中可以通过将与像素组相关联的权重与与像素组相关联的亮度值相乘来计算加权像素组亮度值。
过程1600可以进一步包括计算图像亮度值和目标亮度值之间的差值(1680),并且基于计算的差值更新内容捕获设备的设置(1690)。在一些示例中,设置可以是曝光设置或增益设置。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益2×和数字增益4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当降低曝光时,可在曝光设置之前调整增益设置。在一些示例中,调整量可以与差值成比例。例如,如果图像亮度值和目标亮度值之间的差值较大,则调整可以更大。
图7示出图像720的归一化总权重阵列730的示例。与上述类似,权重标度710被提供为特定权重的关键。在一些示例中,归一化总权重阵列730可以是两个或多个权重阵列的组合。在这样示例中,可基于包括上文所述的方法(例如,计量、注视、聚焦板等)的任何方法生成两个或多个权重阵列。
在一些示例中,归一化总权重阵列730可以基于图像720。在这样的示例中,可以识别图像720中的一个或多个对象(例如,妇女722,儿童724,猫726,玩具屋728和玩具卡车729)。基于识别一个或多个对象,可以生成一个或多个权重阵列。
例如,可以生成对象优先级权重阵列740(类似于优先级权重阵列420)。对象优先级权重阵列740可以将权重分配给包含一个或多个对象的像素组。在一些示例中,权重可以基于如上图3所述的表。例如,人可以比动物与更高的权重相关联。因此,包括妇女722和儿童724的像素组可以被赋予比包括猫726的像素组更高的权重。此外,玩具可以比动物与更低的权重相关联,因此,包括玩具屋728和玩具卡车729的像素组可以具有比包括猫726的像素组更低的权重。其他不包括识别的对象的像素组可以具有比玩具更低的权重。例如,图7的图示示出其他像素组的权重为0;然而,权重可以是非零的。
对于另一示例,可以使用一个或多个识别的对象生成对象距离权重阵列750。在这样的示例中,对象距离权重阵列750还可以基于深度图。深度图可以根据图像(或一组图像)创建,并描述每个像素的深度。使用深度图,识别的对象可以与深度相关联。然后,靠近图像源(例如,获取图像720的内容捕获设备)的对象可以被分配更高的权重。
例如,玩具屋728的像素组可以被赋予最高权重,因为玩具屋是最靠近的对象。妇女722、儿童724和猫726的像素组可以被分配一个类似的权重,该权重小于玩具屋728的权重,因为这些对象距图像源大约相同的距离,但比玩具屋728距图像源更远。同样,玩具卡车729的像素组可以被分配识别的对象的最小权重,因为玩具卡车729是最远的对象。在一些示例中,不包括对象的其他像素组可以被分配为零的权重,或小于分配给对象的像素组的权重的其他非零权重。
在其他示例中,无论是否识别出对象,都可以为每个像素组分配权重。在这样示例中,不需要识别对象,因为每个权重可以对应于深度图中的值。应认识到,可使用基于距离对对象加权的其他方法。
对于另一示例,可以使用一个或多个识别的对象生成对象大小权重阵列760。虽然可以用几种不同的方法计算对象的大小,但确定对象大小的一种方法是计算在对象大小权重阵列760中为对象识别的像素组的数量。
在一些示例中,在计算每个识别的对象的大小之后,可以为每个识别的对象的像素组分配与其大小成比例的权重。例如,玩具屋728可以被赋予最大的权重,因为它是最大的对象。在一个说明性示例中,妇女722、儿童724和玩具卡车729可以都被赋予相同的权重,因为它们的大小都类似。猫726可被赋予最小的权重,因为它是最小的。不包括已识别对象的其他像素组可被赋予零权重或小于已识别对象的最小权重的非零权重。
在其他示例中,在计算每个识别的对象的大小之后,可以为每个识别的对象的像素组赋予针对所识别的对象识别的每个像素组的权重的百分比。例如,如果每个像素组的值为.1权重,则具有4个像素组的对象将为.4权重。在其他示例中,每个像素组的权重量值可以是最大对象的百分比。例如,最大对象可以被赋予权重1。并且如果该对象是10个像素组大,则具有5个像素组的对象可以被赋予.5权重。应认识到,可使用基于大小对对象加权的其他方法。
对于另一示例,可以生成一个或多个计量权重阵列,如图2描述的。在一个说明性示例中,可以生成中心计量权重阵列770(类似于中心计量权重阵列230)。
对于另一示例,可以生成眼睛注视权重阵列790(类似于眼睛注视权重阵列690)。
在一些示例中,图像720还可以包括与图4所述的聚焦板相关联的信息。单独或与所识别的对象组合的聚焦板可用于生成聚焦板权重阵列780(类似于聚焦板权重阵列530)。
如上所述,在生成两个或多个权重阵列之后,可以组合两个或多个权重阵列以创建归一化总权重阵列730。例如,可以组合跨越多个权重阵列的像素组的权重(例如,相乘在一起)以生成像素组的更新权重。归一化总权重阵列730可以与平均亮度像素组值组合以计算加权亮度像素组,如上图1所示。在一些示例中,归一化总权重阵列730可以表示为:其中Nw是权重阵列的数量。在一些示例中,可以执行总权重阵列的归一化,以使总权重阵列根据具有值1的最大权重和具有最小值wT[r,c](例如,0)的最小权重进行标度(scale)。在一些示例中,可以跳过归一化,因为加权亮度平均值通过除以总权重阵列的总和自动标度结果。
图8是说明使用第一加权模型的自动曝光控制的过程的实施例的流程图。在一些方面,过程800可由计算设备执行。
过程800被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程800可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包含由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程800可以包括接收由内容捕获设备捕获的图像(805)。在一些示例中,图像可以包括多个像素。在一些示例中,图像可以从照相机或其他内容捕获设备接收。在其他示例中,图像可以从图像的馈送(或流)接收。在这样示例中,馈送可以是当前或过去的图像。
过程800还可以包括识别图像的目标亮度值(810)。在一些示例中,目标亮度值可以指示图像的最优亮度量。在这样示例中,图像的每个像素可以与亮度值相关联。在一些示例中,目标亮度值可以对应于图像的亮度值的平均值。在其他示例中,目标亮度值可以对应于图像的亮度值的加权平均值。在其他示例中,目标亮度值可以对应于将权重阵列与亮度值相乘所得到的数。
在一些示例中,可预定义目标亮度值。在其他示例中,可以基于一个或多个传感器确定目标亮度值。对于一个说明性示例,传感器可以检测到环境中的光量。基于光量,可以设置目标亮度值。在这样的示例中,可以存在目标亮度值的阈值。例如,如果光量高于某一量,则目标亮度值可以是某一量。
过程800还可以包括识别图像中的对象(815)。在一些示例中,可以使用对象识别系统来识别对象。在这样示例中,对象识别系统可识别对象的类型(例如,人、动物、建筑物等)。在其他示例中,对象识别系统可以识别对象的一个或多个属性,这些属性不仅仅指示对象的类型(例如,对象是Bill Nye)。在一些示例中,对象识别系统可以识别对象是否正在被另一个系统(诸如确定在何处放置虚拟对象的混合现实系统)处理。
过程800还可以包括将图像的多个像素划分为多个像素组(820)。在一些示例中,像素组可以表示连续(或相邻/邻接)的像素组。在这样示例中,像素组的形状可以变化。例如,每个像素组可以是矩形或正方形,使得图像被划分为行和列。在其他示例中,每个像素组可以包括距图像中心的特定数量的像素。在一些示例中,不同的像素组可以是不同的形状(例如,如果创建像素组使得其包括对象)。在一些示例中,像素组可以具有不同的大小。在一些示例中,像素组可以被布置为使得两个或多个像素组重叠。
过程800可以进一步包括为多个像素组中的每一个计算像素组亮度值(825)。在一些示例中,像素组的像素组亮度值可以包括像素组的每个像素的亮度值的平均值。在其他示例中,像素组亮度值可以是像素组中每个像素的亮度值之和。在其他示例中,像素组亮度值可以是每个像素的亮度值和图像的平均亮度值之间的差值。例如,考虑到每个像素,可以为图像计算平均亮度值。然后,可使用平均亮度值以计算每个像素的差值,使得为像素组生成与平均亮度值的差值。应该认识到,可以使用像素组的亮度值的其他汇总值。
过程800还可以包括定义与对象不相关联的第一组像素组(830)。在一些示例中,第一组像素组可以包括一个或多个其他对象和/或没有对象。在一些示例中,与对象不相关联可以指示已识别为对象的一个或多个像素的像素不包括在第一组像素组中。
过程800还可以包括为第一组像素组中的每个像素组设置权重(835)。在一些示例中,第一组像素组中的每个像素组的权重可以基于如上参考图3所述的表。在其他示例中,第一组像素组中每个像素组的权重可以自动设置为零,因为对象不包括在像素组中。应该认识到,可以使用确定没有对象的像素组的权重的其他方式。
过程800可以进一步包括定义与对象相关联的第二组像素组(840)。在一些示例中,与对象相关联可以指示已经被识别为对象的一个或多个像素的像素被包括在第二组像素组中。
过程800还可以包括为第二组像素组中的每个像素组设置权重(845)。类似于如上所述,第二组像素组中的每个像素组的权重可以基于如上关于图3所述的表。在其他示例中,第二组像素组中每个像素组的权重可以自动设置为1,因为对象包括在像素组中。应该认识到,可以使用确定具有对象的像素组的权重的其他方式。
过程800还可以包括:对于多个像素组中的每一个,使用权重和像素组亮度值来计算图像亮度值(850)。在一些示例中,计算图像亮度值可以包括对每个加权像素组亮度值求和,其中可以通过将与像素组相关联的权重与与像素组相关联的亮度值相乘来计算加权像素组亮度值。
过程800可以进一步包括计算图像亮度值和目标亮度值之间的差值(855),并且基于计算的差值更新内容捕获设备的设置(860)。在一些示例中,设置可以是曝光设置或增益设置。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益为2×和数字增益为4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当降低曝光时,可在曝光设置之前调整增益设置。在一些示例中,调整量可以与差值成比例。例如,如果图像亮度值和目标亮度值之间的差值较大,则调整可以更大。
使用上面关于图1描述的加权亮度平均等式,通过将与权重相关联的阵列设置为一(unity),可以对第一加权模型禁用特定权重。
图17是示出使用深度图的自动曝光控制的过程1700的实施例的流程图。深度图可以包括一个或多个距离,其中对于一个或多个距离中的每个,测量距单个点的距离。每个距离可以对应于图像中的一个或多个像素,使得每个距离指示一个或多个像素中包括的内容与单个点的距离。
在一些方面,过程1700可以由计算设备(例如,诸如照相机的内容捕获设备)执行。过程1700被示为逻辑流程图,逻辑流程图的操作表示可以在硬件、计算机指令或其组合中实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,这些指令执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程1700可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包含由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程1700可以包括接收由内容捕获设备捕获的图像(1710)。在一些示例中,图像可以包括多个像素。在一些示例中,图像可以从照相机或其他内容捕获设备接收。在其他示例中,图像可以从图像的馈送(或流)接收。在这样示例中,馈送可以是当前或过去的图像。
过程1700还可以包括识别图像的目标亮度值(1720)。在一些示例中,目标亮度值可以指示图像的最优亮度量。在这样的示例中,图像的每个像素可以与亮度值相关联。在一些示例中,目标亮度值可以对应于图像的亮度值的平均值。在其他示例中,目标亮度值可以对应于图像的亮度值的加权平均值。在其他示例中,目标亮度值可以对应于将权重阵列与亮度值相乘所得的数字。
在一些示例中,可以预定义目标亮度值。在其他示例中,可以基于一个或多个传感器确定目标亮度值。对于一个说明性示例,传感器可以检测到环境中的光量。基于光量,可以设置目标亮度值。在这样的示例中,可以存在目标亮度值的阈值。例如,如果光量高于某一量,则目标亮度值可以是某一量。
过程1700还可以包括将图像的多个像素划分为多个像素组(1730)。在一些示例中,像素组可以表示连续(或相邻/邻接)的像素组。在这样示例中,像素组的形状可以变化。例如,每个像素组可以是矩形或正方形,使得图像被划分为行和列。在其他示例中,每个像素组可以包括来自图像的中心的特定数量的像素。在一些示例中,不同的像素组可以是不同的形状(例如,如果创建像素组使得其包括对象)。在一些示例中,像素组可以具有不同的大小。在一些示例中,像素组可以被布置为使得两个或多个像素组重叠。
过程1740可以进一步包括为多个像素组中的每一个计算像素组亮度值(1740)。在一些示例中,像素组的像素组亮度值可以包括像素组的每个像素的亮度值的平均值。在其他示例中,像素组亮度值可以是像素组中每个像素的亮度值之和。在其他示例中,像素组亮度值可以是每个像素的亮度值和图像的平均亮度值之间的差值。例如,考虑到每个像素,可以计算图像的平均亮度值。然后,可使用平均亮度值计算每个像素的差值,使得为像素组生成与平均亮度值的差值。应该认识到,可以使用像素组的亮度值的其他汇总值。
过程1700可以进一步包括接收与图像对应的深度图(1750)。如上所述,深度图可以包括一个或多个距离,其中对于一个或多个距离中的每一个从单个点测量距离。每个距离可以对应于图像中的一个或多个像素,使得每个距离指示一个或多个像素中包括的内容与单个点的距离。
在一些示例中,可以与上述图像捕获同时捕获深度图。例如,每当捕获图像以用于确定内容捕获设备的设置时,也可以捕获深度图。在其他示例中,深度图可以在图像捕获之前的某些点捕获,使得深度图可以用于为多个图像设置权重。在这样示例中,深度图可以基于图像被捕获的取向来使用。例如,一个或多个深度图中的每一个可以对应于不同的取向。当在特定取向拍摄图像时,在设置用于确定内容捕获设备的设置的权重时,可以使用与特定取向对应的深度图(或深度图的一部分)。
参考图7,深度图可以指示妇女722、儿童724、猫726、玩具屋728和玩具卡车729中的每个与内容捕获设备的距离。应该认识到,距离可以不是基于对象的,而是基于像素的,使得距离是针对像素而不是对象的。还应认识到,深度图可以以与上述不同的方式指示深度。
过程1700可以进一步包括基于深度图为多个像素组中的每一个设置权重(1760)。可以设置权重使得一个或多个像素的较近组高于一个或多个像素的较远组。在一些示例中,可以进一步基于指示来自图像的对象的位置的数据来设置权重。例如,如图7所示,设置对象距离权重阵列750中的权重,使得仅被识别为与对象相关联的像素被赋予权重。应该认识到,其他像素可以设置为零或更多的不同权重。在一些示例中,指示对象的位置的数据是通过分析图像的像素来确定,以识别与对象的存储图像的一个或多个像素匹配的图像的一个或多个像素。还应该认识到距离权重阵列可以是设置权重的结果,距离权重阵列不是基于图像中识别的对象。还应该认识到,可以使用除以上描述以外的使用深度图设置权重的其他方法。
过程1700还可以包括:对于多个像素组中的每一个,使用权重和像素组亮度值来计算图像亮度值(1770)。在一些示例中,计算图像亮度值可以包括对每个加权像素组亮度值求和,其中可以通过将与像素组相关联的权重与与像素组相关联的亮度值相乘来计算加权像素组亮度值。
过程1700可以进一步包括计算图像亮度值和目标亮度值之间的差值(1780),并且基于计算的差值更新内容捕获设备的设置(1790)。在一些示例中,设置可以是曝光设置或增益设置。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益为2×和数字增益为4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当降低曝光时,可在曝光设置之前调整增益设置。在一些示例中,调整量可以与差值成比例。例如,如果图像亮度值和目标亮度值之间的差值较大,则调整可以更大。
图9示出用于自动曝光控制(AEC)的第二加权模型的第一部分的示例。在一些示例中,第二加权模型可以独立于图像中的其他内容来处理图像的每个对象。在这样示例中,基于学习的模型(例如,神经网络、聚类等)可用于图像的每个对象(或对象的子集)。基于学习的模型可以输出要用作对象的每个像素组的权重的值。在为图像的每个对象生成权重之后,可以通过对每个对象的每个权重阵列求和来创建最终的权重阵列。这与将权重阵列相乘在一起的第一加权模型不同。在其他示例中,基于学习的模型可用于对象的每个像素组。在这样示例中,过程的其余部分将类似于类似于具有针对每个对象的基于学习的模型来执行,除了具有用于对象的每个像素组的单个值之外,将针对每个像素组计算值。在其他示例中,基于学习的模型可用于对象的每个权重(例如,对象距离、对象优先级、计量等)。在这样示例中,单个对象的权重将需要如上面针对第一加权模型所讨论的那样组合。在组合每个对象的权重之后,过程的其余部分可以像第二权重模型那样继续。
在一个说明性示例中,第二加权模型可以利用一个或多个神经网络(例如,多层感知器)来确定权重阵列。在一些示例中,第二加权模型可以为图像中的一个或多个识别的对象中的每个创建神经网络。在这样示例中,对神经网络的输入可以包括与上面描述的权重阵列类似的权重。在一个说明性示例中,权重可以包括:对象优先级-{.1...1};对象大小-小、中或大{.5,.75,1};对象距离-近、中或远{.5,.75,1};计量-边缘到中心{.9...1};聚焦板-内、近或外{.5,.75或1};眼睛注视-“在矢量处”、“在矢量附近”或“在矢量外”{.5,.75,1}。
在上面的示例中,对象优先级权重可以指示对象的优先级。对象的优先级可以在0和1之间。在一些示例中,优先级可以通过如上参考图3描述的表来定义。
对象大小权重可以指示对象的大小。对象的大小可以是列举集合(例如,小,中或大)中的一个。在一些示例中,可以预先定义与列举集合中的每一个对应的大小(例如,如果对象包含在三个或更少的像素组中,则该对象是小,并接收.5的权重;如果对象包含在四到六个像素组中,则该对象是中,并接收.75的权重;如果对象包含在六个或更多像素组中,则该对象是大,并接收1的权重)。在其他示例中,对象的大小可以只是包含该对象的像素组的数量。
对象距离权重可以指示距图像源(例如,内容捕获设备)的距离。对象的距离可以是列举集合(例如,近、中或远)中的一个。在一些示例中,可以预先定义与列举集合中的每一个相对应的距离(例如,如果对象在图像源的10英尺内,则该对象是近并接收.5的权重;如果对象在图像源的10和50英尺之间,则该对象是中并接收.75的权重;如果对象距图像源50超过英尺,则该对象是远并且接收1的权重)。在一些示例中,可以使用深度捕获设备生成的深度图来计算距离。
计量权重可以指示根据如上所述的一种或多种计量技术与对象相关联的值。例如,如果对象靠近图像的视场的边缘,则可以分配0.9的权重值。如果对象位于视场的中心处,则可以分配1.0的权重值。
聚焦板权重可以指示对象相对于聚焦板的位置。聚焦板的值可以是列举集合(例如,内、近或外)中的一个。在一些示例中,列举集合的值可以预先定义(例如,如果对象在聚焦板内,则该对象位于内并接收.5的权重;如果对象与聚焦板重叠,则该对象是近并接收.75的权重;如果对象在聚焦板外,则该对象在外并接收1的权重)。
眼睛注视权重可以指示相对于对象用户正在看的位置。眼睛注视的值可以是列举集合(例如,“在矢量处”、“在矢量附近”或“在矢量外”)中的一个。在一些示例中,列举集合的值可以预先定义(例如,如果眼睛注视是距离对象的第二距离(大于第一距离),则眼睛注视是“在矢量外”,并接收.5的权重;如果眼睛注视是距离对象的第一距离,则眼睛注视是“在矢量附近”,并且接收.75的权重;如果眼睛注视是朝向对象,则眼睛注视是“在矢量处”,并且接收1的权重)。
参考图9,可使用第一对象(910)的第一神经网络。对于第一神经网络,上面针对第一对象描述的每个权重可以是输入920的输入。例如,对象优先级权重可以是曝光权重参数1(922),对象大小权重可以是曝光权重参数2(924),以及眼睛注视权重可以是曝光权重参数n(926)。应该认识到,任何数量的权重都可以用作输入920。
输入920然后可以被传递到隐藏层930。虽然隐藏层930被示为一个级别,但是根据神经网络的实现可以存在更多级别。对于隐藏层930的每个级别,前一级别的每个值(其将是第一级别的输入920)乘以由神经网络未该级别的每个节点(例如,节点932、节点934、节点936和节点938)确定的值。在每个节点处,函数应用于节点的输入。在隐藏层930完成之后,将最终值乘以每个输出,并组合结果以创建对象1曝光权重(922)。
如在图9中可以看到的,可以对图像中的每个对象(例如,对象2神经网络(950)和对象M神经网络(960))执行如上所述的类似过程。
图10示出可用于自动曝光控制(AEC)的第二加权模型的第二部分的示例。第二部分可以示出在对图像中的每个对象执行一个或多个神经网络之后会发生什么。每个神经网络(例如,对象1神经网络1030、对象2神经网络1040、对象3神经网络1050、对象4神经网络1060以及对象5神经网络1070)可以输出单个值(如上所述)。单个值可以是与神经网络相关联的对象的权重。
单个值可以应用于对象的所有像素组(如总权重阵列1080中所示)。为了说明等式,总权重阵列wT可以是来自每个对象的神经网络的输出的总和,例如:
其中NO是对象的数量。
在生成总权重阵列1080之后,可以将总权重阵列1080与目标进行比较,如上面参考图1所述。此外,使用上述关于图1的加权亮度平均等式,通过将与权重相关联的阵列设置为零,可以禁用第二加权模型的特定权重。
图11是示出使用第二加权模型的用于自动曝光控制(AEC)的过程1100的实施例的流程图。在一些方面,过程1100可由计算设备执行。
过程1100被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,这些指令执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程1100可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包含由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程1100可以包括接收由内容捕获设备捕获的图像(1105)。在一些示例中,图像可以包括多个像素。在一些示例中,图像可以从照相机或其他内容捕获设备接收。在其他示例中,图像可以从图像的馈送(或流)接收。在这样的示例中,馈送可以是当前或过去的图像。
过程1100可以进一步包括识别图像的目标亮度值(1110)。在一些示例中,目标亮度值可以指示图像的最优亮度量。在这样的示例中,图像的每个像素可以与亮度值相关联。在一些示例中,目标亮度值可以对应于图像的亮度值的平均值。在其他示例中,目标亮度值可以对应于图像的亮度值的加权平均值。在一些示例中,目标亮度值可以是预先定义的。在其他示例中,可以基于一个或多个传感器确定目标亮度值。对于一个说明性示例,传感器可以检测到环境中的光量。
过程1100还可以包括识别图像中的对象(1115)。在一些示例中,可以使用对象识别系统来识别对象。在这样示例中,对象识别系统可识别对象的类型(例如,人、动物、建筑物等)。在其他示例中,对象识别系统可以识别对象的一个或多个属性或特征,而不仅仅是对象的类型(例如,对象是Shania Twain)。在一些示例中,对象识别系统可以识别对象是否正在被另一个系统(例如,确定在何处放置虚拟对象的混合现实系统)处理。
过程1100还可以包括识别对象的一个或多个属性(1120)。在一些示例中,属性可以与权重阵列相关联,例如用于以下的权重阵列:对象优先级、对象大小、对象距离、计量、聚焦板、眼睛注视等(如参考图9所述)。在这样的示例中,属性可以是表示对象的每个像素组的权重的平均值的单个值。
过程1100可以进一步包括使用神经网络计算对象的权重(1125)。在一些示例中,神经网络可以使用一个或多个属性作为输入(如参考图9所述)。在这样的示例中,一个或多个属性可以与单个对象相关联。附加的神经网络可用于一个或多个其他对象(或一个或多个其他对象中的每一个)。在其他示例中,神经网络可以与多个对象相关联。
过程1100可以进一步包括将图像的多个像素划分为多个像素组(1130)。在一些示例中,像素组可以表示连续(或相邻/邻接)的像素组。在这样示例中,像素组的形状可以变化。例如,每个像素组可以是矩形或正方形,使得图像可以被划分为行和列。在其他示例中,每个像素组可以包括来自图像的中心的特定数量的像素。在一些示例中,不同的像素组可以是不同的形状(例如,如果创建像素组使得其包括对象)。在一些示例中,像素组可以具有不同的大小。
过程1100还可以包括定义与对象不相关联的第一组像素组(1135)。在一些示例中,第一组像素组可以包括一个或多个其他对象和/或没有对象。在一些示例中,不与对象相关联可以指示已识别为对象的一个或多个像素中的像素不包括在第一组像素组中。
过程1100可以进一步包括定义与对象相关联的第二组像素组(1140)。在一些示例中,与对象相关联可以指示已被识别为对象的一个或多个像素中的像素包括在第二组像素组中。
过程1100可以进一步包括计算第二组像素组的每个像素组的像素组亮度值(1145A)。在一些示例中,像素组的像素组亮度值可以包括像素组中的每个像素的亮度值的平均值。在其他示例中,像素组亮度值可以是像素组中的每个像素的亮度值之和。在其他示例中,像素组亮度值可以是每个像素的亮度值和图像的平均亮度值之间的差值。例如,考虑到每个像素,可以计算帧的平均亮度值。然后,可使用平均亮度值计算每个像素的差值,使得为像素组生成与平均亮度值的差值。应该认识到,可以使用像素组的亮度值的其他汇总值。
另外,过程1100还可以包括将像素组亮度值乘以权重,以为第二组像素组的每个像素组提供加权像素组亮度值(1145B)。在一些示例中,与对象相关联的每个像素组的权重可以相同。
过程1100可以进一步包括计算图像的总亮度值(1150)。在一些示例中,总亮度值可以包括加权像素组亮度值的总和。在一些示例中,计算图像亮度值可以包括对每个加权像素组亮度值求和,其中加权像素组亮度值可以通过将与像素组相关联的权重与与像素组相关联的亮度值相乘来计算。
过程1100可以进一步包括计算总亮度值和目标亮度值之间的差值(1155),并且基于计算的差值更新内容捕获设备的设置(1160)。在一些示例中,设置可以是曝光设置或增益设置。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益为2×和数字增益为4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当降低曝光时,可在曝光设置之前调整增益设置。在一些示例中,调整量可以与值差成比例。例如,如果图像亮度值和目标亮度值之间的差值较大,则调整可以更大。
图18是示出使用多个模型的用于自动曝光控制的过程1800的实施例的流程图。当使用多个模型时,多个模型中的两个或多个可以是相同或不同类型的模型。例如,可以使用多个神经网络(如上图9-11所述)。当使用多个模型时(根据该图),多个模型中的每个可以为图像的特定部分提供权重,使得与多个模型中的每个相关联的权重就不重叠。
在一些方面,过程1800可以由计算设备执行。过程1800示出为逻辑流程图,逻辑流程图的操作表示可以在硬件、计算机指令或其组合中实现的一系列操作。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程1800可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包括由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程1800可以包括接收由内容捕获设备捕获的图像(1802)。在一些示例中,图像可以包括多个像素。在一些示例中,图像可以从照相机或其他内容捕获设备接收。在其他示例中,图像可以从图像的馈送(或流)接收。在这样示例中,馈送可以是最近拍摄或存储的图像。
过程1800可以进一步包括识别图像的目标亮度值(1804)。在一些示例中,目标亮度值可以指示图像的最优亮度量。在这样示例中,图像的每个像素可以与亮度值相关联。在一些示例中,目标亮度值可以对应于图像的亮度值的平均值。在其他示例中,目标亮度值可以对应于图像的亮度值的加权平均值。在一些示例中,目标亮度值可以是预先定义的。在其他示例中,可以基于一个或多个传感器确定目标亮度值。对于一个说明性示例,传感器可以检测到环境中的光量。
过程1800可以进一步包括将图像的多个像素划分为多个像素组(1806)。在一些示例中,像素组可以表示连续(或相邻/邻接)的像素组。在这样示例中,像素组的形状可以变化。例如,每个像素组可以是矩形或正方形,使得图像可以被划分为行和列。在其他示例中,每个像素组可以包括来自图像的中心的特定数量的像素。在一些示例中,不同的像素组可以是不同的形状(例如,如果创建像素组使得其包括对象)。在一些示例中,像素组可以具有不同的大小。
过程1800还可以包括识别图像中的多个块(1808)。多个块可以包括第一块和第二块。每个块可以包括一个或多个像素组。在一些示例中,一些块可以包括比其他块更多或更少的像素组。在一些示例中,块可以基于图像的内容来识别。例如,可以在图像中识别一个或多个对象,其中每个块包括不同对象的像素。在其他示例中,每个块可以是一组一个或多个像素,无论接收到什么图像,都使用每个组。应该认识到,可以使用用于识别块的其他方法。
过程1800还可以包括计算第一块的一个或多个权重(1810)。可以使用第一模型计算第一块的一个或多个权重。第一模型可以是本文所述的任何模型,例如对象优先级权重阵列、对象大小权重阵列、对象距离权重阵列、计量权重阵列、聚焦板权重阵列、眼睛注视权重阵列、基于第一块中包括的内容的神经网络等。
过程1800可以进一步包括计算第二块的一个或多个权重(1812)。可以使用第二模型计算第二块的一个或多个权重,第二模型可以是与第一模型相同或不同的模型。应该认识到,可以使用两个以上的模型。还应该认识到,一些块可以使用相同的模型,而相同图像中的其他块可以使用不同的模型。在这种情况下,确定具有共同的一个或多个特定特征的块可以最终使用相同的模型。
过程1800可以进一步包括计算第二组像素组的每个像素组的像素组亮度值(1814)。在一些示例中,像素组的像素组亮度值可以包括像素组的每个像素的亮度值的平均值。在其他示例中,像素组亮度值可以是像素组的每个像素的亮度值之和。在其他示例中,像素组亮度值可以是每个像素的亮度值和图像的平均亮度值之间的差值。例如,考虑到每个像素,可以计算帧的平均亮度值。然后,可使用平均亮度值计算每个像素的差值,使得为像素组生成与平均亮度值的差值。应该认识到,可以使用像素组的亮度值的其他汇总值。
另外,过程1800还可以包括:对于第二组像素组中的每个像素组,将像素组的像素组亮度值乘以像素组的权重,以提供加权像素组亮度值(1816)。在一些示例中,对于与对象相关联的每个像素组,权重可以是相同的。
过程1800可以进一步包括计算图像的总亮度值(1818)。在一些示例中,总亮度值可以包括加权像素组亮度值的总和。在一些示例中,计算图像亮度值可以包括对每个加权像素组亮度值求和,其中加权像素组亮度值可以通过将与像素组相关联的权重与与像素组相关联的亮度值相乘来计算。
过程1800可以进一步包括计算总亮度值和目标亮度值之间的差值(1820),并且基于计算的差值更新内容捕获设备的设置(1822)。在一些示例中,设置可以是曝光设置或增益设置。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。在一些示例中,快门速度可以是全局快门或卷帘快门。全局快门可以指示曝光视场的所有像素的持续时间。卷帘快门可指示曝光视场的行(水平或垂直)的持续时间。在卷帘快门中,图像的线可以卷帘的方式扫描,而不是视场的快照。增益设置可以是数字增益、模拟增益或其任何组合。例如,通过具有模拟增益为2×和数字增益为4×,增益设置可以是8×。在一些示例中,当增加曝光时,可以在增益设置之前调整曝光设置。在这样示例中,当降低曝光时,可在曝光设置之前调整增益设置。在一些示例中,调整量可以与差值成比例。例如,如果图像亮度值和目标亮度值之间的差值较大,则调整可以更大。
图12A示出图像拼接过程1200。在一些示例中,图像拼接过程1200可以包括自动曝光控制(AEC)的多个实例,每个实例调整相同或不同的一个或多个设置。并且由于使用了AEC实例,因此可以使用任何加权模型,包括上面讨论的第一和第二加权模型。在一些示例中,图像拼接过程1200可以创建组合两个或多个图像的输出图像1204。在这样示例中,图像拼接过程1200可以组合基于来自AEC的多个实例中的每一个的调整而捕获的图像。例如,在由于AEC的实例而设置了一个或多个设置之后,可以捕获图像,该图像可以与其他图像组合而被捕获,其他图像在由于AEC的其他实例而设置了一个或多个设置之后也被捕获。
在一些示例中,内容捕获设备1210可以以高动态范围(HDR)模式配置。HDR模式可以有助于捕获类似场景的多个图像,并将多个图像拼接在一起。在这样示例中,HDR模式可以包括针对特定图像改变一个或多个设置的能力。在传统HDR模式中,与内容捕获设备相关联的软件和/或硬件可被编程为对于3或5帧的序列将曝光值(例如,表示内容捕获设备的快门速度和f数字的组合的数字,有时缩写为EV)自动调整+/-1EV或+/-1EV和+/-3EV。在一些示例中,EV可以是预定大小的曝光步骤。例如,3帧HDR模式可以将EV调整为针对第一帧-1、针对第二帧0、以及针对第三帧+1。在这样的示例中,传统的HDR模式可以盲目地将曝光调整固定量以试图增加图像中的对比度。这里描述的基于对象的曝光方法能够为图像中的多个对象提供适当的设置。例如,3帧HDR模式可以针对第一帧的第一对象、针对第二帧中的第二对象以及针对第三帧中的剩余对象调整EV。
在一些示例中,AEC实例可以与图像的一个或多个对象相关联。在这样示例中,AEC实例可以确定针对一个或多个对象更新内容捕获设备1210的一个或多个设置。在一些示例中,AEC的每个实例可以与不同的图像和不同的一个或多个对象相关联,使得为实例的一个或多个对象定制来自实例的更新。在这样示例中,可以组合使用不同更新(针对不同的一个或多个对象的每个更新)捕获的图像,以创建针对不同对象单独地和分别地定制的图像。
在一些示例中,图像拼接过程1200可以包括从内容捕获设备1210接收三个图像(例如,图像n(1212)、图像n+1(1214)和图像n+2(1216))。三个图像可以一次或顺序接收。此外,应该认识到,可以接收多于或少于三个图像。
在一些示例中,三个图像可以由图像控制器1220接收。图像控制器1220可以确定发送图像的AEC实例。在一些示例中,图像控制器1220可以在接收图像时在循环中向AEC实例发送图像。例如,循环可以使第一图像(例如,图像n(1212))发送到第一AEC实例1230,第二图像(例如,图像n+1(1214))发送到第二AEC实例1240,以及第三图像(例如,图像n+2(1216))发送到第三AEC实例1250。使用循环的顺序,第四图像可以发送到第一AEC实例1230(类似于第一图像),第五图像可以发送到第二AEC实例1240(类似于第二图像),第六图像可以发送到第三AEC实例1250(类似于第三图像)。
应该认识到,图像中的对象可以被划分为更大或更小的组,使得在一个完整的循环中包括更多或更少的图像。例如,大小为2的循环将使第三图像发送到第一AEC实例,而不是第三AEC实例。在一些示例中,图像拼接过程1200的图像可以与大致相同的场景相关联,使得图像可以容易地组合在一起。
在一些示例中,第一AEC实例1230可以针对来自第一图像的一个或多个第一对象确定一个或多个第一设置1232(例如,曝光设置、增益设置或其任何组合)。一个或多个第一设置1232可以发送到内容捕获设备1210以用于未来图像。在一些示例中,未来图像可以是下一个图像。在其他示例中,未来图像可以基于AEC实例的数量。例如,如果存在三个AEC实例,则未来图像可以是未来的三个图像。
在一些示例中,第二AEC实例1240可以针对来自第二图像的一个或多个第二对象确定一个或多个第二设置1242(例如,曝光设置、增益设置或其任何组合)。在这样示例中,可在第一图像之前或之后捕获第二图像。一个或多个第二设置1242可以发送到内容捕获设备1210以用于未来图像,类似于上面对第一AEC实例所描述的。
在一些示例中,第三AEC实例1250可以针对来自第三图像的一个或多个第三对象确定一个或多个第三设置1252(例如,曝光设置、增益设置或其任何组合)。在这样示例中,可在第二图像之前或之后捕获第三图像。一个或多个第三设置1252可以发送到内容捕获设备1210以用于未来图像,类似于上面针对第一AEC实例所描述的。
在一些示例中,在根据AEC实例调整内容捕获设备1210之后,内容捕获设备1210可以继续捕获要发送到图像控制器1220的图像。在这样的示例中,当进行调整时,可以针对特定对象优化新图像,从而逐渐改善图像的曝光。
在一些示例中,图像控制器1220还可以将图像发送到图像拼接器1202。图像拼接器1202可以基于识别的对象来组合图像。例如,图像拼接器1202可以接收以下:针对一个或多个第一对象优化的第一图像,针对一个或多个第二对象优化的第二图像,以及针对未包括在第一和第二对象中的其他部分优化的第三图像和/或作为整体的第三图像。在这样的示例中,图像拼接器1202可以使用与一个或多个第一对象相关联的第一图像的部分、与一个或多个第二对象相关联的第二图像的部分以及第三的部分来创建输出图像1204。
在一些示例中,图像拼接器1202可以在将图像拼接在一起之前等待对应于多个AEC实例的多个图像。例如,如果存在三个AEC实例,图像拼接器1202可以在组合(或拼接)图像之前等待,直到它接收到三个图像。
在一些示例中,图像拼接器1202可以知道所识别的对象及其相对优先级。在这样示例中,图像拼接器1202可基于所识别的对象及其相对优先级生成输出图像1204。例如,图像拼接器1202可以首先生成较低优先级部分,然后在较低优先级部分之上生成较高优先级部分。换句话说,针对较高优先级对象调整的图像覆盖在针对较低优先级对象调整的图像之上。在一些示例中,图像拼接器1202可以产生图像。在这样示例中,图像拼接器1202可编程为以分配的优先级对3个图像进行操作。当AEC为3个图像中的每个图像设置时,图像拼接器1202可以产生逐渐更好的拼接图像。拼接图像可以各种方式使用,包括向用户显示(例如,在内容捕获设备的取景器中或在远程显示器上),作为对象识别系统的输入,使得在拼接图像而不是未优化的图像中识别对象,或存储在存储器中(本地或远程内容捕获设备)供以后使用。
根据本发明的实施例,提供了一种方法。该方法包括接收由内容捕获设备捕获的第一图像,识别第一图像中的第一对象,并确定对内容捕获设备的第一设置的第一更新,其中,针对第一对象确定第一更新。该方法还包括接收由所述内容捕获设备捕获的第二图像,其中,第二图像在第一图像之后被捕获,识别第二图像中的第二对象,并确定对内容捕获设备的第二设置的第二更新,其中,针对第二对象确定第二更新。该方法还包括对内容捕获设备的第一设置执行第一更新,接收内容捕获设备捕获的第三图像,其中第三图像在执行第一更新后被捕获,以及对内容捕获设备的第二设置执行第二更新。该方法还包括接收内容捕获设备捕获的第四图像,其中第四图像在执行第二更新后被捕获,并且将第三图像和第四图像组合成单个图像。
作为示例,第一设置和第二设置可以与曝光或增益相关联。第一设置可以是第二设置。此外,第三图像和第四图像可以使用图像拼接器组合。可以用神经网络来确定第一更新。在实施例中,第一更新不同于第二更新。例如,第一图像和第二图像可以具有相同的视场。
图12B示出可以使用自动曝光控制的多个实例的图像拼接过程的另一示例。图12B所示的过程与图12A中所示共享一些相似之处,关于图12A提供的描述在适当时适用于图12B。参考图12B,内容捕获设备1210(为了清晰起见,在图12B中称为照相机)用于捕获第一图像(图像N 1261)。
图像N 1261被提供给图像控制器1220。图像控制器1220识别图像N中的预定数量的优先级对象,其中预定数量大于或等于2。作为示例,在实施例中可以识别2-5个优先级对象。图12B所示的示例使用复合图像1266中的三个优先级对象1267、1268和1269。图像1266可以具有3个优先级对象,因为1)这是允许的最大值(即,优先级对象的预定数量为3个,即使识别了多余3个的潜在优先级对象,也只选择前3个选项),或者2)即使未达到最大值(例如,优先对象的预定数量为5),在图像中识别可以被视为优先级对象的仅3个对象,或者3)系统将始终返回优先级对象的预定数量,而不管场景中包括什么(即,系统将强制选择3)。尽管图12B中示出了三个优先级对象,对于本领域技术人员显而易见的是,在本发明的实施例中可以使用较小数量(例如,2)或较大数量(例如,4或更大)。在一些示例中,从第一图像中识别的较大组的优先级对象中选择一组优先级对象以供使用。为了降低系统复杂性和计算负担,优先级对象的数量可以限于给定数量,例如,最多五个优先级对象。
图像控制器1220将图像发送到多个AEC实例1230、1240和1250,其中AEC实例的数量等于所识别的优先级对象的数量。在一些示例中,图像控制器1220可以以串行方式同时将图像N发送到N个AEC实例。
针对预定数量的优先级对象中的每一个,AEC实例用于确定内容捕获设备的一个或多个设置的更新。如图12B所示,可以使用三个不同的AEC实例1230、1240和1250分析图像N 1261,以确定一个或多个设置的更新,其中每个更新为优先级对象中的一个定制。因此,AEC实例用于确定内容捕获设备的设置,其中,每个AEC实例执行针对特定优先级对象中的一个定制的功能。设置可以是曝光设置、增益设置或其任何组合。
然后执行迭代过程,其中迭代次数等于预定次数。如图12B所示,当内容捕获设备使用预定数量的更新(即,三次更新)中的每个进行更新时,捕获一组图像N+1、N+2和N+3。在一个实施例中,第一图像被定制为第一优先级对象,针对第一优先级对象提供优化的曝光设置。以迭代方式,使用针对内容捕获设备的一个或多个设置的下一更新来更新内容捕获设备,并且捕获下一图像。对于每个更新,该过程继续,直到已经捕获了预定数量的图像。因此,在图12B中,使用定制(例如,优化)为相应优先级对象1267、1268和1269的一个或多个设置来捕获一组图像N+1、N+2、N+3中的每一个。当然,可以捕获超过三个的设置和图像。
对于本领域技术人员显而易见的是,一组图像1265中的每一个将包括与预定数量的优先级对象中的每一个相关联的部分。作为示例,图像N+1可以与优先级对象1267相关联,图像N+2可以与优先级对象1268相关联,图像N+3可以与优先级对象1269相关联。一组图像被提供到图像拼接器1260,每个图像使用定制(例如,优化)为特定优先级对象的设置而捕获。图像拼接器1260用于将预定数量的图像(即,一组图像1265)一起拼接成复合图像1266。如图12B所示,一组图像1265可用于提取与优先级对象中的一个相关联的每个图像的部分,然后可以将这些部分拼接在一起形成复合图像1266,复合图像1266将这些部分组合成单个图像。由于一组图像中的每个的一部分针对优先级对象中的一个进行优化,因此单个图像将包括每个优先级对象的优化图像。然后可以向用户显示复合图像。
此外,在一些实现中,图像控制器1220和图像拼接器1260的功能可以组合在单个主图像处理单元中。
图12C是示出用于使用自动曝光控制的多个实例的过程的实施例的流程图。方法1270包括从内容捕获设备接收图像(1272),并识别图像内的预确数量(n)的优先级对象(1274)。在一个实施例中,所识别的优先级对象可以是图像内的前n个优先级对象。尽管图12B示出了三个优先级对象,本发明的实施例不限于三个,n可以大于或小于三个。该方法还包括针对优先级对象1确定内容捕获设备的设置(1276),针对优先级对象2确定内容捕获设备的设置(1278),以及针对优先级对象n确定内容捕获设备的设置(1280)。作为示例,设置(也称为一个或多个设置)可以是优化设置,其意义在于它们提供导致感兴趣的优先级对象的期望(例如,最佳)曝光的曝光值。如图12B所示,可以使用AEC实例1230、1240和1250提供这些设置,这些设置可以包括曝光设置、增益设置或它们的任何组合。
可以将一个或多个第一设置发送到内容捕获设备以便调整设置。因此,针对优先级对象1调整内容捕获设备的设置(1282)、优先级对象2调整内容捕获设备的设置(1284)和优先级对象3调整内容捕获设备的设置(1286)。使用一组更新的设置,使用内容捕获设备捕获一组图像。捕获适于优先级对象1的图像(1288),捕获适于优先级对象2的图像(1290),捕获适于优先级对象3的图像(1292)。由于这些新图像针对特定的优先级对象进行了优化,因此这些图像中的每个图像的曝光都相对于每个优先级对象得到改善。
该方法还包括将该组图像的一部分拼接在一起以形成适合于优先级对象1到n的复合图像1294。因此,图12B中所示的图像拼接器1202可以使用与第一优先级对象相关联的第一图像的一部分、与第二优先级对象相关联的第二图像的一部分以及与第三优先级对象相关联的第三的一部分来创建单个图像1266。与图12A的图像拼接有关的描述在适当时适用于关于图12C所描述的方法。
因此,使用在框1272处接收的包括多个优先级对象的单个图像,可以使用一个或多个AEC实例来确定特定于单个图像中识别的每个优先级对象的更新(例如,优化)的设置。然后,使用更新的设置,可以捕获一组图像,该组中的每个图像针对每个优先级对象定制(例如,优化)。将该组中每个图像的部分拼接在一起,其中这些部分与优先级对象中的一个相关联,使得能够生成可显示给用户的拼接图像1296,其中曝光设置在整个复合图像中变化,并针对优先级对象定制。
图13示出可与图像拼接过程(例如,图像拼接过程1200)一起使用的图像流的示例。图像流示出了可以由图像控制器(例如,图像控制器1220)接收的多个图像。在图13的示例中,图像中带有虚线的对象指示AEC实例不集中在对象上。另一方面,图像中带有实线的对象指示AEC实例基于对象执行。
图13中的图像被分成哪些图像被发送到哪个AEC实例。例如,图像1(1332)发送到第一AEC实例1330。图1(1332)被示为具有带有实线的第一对象1362,这指示第一AEC实例1330是基于第一对象1362执行的。图像1(1332)还具有第二对象1364和第三对象1366。第二对象1364和第三对象1366被示为具有虚线,指示第一AEC实例1330将两个对象视为未被识别。
第一AEC实例1330可以确定对内容捕获设备(例如,内容捕获设备1210)的一个或多个设置(例如,曝光设置、增益设置或其任何组合)的调整。可以将调整发送到内容捕获设备1210,使得内容捕获设备1210调整内容捕获设备1210的一个或多个设置。在一些示例中,可以在内容捕获设备1210要捕获图像之前,可以将一个或多个设置发送到内容捕获设备1210。在这样的示例中,一旦接收到一个或多个设置,内容捕获设备1210可以调整其设置。在其他示例中,内容捕获设备1210可以被配置为接收一个或多个设置,并等待直到是时候用一个或多个设置(诸如基于如上所述的循环)捕获图像。
可以将图像2(1368)发送到第二AEC实例1340。可以基于与第二对象1364对应的对象来执行第二AEC实例1340。可以将图像3(1370)发送到第三AEC实例1350。可以基于与第三对象1366对应的对象来执行第三AEC实例1350。第二和第三AEC实例(1340、1350)还可以确定一个或多个设置并向内容捕获设备1210发送一个或多个设置(类似于以上针对第一AEC实例1330所述)。
图像1(1360)、图像2(1368)和图像3(1370)可以表示循环。在由于AEC实例而设置了一个或多个设置之后,可以使用一个或多个设置捕获附加图像。在捕获附加图像之后,图像控制器可以确定从哪个AEC实例设置一个或多个设置。然后图像控制器可以将附加图像发送到确定的AEC实例。例如,第一AEC实例1330可以基于图像1(1360)设置一个或多个第一设置。当图像控制器接收到可以使用一个或多个第一设置捕获的图像4(1372)时,图像控制器可以将图像4(1372)发送到第一AEC实例1330。类似地,图像5(1374)可以发送到第二AEC实例1340,以及图像6(1376)可以发送到第三AEC实例1350。
图像4、5和6(1372、1374、1376)可以表示第二循环。此过程可以继续,直到接收到图像n、n+1和n+2(1378、1380、1382)。可以发生类似的过程,包括确定哪个AEC实例与新图像相关联,并将新图像发送到生成用于捕获新图像的一个或多个设置的AEC实例。例如,图像n(1378)可以发送到第一AEC实例1330,图像n+1(1380)可以发送到第二AEC实例1340,以及图像n+2(1382)可以发送到第三AEC实例1350。
图14是示出使用第三加权模型用于自动曝光控制的过程1400的实施例的流程图。在一些方面,过程1400可由计算设备执行。
过程1400被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,这些指令执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数量的描述操作可以任意顺序和/或并行地组合以实现过程。
另外,过程1400可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上通过硬件或其组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可以存储在机器可读存储介质上,例如,以计算机程序的形式存储,该计算机程序包括由一个或多个处理器可执行的多个指令。机器可读存储介质可以是非暂时性的。
过程1400可以包括接收由内容捕获设备捕获的第一图像(1405)。在一些示例中,内容捕获设备可以处于高动态范围(HDR)模式。HDR模式可以使得多个图片在变化的设置(例如,曝光设置、增益设置或其任何组合)下及时拍摄。
过程1400还可以包括识别第一图像中的第一对象(1410)。在一些示例中,可以使用对象识别系统来识别第一对象。在这样示例中,对象识别系统可识别第一对象的类型(例如,人、动物、建筑物等)。在其他示例中,对象识别系统可以识别第一对象的一个或多个属性或特征,而不仅仅是第一对象的类型(例如,第一对象是Bob Marley)。在一些示例中,对象识别系统可以识别第一对象是否正在被另一个系统(诸如确定在何处放置虚拟对象的混合现实系统)处理。
过程1400还可以包括确定对内容捕获设备的第一设置的第一更新(1415)。在一些示例中,可以针对第一对象确定第一更新。在这样示例中,可使用本文所述的任何加权模型来确定第一更新,包括第一加权模型和/或第二加权模型。在一些示例中,第一设置可以是曝光设置、增益设置或其任何组合。在这样示例中,曝光设置可以是快门速度、ISO速度或其任何组合。增益设置可以是数字增益、模拟增益或其任何组合。
过程1400还可以包括接收由内容捕获设备捕获的第二图像(1420)。在一些示例中,可以在第一图像之前或之后捕获第二图像。在一些示例中,第二图像可以根据HDR模式捕获。
过程1400还可以包括识别第二图像中的第二对象(1425)。在一些示例中,可以使用上述对象识别系统来识别第二对象。
过程1400可以进一步包括确定对内容捕获设备的第二设置的第二更新(1430)。在一些示例中,可以针对第二对象确定第二更新。在一些示例中,可以使用本文所述的任何加权模型来确定第二更新,包括第一加权模型和/或第二加权模型。在这样示例中,用于第二更新的加权模型可以与用于第一更新的加权模型相同或不同。
过程1400可以进一步包括对内容捕获设备的第一设置执行第一更新(1435)。执行第一更新可以包括向内容捕获设备发送一个或多个指令,使得内容捕获设备改变第一设置。在一些示例中,可以发送一个或多个指令,使得第一设置在将来的某个点被更新(例如,当应该使用第一设置要拍摄图像时)。在其他示例中,可以在从内容捕获设备捕获(或接收)图像之后发送一个或多个指令,捕获指示可以使用第一设置将要捕获的新图像。
过程1400还可以包括接收由内容捕获设备捕获的第三图像(1440)。在一些示例中,可以在执行第一更新之后捕获第三图像。在这样示例中,第一更新可应用于内容捕获设备,以使得利用基于第一更新的曝光捕获第三图像。
过程1400可以进一步包括对内容捕获设备的第二设置执行第二更新(1345)。执行第二更新可以包括向内容捕获设备发送一个或多个指令,其使得内容捕获设备改变第二设置。在一些示例中,可以发送一个或多个指令,其使得第二设置在将来某个点被更新(例如,当应该使用第二设置要拍摄图像时)。在其他示例中,可以在从内容捕获设备捕获(或接收)图像之后发送一个或多个指令,捕获指示可以使用第二设置将要捕获的新图像。
过程1400还可以包括接收由内容捕获设备捕获的第四图像(1450)。在一些示例中,可以在执行第二更新之后捕获第四图像。在这样示例中,第二更新可应用于内容捕获设备,使得利用基于第二更新的曝光捕获第四图像。
过程1400可以进一步包括将第三图像和第四图像组合成单个图像以供观看(1455)。在一些示例中,组合(例如,拼接)可以包括拍摄第三图像的部分和第四图像的部分。例如,第三图像可以对应于第一图像,第一图像针对第一对象进行了优化。在这样的示例中,所拍摄的第三图像的部分可以与第一对象相关联,使得组合包括拍摄与第一对象相关联的第三图像的部分。类似地,第四图像可以对应于第二图像,第二图像针对第二对象进行了优化。因此,所拍摄的第四图像的部分可以与第二对象相关联,使得组合可以包括拍摄与第二对象相关联的第四图像的部分。在分别拍摄与第一对象和第二对象相关的第三图像和第四图像的部分之后,第三图像和第四图像的其他部分可以在第三图像和第四图像之间平均。其他部分不能与第一对象或第二对象相关联,使得其他部分未被第一更新和/或第二更新优化。然而,应该认识到,图像可以通过各种方式拼接(或组合)。
在一些示例中,过程1400可以包括第一循环和第二循环。第一循环可包括第一图像和第二图像。第二循环可包括第三图像和第四图像。在一些示例中,每个新循环可以包括两个以上的图像,使得在每个新循环上继续执行操作。在一些示例中,每个新循环可以用于更新内容捕获设备的设置(类似于第一图像和第二图像),以及被组合(类似于第三图像和第四图像)。例如,可以针对第三图像和第四图像执行确定更新(如针对第一图像和第二图像所述)。
图15示出计算机系统的框图的示例。在该示例中,计算机系统1500包括监控器1510、计算机1520、键盘1530、用户输入设备1540、一个或多个计算机接口1550等。在本示例中,用户输入设备1540通常体现为计算机鼠标、轨迹球、轨迹板、操纵杆、无线遥控器、绘图板、语音命令系统、眼睛跟踪系统等。用户输入设备1540通常允许用户通过诸如点击按钮等的命令来选择出现在监控器1510上的对象、图标、文本等。
计算机接口1550的示例通常包括以太网卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字用户线(DSL)单元、FireWire接口、USB接口等。例如,计算机接口1550可以耦合到计算机网络1555、FireWire总线等。在其它实施例中,计算机接口1550可以物理地集成在计算机1520的主板上,可以是诸如软DSL等的软件程序。
在各种示例中,计算机1520通常包括熟悉的计算机组件,例如处理器1560,以及存储器存储设备,诸如随机存取存储器(RAM)1570、磁盘驱动器1580、以及互连上述组件的系统总线1590。
RAM 1570和磁盘驱动器1580是被配置为存储诸如本公开的实施例的数据的有形介质的示例,包括可执行计算机代码、人类可读代码等。其他类型的有形介质包括软盘、可移动硬盘、诸如CD-ROM、DVD和条形码的光学存储介质、半导体存储器(诸如闪存),只读存储器(ROM)、电池支持的易失性存储器、网络化存储设备等。
在各种示例中,计算机系统1500还可以包括能够通过例如HTTP、TCP/IP、RTP/RTSP协议等网络进行通信的软件。在本发明的替代实施例中,还可以使用其他通信软件和传输协议,例如IPX、UDP等。
本文描述的特征可以在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。装置可以在计算机程序产品中实现,该计算机程序产品有形地体现在信息载体中,例如,在机器可读存储设备中,用于由可编程处理器执行;以及方法步骤可以由执行指令的程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行所描述的实现的功能。所描述的特征可以有利地在可编程系统上可执行的一个或多个计算机程序中实现,该可编程系统包括至少一个可编程处理器,其被耦合以从数据存储系统接收数据和指令,并将数据和指令传输到数据存储系统,至少一个输入设备和至少一个输出设备。计算机程序是可以直接或间接地在计算机中使用以执行特定活动或带来某种结果的一组指令。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适合在计算环境中使用的其他单元。
用于执行指令程序的合适处理器包括,例如通用和专用微处理器,以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。一般来说,计算机还将包括用于存储数据文件的一个或多个大容量存储设备,或与之可操作地耦合以进行通信;这些设备包括磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由ASIC(专用集成电路)补充或并入其中。
为了提供与用户的交互,这些特征可以在计算机上实现,计算机具有显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)监视器,用于向用户显示信息,以及键盘和诸如鼠标或轨迹球的指示设备,用户可通过其向计算机提供输入。
这些特征可以在包括以下的计算机系统中实现:后端组件,例如数据服务器,或者中间件组件,例如应用服务器或因特网服务器,或前端组件,例如具有图形用户界面或互联网浏览器的客户端计算机,或它们的任意组合。系统的组件可以通过诸如通信网络的任何形式或介质的数字数据通信来连接。通信网络的示例包括LAN、WAN以及形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离且通常通过网络(如所述的网络)进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。尽管上面已经详细描述了一些实现,但是其他修改也是可能的。
另外,图中描绘的逻辑流程不需要所示的特定顺序或顺序次序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以向所描述的系统添加或移除其他组件。因此,其他实施方式在以下权利要求的范围内。
在将组件描述为被配置为执行某些操作的情况下,这种配置可以被实现,例如,通过设计电子电路或其他硬件来执行操作,通过编程可编程电子电路(例如,微处理器或其他合适的电子电路)来执行操作,或其任何组合。
已经描述了本公开的许多实施例。然而,可以理解,可以在不脱离本公开范围的情况下进行各种修改。

Claims (10)

1.一种方法,包括:
接收由内容捕获设备捕获的图像,其中,所述图像包括多个像素;
识别所述图像的目标亮度值;
识别所述图像中的对象;
识别所述对象的一个或多个属性;
使用神经网络计算所述对象的权重,其中,所述神经网络使用所述一个或多个属性作为输入;
将所述图像的所述多个像素划分为多个像素组;
定义不与所述对象相关联的第一组像素组;
定义与所述对象相关联的第二组像素组;
对于所述第二组像素组中的每个像素组:
计算像素组亮度值;以及
将所述像素组亮度值乘以所述权重,以提供加权像素组亮度值;
计算所述图像的总亮度值,其中,所述总亮度值包括所述加权像素组亮度值的总和;
计算所述总亮度值与所述目标亮度值之间的差值;以及
基于所计算的差值,更新所述内容捕获设备的设置。
2.根据权利要求1所述的方法,还包括:
识别所述图像中的第二对象;
识别所述第二对象的一个或多个属性;
定义与所述第二对象相关联的第三组像素组;
使用第二神经网络计算所述第二对象的权重,其中,所述第二神经网络使用所述第二对象的一个或多个属性作为输入;以及
对于所述第三组像素组中的每个像素组:
计算第二像素组亮度值;以及
将所述第二像素组亮度值乘以所述第二对象的所述权重,以提供加权第二像素组亮度值,其中,所述总亮度值还包括所述加权第二像素组亮度值的总和。
3.根据权利要求1所述的方法,其中,所述神经网络是多层感知器。
4.根据权利要求1所述的方法,其中,所述对象的所述一个或多个属性中的属性包括:对象优先级,距观看者的对象距离,距聚焦板的对象距离,距眼睛注视的对象距离,或对象大小。
5.根据权利要求1所述的方法,其中,所述目标亮度值是基于视场。
6.根据权利要求1所述的方法,其中,所述内容捕获设备的所述设置与曝光或增益相关联。
7.根据权利要求1所述的方法,其中,所述多个像素组中的每个像素组具有相同的大小。
8.一种方法,包括:
接收由内容捕获设备捕获的第一图像;
在所述第一图像中识别预定数量的优先级对象,其中,所述预定数量大于或等于两个;
针对所述预定数量的优先级对象中的每个优先级对象,确定针对所述内容捕获设备的一个或多个设置的一个或多个更新;
迭代地:
使用所述一个或多个更新中的更新来更新所述内容捕获设备;
使用所述内容捕获设备和所述一个或多个更新中的所述更新来捕获预定数量的图像中的图像;以及
重复更新所述内容捕获设备和捕获所述图像所述预定数量的次数;以及
将所述预定数量的图像拼接在一起以形成复合图像。
9.根据权利要求8所述的方法,还包括:显示所述复合图像。
10.根据权利要求8所述的方法,其中,所述第一图像包括预定数量的部分,所述预定数量的部分中的每个部分与所述预定数量的优先级对象中的一个优先级对象相关联。
CN202310828404.9A 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术 Pending CN116886835A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662438926P 2016-12-23 2016-12-23
US62/438,926 2016-12-23
CN201780080066.8A CN110100252B (zh) 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术
PCT/US2017/066195 WO2018118597A1 (en) 2016-12-23 2017-12-13 Techniques for determining settings for a content capture device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780080066.8A Division CN110100252B (zh) 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术

Publications (1)

Publication Number Publication Date
CN116886835A true CN116886835A (zh) 2023-10-13

Family

ID=62625040

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780080066.8A Active CN110100252B (zh) 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术
CN202310828404.9A Pending CN116886835A (zh) 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201780080066.8A Active CN110100252B (zh) 2016-12-23 2017-12-13 用于确定内容捕获设备的设置的技术

Country Status (9)

Country Link
US (3) US10701276B2 (zh)
EP (2) EP4075779A3 (zh)
JP (2) JP7285778B2 (zh)
KR (2) KR20240056796A (zh)
CN (2) CN110100252B (zh)
AU (2) AU2017382721B2 (zh)
CA (1) CA3046966A1 (zh)
IL (2) IL296495B1 (zh)
WO (1) WO2018118597A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113821B2 (en) * 2017-12-20 2021-09-07 Duelight Llc System, method, and computer program for adjusting image contrast using parameterized cumulative distribution functions
US20190215440A1 (en) * 2018-01-10 2019-07-11 Duelight Llc Systems and methods for tracking a region using an image sensor
IL296495B1 (en) 2016-12-23 2024-03-01 Magic Leap Inc Techniques for configuring settings for a content capture device
TWI748035B (zh) * 2017-01-20 2021-12-01 日商半導體能源硏究所股份有限公司 顯示系統及電子裝置
US20180241927A1 (en) * 2017-02-23 2018-08-23 Motorola Mobility Llc Exposure Metering Based On Depth Map
JPWO2018186255A1 (ja) * 2017-04-06 2019-06-27 日鉄ソリューションズ株式会社 情報処理装置、情報処理方法、プログラム、及び、記録媒体
DE102017116849A1 (de) * 2017-07-25 2019-01-31 Mekra Lang Gmbh & Co. Kg Indirektes Sichtsystem für ein Fahrzeug
US20190126941A1 (en) * 2017-10-31 2019-05-02 Wipro Limited Method and system of stitching frames to assist driver of a vehicle
EP3914997A4 (en) 2019-01-25 2022-10-12 Magic Leap, Inc. OCULOMETRY USING IMAGES WITH DIFFERENT EXPOSURE TIMES
EP3973347A4 (en) 2019-05-20 2023-05-31 Magic Leap, Inc. EYE POSITION ESTIMATION SYSTEMS AND TECHNIQUES
TWI700929B (zh) * 2019-06-11 2020-08-01 晶睿通訊股份有限公司 曝光補償方法及其攝影設備
US11164367B2 (en) * 2019-07-17 2021-11-02 Google Llc Illumination effects from luminous inserted content
TWI731442B (zh) * 2019-10-18 2021-06-21 宏碁股份有限公司 電子裝置及其利用觸控資料的物件資訊辨識方法
CN113452925B (zh) * 2019-11-13 2023-09-19 深圳市道通智能航空技术股份有限公司 高动态范围图像自动曝光方法及无人飞行器
US11503204B2 (en) 2019-12-19 2022-11-15 Magic Leap, Inc. Gradient-based exposure and gain control techniques
KR20210109275A (ko) 2020-02-27 2021-09-06 삼성전자주식회사 사용자의 관심 객체를 예측하는 방법 및 장치
KR102478814B1 (ko) * 2020-08-14 2022-12-19 주식회사 지디에프랩 이미지 분할 기반 해상도 개선 방법 및 장치
CN112839181B (zh) * 2020-12-30 2022-10-11 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN112822425B (zh) * 2020-12-30 2023-01-06 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN112822426B (zh) * 2020-12-30 2022-08-30 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN114727024A (zh) * 2021-01-05 2022-07-08 广州汽车集团股份有限公司 自动曝光参数调节方法、装置、存储介质及拍摄设备
US11756221B2 (en) * 2021-01-28 2023-09-12 Qualcomm Incorporated Image fusion for scenes with objects at multiple depths
JP2022186166A (ja) * 2021-06-04 2022-12-15 キヤノン株式会社 撮像装置、その制御方法、プログラムおよび記憶媒体
US20230388673A1 (en) * 2022-05-25 2023-11-30 Qualcomm Incorporated Patch-based image sensor
WO2024025851A1 (en) * 2022-07-26 2024-02-01 Becton, Dickinson And Company System and method for estimating object distance and/or angle from an image capture device
US20240096049A1 (en) * 2022-09-19 2024-03-21 Qualcomm Incorporated Exposure control based on scene depth

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2023408A1 (de) 1969-06-17 1971-01-07 Burroughs Corp , Detroit, Mich (VStA) Magnetkopf mit Vielfachwandler
JPS5949685A (ja) 1982-09-14 1984-03-22 富士電機株式会社 自動販売機の制御装置
US5033029A (en) * 1983-05-12 1991-07-16 Westinghouse Electric Corp. Interlaced sonar system
JPS6423324A (en) 1987-07-17 1989-01-26 Ricoh Kk Data processor
US5333029A (en) * 1990-10-12 1994-07-26 Nikon Corporation Camera capable of detecting eye-gaze
JPH04163537A (ja) * 1990-10-29 1992-06-09 Nikon Corp 視線検知手段を有する多点測距装置
JPH04149413A (ja) * 1990-10-12 1992-05-22 Nikon Corp 視線検出手段を備えたカメラ
JPH055925A (ja) * 1990-10-25 1993-01-14 Nikon Corp 視線検知装置を備えたカメラの露出演算装置
JPH06326919A (ja) * 1993-05-13 1994-11-25 Sanyo Electric Co Ltd 自動露出調節装置
JPH1023324A (ja) * 1996-07-03 1998-01-23 Matsushita Electric Ind Co Ltd 撮像装置
JP4163537B2 (ja) 2003-03-12 2008-10-08 株式会社リコー 画像読取装置
JP4149413B2 (ja) 2004-05-21 2008-09-10 日信工業株式会社 炭素繊維複合材料及びその製造方法
JP2006108759A (ja) 2004-09-30 2006-04-20 Fuji Photo Film Co Ltd 撮像装置
US8009871B2 (en) * 2005-02-08 2011-08-30 Microsoft Corporation Method and system to segment depth images and to detect shapes in three-dimensionally acquired data
US7903141B1 (en) * 2005-02-15 2011-03-08 Videomining Corporation Method and system for event detection by multi-scale image invariant analysis
JP5005925B2 (ja) 2005-03-01 2012-08-22 株式会社リコー デジタルカメラ
US7683964B2 (en) * 2005-09-05 2010-03-23 Sony Corporation Image capturing apparatus and image capturing method
JP4872277B2 (ja) * 2005-09-05 2012-02-08 ソニー株式会社 撮像装置および撮像方法
JP2007074163A (ja) * 2005-09-05 2007-03-22 Sony Corp 撮像装置および撮像方法
JP4422667B2 (ja) 2005-10-18 2010-02-24 富士フイルム株式会社 撮影装置および撮影方法
US7821570B2 (en) * 2005-11-30 2010-10-26 Eastman Kodak Company Adjusting digital image exposure and tone scale
JP4656657B2 (ja) * 2006-07-31 2011-03-23 キヤノン株式会社 撮像装置及びその制御方法
JP4767904B2 (ja) 2007-05-10 2011-09-07 富士フイルム株式会社 撮像装置及び撮像方法
US8165416B2 (en) * 2007-06-29 2012-04-24 Microsoft Corporation Automatic gain and exposure control using region of interest detection
TWI369123B (en) * 2007-08-20 2012-07-21 Holtek Semiconductor Inc Method for determining image condition and controlling exposure thereof
TWI395483B (zh) * 2009-05-25 2013-05-01 Visionatics Inc 使用適應性背景模型之移動物體偵測方法及其電腦程式產品
US8515137B2 (en) * 2010-05-03 2013-08-20 Microsoft Corporation Generating a combined image from multiple images
US8488958B2 (en) * 2010-05-25 2013-07-16 Apple Inc. Scene adaptive auto exposure
US9813632B2 (en) * 2011-05-19 2017-11-07 Foveon, Inc. Method of adjusting digital camera image processing parameters
JP6046905B2 (ja) * 2012-04-02 2016-12-21 キヤノン株式会社 撮像装置、露出制御方法、及びプログラム
JP6218389B2 (ja) * 2013-02-07 2017-10-25 キヤノン株式会社 画像処理装置及び画像処理方法
US9363446B2 (en) * 2013-04-15 2016-06-07 Htc Corporation Automatic exposure control for sequential images
KR102062921B1 (ko) * 2013-05-14 2020-01-06 현대모비스 주식회사 다수 영상의 밝기 균일화 방법
JP2015032966A (ja) * 2013-08-01 2015-02-16 キヤノン株式会社 画像処理装置、撮像装置、制御方法、及びプログラム
EP2916325A1 (en) * 2014-03-06 2015-09-09 Thomson Licensing Method and device for processing a picture
US9232150B2 (en) * 2014-03-12 2016-01-05 Apple Inc. System and method for estimating an ambient light condition using an image sensor
JP6326919B2 (ja) 2014-04-02 2018-05-23 大日本印刷株式会社 太陽電池モジュール用の封止材シート
WO2015159323A1 (en) * 2014-04-17 2015-10-22 Sony Corporation Depth assisted scene recognition for a camera
JP6562770B2 (ja) * 2015-08-24 2019-08-21 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム、記憶媒体
KR101679279B1 (ko) * 2015-09-10 2016-11-24 한국과학기술원 카메라 노출 조절 장치 및 방법
JP6723092B2 (ja) * 2016-06-24 2020-07-15 キヤノン株式会社 撮像装置およびその制御方法ならびにプログラム
IL296495B1 (en) * 2016-12-23 2024-03-01 Magic Leap Inc Techniques for configuring settings for a content capture device
US11503204B2 (en) 2019-12-19 2022-11-15 Magic Leap, Inc. Gradient-based exposure and gain control techniques

Also Published As

Publication number Publication date
EP4075779A3 (en) 2022-12-21
KR20240056796A (ko) 2024-04-30
IL267412B2 (en) 2023-02-01
CN110100252A (zh) 2019-08-06
IL267412B (en) 2022-10-01
JP2020504868A (ja) 2020-02-13
AU2017382721B2 (en) 2022-09-29
JP7472204B2 (ja) 2024-04-22
CN110100252B (zh) 2023-07-25
EP4075779A2 (en) 2022-10-19
US10701276B2 (en) 2020-06-30
KR102660857B1 (ko) 2024-04-24
IL296495B1 (en) 2024-03-01
EP3559862A4 (en) 2020-03-11
KR20190099485A (ko) 2019-08-27
US20180183986A1 (en) 2018-06-28
AU2022291545A1 (en) 2023-02-02
IL267412A (en) 2019-08-29
US20200351427A1 (en) 2020-11-05
JP2022172105A (ja) 2022-11-15
EP3559862A1 (en) 2019-10-30
US11968456B2 (en) 2024-04-23
EP3559862B1 (en) 2022-06-15
IL296495A (en) 2022-11-01
US11303818B2 (en) 2022-04-12
AU2017382721A1 (en) 2019-06-20
CA3046966A1 (en) 2018-06-28
JP7285778B2 (ja) 2023-06-02
WO2018118597A1 (en) 2018-06-28
US20220303446A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
CN110100252B (zh) 用于确定内容捕获设备的设置的技术
US11138796B2 (en) Systems and methods for contextually augmented video creation and sharing
US10929665B2 (en) System and method for providing dominant scene classification by semantic segmentation
JP2017059235A (ja) イメージの明るさを調整する方法及び装置
US20200145583A1 (en) Image capture device control based on determination of blur value of objects in images
KR101725884B1 (ko) 이미지들에 대한 자동 프로세싱
US20230276122A1 (en) Adaptive system for autonomous machine learning and control in wearable augmented reality and virtual reality visual aids
US20200125880A1 (en) Machine guided photo and video composition
CN104751407A (zh) 一种用于对图像进行虚化的方法和装置
US20200336656A1 (en) Systems and methods for real time screen display coordinate and shape detection
CN104751406A (zh) 一种用于对图像进行虚化的方法和装置
US20150085145A1 (en) Multiple image capture and processing
KR20210067864A (ko) 적응적 포커스 범위 및 계층화 스캐터링을 이용한 보케 이미지들의 생성
US10887525B2 (en) Delivery of notifications for feedback over visual quality of images
US11281889B2 (en) Displaying a subject composition
NZ795514A (en) Techniques for determining settings for a content capture device

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