本申请要求2015年2月11日提交的、名称为“用于识别存储在设备上的不需要的照片的系统和方法”的美国临时专利申请No.62/114,647的权益,该申请的全部公开内容作为参照并入到本申请中。
具体实施方式
在下面的详细描述中,参考构成本发明一部分的附图,并且通过图示的方式示出了可以实施本发明的特定实施方案。应当理解,可以利用或实现各种其它实施方案,并且可以进行结构改变而不脱离本发明的范围。
很明显,本文描述的各种方法和算法可以通过例如适当编程的通用计算机和包括智能电话、平板电脑、PC等的计算设备来实现。通常,这种设备上的处理器(例如,一个或多个微处理器)将接收来自存储器或类似设备或组件的指令,并执行那些指令,由此执行由这些指令定义的一个或多个处理。此外,可以以多种方式使用各种媒体来存储和发送实现这些方法和算法的程序。在一些实施方案中,可以使用硬连接电路或定制硬件或芯片组代替用于实现各种实施方案的处理的软件指令,或与其组合。因此,根据本发明的实施方案不限于硬件和软件的任何特定组合。
如本文所使用的“处理器”是指任何一个或多个微处理器,中央处理单元(CPU),计算设备,微控制器,数字信号处理器或类似设备。
本发明的示例性实施方案涉及照片的管理,照片在本文中被理解为包括静止照片,视频文件和图像,诸如捕获的截图和其他图像文件。
因此,本发明涉及一种用于识别不需要的照片的包括处理器和存储器的系统。该系统可以包括各种模块,例如(i)用于在一个或多个用户设备上识别多个照片的扫描模块。该用户设备可以是诸如智能电话、平板电脑、台式PC、机顶盒、笔记本电脑或云存储之类的任何计算平台。本发明还可以帮助管理在将照片转移到计算机之后用数码相机拍摄的照片。
该系统还可以包括(ii)图像质量模块,用于确定每张照片的质量并且给每张照片分配图像质量得分。另外,示例性系统可以包括(iii)基于所分配的图像质量得分来向用户建议删除照片的分类或推荐模块。
如上所述,这样的模块可以以软件实现,因此模块可以是整个指令集的功能方面。因此,如本文所使用的术语“系统”可以指物理电路和芯片组,或软件应用,或两者的任何组合。
在本发明的示例性实施方案中,可以基于不同的参数分析照片。在此过程中,该系统可以为每张照片收集和设置不同的特征(照片特征的示例包括模糊度得分,或照片是否在工作中拍摄)。
在一些实施方案中,基于这些特征,照片可以例如被分为两组:
不良照片:被认为质量差或无聊的照片,系统建议用户删除它们;和
待检查照片:系统预测用户可能想要删除的照片,但估计的预测精度不够,因此请求用户干预和决定。
在本发明的示例性实施例中,这种分类可以通过两种主要方法进行:
1.根据每张照片的特征数据,系统运行一套规则,确定照片是否为(1)不良或(2)待检查或(3)两者都不是;或者
2.使用机器学习算法,系统检查照片的不同特征,并对用户选择进行历史数据分析,以预测是否提出删除照片。可获得的用于分类照片的实际用户选择的结果越多,示例性系统越能了解许多用户的一般行为/偏好,并因此更好地预测特定用户的偏好。例如,大多数用户喜欢它们当中有人的照片,并且倾向于保留更少的仅仅风景或景观照片。此外,示例性系统可以从特定用户的过去选择(保留/删除照片)中学习并应用该知识来预测该用户的未来选择。
在本发明的示例性实施方案中,可以以各种方式收集或分析给定照片的数据或特征,例如以下的一个或多个:
1.计算机视觉
可以运行一组算法来分析照片的质量及其包含的内容。该系统可以在不同质量相关参数中给出照片的分数,或分析照片是否是某种类型或包含某些对象。这些质量参数的示例包括:
模糊度;
黑暗;
照片中颜色的多样性;
照片是否包含面孔;
照片中的面孔有多大?
照片是否包含景观?和
照片是否包含文字。
2.照片元数据
示例性系统可以分析与照片相关联的元数据,并将其用作照片的特征或供照片用的特征。例如:
照片被拍摄的那一天中的时间;
拍摄照片的地点;
照片是否在一个有趣的地方(“POI”)拍摄的?
照片在用户设备上的文件夹;
照片是使用设备的相机拍摄的吗?
照片是屏幕截图吗?
在接近照片的日期和时间的时间窗口内拍摄了多少张照片?
3.用户归档和用户偏好
在本发明的示例性实施方案中,可以使用分析手头上的用户数据(例如,用户的摄影历史)来将用户归档并理解他或她的偏好的算法。这样的数据可以包括,例如:
用户的家庭地点;
用户的工作地点;
用户在周末通常拍摄的照片数量;
在旅途中用户通常拍摄的照片数量;
用户喜欢或不喜欢截图;
用户对景观照片或人像照片的偏好;
基于上述,可以分析不同的照片特征,例如:
照片是在工作中拍摄的吗?
照片是旅行中拍摄的吗?
照片是在POI拍摄的吗?
照片是在用户有意义的事件期间拍摄的吗?
4.用户交互
在本发明的示例性实施方案中,可以跟踪用户对照片采取的每个操作,并且可以将其用作分类处理的一部分。可能的用户操作的示例可以包括:
查看特定照片;
分享特定照片;
删除特定照片;和
观看特定照片所花费的时间。
5.第三方数据
在本发明的示例性实施方案中,系统可以连接到用户可能正在使用或可能已经使用的不同社交平台、外部工具或应用,并从其中提取可以直接或间接地与用户照片相关的信息。例如,示例性系统可以确定:
照片是在社交平台上分享了吗?(例如,Facebook,Whatsapp,Snapchat)
共享照片有多少喜欢?
拍摄照片时,用户在他的日历中是否有事件?
如上所述,根据本发明的示例性系统的一个重要特征是从用户的过去操作和决策中学习以在将来做出更好的预测的能力。当用户采取操作并作出决定时,示例性系统可以通过识别用户是否决定保留照片或删除照片来学习用户关于他们所显示的各种不良照片的决定。这种学习通常适用于-即,分析许多用户的偏好并且一般地推导出用户偏好-并且具体地-即分析特定用户或用户组/用户人口结构的偏好,并且推断该用户(或用户组/用户的人口结构)的特定偏好。换句话说-用户正在标注系统的数据(保留与删除),系统可以使用那些实际的用户选择来学习其预测是否正确。
然后,系统可以使用所有标记的数据集并使用机器学习算法或其他启发式方法来改进分类的输出。这可以通过多种方式完成,包括:
使用许多用户的全球标签数据来改善所有用户的整体分类;
针对特定照片的标记数据运行机器学习算法,从而将分类结果个性化给个人用户;和
对于每个用户,基于用户的操作来改变基本规则(例如,适应阈值)。这里的区别在于,
可以根据不是直接由机器学习算法的输出接收的优化进行更改。
考虑到如上所述的照片和照片数据的处理和分析,在本发明的示例性实施方案中,如上所述,照片可以被分类为“不良”或“待检查”,并且如果适用,照片可以被分类为“重复”或“相似”。下面将更详细地描述这些类别。
不良照片-“不良照片”是本文中使用的通用术语,指的是示例性系统预测用户想要删除的照片。不良照片是系统认为太糟糕而不保留的照片,因此建议用户删除它们。用户只需点击一下即可全部清除它们,如图4所示(通过按黄色横幅“Delete 399(markedphotos/569.63MB”左侧的“垃圾箱”图标,或者例如可以通过仅仅删除所选择的照片,手动选择要保留的那些。
当用户点击“检查和清除”选项卡时,他们可以查看不良照片的摘要页面,如图4所示。此摘要页面可以显示准备要清理的所有不良照片的缩略图,全部标记为删除。然后,用户可以点击缩略图在大视图中查看照片,并且在全屏幕上,照片上可以有一个大的X,以便用户选择X快速删除。另外,如图4所示,可以在缩略图屏幕的上方或下方显示简短的说明信息,例如“clean 30photos/100GB”横幅。在一些实施方案中,在点击横幅,或其中的垃圾桶或其他删除图标之后,可以向用户呈现确认提示,例如“您确定要删除XX照片吗?”
在本发明的示例性实施方案中,系统还可以向用户提供删除的替代方法:将所有不良照片移动到不同的文件夹而不是删除它们,或者为它们例如甚至创建ZIP或其他档案文件。
可选地,可以在照片旁边显示等级,允许用户留下反馈,例如从“无聊”到“非常有趣”的规模。这样的信息有助于系统学习用户的偏好,并且如所述那样,这种知识有助于系统在将来更好地分析照片,并提高其关于用户偏好的预测的准确性,以保留或删除照片。
待检查照片–待检查照片是系统估计是不良的,但对其估计的准确性低于预定值的照片。因此,系统将这些照片逐个呈现给用户,使得用户可以决定是否保留或删除它们。图5中示出了一个待检查照片屏幕的实例。
重复或相似-系统可根据以下标准识别重复或相似的照片:
在不同的文件夹(名称,时间和日期等)中找到的相同的照片;
发现具有相似颜色直方图或相似特征(由特征检测算法确定的)的连续照片组。
对于每组重复或相似的照片,示例性系统可以例如决定哪个是该组中的最佳照片,然后可以将该照片在显示屏幕中标记为“最佳照片”给用户。一般来说,最佳照片将被确定为具有可获得的最高排名的照片。更重要的是,如果一个系统可以识别微笑,它可以给这些照片非常高的分数。图3示出了具有三组相似照片的“相似照片”屏幕,其中每组中的一个被标记为“最佳照片”。
在本发明的示例性实施方案中,在处理重复的照片中,以下系统做法和用户操作可以得到支持:
1.用户可以保存多于一张的重复照片;
2.对所有用户文件夹扫描重复照片;和
3.当用户全屏打开照片时:
系统显示图像所在的文件夹(仅在出现在不同文件夹中的重复的情况下),以及
该系统允许快速执行保留/删除操作以最小化所需的用户工作。
长视频-在本发明的示例性实施方案中,也可以检测长视频。因为它们通常不值得所有它们占据的存储空间,因此长视频可以以与“不良照片”并行的方式识别和标记用于删除。在本发明的示例性实施方案中,长视频可以被定义为大于预定尺寸值或比预定时间长度值长的视频。例如,超过4分钟和/或大于30MB的视频。当然,由于设备具有更快的处理器和更大的存储区域,所以上述值可以增加,并且在各种实施方案中可以在任何情况下都是用户定义的。
示例性屏幕截图
图1-5示出了智能手机上的示例性应用的示例性屏幕截图。这里显示的示例是称为“Gallery Doctor”的原型应用程序或“app”,因此该设备上的照片集合称为此app中的“Gallery(图库)”。接下来将描述这些截图。
图1示出了一个示例性的“Gallery Optimization(图库优化)”屏幕截图,其中移动电话的潜在不需要的照片被分为三类:(1)不良,(2)相似照片和(3)待检查。每个类别在栏中显示为不同的颜色,因此用户可以快速捕获潜在的不良照片的数量及其大小。在这个例子中,有3.62GB的照片为删除的候选。屏幕还会显示整体图库运行状况(galleryhealth)(如下所述)和设备上的剩余可用空间。
图2示出了用户在点击图1中的“检查和清除”选项卡后将看到的示例性“检查和清除”屏幕截图。示出了删除的候选物的总数,并且当用户检查照片时,沿着照片显示其大小。还有一个“相似照片概要部分”,如图所示。
图3示出了示例性截图,其中响应于点击图1中的绿色“相似照片”框或图2的相似照片部分,向用户示出了多个“相似照片”。(相同图像的)所有相似的照片被分组在一起,并且用户可以决定要保留哪一个以及要删除哪一个。可选地,如图所示,系统可以估计并指出要保存的最佳照片。
图4示出了示例性的“不良照片”屏幕截图,其中例如响应于点击图1中的红色“不良照片”框,向用户示出了多个“不良照片”。这些照片通常是模糊的,黑暗的或质量差的(例如,只显示一个主体的脸的一半等)-所有这些都是删除的候选者。通过按左下方的垃圾桶图标(在摘要横幅中)全部一次删除不良照片,或者例如使用每张照片中显示的垃圾桶图标,逐个删除不良照片,或者使用任意组的组合或个人删除方法。
图5示出了一个示例性的“检查”屏幕截图,其中待检查的照片被逐个呈现给用户,使得她或她可以使用“竖起大拇指”或“拇指向下”“图标来保留或丢弃它们,如屏幕底部所示。
在一些实施方案中,示例性系统可以向用户显示具有相关信息的仪表板,使得用户立即感觉到他或她的设备上的不良照片有多少问题。例如,可以基于用户的照片集或“图库”为“不良”的总体程度来计算和显示整体图库运行情况得分。例如,可以使用以下类别(名称是示例性的):
超强(90-100%)
强(75-90%)
平均(50-75%)
不健康(25-50%)
非常不健康(10-25%)
危险(0-10%)
因此,图1将该信息在屏幕截图的“Gallery Health(图库运行状况)”部分中呈现给用户,在该示例中,由于31%的照片“不良”,用户的照片库是“不健康的”。
在本发明的示例性实施方案中,应用程序可以根据用户的请求特定地运行,或者如可以由用户所设置的,当用户设备空闲时,作为后台任务在用户设备上运行。
示例性流程和示例性算法和分析
给出上面提供的一般原理和技术的讨论,下面描述本发明的示例性实施例的示例性工艺流程图。
图6是根据本发明的示例性实施方案的处理流程图。因为完整的处理流程图很大,它的两个组分,即用户设备上的处理(图6的左侧)和“其他应用程序(OtherApplications)”和“后台(Back End)”(均在图6的右侧)上的处理,分成两个图,即图6A和图6B,以便于说明。接下来将描述这些图。
参考图6A,扫描模块620的任务是识别用户设备上的照片,即用户照片615。这些照片包括在设备本身上的用户照片,或存储在云中,但可在用户设备上访问的照片(例如,在Dropbox帐户上,Google云端硬盘帐户或其他云端存储装置上)。基于下面描述的各种算法对由扫描模块620识别的所有照片进行分析和分类。另外,如613所示,将自动检测和分析拍摄或添加到设备的任何新照片。
扫描模块620的任务是收集和存储图像属性。在本发明的该示例性实施方案中,每张照片的图像属性可以包括以下内容:
拍照的时间和日期;
拍照的地点;
存储照片的文件夹;
视频长度;
在接近照片日期/时间的时间窗口内拍摄的照片数量;
照片是否在一个感兴趣的地点(“POI”)拍摄;和
照片是截图还是其他计算机生成还是扫描图像。
一旦照片被扫描,以下模块(以及这些部分是逻辑的,并且可以在各种实施例中进一步组合或细分)可以处理照片和照片相关信息,以产生分类(和因此推荐的操作):
A.计算机视觉模块
计算机视觉模块621的任务是使用各种计算机视觉算法分析照片的质量和理解照片的内容。可以使用的示例性计算机视觉算法可以包括:
1.模糊度
可以使用边缘检测分析为每张照片生成模糊度得分。计算得分的示例性过程如下:
将原始照片转换为灰度级并生成灰度像素矩阵;
在灰度矩阵上使用拉普拉斯算子;
计算生成矩阵的标准偏差;和
根据标准偏差(stdev)值评分模糊度。
2.黑暗度
每张照片可以得到一个黑暗度得分,例如可以按以下方式计算:
使用0-255桶(buckets)来计算照片的颜色直方图;
计算0-30桶中的像素数;和
将该数字除以照片中的总像素数。
3.色彩
色彩的得分给出了一张照片如何有趣的估计。照片可以清晰明亮,但仍然是“无聊的”,例如白板、纯蓝色天空或无趣的物体(如电脑鼠标)的照片(参见图8)。因此,当通常与“兴趣”相关时,色彩得分衡量照片中不同颜色值的多样性和频率,并且在示例性实施方案中可以计算如下:
使用0-255x0-255桶来计算照片的颜色直方图;
从“最多彩”直方图计算直方图的差异,其中0-255x0-255个单元(cells)中的每一个具有与其他像素相同数量的像素;和
根据差值产生色彩得分。
4.面孔检测
为了检测照片中的面孔,可以使用诸如OpenCV的面孔检测算法等的算法。这样的算法检测照片中的面孔,并且还捕获照片中每个面孔的大小,所以人们可以知道它有多大优势(即照片的背景、前景、主要对象等)。
值得注意的是,Google Play Services最近在Mobile Vision库中引入了一个Faces API,它相比于Android的老面孔检测算法是重大改进。它还包括关于面孔的附加数据,例如,人在微笑吗?他的眼睛睁开了吗?等等。在某些实施方案中,可以使用Google的Faces API。
5.对象检测
以与检测面孔类似的方式,在本发明的示例性实施方案中,可以在照片中检测其他类型的对象,以了解其上下文和内容。这可以例如通过允许检测各种类型的对象的计算机视觉算法来完成,例如:
照片是否包含文字?(例如带有文字或笔记的白板);照片是否包含某些类型的风景?
(例如山,海洋);或者
照片是否包含动画或计算机生成的图形?
B.用户归档(User Profiling)和偏好模块
用户归档和偏好模块625的任务是分析用户相关数据并使用该数据,以及任何分析结果作为分析和分类用户照片时的其他输入源。作为该模块的一部分,可以分析和计算以下内容:
1.查找用户的家庭位置/区域
用户照片中的GPS信息可以被分析并用于估计用户的家庭区域。这允许示例性系统知道特定照片是否在用户家庭附近拍摄,或者相反地,在远离家乡的旅行或郊游中进行拍摄。
仅仅从用户的相机文件夹采取用户的照片,可以根据GPS信息将其聚类成不同的组。对于每张照片,系统可以检查是否已经存在一个集群,使得与此照片的距离低于某个阈值(例如,几公里,但这是可配置的)。如果没有,可能会创建一个新的集群。
此处理完成后,选择具有最多照片的群集作为“家庭区域集群”。这是基于这样的想法,即人们倾向于大部分照片在他们家附近的区域拍摄。
要注意的是,所找到的家庭位置不一定是确切的家庭-这是基于所使用的阈值的一个家庭区域,其足以用于确定是否“在家中”拍摄照片或“远离家”,如旅行中拍摄照片。
值得注意的是,对于频繁的旅行者,旅行博客等,假设用户在家中或家庭附近拍摄大部分照片可能不适用。为了检测这样的异常数据,可以基于如下所述的由第三方模块633获得和处理的数据以及适当地调节或修改的聚类来使用各种测试。
2.查找用户的工作地点/区域
查找用户工作区域的地点允许系统知道是否在用户工作地点处或附近拍摄了特定照片。找到用户工作区域的算法可以类似于用于查找用户家庭区域的算法,但有一些例外:
只看工作日和工作时间拍摄的照片;和
根据从大多数天数拍摄照片的集群选择工作区域(所以查看集群中的照片的全部独特
天数/当搜索家庭时查看的的照片总数)。
3.根据照片拍摄频率将用户分类为预定义的桶之一
这可以通过将用户拥有的照片总数除以从最旧照片到最新照片的天数,从而获得每天拍摄的平均照片数值来计算。基于该图,用户可以被分类为三个预定义的照片频率桶之一:“拍摄许多照片”,“拍摄平均照片”和“拍摄很少照片”。对于用户设备上的每个文件夹,该值可以不同地计算,以便强调存储在“Camera”文件夹中的照片与存储在例如“WhatsApp”文件夹中的照片之间的区别。
这种分类也可以应用于特定的照片集,以便在特定场合估计用户的拍照习惯。例如,他或她通常在旅途中经常摄取多少张照片?他或她通常在周末期间拍摄多少张照片?在特定的生命周期事件中拍摄多少张照片?等等。
4.分析用户偏好
根据用户的摄影历史及他或她在系统中的进一步操作(即他是否保留或删除某些照片的选择),可以推导出某些用户偏好,然后可用于调整和个性化特定用户的照片分类。
因此,在本发明的示例性实施方案中,可以分析以下用户偏好:
用户喜欢还是不喜欢截图?
用户喜欢风景照片还是肖像照片?
用户最喜欢的地方和最不喜欢的地方是什么?
用户喜欢具有大面孔或小面孔的照片吗?
用户是否喜欢夜间摄影?
用户是否喜欢在工作中拍摄的照片?
用户喜欢全景照片或“艺术”照片?
C.用户与照片的交互
图6B示出了“其他应用程序”下的用户交互模块655。该模块的任务是确定用户与每张照片的交互程度。每个交互类型可以被存储,并且可以随后用于评估照片的重要性及其分类。该数据可以从其他用户应用程序接收(如图6B中的其他应用程序653所示,其将“关于照片的新数据”650发送到用户设备610上的处理模块),其允许用户与他或她的照片例如,MyRoll照片库进行交互
示例性交互类型可以包括:
用户查看每张照片的次数;
用户观看每张照片的时间长度;
用户共享或公布照片的次数;
用户是否删除了照片;
用户是否修改、评论了照片或提供了照片的标题;和
选择一张照片作为喜爱照片。
D.第三方模块
返回图6A,第三方模块633的任务是连接到不同的社交网络,或者用户正在使用的外部工具和应用程序,以及提取可以直接或间接地与用户照片相关的信息。这样的信息可以包括,例如:
拍摄照片时,用户在他的日历中是否有事件?
在拍摄照片时,用户是否在社交网络中有事件?(例如,在Facebook上)
这张照片是在社交平台上分享的吗?(例如Facebook Whats App,Snapchat,Dropbox等)
共享照片收到多少喜欢?
E.评分模块
继续参照图6A,评分模块630的任务是基于在本文描述的各种模块中执行的所有计算和分析给每张照片得分。在本发明的示例性实施方案中,总分可以以下列方式计算:
分数=(模糊度得分>0.02?0.1:0)+0.2*模糊度得分+0.2*黑暗度得分+(色彩得分>0.2?0.1:0)+0.3*色彩得分+0.1*面孔计数(faces count)
可以看出,该示例性分数是四个分量(components)分数的加权组合:模糊度得分,黑暗度得分,色彩得分和面孔计数。显然可以在各种替代实施方案中调整分量和加权,并且可以添加其他分量。
如下所述,使用该示例评分算法对图7-12中给出的示例性照片进行评分,并且可以为每张照片提供(i)总得分,(ii)模糊度得分,(iii)黑暗度得分,(iv)色彩得分,和(vi)面孔计数。
F.分类模块
分类模块635负责根据以前模块中进行的计算和分析将照片分类到不同的桶中。因此,作为分类模块处理的结果,一些照片被分类在“不良照片”桶中。如上所述,不良照片是系统认为太糟糕而不保留的照片,因此建议用户删除它们。
在本发明的示例性实施方案中,如果一组预定义规则中的任何一个适用于照片,则照片可以被分类为不良照片。这些规则可包括:
(i)其模糊度分数在用户照片的5%最低模糊度分数的小段或分段中(即,如果所有照片根据其模糊度从最低到最高排列,则照片是在最低的5%内);
(ii)其黑暗度得分低于0.1;和
(iii)其整体评分在用户照片的5%最低总成绩的小段或分段中。
如上所述,其他照片可能会被分类为“待检查照片”。待检查照片是系统估计为不良的,但估计的准确度低于预定值的照片。因此,系统将这些照片逐个呈现给用户,以便用户可以决定是否保留或删除它们。
如果以前没有将照片分类为不良照片,则可能会将照片分类为“待检查照片”,并且一组预定义规则的任何一个适用于此。这些规则可以包括,例如:
(i)其总得分在用户照片的整体分数最低的15%中;
(ii)照片是截图;
(iii)照片所在的文件夹位于系统中被标记为“无聊”文件夹的文件夹之一,并且总分不在用户照片总得分分的40%最高小段中;
(iv)照片在临时文件夹内;和
(v)该照片是在用户的工作地点拍摄的,总得分不在用户照片总得分的40%最高小段。
G.在线学习模块/离线学习模块
图6A中的在线学习模块645的任务是从用户的过去操作和决策中学习,以便将来为该用户做出更好的预测。当用户采执行操作并作出决定以保留或删除照片(647),系统可以学习他们如何处理系统在显示时被分类为不良的照片-即系统可以识别用户是否决定保留照片或删除它(647)。该学习一般适用于两者,即分析许多用户的偏好并且一般地推导用户偏好。并且还具体地,即分析特定用户的偏好并推导,推断或学习该用户的特定偏好。
换句话说,当用户将照片标记为保留/删除时,系统可以将实际的用户决定与系统预测的用户决定进行比较,从而训练其预测算法更准确。这可以通过例如采取所有标记的数据集(即,具有用户“保留”/“删除”标签的照片)并使用机器学习算法或其他启发式方法来进行,以改进分类模块635的输出。这可以通过各种方式完成:
(i)使用许多用户的全球标记数据,根据对标记数据集的手动分析(例如研究照片特征,所做的预测和实际用户选择),改善所有用户的总体分类;
(ii)针对特定照片的标记数据运行机器学习算法,从而将分类结果个性化给给予者。例如,使用逻辑回归,使用在系统模块之一(例如,计算机视觉模块或用户归档模块)中计算的不同照片特征或其任何组合,并且接收每个特征的系数以及精度和回忆分数;
(iii)以每个用户为基础,根据用户的行为更改基本规则。这可以用设备本身完成,并且可以用于个性化对于该用户的给定照片的分类,而不查看来自所有用户的综合数据。例如,这可以允许给定的系统停止对特定用户使用特定的分类规则(因为他或她倾向于保留基于该规则分类的照片),或者基于用户的决定调节该系统来使用的阈值(例如,将用于根据模糊度评分分类为不良照片的百分位数从最低5%更改为最低2.5%的照片)。
在本发明的示例性实施方案中,这种学习模块可以以两种模式运行,这两种模式在图6A和6B中示出:
在线模式-在线学习模块645(图6A)-决策被跟踪并存储在用户的设备上,并用于实时更改分类的行为。例如-可以有分类规则,将用户的所有屏幕截图分类为“待检查”。如果系统注意到用户选择保留截图,通过查看用户操作647,它可以停止将屏幕截图标记为“待检查”并决定应该保留;和
离线模式-离线学习模块660(图6B)-有关用户决策的数据能够存储在远程数据库670中,创建标记的数据集。该数据集可以通过机器学习方法和手动分析进行研究,以分析系统预测与用户操作之间的差异并改进预测。
因此,图6A示出了在线学习模块645和本地数据库640,并且图6B在后台模块657中包括离线学习模块660和远程数据库670。后台模块657还包括云照片分析模块661。该模块可以以与用户设备610所进行的相同的方式分析所有用户的云照片,但在云中,例如在由访问用户的云存储应用的app或系统提供的系统服务器上,并且可以创建在系统服务器上的云中的本地副本以继续深入、关闭设备的处理。
如图6B所示,后台处理最终将基于离线研究651的算法改进输出到存在于用户设备610上的应用。如上所述,这些算法调整和改进同时由用户特定的和所有用户通用的分析来产生。对用户总体性的研究允许后台657不断改进任何单个用户设备上模块中使用的算法,以及学习用户可能对某些照片的违反直觉的细分、规则和关联,这些反对将其标记为删除。
H.相似照片模块
再次参考图6A,相似照片模块623的任务是识别相似照片组,从每组识别的相似照片中选择最佳照片,并允许用户检查这些相似的照片集并进行删除。因此,在本发明的示例性实施方案中,示例性算法可以查看所有用户照片,根据拍摄时间分类,并以下列方式比较成对的连续照片:
(i)如果两张照片之间的时差超过20秒,则它们不相似;
(ii)否则(即,它们之间的时间差小于20秒),可以比较两张照片的颜色直方图。例如,这可以使用OpenCV来完成。结果,使用相关性比较来生成两个直方图之间的相似性得分。如果(i)得分在0.95以上,或者(ii)如果得分在0.85以上,但时差在10秒以下,则处理移动到附加检查。否则照片不相似。
(iii)附加检查:每张照片分为四部分:左上角,右上角,左下角和右下角,其中每个部分仅包含原始照片的像素的四分之一。对于四个部分中的每一个,运行颜色直方图,即每张照片的四个直方图。如果每个部分或象限的相似性得分在0.8以上,照片被标记为相似。
值和算法步骤的变化
如上所述,图6A和图6B所示的各种模块是示例性的,如上述各种算法中的步骤和阈值那样,其可以在每个示例性模块中实现。在本发明的各种示例性实施方案中,描述为在一个模块中执行的功能可以在其他模块中执行,模块可以被组合或分割,并且实现的功能和模块的变型都在本发明的范围内。
示例照片及其得分
为了说明上述功能,接下来给出图7-12中的每张照片的总体和分量得分。分数从0.0到1.0,面孔计数除外,其为一个整数。
图7-有树木的城堡:
得分0.217217415192263
模糊度得分0.10048351121626667
黑暗度得分0.3785311105276976
色彩得分0.07138163614490041
面孔计数0
这是一张非常黑暗的照片,可以看出,树木真的几乎是一个黑暗的色调,几乎与建筑物无法区分,建筑本身很难看到。结果,色彩很低。因此,有一个低的黑暗度分数,甚至更低的色彩得分。照片在较暗的前景中模糊,但前景和蓝天之间的边缘更为明显。没有面孔存在。这张照片具有低的总体评分,主要是由于黑暗度得分低和差的色彩得分,并且将被归类为“不良照片”。
图8-戴尔鼠标:
得分0.3377899572610429
模糊度得分0.043597962201346874
黑暗度得分0.9993947347005209
色彩得分0.09730472626889768
面孔计数0
这是一个的鼠标特写。它非常明亮,大部分是清晰的,但没有很多颜色变化。因此,被给予高黑暗度得分(=非常明亮),色彩得分非常低。照片有一些混乱的边缘。没有面孔存在。该图片具有高于图7的得分,可能被归类为“无聊”。
图9-两人在玩拼图游戏:
得分0.43805594699618267
模糊度评分0.08152203022307909
黑暗度得分0.4723549488054608
色彩得分0.424268503968249
面孔计数0
这张照片的分数比图7、图8的每一张都高。有两个人,没有看到面孔,正在玩拼图游戏。在某些地方有点黑暗,但很清楚,并有一些颜色变化。然而,大部分的拼图都是在镜头之外,我们看到桌子的木头比拼图更多。照片有些模糊,但是,可以看到许多有模糊外边缘的拼图。左侧由于眩光而更加恶化。没有面孔存在。这张照片可能会被归类为“无聊”。
图10-AT&T公园体育场拍照:
得分为0.5160515769746578
模糊度得分0.35324132530038665
黑暗度得分0.769565502756629
色彩得分0.30496737121084894
面孔计数0
这张照片的分数比图7-9中的每一张都高。这是一个有趣的在背景中有水的AT&T体育场的广角镜头。它是明亮的,可以看出,它在接近日落时拍摄,太阳低到足以反射记分牌,并使得记分板几乎是单色的。它在前景中确实具有颜色变化,但由于在接近黄昏被拍摄,前景的外部部分的黑暗度减少了这一点。照片有点模糊,因为人的面孔和衣服是混乱的,但景观方面的边缘是清楚的。没有面孔可以辨别。这可能是一个“待检查”照片。
以下描述的的图11和12是用户想要保留的好照片。
图11-花的特写:
得分0.6000819341400705
模糊度得分0.058272694327658005
黑暗度得分0.9480900498818587
色彩得分0.6626979509938904
面孔计数0
这张照片的分数比图7-10中的每一张都高。它是一朵花的特写,有很多红色和白色的色调。它是清晰而明亮的,并有一个令人愉快的绿色背景,所有这些得到了一个非常高的黑暗度得分和一个很高的色彩得分。它在中心有一些模糊,这使得中心的品红色斑点模糊,花瓣中红线和斑点的边缘不是非常清楚。没有人在照片中,所以没有面孔。这是一张很好的照片,不建议删除或甚至待检查。
图12-公园温室:
得分为0.734618162046268
模糊度得分0.8211845027834304
黑暗度得分0.868095300603833
色彩得分0.6558740045627176
面孔计数0
这张照片的得分最高。它是一个在公园里温室结构的镜头,在前景中有花朵和绿色,背景中是树木和天空。建筑是白色的,有很多光,所以被给予高黑暗度得分(=光亮的)。很明显,由于背景中的蓝天、白色结构和前景中的花朵之间的对比,它具有高的色彩得分,甚至比图11高得多。它一点也不模糊(边缘都是清楚的),因此在所有照片中具有最好的模糊度得分(0.82,值越高越好)。没有人在照片中,所以面孔计数是0。这是一个很好的照片,一定会保留。
虽然已经详细描述了本发明,但是不偏离本发明的教导的变化和修改对于本领域技术人员将是显而易见的。认为这些改变和修改属于本发明和所附权利要求的范围内。