CN116368812A - 用于改进图像捕获操作的机制 - Google Patents

用于改进图像捕获操作的机制 Download PDF

Info

Publication number
CN116368812A
CN116368812A CN202080106186.2A CN202080106186A CN116368812A CN 116368812 A CN116368812 A CN 116368812A CN 202080106186 A CN202080106186 A CN 202080106186A CN 116368812 A CN116368812 A CN 116368812A
Authority
CN
China
Prior art keywords
interest
region
image
image frame
adjusted
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
CN202080106186.2A
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116368812A publication Critical patent/CN116368812A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • 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
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B13/00Viewfinders; Focusing aids for cameras; Means for focusing for cameras; Autofocus systems for cameras
    • G03B13/32Means for focusing
    • G03B13/34Power focusing
    • G03B13/36Autofocus systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • 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
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • 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/67Focus control based on electronic image sensor signals
    • H04N23/672Focus control based on electronic image sensor signals based on the phase difference signals
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
    • 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
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Abstract

提供了用于改进一个或多个图像捕获操作的技术和系统。在一些示例中,系统检测与对在图像帧内的位置的选择相对应的用户输入。该系统确定图像帧至少部分地在图像帧的感兴趣区域内包括对象,感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状。该系统然后至少部分地基于该确定来调整感兴趣区域,并且对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。

Description

用于改进图像捕获操作的机制
技术领域
本申请涉及图像处理。在一些示例中,本申请的各方面涉及提供用于改进对在所捕获的图像帧内的图像数据执行的图像处理和/或图像捕获操作(诸如自动聚焦算法和相关算法)的机制的系统、装置、方法和计算机可读介质。
背景技术
相机可以被配置有各种图像捕获和图像处理设置,以改变图像的外观。在捕获照片之前或期间确定并且应用一些图像处理操作,诸如自动聚焦、自动曝光和自动白平衡操作。这些操作被配置为校正和/或改变图像的一个或多个区域(例如,以确保区域的内容不模糊、过度曝光或失焦)。操作可以由图像处理系统自动地执行或者响应于用户输入来执行。需要更先进并且准确的图像处理技术来提高图像处理操作的输出。
发明内容
本文描述的技术可以被实现以改进图像捕获和/或图像处理操作。根据至少一个示例,提供了用于改进图像帧中的一个或多个图像捕获操作的方法。一种示例方法可以包括:检测与对图像帧内的位置的选择相对应的用户输入。该方法还可以包括:确定图像帧至少部分地在图像帧的感兴趣区域内包括对象,感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状。可以至少部分地基于所述确定来调整感兴趣区域的预先确定的大小或预先确定的形状。然后,可以对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。
在另一示例中,提供了一种用于改进图像帧中的一个或多个图像处理操作的装置。一种示例装置可以包括:存储器;以及一个或多个处理器,其被配置为:检测与对图像帧内的位置的选择相对应的用户输入。该一个或多个处理器可以确定图像帧至少部分地在图像帧的感兴趣区域内包括对象,感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状。可以至少部分地基于所述确定来调整感兴趣区域的预先确定的大小或预先确定的形状。可以对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。
在另一示例中,一种示例装置可以包括:用于检测与对图像帧内的位置的选择相对应的用户输入的单元;用于确定图像帧至少部分地在图像帧的感兴趣区域内包括对象的单元,感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;用于至少部分地基于所述确定来调整感兴趣区域的预先确定的大小或预先确定的形状的单元;以及用于对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作的单元。
在另一示例中,提供了用于改进图像帧中的一个或多个图像处理操作的非暂时性计算机可读介质。一种示例非暂时性计算机可读介质可以存储指令,该指令在由一个或多个处理器执行时使得一个或多个处理器进行以下操作:检测与对图像帧内的位置的选择相对应的用户输入。该指令还可以使得一个或多个处理器进行以下操作:确定图像帧至少部分地在图像帧的感兴趣区域内包括对象,感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状。可以至少部分地基于所述确定来调整感兴趣区域的预先确定的大小或预先确定的形状。然后,可以对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。
在一些方面中,可以在帧的预览流内接收图像帧,帧的预览流包括当相机设备处于图像捕获模式时由相机设备捕获的图像帧。
在一些方面中,确定图像帧至少部分地在图像帧的感兴趣区域内包括对象包括:在感兴趣区域内执行对象检测算法。在一些示例中,调整感兴趣区域的预先确定的大小或预先确定的形状可以包括:基于对象检测算法来调整感兴趣区域的预先确定的形状。例如,调整感兴趣区域的预先确定的形状可以包括:基于对象检测算法来确定用于对象的边界框;以及将感兴趣区域设置为边界框。
在一些方面中,调整感兴趣区域的预先确定的大小或预先确定的形状可以包括:沿着至少一个轴减小感兴趣区域的预先确定的大小;沿着至少一个轴增加感兴趣区域的预先确定的大小;和/或减小在感兴趣区域的边界与对象的边界之间的距离。在一些示例中,减小在感兴趣区域的边界与对象之间的距离可以包括:确定在图像帧内的对象的轮廓;以及将感兴趣区域的边界设置为在图像帧内的对象的轮廓。在一些情况下,确定在图像帧内的对象的轮廓可以包括:确定与在图像帧内的轮廓相对应的像素。
在一些方面中,确定图像帧至少部分地在感兴趣区域内包括对象可以包括:确定图像帧在图像帧内的多个感兴趣区域内包括一个或多个对象。在这些方面中,调整感兴趣区域的预先确定的大小或预先确定的形状可以包括:调整多个感兴趣区域的预先确定的大小或预先确定的形状。一些方面还可以包括:在图像帧内叠加用于指示所调整的感兴趣区域的视觉图形。这些方面还可以包括:检测与视觉图形相关联的额外用户输入,额外用户输入指示对所调整的感兴趣区域的至少一个额外调整。
一些方面还可以包括:确定与对感兴趣区域的预先确定的大小或预先确定的形状的不同调整相对应的多个候选经调整的感兴趣区域;在图像帧内顺序地显示与多个候选经调整的感兴趣区域相对应的多个视觉图形;以及基于检测到与多个视觉图形中的与多个候选经调整的感兴趣区域中的一个候选经调整的感兴趣区域相对应的视觉图形相关联的额外用户输入,来确定对所述一个候选经调整的感兴趣区域的选择。
在一些方面中,一个或多个图像捕获操作可以包括自动聚焦操作、自动曝光操作和/或自动白平衡操作。在一些情况下,可以在执行一个或多个图像捕获操作之后显示图像帧。
在另一示例中,提供了一种用于改进图像帧中的一个或多个图像处理操作的方法。一种示例方法可以包括:检测与对图像帧内的位置的选择相对应的用户输入。该方法还可以包括:确定图像帧是否至少部分地在围绕所选择的位置的固定感兴趣区域内包括一个或多个对象。如果图像帧在固定感兴趣区域内包括一个或多个对象,则该方法可以基于至少部分地在图像帧内的对象的边界来调整固定感兴趣区域,并且然后对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。如果图像帧在固定感兴趣区域内不包括任何对象,则该方法可以确定不调整固定感兴趣区域,并且然后对固定感兴趣区域内的图像数据执行一个或多个图像捕获操作。
在一些方面中,上文描述的装置中的一个或多个装置是以下各者或以下各者的一部分:移动设备(例如,移动电话或所谓的“智能电话”或其它移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机、车辆(例如,车辆的计算设备)或其它设备。在一些方面中,一种装置包括用于捕获一个或多个图像的一个相机或多个相机。在一些方面中,该装置还包括用于显示一个或多个图像、通知和/或其它可显示数据的显示器。在一些方面中,该装置可以包括一个或多个传感器,一个或多个传感器可以用于确定该装置的位置和/或姿态、该装置的状态和/或用于其它目的。
该发明内容既不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或全部附图以及每个权利要求来理解该主题。
在参考以下说明书、权利要求和附图之后,前述内容以及其它特征和实施例将变得更加显而易见。
附图说明
下文参考以下各图来详细描述本申请的说明性实施例:
图1A是示出根据一些示例的图像捕获和处理系统的示例架构的框图;
图1B、图1C和图1D示出了根据一些示例的分别处于同相、与前焦点异相以及与后焦点异相的相位检测自动聚焦(PDAF)相机系统;
图2A和图2B是根据一些示例的执行图像捕获操作的示图;
图3A和图3B是示出根据一些示例的图像处理系统的组件的操作和在这些组件之间的交互的概念图;
图4是示出根据一些示例的用于改进图像帧中的一个或多个图像捕获操作的过程的示例的流程图;
图5A和图5B是根据一些示例的图像捕获操作的示图;
图5C、图5D、图5E和图5F是根据一些示例的改进的图像捕获操作的示图;
图6是示出根据一些示例的用于改进图像帧中的一个或多个图像捕获操作的过程的示例的流程图;以及
图7是示出用于实现本文描述的某些方面的系统的示例的图。
具体实施方式
下文提供了本公开内容的某些方面和实施例。如对于本领域技术人员将显而易见的,这些方面和实施例中的一些方面和实施例可以独立地应用,并且它们中的一些可以相结合地应用。在下文的描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的全面理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践各个实施例。附图和描述不旨在是限制性的。
随后的描述仅提供了示例性实施例,并且不旨在限制本公开内容的范围、适用性或配置。而是,对示例性实施例的随后描述将向本领域技术人员提供用于实现示例性实施例的可行描述。应当理解的是,在不脱离如在所附的权利要求中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
相机是使用图像传感器接收光并且捕获图像帧(诸如静态图像或视频帧)的设备。术语“图像”、“图像帧”和“帧”在本文中可互换地使用。相机可以包括处理器(诸如图像信号处理器(ISP)),其可以接收一个或多个图像帧并且处理一个或多个图像帧。例如,由相机传感器捕获的原始图像帧可以由ISP处理以生成最终图像。由ISP进行的处理可以通过应用于所捕捉的图像帧的多个滤波器或处理块来执行,诸如去噪或噪声滤波、边缘增强、色彩平衡、对比度、强度调整(诸如变暗或变亮)、色调调整等。图像处理块或模块可以包括镜头/传感器噪声校正、Bayer滤波器、去马赛克、色彩转换、图像属性的校正或增强/抑制、去噪滤波器、锐化滤波器等。
相机可以被配置有各种图像捕获和图像处理操作和设置。不同的设置产生具有不同外观的图像。一些相机操作是在捕获照片之前或期间确定和应用的,诸如自动聚焦、自动曝光和自动白平衡算法(统称为“3A”)。在捕获照片之前或期间应用的额外相机操作包括涉及ISO、光圈大小、f/stop、快门速度和增益的操作。其它相机操作可以配置照片的后处理,诸如对比度、亮度、饱和度、锐度、级别、曲线或色彩的改变。
在许多相机系统中,用户可以指导或发起图像处理操作。例如,当在图像捕获模式下操作时,相机设备可以向用户显示一系列图像帧。所显示的图像帧可以被引用或被包括在“预览流”中。相机设备可以周期性地和/或随着用户移动相机设备而更新预览流中的图像帧。在观看预览流中的图像帧时,用户可以选择图像帧的与用于要执行的图像处理操作的期望位置相对应的一部分。例如,如果相机被配备有被配置用于用户输入的触摸屏或其它类型的接口,则用户可以(例如,利用手指、手写笔或其它合适的输入机构)选择图像帧的位置(诸如一个或多个像素)。适当的用户输入的非限制性示例包括双击在显示器内的位置,并且在预先确定的时间量(例如,半秒、一秒等)内按下显示器内的一位置。在一些情况下,该位置可以包括或对应于图像帧内的感兴趣对象(例如,主要主体(subject)或焦点)。相机设备可以对图像帧的围绕和/或包围所选择的位置的区域执行图像处理操作。该区域可以被称为“感兴趣区域”(ROI)。
如下文将更详细解释的,传统图像处理系统可以在标准和/或固定大小的ROI内执行图像处理操作。在一些情况下,固定ROI可以对应于预先确定的形状(例如,正方形、矩形、圆形等)的方框,该方框包括预先确定的数量的像素或相对于图像的大小(或分辨率)的预先确定的大小。可以对固定ROI内的每个像素执行图像处理操作。遗憾的是,固定ROI可能无法准确地或精确地对应于旨在由用户选择的对象(或多个对象)。例如,固定ROI可能包括除了所选择的对象之外的对象和/或固定ROI可能不包括所选择的对象的全部。
因此,本文描述了用于提高图像处理操作的质量和/或效率的系统、装置、过程和计算机可读介质。例如,在一些示例中,所述系统和技术可以确定并且利用动态ROI,动态ROI的形状和/或大小被定制为对应于图像帧内的所选择的对象的边界。
图1A是示出图像捕获和处理系统100的架构的框图。图像捕获和处理系统100包括用于捕获和处理场景的图像(例如,场景110的图像)的各种组件。图像捕获和处理系统100可以捕获独立图像(或照片)和/或可以捕获以特定序列包括多个图像(或视频帧)的视频。系统100的镜头115面向场景110并且接收来自场景110的光。镜头115将光折向图像传感器130。由镜头115接收的光穿过由一个或多个控制机构120控制的光圈并且由图像传感器130接收。
一个或多个控制机构120可以基于来自图像传感器130的信息和/或基于来自图像处理器150的信息来控制曝光、聚焦和/或变焦。一个或多个控制机构120可以包括多个机构和组件;例如,控制机构120可以包括一个或多个曝光控制机构125A、一个或多个聚焦控制机构125B和/或一个或多个变焦控制机构125C。一个或多个控制机构120还可以包括除了示出的控制机构之外的额外控制机构,诸如控制模拟增益、闪光灯、HDR、景深(depth offield)和/或其它图像捕获属性的控制机构。在一些情况下,一个或多个控制机构120可以控制和/或实现“3A”图像处理操作。
控制机构120的聚焦控制机构125B可以获得聚焦设置。在一些示例中,聚焦控制机构125B将聚焦设置存储在存储器寄存器中。基于聚焦设置,聚焦控制机构125B可以调整镜头115相对于图像传感器130的位置而言的位置。例如,基于聚焦设置,聚焦控制机构125B可以通过驱动电动机或伺服装置来使镜头115更靠近图像传感器130或更远离图像传感器130,从而调整聚焦。在一些情况下,可以在设备105A中包括额外的镜头,诸如在图像传感器130的每个光电二极管上的一个或多个微镜头,一个或多个微镜头各自在光到达光电二极管之前将从镜头115接收的光折向对应的光电二极管。聚焦设置可以经由对比度检测自动聚焦(CDAF)、相位检测自动聚焦(PDAF)或其某种组合来确定。聚焦设置可以使用控制机构120、图像传感器130和/或图像处理器150来确定。聚焦设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的曝光控制机构125A可以获得曝光设置。在一些情况下,曝光控制机构125A将曝光设置存储在存储器寄存器中。基于该曝光设置,曝光控制机构125A可以控制光圈的大小(例如,光圈大小或f/stop)、光圈打开的持续时间(例如,曝光时间或快门速度)、图像传感器130的灵敏度(例如,ISO速度或胶片速度)、由图像传感器130应用的模拟增益、或其任何组合。曝光设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的变焦控制机构125C可以获得变焦设置。在一些示例中,变焦控制机构125C将变焦设置存储在存储器寄存器中。基于变焦设置,变焦控制机构125C可以控制包括镜头115和一个或多个额外镜头的镜头元件的总成(镜头总成)的焦长。例如,变焦控制机构125C可以通过驱使一个或多个电动机或伺服装置以使这些镜头中的一者或多者相对于彼此移动来控制镜头总成的焦长。变焦设置可以被称为图像捕获设置和/或图像处理设置。在一些示例中,镜头总成可以包括齐焦面变焦镜头或变焦面变焦镜头。在一些示例中,镜头总成可以包括首先接收来自场景110的光的聚焦镜头(在一些情况下其可以是镜头115),其中,在光到达图像传感器130之前,光随后穿过在聚焦镜头(例如,镜头115)和图像传感器130之间的无焦变焦系统(afocal zoom system)。在一些情况下,无焦变焦系统可以包括具有相等或相似的焦长(例如,在门限差内)的两个正(例如,会聚的、凸)透镜,在它们之间具有负(例如,发散的、凹)透镜。在一些情况下,变焦控制机构125C移动无焦变焦系统中的镜头中的一个或多个镜头,诸如正透镜中的一者或两者以及负透镜。
图像传感器130包括光电二极管或其它光敏元件的一个或多个阵列。每个光电二极管测量最终与在由图像传感器130产生的图像中的特定像素相对应的光量。在一些情况下,不同的光电二极管可以被不同的滤色器覆盖,并且因此可以测量与覆盖光电二极管的滤色器的色彩匹配的光。例如,Bayer滤色器包括红色滤色器、蓝色滤色器和绿色滤色器,其中图像的每个像素是基于以下各项来生成的:来自在红色滤色器中覆盖的至少一个光电二极管的红色光数据、来自在蓝色滤色器中覆盖的至少一个光电二极管的蓝色光数据、以及来自在绿色滤光器中覆盖的至少一个光电二极管的绿色光数据。代替或者除了红色、蓝色和/或绿色滤色器,其它类型的滤色器可以使用黄色、品红和/或青色(还被称为“祖母绿”)滤色器。一些图像传感器可以完全缺少滤色器,以及可以替代地遍及像素阵列来使用不同的光电二极管(在一些情况下是垂直地堆叠的)。遍及像素阵列的不同光电二极管可以具有不同的光谱灵敏度曲线,因此对不同波长的光进行响应。单色图像传感器还可以缺少滤色器,并且因此缺少色彩深度。
在一些情况下,图像传感器130可以替代地或另外包括不透明和/或反射掩模,其阻止光在某些时间处和/或从某些角度到达可以用于相位检测自动聚焦(PDAF)的某些光电二极管或某些光电二极管的部分。图像传感器130还可以包括用于放大由光电二极管输出的模拟信号的模拟增益放大器和/或用于将光电二极管的模拟信号输出(和/或由模拟增益放大器放大的)转换为数字信号的模数转换器(ADC)。在一些情况下,关于控制机构120中的一者或多者讨论的某些组件或功能可以替代地或另外被包括在图像传感器130中。图像传感器130可以是电荷耦合器件(CCD)传感器、电子倍增CCD(EMCCD)传感器、有源像素传感器(APS)、互补金属氧化物半导体(CMOS)、N型金属氧化物半导体(NMOS)、混合CCD/CMOS传感器(例如,sCMOS)或其某种其它组合。
图像处理器150可以包括一个或多个处理器,诸如一个或多个图像信号处理器(ISP)(包括ISP 154)、一个或多个主机处理器(包括主机处理器152)、和/或关于计算设备900讨论的任何其它类型的处理器910中的一者或多者。主机处理器152可以是数字信号处理器(DSP)和/或其它类型的处理器。在一些实现方式中,图像处理器150是包括主机处理器152和ISP 154的单个集成电路或芯片(例如,被称为片上系统或SoC)。在一些情况下,芯片还可以包括一个或多个输入/输出端口(例如,输入/输出(I/O)端口156)、中央处理单元(CPU)、图形处理单元(GPU)、宽带调制解调器(例如,3G、4G或LTE、5G等)、存储器、连接组件(例如,蓝牙TM、全球定位系统(GPS)等)、其任何组合和/或其它组件。I/O端口156可以包括根据一种或多种协议或规范的任何适当的输入/输出端口或接口,诸如内部集成电路2(I2C)接口、内部集成电路3(I3C)接口、串行外围接口(SPI)接口、串行通用输入/输出(GPIO)接口、移动工业处理器接口(MIPI)(诸如MIPI CSI-2物理(PHY)层端口或接口、高级高性能总线(AHB)总线、其任何组合)和/或其它输入/输出端口。在一个说明性示例中,主机处理器152可以使用I2C端口来与图像传感器130进行通信,并且ISP 154可以使用MIPI端口来与图像传感器130进行通信。
图像处理器150可以执行多个任务,诸如去马赛克、色彩空间转换、图像帧下采样、像素插值、自动曝光(AE)控制、自动增益控制(AGC)、CDAF、PDAF、自动白平衡、对图像帧合并以形成HDR图像、图像识别、对象识别、特征识别、对输入的接收、管理输出、管理存储器、或其某种组合。图像处理器150可以将图像帧和/或经处理的图像存储在随机存取存储器(RAM)140/920、只读存储器(ROM)145/925、高速缓存912、存储器单元915、另一存储设备930或其某种组合中。
各种输入/输出(I/O)设备160可以连接到图像处理器150。I/O设备160可以包括显示屏幕、键盘、小键盘、触摸屏、触控板、触摸敏感表面、打印机、任何其它输出设备935、任何其它输入设备945或其某种组合。在一些情况下,可以通过I/O设备160的物理键盘或小键盘,或者通过I/O设备160的触摸屏的虚拟键盘或小键盘来将说明文字(caption)输入到图像处理设备105B中。I/O 160可以包括一个或多个端口、插孔或者其它连接器,其实现在设备105B与一个或多个外围设备之间的有线连接,通过该有线连接,设备105B可以从一个或多个外围设备接收数据和/或向一个或多个外围设备发送数据。I/O 160可以包括一个或多个无线收发机,其实现在设备105B与一个或多个外围设备之间的无线连接,通过该无线连接,设备105B可以从一个或多个外围设备接收数据和/或向一个或多个外围设备发送数据。外围设备可以包括先前讨论的类型的I/O设备160中的任何一者,并且一旦它们耦合到端口、插孔、无线收发机或其它有线和/或无线连接器,它们本身就可以被认为是I/O设备160。
在一些情况下,图像捕获和处理系统100可以是单个设备。在一些情况下,图像捕获和处理系统100可以是两个或更多个单独的设备,包括图像捕获设备105A(例如,相机)和图像处理设备105B(例如,耦合到相机的计算设备)。在一些实现方式中,图像捕获设备105A和图像处理设备105B可以例如经由一个或多个导线、电缆或其它电连接器耦合在一起,和/或经由一个或多个无线收发机无线地耦合在一起。在一些实现方式中,图像捕获设备105A和图像处理设备105B可以彼此断开。
如图1所示,垂直虚线将图1的图像捕获和处理系统100划分为两个部分,其分别表示图像捕获设备105A和图像处理设备105B。图像捕获设备105A包括镜头115、控制机构120和图像传感器130。图像处理设备105B包括图像处理器150(包括ISP 154和主机处理器152)、RAM 140、ROM 145和I/O 160。在一些情况下,在图像捕获设备105A中示出的某些组件(诸如ISP 154和/或主机处理器152)可以被包括在图像捕获设备105A中。
图像捕获和处理系统100可以包括电子设备,诸如移动或固定电话手持设备(例如,智能电话、蜂窝电话等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式设备、互联网协议(IP)相机、或任何其它适当的电子设备。在一些示例中,图像捕获和处理系统100可以包括用于无线通信(诸如蜂窝网络通信、802.11wi-fi通信、无线局域网(WLAN)通信或其某种组合)的一个或多个无线收发机。在一些实现方式中,图像捕获设备105A和图像处理设备105B可以是不同的设备。例如,图像捕获设备105A可以包括相机设备,并且图像处理设备105B可以包括计算设备,诸如移动手持设备、台式计算机或其它计算设备。
虽然图像捕获和处理系统100被示为包括某些组件,但是普通技术人员将认识到的是,图像捕获和处理系统100可以包括与在图1中所示的组件相比更多的组件。图像捕获和处理系统100的组件可以包括软件、硬件、或者软件和硬件的一个或多个组合。例如,在一些实现方式中,图像捕获和处理系统100的组件可以包括电子电路或其它电子硬件(其可以包括一个或多个可编程电子电路(例如,微处理器、GPU、DSP、CPU和/或其它适当的电子电路))和/或可以使用电子电路或其它电子硬件来实现,和/或可以包括计算机软件、固件或其任何组合和/或使用计算机软件、固件或其任何组合来实现,以执行本文描述的各种操作。软件和/或固件可以包括一个或多个指令,一个或多个指令被存储在计算机可读存储介质上并且由实现图像捕获和处理系统100的电子设备的一个或多个处理器可执行。
主机处理器152可以利用新的参数设置来配置图像传感器130(例如,经由外部控制接口,诸如I2C、I3C、SPI、GPIO和/或其它接口)。在一个说明性示例中,主机处理器152可以基于来自过去图像帧的曝光控制算法的内部处理结果来更新由图像传感器130使用的曝光设置。主机处理器152还可以动态地配置ISP 154的内部流水线或模块的参数设置,以匹配来自图像传感器130的一个或多个输入图像帧的设置,使得ISP 154正确地处理图像数据。ISP 154的处理(或流水线)块或模块可以包括用于镜头/传感器噪声校正、去马赛克、色彩转换、图像属性的校正或增强/抑制、去噪滤波器、锐化滤波器等的模块。ISP 154的不同模块的设置可以由主机处理器152来配置。每个模块可以包括大量的可调谐的参数设置。此外,模块可以是相互依赖的,因为不同的模块可能影响图像的类似方面。例如,去噪和纹理校正或增强两者可能影响图像的高频方面。结果,ISP使用大量参数来从所捕获的原始图像生成最终图像。
在一些情况下,图像捕获和处理系统100可以自动地执行上文描述的图像处理功能中的一个或多个图像处理功能。例如,控制机构120中的一者或多者可以被配置为执行自动聚焦操作、自动曝光操作和/或自动白平衡操作(如上文所述,被称为“3A”)。在一些实施例中,自动聚焦功能允许图像捕获设备105A在捕获期望图像之前自动聚焦。存在各种自动聚焦技术。例如,主动自动聚焦技术通常通过发射红外激光或超声信号并且接收这些信号的反射,经由相机的距离传感器来确定在相机与图像的主体之间的距离。此外,被动自动聚焦技术使用相机本身的图像传感器来对相机进行聚焦,并且因此不要求将额外传感器集成到相机中。被动AF技术包括对比度检测自动聚焦(CDAF)、相位检测自动聚焦(PDAF),以及在一些情况下包括使用这两种技术的混合系统。图像捕获和处理系统100可以被配备有这些或任何额外类型的自动聚焦技术。
图1B、图1C和图1D提供了可以集成到图像捕获和处理系统100中的PDAF相机系统的示例。具体地,图1B示出了处于同相并且因此合焦(in focus)的PDAF相机系统。光线175可以从主体135(例如,苹果)穿过对具有主体135的场景进行聚焦的镜头115(还在图1A中示出)传播到图像传感器(例如,图1A中所示的图像传感器130)上,其中图像传感器包括对应于聚焦像素的聚焦光电二极管155A和聚焦光电二极管155B。聚焦光电二极管155A和155B可以与图像传感器的像素阵列的一个或两个聚焦像素相关联(例如,聚焦光电二极管155A和聚焦光电二极管155B可以是共享单个微镜头157的单个聚焦像素的两个光电二极管,或者聚焦光电二极管155A可以与第一聚焦像素相关联,并且聚焦光电二极管155B可以与第二聚焦像素相关联,两个聚焦像素共享单个微镜头157)。在一些情况下,光线175可以在落在聚焦光电二极管155A和聚焦光电二极管155B上之前传播穿过微镜头157。当相机系统180处于图1B的“合焦”状态158时,光线175可以最终汇聚在与聚焦光电二极管155A和聚焦光电二极管155B的位置相对应的平面处。当相机系统180处于图1B的“合焦”状态158时,光线175还可以在穿过镜头115之后但是在到达微镜头157和/或聚焦光电二极管155A和155B之前汇聚在焦平面116(还被称为像平面)处。
因为图1B的相机180处于合焦状态158,所以来自聚焦光电二极管155A和155B的数据被对准,此处由图像190A表示,图像190A示出了由于这种对准而导致的主体135的清楚并且清晰的表示,这与分别由在图1C和图1D中的异相状态162和166引起的主体135的未对准的表示相反。合焦状态158还可以被称为“同相”状态,因为来自聚焦光电二极管155A和聚焦光电二极管155B的数据没有相位差异,或者具有非常小的相位差异(例如,相位差异下降到预先确定的相位差异门限以下)。
图1C示出了图1B的与前焦点异相的PDAF相机系统。图1B的PDAF相机系统180与图1B的PDAF相机系统180相同,但是镜头115被移动得更靠近主体135并且更远离聚焦光电二极管155A和155B,并且因此处于“前焦点”状态162。在图1C中仍然将针对“合焦”状态158的镜头位置绘制为虚线轮廓以供参考,其中双侧箭头指示镜头在“前焦点”162镜头位置与“合焦”158镜头位置之间的移动。
当相机系统180处于图1C的“前焦点”状态162时,光线175可能最终汇聚在聚焦光电二极管155A和聚焦光电二极管155B的位置之前的平面(由虚线表示)处(即,在微镜头157与聚焦光电二极管155A和155B之间)。光线175还可能在穿过镜头115之后但是在到达微镜头157和/或聚焦光电二极管155A和155B之前汇聚在焦平面116之前的位置(由另一条虚线表示)处。因为在图1C的相机180中的光175在“前焦点”状态162中是异相的,所以来自聚焦光电二极管155A和155B的数据未对准,此处由示出主体135的未对准的黑色和白色表示的图像190B来表示,其中,图像190B中的未对准的方向与前焦点状态162有关,并且图像190B中的未对准的距离与镜头115距其在聚焦状态158中的位置的距离有关。
图1D示出了图1B的与后焦点异相的PDAF相机系统。图1D的PDAF相机系统180与图1B的PDAF相机系统180相同,但是镜头115被移动得更远离主体135并且更靠近聚焦光电二极管155A和155B,并且因此处于“后焦点(back focus)”状态166(还被称为“后聚焦(rearfocus)”状态)。仍然将针对“合焦”状态158的镜头位置绘制为虚线轮廓以供参考,其中双侧箭头指示镜头在针对“后焦点”状态166的镜头位置与针对“合焦”状态158的镜头位置之间的移动。
当相机系统180处于图1D的“后焦点”状态166时,光线175可能最终汇聚在超过聚焦光电二极管155A和聚焦光电二极管155B的位置的平面(由虚线表示)处。光线175还可能在穿过镜头115之后但是在到达微镜头157和/或聚焦光电二极管155A和155B之前汇聚在超过焦平面116的位置(由另一条虚线表示)处。因为在图1D的相机180中的光175在“后焦点”状态166中是异相的,所以来自聚焦光电二极管155A和155B的数据未对准,此处由示出主体135的未对准的黑色和白色表示的图像190C来表示,其中图像190C中的未对准的方向与后焦点状态166有关,并且图像190C中的未对准的距离与镜头115距其在聚焦状态158中的位置的距离有关。
当光线175如在前焦点状态162中在聚焦光电二极管155A和155B的平面之前汇聚,或者如在后焦点状态166中超过聚焦光电二极管155A和155B的平面而汇聚时,由图像传感器产生的所得到的图像可能失焦或模糊。在图像失焦的情况下,如果镜头115处于后焦点状态166,则可以将镜头115向前移动(朝向主体135并且远离光电二极管155A和155B),或者如果镜头处于前焦点状态162,则可以将镜头115向后移动(远离主体135并且朝向光电二极管155A和155B)。可以将镜头115在位置的范围内向前或向后移动,在一些情况下,位置的范围具有表示镜头在相机系统180中的运动的可能范围的预先确定的长度R。相机系统180或其中的计算系统可以基于一个或多个相位差异值来确定调整镜头115的位置以使图像聚焦的距离和方向,一个或多个相位差异值被计算为在来自接收来自不同方向的光的两个聚焦光电二极管(诸如聚焦光电二极管155A和155B)的数据之间的差。镜头115的移动的方向可以对应于来自聚焦光电二极管155A和155B的数据被确定为异相的方向或者相位差异是正的还是负的。镜头115的移动的距离可以对应于来自聚焦光电二极管155A和155B的数据被确定为异相的程度或量或者相位差异的绝对值。
相机180可以包括将镜头115在与不同状态(例如,前焦点状态162、后焦点状态166和合焦状态158)相对应的镜头位置之间移动的电动机(未示出)以及相机内的计算系统激活以驱动电动机的电动机致动器(未示出)。图1B、图1C和图1D的相机180在一些情况下还可以包括各种额外的未示出的组件,诸如镜头、反光镜、部分反射(PR)反光镜、棱镜、光电二极管、图像传感器和/或有时在相机或其它光学设备中发现的其它组件。在一些情况下,聚焦光电二极管155A和155B可以被称为PDAF光电二极管、PDAF二极管、相位检测(PD)光电二极管、PD二极管、PDAF像素光电二极管、PDAF像素二极管、PD像素光电二极管、PD像素二极管、聚焦像素光电二极管、聚焦像素二极管、像素光电二极管、像素二极管,或者在一些情况下简称为光电二极管或二极管。
图2A和图2B示出了在图像捕获和处理系统100执行自动聚焦操作或其它“3A”操作时可以捕获和/或处理的图像帧的示例。具体地,图2A和图2B示出了利用固定ROI的传统自动聚焦操作的示例。如图2A所示,系统100的图像捕获设备105A可以捕获图像帧202。在一些情况下,图像处理设备105B可以检测到用户已经选择了图像帧202内的位置208(例如,当图像帧202被显示在预览流内时)。例如,图像处理设备105B可以确定用户已经提供了包括对与位置208相对应的像素或像素组的选择的输入(例如,使用手指、手势、手写笔和/或其它适当的输入机构)。图像处理设备105B然后可以确定包括位置208的ROI 204。图像处理器150可以对ROI 204内的图像数据执行自动聚焦操作或其它“3A”操作。在图2A中所示的图像帧部分206中示出了自动聚焦操作的结果。
图2B示出了ROI 204的示例性实施例。在该示例中,图像处理设备105B可以通过以图像帧202的区域内的位置208为中心来确定和/或生成ROI 204,图像帧202的区域的尺寸由预先确定的宽度212和预先确定的高度210来定义。在一些情况下,预先确定的宽度212和预先确定的高度210可以对应于预先选择的数量的像素(诸如10个像素、50个像素、100个像素等)。另外或替代地,预先确定的宽度212和预先确定的高度210可以对应于在向用户显示图像帧202的显示器内的预先选择的距离(诸如0.5厘米、1厘米、2厘米等)。虽然图2B将ROI204示为矩形,但是ROI 204可以是任何替代形状(包括正方形、圆形、椭圆形等)。
在一些情况下,图像处理设备105B可以通过访问和/或分析指示图像帧202内的像素的坐标的信息来确定与ROI 204的边界相对应的像素。作为说明性示例,由用户选择的位置208可以对应于具有图像帧202内的x轴坐标(在水平方向上)200和y轴坐标(在垂直方向上)300的像素。如果图像处理设备105B被配置为生成其高度为100个像素并且其长度为200个像素的固定ROI,则图像处理设备105B可以将ROI 204定义为具有与坐标(150,400)、(250,400)、(150,200)和(250,200)相对应的角的方框。图像处理设备105B可以利用任何额外的或替代的技术来生成固定ROI。
图3A是示出图像捕获和处理系统300的示例的框图。在一些实施例中,图像捕获和处理系统300被配置为改进在图2A和图2B中所示的图像处理操作。图像捕获和处理系统300可以包括在图1中所示的图像捕获和处理系统100的任何一个或多个组件,包括图像捕获设备105A、图像处理设备105B和镜头115。在一些情况下,图像捕获和处理系统300的组件中的全部或一部分可以在计算设备(诸如在图3B中所示的设备322)内实现。设备322可以包括任何适当的设备,诸如移动设备(例如,移动电话)、台式计算设备、平板计算设备、扩展现实(XR)设备(例如,虚拟现实(VR)耳机、增强现实(AR)耳机、AR眼镜或其它XR设备)、可穿戴设备(例如,网络连接的手表或智能手表或其它可穿戴设备)、服务器计算机、自主车辆或自主车辆的计算设备、机器人设备、电视机和/或具有执行本文描述的图像处理操作的资源能力的任何其它计算设备。
如图3A所示,图像捕获和处理系统300可以包括显示器310。图像捕获和处理系统300可以捕获图像帧,并且然后在显示器310内显示图像帧。显示器310可以包括被配置为在视觉上显示图像数据的任何适当类型的屏幕或接口。在一些情况下,图像捕获和处理系统300可以显示所捕获的图像帧,以使得用户能够提供输入,该输入指导图像捕获和处理系统300对图像帧执行一个或多个图像处理操作。图像捕获和处理系统300可以包括被配置为执行图像处理操作的一个或多个引擎。如图3A所示,这些引擎可以包括输入检测引擎302、对象检测引擎304、ROI调整引擎306和图像处理引擎308。
如图3A所示,图像捕获和处理系统300可以捕获并且显示图像帧312。输入检测引擎302然后可以监测显示器310以检测向图像帧312提供的用户输入314。在一些情况下,用户输入314可以包括和/或对应于用户选择图像帧312内的位置(例如,像素)。用户输入314可以表示用于对围绕所选择的位置和/或在所选择的位置附近的图像数据执行图像处理操作(诸如自动聚焦算法)的请求。在一些情况下,图像捕获和处理系统300可以基于确定用户在至少门限时间量(例如,0.5秒、1秒等)内提供用户输入314(例如,触摸显示器310)来确定用户输入314表示用于执行图像处理操作的请求。输入检测引擎302可以周期性地或持续地监测显示器310以检测用户输入314。例如,输入检测引擎302可以在图像帧312被显示在预览流内时监测显示器310,和/或在图像帧312已经被存储到图像捕获和处理系统300的存储器(例如,主存储器)之后监测显示器310。在一些情况下,输入检测引擎302可以检测与对多个位置(例如,多个像素)的选择相关联的用户输入。在一些示例中,每个所选择的位置可以对应于包括一个或多个对象的不同固定ROI。
在一些情况下,对象检测引擎304可以至少部分地基于用户输入314来对图像帧312内的图像数据执行对象检测操作或算法。该对象检测操作或算法的目标可以是识别在图像帧312的围绕与用户输入314相对应的位置和/或在该位置附近的区域内的一个或多个对象。如本文所使用的,术语“对象”通常是指在图像帧内对物品或实体(诸如人、设备、动物、车辆、平面、景观特征等)的描绘。在说明性实施例中,对象检测引擎304可以检测固定ROI内的对象,该固定ROI以所选择的位置为中心(或近似地以所选择的位置为中心)。对象检测引擎304可以使用任何适当的方法或技术(包括结合图2A和图2B描述的技术)来确定固定ROI。在输入检测引擎302检测到与对多个位置的选择相关联的用户输入的示例中,对象检测引擎304可以检测至少部分地被包括在与每个所选择的位置相对应的固定ROI内的一个或多个对象。
在一些示例中,对象检测引擎304实现一个或多个对象检测操作或算法(例如,面部检测和/或识别算法、特征检测和/或者识别算法、边缘检测算法、边界跟踪函数、其任何组合和/或其它对象检测和/或识别技术),以检测图像帧312内的对象。任何对象检测技术可以用于检测对象。在一些情况下,特征检测可以用于检测(或定位)对象的特征。基于这些特征,对象检测和/或识别可以检测对象,并且在一些情况下可以将被检测对象识别并且分类为对象的类别或类型。例如,特征识别可以辨识在场景的一个区域中的数个边缘和角。对象检测可以检测到在区域中检测到的边缘和角全都属于单个对象。在执行面部检测的情况下,面部检测可以辨识出对象是人脸。对象识别和/或面部识别还可以辨识与该面部相对应的人的身份。
在一些实现方式中,对象检测操作或算法可以基于使用机器学习算法在相同类型的对象和/或特征的图像上训练的机器学习模型,机器学习模型可以提取图像的特征,并且基于通过算法对模型的训练来检测和/或分类包括这些特征的对象。例如,机器学习算法可以是神经网络(NN),诸如卷积神经网络(CNN)、时间延迟神经网络(TDNN)、深度前馈神经网络(DFFNN)、递归神经网络(RNN)、自动编码器(AE)、变分AE(VAE)、去噪AE(DAE)、稀疏AE(SAE)、马尔可夫链(MC)、感知器或其某种组合。机器学习算法可以是有监督学习算法、无监督学习方法、半监督学习方法、基于生成对抗网络(GAN)的学习方法、其任何组合、或者其它学习技术。
在一些实现方式中,可以使用基于计算机视觉的特征检测技术或算法。可以使用不同类型的基于计算机视觉的对象检测算法。在一个说明性示例中,可以使用基于模板匹配的技术来检测图像中的对象。可以使用各种类型的模板匹配算法。模板匹配算法的一个示例可以执行Haar或类似Haar的特征提取、积分图像生成、Adaboost训练和级联分类器。这种对象检测技术通过跨越图像应用滑动窗口(例如,具有矩形、圆形、三角形或其它形状)来执行检测。积分图像可以被计算为评估来自图像的特定区域特征(例如,矩形或圆形特征)的图像表示。对于每个当前窗口,可以从上述积分图像计算当前窗口的Haar特征,该积分图像可以是在计算Haar特征之前计算的。
可以通过计算在对象图像的特定特征区域(诸如积分图像的特征区域)内的图像像素的总和来计算Harr特征。例如,在面部中,具有眼睛的区域通常比具有鼻梁或脸颊的区域暗。Haar特征可以由选择最佳特征和/或训练使用它们的分类器的学习算法(例如,Adaboost学习算法)来选择,并且可以用于利用级联分类器将窗口有效地分类为特定对象(例如,面部或其它对象)窗口或不同对象(例如,非面部窗口)。级联分类器包括以级联方式组合的多个分类器,其允许快速地丢弃图像的背景区域,同时对类似对象的区域执行更多计算。使用面部作为对象的示例,级联分类器可以将当前窗口分类为面部类别或非面部类别。如果一个分类器将窗口分类为非面部类别,则丢弃该窗口。否则,如果一个分类器将窗口分类为面部类别,则级联布置中的下一分类器将用于再次测试。直到所有分类器确定当前窗口是面部(或其它对象)为止,该窗口将被标记为作为特定对象(例如,面部或其它对象)的候选。在检测到所有窗口之后,可以使用非最大抑制算法来将在每个面部周围的窗口分组,以生成一个或多个被检测对象(例如,图像中的面部或其它对象)的最终结果。
在一些情况下,对象检测操作或算法可以检测和/或输出对象的边界。如本文所使用的,术语“对象的边界”可以是指在对象与一个或多个其它对象之间的视觉或物理区别。在一些示例中,对象的边界可以(近似地)对应于对象的轮廓和/或由对象的轮廓(例如,对象的形状、边缘和/或外形)来定义。然而,对象的边界可能不一定直接或精确地与对象的轮廓对齐(例如,对象的边界可以被确定在距离对象的轮廓的特定距离和/或一数量的像素内)。在一些情况下,对象检测操作或算法可以将关于对象边界的指示作为与对象的边界相对应的像素坐标集合来输出。另外或替代地,对象检测操作或算法可以将关于对象边界的指示作为与对象的边界相对应的一条或多条曲线(例如,等式)来输出。在一个实施例中,像素坐标和/或曲线可以精确地遵循对象的轮廓(例如,定义对象的外形)。在其它实施例中,像素坐标和/或曲线可以近似地遵循对象的边界。例如,在感兴趣区域内执行对象检测算法可以输出定义对象的边界框的像素坐标和/或曲线或者包括对象的多边形(诸如alpha形状或凸包)。
由对象检测引擎304执行的对象检测操作或算法可以检测在图像帧312的区域(例如,固定ROI)内的一个或多个对象316。在一个示例中,对象检测引擎304可以检测在区域内被完全描绘的每个对象(例如,其边界被完全包括在该区域内的每个对象)。在另一示例中,对象检测引擎304可以检测至少部分地被包括在区域内的每个对象。在另一示例中,对象检测引擎304可以检测到多个对象至少部分地被包括在区域内,但是确定一个或多个对象比其它被检测对象更重要和/或更相关。例如,对象检测引擎304可以确定用户旨在选择第一对象而不是第二对象作为图像处理操作的主体是更可能的。对象检测引擎304可以基于诸如以下各项的各种因素来确定第一对象比第二对象更重要和/或更相关:由用户选择的与第一对象相对应的像素、第一对象大于第二对象、第一对象在图像帧312中描绘的场景的前景(而不是背景)中、和/或第一对象是特定类型的对象。作为说明性示例,对象检测引擎304可以确定固定ROI包括面部和树的描绘。对象检测引擎304可以确定面部在图像帧312内可能比树更重要,并且因此确定面部是图像处理操作的预期主体。在另一说明性示例中,对象检测引擎304可以检测到固定ROI包括两棵树,并且确定图像处理操作的预期主体是更靠近所描绘的场景的前景的树。
在一些示例中,对象检测引擎304可以响应于用户输入314来在图像帧312内执行对象检测(例如,仅在输入检测引擎302检测到用户输入314之后)。例如,虽然对象检测引擎304可能能够在接收用户输入314之前检测图像帧312内的对象,但是图像捕获和处理系统300可以通过等待直到检测到用户输入314为止,来减少功率和计算资源的消耗。因为用户输入314指示用户希望使用图像处理操作来增强或细化的特定区域和/或对象,所以在图像帧312的其它区域内执行对象检测可能是不必要的。因此,通过等待执行对象检测直到接收到用户输入为止,图像捕获和处理系统300可以促进对图像帧内的特定对象执行高效并且可定制的图像处理操作。
在对象检测引擎304检测到一个或多个对象316之后,ROI调整引擎306可以基于一个或多个对象316的一个或多个边界来确定经调整的ROI 318。例如,如果对象检测引擎304搜索固定ROI内的图像内容以检测图像帧312内的对象,则对象检测引擎304可以调整固定ROI的一个或多个边界以更准确地对应于和/或遵循一个或多个对象316的边界。在一些情况下,调整固定ROI的目标可以是减小在图像帧312内的一个或多个对象316的边界与固定ROI的边界之间的距离。虽然经调整的ROI 318的边界可能不一定精确地遵循一个或多个对象316的边界,但是经调整的ROI 318可以更准确地反映一个或多个对象316的形状和/或大小。
调整固定ROI的示例包括但不限于:减小固定ROI的大小、增加固定ROI的大小、改变固定ROI的位置、改变固定ROI的形状、因此的组合、或对固定ROI的任何额外类型的调整。在说明性示例中,调整固定ROI可以包括沿着一个或多个轴(例如,x轴、y轴和/或径向轴)增加或减小固定ROI的预先确定的大小。ROI调整引擎306可以调整固定ROI的预先确定的大小和形状的任何组合,包括仅固定ROI的大小、仅形状或大小和形状两者。例如,ROI调整引擎306可以将固定ROI的每个维度(例如,高度和宽度)调整相同的量,这可以调整固定ROI的预先确定的大小,而不是调整固定ROI的预先确定的形状。在另一示例中,ROI调整引擎306可以按照改变固定ROI的预先确定的形状但不改变固定ROI的预先确定的大小的方式,来调整固定ROI的一个或多个维度(例如,经调整的ROI可以包括与固定ROI相同数量的像素)。在进一步的示例中,ROI调整引擎306可以通过将固定ROI的边界设置为基于由对象检测引擎304执行的对象检测算法而针对对象确定的边界框来调整固定ROI。
如上文所述,在一些情况下,对象检测引擎304可以确定与一个或多个对象316的边界相对应(或近似地与一个或多个对象316的边界相对应)的像素坐标。在这些情况下,ROI调整引擎306可以将经调整的ROI 318的边界设置为所确定的像素坐标。此外,如果对象检测引擎304确定固定ROI包括要作为图像处理操作的主体的多个对象,则ROI调整引擎306可以确定包围每个对象的单个经调整的ROI 318,或者对象检测引擎304可以确定各自包围单个对象的多个经调整的ROI 318。进一步地,ROI调整引擎306可以快速地和/或动态地确定经调整的ROI 318。例如,当仍然在显示器310内(例如,在预览流内)向用户显示图像帧312时,ROI调整引擎306可以确定经调整的ROI 318。在其它示例中,ROI调整引擎306可以在不再向用户显示图像帧312时确定经调整的ROI 318。
在一些示例中,如果对象检测引擎304确定各自至少部分地包括一个或多个对象的多个固定ROI,则ROI调整引擎306可以确定针对固定ROI的全部或一部分的调整。例如,ROI调整引擎306可以调整多个固定ROI的预先确定的大小和/或形状。进一步地,对象检测引擎304可以确定针对单个固定ROI的多个调整。例如,ROI调整引擎306可以确定针对固定ROI的多个候选(例如,潜在)调整。在一个示例中,ROI调整引擎306可以通过在固定ROI内实现各种对象检测算法来确定多个候选调整。各种对象检测算法可以输出对固定ROI的预先确定的大小和/或形状的不同调整。在一些情况下,ROI调整引擎306可以选择多个候选ROI调整中的要在图像帧312内实现的一个调整。在说明性示例中,ROI调整引擎306可以基于对多个候选ROI调整的比较来选择候选ROI调整。例如,ROI调整引擎306可以确定哪个候选ROI调整最适合固定ROI内的一个或多个对象的大小、形状和/或轮廓。在其它示例中,ROI调整引擎306可以至少部分地基于指示选择的用户输入来选择候选ROI调整。例如,如将在下文中进一步解释的,ROI调整引擎306可以顺序地显示(例如,在显示器310内)用于指示候选ROI调整的视觉图形。ROI调整引擎306可以使得用户能够提供与指示关于对应候选ROI调整的选择的特定视觉图形相关联的输入(例如,触摸输入)。
在一些示例中,ROI调整引擎306可以使得用户能够提供对经调整的ROI 318的一个或多个额外调整。例如,ROI调整引擎306可以显示(例如,在显示器310内)用于指示经调整的ROI 318的形状、大小和/或外形的视觉图形。ROI调整引擎306然后可以检测与对经调整的ROI 318的边界的调整相对应的用户输入。例如,ROI调整引擎306可以使得用户能够移动、滑动、拖动或以其它方式调整经调整的ROI 318的一个或多个边界。通过使得用户能够选择候选ROI调整和/或提供额外ROI调整,ROI调整引擎306可以基于用户的个人偏好来制定和/或定制图像捕获或图像处理操作。
在一些实施例中,图像处理引擎308可以对经调整的ROI 318内的图像数据执行一个或多个图像处理和/或图像捕获操作。在说明性示例中,图像处理引擎308可以在捕获图像帧312之前或期间(例如,当图像帧312被显示在预览流内时)对经调整的ROI 318内的图像数据执行自动聚焦操作,例如上文描述的PDAF或CDAF操作。可以由图像处理引擎308执行的额外图像处理操作的非限制性示例包括其它类型的“3A”操作、在图像捕获之前或期间执行的其它类型的自动图像处理操作以及在图像捕获和/或存储之后执行的其它类型的曝光、聚焦、测光和/或变焦操作。值得注意的是,图像处理引擎308可以对经调整的ROI 318内的图像数据执行一个或多个图像处理操作,而不处理被包括在固定ROI内和在经调整的ROI318之外的图像数据。因此,如果ROI调整引擎306在确定经调整的ROI 318时改变(例如,减小)固定ROI的大小,则图像处理引擎308可以对图像数据的与实现固定ROI的传统图像处理系统不同(例如,更小)的部分执行一个或多个图像处理操作。这种较小的ROI可以提高执行图像处理操作的效率,以及改善包含经处理的图像数据的图像帧的质量和/或外观。
在对经调整的ROI 318内的图像数据执行一个或多个图像处理操作之后,图像捕获和处理系统300可以对图像帧312执行各种动作。在一个示例中,图像捕获和处理系统300可以在显示器310内显示图像帧312(具有经处理的图像数据)。以这种方式,用户可以可视化图像处理操作的结果。然后,用户可以确定是否保存经处理的图像帧312(例如,保存到图像捕获和处理系统300的主存储器)、删除经处理的图像帧312、指导图像捕获和处理系统300以对图像帧312执行一个或多个额外的图像处理操作、或者对图像帧312执行任何额外或替代的动作。
图3B示出了设备322内的图像捕获和处理系统300的示例性实现的框图。如图所示,图像捕获和处理系统300的引擎可以在设备322的各种硬件和/或软件组件内实现。在一个示例中,输入检测引擎302可以位于设备应用层324内。设备应用层324可以表示相机应用的控制在图3A中所示的显示器310的输出的一部分和/或接口。在一些情况下,输入检测引擎302可以监测提供给显示器310的用户输入,同时在设备应用层324内或作为设备应用层324的一部分进行操作。在说明性示例中,输入检测引擎302可以检测和/或接收指示用户已经选择(例如,触摸或点击)显示器310的特定位置的通知(例如,“触摸标志”)。输入检测引擎302然后可以向图像处理应用326发送对该输入的指示(例如,对所选择的位置的指示)。在一些情况下,输入检测引擎302还可以向图像处理应用326发送围绕所选择的位置的要用于对象检测的固定ROI的大小。
图像处理应用326可以包括被配置为对由设备322捕获的图像数据执行一个或多个图像处理操作的任何类型或形式的应用。在说明性示例中,图像处理应用326可以包括能够执行自动聚焦算法的“3A”应用。如图3B所示,图像处理应用326可以包括图像捕获和处理系统300的对象检测引擎304、ROI调整引擎306和图像处理引擎308。这些引擎可以利用从输入检测引擎302发送的信息来检测固定ROI内的一个或多个对象,基于一个或多个对象的边界来确定经调整的ROI,并且然后对经调整的ROI内的图像数据执行图像处理操作。
在某些实施例中,图像捕获和处理系统300可以确定调整固定ROI是否是合适和/或期望的。例如,图像捕获和处理系统300可以基于确定固定ROI的大小和形状充分对应于一个或多个被检测对象的边界来决定不调整固定ROI。在另一示例中,图像捕获和处理系统300可以确定:由于固定ROI不包括将受益于图像处理操作的任何对象,因此调整固定ROI可能是不必要的。
图4是示出用于通过确定是否应当调整固定ROI来改进一个或多个图像处理操作的过程400的示例的流程图。在框402处,过程400包括检测与对图像帧内的位置的选择相对应的用户输入。例如,过程400可以包括监测被配备有相机的设备的用户界面,以检测用户何时已经选择在用户界面上显示的图像帧内的一个或多个像素。
在框404处,过程400包括确定图像帧是否在围绕所选择的位置的ROI内包括对象,其中,ROI包括所选择的位置,并且其中,ROI具有预先确定的大小(即,固定ROI)。例如,过程400可以包括对在图像帧的固定ROI内的图像数据执行对象检测操作或算法。在一个示例中,确定图像帧在固定ROI内包括对象可以包括确定固定ROI完全包围一个或多个对象的外部边界。相反,确定图像帧在固定ROI内不包括对象可以包括确定固定ROI不完全包围任何对象的外部边界。在另一示例中,确定图像帧在固定ROI内包括对象可以包括确定固定ROI包围一个或多个对象的外部边界的至少一部分。相反,确定图像帧在固定ROI内不包括对象可以包括确定固定ROI不包围任何对象的外部边界的任何部分。
如果在框404处确定的决策是“否”,则过程400可以进行到框408。在框408处,过程400包括拒绝调整固定ROI。例如,过程400包括确定对与固定ROI内的每个像素相对应的图像数据执行一个或多个图像处理操作。在框408之后,过程400进行到框410,框410包括对固定ROI内的图像数据执行一个或多个图像处理操作。如果在框404处确定的决策是“是”,则过程400可以进行到框406。在框406处,过程400包括至少部分地基于该决策来调整固定ROI。在一些实施例中,可以基于在图像帧内检测到的一个或多个对象的边界来调整固定ROI。例如,过程400可以包括将ROI的边界设置为与一个或多个被检测对象的边界相对应的像素。过程400然后可以进行到框410,框410包括对经调整的ROI内的图像数据执行一个或多个图像处理和/或图像捕获操作。
上文描述的图像处理技术和解决方案可以提高对图像帧的部分执行的图像处理操作的质量。例如,基于特定对象的形状和/或大小来重新细化固定ROI的形状和/或大小可以实现要对与特定对象相对应的图像数据执行图像处理操作,同时排除与其它对象相对应的图像数据。结果,图像处理操作的效果可以更加明显和/或具有更高的质量。这些改进在包括高度详细的对象的图像帧中以及在包括在前景和背景两者中的对象的图像帧中可能特别明显。进一步地,所公开的技术和解决方案可以使得用户能够根据他们的个人品味更精确并且高效地定制图像,从而提高整体用户满意度。
图5A、图5B、图5C和图5D包括示出由所公开的图像处理技术和解决方案提供的改进的图像。具体地,图5A示出了包括固定ROI 504的示例图像帧502。如图5A所示,固定ROI504包括两个面部。图5B示出了在已经根据传统图像处理系统对图像数据执行自动聚焦算法之后,与固定ROI 504内的图像数据相对应的图像帧部分506。例如,已经使用自动聚焦算法处理了图像帧部分506中的全部图像数据。相比之下,图5C示出了与固定ROI 504内的图像数据的子集相对应的经调整的ROI 508。如图5C所示,经调整的ROI 508的边界近似地对应于两个面部的边界。所公开的图像捕获和处理系统可以至少部分地基于在固定RO1 504内执行对象检测来确定经调整的ROI 508。图5D示出了在已经对经调整的ROI 508内的图像数据执行自动聚焦算法之后,与固定ROI 504内的图像数据相对应的图像数据部分510。与在图5B中所示的面部相比,在图5D中所示的面部具有更大的清晰度,并且经处理的图像帧具有更高的整体质量。
图5E和图5F包括示出由所公开的图像和处理技术和解决方案提供的额外改进的图像。具体地,图5E示出了在图5C中所示的固定ROI 504和经调整的ROI 508的一部分。图5E还示出了额外的经调整的ROI 512,其对应于在已经基于用户输入进一步调整经调整的ROI508之后的经调整的ROI 508。如图所示,额外的经调整ROI 512的形状(例如,矩形)类似于经调整的ROI 508的形状。然而,额外的经调整的ROI 512的大小与经调整的ROI 508的大小不同(例如,更大)。在一个示例中,ROI调整引擎306可以显示指示经调整的ROI 508的形状、大小和/或轮廓(例如,外形)的视觉图形。ROI调整引擎306可以基于检测到与移动(例如,拖动)视觉图形的一个或多个边界相对应的用户输入来生成额外的经调整的ROI 512。例如,ROI调整引擎306可以基于检测到与将经调整的ROI 508的边界移动远离经调整的ROI 508的中心点相对应的用户输入来增加经调整的ROI 508的高度和/或宽度。类似地,ROI调整引擎306可以基于检测到与将经调整的ROI 508的边界朝向经调整的ROI 508的中心点移动相对应的用户输入来减小经调整的ROI 508的高度和/或宽度。ROI调整引擎306可以以任何适当的方式和/或基于各种类型的用户输入来对经调整的ROI 508应用额外的调整。
进一步地,图5F示出了在图5C中所示的固定ROI 504和经调整的ROI 508的一部分。图5F还示出了额外的经调整的ROI 514,其对应于候选(例如,潜在)经调整的ROI。例如,ROI调整引擎306可以确定经调整的ROI 508、额外的经调整的ROI 514和/或任何额外的候选经调整的ROI。ROI调整引擎306可以显示与候选经调整的ROI的形状、大小和/或轮廓相对应的视觉图形。在一个示例中,ROI调整引擎306可以同时将多个视觉图形叠加到图像帧502上。在另一示例中,ROI调整引擎306可以顺序地显示多个或一系列视觉图形。例如,ROI调整引擎306可以一次显示单个视觉图形。在一些情况下,ROI调整引擎306可以在预先确定的时间量(例如,1秒、3秒等)内显示每个视觉图形。以这种方式,ROI调整引擎306可以使得用户能够单独地查看和/或评估每个候选经调整的ROI。在一个示例中,ROI调整引擎306可以循环通过与多个候选经调整的ROI相对应的多个视觉图形。当显示特定视觉图形时,ROI调整引擎306可以检测到与对该特定视觉图形的选择相对应的用户输入。例如,ROI调整引擎306可以确定用户已经选择(例如,触摸、点击、口头确认等)特定视觉图形。ROI调整引擎306然后可以在图像帧502内实现对应的候选经调整的ROI。如图5F所示,经调整的ROI 508可以具有与额外的经调整的ROI 514(例如,椭圆形)不同的形状(例如,矩形)。在说明性示例中,用户可以基于确定椭圆形状更准确地对应于图像帧502内的人的头部的形状来选择与额外经调整的ROI 514相对应的视觉图形。
图6是示出用于改进图像帧中的一个或多个图像处理操作的示例过程600的流程图。为了清楚起见,参考在图3A和图3B中所示的图像处理和捕获系统300来描述过程600。本文概述的步骤是示例,并且可以以其任何组合(包括排除、添加或修改某些步骤的组合)来实现。
在步骤602处,过程600包括检测与对图像帧内的位置的选择相对应的用户输入。例如,输入检测引擎302可以检测与对图像帧312内的位置的选择相对应的用户输入314。在一个示例中,图像处理和捕获系统300可以在帧的预览流内接收图像帧312,帧的预览流包括当相机设备处于图像捕获模式时由相机设备捕获的图像帧。当图像帧312被显示在显示器310上(例如,在预览流内)时,输入检测引擎302可以监测图像帧312。输入检测引擎302可以监测和/或检测与对图像帧312内的位置的选择相对应的任何适当类型的用户输入。在非限制性示例中,输入检测引擎302可以检测到用户已经触摸或以其它方式选择(例如,利用手指或手写笔)在显示器310内与图像帧312的一个或多个像素相对应的位置。在一些情况下,输入检测引擎302可以确定图像帧312在多个ROI内包括一个或多个对象。例如,输入检测引擎302可以检测与对图像帧312内的多个位置的选择相对应的用户输入。
在步骤604处,过程600包括确定图像帧至少部分地在图像帧的感兴趣区域内包括对象,感兴趣区域包括所选择的位置并且具有预先确定的大小和/或预先确定的形状。例如,对象检测引擎304可以确定图像帧312在图像帧312的ROI内包括对象316。在一个示例中,ROI可以是固定ROI(例如,具有预先确定的形状、大小和/或一数量的像素的ROI)。对象检测引擎304可以执行各种类型的对象检测操作或算法以检测固定ROI内的对象316(例如,面部检测和/或识别算法、特征检测和/或识别算法、边缘检测算法、边界跟踪函数、其任何组合和/或其它对象检测和/或识别技术)。参考图5C,对象检测引擎304可以检测到在固定ROI 504内的两个面部。进一步地,如果输入检测引擎302确定图像帧312包括多个ROI(在步骤602处),则对象检测引擎304可以检测至少部分地在多个ROI内的一个或多个对象。
在步骤606处,过程600包括至少部分地基于确定图像帧至少部分地在图像帧的感兴趣区域内包括对象来调整感兴趣区域的预先确定的大小和/或预先确定的形状。例如,ROI调整引擎306可以至少部分地基于确定图像帧312在ROI内包括对象316来调整ROI。ROI调整引擎306可以以各种方式来调整ROI。在一个示例中,ROI调整引擎306可以沿着至少一个轴减小ROI的预先确定的大小。在另一示例中,ROI调整引擎306可以沿着至少一个轴增加ROI的预先确定的大小。在进一步的示例中,ROI调整引擎306可以基于对象检测算法(例如,用于检测图像帧312内的对象的对象检测算法)来调整ROI的预先确定的形状。例如,ROI调整引擎306可以基于对象检测算法来确定用于对象的边界框,并且将ROI设置为边界框。另外或替代地,ROI调整引擎306可以按照减小在对象316的一个或多个边界与ROI的一个或多个边界之间的距离的任何方式来调整ROI的大小和/或形状。例如,ROI调整引擎306可以确定对象316的一个或多个边界,并且将ROI的一个或多个边界设置为对象316的一个或多个边界。在一些情况下,对象316的一个或多个边界可以对应于(或近似地对应于)对象316的形状、外形和/或轮廓。再次参考图5C,ROI调整引擎306可以基于固定ROI 504内的面部的大小和/或形状来调整固定ROI 504,从而生成经调整的ROI 508。进一步地,如果对象检测引擎304检测到图像帧312在多个ROI内包括一个或多个对象(在步骤604处),则ROI调整引擎306可以基于多个ROI内的对象来调整多个ROI中的一个或多个ROI。
在一些情况下,ROI调整引擎306可以显示(例如,在图像帧312内)用于指示经调整的ROI的视觉图形。视觉图形可以对应于经调整的ROI的形状、大小和/或外形。在一个示例中,ROI调整引擎306可以检测与视觉图形相关联的额外用户输入。额外用户输入可以指示对经调整的ROI的至少一个额外调整。参考图5E,ROI调整引擎306可以检测与增加经调整的ROI 508的一部分的大小相关联的用户输入(例如,产生额外ROI 512)。在一些示例中,ROI调整引擎306可以确定与对ROI的预先确定的大小和/或预先确定的形状的不同调整相对应的多个候选经调整的ROI。每个候选经调整的ROI可以对应于可以(例如,由用户和/或由ROI调整引擎306)评估的潜在经调整的ROI。在一个示例中,ROI调整引擎306可以在图像帧312内顺序地显示与多个候选经调整的ROI相对应的多个视觉图形。ROI调整引擎306可以基于检测到与多个视觉图形中的与多个候选经调整的ROI中的一个候选经调整的ROI相对应的视觉图形相关联的额外用户输入来确定对该一个候选经调整ROI的选择。例如,ROI调整引擎306可以在特定视觉图形被显示在图像帧312内时检测选择(例如,点击、触摸、口头确认等)该特定视觉图形的用户输入。
在步骤608处,过程600包括对经调整的ROI内的图像数据执行一个或多个图像捕获操作。例如,图像处理引擎308可以对在图像帧312的经调整的ROI内的图像数据执行一个或多个图像捕获操作。经调整的ROI可以对应于由ROI调整引擎306确定的经调整的ROI、反映由用户指示的额外调整的经调整的ROI、和/或从多个候选经调整的ROI中选择的经调整的ROI。在一些示例中,图像处理引擎308可以执行一个或多个“3A”操作(例如,自动聚焦操作)。一个或多个图像处理操作可以被应用于经调整的ROI内的图像数据(而不应用于在经调整的ROI之外的图像数据)。例如,图像处理引擎308可以将一个或多个图像处理操作应用于在图5C的经调整的ROI 508内的图像数据。图5D的图像数据部分510示出了在图像处理引擎308对图像数据执行自动聚焦操作之后在经调整的ROI 508内的图像数据。通过仅对经调整的ROI内的图像数据执行图像处理操作,图像处理和捕获系统300可以准确并且高效地产生高质量并且用户可定制的图像。
在一些示例中,本文描述的过程(例如,本文描述的过程400、过程600和/或其它过程)可以由计算设备或装置(例如,在图3B中所示的设备322)来执行。在一个示例中,过程400和/或过程600可以由图3A和图3B的图像处理和捕获系统300来执行。在另一示例中,过程400和/或过程600可以由具有在图7中所示的计算系统700的计算设备来执行。例如,具有在图7中所示的计算架构的计算设备可以包括图像处理和捕获系统300的组件,并且可以实现图4和图6的操作。
计算设备可以包括任何适当的设备,诸如移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴式设备、AR头戴式设备、AR眼镜、网络连接手表或智能手表、或其它可穿戴设备)、服务器计算机、自主车辆或自主车辆的计算设备、机器人设备、电视机和/或具有执行本文描述的过程(包括过程800)的资源能力的任何其它计算设备。在一些情况下,计算设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个相机、一个或多个传感器、和/或被配置为执行本文描述的过程的步骤的其它组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合和/或其它组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其它类型的数据。
计算设备的组件可以在电路中实现。例如,组件可以包括和/或可以使用电子电路或其它电子硬件来实现,电子电路或其它电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU),和/或其它适当的电子电路)、和/或可以包括计算机软件、固件或其任何组合和/或使用计算机软件、固件或其任何组合来实现,以执行本文描述的各种操作。
过程400和过程600被示为逻辑流程图,逻辑流程图的操作表示可以在硬件、计算机指令或其组合中实现的一系列操作。在计算机指令的背景下,所述操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何次序组合和/或可以是并行的,以实现这些过程。
另外,过程400、过程600和/或本文描述的其它过程可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,以及可以作为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)来实现,通过硬件来实现,或其组合。如上文所提到,代码可以例如以包括由一个或多个处理器可执行的多个指令的计算机程序的形式被存储在计算机可读或机器可读存储介质上。计算机可读存储介质或机器可读存储介质可以是非暂时性的。
图7是示出用于实现本文技术的某些方面的系统的示例的图。具体地,图7示出了计算系统700的示例,计算系统700可以是例如组成以下各者的任何计算设备:内部计算系统、远程计算系统、相机、或其任何组件(其中系统的组件使用连接705彼此通信)。连接705可以是使用总线的物理连接、或进入处理器710的直接连接(诸如在芯片组架构中)。连接705还可以是虚拟连接、网络连接或逻辑连接。
在一些实施例中,计算系统700是分布式系统,其中,在本公开内容中描述的功能可以分布在数据中心、多个数据中心、对等网络等内。在一些实施例中,所描述的系统组件中的一个或多个系统组件表示许多这样的组件,每个组件执行针对其描述组件的功能的一些或全部功能。在一些实施例中,组件可以是物理或虚拟设备。
示例系统700包括至少一个处理单元(CPU或处理器)710和连接705,连接705将包括系统存储器715(诸如只读存储器(ROM)720和随机存取存储器(RAM)725)的各种系统组件耦合到处理器710。计算系统700可以包括高速存储器的高速缓存712,高速缓存712与处理器710直接连接、接近处理器710或被集成为处理器710的一部分。
处理器710可以包括任何通用处理器以及被配置为控制处理器710的硬件服务或软件服务(诸如被存储在存储设备730中的服务732、734和736)、以及其中软件指令被并入实际处理器设计中的专用处理器。处理器710本质上可以是完全自包含的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
为了实现用户交互,计算系统700包括可以表示任何数量的输入机构的输入设备745,诸如用于语音的麦克风、用于手势或图形输入的触摸敏感屏幕、键盘、鼠标、运动输入、语音等。计算系统700还可以包括输出设备735,输出设备735可以是数个输出机构中的一个或多个输出机构。在一些情况下,多模态系统可以使得用户能够提供多个类型的输入/输出以与计算系统700进行通信。计算系统700可以包括通信接口740,通信接口740通常可以支配和管理用户输入和系统输出。通信接口可以使用有线和/或无线收发机来执行或促进接收和/或发送有线或无线通信,包括利用以下各项的那些有线和/或无线收发机:音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、
Figure BDA0004175804810000171
端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、/>
Figure BDA0004175804810000174
无线信号传输、/>
Figure BDA0004175804810000172
低能(BLE)无线信号传输、/>
Figure BDA0004175804810000173
无线信号传输、射频标识(RFID)无线信号传输、近场通信(NFC)无线信号传输、专用短程通信(DSRC)无线信号传输、802.11Wi-Fi无线信号传输、无线局域网(WLAN)信号传输、可见光通信(VLC)、微波接入全球互操作性(WiMAX)、红外(IR)通信无线信号传输、公共交换电话网(PSTN)信号传输、综合业务数字网络(ISDN)信号传输、3G/4G/5G/LTE蜂窝数据网络无线信号传输、自组织网信号传输、无线电波信号传输、微波信号传输、红外信号传输、可见光信号传输、紫外光信号传输、沿着电磁频谱的无线信号传输、或其某种组合。通信接口740还可以包括一个或多个全球导航卫星系统(GNSS)接收机或收发机,其用于基于从与一个或多个GNSS系统相关联的一个或多个卫星接收一个或多个信号来确定计算系统700的位置。GNSS系统包括但不限于基于美国的全球定位系统(GPS)、基于俄罗斯的全球导航卫星系统(GLONASS)、基于中国的北斗导航卫星系统(BDS)和基于欧洲的伽利略GNSS。对任何特定硬件布置的操作没有限制,并且因此在其被开发时,此处的基本功能可以容易地替换为改进的硬件或固件布置。
存储设备730可以是非易失性和/或非暂时性和/或计算机可读存储器设备,以及可以是硬盘或其它类型的计算机可读介质,其可以存储由计算机可访问的数据,诸如磁带盒、闪存卡、固态存储器设备、数字多功能磁盘、盒式磁带、软盘、软磁盘、硬盘、磁带、磁片(strip)/磁条(stripe)、任何其它磁性存储介质、闪存、忆阻器存储器、任何其它固态存储器、压缩盘只读存储器(CD-ROM)光盘、可重写压缩盘(CD)光盘、数字视频盘(DVD)光盘、蓝光盘(BDD)光盘、全息光盘、另一光学介质、安全数字(SD)卡、微型安全数字(microSD)卡、Memory
Figure BDA0004175804810000175
卡、智能卡芯片、EMV芯片、用户身份模块(SIM)卡、迷你/微型/纳米/微微SIM卡、另一集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速EPROM(FLASHEPROM)、高速缓存存储器(L1/L2/L3/L4/L5/L#)、电阻式随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移转矩RAM(STT-RAM)、另一存储器芯片或盒、和/或其组合。
存储设备730可以包括软件服务、服务器、服务等,当处理器710执行定义这样的软件的代码时,其使得系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括被存储在计算机可读介质中的软件组件,软件组件与用于执行该功能的必要硬件组件(诸如处理器710、连接705、输出设备735等)相连接。
如本文所使用的,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备、以及能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括数据可以被存储在其中并且不包括以下各项的非暂时性介质:无线地或者在有线连接上传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于:磁盘或磁带、诸如压缩光盘(CD)或数字多功能光盘(DVD)的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可以具有被存储在其上的代码和/或机器可执行指令,代码和/或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容,来耦合到另一代码段或硬件电路。可以使用包括存储器共享、消息传递、令牌传递、网络传输等的任何适当的手段来传递、转发或发送信息、自变量、参数、数据等。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身的介质。
在上文的描述中提供了具体细节以提供对本文提供的实施例和示例的全面理解。然而,本领域普通技术人员将理解的是,可以在没有这些具体细节的情况下实践这些实施例。为了解释清楚,在一些情况下,本文的技术可以被呈现为包括包含如下的功能块的单独的功能块:包括设备、设备组件、以软件体现的方法中的步骤或例程、或者硬件和软件的组合。除了在各图中所示和/或本文描述的组件之外,还可以使用额外的组件。例如,电路、系统、网络、过程和其它组件可以以框图形式被示为组件,以便不在不必要的细节上模糊这些实施例。在其它情况下,公知的电路、过程、算法、结构和技术可以被示为不具有不必要的细节,以便避免模糊这些实施例。
上文可以将各个实施例描述为过程或方法,该过程或方法被描绘为流程图、流程示意图、数据流程图、结构图或框图。虽然流程图可以将操作描述为顺序的过程,但是这些操作中的许多操作可以并行或并发地执行。另外,可以重新排列操作的次序。过程在其操作完成后被终止,但是可以具有未被包括在图中的额外步骤。过程(process)可以对应于方法、函数、过程(procedure)、子例程、子程序等。当过程对应于函数时,其终止可以对应于该函数返回到调用函数或主函数。
根据上文描述的示例的过程和方法可以使用计算机可执行指令来实现,计算机可执行指令被存储在计算机可读介质中或者以其它方式从计算机可读介质可得到。这样的指令可以包括例如指令或数据,所述指令或数据使得通用计算机、专用计算机或处理设备执行或者以其它方式将通用计算机、专用计算机或处理设备配置为执行特定功能或特定的一组功能。可以通过网络访问所使用的计算机资源的部分。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令、固件、源代码等。可以用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、被提供有非易失性存储器的USB设备、网络存储设备等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,以及可以采用多种形状因子中的任何一种。当在软件、固件、中间件或微代码中实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。处理器可以执行必要任务。形状因子的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其它小型形状因子个人计算机、个人数字助理、机架式设备、独立设备等。本文描述的功能还可以体现在外围设备或插件卡中。通过另外的举例,这样的功能还可以在单个设备中执行的不同芯片或不同过程当中的电路板上实现。
指令、用于传送这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其它结构是用于提供在本公开内容中描述的功能的示例单元。
在前面的描述中,参考本申请的特定实施例描述了本申请的各方面,但是本领域技术人员将认识到,本申请不限于此。因此,尽管本文已经详细描述了本申请的说明性实施例,但是应理解的是,可以以其它方式不同地体现和采用本发明构思,并且所附的权利要求旨在被解释为包括这样的变型,除了由现有技术限制的变型。可以单独地或联合地使用上文描述的应用的各个特征和方面。进一步地,在不脱离本说明书的更宽精神和范围的情况下,实施例可以在除了本文描述的环境和应用之外的任何数量的环境和应用中使用。因此,说明书和附图被认为是说明性的而不是限制性的。为了说明的目的,以特定次序描述了方法。应当认识到的是,在替代实施例中,可以以与所描述的次序不同的次序来执行所述方法。
本领域普通技术人员将明白,在不脱离本说明书的范围的情况下,本文使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)以及大于或等于(“≥”)符号来替换。
在将组件描述为“被配置为”执行某些操作的情况下,这样的配置可以例如通过以下方式来实现:将电子电路或其它硬件设计为执行该操作,将可编程电子电路(例如,微处理器或其它适当的电子电路)编程为执行该操作,或其任何组合。
短语“耦合到”指代直接地或者间接地物理连接到另一组件的任何组件、和/或直接地或者间接地与另一组件通信的任何组件(例如,通过有线或无线连接和/或其它适当的通信接口而连接到所述另一组件)。
记载集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言指示该集合中的一个成员或者该集合中的多个成员(以任何组合)满足该权利要求。例如,记载“A和B中的至少一个”的权利要求语言意指A、B、或者A和B。在另一示例中,记载“A、B和C中的至少一个”的权利要求语言意指A、B、C、或者A和B、或者A和C、或者B和C、或者A和B和C。集合中的“至少一个”和/或集合中的“一个或多个”的语言不将该集合限制为在该集合中列出的项目。例如,记载“A和B中的至少一个”的权利要求语言可以意指A、B或者A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文公开的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上文已经对各种说明性的组件、框、模块、电路和步骤围绕其功能进行了总体描述。这样的功能被实现为硬件还是软件取决于特定的应用和被施加在整个系统上的设计约束。技术人员可以针对每个特定应用以不同的方式来实现所描述的功能,但是这样的实现决策不应当被解释为导致脱离本申请的范围。
本文描述的技术还可以在电子硬件、计算机软件、固件或其任何组合中实现。这样的技术可以在各种设备中的任何一种中实现,诸如通用计算机、无线通信设备手持设备或具有多种用途(包括在无线通信设备手持设备和其它设备中的应用)的集成电路设备。被描述为模块或组件的任何特征都可以在集成逻辑设备中一起实现,或者分别作为分立但是可互操作的逻辑设备来实现。如果在软件中实现,则所述技术可以至少部分地由计算机可读数据存储介质来实现,计算机可读数据存储介质包括程序代码,程序代码包括在被执行时执行上文描述的方法中的一种或多种方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括封装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。另外或替代地,所述技术可以至少部分地通过以指令或数据结构的形式携带或传送程序代码并且可以由计算机访问、读取和/或执行的计算机可读通信介质(诸如传播的信号或波)来实现。
程序代码可以由处理器执行,处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或分立逻辑电路。这样的处理器可以被配置为执行在本公开内容中描述的技术中的任何技术。通用处理器可以是微处理器,但是在替代方式中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核的结合、或任何其它这样的配置。因此,如本文所使用的术语“处理器”可以指代任何前述结构、前述结构的任何组合、或适于实现本文描述的技术的任何其它结构或装置。另外,在一些方面中,本文描述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块内提供,或者被合并在组合视频编码器-解码器(CODEC)中。
方面1:一种改进图像帧中的一个或多个图像处理操作的方法,所述方法包括:检测与对图像帧内的位置的选择相对应的用户输入;确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;至少部分地基于所述确定来调整所述感兴趣区域;以及对所调整的感兴趣区域内的图像数据执行所述一个或多个图像处理操作。
方面2:根据方面1所述的方法,还包括:在帧的预览流内接收所述图像帧,所述帧的预览流包括当相机设备处于图像捕获模式时由所述相机设备捕获的图像帧。
方面3:根据方面1或2中任一项所述的方法,其中,确定所述图像帧至少部分地在所述图像帧的所述感兴趣区域内包括所述对象包括:在所述图像帧的所述感兴趣区域内执行对象检测算法。
方面4:根据方面3所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:基于所述对象检测算法来调整所述感兴趣区域的所述预先确定的形状。
方面5:根据方面4所述的方法,其中,基于所述对象检测算法来调整所述感兴趣区域的所述预先确定的形状包括:基于所述对象检测算法来确定用于所述对象的边界框;以及将所述感兴趣区域设置为所述边界框。
方面6:根据方面1至5中任一项所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或形状包括:沿着至少一个轴减小所述感兴趣区域的所述预先确定的大小。
方面7:根据方面1至6中任一项所述的方法,其中,调整所述感兴趣区域的所述预先确定的形状或大小包括:沿着至少一个轴增加所述感兴趣区域的所述预先确定的大小。
方面8:根据方面1至7中任一项所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:减小在所述感兴趣区域的边界与所述一个或多个对象的边界之间的距离。
方面9:根据方面8所述的方法,其中,减小在所述感兴趣区域的边界与所述一个或多个对象的边界之间的所述距离包括:确定所述图像帧内的对象的轮廓;以及将所述感兴趣区域的边界设置为所述图像帧内的所述对象的所述轮廓。
方面10:根据方面9所述的方法,其中,确定所述图像帧内的所述对象的所述轮廓包括:确定与所述图像帧内的所述轮廓相对应的像素。
方面11:根据方面1至10中任一项所述的方法,其中,确定所述图像帧至少部分地在所述感兴趣区域内包括所述对象包括:确定所述图像帧至少部分地在所述图像帧内的多个感兴趣区域内包括一个或多个对象;并且调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:调整所述多个感兴趣区域的预先确定的大小或预先确定的形状。
方面12:根据方面1至11中任一项所述的方法,还包括:在所述图像帧内叠加用于指示所调整的感兴趣区域的视觉图形。
方面13:根据方面12所述的方法,还包括:检测与所述视觉图形相关联的额外用户输入,所述额外用户输入指示对所调整的感兴趣区域的至少一个额外调整。
方面14:根据方面1至13中任一项所述的方法,还包括:确定与对所述感兴趣区域的所述预先确定的大小或所述预先确定的形状的不同调整相对应的多个候选经调整的感兴趣区域;在所述图像帧内顺序地显示与所述多个候选经调整的感兴趣区域相对应的多个视觉图形;以及基于检测到与所述多个视觉图形中的与所述多个候选经调整的感兴趣区域中的一个候选经调整的感兴趣区域相对应的视觉图形相关联的额外用户输入,来确定对所述一个候选经调整的感兴趣区域的选择。
方面15:根据方面1至14中任一项所述的方法,其中,所述一个或多个图像处理操作包括自动聚焦操作。
方面16:根据方面1至15中任一项所述的方法,其中,所述一个或多个图像处理操作包括自动曝光操作。
方面17:根据方面1至16中任一项所述的方法,其中,所述一个或多个图像处理操作包括自动白平衡操作。
方面18:根据方面1至17中任一项所述的方法,还包括:在对所调整的感兴趣区域内的所述图像数据执行所述一个或多个图像处理操作之后,在显示器上显示所述图像帧。
方面19:一种用于改进图像帧中的一个或多个图像处理操作的装置。所述装置包括:存储器:以及处理器,其被配置为:检测与对图像帧内的位置的选择相对应的用户输入;确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;至少部分地基于所述确定来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状;以及对所调整的感兴趣区域内的图像数据执行所述一个或多个图像捕获操作。
方面20:根据方面19所述的装置,其中,所述处理器被配置为:在帧的预览流内接收所述图像帧,所述帧的预览流包括当相机设备处于图像捕获模式时由所述相机设备捕获的图像帧。
方面21:根据方面19或20中任一项所述的装置,其中,所述处理器被配置为:基于在所述图像帧的所述感兴趣区域内执行对象检测算法,来确定所述图像帧至少部分地在所述图像帧的所述感兴趣区域内包括所述对象。
方面22:根据方面21所述的装置,其中,所述处理器被配置为:基于所述对象检测算法来确定用于所述对象的边界框;以及将所述感兴趣区域设置为所述边界框。
方面23:根据方面19至22中任一项所述的装置,其中,所述处理器被配置为:沿着至少一个轴减小所述感兴趣区域的所述预先确定的大小。
方面24:根据方面19至23中任一项所述的装置,其中,所述处理器被配置为:沿着至少一个轴增加所述感兴趣区域的所述预先确定的大小。
方面25:根据方面19至24中任一项所述的装置,其中,所述处理器被配置为:减小在所述感兴趣区域的边界与所述对象的边界之间的距离。
方面26:根据方面25所述的装置,其中,所述处理器被配置为:确定所述图像帧内的对象的轮廓;以及将所述感兴趣区域的边界设置为所述图像帧内的所述对象的所述轮廓。
方面27:根据方面26所述的装置,其中,所述处理器被配置为:确定与所述图像帧内的所述轮廓相对应的像素。
方面28:根据方面19至27中任一项所述的装置,其中,所述处理器被配置为:基于确定所述图像帧至少部分地在所述图像帧内的多个感兴趣区域内包括一个或多个对象,来确定所述图像帧至少部分地在所述感兴趣区域内包括所述对象;以及至少部分地通过调整所述多个感兴趣区域的预先确定的大小或预先确定的形状,来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状。
方面29:根据方面19至28中任一项所述的装置,其中,所述处理器还被配置为:在所述图像帧内叠加用于指示所调整的感兴趣区域的视觉图形。
方面30:根据方面29所述的装置,其中,所述处理器还被配置为:检测与所述视觉图形相关联的额外用户输入,所述额外用户输入指示对所调整的感兴趣区域的至少一个额外调整。
方面31:根据方面19至30中任一项所述的装置,其中,所述处理器还被配置为:确定与对所述感兴趣区域的所述预先确定的大小或所述预先确定的形状的不同调整相对应的多个候选经调整的感兴趣区域;在所述图像帧内顺序地显示与所述多个候选经调整的感兴趣区域相对应的多个视觉图形;以及基于检测到与所述多个视觉图形中的与所述多个候选经调整的感兴趣区域中的一个候选经调整的感兴趣区域相对应的视觉图形相关联的额外用户输入,来确定对所述一个候选经调整的感兴趣区域的选择。
方面32:根据方面19至31中任一项所述的装置,其中,所述一个或多个图像捕获操作包括自动聚焦操作。
方面33:根据方面19至32中任一项所述的装置,其中,所述一个或多个图像捕获操作包括自动曝光操作。
方面34:根据方面19至33中任一项所述的装置,其中,所述一个或多个图像捕获操作包括自动白平衡操作。
方面35:根据方面19至34中任一项所述的装置,还包括显示器,其中,所述处理器被配置为:在对所调整的感兴趣区域内的所述图像数据执行所述一个或多个图像捕获之后,在所述显示器上显示所述图像帧。
方面36:根据方面19至35中任一项所述的装置,其中,所述装置包括移动设备。
方面37:根据方面19至36中任一项所述的装置,其中,所述装置包括相机设备。
方面38:一种用于改进图像帧中的一个或多个图像处理操作的非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质包括存储在其中的指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据方面1至18所述的操作中的任何操作。例如,所述非暂时性计算机可读存储介质可以包括存储在其中的指令,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器进行以下操作:检测与对图像帧内的位置的选择相对应的用户输入;确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;至少部分地基于所述确定来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状;以及对所调整的感兴趣区域内的图像数据执行所述一个或多个图像处理操作。
方面39:根据方面38所述的非暂时性计算机可读存储介质,其中,确定所述图像帧至少部分地在所述图像帧的所述感兴趣区域内包括所述对象包括:在所述图像帧的所述感兴趣区域内执行对象检测算法。
方面40:根据方面38或39中任一项所述的非暂时性计算机可读存储介质,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:减小在所述感兴趣区域的边界与所述对象的边界之间的距离。
方面41:一种图像捕获和处理系统,包括用于执行根据方面1至18所述的操作中的任何操作的一个或多个单元。

Claims (40)

1.一种用于改进图像帧中的一个或多个图像捕获操作的方法,所述方法包括:
检测与对在图像帧内的位置的选择相对应的用户输入;
确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;
至少部分地基于所述确定来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状;以及
对在所调整的感兴趣区域内的图像数据执行所述一个或多个图像捕获操作。
2.根据权利要求1所述的方法,还包括:在帧的预览流内接收所述图像帧,所述帧的预览流包括当相机设备处于图像捕获模式时由所述相机设备捕获的图像帧。
3.根据权利要求1所述的方法,其中,确定所述图像帧至少部分地在所述图像帧的所述感兴趣区域内包括对象包括:在所述感兴趣区域内执行对象检测算法。
4.根据权利要求3所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:基于所述对象检测算法来调整所述感兴趣区域的所述预先确定的形状。
5.根据权利要求4所述的方法,其中,基于所述对象检测算法来调整所述感兴趣区域的所述预先确定的形状包括:
基于所述对象检测算法来确定用于所述对象的边界框;以及
将所述感兴趣区域设置为所述边界框。
6.根据权利要求1所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:沿着至少一个轴减小所述感兴趣区域的所述预先确定的大小。
7.根据权利要求1所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:沿着至少一个轴增加所述感兴趣区域的所述预先确定的大小。
8.根据权利要求1所述的方法,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:减小在所述感兴趣区域的边界与所述对象的边界之间的距离。
9.根据权利要求8所述的方法,其中,减小在所述感兴趣区域的边界与所述对象的边界之间的所述距离:
确定在所述图像帧内的对象的轮廓;以及
将所述感兴趣区域的边界设置为在所述图像帧内的所述对象的所述轮廓。
10.根据权利要求9所述的方法,其中,确定在所述图像帧内的所述对象的所述轮廓包括:确定与在所述图像帧内的所述轮廓相对应的像素。
11.根据权利要求1所述的方法,其中:
确定所述图像帧至少部分地在所述感兴趣区域内包括所述对象包括:确定所述图像帧至少部分地在所述图像帧内的多个感兴趣区域内包括一个或多个对象;并且
调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:调整所述多个感兴趣区域的预先确定的大小或预先确定的形状。
12.根据权利要求1所述的方法,还包括:在所述图像帧内叠加用于指示所调整的感兴趣区域的视觉图形。
13.根据权利要求12所述的方法,还包括:检测与所述视觉图形相关联的额外用户输入,所述额外用户输入指示对所调整的感兴趣区域的至少一个额外调整。
14.根据权利要求1所述的方法,还包括:
确定与对所述感兴趣区域的所述预先确定的大小或所述预先确定的形状的不同调整相对应的多个候选经调整的感兴趣区域;
在所述图像帧内顺序地显示与所述多个候选经调整的感兴趣区域相对应的多个视觉图形;以及
基于检测到与所述多个视觉图形中的与所述多个候选经调整的感兴趣区域中的一个候选经调整的感兴趣区域相对应的视觉图形相关联的额外用户输入,来确定对所述一个候选经调整的感兴趣区域的选择。
15.根据权利要求1所述的方法,其中,所述一个或多个图像捕获操作包括自动聚焦操作。
16.根据权利要求1所述的方法,其中,所述一个或多个图像捕获操作包括自动曝光操作。
17.根据权利要求1所述的方法,其中,所述一个或多个图像捕获操作包括自动白平衡操作。
18.根据权利要求1所述的方法,还包括:在对所调整的感兴趣区域内的所述图像数据执行所述一个或多个图像捕获操作之后,在显示器上显示所述图像帧。
19.一种用于改进图像帧中的一个或多个图像捕获操作的装置,所述装置包括:
存储器:
处理器,其被配置为:
检测与对在图像帧内的位置的选择相对应的用户输入;
确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;
至少部分地基于所述确定来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状;以及
对在所调整的感兴趣区域内的图像数据执行所述一个或多个图像捕获操作。
20.根据权利要求19所述的装置,其中,所述处理器还被配置为:在帧的预览流内接收所述图像帧,所述帧的预览流包括当相机设备处于图像捕获模式时由所述相机设备捕获的图像帧。
21.根据权利要求20所述的装置,其中,所述处理器被配置为:基于在所述图像帧的所述感兴趣区域内执行对象检测算法,来确定所述图像帧至少部分地在所述图像帧的所述感兴趣区域内包括所述对象。
22.根据权利要求21所述的装置,其中,所述处理器被配置为:
基于所述对象检测算法来确定用于所述对象的边界框;以及
将所述感兴趣区域设置为所述边界框。
23.根据权利要求19所述的装置,其中,所述处理器被配置为:沿着至少一个轴减小所述感兴趣区域的所述预先确定的大小。
24.根据权利要求19所述的装置,其中,所述处理器被配置为:沿着至少一个轴增加所述感兴趣区域的所述预先确定的大小。
25.根据权利要求19所述的装置,其中,所述处理器被配置为:减小在所述感兴趣区域的边界与所述对象的边界之间的距离。
26.根据权利要求25所述的装置,其中,所述处理器被配置为:
确定在所述图像帧内的对象的轮廓;以及
将所述感兴趣区域的边界设置为在所述图像帧内的所述对象的所述轮廓。
27.根据权利要求26所述的装置,其中,所述处理器被配置为:确定与在所述图像帧内的所述轮廓相对应的像素。
28.根据权利要求19所述的装置,其中,所述处理器被配置为:
基于确定所述图像帧至少部分地在所述图像帧内的多个感兴趣区域内包括一个或多个对象,来确定所述图像帧至少部分地在所述感兴趣区域内包括所述对象;以及
至少部分地通过调整所述多个感兴趣区域的预先确定的大小或预先确定的形状,来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状。
29.根据权利要求19所述的装置,其中,所述处理器被配置为:在所述图像帧内叠加用于指示所调整的感兴趣区域的视觉图形。
30.根据权利要求29所述的装置,其中,所述处理器还被配置为:检测与所述视觉图形相关联的额外用户输入,所述额外用户输入指示对所调整的感兴趣区域的至少一个额外调整。
31.根据权利要求19所述的装置,其中,所述处理器还被配置为:
确定与对所述感兴趣区域的所述预先确定的大小或所述预先确定的形状的不同调整相对应的多个候选经调整的感兴趣区域;
在所述图像帧内顺序地显示与所述多个候选经调整的感兴趣区域相对应的多个视觉图形;以及
基于检测到与所述多个视觉图形中的与所述多个候选经调整的感兴趣区域中的一个候选经调整的感兴趣区域相对应的视觉图形相关联的额外用户输入,来确定对所述一个候选经调整的感兴趣区域的选择。
32.根据权利要求19所述的装置,其中,所述一个或多个图像捕获操作包括自动聚焦操作。
33.根据权利要求19所述的装置,其中,所述一个或多个图像捕获操作包括自动曝光操作。
34.根据权利要求19所述的装置,其中,所述一个或多个图像捕获操作包括自动白平衡操作。
35.根据权利要求19所述的装置,还包括显示器,其中,所述处理器被配置为:在对所调整的感兴趣区域内的所述图像数据执行所述一个或多个图像捕获之后,在所述显示器上显示所述图像帧。
36.根据权利要求19所述的装置,其中,所述装置包括移动设备。
37.根据权利要求19所述的装置,其中,所述装置包括相机设备。
38.一种包括存储在其上的指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:
检测与对在图像帧内的位置的选择相对应的用户输入;
确定所述图像帧至少部分地在所述图像帧的感兴趣区域内包括对象,所述感兴趣区域包括所选择的位置并且具有预先确定的大小或预先确定的形状;
至少部分地基于所述确定来调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状;以及
对在所调整的感兴趣区域内的图像数据执行一个或多个图像捕获操作。
39.根据权利要求38所述的非暂时性计算机可读存储介质,其中,确定所述图像帧在所述图像帧的所述感兴趣区域内包括所述对象包括:在所述图像帧的所述感兴趣区域内执行对象检测算法。
40.根据权利要求38所述的非暂时性计算机可读存储介质,其中,调整所述感兴趣区域的所述预先确定的大小或所述预先确定的形状包括:减小在所述感兴趣区域的边界与所述对象的边界之间的距离。
CN202080106186.2A 2020-10-22 2020-10-22 用于改进图像捕获操作的机制 Pending CN116368812A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/122647 WO2022082554A1 (en) 2020-10-22 2020-10-22 Mechanism for improving image capture operations

Publications (1)

Publication Number Publication Date
CN116368812A true CN116368812A (zh) 2023-06-30

Family

ID=81289529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080106186.2A Pending CN116368812A (zh) 2020-10-22 2020-10-22 用于改进图像捕获操作的机制

Country Status (7)

Country Link
US (1) US20230262322A1 (zh)
EP (1) EP4233306A1 (zh)
JP (1) JP2023552947A (zh)
KR (1) KR20230091097A (zh)
CN (1) CN116368812A (zh)
TW (1) TW202223734A (zh)
WO (1) WO2022082554A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117574001A (zh) * 2023-10-27 2024-02-20 北京安锐卓越信息技术股份有限公司 一种超大图片加载方法、装置及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE519180T1 (de) * 2005-05-10 2011-08-15 Active Optics Pty Ltd Verfahren zur steuerung eines bilderfassungssystems, bilderfassungssystem und digitalkamera
JP2011193443A (ja) 2010-02-16 2011-09-29 Ricoh Co Ltd 物体追尾装置
WO2012139275A1 (en) * 2011-04-11 2012-10-18 Intel Corporation Object of interest based image processing
JP6182092B2 (ja) * 2014-03-10 2017-08-16 キヤノン株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
KR20230091097A (ko) 2023-06-22
JP2023552947A (ja) 2023-12-20
TW202223734A (zh) 2022-06-16
US20230262322A1 (en) 2023-08-17
EP4233306A1 (en) 2023-08-30
WO2022082554A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US11706520B2 (en) Under-display camera and sensor control
US20210390747A1 (en) Image fusion for image capture and processing systems
WO2023049651A1 (en) Systems and methods for generating synthetic depth of field effects
WO2023279289A1 (en) Processing image data using multi-point depth sensing system information
WO2022082554A1 (en) Mechanism for improving image capture operations
US20230171509A1 (en) Optimizing high dynamic range (hdr) image processing based on selected regions
US20220414847A1 (en) High dynamic range image processing
EP4282157A1 (en) Decreased quantization latency
US11792505B2 (en) Enhanced object detection
US20230021016A1 (en) Hybrid object detector and tracker
US20230222757A1 (en) Systems and methods of media processing
US11363209B1 (en) Systems and methods for camera zoom
US11893720B1 (en) Automatic image processing based on caption
WO2023282963A1 (en) Enhanced object detection
US11798204B2 (en) Systems and methods of image processing based on gaze detection
US20230319401A1 (en) Image capture using dynamic lens positions
US20240144717A1 (en) Image enhancement for image regions of interest
US11871107B2 (en) Automatic camera selection
WO2023279275A1 (en) Local motion detection for improving image capture and/or processing operations
WO2023107832A1 (en) Systems and methods for determining image capture settings
WO2024091783A1 (en) Image enhancement for image regions of interest

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