著录项信息
| 专利名称 | 相机遮挡检测 |
| 申请号 | CN201480019768.1 | 申请日期 | 2014-04-01 |
| 法律状态 | 暂无 | 申报国家 | 中国 |
| 公开/公告日 | 2015-12-02 | 公开/公告号 | CN105122794A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H04N17/00 | IPC分类号 | H;0;4;N;1;7;/;0;0;;;H;0;4;N;5;/;2;2;5查看分类表>
|
| 申请人 | 谷歌公司 | 申请人地址 | 美国加利福尼亚州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 谷歌有限责任公司 | 当前权利人 | 谷歌有限责任公司 |
| 发明人 | 佩曼·米兰法;马克·斯图尔特·勒瓦;塞缪尔·威廉·哈辛诺夫;周昌印 |
| 代理机构 | 中原信达知识产权代理有限责任公司 | 代理人 | 李宝泉;周亚荣 |
摘要
本公开提供了可以被计算设备操作的示例方法。示例方法能够包括从相机接收图像。所述方法还能够包括将所述图像的一个或多个参数与一个或多个控制参数进行比较,其中所述一个或多个控制参数包括表示来自基本上无遮挡相机的图像的信息。基于比较,所述方法还可以包括确定所述图像的一个或多个参数和所述一个或多个控制参数之间的分值。所述方法还包括由计算设备累计所确定的分值超出第一阈值的次数的计数。基于计数超出第二阈值,该方法还包括确定所述相机被至少部分地遮挡。
1.一种用于检测相机遮挡的方法,所述方法包括:
由计算设备从相机接收图像;
由所述计算设备将所接收的图像的一个或多个参数与一个或多个控制参数进行比较,其中所述一个或多个控制参数包括指示来自基本上无遮挡的相机的图像的信息;
基于比较,由所述计算设备确定所接收的图像的所述一个或多个参数和所述一个或多个控制参数之间的分值;
由所述计算设备在多个所接收的图像上累计所确定的分值超出第一阈值的次数的计数,其中所述计数在所确定的分值不超出所述第一阈值的任何时候被复位为零或者所述计数在两个连续分值不超出所述第一阈值时被复位为零;以及
基于在所述多个所接收的图像上的所述计数超出第二阈值,由所述计算设备确定所述相机由于在所述相机的镜头上累计的一个或多个颗粒而被至少部分地遮挡。
2.根据权利要求1所述的方法,进一步包括由所述计算设备提供所述相机被至少部分地遮挡的通知。
3.根据权利要求2所述的方法,进一步包括在所述计算设备的显示上提供所述通知。
4.根据权利要求1所述的方法,其中,所确定的分值超出所述第一阈值的所述次数的所述计数基于先前由所述相机接收到的一个或多个图像。
5.根据权利要求1所述的方法,其中,所述图像的所述一个或多个参数包括所述图像的亮度直方图。
6.根据权利要求1所述的方法,其中,所述图像的所述一个或多个参数包括所述图像的图像方向梯度的直方图,其中,图像方向梯度包括所述图像的强度的方向变化。
7.根据权利要求1所述的方法,其中,所述图像的所述一个或多个参数包括所述图像的最小颜色值。
8.根据权利要求1所述的方法,其中,所述图像的所述一个或多个参数包括所述相机的点扩散函数,其中,所述点扩散函数包括光强和与点光源的中心的距离之间的关系的表达式。
9.根据权利要求1所述的方法,其中,确定所述图像的所述一个或多个参数与所述一个或多个控制参数之间的分值包括:
由所述计算设备将所述图像的第一区域的一个或多个参数与所述第一区域的一个或多个控制参数进行比较;
基于比较,由所述计算设备确定所述图像的所述一个或多个参数与所述一个或多个控制参数之间的原始分值;
由所述计算设备将加权系数应用于所述原始分值以确定第一分值;
由所述计算设备将所述图像的第二区域的一个或多个参数与所述第二区域的一个或多个控制参数进行比较;
基于比较,由所述计算设备确定所述图像的所述一个或多个参数与所述一个或多个控制参数之间的第二分值;以及
对所述第一分值和所述第二分值进行求和。
10.根据权利要求1所述的方法,进一步包括由所述计算设备接收输入,其中所述输入包括所述第一阈值。
11.根据权利要求1所述的方法,进一步包括由所述计算设备接收输入,其中所述输入包括所述第二阈值。
12.一种用于检测相机遮挡的方法,所述方法包括:
由计算设备确定所述计算设备上的相机的镜头的第一条件,其中所述第一条件指示至少部分被遮挡的镜头具有在所述相机的镜头上累计的一个或多个颗粒,其中确定所述相机的镜头的所述第一条件包括:
由所述计算设备从所述相机接收图像;
由所述计算设备将所接收的图像的一个或多个参数与一个或多个控制参数进行比较,其中所述一个或多个控制参数包括指示来自基本上无遮挡的相机的图像的信息;
基于比较,由所述计算设备确定所接收的图像的所述一个或多个参数与所述一个或多个控制参数之间的分值;
由所述计算设备在多个所接收的图像上累计所确定的分值超出第一阈值的次数的计数,其中所述计数在所确定的分值不超出所述第一阈值的任何时候被复位为零或者所述计数在两个连续分值不超出所述第一阈值时被复位为零;以及
基于在所述多个所接收的图像上的所述计数超出第二阈值,由所述计算设备确定所述相机的镜头的所述第一条件;
由所述计算设备提供用于在所述计算设备上显示的指示器,其中所述指示器指示所述第一条件;以及
由所述计算设备基于对所述相机的镜头为第二条件的确定,提供用于移除所述指示器的指令,其中所述第二条件是基本上无遮挡的镜头使得所述一个或多个颗粒中的至少一个不再位于所述相机的镜头上。
13.根据权利要求12所述的方法,进一步包括由所述计算设备接收输入,其中所述输入包括所述第一阈值。
14.根据权利要求12所述的方法,进一步包括由所述计算设备接收输入,其中所述输入包括所述第二阈值。
15.一种用于检测相机遮挡的系统,所述系统包括:
用于由计算设备从相机接收图像的装置;
用于由所述计算设备将所接收的图像的一个或多个参数与一个或多个控制参数进行比较的装置,其中所述一个或多个控制参数包括指示来自基本上无遮挡的相机的图像的信息;
用于基于比较,由所述计算设备确定所接收的图像的所述一个或多个参数和所述一个或多个控制参数之间的分值的装置;
用于由所述计算设备在多个所接收的图像上累计所确定的分值超出第一阈值的次数的计数的装置,其中所述计数在所确定的分值不超出所述第一阈值的任何时候被复位为零或者所述计数在两个连续分值不超出所述第一阈值时被复位为零;以及用于基于在所述多个所接收的图像上的所述计数超出第二阈值,由所述计算设备确定所述相机由于在所述相机的镜头上累计的一个或多个颗粒而被至少部分地遮挡的装置。
16.根据权利要求15所述的系统,其中用于确定所接收的图像的所述一个或多个参数与所述一个或多个控制参数之间的分值的装置包括:
用于由所述计算设备将所述图像的第一区域的一个或多个参数与所述第一区域的一个或多个控制参数进行比较的装置;
用于基于比较,由所述计算设备确定所述图像的所述一个或多个参数与所述一个或多个控制参数之间的原始分值的装置;
用于由所述计算设备将加权系数应用于所述原始分值来确定第一分值的装置;
用于由所述计算设备将所述图像的第二区域的一个或多个参数与所述第二区域的一个或多个控制参数进行比较的装置;
用于基于比较,由所述计算设备确定所述图像的所述一个或多个参数与所述一个或多个控制参数之间的第二分值的装置;以及
用于对所述第一分值和所述第二分值进行求和的装置。
17.根据权利要求15所述的系统,进一步包括用于提供所述相机被至少部分地遮挡的通知的装置。
18.根据权利要求17所述的系统,进一步包括用于在所述计算设备上提供所述通知的装置。
相机遮挡检测\n[0001] 相交申请的交叉引用\n[0002] 本申请要求于2013年4月2日提交的美国专利申请序列号No.13/855,054的优先权,其全部内容通过引用合并于此。\n背景技术\n[0003] 除非在此另有说明,在本章节中所述的材料对本申请的权利要求来说不是现有技术并且不承认通过包括在该部分中而成为现有技术。\n[0004] 诸如智能电话和平板电脑的移动设备正逐步地提供捕获更高质量数字图像的更好的相机。此外,独立紧凑型相机、数字SLR相机、和无反光镜可换镜头相机正变得普及。因此,所捕获的高质量图像的数量正快速地增加。然而,图像常常由被灰尘、油脂或其他异物遮挡的设备捕获。尽管图像捕获技术进步了,但是通过被遮挡的相机捕获的图像质量可能很差。\n发明内容\n[0005] 在一个方面中,描述了一种方法。该方法能够包括从相机接收图像。所述方法还能够包括将图像的一个或多个参数与一个或多个控制参数进行比较,其中所述一个或多个控制参数包括指示来自基本上无遮挡的相机的图像的信息。基于所述比较,所述方法还能够包括确定所述图像的一个或多个参数和所述一个或多个控制参数之间的分值。所述方法还能够包括由计算设备累计所确定的分值超出第一阈值的次数的计数。基于所述计数超出第二阈值,所述方法还能够包括确定所述相机被至少部分地遮挡。\n[0006] 在另一方面,描述了另一种方法。所述方法能够包括确定计算设备上的相机的视野的第一条件,其中所述第一条件表示至少部分被遮挡的视野。所述方法还能够包括提供用于在计算设备上的显示的指示器,其中所述指示器指示所述第一条件。所述方法还能够包括基于对所述相机的所述视场为第二条件的确定,提供用于移除指示器的指令,其中所述第二条件是基本上无遮挡的视野。\n[0007] 在又一方面中,描述了一种在其中存储有指令的非暂时性计算机可读存储器,所述指令在由计算设备执行时使得所述计算设备执行功能。所述功能能够包括将所述图像的一个或多个参数与一个或多个控制参数比较,其中所述一个或多个控制参数包括指示来自基本上无遮挡的相机的图像的信息。基于所述比较,所述功能还能够包括确定所述图像的一个或多个参数和所述一个或多个控制参数之间的分值。所述功能还能够包括由计算设备累计所确定的分值超出第一阈值的次数的计数。基于所述计数超出第二阈值,所述功能还能够包括确定所述相机被至少部分地遮挡。\n[0008] 通过阅读下述具体实施方式连同适当地参考附图,这些以及其他方面、优点、和替选对本领域的技术人员来说将变得显而易见。此外,应该理解的是在本发明内容部分和本文档的其他地方提供的描述旨在通过举例而不是通过限制来说明所要求的主题。\n附图说明\n[0009] 图1图示了根据示例实施例的数字相机设备的形状因子。\n[0010] 图2示出了根据示例实施例的示例计算设备的部件中的一些的简化框图。\n[0011] 图3描绘了根据示例实施例的流程图。\n[0012] 图4A-4B图示了根据示例方法的执行功能的示例计算设备。\n[0013] 图5描绘了根据示例实施例的流程图。\n[0014] 图6A-6B图示了根据示例方法的执行功能的示例计算设备。\n[0015] 图7描绘了根据示例实施例配置的计算机可读介质。\n具体实施方式\n[0016] 在此描述示例方法和系统。在此描述为“示例”的任何实施例或特征不一定被解释为优选于或优越于其他实施例或特征。在下面的具体实施方式中,对附图的引用形成其一部分。在图中,类似的符号通常识别类似的组件,除非上下文另有指明。可以利用其他实施例,并且可以进行其他改变,而不背离在此提出的主题的精神或范围。\n[0017] 在此所述的示例实施例并不意味着限制。将容易地理解,如在此一般描述的以及在图中所图示的,本公开内容的方面可以在各种不同配置中被布置、取代、结合、分离和设计,所有这些都是在此所构想的。\n[0018] I.概述\n[0019] 诸如相机的图像捕获设备被用于每天捕获成千上万的图像。然而,不幸的是,这些图像中的大部分是由被灰尘、油脂、或其他异物遮挡的相机捕获的。这导致图像不可避免的模糊(降低细节和对比度),出现夸张的眩光、或者其他方式的质量不良。\n[0020] 在示例内,计算设备可以被配置成监视由相机捕获的图像并且将所捕获的图像的某些参数与控制参数进行比较。控制参数包括来自基本未遮挡的相机的图像的聚合属性。\n可以被用来将捕获图像的一个或多个参数与一个或多个控制参数进行比较的参数的一个示例可以包括图像的局部空间区域中的最小颜色值。另一参数可以包括图像的亮度直方图。又一参数可以包括图像的图像方向梯度的直方图。又一参数可以包括相机的点扩散函数。这些参数中的每一个具有由基本上未被遮挡的相机捕获的图像的某些属性,以及由至少部分被遮挡的相机捕获的图像的不同属性。\n[0021] 基于上述参数的比较,可以在所捕获的图像的一个或多个参数与一个或多个控制参数之间确定分值。所确定的分值可以与阈值分值进行比较,并且该阈值可以被用作用于确定所捕获的图像是否是通过被至少部分地遮挡视野的相机拍摄的基础。在一个示例中,考虑超出阈值的一系列分值,计算设备可以确定该相机被至少部分地遮挡。例如,如果由相机捕获的5张连续的图像超出阈值,则计算设备可以确定相机被至少部分地遮挡。在另一示例中,如果由相机捕获的7个图像中的5个超出阈值,则计算设备可以确定相机被至少部分地遮挡。在又一示例中,如果计算设备确定相机被至少部分地遮挡,则计算设备可以在计算设备上提供指示相机被至少部分地遮挡的通知。\n[0022] 如在此所使用的,遮挡意味着有杂物、或者在相机的镜头上有颗粒、或遮挡镜头的视野、或具有灰尘或脏、或具有累计在镜头上的水分、或存在于镜头上的任何不自然或不平常或不期望的情况或者其他阻碍相机的镜头。\n[0023] 应该理解的是,以说明为目的提供该方法的上述示例,而不应当解释为限制。\n[0024] II.示例图像捕获设备\n[0025] 随着相机变得更普遍,其可以被采用作为独立的硬件设备或集成到各种其他类型的设备中。例如,现在静态和视频相机通常包括在无线通信设备(例如移动电话)、平板计算机、膝上型计算机、视频游戏接口、家用自动化设备、甚至汽车和其他类型的车辆中。\n[0026] 相机的物理组件可以提供光进入的孔径、用于捕获由光表示的图像的记录表面、以及位于孔径前方来将至少一部分图像聚焦在记录表面上的镜头。孔径可以是固定大小或可调整的。在模拟相机中,记录表面可以是胶片。在数字相机中,记录表面可以包括电子图像传感器(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)传感器)来在数据存储单元(例如存储器)中转移和/或存储所捕获的图像。\n[0027] 可以将快门耦合到镜头或记录表面或在其附近。快门可以位于关闭位置中,在关闭位置快门阻止光达到记录表面,或位于打开位置,在打开位置允许光到达记录表面。可以由快门按钮控制快门的位置。例如,缺省地,快门可以位于关闭位置中。当触发(例如按压)快门按钮时,在一段时间内快门可以从关闭位置改变到打开位置,称为快门周期。在快门周期期间,可以在记录表面上捕获到图像。在快门周期结束时,快门可以改变回关闭位置。\n[0028] 替选地,快门处理可以是电子的。例如,在CCD图像传感器的电子快门“打开”前,可以复位传感器以消除其光电二极管中的任何剩余信号。当电子快门保持打开的同时,光电二极管可以积聚电荷。当快门关闭时或关闭后,可以将这些电荷转移到长期数据存储。机械和电子快门的组合也可以是可能的。\n[0029] 与类型无关,可以通过除快门按钮外的一些手段激活和/或控制快门。例如,可以由软键、定时器、或一些其他触发器激活快门。在这里,术语“图像捕获”可以是指导致记录一个或多个照片的任何机械和/或电子快门处理,而与如何触发或控制快门处理无关。\n[0030] 可以由孔径大小、进入孔径的光的亮度、和快门周期的长度(也称为快门长度或曝光长度)的组合来确定所捕获的图像的曝光。另外,数字或模拟增益可以被应用于图像,由此影响曝光。在一些实施例中,术语“总曝光长度”或“总曝光时间”可以是指快门长度乘以特定孔径大小的增益。在这里,术语“总曝光时间”或“TET”可以被解释为可能的快门长度、曝光时间、或控制由于到达记录表面的光而产生的信号响应量的任何其他度量。\n[0031] 图像捕获设备或相机可以包括能捕获静态图像的设备、能捕获视频的设备、以及能捕获静态图像和视频二者的设备。每次触发图像捕获时,静态相机可以捕获一个或多个图像。视频相机可以以特定速率(例如,每秒24图像或帧)连续地捕获图像,只要捕获保持触发(例如,当按住快门按钮时)。一些数字静态相机可以当相机设备或应用被激活时打开快门,并且快门可以保持在该位置直到相机设备或应用被停止。当快门打开时,相机设备或应用可以在取景器上捕获和显示场景的表示。当触发图像捕获时,可以捕获当前场景的一个或多个不同的数字图像。\n[0032] 相机——即使是模拟相机——也可以包括控制一个或多个相机功能和/或设置,诸如孔径大小、TET、增益等等的软件。另外,一些相机可以包括在捕获这些图像期间或之后数字地处理图像的软件。尽管应理解的是上述描述一般是指相机,但也可以具体地与数字相机相关。\n[0033] 如前所述,数字相机可以是独立的设备或集成在其他设备中。例如,图1图示了数字相机设备100的形状因子。数字相机设备100可以是例如移动电话、平板计算机、或可穿戴式计算设备。然而,其他实施例也是可能的。数字相机设备100可以包括各种元件,诸如本体\n102、前置相机104、多元件显示器106、快门按钮108、和其他按钮110。数字相机设备100可能还包括后置相机112。前置相机104可以位于本体102的一侧,在操作时通常面向用户,或者位于多元件显示器106的同侧。后置相机112可以位于本体102上与前置相机104相反的一侧。将相机称为前置和后置是任意的,并且数字相机设备100可以包括位于本体102的不同侧的多个相机。\n[0034] 多元件显示器106能够表示阴极射线管(CRT)显示器、发光二极管(LED)显示器、液晶(LCD)显示器、等离子显示器、或现在已知或以后开发的其他技术。在一些实施例中,多元件显示器106可以显示由前置相机104和/或后置相机112捕获的当前图像的数字表示,或可以由这些相机的任何一个或二者捕获或最近捕获的图像。由此,多元件显示器106可以用作任一相机的取景器。多元件显示器106还可以支持触摸屏和/或可以能够调整数字相机设备\n100的任一方面的设置和/或配置的存在敏感功能。\n[0035] 前置相机104可以包括图像传感器和诸如镜头的关联的光学元件。前置相机104可以提供缩放能力或能够具有固定焦距。在其他实施例中,可互换镜头能够与前置相机104一起使用。前置相机104可以具有可变机械孔径以及机械和/或电子快门。前置相机104还能够被配置成捕获静态图像、视频图像或两者。此外,前置相机104能够表示单视场、立体、或多视场相机。可以类似地或不同地布置后置相机112。另外,前置相机104、后置相机112、或两者可以是一个或多个相机的阵列。\n[0036] 前置相机104和后置相机112的任一个或二者可以包括或者与提供光场以照亮目标对象的照明组件相关联。例如,照明组件能够提供对目标对象的闪光或持续照明。照明组件还能被配置成提供包括结构光、偏振光、和具有特定光谱内容的光中的一个或多个的光场。已知并且被用来从对象恢复三维(3D)模型的其他类型的光场在此处的实施例的上下文内是可能的。\n[0037] 前置相机104和后置相机112中的任一或二者可以包括或者与可以持续地或不时地确定相机能捕获的场景的周围亮度的周围光传感器相关联。在一些设备中,周围光传感器能够被用来调整与相机相关联的屏幕(例如取景器)的显示亮度。当所确定的周围亮度高时,可以增加屏幕的亮度等级来使屏幕更易于观看。当所确定的周围亮度低时,可以降低屏幕的亮度等级来使屏幕更易于观看同时潜在地省电。另外,周围光传感器的输入可以被用来确定关联相机的TET,或帮助该确定。\n[0038] 数字相机设备100能够被配置成使用多元件显示器106和前置相机104或后置相机\n112来捕获目标对象的图像。所捕获的图像能够是多个静态图像或视频流。能够通过激活快门按钮108、按压多元件显示器106上的软键、或通过一些其他机制来触发图像捕获。取决于实施方式,能够以特定时间间隔自动地捕获图像,例如,在按压快门按钮108时、在目标对象的合适的照明条件时、在移动数字相机设备100预定距离时、或根据预定捕获计划。\n[0039] 如上所述,数字相机设备100的功能——或另一类型的数字相机的功能——可以被集成进诸如无线通信设备、平板计算机、膝上型计算机等等的计算设备中。以示例为目的,图2是示出可以包括相机组件226的示例计算设备200的一些组件的简化框图。\n[0040] 作为示例而不是限制,计算设备200可以是蜂窝移动电话(例如智能电话)、静态相机、视频相机、传真机、计算机(诸如台式、笔记本、平板或手持计算机)、个人数字助理(PDA)、家庭自动化组件、数字视频录像机(DVR)、数字电视机、遥控器、可穿戴式计算设备、或装备有至少一些图像捕获和/或图像处理能力的一些其他类型的设备。应该理解的是,计算设备200可以表示物理相机设备,诸如数字相机、在其上以软件操作相机应用的特定物理硬件平台、或者能被配置成执行相机功能的硬件和软件的其他组件。\n[0041] 如图2所示,计算设备200可以包括通信接口202、用户接口204、处理器206、数据存储208、以及相机组件226,其所有都可以通过系统总线、网络或其他连接机制210通信地链接在一起。\n[0042] 通信接口202可以用来允许计算设备200使用模拟或数字调制,与其他设备、接入网络,和/或传输网络进行通信。因此,通信接口202可以有助于电路交换和/或分组交换通信,诸如普通老式电话服务(POTS)通信和/或网际协议(IP)或其它分组化通信。例如,通信接口202可以包括被布置用于与无线电接入网或接入点无线通信的芯片组和天线。并且,通信接口202可以采用有线线路接口的形式或包括无线接口,诸如以太网、通用串行总线(USB)、高清多媒体接口(HDMI)端口。通信接口202还可以采用无线接口的形式或包括无线接口,诸如Wifi、全球定位系统(GPS)、或广域无线接口(例如WiMAX或3GPP长期演进(LTE))。\n然而,其他形式的物理层接口和其他类型的标准或专用通信协议可以被用在通信接口202上。此外,通信接口202可以包括多个物理通信接口(例如,Wifi接口、短程无线接口和广域无线接口)。\n[0043] 用户接口204可以用来允许计算设备200与人或非人用户进行交互,诸如从用户接收输入并且向用户提供输出。因此,用户接口204可以包括输入组件,诸如小键盘、键盘、触摸敏感或存在敏感面板、计算机鼠标、跟踪球、游戏杆、麦克风等等。用户接口204还可以包括一个或多个输出组件,诸如例如可以与存在敏感面板结合的显示屏。显示屏可以基于CRT、LCD、和/或LED技术,或现在已知或以后开发的其他技术。用户接口204还可以被配置成经由扬声器、扬声器插口、音频输出端口、音频输出设备、耳机、和/或其他类似设备生成可听输出。\n[0044] 在一些实施例中,用户接口204可以包括显示器,所述显示器用作用于由计算设备\n200支持的静态相机和/或视频相机功能的取景器。另外,用户接口204可以包括有助于相机功能的配置和对焦以及图像的捕获(例如捕获图片)的一个或多个按钮、开关、旋钮、和/或转盘。将这些按钮、开关、旋钮、和/或转盘的一些或全部实现为运行在存在敏感面板上是可能的。\n[0045] 处理器206可以包括一个或多个通用处理器(例如微处理器),和/或一个或多个专用处理器(例如数字信号处理器(DSP)、图形处理单元(GPU)、浮点单元(FPU)、网络处理器,或专用集成电路(ASIC))。在一些情况下,专用处理器在其他可能性中可以能够图像处理、图像对齐、和合并图像。数据存储208可以包括一个或多个易失和/或非易失存储组件,诸如磁、光、闪速或有机存储,并且可以与处理器206整体地或部分地集成。数据存储208可以包括可拆卸和/或不可拆卸组件。\n[0046] 处理器206可以能够执行在数据存储208中存储的程序指令218(例如汇编或非汇编程序逻辑和/或机器代码)以执行此处所述的各种功能。因此,数据存储208可以包括其上存储有程序指令的非暂时性计算机可读介质,所述指令在由计算设备200执行时使得计算设备200执行在本说明书和/或附图中公开的方法、过程、或任何功能。由处理器206执行程序指令218可以导致处理器206使用参考数据212。\n[0047] 举例来说,程序指令218可以包括操作系统222(例如操作系统内核、设备驱动器、和/或其他模块)以及安装在计算设备200上的一个或多个应用程序220(例如相机功能、地址簿、电子邮件、Web浏览、社交网络、和/或游戏应用)。类似地,参考数据212可以包括操作系统数据216和应用数据214。操作系统数据216可以主要由操作系统222访问,以及应用数据214主要由一个或多个应用程序220访问。应用数据214可以被布置在对计算设备200的用户可见或隐藏的文件系统中。\n[0048] 在一些示例中,操作系统数据216可以包括计数器模块224。计数器模块224可以包括计数器值,所述计数器值指示从计算设备200接收的输入和之前存储的输入之间的相关性的出现次数。计数器模块224可以被配置成至少部分基于出现次数递增计数器值。在一些示例中,当计数器值小于或超出阈值时,可以由计数器模块224修改计算设备200的一个或多个功能。\n[0049] 应用程序220可以通过一个或多个应用编程接口(API)与操作系统222进行通信。\n这些API可以有助于例如应用程序220读取和/或编写应用数据214、经由通信接口202传送或接收信息、在接收和/或在用户接口204上显示信息等等。\n[0050] 在一些示例中,应用程序220可以被简称为“app”。另外,应用程序220可以通过一个或多个在线应用存储或应用市场,可下载到计算设备200。然而,应用程序也能以其他方式被安装在计算设备200上,诸如经由Web浏览器或通过计算设备200上的物理接口(例如USB端口)。\n[0051] 相机组件226可以包括但不限于孔径、快门、记录表面(例如摄影胶片和/或图像传感器)、镜头、和/或快门按钮。相机组件226可以至少部分被由处理器206执行的软件控制。\n[0052] III.方法的示例\n[0053] 图3描绘了示例方法的流程图,在一些示例中,所述流程图可以由图2中的计算设备200的组件执行。方法300可以包括如由块302-314中的一个或多个所图示的一个或多个操作、功能或动作。尽管按顺序示出块,但这些块也可以并行、和/或以不同于在此所述的顺序执行。同时,基于所期望的实施方式,可以将各个块组合成更少块、分成附加的块、和/或移除。\n[0054] 另外,对方法300和在此公开的其他过程和方法,框图示出本实施例的一种可能实施方式的功能和操作。就此而言,每块可以表示包括可由处理器或计算设备可执行的一个或多个指令的模块、段、或程序代码的一部分,用于实现该过程中的特定逻辑功能或步骤。\n程序代码可以被存储在任何类型的计算机可读介质上,例如,诸如包括盘或硬驱动的存储设备。计算机可读介质可以包括非暂时性计算机可读介质,例如诸如短期存储数据的计算机可读媒介,像寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质也可以包括非暂时性介质,诸如辅助或永久长期存储,例如像只读存储器(ROM)、光或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。例如计算机可读介质可以被看作计算机可读存储介质,或有形存储设备。\n[0055] 为了示例,图3所示的方法将被描述为由诸如图2的计算设备200的计算设备来实现。应该理解的是诸如一个或多个服务器的其他实体能够实现示例方法的一个或多个步骤。\n[0056] 在块302处,方法包括从相机接收图像。如上所述,来自相机的图像可以包括像素信息的一维、二维或多维阵列。这样的信息可以由计算设备的处理器接收并且被存储在数据存储中。在一个实施例中,计算设备可以经由计算设备本身上的相机组件接收图像或表示图像的信息。在另一实施例中,计算设备可以经由从图像捕获设备到计算设备的有线连接(例如USB连接)来接收图像或表示图像的信息。在又一实施例中,计算设备可以经由互联网来接收图像或表示图像的信息(例如,经由“云计算”上传到计算设备的图像)。其他实施例也是可能的。\n[0057] 在块304处,方法包括将图像的一个或多个参数与一个或多个控制参数进行比较。\n控制参数包括由基本上无遮挡的相机捕获的图像的聚合属性。在一个示例中,可以在学习阶段计算一个或多个控制参数。例如,在安装过程期间,计算设备可以请求用户清洗位于计算设备上的相机的镜头,然后拍照。然后,可以使用该图片来计算一个或多个控制参数。在另一示例中,一个或多个控制参数可以被预安装在计算设备上。其他实施例也是可能的。\n[0058] 在计算设备接收到图像后,计算设备可以确定图像的一个或多个参数。此外,计算设备可以将相同的一个或多个控制参数存储在其数据存储中。一旦计算设备已经确定图像的一个或多个参数,计算设备就可以将那些参数与匹配的控制参数进行比较。可以由计算设备的一个或多个处理器执行该比较。\n[0059] 可以在分析给定图像时使用的参数的一个示例是图像的局部空间区域中的最小颜色值。所捕获的数字图像可以被表示为像素的一维、二维、或多维阵列。每一像素可以由可以编码相应的像素颜色和/或亮度的一个或多个值来表示。在YCbCr颜色模型中,Y通道可以表示像素的亮度,以及Cb和Cr通道可以分别表示像素的蓝色色度和红色色度。\n[0060] 在一个示例中,Y通道可以采用从0至255的值(即,单一8位字节能提供的色调范围)。因此,如果像素为黑或接近黑,则像素的亮度可以由0或接近0的值来表示,而如果像素为白或接近白,则用255或接近255的值来表示。然而,255的值是非限制性的参考点,并且一些实施方式可以使用不同的最大值(例如,1023,4095等等)。所捕获的图像的局部空间区域的最小颜色值可以由用于那一区域的最小Y值来确定。\n[0061] 在另一实施例中,可以使用红-绿-蓝(RGB)颜色模型。在这样的示例中,可以将最小颜色值定义为min(R,G,B),即,每一像素或相邻像素的集合上的最小红、绿或蓝值。其他实施例也是可能的。\n[0062] 观察到由基本未被遮挡的相机捕获的图像的最小颜色值低于由至少部分被遮挡的相机捕获的图像的最小颜色值。例如,当相机被相机的镜头上的灰尘所遮挡时,图像出现模糊。在这样的图像中,灰尘充当漫射体并且添加到图像的每一像素的颜色值,导致比由基本上未被遮挡的相机捕获的图像更高的最小颜色值。\n[0063] 可以在分析给定图像时使用的另一参数是图像的亮度直方图。亮度考虑人眼对绿色光比对红色或蓝色更敏感的事实。为了产生亮度直方图,转换图像的每一像素使得基于该像素的绿色、红色、和蓝色光的加权平均来表示光度。该加权假定绿色表示所感测的光度的59%,而红色和蓝色通道分别仅占30%和11%。一旦已经将图像的所有像素转换成光度,则可以通过计算每一亮度有多少像素来产生亮度直方图。在一个实施例中,可以通过计算设备的一个或多个处理器来确定给定图像的亮度直方图。其他实施例也是可能的。观察到由至少部分被遮挡的相机捕获的图像的亮度直方图通常比由基本上未被遮挡的相机捕获的图像更展开。\n[0064] 可以在分析给定图像时使用的又一参数是图像的图像方向梯度的直方图。图像方向梯度是图像的强度或颜色的方向变化。通过计算x和y方向中的图像导数,然后将其结合成向量,来确定图像方向梯度。该向量的方向是图像最快速改变的方向,以及该向量的大小是图像改变的速度及其方向。一旦已经将图像的所有像素转换成图像方向梯度,则可以产生亮度直方图。在一个实施例中,可以由计算设备的一个或多个处理器确定给定图像的图像方向梯度的直方图。其他实施例也是可能的。观察到由至少部分遮挡的相机捕获的图像的图像方向梯度的直方图比由基本上未被遮挡的相机捕获的图像倾向于更少的径向对称。\n[0065] 可以在分析给定图像时使用的又一参数是相机的点扩散函数。点扩散函数(PSF)描述成像系统对点源或点对象的响应。例如,PSF可以是光强与能量和与来自理论上最佳点的光的图像的中心的距离之间的关系的表达式。该关系可以示出为绘制与图像的中心的距离和光强的图。在一个实施例中,给定图像的PSF可以由计算设备的一个或多个处理器来确定。其他实施例也是可能的。观察到与基本上未被遮挡的相机的PSF相比,至少部分被遮挡的相机的PSF具有长尾且有时是方向性的。\n[0066] 在块306处,方法包括确定图像的一个或多个参数与一个或多个控制参数之间的分值。计算设备可以将图像的一个或多个参数与相同的一个或多个控制参数进行比较来确定分值。例如,计算设备可以将图像的最小颜色值与所存储的控制最小颜色值进行比较,并且将图像的亮度直方图与所存储的控制亮度直方图进行比较。在另一示例中,计算设备可以仅将图像的图像方向梯度与所存储的控制图像方向梯度进行比较。参数的任何组合的比较可能确定分值。然后,计算设备可以确定图像的一个或多个参数与一个或多个控制参数之间的差以确定图像和控制图像之间的分值。在一个实施例中,差的数值越大,分值越高。\n例如,分值可以是在0-1之间的数,其中1指示图像的一个或多个参数与相同的一个或多个控制参数完全不同,而0指示它们相同。其他实施例也是可能的。\n[0067] 在一个实施例中,当确定在图像的一个或多个参数与一个或多个控制参数之间的分值时,可以更重地加权图像的某些区域。在一个示例中,可以更重地加权图像的视觉上更突出的区域。视觉上突出的区域是易于吸收人类观众的注意力的区域。例如,与图像的其余区域相比,可以更重地加权图像的边缘。在该示例中,计算设备可以将图像的边缘的一个或多个参数与边缘的一个或多个控制参数比较来确定原始分值。然后,计算设备可以将所确定的原始分值乘以加权系数来获得第一分值。然后,计算设备可以将图像的剩余区域的一个或多个参数与一个或多个控制参数的剩余区域进行比较来确定第二分值。然后,通过对第一分值和第二分值求和来确定图像的一个或多个参数和一个或多个控制参数之间的最终分值。其他实施例也是可能的。\n[0068] 在块308处,方法包括确定所确定的分值是否超出第一阈值。计算设备可以将第一阈值存储在其数据存储中。然后,计算设备可以将所确定的分值与所存储的第一阈值进行比较来确定所确定的分值是否超出第一阈值。继续上述示例,其中,所确定的分值可以在0-\n1之间,第一阈值可以是0.5。在另一实施例中,第一阈值可以是0.7。其他示例也是可能的。\n在一个实施例中,可以使用计算设备的用户接口来配置第一阈值。在另一实施例中,可以将第一阈值编程到计算设备的硬件中,并且用户可能不能改变第一阈值。\n[0069] 如果所确定的分值超出第一阈值,则该方法在块310处继续,累计所确定的分值超出第一阈值的次数的计数。计算设备的数据存储可以包括计数器模块。计数器模块可以包括指示所确定的分值超出第一阈值的次数的计数器值。计数器模块可以被配置成至少部分基于所确定的分值超出第一阈值的次数,递增计数器值。在一个示例中,计数器值可以在所确定的分值不超出第一阈值的任何时候被复位为0。在另一示例中,当图像和控制图像之间的两个连续分值均不超出第一阈值时,可以使计数器值复位为0。其他实施例也是可能的。\n[0070] 在块312处,方法包括确定计数是否超出第二阈值。计算设备可以将第二阈值存储在其数据存储中。然后,计算设备可以将该计数与所存储的第二阈值进行比较来确定该计数是否超出第二阈值。在一个示例中,第二阈值可以为5。在另一示例中,第二阈值可以为\n10。其他实施例也是可能的。在一个实施例中,可以使用计算设备的用户接口来配置第二阈值。在另一实施例中,可以将第二阈值编程到计算设备的硬件中,用户可能不能改变第二阈值。\n[0071] 如果所确定的计数超出第二阈值,则该方法在块314处继续,确定是否至少部分遮挡相机。在一个实施例中,该方法进一步包括提供相机至少部分地被遮挡的通知。该通知可以是视觉通知或声音通知,如下所述。\n[0072] 图4A-4B图示了根据示例方法的执行功能的示例计算设备。对于所图示的示例,计算设备400包含图2所述的计算设备的所有特征。然而,应该理解的是计算设备可以采用其他形式和/或包括不同于图2所图示的组件。\n[0073] 图4A图示了计算设备400的显示器404上的视觉通知402。在该示例中,视觉通知\n402包括指示需要清洗镜头的文本通知406和图形图标408。在另一示例中,可以仅呈现文本通知。在图4A中,文本通知406第一行读为“看起来你的镜头很脏”以及第二行读为“你可能想要清洗它”。其他通知也是可能的。在一个示例中,视觉通知可以包括直接在计算设备400的显示器404上显示的消息,如由图4A的通知402所图示。在另一示例中,视觉通知可以包括发送到计算设备400的注册用户的短消息服务(SMS)文本消息。在另一示例中,通知可以包括发送到计算设备400的注册用户的电子邮件。在另一实施例中,可以将通知显示在第二计算设备上(例如,经由“云计算”)。其他示例也是可能的。\n[0074] 类似地,图4B图示了由计算设备400生成的音频通知410。如上关于图2所述,计算设备的用户接口可以被配置成经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机、和/或其他类似设备来生成可听输出。在一个实施例中,音频通知可以由第二计算设备(例如,经由“云计算”)生成。在图4B的示例中,所生成的音频通知是“建议清洗镜头”。其他音频通知也是可能的。\n[0075] 图5描绘了在一些示例中,可以由图2中的计算设备200的组件执行的示例性方法的流程图。方法500可以包括如由块502-508中的一个或多个所图示的一个或多个操作、功能、或动作。尽管按顺序图示出块,但也可以并行地,和/或以不同于在此所述的顺序执行这些块。并且,基于所期望的实施方式,可以将各种块组合成更少块,分成附加的块、和/或移除。\n[0076] 为了示例,图5所示的例子将被描述为由诸如图2的计算设备200的计算设备来实现。应该理解的是诸如一个或多个服务器的其他实体能够实现示例方法的一个或多个步骤。\n[0077] 在块502处,方法包括在计算设备上确定相机的视野的第一条件。在一个示例中,第一条件可以指示至少部分被遮挡的视野。计算设备可以根据上文关于图3所述的方法,确定相机的视野的第一条件。在另一实施例中,计算设备可以通过将所接收的图像的一个或多个参数与一个或多个控制参数进行比较来确定分值,以确定相机的视野的第一条件。如果分值超出阈值,则计算设备可以确定相机的视野的第一条件。其他实施例也是可能的。\n[0078] 在块504处,方法包括提供用于在计算设备上显示的指示器。在一个示例中,第二条件可以指示基本不被遮挡的视野。该指示器可以是位于计算设备的显示上的图形指示器。在一个实例中,图形指示器可以在计算设备的显示器上闪现。在另一实例中,图形指示器可以存留在显示上。在另一实施例中,指示器可以包括在计算设备的显示上显示的消息。\n其他实施例也是可能的。\n[0079] 在块506处,该方法包括确定相机的视野是否是第二条件。在一个实施例中,计算设备可以通过将接收到的图像的一个或多个参数与一个或多个控制参数进行比较来确定分值,以确定相机的视野的第二条件。如果分值不超出阈值,则计算设备可以确定相机的视野的第二条件。在另一实施例中,计算设备可以计数分值不超出阈值的次数,并且当计数超出第二阈值时,确定相机的视野是第二条件。其他实施例也是可能的。\n[0080] 如果所确定的相机的视野为第二条件,则该方法在块508处继续,提供用于移除指示器的指令。该指令可以被存储在计算设备的程序指令中并且可以由处理器可执行。\n[0081] 图6A-6B图示了根据示例方法的执行功能的示例计算设备。对于所图示的示例,计算设备600包含图2所述的计算设备的全部特征。然而,应该理解的是计算设备可以采用其他形式和/或包括不同于图2所图示的组件。\n[0082] 图6A图示了在计算设备600的显示器604上的示例指示器602。图6A中的示例性指示器602表示具有手印污迹的相机,指示相机需要清洗。其他可能的图形指示器也是可能的。在一个实施例中,指示器602可以在计算设备600的显示器604上闪现。在另一实施例中,指示器602可以保持在显示器上直到计算设备600确定基本上未被遮挡的相机的视野。一旦计算设备600确定了基本上未被遮挡的相机的视野,计算设备可以提供移除该指示器的指令,如图6B所示。\n[0083] IV.被配置成检测相机的遮挡物的示例计算机可读介质\n[0084] 图7描绘了根据示例实施例配置的计算机可读介质。在示例实施例中,示例系统能够包括一个或多个处理器、一个或多个存储器、一个或多个输入设备/接口、一个或多个输出设备/接口以及机器可读指令,所述指令当由一个或多个处理器执行时,使系统执行上述的各种功能、任务、能力等等。\n[0085] 如上所述,在一些实施例中,所公开的方法能够由计算机程序指令实现,所述计算机程序指令被以机器可读格式在非暂时性计算机可读存储介质上编码、或在其他非暂时性媒介或制品上编码。图7是图示根据在此所呈现的至少一个实施例所布置的、包括用于在计算设备上执行计算机处理的计算机程序的示例计算机程序产品的概念性局部视图的示意图。\n[0086] 在一个实施例中,使用信号承载介质702提供示例计算机程序产品700。信号承载介质702可以包括一个或多个编程指令704,所述编程指令在被一个或多个处理器执行时可以提供上文关于图1-6所述的功能或部分功能。在一些示例中,信号承载介质702能够是计算机可读介质706,诸如但不限于硬盘驱动器、压缩光盘(CD)、数字视频盘(DVD)、数字磁带、存储器等等。在一些实施方式中,信号承载介质702能够是计算机可记录介质708,诸如但不限于存储器、可读/写(R/W)CD、R/W DVD等等。在一些实施方式中,信号承载介质702能够是通信介质710,诸如但不限于数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等等)。因此,例如,能通过通信介质710的无线形式输送信号承载介质702。\n[0087] 一个或多个编程指令704能够是例如计算机可执行和/或逻辑实现的指令。在一些示例中,诸如图2的处理器206的计算设备被配置成响应于由计算机可读介质706、计算机可记录介质708、和/或通信介质710中的一个或多个输送到处理器206的编程指令704,而提供各种操作、功能或动作。\n[0088] 非暂时性计算机可读介质还能够被分布在处于相互远离的多个数据存储元件中。\n执行所存储的指令中的一些或全部的设备能够是图1-2所图示的客户端侧计算设备。替选地,执行所存储的指令中的一些或全部的设备能够是服务器侧的计算设备。\n[0089] V.结论\n[0090] 应该理解的是在此所述的配置仅用于示例目的。同样地,本领域的技术人员将领会到能够替代地使用其他布置和其他元件(例如,机器、接口、功能、顺序和功能分组等等),以及根据所期望的结果,可以完全省略一些元件。此外,以任何适当的组合和位置,所描述的许多元件是可以实现为离散或分布的组件,或与其他部件相结合。\n[0091] 尽管在此公开了各种方面和实施例,但其他方面和实施例对本领域的技术人员来说将是显而易见的。在此公开的各个方面和实施例以说明为目的,并不旨在限制由所附权利要求指示的范围。
法律信息
- 2018-02-09
专利权人的姓名或者名称、地址的变更
专利权人由谷歌公司变更为谷歌有限责任公司
地址由美国加利福尼亚州变更为美国加利福尼亚州
- 2018-01-23
- 2015-12-30
实质审查的生效
IPC(主分类): H04N 17/00
专利申请号: 201480019768.1
申请日: 2014.04.01
- 2015-12-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-01-19
|
2002-10-04
| | |
2
| |
2012-10-17
|
2011-04-11
| | |
3
| |
2012-02-08
|
2011-07-21
| | |
4
| |
2011-06-29
|
2010-05-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |