自动红眼检测的制作方法

文档序号:7942871阅读:264来源:国知局
专利名称:自动红眼检测的制作方法
自动红眼检测
背景技术
红眼是在由照相机用闪光灯照明所捕获的图像中出现的人的瞳孔的不自然的微 红色外观。红眼是由来自闪光灯的、反射离开人的视网膜中的血管且返回到照相机的光所 引起的。提出了若干技术来减少红眼效应。对于具有小的透镜到闪光灯距离的照相机的常 用红眼减少解决方案是在使用最后闪光来曝光和捕获图像之前使用一个或多个预曝光闪 光。每个预曝光闪光倾向于减小人的瞳孔的尺寸,并且因此减小来自最后闪光的光将从人 的视网膜反射并被照相机捕获的可能性。一般而言,预曝光闪光技术典型地仅将减少但不 消除红眼。提出了大量的图像处理技术来检测和校正彩色图像中的红眼。一般而言,这些技 术典型地是半自动的或自动的。半自动的红眼检测技术依靠人工输入。例如,在一些半自动 的红眼减少系统中,用户在可以校正缺陷之前必须向系统手动识别包含红眼的图像区域。 许多自动红眼减少系统在检测红眼区域之前依靠初步的面部检测步骤。常用的自动方法涉 及检测图像中的面部以及随后检测每个所检测到的面部内的眼睛。在定位眼睛后,基于与 所检测的眼睛位置对应的图像区域的形状、着色和明亮度来识别红眼。

发明内容
在一个方面中,本发明特征在于一种处理输入图像的方法。依据本发明方法,在输 入图像中确定候选红眼区域。在这个过程中,将一个或多个红眼度量值的相应集合与每个 候选红眼区域相关联。在输入图像中查明(ascertain)候选面部区域。在这个过程中,将 一个或多个面部度量值的相应集合与每个候选面部区域相关联。给每个候选红眼区域分配 相应联合度量向量。该联合度量向量包括从与候选面部区域中的选择一个相关联的面部度 量值的集合和红眼度量值的相应集合导出的度量值。一个或多个候选红眼区域中的每一个 基于分配给该候选红眼区域的相应联合度量向量而被分类为红眼伪影或非红眼伪影。被分 类为红眼伪影的至少其中一个候选红眼区域被校正。本发明特征还在于存储计算机可读指令的计算机可读介质和设备,所述计算机可 读指令使计算机实施上面描述的方法。通过包括附图和权利要求书的以下描述,本发明的其他特征和优点将变得显而易 见。


图1是包括红眼检测模块、面部检测模块、红眼分类模块和红眼校正模块的图像 处理系统的实施例的框图。图2是图像处理方法的实施例的流程图。图3是图1所示的红眼检测模块的实施例的框图。图4是图1所示的面部检测模块的实施例的框图。
图5是图4所示的面部检测模块的实施方式中的单个分类级的实施例的框图,其 被设计为评估图像中的候选面部块片(patch)。图6是图1所示的红眼分类模块的实施例的框图。图7是红眼分类方法的实施例的流程图。图8是训练图6所示的联合度量映射模块的实施例的方法的流程图。图9是红眼分类方法的实施例的流程图。图10是示出在图9的方法中定义的分类空间的示例性图示的文氏(Verm)图。图IlA和IlB示出位于被注解训练图像集合中的面部区域中的红眼的与分辨率无 关的位置的直方图。图12是在图1所示的面部检测模块的实施例中使用的图像和重叠面部搜索空间 的图解视图。图13是合并了图1所示的图像处理系统的嵌入式实施例的打印机系统的图解视 图。图14是合并了图1所示的图像处理系统的实施例的数字照相机系统的实施例的 框图。图15是可编程以实施图1所示的图像处理系统的实施例的计算机系统的实施例 的框图。
具体实施例方式在以下的描述中,相同的参考数字用来识别相同的元件。而且,附图旨在以图解的 方式说明示例性实施例的主要特征。附图不旨在描绘实际实施例的每个特征也不旨在描绘 所描绘元件的相对尺寸,并且不是按比例绘制的。I.概述本文详细描述的实施例能够检测图像中的红眼伪影。这些实施例利用红眼检测和 面部检测过程来以低的错检(false positives)率实现红眼伪影的准确检测。以此方式, 这些实施例实现了错检和检测到的伪影之间的更好折衷。另外,这些实施例可以以面部检 测部件的减少的计算代价被实施。由于它们对处理和存储器资源的高效使用,本文描述的 实施例可以容易地被实施在各种不同的应用环境中,包括经受显著的处理和存储器约束的 诸如嵌入式环境的应用环境。II.术语的定义如本文使用的,术语“特征”指的是应用于图像的一般邻域操作(特征提取器或特 征检测器)的结果以及图像本身中的特定结构或多个结构中的一者或两者。这些结构典型 地从简单的结构(例如,点和边缘)变化到更复杂的结构(例如,对象)。“特征向量”是包含关于图像或部分图像(例如,图像的一个或多个图像形成元 素)的信息的数值特征值的N维向量,其中N具有比一大的整数值。术语“图像形成元素”指的是图像的可寻址区。在一些实施例中,图像形成元素对 应于像素,所述像素是图像的最小可寻址单元。每个图像形成元素具有由一个或多个比特 表示的至少一个相应值。例如,RGB色空间中的图像形成元素包括颜色红色、绿色和蓝色的 每个的相应值,其中每个值可以由一个或多个比特表示。
“图像区域”(也被称为“图像块片”)意指构成图像的一部分的邻接图像形成元素
的集合。术语“数据结构”指的是按其组织和存储数据的物理布局(或格式)。“计算机”是一种根据暂时地或永久地存储在机器可读介质上的机器可读指令(例 如,软件)来处理数据的机器。执行特定任务的这样的指令集被称为程序或软件程序。术语“机器可读介质”指的是能够承载可由机器(例如,计算机)读取的信息的任 何介质。适合于有形地包含这些指令和数据的存储设备包括但不限于所有形式的非易失性 计算机可读存储器,包括例如半导体存储器设备(诸如EPROM、EEPROM和闪存设备)、磁盘 (诸如内部硬盘和可移动硬盘)、磁光盘、DVD-ROM/RAM以及CD-ROM/RAM。III.介绍图1示出包括红眼检测模块12、面部检测模块14、红眼分类模块16和红眼校正模 块18的图像处理系统10的实施例。在操作中,图像处理系统10处理输入图像信号20以 产生红眼校正的输出图像22。输入图像20可以对应于任何类型的数字图像,包括由图像传感器(例如,数字摄 像机、数字静止图像照相机或光学扫描仪)捕获的原始图像(例如,视频帧、静止图像或扫 描图像)或者这种原始图像的经过处理的(例如,下采样、滤波、重新格式化、场景平衡或以 其他方式增强或修改的)版本。在一些实施例中,输入图像20是原始全尺寸图像,面部检 测模块14处理原始全尺寸图像的下采样版本,并且红眼检测模块12和红眼校正模块18 二 者都处理原始全图像20。图2示出由图像处理系统10实施的方法的实施例。红眼检测模块12确定输入图像20中的候选红眼区域24(图2,块26)。在这个过 程中,红眼检测模块12将一个或多个红眼度量值28的相应集合与每个候选红眼区域24相 关联。每个红眼度量值28提供相应候选红眼区域对应于红眼伪影的程度的相应指示。在 一些实施例中,红眼度量值28中的至少一个对应于相关候选红眼区域24对应于红眼伪影 的置信度的量度(例如,概率),并且其他红眼度量值28的一个或多个提供相关候选红眼区 域24包括相应红眼特征的相应指示。面部检测模块14查明输入图像20中的候选面部区域30 (图2,块32)。在这个过 程中,面部检测模块14将一个或多个面部度量值34的相应集合与每个候选面部区域30相 关联。每个面部度量值34提供相应候选面部区域对应于面部的程度的相应指示。在一些 实施例中,面部度量值34中的至少一个对应于相应候选面部区域30对应于面部的置信度 的量度(例如,概率),并且其他面部度量值34的一个或多个提供候选面部区域30包括相 应面部特征的相应指示。红眼分类模块16给每个候选红眼区域24分配相应联合度量向量,该联合度量向 量包括从与候选面部区域30中的所选择一个相关联的面部度量值34的集合和红眼度量值 28的相应集合中导出的度量值(图2,块36)。红眼分类模块16也基于分配给候选红眼区 域的相应联合度量向量把一个或多个候选红眼区域24中的每一个分类为红眼伪影或非红 眼伪影(图2,块38)。红眼分类模块16把分类结果40传送到红眼校正模块18。分类结果 40可以以各种不同的数据结构格式(例如,向量、表或列表)提供给红眼校正模块18。在 一些实施例中,分类结果以XML (可扩展标记语言)文件格式被存储在机器可读介质上。
基于分类结果40,红眼校正模块18校正被分类为红眼伪影的候选红眼区域24的 至少一个(图2,块42)。图像处理系统10输出所得到的输出图像22 (例如,把输出图像22 存储在易失性或非易失性计算机可读介质上的数据库中,把输出图像22再现在显示器上, 或者把输出图像22再现在诸如纸的打印介质上)。IV.图像处理系统及其部件的示例件实施例L 概沭图像处理系统10典型地由一个或多个分立数据处理模块(或部件)实施,所述数 据处理模块(或部件)不限于任何特定硬件、固件或软件配置。例如,在一些实施方式中,图 像处理系统10嵌入在各种各样的电子设备的任一种的硬件中,所述电子设备包括打印机、 图像与视频记录及回放设备(例如,数字静止照相机和摄像机、VCR和DVR)、能够解码和播 放付费视频节目的电缆或卫星机顶盒、便携式收音机和卫星广播接收器、以及便携式电信 设备。红眼检测模块12、面部检测模块14、红眼分类模块16和红眼校正模块18是数据处 理部件,其可以被实施在任何计算或数据处理环境中,包括实施在数字电子电路(例如,专 用集成电路,诸如数字信号处理器(DSP))中或实施在计算机硬件、固件、设备驱动器或软 件中。在一些实施例中,这些数据处理部件12-18的功能性被组合到单个数据处理部件中。 在一些实施例中,这些数据处理部件12-18的一个或多个的每个的相应功能性由多个数据 处理部件的相应集合执行。在一些实施方式中,用于实施由图像处理系统10执行的方法的过程指令(例如, 机器可读代码,诸如计算机软件)以及其生成的数据被存储在一个或多个机器可读介质 中。适合于有形地包含这些指令和数据的存储设备包括所有形式的非易失性计算机可读存 储器,包括例如半导体存储器设备(诸如EPROM、EEPROM和闪存设备)、磁盘(诸如内部硬 盘和可移动硬盘)、磁光盘、DVD-ROM/RAM以及CD-ROM/RAM。B.红眼检测模块的示例性实施例如上面所解释的,红眼检测模块12确定输入图像20中的候选红眼区域24(图2, 块 26)。图3是红眼检测模块12 (参见图1)的实施例44的框图。红眼检测模块44包括 初始候选检测模块46和初始候选红眼验证模块48。初始候选检测模块46识别输入图像 20中的候选红眼区域的初始集合50。在一些实施例中,初始候选检测模块46使用多个不 同的红眼颜色模型来识别初始候选红眼区域50并且把所识别的区域合并到候选红眼区域 50的包含(inclusive)初始集合中。初始候选红眼验证模块48从候选红眼区域50的初始 集合中滤除虚警报(即,具有对应于输入图像20中的实际红眼伪影的低可能性的初始候选 红眼区域)以识别候选红眼区域24。在一些实施例中,初始候选红眼验证模块48基于使用 机器学习框架并行考虑多个特征来分类初始候选红眼区域50从而以更高的准确度和更高 的效率验证初始候选红眼区域50对应于输入图像20中的实际红眼。可以从2003年8月29日提交的共同待决的美国专利申请号10/653,019中获取 关于初始候选检测模块46和初始候选红眼验证模块48的结构和操作的附加细节。在一些实施例中,红眼检测模块44以边界框列表的形式输出候选红眼区域24,每 个边界框对所检测的候选红眼区域的相应一个进行划界。与每个这样的边界框相关联的是 由该边界框划界的图像块片表示红眼伪影的置信度(例如,概率)的测量、以及表示置信度测量集的红眼度量值的相应特征向量,每个置信度测量指示在相关边界框中存在特定红眼 伪影特征的置信度。在一个示例性表示中,I (χ,y)表示输入图像20中在位置(χ,y)处的 图像形成元素,a对由红眼检测模块12输出的边界框进行索引,并且候选红眼区域的总数 由A给出。表示每个候选红眼边界框的拐角的坐标分别由(Xa^y:)和(xaBK,yaBK)给出,其 中“TL”表示“左上”并且“BR”表示“右下”。置信度量度(或等级)被表示为Ca,并且特征 向量由Va= [Va1, Va2, ... , VaN]表示。在一些实施例中,红眼检测模块44将置信度等级Ca 与经验确定的阈值Tftij进行比较以确定对应的图像块片是应当被分类为候选红眼区域24 还是分类为非红眼区域。C.面部检测樽块的示例件实施例如上面所解释的,面部检测模块14查明输入图像20中的候选面部区域30(图2, 块 32)。以下是面部检测模块14查明输入图像20中的候选面部区域30所用的方法的实 施例的伪代码表示(参见图1)。dX = 1,dY = l,dS = -Jlwhile size < height/2y = 1while y^ (height-size)+1χ = 1while x^ (width-size)+1寻找框{(x, y), (x+size-1,y+size-1)}中的面部χ = x+dXendy = y+dYendsize = round(size^dS)end在这个实施例中,面部检测模块14寻找位于输入图像12中的每个位置(X,y)处
的方形“size(尺寸)”x “size”边界框内的候选面部区域,输入图像12具有分别对应于上 面列举的伪代码中的参数“width”和“height”的宽度和高度。针对不同尺寸的方形边界 框重复这个过程。 图4是面部检测模块14的实施例52的框图。面部检测模块52包括分类级(C1, C2,...,Cn,其中η具有大于1的整数值)(在本文中也被称为“分类器”)的级联54、面部概 率生成器56和面部分类模块57。在操作中,每个分类级执行二元判别函数,其基于根据从 输入图像20中导出的图像块片58的一个或多个面部特征(也被称为“属性”)计算的判别 量度而将图像块片58分类成面部类(“是”)或非面部类(“否”)。每个分类级的判别函 数被典型地设计成检测单个姿态或面部视图中的面部(例如,正面的直立面部)。根据级联 54产生的评估结果,面部概率生成器56给每个图像块片58分配相应的面部概率值59。面 部分类模块57将所分配的面部概率值59与经验确定的面部阈值Tfflsp进行比较以确定是把 图像块片58分类为候选面部区域30还是非面部区域。
级联54的每个分类级Ci具有由相应阈值、控制的相应分类边界,其中i = 1,..., η。相对于对应阈值的所计算的判别量度值确定每个分类级将图像块片46分类到其中的 类。例如,如果为图像块片58计算的判别量度大于分类级的阈值,则图像块片58被分类为 面部类(是),而如果计算的判别量度低于阈值,则图像块片58被分类为非面部类(否)。 以此方式,面部检测模块52通过图像块片评估过程部分地拒绝图像块片58,其中随着评估 继续,被分类为“面部”的块片群体渐进地越来越可能对应于输入图像的面部区域。面部概 率生成器56使用评估过程的出口点来导出块片是面部的置信度量度。图5示出分类器级联54的实施例中的单个分类级62的示例性实施例。在这个实 施例中,依据特征定义64的集合将图像块片58投影到特征空间中。图像块片58包括与输 入图像20的区域有关的任何信息,包括输入图像像素的颜色值以及从输入图像20导出的 计算特征权重所需的其它信息。每个特征由描述如何计算或测量图像块片的相应权重Ov W1,.. . ,Wl)的规则定义,所述权重对应于在由特征64的集合跨越的特征空间中该特征对图 像块片表示的贡献。为图像块片计算的权重Ov W1,..., Wl)集合构成特征向量66。特征 向量66被输入到分类级62中。分类级62把图像块片58分类到候选面部区域的集合68 或非面部区域的集合70中。如果图像块片58被分类为面部区域30,则其被传送到下一分 类级,该下一分类级实施不同的判别函数。在一些实施方式中,分类级62实施在方程(1)中定义的判别函数
权利要求
一种处理输入图像(20)的机器实施的方法,包括确定输入图像(20)中的候选红眼区域(24),其中该确定包括将一个或多个红眼度量值(28)的相应集合与每个候选红眼区域(24)相关联;查明输入图像(20)中的候选面部区域(30),其中该查明包括将一个或多个面部度量值(34)的相应集合与每个候选面部区域(30)相关联;给每个候选红眼区域(24)分配相应联合度量向量(78),该联合度量向量(78)包括从与候选面部区域(30)的所选择的一个相关联的面部度量值(34)的集合和红眼度量值(28)的相应集合中导出的度量值;基于分配给候选红眼区域(24)的相应联合度量向量(78)把一个或多个候选红眼区域(24)中的每一个分类为红眼伪影或非红眼伪影;以及校正被分类为红眼伪影的候选红眼区域(24)的至少一个。
2.权利要求1的方法,其中每个红眼度量值(28)提供相应候选红眼区域(24)对应于 红眼伪影的程度的相应指示,并且每个面部度量值(34)提供相应候选面部区域(30)对应 于面部的程度的相应指示。
3.权利要求2的方法,其中该确定包括将对应于相应候选红眼区域(24)对应于红眼伪 影的置信度量度的红眼度量值(28)的相应一个与每个候选红眼区域(24)相关联。
4.权利要求2的方法,其中该确定包括将提供候选红眼区域(24)包括相应红眼特征的 相应指示的红眼度量值(28)的那些红眼度量值与每个候选红眼区域(24)相关联。
5.权利要求2的方法,其中该查明包括将对应于相应候选面部区域(30)对应于面部的 置信度量度的面部度量值(34)的相应一个与每个候选面部区域(30)相关联。
6.权利要求2的方法,其中该查明包括将提供候选面部区域(30)包括相应面部特征的 相应指示的面部度量值(34)的那些面部度量值与每个候选面部区域(30)相关联。
7.权利要求1的方法,其中该分配包括对于每个候选红眼区域(24)选择候选面部区域(30)的相应一个,以及从与选择的候选面部区域(30)相关联的面部度量值(34)的集合和红眼度量值(28) 的相应集合中导出相应联合度量向量(78)。
8.权利要求7的方法,其中该选择包括选择最靠近输入图像(20)中的候选红眼区域 (28)定位的候选面部区域(30)。
9.权利要求1的方法,其中该分类包括把每个相应联合度量向量(78)映射到红眼伪影 类或非红眼伪影类。
10.权利要求9的方法,其中每个联合度量向量(78)包括指示相应候选红眼区域(24) 对应于红眼伪影的程度的红眼置信度量度值、指示选择的候选面部区域(30)对应于面部 的程度的面部置信度量度值、对应于相应候选红眼区域(28)包括相应红眼特征的相应指 示的至少一个度量值、以及对应于选择的候选面部区域(30)包括相应面部特征的相应指 示的至少一个度量值。
11.权利要求10的方法,其中该映射包括把包括高于第一阈值的相应红眼概率值的联 合度量向量(78)中的那些联合度量向量映射到红眼伪影类。
12.权利要求11的方法,其中该映射包括把与和相关候选面部区域(30)重叠的候选红 眼区域(24)中的相应一个相关联的且包括在第一阈值和比第一阈值小的第二阈值之间的相应红眼概率值的每个联合度量向量(78)映射到红眼伪影类。
13.权利要求1的方法,其中该查明包括下采样输入图像(20)以产生输入图像(20)的 分辨率减小的版本并且在输入图像(20)的分辨率减小的版本中检测候选红眼区域(24)。
14.权利要求1的方法,其中该查明包括仅在包含候选红眼区域(30)的那些相应候选 红眼区域的坐标的输入图像(20)的区中确定候选面部区域(30)。
15.权利要求14的方法,其中该查明包括仅在包含候选红眼区域(24)的那些相应候选 红眼区域的坐标的且由仅包围部分候选面部区域(30)的相应滑动窗口的位置所划界的输 入图像(20)的区中确定每个候选面部区域(30)。
16.一种用于处理输入图像(20)的设备,包括存储器(184);以及处理单元(182),其耦 合到存储器(184)并且在操作中用来执行包括以下的操作确定输入图像(20)中的候选红眼区域(24),其中在该确定中处理单元(182)在操作中 执行包括将一个或多个红眼度量值(28)的相应集合与每个候选红眼区域(24)相关联的操 作;查明输入图像(20)中的候选面部区域(30),其中在该查明中处理单元(155)在操作中 执行包括将一个或多个面部度量值(34)的相应集合与每个候选面部区域(30)相关联的操 作;给每个候选红眼区域(24)分配相应联合度量向量(78),该联合度量向量(78)包括从 与候选面部区域(30)的所选择的一个相关联的面部度量值(34)的集合和红眼度量值(28) 的相应集合中导出的度量值;基于分配给候选红眼区域(24)的相应联合度量向量(78)把一个或多个候选红眼区域 (24)中的每一个分类为红眼伪影或非红眼伪影;以及校正被分类为红眼伪影的候选红眼区域(24)的至少一个。
17.权利要求16的设备,其中每个红眼度量值(28)提供相应候选红眼区域(24)对应 于红眼伪影的程度的相应指示,并且每个面部度量值(34)提供相应候选面部区域(30)对 应于面部的程度的相应指示。
18.权利要求16的设备,其中在该分配中处理单元(182)在操作中执行包括以下的操 作对于每个候选红眼区域(24)选择候选面部区域(30)的相应一个,以及从与选择的候选面部区域(30)相关联的面部度量值(34)的集合和红眼度量值(28) 的相应集合中导出相应联合度量向量(78)。
19.权利要求16的设备,其中在该查明中处理单元(182)在操作中执行包括仅在包含 候选红眼区域(24)的那些相应候选红眼区域的坐标的输入图像(20)的区中确定候选面部 区域(30)的操作。
20.一种存储计算机可读指令的计算机可读介质(188),所述计算机可读指令使计算 机(180)执行包括以下的操作确定输入图像(20)中的候选红眼区域(24),其中该确定包括将一个或多个红眼度量 值(28)的相应集合与每个候选红眼区域(24)相关联;查明输入图像(20)中的候选面部区域(30),其中该查明包括将一个或多个面部度量值(34)的相应集合与每个候选面部区域(30)相关联;给每个候选红眼区域(24)分配相应联合度量向量(78),该联合度量向量(78)包括从 与候选面部区域(30)的所选择的一个相关联的面部度量值(34)的集合和红眼度量值(28) 的相应集合中导出的度量值;基于分配给候选红眼区域(24)的相应联合度量向量(78)把一个或多个候选红眼区域 (24)中的每一个分类为红眼伪影或非红眼伪影;以及校正被分类为红眼伪影的候选红眼区域(24)的至少一个。
全文摘要
确定输入图像(20)中的候选红眼区域(24)。在这个过程中,将一个或多个红眼度量值(28)的相应集合与每个候选红眼区域(24)相关联。查明输入图像(20)中的候选面部区域(30)。在这个过程中,将一个或多个面部度量值(34)的相应集合与每个候选面部区域(30)相关联。给每个候选红眼区域(24)分配相应联合度量向量(78)。该联合度量向量(78)包括从与候选面部区域(30)的所选择的一个相关联的面部度量值(34)的集合和红眼度量值(28)的相应集合中导出的度量值。基于分配给候选红眼区域(24)的相应联合度量向量(78),把一个或多个候选红眼区域(24)中的每一个分类为红眼伪影或非红眼伪影。
文档编号H04N1/46GK101983507SQ200880128440
公开日2011年3月2日 申请日期2008年2月1日 优先权日2008年2月1日
发明者M·D·高巴茨, R·A·乌利奇尼 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1