智能机器的网络
相关申请的交叉引用
本申请要求于2013年3月15日提交的,并且名称为“NETWORK OF INTELLIGENTMACHINES(智能机器的网络)”的美国专利申请No.13/843,784的优先权,其全部内容通过引用结合于此。
技术领域
本发明总地涉及一种用于处理从多个智能机器获得的数据的系统,并且具体地涉及基于在机器之间共享的输入改变它们的内部状态的机器。
背景技术
今天,计算机化的机器被用于进行几乎生活的所有方面的任务,诸如在商店的结账台处处理购货、以及在互联网购物网站取得和跟踪订单、对商品进行封装和分类、保持对仓库中的库存的跟踪、跟踪汽车登记数据、用于各种状况的医疗的筛选以及检测某个对象或状况的出现。在一些情况中,存在为该组织处理所有交易或活动的单个机器。但是,在大多数情况中,在不同的位置处有许多机器处理类似的任务。例如,医院可以具有不同的园区,其中在所述园区的不同的部分具有多个MRI机器。类似地,连锁杂货店在大的地理区域中可以具有多个商店和仓库,每个商店具有多个结账登记器。类似地,农民和果园可以各具有它们自己的设施以自动地分类它们的产品,如将苹果分类为高和低等级。这样的分类机器通常是基于所述产品的外观,如摄像机被用于基于自动的分类器识别坏的水果的情况。
低效源自于由于不同的机器相互分开地并且独立地运行和更新的事实。由于每个机器采集大量的数据,不同的机器不能够相互“协作”或者相互学习。尽管所述机器通常具有注意它们的人类操作员以处理任何非常情况或者故障,但是每个操作员仅知道他所负责的机器的子集合正发生的情况,而不能受益于其它机器中的数据。这种缺乏在机器之间的通信以及共享新学习的特征产生导致错误的低效以及冗余。在一个示例中,寻找特定的物件的顾客可能没有快速和简单的方法知道哪家附近的商店具有他所寻找的物件。在这种情况中,当顾客找到电话号码并且打电话给每个附近的商店以进行库存查询时已经浪费了很多时间。在另外的情况中,具有少量的有骨折的病人的并且使用其原始的核心检测算法的医疗诊断机器将长时间地维持相同的检测能力,并且将保持次于处于运动医疗中心处的、由于暴露于这样的骨折的更多的样本中而不断地变得更智能的诊断机器。在涉及产品分类机器的另外的情况中,操作员将不得不单独地调节每个机器以确保其清除具有不吸引客户的某个新的状况的产品。在涉及关于禁止的物件(例如,酒精、香烟)扫描员工的包的对象检测机器的另外的情况中,来自城镇的午餐中包含对该地区是独特的物件的员工的包可能被误认为是具有禁止的内容的包,因为在企业总部处的机器不了解其他城镇的包的内容的类型。
期望的是通过允许机器相互协作、通信以及学习来消除低效和冗余并且提高准确性的智能系统。
发明内容
在一个方面中,本发明是一种被配置为特征化物件或状况的自更新设备。所述设备包括:存储器,贮存用于不同的物件的参数,其中,所述参数对于特征化所述物件是有用的;以及处理模块。所述处理模块被配置为自动地选择从其接收数据的源,基于接收的所述数据修改所述参数并且选择修改的参数的接收者。所述源以及接收者的选择分别基于所述处理模块和所述源之间以及所述处理模块和所述接收者之间的参数的比较。
在另一个方面中,本发明是一种被配置为特征化物件或状况的机器的自更新网络。所述机器的网络包括取得物件的测量结果的多个机器以及中央处理单元。每个机器具有处理单元和测量单元,所述处理单元和测量单元合作以从所述物件收集物理测量结果,基于所述物理测量结果产生用于特征化所述物件的参数,并且选择要传送到特定的接收者的参数的子组。所述中央处理单元被配置为从所述机器接收参数的子组,基于接收的参数的子组更新核心参数,并且将所述更新的核心参数发送到所述多个机器的一些。
在又一个方面中,本发明是一种特征化物件或状况的计算机实现的方法。所述方法使得从物件获得测量结果;基于所述测量结果产生用于所述物件的参数,其中,所述参数对于特征化所述物件是有用的;将所述参数与从处理单元接收的新的参数比较;基于所述比较选择性地从所述处理单元接收所述新的参数的至少一些;并且基于所述新的参数自动地修改所述参数。
附图说明
图1描述了机器网络系统,其包括相互之间并且与中央处理单元通信的多个机器。
图2是机器和中央处理单元的详细的描述。
图3是示出参数更新过程的流程图。
图4描述了每个机器是分类机器的示例实施例。
图5更加详细地描述了图4的机器的一个。
图6描述了图5中的机器的光学单元部分。
图7A是如由图5的机器检测的显现出软的膨胀和折皱的水果的计算机图像。
图7B是对应于图7A的图像的水果表面的柱状图。
图8是从具有酸腐的水果的表面获得的柱状图。
图9是从具有清晰的腐烂的水果的表面获得的柱状图。
图10是从具有颗粒的表皮的水果的表面获得的柱状图。
图11是从显现出软的膨胀和折皱状况的水果的表面获得的柱状图。
图12是从显现出凹凸不平的缺陷的水果的表面获得的柱状图。
图13是从在表皮中具有裂缝或切口的水果获得的柱状图。
图14是从具有清晰的膨胀和折皱状况的水果获得的柱状图。
具体实施方式
在这里在根据水果的等级分类水果的机器的上下文中描述实施例。但是,应理解的是,这里所提供的实施例仅是示例并且本发明的范围不限于这里所公开的应用或实施例。例如,本发明的系统对于能够从示例(机器学习算法)自动地学习规则的任何类型的设备可以是有用的,包括但不限于采用人工神经网络的以及能够迭代的学习的机器,诸如医疗诊断机器、故障测试机器以及对象识别机器。
如这里所使用的,“远程地位于”意味着位于不同的社区、公司、组织、机构和/或物理位置。如果不同的楼层具有不同的组织,则位于相同的建筑物的不同的楼层上的机器例如可以相互位于远程位置。“处理单元”,如这里所使用的,包括中央处理单元(20)和机器(30)或一组机器(50)两者。“参数”,如这里所使用的,包括核心参数和内部参数。
本公开的系统对于协调多个机器之中的信息交换是有用的。本公开讨论相互通信的机器的网络,所述网络检验来自不同的机器的数据的集合体以产生并且修改核心参数组。机器可以位于离开中央处理单元的远程位置并且在全世界的不同的地方。通过网络化,不同的机器可以相互学习并且使用从不同的机器获得的“知识”以教导以及改善其对等体。例如,当机器是水果-分类机器时,机器可以学习并且调节到在全世界的不同的位置处出现影响柑橘属水果的新的状况的趋势。中央处理单元能够基于该数据找出检测该状况的方法,或者使用该机器中的调节的更新的本地核心参数,确定哪些地理位置易受该状况的影响,并且将信息和新的核心参数传送到在这些位置中的机器将帮助检测该新的状况,使得可以拒绝具有新的缺陷的水果。
中央处理单元使用检测机器的全球网络从高水平上发现并且分析数据。因此,本发明的系统允许个体机器单独不能提供的智能的、更明智的对情况的理解。
图1描述了机器网络10,所述机器网络10包括通过网络与多个机器30通信的中央处理单元20。中央处理单元20被配置为接收并且选择性地传送信息到机器30。每个机器30可以是一个机器单元或者一组单元,并且典型地包括用于接收将被测试的物件的硬件组件。在一些情况中,多个机器30被分组以形成直接在它们自己之中共享数据而不通过中央处理单元20的机器30的“组”或“族”50。在机器的族50中的机器30通常具有共性,诸如出现在相同的一般地理区域中、处理特定的水果类型(例如,柑橘属水果)的配置、或者代表相同的公司。机器30测试接收到的每个物件并且根据内部参数组特征化所述物件。例如,在水果-分类机器的情况中,机器30将每个水果特征化为“拒绝”、“多汁”、“等级B”和“等级A”。机器30被配置为传送数据到中央处理单元20,所述中央处理单元20从所有的机器30收集数据并且开发其自己的核心参数。在一个实施例中,中央处理单元20初始地从机器30接收数据以自训练并且产生其自己的核心参数组。随着接收到更多的数据,中央处理单元20细化并且修改其核心参数使得特征化的准确性和范围(breadth)随时间增强。
机器30将通常被用于特征化物件,例如通过检测状况的出现。机器30可以是水果分类机器、检测机器、商店结账机器、医疗诊断机器、故障检测机器等。本发明不限于与任何特定类型的机器一起使用。例如,机器30可以是在高科技制造设施的入口的安全检查系统的一部分,在该情况中其可以被用于检测可以被用于盗用知识产权或者技术数据的任何数字贮存装置的出现。在商店的入口/出口处的机器可以被用于检测被盗窃的商品。故障检测机器可以检测在飞机机翼中的微小裂缝,并且医疗诊断装置可以检测癌症、骨折或者其它状况的类型。水果分类机器将检测水果上的瘀伤或损坏。如果检测到目标物件的出现,则将产生警告以邀请可以确认目标物件/状况的出现的操作员,或者激活自动的响应,诸如锁定不期望的对象、将其重新指引到垃圾箱、开启修补标签或者在医疗文件中放置评论。
不同的机器遇到不同的物件和状况,暴露于不同的信息,并且可以学习和开发不同的分类/特征化规则。因此,每个机器30具有一组独特的强项和弱点。每个机器30发送数据到其它机器30和中央处理单元20并且从其它机器30和中央处理单元20接收信息。可以通过使用预定的协议的任何安全网络实现不同的机器之间的以及机器30和中央处理单元20之间的通信。
处理单元(例如,机器30)基于机器30之间的数据比较确定哪些数据应该被发送到哪些其它处理单元。例如,如果数据比较透露机器X遇到了机器Y还没有遇到过的物件,则机器X可以将机器Y还没有遇到的物件的参数传送到机器Y,使得机器Y当其第一次遇到所述物件时将辨识所述物件。在另一示例中,其中无花果分类机器30和橘子分类机器30相互以及与其它机器30比较数据,无花果分类机器和橘子分类机器可以注意到其它的机器的一些将通常是圆形的并且共享类似的特征的对象分类为无花果和橘子。它们可以传送数据到那些机器并且可能从那些机器获得参数,使得两组机器可以区分无花果、橘子和其它物件。即使无花果分类机器从来没有直接遇到过橘子,由于它从橘子分类机器学习了橘子参数,所以当它将要接收到橘子时它将能够辨识橘子。
在另一示例中,建筑物A中的安全检查机器可能经常遇到由员工携带的USB装置。另一方面,建筑物B中的安全检查机器可能不会遇到来自其员工和客户的USB装置。当比较建筑物A和建筑物B处的机器之间的物件时,建筑物A处的机器可以发送USB装置的参数到建筑物B处的机器。如果建筑物C处的第三机器已经具有其自己的USB装置的参数,则建筑物A和C处的机器可以比较它们的内部参数并且作出任何更新以进一步细化所述参数。
如所解释的,机器和处理单元可以通过比较和更新它们的参数相互“学习”。在一些情况中,在一个处理单元中丢失的参数通过从另一处理单元接收而被添加。在其它情况中,识别相同的物件的不同的参数触发处理单元修改一个或多个组的参数以强化特征化能力。
在一个实施例中,每个机器30或一组机器30结合人工智能程序并且能够基于输入学习或者改变它们的内部状态。例如,随着更多的物件通过机器30,机器30可以学习普通物件。机器例如可以结合神经网络。在开始时,初始化神经网络的突触权重和阈值并且第一组物件被引入到机器以接收输出。例如,当机器30是水果-分类机器时,输出将是分配给每个水果的分类(例如,等级A、等级B、多汁、拒绝)。机器训练器初始地将随机地混合的一批水果进给机器30并且提供每个水果被如何分类的输入,从而“训练”机器30。这种类型的机器训练是已知的。机器30通过使用测量以及每组测量应该产生的结果,产生一组状况以用于识别水果应被如何分类。机器对物件运行测试、进行测量并且为每个物件产生参数组。每个机器具有记录它所遇到的所有物件的参数的贮存单元。在用一组水果的初始训练之后,每个机器具有其所使用以特征化接收到的下一水果的内部参数组。机器30或一组机器30见过的水果越多,其将在其存储器中具有的数据点越多并且下一特征化将会越准确。不断地修改内部参数以增强特征化的准确性。
在一个实施例中,每个机器30将其遇到的所有的物件的参数传送到中央处理单元20。中央处理单元20保持核心参数组。中央处理单元20通过运行每个输入以产生和修改核心参数来处理从系统中的多个机器30接收的数据,所述核心参数被用于特征化下一水果。
中央处理单元20还结合人工智能程序。由于中央处理单元20从网络中的所有机器30接收数据,它将开发覆盖所有的全局可能性的更广的参数组。此外,不同于机器30,中央处理单元20将能够分析区域性趋势。基于其发现的趋势和模式,中央处理单元20可以为某些机器针对它们将遇到的新的参数做准备。可替换地,机器30可以直接地相互共享它们遇到的数据,有效地相互“教导”。
中央处理单元20还接收外部数据40,诸如将选择性地分布到机器30的智能数据或者任何数据。外部数据40可以包括关于在某些区域中的情况的智能信息或者细节。例如,假设机器是检测机器的情况。如果贵重的画作在意大利的佛罗伦萨被盗窃,则外部数据可以被用于通知中央处理单元20关于该情况。作为响应,中央处理单元20可以调节参数以提高画作的灵敏度并且传送调节的参数到机器,使得机器将几乎立即“寻找”被盗窃的画作。类似地,如果体育场具有缓慢移动的长队,则可以输入请求以降低在入口处的机器的灵敏度级别,以帮助队列更快的移动。在涉及产品分类机器的另外的情况中,关于在给定的地理中的期望的天气趋势的信息可以警告系统以提高与该天气有关的某些类型的损坏的检测。在另外的情况中,涡轮机安全检验机器可以学习由于在某些季节和地理中的来自增加的鸟类迁徙的增加的羽毛残留导致的某些叶片的损坏的模式并且调节这些机器以提高那些检验机器每年在该时段并且在该区域中的灵敏度。外部数据50可以由机器训练器40或者从另外的源输入。
图2描述了机器30和中央处理单元20的一实施例。每个机器30具有采用人工智能的处理模块32以及贮存内部参数的存储器38。处理模块32和存储器38一起被称为“处理单元”(32+38)。除了具有处理单元以外,机器30被配置为接收物件、移动接收的物件(例如通过移动机构)并且通过测试模块34使每个物件经受一个或多个测试。所述测试可以是形状或者重量的简单的确定,并且可以是更加复杂的成像形式,以及将有助于分析或检测状况的任何其它已知的测试。使用测试结果(例如,测量结果),特征化模块36特征化所述物件。测试模块34和特征化模块36一起被称为“测量单元”(34+36),并且包括用于接收、持有和测试物件的物理组件。如果特征化物件需要更多的信息,则机器30请求来自诸如操作员或额外的传感器的外部源的额外的信息。在特征化所述物件中,机器30使用贮存在存储器38中的内部参数。内部参数通过将具有不同的状况的物件与它们的特征化相关联在之前产生。因此,特征化包括将测量结果与内部参数比较。随着接收到更多的额外的信息,每个机器可以更新或者修改其内部参数组。机器30具有用于通过网络交换信息的接收器/传送器39。
中央处理单元20包括处理模块24和存储器22,所述处理模块24包括人工智能程序,并且所述存储器22包括用于贮存关于网络中的不同的机器的核心参数和数据的机器数据库。处理模块24和存储器22一起被称为“处理单元”(24+22)。中央处理单元20基于所述测量结果和其从机器30接收的特征化数据产生其自己的核心参数组。核心参数相比于任何单个机器30上的本地内部参数可能更具有广泛性和包含性,因为每个机器30仅遇到其直接处理的物件,而中央处理单元20具有全局视角。机器数据库跟踪向其发送信息的所有的机器。当接收数据时,中央处理单元20可以用机器ID标记数据以跟踪数据来自的、共享知识的那些机器、机器组或者机器族。这样,中央处理单元20可以捕捉任何趋势,诸如天气或其它外部普遍现象,或者监视可能是警告迹象的模式。中央处理单元20还使用机器数据库以确定哪些机器将受益于对参数的新的更新/修改。
如所示,中央处理单元20和每个机器30具有用于与网络中的其它机器30和处理单元通信的接收部分26和传送部分28。接收部分26和传送部分28可以是一个物理组件。如上所述,中央处理单元20还接收来自除了机器30以外的源的外部数据40。当机器30的处理模块32确定有即将到来的非常情况或者有需要警告的情况时,它通过警报产生器产生警报。当接收到警报时,将发生内部系统反应以触发动作(诸如重新指引物件),或者人类操作员将能够评估所述情况并且适当地反应。警报可以是到由操作员访问的装置的某种类型的视听输出。
尽管没有明确地示出,机器30和中央处理单元20两者可以包括用于与操作员和/或机器训练器通信的用户界面。
图3示出了机器网络系统10的迭代的参数更新过程70,以及机器30和中央处理单元20之间的迭代的数据流。迭代的数据流可以在不同的机器30之间或者在机器组(每个“机器组”包括多个机器)之间直接地发生。如所示,机器30接收物件并且使每个物件经受测试以获得测量结果(步骤71)。在该流程图中,假设机器30已经接收到其初始的训练并且具有初始的参数组。然后将测量结果与这些参数比较以确定结果(步骤73)。如果测量结果基本上很好地符合之前遇到的物件的一个的参数(步骤75-“否”),则机器30推断没有遇到新的物件/情况并且继续以与其被训练以用那些参数处理物件的方法一致地特征化或者处理物件(步骤77)。机器30可以无论结果如何在本地的贮存单元中或者在中央处理单元20处贮存来自扫描的数据。如果测量结果不足够良好地匹配任何之前遇到的参数组(步骤75-“是”),则产生警报以触发自动的响应或者警告操作员(步骤79)。操作员检验物件、复核测量结果、并且如果需要使物件经受额外的测试以实现特征化。在一些实施例中,机器30收集额外的信息。操作员然后通过输入他的特征化将反馈(额外的信息)提供到机器(步骤81)。机器更新其参数以结合其刚刚接收的额外的信息(步骤83)。触发警报的测量结果以及操作员的输入被保留在机器30中、或者被传送到其它机器30、以及或者被传送到中央处理单元20(步骤85)。
机器30、机器组50或中央处理单元20从机器网络10中的机器接收测量结果和特征化,所述机器通常处于不同的位置(步骤91)。中央处理单元20、机器30和/或机器组50独立于机器30接收数据并且具有来自之前的训练的其核心参数组(步骤93)。训练可以基于其自己的内部数据组或者从其它机器30、机器族50和/或中央处理单元20接收的数据组。如上所述,中央处理单元20还接收外部数据(步骤95)。
机器30和/或中央处理单元20基于它从机器30、机器族50以及中央处理单元20接收的测量数据以及属于之前未遇到的物件/状况的额外的信息81不断地修改其核心参数94。核心参数帮助机器30、机器族50以及中央处理单元20识别哪些物件被几乎所有的机器遇到,因此用于该物件的参数可以被增强。核心参数可以被用于选择性地提高检测的“分辨率”。一旦修改核心参数,中央处理单元20、机器30和/或机器族50就为其自己或者他人识别将受益于更新的参数的机器,例如将遇到会被更新的参数影响的状况/物件的机器(步骤97)。例如,当新发现的状况是由于仅在某些区域中的水果疾病时,用于所述状况的参数将不被发送到处于其它位置的机器。另一方面,如果参数属于可应用于任何位置的状况(例如,瘀伤),则所述参数可以被发送到所有的机器30。更新的参数然后被传送到识别的选择机器(步骤99)。
接收修改的核心参数的机器30可以进一步修改它们自己的内部参数以反映修改的核心参数。这样,机器30、其它机器30、其它机器族50和中央处理单元20不断地相互教导和学习。机器网络10中的机器30学习自多个源:1)穿过机器的物件、2)例如从本地的操作员接收的额外的信息、3)从中央处理单元20接收的更新的参数、4)来自其自身的新的数据和更新的参数、5)来自其它机器30或机器族50的数据和更新的参数。
图4描述了每个机器30是分类机器100的实施例。分类机器100可以是结合在美国专利No.5,845,002中描述的特征的并且用处理单元32+38加强以包括人工智能和内部参数的水果分类机器。尽管本发明不限于与任何特定类型的机器一起使用,但是提供本公开以提供可以如何使用机器30中的处理模块32和或中央处理单元20的具体的示例。
图5更加详细地示出了分类机器100的选择部件。如所示,分类机器100包括传统的输送线112,在所述输送线112上输送多个物件114。为了说明的简洁性,尽管处理单元是分类机器100的一部分,但是该特定的描述没有示出处理单元。这仅是一个示例实施例,并且输送线的使用不是本发明构思的限制—可以在静态的情况中或者使用诸如机器人的其它移动机构来检验物件。在本公开的上下文中,物件114是水果(例如,柑橘属水果),尽管这不是对本发明的限制。特定的分类机器100可以适用于通常是球形的并且具有地形的表面纹理的物件。在其它实施例中,分类机器100可以由医疗检验机器、对象筛选机器等所替代。
输送机112将水果114运输到光学外壳116,其中水果在光学外壳116中的检验站118处被照亮。输送机112运输并且定向水果114以控制水果114的呈现以用于成像。输送机被设计为提供水果114在检验站118处的最大光学曝光。在所述的实施例中的输送机系统112包括驱动轴以旋转水果114。在图4和图5的实施例中,水果114当其移动穿过检验站118时在倒退的方向中旋转以至少部分地补偿其下去输送机112的前向运动。旋转水果114使得相同的表面在延长的定时曝光期间倾向于保持面对相机130以允许完整的和可靠的成像。当然可以以本领域中已知的方式对此进行时间同步。
当水果114被输送机112运载到外壳116中以及到检验站118时,水果114由一对光源122、124照亮。光源122、124从下面聚焦于水果114并且可以进一步被提供传统的光学器件以辅助提供水果114的表面的最佳照明。
光源22、24可以是光纤、或激光束或者由LED形成的光束。可替换地,可以使用单个光源并且所述单个光源可以被光学地分割为两个光源22、24。光源22、24(或单个光源)提供将在水果中散射以使其发光的入射光。基于将要检验的对象的光学性质选择光的频率或频谱,以产生在对象中的期望的散射,以及穿过其表面的该光的得到的投影。至于柑橘属水果,普通可见光谱可以是足够的。
相机130耦接到纹理模式计算机134。纹理模式计算机134是耦接到主计算机136和输入/输出计算机138两者的个人计算机,其中所述主计算机136运行输送机和分类系统的功能,并且所述输入/输出计算机138提供对系统100的用户输入和输出访问。由纹理模式计算机134作出水果114的纹理分析。根据用户指令,通过输入/输出计算机138到主远程计算机136的输入将在多个分类站140处实现如由纹理模式计算机134命令的分类操作,所述分类站140可以包括在其上乘有水果114的电磁线圈致动的弹射指,并且通过所述弹射指水果114从输送线112被弹射到合适的分类箱142或者二级输送机。
分类机器100的纹理模块由三个子系统构成,所述子系统包括照明和光学器件(包括光学外壳116)、如由相机30和镜子126a、126b、128a、128b提供的成像以及在纹理模式计算机134中的图像处理。
中央输入/输出计算机138和主远程计算机136是传统的并且基本上与现有技术的分类和归类设备的使用相同。中央输入/输出计算机138提供系统控制,包括提供用户界面的所有方面、各种分类参数的输入和输出的选择、以及确定机器100中的输送机路径,其中用于输送机112的多个通道被提供为比图4的简单的线性描述更加复杂的阵列。
对于某些应用,可能所期望的是使用入射光的特定的波长或光谱,使得期望的光学效应可以突出在要监控的该类型的对象中的特定类型的缺陷。留给面对特定类型的对象和缺陷的相当熟练的从业者去确定入射光的正确的频率或光谱。
检验站118按期望地被适当地阻挡,以提供平坦的黑色非反射表面以避免虚假的图像,或者如果期望提高入射到水果上的光强度则包括反射表面。在图5所示的实施例中,来自在水果114中散射的光线以及投射穿过其表皮的光从下面的镜子126a、126b被反射,并且从此处到上面的镜子128a、128b。CCD矩阵或扫描相机130使得其光学器件132聚焦在上面的镜子128a、128b上以在单个计算机图像中捕捉水果114的半球的几乎整个外表面。
如图6中所示,有两个相机130a、130b,每一个相机捕捉水果114的两个半球的一个的图像。例如,水果114的第一半球的图像由下面的右边的镜子127a反射到上面的左边的镜子129a并且从此处到第一相机130a。该第一半球的图像还由下面的左边的镜子127b反射到在第一相机130a中的上面的右边的镜子129b中。
在水果114沿着输送机112下去并且经历了同步的旋转以暴露其其他的半球之后,水果114的第二半球的图像由下面的右边的镜子127c反射到上面的左边的镜子129c,并且从下面的左边的镜子127d反射到上面的左边的镜子129d,两个得到的图像被反射到其他的相机130b中。
照明系统使用放置在水果114的相对侧面并且在水果的中心线下面的两个卤钨投影灯122、124。灯发出入射在水果114上的合适的频率或光谱的足够的光以创造可以被相机检测的从水果114的表皮/皮透射穿过的发光效应。换句话说,如果光线的定位、强度以及频率/光谱使得发生光线穿透进水果114的表皮或外皮并且在其中散射以提供穿过表皮的发光效应,水果将向相机提供发光效应。
在相机130上没有特别的滤光器,并且成像的定时曝光被电子地控制。定时曝光的电子控制补偿由于水果大小和表皮厚度中的差别导致的在光的强度上的任何差别。这可以在运行的初始部分期间被确定并且自动的或者手动的适当的校正可以通过输入/输出控制器138输入。
自动的控制可以由安装在每个相机130上的光电二极管144的用户实现以通过频率产生器(未示出)产生输出频率,所述输出频率取决于由每个光电二极管所感测的光量。通过使用来自由光电二极管144控制的频率产生器的输出频率,控制在相机30中的CCD芯片上的曝光时间。
通过一个或多个相机以及各种光学系统和配置的用户,有大量可以照明水果114的方法,以及可以拍取水果114的计算机图像的方法。提供每个水果114的基本上完整的计算机图像使得下述纹理特征化将不会漏掉水果表面的任何重要部分。对于一些应用,使用单个相机30以及简化的光学器件的仅一个半球的图像可以是足够的。
纹理模式计算机134进行图像处理并且将分类信息传递到系统的剩余部分以用于根据现有技术已知的方法的最终的丢弃选择。
现在,将描述处理捕捉的图像以提供形貌表面纹理分级。在示出的实施例中,第一步骤是丢弃无效的信息,诸如来自光源122、124的不构成来自在水果114中散射的光线以及穿过其表皮出现的光的反射光强度。转到图7A,描述了光滑的水果表皮的实际的计算机图像的明亮的部分146。在图7A中示出了水果114的两个图像,描述了大体上水果的两个半球的视图。因此,图形图像的区域146,由于它们的明显更高的强度水平,可以作为不携带有关于形貌表面纹理的信息的图形信息信号的部分而被消除。
进行对水果表面的扫描以提供构成图像的整个像素模式的强度的最大、最小和标准偏差,以提供是否在图像中存在可以构成需要进一步检查的表面缺陷的强度变化的指示,诸如膨胀和折皱、破皮、切口、小孔等。
在柑橘属水果中的膨胀是表皮稍微从下面的果肉中分离的区域,并且从而将稍微肿胀或者“膨胀开”。折皱则相反,外皮的表面的一部分相对于邻近的区域塌陷。
如果没有检测到缺陷,则检查图形图像的高频数据,其例如将指示水果表面的颗粒性(pebbliness)。从水果114得到的数据可以然后被反馈回到主计算机136以用于根据预先定义的条件的分类的目的。
在水果表面的全局的统计的分析指示存在表皮缺陷的情况中,通过应用一系列的数据滤波器以识别缺陷的类型可以确定所述缺陷的类型。高通数据滤波器可以被用于搜索切口或小孔。具有对更大强度的区域的团状物分析、跟踪和纵横比的低通滤波器有助于识别膨胀和折皱并且将其与腐烂区分。
在分离膨胀和折皱数据之后,显示标准偏差值上的峰值强度的一系列检查可以被用于识别在缺陷的分类中的缺陷的程度,诸如膨胀和折皱。在该处理完成之后,水果的大小作为整体与受影响的区域比较以便于产生受影响的表面的缺陷的百分比值。其它缺陷,诸如在外皮中的腐烂或破损可能不经受百分比评估,但是可能构成立即拒绝水果的原因,而不管水果的受影响的区域的百分比。
其中描述了光滑的橘子外皮的计算机图像的图7A示出了来自提供到相机的反射的图像的双重图像。来自照明源的明亮的区域146被消除,由于其不包含关于表皮状况的性质的信息。然后取得整个图形图像的统计的信息以获得最大、最小和标准偏差以特征化图像像素的强度变化。在该情况中,将会返回的统计的偏差将指示水果是光滑的并且在可接受的范围中。在此,将不进行进一步的统计的分析,水果位置在分类机器100中被标记并且被向下运载到输送机112以被路由到合适的分类箱142或二级输送机,或者用于根据额外的方法和条件分析和分类。
为了说明的目的,在图7A中的两个半球的图像的一部分中采取典型的扫描线148。然后在图7B的柱状图中描述扫描线强度,其中强度沿着垂直比例绘制并且沿着扫描线放置,所述扫描线沿着水平比例,其中端150对应于图7B的柱状图的左端并且扫描线148的端152对应于图7B的柱状图的右端。图7B的柱状图的视觉检验指示在具有离开平均值的相对有限的偏差的值的范围中保持的像素强度的变化,以提供相对不同于图8-14(其中描述了各种水果缺陷)所描述的柱状图的模式。通过传统的统计的方法,柱状图可以通过有意义的统计的参数被特征化,并且通过那些参数,被分类为多个类别以可靠地识别水果114的形貌表面纹理。
图8描述了从由被称为酸腐的表面变质而损伤的水果114的计算机图像取得的强度柱状图。相比于图7B的柱状图,在最大和最小之间的存在宽得多的变化,并且离开平均值的偏差比图7B的情况大得多。图9描述了从由清晰的腐烂皮损伤特征化的水果114的计算机图像取得的强度柱状图。柱状图示出了大的峰值急剧地落下到平均像素强度。图10描述了从由一些客户可能不喜欢的高度的多孔或者颗粒的表面特征化的水果114的计算机图像取得的强度柱状图。图11描述了从表面由被称为软的膨胀和折皱的状况损伤的水果114的计算机图像取得的强度柱状图,并且图12是从表面由被称为凹凸不平的缺陷损伤的水果114取得的柱状图。图13描述了从具有“破裂”的水果114取得的柱状图,其中所述破裂包括裂缝、切口、小孔和刮伤。图14描述了从具有被称为清晰的膨胀和折皱的皮缺陷的水果114取得的柱状图。
上述每个柱状图可以作为特征化水果的预先定义的状况的一部分保存在机器的存储器中。当从新接收的水果进行测量时,机器30使其经受成像测试以产生类似于图7A中所公开的图像并且产生柱状图。然后将柱状图与贮存的指示某些状况/缺陷的柱状图比较以实现分类。
现在,图3的过程70可以在分类机器100的上下文中解释。分类机器100可以被放置在诸如农场和果园的不同的设施中,很可能在世界的不同的部分。每个分类机器100将初始地被从样本获得的其数据组,或者通过机器运行水果的代表性样本并且提供关于样本中的每个水果应该被放置在哪个箱142的输入的操作员“训练”。分类机器100基于样本水果和输入开发其自己的参数组,并且使用这些参数分类它遇到的下一水果。更具体地,在步骤71中,水果被成像为两个半球,在图7A中示出的方法中,其中扫描线148穿过两个半球的图像的一部分。然后类似于在图7B和图8-14中所示出的,在柱状图中描述了扫描线强度。在步骤73中,机器将当前的水果的柱状图与其内部参数比较。如果在当前的水果的柱状图和之前产生的柱状图的一个之间存在基本上相近的匹配(步骤75-“否”),则当前的水果将被归类或者分类到与产生类似的柱状图的之前的水果相同的箱142(步骤77)。另一方面,如果当前的水果的柱状图不足够相近地类似任何之前产生的柱状图(步骤75-“是”),则产生警报(步骤79)。对于系统或对于操作员,响应于警报,数据被用于训练和确定应该如何分类水果,并且告诉机器100它应该如何分类(步骤81)。机器100用该新的数据修改或更新其内部参数(步骤83)并且根据操作员输入分类当前的水果(步骤77)。
机器30、机器族50和/或中央处理单元20初始地从机器的选择、以及在一些情况中网络中的所有机器接收扫描数据和分类数据(步骤91),并且产生其自己的核心参数(步骤93)。核心参数可能与在任何一个机器100上的本地参数不完全相同,因为机器30和或处理单元20比网络中的任何单个机器100“发现”更多的水果,并且可能比任何单个机器100暴露于更多的变化和状况。因此,核心参数在所覆盖的缺陷的范围中可能更广并且能够以更高的分辨率区分缺陷。机器30、机器族50和/或中央处理单元20还接收任何外部数据(步骤95)。例如,外部数据可以是来自农业部的报告特定的状况或本地的天气状况的所有情况的请求。
机器30、机器族50和/或中央处理单元20然后识别应该从其接收数据的机器100以及应该接收更新的/修改的核心参数的机器100(步骤97)。例如,如果对参数的更新/修改属于水果皮的颗粒性,则该更新将被发送到其主要功能是分类水果以发送到各种杂货店的机器100。但是,修改的参数将不会被发送到在榨汁工厂处的机器,因为水果皮的纹理对于通常在皮被移除之后发生的榨汁过程将不会有太大影响。同时,机器30、机器族50和/或中央处理单元20还确定网络中的所有的机器100应该接收来自外部数据的请求。数据和或参数然后被传送到选择的机器(步骤99)。
处理单元的各种实施例可以用一个或多个计算机系统或者包含一个或多个计算机系统而实现。计算机系统不意欲暗示对于所述实施例的使用或功能的范围的任何限制。计算机系统包括至少一个处理器和存储器。处理器执行计算机可执行的指令并且可以是现实的或者虚拟的处理器。计算机系统可以包括多处理系统,所述多处理系统包括用于执行计算机可执行的指令以提高处理能力的多个处理单元。存储器可以是易失性存储器(例如,寄存器、缓存器、随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器等)或其组合。在本发明的实施例中,存储器可以贮存用于实现公开的构思的各种实施例的软件。
此外,计算装置可以包括组件,诸如存储器/贮存器、一个或多个输入装置、一个或多个输出装置以及一个或多个通信连接。贮存器可以是可拆卸或不可拆卸的,并且包括磁盘、磁带或盒式录影带、光盘-只读存储器(CD-ROM)、可重写光盘(CD-RW)、数字影音盘(DVD)或者可以被用于贮存信息并且可以在计算装置中被访问的任何其它介质。在本发明的各种实施例中,贮存器可以贮存用于实现本发明的各种实施例的软件的指令。一个或多个输入装置可以是触摸输入装置,诸如键盘、鼠标、笔、轨迹球、触摸屏或者游戏控制器、语音输入计算装置、扫描计算装置、数字相机或者提供输入到计算装置的另外的装置。一个或多个输出计算装置可以是显示器、打印机、扬声器或者提供来自计算装置的输出的另外的计算装置。一个或多个通信连接使能在通信介质上的到另外的计算装置或系统的通信。通信介质传达信息,诸如计算机可执行的指令、音频或视频信息或以调制的数据信号的其它数据。调制的数据信号是具有一个或多个其特征组或者以这样的方式改变以将信息编码在信号中的信号。以示例的方式,并且不作为限制,通信介质包括用电气、光学、RF、红外、声学或其它载体实现的有线或无线的技术。此外,诸如总线、控制器或网络的互联机制可以互联计算机系统的各种组件。在本发明的各种实施例中,操作系统软件可以提供用于在计算机系统中的软件的执行的操作环境,并且可以协调计算机系统的组件的活动。
可以在计算机可读的介质的一般上下文中描述本发明的各种实施例。计算机可读的介质是可以在计算机系统中访问的任何可用的介质。以示例的方式,并且不作为限制,在计算机系统中,计算机可读的介质包括存储器、贮存器、通信介质及其组合。
应理解的是,可以实现具有在所附权利要求的精神和范围内的修改和变化的本发明。例如,尽管在这里描述了机器100的某些实施例,但是本发明的系统不限于仅用公开的实施例实现。所述系统例如可以用被配置为检测和特征化除了水果以外的物件的其它类型的机器实现,包括但不限于医疗装置、安全检查机器以及商店库存跟踪器等。所述说明不意欲是穷举性的或者将本发明限制到所公开的精确形式。应理解的是,本发明可以实现为具有修改和变化。