使用机器学习模型确定食品成熟度的系统的制作方法
未命名
10-08
阅读:85
评论:0
使用机器学习模型确定食品成熟度的系统
1.相关申请的交叉引用
2.本技术要求于2021年3月16日提交的美国临时申请序列号63/161507的优先权,其公开内容作为整体通过引用合并。
技术领域
3.本文档描述了与根据包括破坏性或侵入性测量结果的测量结果组合来确定食品成熟度度量以及建立无损地预测食品的成熟度的模型有关的设备、系统和方法。
背景技术:
4.诸如水果和农产品(produce)之类的食品的硬度可以作为食品用于食用(consumption)的适合度的有用指示。食品的硬度可以与成熟度相关。食品是否成熟可以指示它是否准备好被食用。当食物成熟时,它们可以在杂货店和类似场所处被出售给消费者。有时,食品的价格也可以根据食品的成熟度而变化。
5.有时,当食品过熟时,这些食品可能不会在诸如杂货店和农贸市场之类的商店中被出售给顾客。相反,食品可以被递送到食物加工厂,以在加工食品中使用。食品也可以以更低的价格被出售给消费者。当食品尚未成熟时,在这样的食品可以被出售或以其他方式被递送给消费者之前,食品可以储存更长的时间段或主动地成熟(例如,通过乙烯暴露)。
6.消费者可以在他们购物时测试食品的成熟度。例如,消费者可以对食品进行按压或挤压,以确定食品的软或硬程度。供应链中的其他个人也可以类似地对食品进行按压或挤压,以确定其硬度。杂货商可以挤压食品,以确定食品是否可以准备好放置在货架上供消费者购买。仓库工作人员也可以挤压食品,以确定食品是否应该被移动以向外装运到消费者或食物加工厂。对食品进行按压或挤压可能并不总是准确地指示食物的硬度或成熟度。
7.此外,对食品进行按压或挤压可能是测试食品的硬度或成熟度的破坏性方式。有时,也可以使用专门的设备来测试食品的硬度或成熟度。这样的设备可以通过刺穿食品的表皮来测量硬度。设备还可以通过去除食品的表皮的部分来测量硬度。这些设备可以提供破坏性技术来测试食品的硬度和/或成熟度。破坏性技术可能导致测量可靠性和由所需要的大样本量造成的损失之间的权衡。破坏性技术也可能很耗时,其中用于自动化数据收集的选项有限。破坏性技术可能是依赖于用户的测量,其可能不是自动化的或与其他质量工具集成的。食品的硬度也可以在其整个成熟期间内被跟踪,用于在不同消费者地点处设定滞留(holdback),以作为测量食品的质量和衰老(senescence)行为的方式。这可能是耗时且资金密集的测量食品质量的方式。
技术实现要素:
8.本文档总体上描述了用于非破坏性地(例如,使用光谱仪)预测食品的成熟度的系统、方法和技术。特别地,所公开的技术可以将非破坏性计量与根据数据训练的机器学习模型相结合地使用,以更准确地确定食品的成熟度,而不必刺穿或以其他方式破坏食品。可以
使用从多个不同的侵入性、破坏性工具(诸如透度计(penetrometer)和硬度计(durometer))获取的数据来设计成熟度度量。因此,在食品成熟期间,多个不同的测量结果可以相互关联。该成熟度度量可以成为本文中所描述的技术的期望输出。因此,可以训练机器学习模型,以使用非破坏性数据作为输入来识别成熟度度量。可以收集数据来训练模型,以将非破坏性数据(诸如光谱)作为输入,然后实时地预测食品的成熟度度量。可以训练模型,以将光谱数据映射到设计成熟度度量。一旦训练了模型,就可以实时地应用模型以使用食品的非破坏性光谱数据来预测食品的成熟度。
9.使用模型可以有利于提供对食品的成熟度(例如,硬度、食用适合度)的非破坏性、快速和可靠的确定,这对于供应商和零售商例如确定如何通过供应链移动这些物品很重要。例如,这样的成熟度确定可以纳入到关于选择哪些食品来分配给不同的食品销售商和消费者的供应链决策中,诸如选择和分配第一组高质量食品(例如,期望的成熟度和味道质量)以用于直接消费者购买、以及第二组较低质量食品(例如,不太期望的成熟度和味道质量)以用于其他用途(诸如工业食物加工和制造)。
10.所公开的技术可以提供使用各种输入数据来测量食品成熟度。例如,可以使用破坏性或侵入性测量结果来设计成熟度度量。可以从透度计、和/或硬度计等接收破坏性或侵入性测量结果。然后,可以生成一个或多个机器学习模型,以使用非破坏性测量结果来预测设计成熟度度量。非破坏性测量结果可以包括关于食品的光谱仪数据和/或历史信息。实时地,关于食品或一批食品的光谱仪数据可以被收集,并且被用作一个或多个模型的输入,以预测该食品或该批食品的成熟度。
11.光谱技术(诸如可见光和近红外(nir)光谱法)可以有利于测量食品特性。如本文中所述的光谱技术可以使用光源和检测器,该光源能够穿透到样品(例如,水果、农产品、其他食品)的果肉中,该检测器能够测量一组高度地且准确地离散的光谱带的吸光度。随着样品内化学结构发生变化(例如,由于纤维素材料分解为单体可溶性糖),光谱吸光度曲线(profile)可能会发生微小变化。该信息可以被收集并且与模型一起使用,以非破坏性地测量相应样本的成熟度。此外,多元回归技术可以用于检测吸光度曲线之间的差异。因此,光谱测量结果可以用于确定不同类型食品的基于nir的硬度/成熟度水平。
12.可以使用本文中描述的基于nir的硬度/成熟度水平技术来确定不同的质量度量。例如,鳄梨(avocado)干物质可以作为水果成熟度的指标,并且可以被种植者用来确定他们的树木何时准备好收获。此外,苹果硬度可以作为用于确定苹果保质期(shelf-life)延长的质量度量。所公开的技术不仅可以用于非破坏性地、准确地和快速地确定与鳄梨和苹果相关联的质量度量,而且还可以用于确定与其他类型的食品、水果和农产品相关联的质量度量。
13.此外,所公开的技术可以与高光谱成像技术一起使用,以改进成熟预测。高光谱相机可以扩展在空间域上收集nir光谱测量结果的能力,而不是单个点。光谱轮廓(profile)的该空间分辨率可以允许为单个食品收集许多像素的光谱。此外,高光谱成像相机可以在线(inline)实现,使得相机收集关于可以沿着传送带同时移动的许多食品的数据。使用本文中描述的技术,可以基于食品的成熟度对食品进行分类。例如,可以训练模型,以区分成熟较快的食品与成熟较慢的食品。
14.除了所附权利要求的实施例和上述实施例之外,以下编号的实施例也是创新性
的。
15.实施例1是一种用于使用食品的非接触式评估来确定食品的成熟度水平的方法,所述方法包括:由计算系统并且从光谱成像设备接收食品的光谱数据;由所述计算系统对所述光谱数据进行滤波;由所述计算系统并且基于将训练模型应用于滤波后的光谱数据来确定食品的成熟度水平,其中,使用(i)其他食品的一个或多个破坏性测量结果和(ii)其他食品的光谱数据对所述训练模型进行训练,其中,其他食品具有与食品相同的食物类型,其中,在不对食品进行破坏性测量的情况下确定食品的成熟度水平;以及由所述计算系统向用户计算设备发送食品的成熟度水平以在所述用户计算设备处显示。
16.实施例2是根据实施例1所述的方法,其中,所述光谱数据包括食品的一个或多个非破坏性测量结果。
17.实施例3是根据实施例1至2中任一项所述的方法,其中,所述训练模型包括一个或多个层,其中,每个层包括(i)其他食品的训练图像和(ii)标签,所述标签指示由所述训练图像描绘的其他食品中的每个其他食品的食品分类。
18.实施例4是根据实施例1至3中任一项所述的方法,其中,对所述光谱数据进行滤波包括:修剪所述光谱数据;缩放所述光谱数据;以及将萨维茨基-戈莱(savitzky-golay)二阶导数滤波器应用于所述光谱数据以减少噪声。
19.实施例5是根据实施例1至4中任一项所述的方法,进一步包括基于食品的成熟度水平超过阈值来确定食品适合于食用。
20.实施例6是根据实施例1至5中任一项所述的方法,进一步包括基于食品的成熟度水平小于阈值来确定食品不适合于食用。
21.实施例7是根据实施例1至6中任一项所述的方法,其中,食品是鳄梨、苹果和浆果中的至少一个。
22.实施例8是根据实施例1至7中任一项所述的方法,其中,所述光谱成像设备使用波长为534nm至942nm的光来捕获所述光谱数据。
23.实施例9是根据实施例1至8中任一项所述的方法,其中,所述光谱成像设备使用波长为690nm至912nm的光来捕获所述光谱数据。
24.实施例10是根据实施例1至9中任一项所述的方法,其中,所述光谱成像设备使用波长为672nm至948nm的光来捕获所述光谱数据。
25.实施例11是根据实施例1至10中任一项所述的方法,其中,所述光谱成像设备使用波长在530nm至950nm范围内的光来捕获所述光谱数据。
26.实施例12是根据实施例1至11中任一项所述的方法,其中,食品的成熟度水平进一步基于输入数据,所述输入数据包括下列中的至少一个:(i)食品的原产地,(ii)食品的储存温度,和(iii)与食品相关联的历史成熟信息。
27.实施例13是根据实施例1至12中任一项所述的方法,其中,所述光谱成像设备是点光谱仪。
28.实施例14是根据实施例1至13中任一项所述的方法,其中,使用包括以下步骤的处理来训练所述模型:由所述计算系统接收从透度计数据曲线导出的值,其中,使用来自其他食品的一个或多个透度计的透度计数据来生成所述透度计数据曲线;由所述计算系统使用正交回归和投影将所述值和来自其他食品的一个或多个硬度计的硬度计数据映射到硬度
曲线;由所述计算系统基于所述映射来生成设计硬度度量;以及由所述计算系统训练所述模型,以使用其他食品的光谱数据来预测所述设计硬度度量。
29.实施例15是根据实施例1至14中任一项所述的方法,其中:所述透度计数据包括深度数据和力数据,以及所述透度计数据曲线表示所述深度数据和所述力数据之间的关系。
30.实施例16是根据实施例1至15中任一项所述的方法,其中,从所述透度计数据曲线导出的值是该曲线的斜率,所述斜率是在所述深度数据的预定范围内所述力数据的两个点之间的差。
31.实施例17是根据实施例1至16中任一项所述的方法,其中,所述深度数据的预定范围是1.5mm至2mm。
32.实施例18是根据实施例1至17中任一项所述的方法,其中,从所述透度计数据曲线导出的值是最大力。
33.实施例19是根据实施例1至18中任一项所述的方法,其中,从所述透度计数据曲线导出的值是所述透度计数据曲线下的面积。
34.实施例20是根据实施例1至19中任一项所述的方法,其中,从所述透度计数据曲线导出的值是在最大力之后所述透度计数据曲线下的面积。
35.实施例21是根据实施例1至20中任一项所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率和该曲线的最大力,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、最大力和所述硬度计数据映射到所述硬度曲线。
36.实施例22是根据实施例1至21中任一项所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。
37.实施例23是根据实施例1至22中任一项所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的最大力和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将最大力、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。
38.实施例24是根据实施例1至23中任一项所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率、该曲线的最大力和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、最大力、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。
39.实施例25是一种用于生成训练模型以确定食品的成熟度度量的方法,所述方法包括:由计算系统接收(i)来自一个或多个透度计的透度计数据,以及(ii)来自相同食物类型的多个测试食品的一个或多个硬度计的硬度计数据;由所述计算系统选择所述透度计数据和所述硬度计数据的部分;由所述计算系统基于所述透度计数据和所述硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量;以及由所述计算系统基于所述成熟度度量来生成机器学习训练模型,其中,所述机器学习训练模型将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的所述成熟度度量进行建模。
40.实施例26是根据实施例25所述的方法,其中,选择所述透度计数据和所述硬度计数据的部分包括:绘制所述透度计数据和所述硬度计数据;识别所绘制的透度计数据和所绘制的硬度计数据中的拐点;基于所述拐点选择所述透度计数据和所述硬度计数据的部
分;以及丢弃所述透度计数据和所述硬度计数据的未选择的部分。
41.实施例27是根据实施例25至26中任一项所述的方法,其中,基于所述拐点选择所述透度计数据和硬度计数据的部分包括选择所述透度计数据的在所述拐点之前的部分并且选择所述硬度计数据的在所述拐点之后的部分。
42.实施例28是根据实施例25至27中任一项所述的方法,进一步包括丢弃所述硬度计数据的在所述拐点之前的部分并且丢弃所述透度计数据的在所述拐点之后的部分。
43.实施例29是根据实施例25至28中任一项所述的方法,其中,生成所述机器学习训练模型包括:(i)将所述透度计数据的在所述拐点之前的所选择的部分与对应于坚硬的所述多个测试食品的光谱数据的一个或多个波长相关联,以及(ii)将所述硬度计数据的在所述拐点之后的所选择的部分与对应于柔软的测试食品的光谱数据的一个或多个波长相关联。
44.实施例30是根据实施例25至29中任一项所述的方法,其中,所述机器学习训练模型进一步将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与下列中的至少一个相关联:(i)原产地,(ii)储存温度,和(iii)与相同食物类型的食品相关联的历史成熟信息。
45.实施例31是一种用于基于食品的成熟度水平来修改供应链的方法,所述方法包括:由计算系统接收食品类型的食品的成熟度水平,其中,使用食品的非破坏性测量结果和用于所述食品类型的训练模型来确定所述成熟度水平,其中,使用所述食品类型的其他食品的一个或多个破坏性测量结果对所述训练模型进行训练;由所述计算系统识别食品的供应链信息,所述供应链信息包括食品的预先存在的供应链计划表和目的地;由所述计算系统基于接收到的成熟度水平来确定是否修改食品的所述供应链信息;响应于确定修改所述供应链信息,由所述计算系统基于接收到的成熟度水平来生成修改后的供应链信息,其中,所述修改后的供应链信息包括食品的修改后的供应链计划表和修改后的目的地中的一个或多个;以及由所述计算系统将修改后的供应链信息发送到一个或多个供应链参与者以实现修改后的供应链信息。
46.实施例32是根据实施例31所述的方法,进一步包括:由所述计算系统并且基于接收到的成熟度水平超过阈值来确定食品适合于由最终消费者食用;以及由所述计算系统并且基于接收到的成熟度水平小于所述阈值来确定食品不适合于由所述最终消费者食用。
47.实施例33是根据实施例31至32中任一项所述的方法,其中,所述修改后的供应链信息包括指令,所述指令在由所述一个或多个供应链参与者执行时使得食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。
48.实施例34是根据实施例31至33中任一项所述的方法,其中,所述修改后的供应链信息包括指令,所述指令在由所述一个或多个供应链参与者执行时使得食品被移动以向外装运到食物加工厂。
49.实施例35是一种用于使用食品的非接触式评估来确定食品的成熟度水平的系统,所述系统包括:一个或多个透度计,被配置为测量相同食物类型的多个测试食品的透度计数据;一个或多个硬度计,被配置为测量相同食物类型的所述多个测试食品的硬度计数据;一个或多个光谱成像设备,被配置为测量相同食物类型的食品的光谱数据;以及至少一个计算系统,被配置为:接收所述透度计数据和所述硬度计数据;选择所述透度计数据和所述
硬度计数据的部分;基于所述透度计数据和所述硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量;基于所述成熟度度量来生成机器学习训练模型,其中,所述机器学习训练模型将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的所述成熟度度量进行建模;从所述一个或多个光谱成像设备接收相同食物类型的食品的光谱数据;对相同食物类型的食品的所述光谱数据进行滤波;基于将所述机器学习训练模型应用于相同食物类型的食品的滤波后的光谱数据,确定食品的成熟度水平,其中,在不对食品进行破坏性测量的情况下确定食品的所述成熟度水平;识别食品的供应链信息,所述供应链信息包括食品的预先存在的供应链计划表和目的地;基于食品的所述成熟度水平来确定是否修改食品的所述供应链信息;响应于确定修改所述供应链信息,基于食品的所述成熟度水平来生成修改后的供应链信息,其中,所述修改后的供应链路信息包括食品的修改后的供应链计划表和修改后的目的地中的一个或多个;以及向用户计算设备发送(i)食品的所述成熟度水平和(ii)所述修改后的供应链信息,以在所述用户计算设备处显示。
50.实施例36是根据实施例35所述的系统,其中,使用包括以下步骤的处理来训练所述模型:由所述至少一个计算系统接收从透度计数据曲线导出的值,其中,使用相同食物类型的食品的所述透度计数据来生成所述透度计数据曲线;由所述至少一个计算系统使用正交回归和投影将所述值和所述硬度计数据映射到硬度曲线;由所述至少一个计算系统基于所述映射来生成所述成熟度度量;以及由所述至少一个计算系统训练所述模型以使用相同食物类型的食品的光谱数据来预测所述成熟度度量。
51.实施例37是根据实施例35至36中任一项所述的系统,其中,从所述透度计数据曲线导出的值是该曲线的斜率。
52.实施例38是根据实施例35至37中任一项所述的系统,其中,所述一个或多个光谱成像设备包括点光谱仪。
53.实施例39是根据实施例35至38中任一项所述的系统,其中,所述机器学习训练模型包括一个或多个层,其中,每个层包括(i)相同食物类型的所述多个测试食品的训练图像和(ii)标签,所述标签指示由所述训练图像描绘的所述多个测试食品中的每个测试食品的食品分类。
54.实施例40是根据实施例35至39中任一项所述的系统,其中,所述至少一个计算系统进一步被配置为基于食品的所述成熟度水平超过阈值来确定食品适合于食用。
55.实施例41是根据实施例35至40中任一项所述的系统,其中,所述至少一个计算系统进一步被配置为基于食品的所述成熟度水平小于阈值来确定食品不适合于食用。
56.实施例42是根据实施例35至41中任一项所述的系统,其中,所述至少一个计算系统进一步被配置为基于(i)将所述透度计数据的所选择的部分与对应于坚硬的多个测试食品的光谱数据的一个或多个波长相关联、以及(ii)将所述硬度计数据的所选择的部分与对应于柔软的所述多个测试食品的光谱数据的一个或多个波长相关联来生成所述机器学习训练模型。
57.实施例43是根据实施例35至42中任一项所述的系统,其中,所述修改后的供应链信息包括指令,所述指令当由一个或多个供应链参与者在所述用户计算设备处执行时使得
食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。
58.实施例44是根据实施例35至43中任一项所述的系统,其中,所述修改后的供应链信息包括指令,所述指令当由所述一个或多个供应链参与者在所述用户计算设备处执行时使得食品被移动以向外装运到食物加工厂。
59.本文中描述的优选实施例可以包括用于使用食品的非接触式评估来确定食品的成熟度水平的系统和方法。该方法可以包括:由计算系统并且从光谱成像设备接收食品的光谱数据,由计算系统对光谱数据进行滤波,由计算系统并且基于将训练模型应用于滤波后的光谱数据来确定食品的成熟度水平。可以使用(i)其他食品的一个或多个破坏性测量结果和(ii)其他食品的光谱数据对训练模型进行训练。其他食品可以是具有与食品相同的食物类型。可以在不对食品进行破坏性测量的情况下确定食品的成熟度水平。该方法还可以包括向用户计算设备发送食品的成熟度水平以在用户计算设备处显示。
60.优选实施例可以包括一个或多个以下特征。光谱数据可以包括食品的一个或多个非破坏性测量结果。训练模型可以包括一个或多个层。每个层可以包括(i)其他食品的训练图像和(ii)标签,该标签指示由训练图像描绘的其他食品中的每个其他食品的食品分类。对光谱数据进行滤波可以包括:修剪光谱数据,缩放光谱数据,以及将萨维茨基-戈莱二阶导数滤波器应用于光谱数据以减少噪声。
61.此外,该方法可以包括基于食品的成熟度水平超过阈值来确定食品是否适合于食用。该方法还可以包括基于食品的成熟度水平小于阈值来确定食品不适合于食用。食品可以是鳄梨、苹果和浆果中的至少一个。
62.在一些实现方式中,光谱成像设备可以是能够使用波长为534nm至942nm的光来捕获光谱数据的点光谱仪。在一些实现方式中,光谱成像设备可以是能够使用波长为530nm至950nm的光来捕获光谱数据的点光谱仪。点光谱仪还可以使用波长为690nm至912nm的光来捕获光谱数据。点光谱仪可以使用波长为672nm至948nm的光来捕获光谱数据。
63.食品的成熟度水平可以进一步基于输入数据,该输入数据包括食品的原产地、食品的储存温度以及与食品相关的历史成熟信息。
64.本文中描述的优选实施例还可以包括用于生成训练模型以确定食品的成熟度度量的系统和方法。该方法可以包括:由计算系统接收(i)来自一个或多个透度计的透度计数据和(ii)来自相同食物类型的多个测试食品的一个或多个硬度计的硬度计数据,选择透度计数据和硬度计数据的部分,基于透度计数据和硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量,以及基于成熟度度量来生成机器学习训练模型。机器学习训练模型可以将由透度计数据的所选择的部分和硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的成熟度度量进行建模。
65.优选实施例可以包括以下特征中的一个或多个特征。例如,选择透度计数据和硬度计数据的部分可以包括:绘制透度计数据和硬度计数据,识别所绘制的透度计数据和所绘制的硬度计数据中的拐点,基于拐点来选择透度计和硬度计数据的部分,以及丢弃透度计数据和硬度计数据的未选择的部分。基于拐点选择透度计和硬度计数据的部分可以包括选择透度计数据的在拐点之前的部分并且选择硬度计数据的在拐点之后的部分。丢弃硬度计数据的在拐点之前的部分并且丢弃透度计数据的在拐点之后的部分。
66.此外,生成机器学习训练模型可以包括:(i)将透度计数据的在拐点之前的所选择的部分与对应于坚硬的多个测试食品的光谱数据的一个或多个波长相关联,以及(ii)将硬度计数据的在拐点之后的所选择的部分与对应于柔软的测试食品的光谱数据的一个或多个波长相关联。
67.作为另一个示例,机器学习训练模型还可以将由透度计数据的所选择的部分和硬度计数据的所选择的部分提供的破坏性测量结果与下列中的至少一个相关联:(i)原产地,(ii)储存温度,和(iii)与相同食物类型的食品相关联的历史成熟信息。
68.本文中描述的优选实施例还可以包括用于基于食品的成熟度水平来修改供应链的系统和方法。该方法可以包括由计算系统接收食品类型的食品的成熟度水平。可以使用食品的非破坏性测量结果和用于食品类型的训练模型来确定成熟度水平。可以使用食品类型的其他食品的一个或多个破坏性测量结果对训练模型进行训练。该方法还可以包括:识别食品的供应链信息,该供应链信息包括食品的预先存在的供应链计划表和目的地;基于接收到的成熟度水平来确定是否修改食品的供应链路信息;以及响应于确定修改供应链信息,基于接收到的成熟度水平来生成修改后的供应链信息。修改后的供应链信息可以包括食品的修改后的供应链计划表和修改后的目的地中的一个或多个。该方法还可以包括将修改后的供应链信息发送到一个或多个供应链参与者以实现修改后的供应链信息。
69.优选实施例可以包括以下特征中的一个或多个特征。该方法可以进一步包括:基于接收到的成熟度水平超过阈值来确定食品适合于由最终消费者食用,以及基于接收到的成熟度水平小于阈值来确定食品不适合于由最终消费者食用。
70.作为另一个示例,修改后的供应链信息可以包括指令,该指令在由一个或多个供应链参与者执行时使得食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。修改后的供应链信息还可以包括指令,该指令在由一个或多个供应链参与者执行时使得食品被移动以向外装运到食物加工厂。
71.本文中描述的优选实施例可以进一步包括用于使用食品的非接触式评估来确定食品的成熟度水平的系统和方法。该系统可以包括:一个或多个透度计,其可以测量相同食物类型的多个测试食品的透度计数据;一个或多个硬度计,其可以测量相同食物类型的多个测试食品的硬度计数据;一个或多个光谱成像设备,其可以测量相同食物类型的食品的光谱数据;以及至少一个计算系统。计算系统可以接收透度计数据和硬度计数据,选择透度计和硬度计的数据的部分,基于透度计数据和硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量,以及基于成熟度度量来生成机器学习训练模型。机器学习训练模型可以将由透度计数据的所选择的部分和硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的成熟度度量进行建模。计算系统还可以从一个或多个光谱成像设备接收相同食物类型的食品的光谱数据,对相同食物类型的食品的光谱数据进行滤波,以及基于将机器学习训练模型应用于相同食物类型的食品的滤波后的光谱数据,确定食品的成熟度水平。可以在不对食品进行破坏性测量的情况下确定食品的成熟度水平。此外,计算系统可以:识别食品的供应链信息,该供应链信息包括食品的预先存在的供应链计划表和目的地;基于食品的成熟度水平来确定是否修改食品的供应链信息;以及响应于确定修改供应链信息,基于食品的成熟度水平来生成修改后的供应链信息。修改后的供应链信息可以包括食品的修改后的供应链计
划表和修改后的目的地中的一个或多个。计算系统还可以向用户计算设备发送(i)食品的成熟度水平和(ii)修改后的供应链信息,以在用户计算设备处显示。
72.本文中描述的优选实施例可以包括以下特征中的一个或多个特征。例如,一个或多个光谱成像设备可以包括点光谱仪。机器学习训练模型可以包括一个或多个层。每个层可以包括(i)相同食物类型的多个测试食品的训练图像和(ii)标签,该标签指示由训练图像描绘的多个测试食品中的每个测试食品的食品分类。
73.作为另一个示例,计算系统还可以基于食品的成熟度水平超过阈值来确定食品适合于食用。计算系统可以基于食品的成熟度水平小于阈值来确定食品不适合于食用。计算系统可以进一步基于(i)将透度计数据的所选择的部分与对应于坚硬的多个测试食品的光谱数据的一个或多个波长相关联、以及(ii)将硬度计数据的所选择的部分与对应于柔软的多个测试食品的光谱数据的一个或多个波长相关联来生成机器学习训练模型。
74.作为又一个示例,修改后的供应链信息可以包括指令,该指令当由一个或多个供应链参与者在用户计算设备处执行时使得食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。修改后的供应链信息还可以包括指令,指令当由一个或多个供应链参与者在用户计算设备处执行时使得食品被移动以向外装运到食物加工厂。
75.所公开的技术可以提供一个或多个优点。例如,所公开的技术可以提供非破坏性的方式来识别食品(诸如水果和农产品)的成熟度。由于可以实时地非破坏性地检测食品,这可以减少业务损失并且增加利润。毕竟,可以将更多未经改变的食品出售给消费者,并且当这样的食品是优选的成熟度时,可以将这样的食品出售给消费者。
76.破坏性测量结果可以用于生成成熟度度量和模型,而不会损害或侵入将要出售给消费者的食品。可以使用各种工具来收集数据,诸如通过刺穿食品的表皮或果肉。该破坏性数据可以用于确定成熟度度量。可以训练本文中描述的模型,以使用诸如光谱数据之类的非破坏性数据来预测成熟度度量。可能不会实时地使用破坏性技术来确定食品的成熟度。相反,光谱仪数据可以被实时地收集,并且与模型一起使用,以更准确地确定食品的成熟度水平。在一些实现方式中,成熟度检测准确性的提高可以通过以下方式来实现:利用通过历史食品的非破坏性测量结果和破坏性测量结果而获得的训练数据来训练模型。因此,可以在不破坏出售给消费者的食品的情况下,提高成熟度预测的准确性。
77.所公开的技术还可以提供对食品成熟度的更准确的确定。用于非破坏性地确定成熟度的模型可以在各种不同的数据点、数据集和输入上进行训练。馈送到模型中的数据越多,模型就可以变得越健壮。更健壮的模型可以有利于更准确地并且在不会实时地侵入食品的情况下检测成熟度水平。
78.所公开的技术也可以有利于改善供应链管理。由于可以更准确地且非破坏性地确定食品的成熟度,因此可以适当地对供应链进行修改。所公开的技术可以基于可能以其他方式未检测到(或者可能以其他方式使用破坏性技术检测到)的成熟度或硬度的变化来检测食品的食用适合度的细微变化。在这样的情况下,检测到的食品的食用适合度的变化可以导致一个或多个食品的分配计划表(schedule)的修改。作为示例,如果某个农产品被确定为过熟,那么在杂货店中向消费者出售该农产品可能是不利的。该农产品可能会以更低的价格出售,和/或消费者可能不会购买该农产品。因此,一旦确定了农产品的成熟度,就可以修改供应链,以便将农产品移动到食物加工厂进行加工。作为另一个示例,如果某个农产
品被确定为成熟,那么将该农产品移动到杂货店以由消费者来购买可能是有利的。基于该农产品是否是优选的成熟度,该农产品甚至可能以更高的价格出售。可以基于所确定的食品成熟度水平来实时地确定这些供应链修改。结果,供应链可以变得更高效,以及可以提前更准确地并且在不会破坏食品的情况下进行修改。
79.所公开的技术还可以使用光谱技术(诸如可见光-nir技术)来推断超过硬度计的敏感范围的食品(例如水果、农产品)成熟度。光谱技术可以有利于消除硬度计可能出现的用户相关测量误差。毕竟,光谱技术是非侵入性的、非破坏性的。光谱技术也可以更容易地缩放和自动化。因此,这可以通过以下方式为科学家和供应链中的其他利益相关者提供过程改进:腾出他们的时间用于其他项目,并且提供更可靠和一致的数据。nir测量结果可以提供更多数量的数据,这些数据可以用于开发不同的模型来推断其他水果质量度量。然后,可以实时地使用nir测量结果来非破坏性地确定食品的成熟度。
80.作为另一个示例,所公开的技术可以提供更快的成熟度确定或预测技术。所公开的技术可以包括nir光谱仪设备,该nir光谱仪设备可以包括成像和计算/处理能力。因此,可以在nir光谱仪设备本身处使用本文中描述的模型来捕获并且处理光谱仪数据。利用nir光谱仪设备处的边缘计算,可以更快地确定并且输出食品的成熟度。
81.本文在附图、详细说明和权利要求中描述了本公开的这些和其他创新性方面。
附图说明
82.图1a是生成用于确定食品成熟度的模型的概念图。
83.图1b是实时地确定食品成熟度的概念图。
84.图1c是用于基于由模型生成的输出数据非破坏性地确定食品是否适合于食用的示例系统的概念图。
85.图2是用于确定农产品的硬度水平的处理的流程图。
86.图3a是用于生成用于确定食品成熟度的模型的处理的流程图。
87.图3b是用于生成用于确定食品成熟度的模型的另一处理的流程图。
88.图3c示出了可以使用为训练模型以确定食品成熟度而收集的数据所确定的硬度度量。
89.图3d示出了可以由被训练为确定食品成熟度的模型所预测的硬度度量。
90.图4a-图4b是用于使用模型实时地确定食品成熟度的处理的流程图。
91.图5是用于使用模型非破坏性地确定食品是否准备好食用的处理的另一流程图。
92.图6a-图6b是用于使用模型非破坏性地确定一批食品是否准备好食用的处理的流程图。
93.图7是使用本文中描述的模型来确定食品成熟度的图形描绘。
94.图8是可以用于实现本文中描述的系统、方法和技术的系统组件的框图。
具体实施方式
95.本公开涉及用于在不破坏食品的情况下确定食品是否适合于食用的系统、方法和技术。可以基于获得测试食品的破坏性测量结果来设计成熟度度量。然后,可以开发和训练机器学习模型,以使用非破坏性测量结果(诸如来自光谱仪的光谱数据)来确定成熟度度
量。可以实时地收集关于食品的非破坏性测量结果。收集到的测量结果可以输入到模型中,以在不会侵入或以其他方式破坏食品的情况下确定或预测特定食品的设计成熟度度量(例如,硬度、食用适合度水平)。
96.参考附图,图1a是生成用于确定食品成熟度的模型的概念图。如本文中所述,生成模型可以包括使用破坏性、侵入性测量结果来设计成熟度度量。计算机系统190可以经由网络198与贯穿本公开描述的一个或多个组件、系统和/或设备进行通信。计算机系统190可以接收透度计数据114和硬度计数据116(a)。数据114和116可以从一个或多个设备接收。
97.例如,透度计数据114可以从对测试食品使用的透度计接收。透度计可以用于在食品坚硬时确定食品的硬度。透度计可以用于从食品上切下一层表皮和/或刺穿食品的表皮。透度计可以测量可以用于推动透度计探针穿过食品的表皮的力。因此,透度计数据114可以是在确定成熟度度量时使用的破坏性测量结果。
98.硬度计数据116可以从对测试食品或其他测试食品使用的硬度计接收。硬度计可以包括可以被按压到食品中的套管(thimble)。硬度计可以用于在食品柔软时确定食品的硬度。硬度计可以测量当用户将套管按压到食品中时的阻力。硬度计数据116可以是用于设计成熟度度量的另一个破坏性测量结果。
99.使用接收到的数据,计算机系统190可以选择透度计数据114和硬度计数据116的部分以用于设计成熟度度量(b)。如本文中所述,数据114和116可以被绘制成图形。图形可以使用线性回归技术进行展平(flatten)。在某个时候,如图形所示(例如,参考图7),只有硬度计数据116可以用于准确地预测食品的硬度。此外,在其他时间,只有透度计数据114可以用于准确地预测硬度。因此,可以在图形中的拐点附近选择某些透度计值114和硬度计值116。然后,可以利用波长或其他光谱信息对所选择的值进行建模。
100.然后,计算机系统190可以设计成熟度度量(c)。如本文中所述,可以使用所选择的透度计数据值114和所选择的硬度计数据值116来生成模型。
101.然后,计算机系统190可以生成机器学习模型(d)。可以生成模型以实时地预测或确定相同类型的食品的成熟度度量。如本文中所述,可以实时地使用模型来非破坏性地预测成熟度度量。此外,在一些实现方式中,计算机系统190可以生成一个以上的机器学习模型。可以对一个或多个模型进行训练,以学习如何将食品的光谱映射到设计成熟度度量。因此,模型可以将不同的波长与硬度变化(例如,随着时间的推移变得不那么硬)相关联,以实时非破坏性地预测食品的成熟度。
102.在一些实现方式中,透度计值114的斜率可以指示食品的硬度或成熟度。因此,计算机系统190可以生成模型,该模型根据光谱数据来预测斜率,以确定食品的设计成熟度度量。在训练期间,计算机系统190可以收集透度计值114,透度计值114可以被绘制成反映力(以磅、lb或克来测量)和深度(以毫米、mm来测量)的全硬度曲线。可以对模型进行训练,以确定硬度曲线的斜率。透度计值114的斜率可以准确地指示某些类型的水果(诸如较坚硬的水果)的硬度度量或设计成熟度度量。在一些实现方式中,为了反映各种不同类型的水果(例如,坚硬的水果和柔软的水果),可以使用透度计值114和硬度计值116两者来训练模型。值114和116可以被归一化。可以使用正交回归和投影将归一化硬度计值116映射到归一化透度计值114的斜率,以生成完整且具有代表性的硬度曲线。然后,可以对模型进行训练,以使用在运行期间接收到的光谱数据来预测归一化透度计值114的斜率。参考图3b-图3d以进
行额外讨论。
103.一旦生成了模型,就可以输出模型(e)。输出模型可以包括将模型存储在数据库或类似的数据存储(例如,云存储)中以供后续和/或未来使用。输出模型还可以包括将模型呈现或提供给另一个计算设备以供实时使用。因此,输出的模型可以用于实时非破坏性地确定食品的成熟度水平。
104.图1b是实时地确定食品成熟度的概念图。如本文中所述,可以使用图1a中描述的模型来确定成熟度。可以使用非破坏性测量结果(例如光谱仪数据)和技术来实时地确定成熟度。计算机系统190可以经由网络198与用户设备192和光谱仪设备194进行通信(例如有线地和/或无线地)。在图1c中进一步详细地描述了具有图像传感器106和光源106a的光谱仪设备194。用户设备192可以是诸如移动电话、蜂窝电话、膝上型计算机、计算机和/或平板计算机之类的计算设备。用户设备192可以由供应链工作人员或其他相关利益相关者使用。
105.在一些实现方式中,光谱仪设备194、计算机系统190和用户设备192可以是一个计算系统。在其他实现方式中,本文中描述的设备中的一个或多个设备可以是一个计算系统。
106.如图1b中所示,农产品102a-n可以被放置在传送带104上。在一些实现方式中,农产品102a-n可以在托盘上、在盒子中或在用于运输的其他容器中。传送带104可以在仓库内,诸如在冷藏设施内。光谱仪设备194可以被配置为在农产品102a-n沿着传送带104移动时扫描农产品(a)。
107.在一些实现方式中,农产品102a-n可以在其一进入仓库时就被扫描。此时进行扫描可以有利于基于所确定的农产品102a-n的成熟度水平对供应变化进行更直接的改变。在一些实现方式中,农产品102a-n可以在传送带104上移动通过仓库的同时在不同的时间被扫描。例如,也可以在将农产品102a-n从仓库中移出去之前对农产品102a-n进行扫描。换言之,在该阶段确定农产品102a-n的成熟度可以有利于确定农产品102是否应该被引导到商店和最终消费者、或者农产品102a-n是否应该被引导到食物加工厂。
108.然后,光谱仪设备194可以将光谱仪数据发送到计算机系统190(b)。计算机系统190可以可选地接收关于所扫描的农产品102a-n的其他输入数据(c)。例如,计算机系统190可以从数据库中检索关于农产品102a-n的历史信息。历史信息可以包括农产品102a-n的原产地、农产品102a-n的典型成熟条件和/或农产品102a-n的优选气候条件。如贯穿本公开所描述的,其他输入数据还可以包括与农产品102a-n相关联的任何其他历史或相关信息。
109.计算机系统190然后可以对接收到的数据进行滤波(d)(例如,参考图7)。可以将模型应用于滤波后的数据(e)。使用该模型,计算机系统190可以确定食品的硬度(f)。计算机系统190然后可以将硬度信息发送到用户设备192(g)。可以在用户设备192处输出硬度信息(h)。可选地,可以在用户设备192处确定供应链修改(i)。这些修改可以由用户设备192和/或与用户设备192通信的一个或多个其他计算系统自动确定。修改也可以由用户在用户设备192处确定。如贯穿本公开所描述的,修改可以包括:当农产品102a-n不那么硬或成熟时将农产品102a-n向外按路线运送到加工厂,以及当农产品102a-n具有某种优选的硬度和/或成熟度时将农产品102a-n向外按路线运送到商店和消费者。
110.图1c是用于基于由模型生成的输出数据非破坏性地确定食品是否适合于食用的示例系统100的概念图。系统100可以包括图像传感器106、食品检测引擎110、输入生成引擎120、机器学习模型130、存储器140、第一程序逻辑引擎150、第二程序逻辑引擎160、新鲜度
评估引擎170和输出引擎180。“引擎”可以包括一个或多个软件模块、一个或多个硬件模块、或其任意组合。
111.图像传感器106可以用于生成表示食品102a-n的属性的数据108,其中n可以是大于0的任意正整数,并且表示传送带104上的食品102的数量。在图1的示例中,图像传感器106可以以使得图像传感器106能够在食品102a-n沿着传送带104移动时捕获表示食品102a-n的一个或多个图像的图像数据的方式来布置。在一些实现方式中,传感器106可以包括一个或多个高光谱传感器,一个或多个高光谱传感器被配置为捕获表示食品102a-n的特征的高光谱数据。在这样的实现方式中,高光谱图像的每个像素可以对应于与由高光谱传感器成像的对应食品相关联的红外光或紫外光的光谱。在一些实现方式中,点光谱仪可以用作图像传感器106。点光谱仪可以生成表示与传送带104的成像区域相关联的红外光或电磁光的光谱的单个输出。在一些实现方式中,传感器106也可以是低分辨率数字相机(例如,5m或更小)、高分辨率数字相机(例如,5mp或更大)等。
112.在一些实现方式中,传感器106可以包括相对于一个或多个食品102a-n以多个角度设置的多个传感器。例如,传感器106可以包括第一相机和至少一个附加相机,每个相机从不同的视角捕获食品102a-n的图像。在这样的配置中,与由第一相机捕获并且被第一相机用于生成表示食品102a-n的图像数据的波长的光相比,一个或多个附加相机可以用于基于不同或附加波长的光来生成图像数据。通常,可以通过传感器106来获得任何一组波长的光。
113.一个或多个相机中的每个特定相机可以被配置为以多种不同的方式来检测不同或附加波长的光。例如,在一些实现方式中,可以在不同的相机中使用不同的传感器,以便检测不同或附加波长的光。替选地或附加地,一个或多个相机中的每个相机可以相对于彼此以不同的高度、不同的角度等设置,以捕获不同波长的光。在一些实现方式中,一个或多个相机可以被设置成至少部分地捕获一个或多个食品102a-n的可能从第一相机的视图中被遮挡的部分。
114.在一些实现方式中,一个或多个光源106a可以用于照亮食品102a-n。如参考图1b所述,光源106a和传感器106可以包括光谱仪设备。光源106a可以照亮食品102a-n,使得诸如高光谱图像传感器或其他光谱仪传感器之类的图像传感器102可以生成捕获从食品102a-n反射的光的图像。光源106a可以包括一个或多个光源,每个光源产生相同或不同的电磁辐射。在该示例中,光源106a被描绘为被固定到图像传感器106。在一些实现方式中,光源106a可以设置在图像传感器106附近的一个或多个位置,以便在由图像传感器106捕获反射光之前或期间照亮食品102a-n以生成图像数据108。在一些实现方式中,可以基于由一个或多个光源输出的电磁辐射的频率来选择一个或多个光源。例如,在一些实现方式中,光源106a可以是卤素光源。替选地或附加地,一个或多个光源106a可以是宽带发光二极管(led)的二极管或一系列二极管,其可以用于提供跨越可见波长光谱、近红外波长光谱、电磁光谱或任何其他光谱的光。通常,可以使用任意光源为图像传感器106提供任意类型的光。
115.在一些实现方式中,一个或多个光源106a或者一个或多个光源106a的控制单元可以可通信地连接到图像传感器106或图像传感器106的控制单元。例如,图像传感器106或图像传感器106的控制单元可以将信号发送到一个或多个光源106a或者一个或多个光源106a的控制单元,该信号使得一个或多个光源106a以预定功率并且在预定时间利用一个或多个
波长的光来照亮食品102a-n中的一个或多个食品。在一些实现方式中,预定时间可以是在由图像传感器106捕获图像数据108之前或期间的预定时间量,使得当食品102a-n被照亮时,图像传感器106可以捕获食品102a-n的图像数据108。
116.在一些实现方式中,图像传感器106的控制单元可以包括一个或多个计算机或计算系统,一个或多个计算机或计算系统可以向图像传感器106发送一个或多个信号,一个或多个信号使得图像传感器106捕获图像数据108。图像数据108可以包括一个或多个图像。当图像传感器106包括高光谱图像传感器时,这样的图像可以包括一个或多个高光谱图像。图像也可以是由光谱仪生成的数据、小于5mp的数码图像、5mp的数码图像或大于5mp的数码图像。在一些实现方式中,一个或多个光源106a的控制单元可以包括一个或多个计算机,一个或多个计算机向一个或多个光源106a发送一个或多个信号,一个或多个信号使得一个或多个光源106a输出光。
117.在一些实现方式中,光源106a可以被配置为基于由系统100评估以确定食品的食用适合度的食品类型来输出特定波长的光。例如,如果食品102a-n包括鳄梨,并且机器学习模型130已经被训练为确定鳄梨硬度的食用适合度属性(例如,参考图1a来生成模型),则光源106a的控制单元可以被配置为指示光源106a输出具有534nm至942nm的波长范围的光,因为这样波长的光可以有助于由图像传感器106生成具有最佳特征的图像数据108,该最佳特征用于供机器学习模型130检测鳄梨的硬度水平。
118.作为另一个示例,如果食品102a-n包括鳄梨,并且机器学习模型130已经被训练为确定鳄梨干物质的食用适合度属性,则光源106a的控制单元可以被配置为指示光源106a输出具有690nm至912nm的波长范围的光,因为这样波长的光可以有助于由图像传感器106捕获具有最佳特征的图像数据108,该最佳特征用于供机器学习模型130检测鳄梨的干物质水平。
119.作为另一个示例,如果食品102a-n包括苹果,机器学习模型130可以被训练为确定苹果硬度的食用适合度属性,则光源106a的控制单元可以被配置为指示光源106a输出具有672nm至948nm的波长范围的光,因为这样波长的光可以有助于生成具有最佳特征的图像数据108,该最佳特征用于供机器学习模型130检测苹果的硬度水平。
120.如由本文中的示例所示,由光源106a输出的光可以基于食品102a-n的类型进行定制,以使得图像传感器106能够生成具有最佳特征的图像数据108,该最佳特征经由机器学习模型130产生准确的推断,以检测食用的适合度(例如,成熟度)。对于一种或多种不同的食物类型,也可以选择任意波长的光。
121.在一些实现方式中,图像传感器106或光源106a的控制单元可以动态配置光源106a,以基于新检测到的食品输出特定波长的光。在一些实现方式中,光源106a的动态配置可以响应于从用户设备接收到的指令而发生。例如,用户可以为特定类型的食品102a-n配置光源106a。在这样的实现方式中,用户设备的用户可以输入命令,该命令使得用户设备生成指令并且将指令发送到图像传感器106或光源106a的控制器,该指令使得光源106a输出特定波长的光。
122.在一些实现方式中,系统100可以在没有用户交互的情况下自动确定特定食品类型将要由系统100评估,并且因此自动配置光源106a。例如,系统100可以在沿着传送带104的较早阶段或者在沿着供应链的一个或多个其他位置包括其他一个或多个相机。这些一个
或多个其他相机可以捕获放置到传送带104上的食品102a-n的一个或多个图像,分析食品102a-n的一个或多个图像,并且基于所分析的图像来确定将要由系统100评估的特定食品类型。在这样的实现方式中,一个或多个其他相机可以可通信地耦合到通信单元,该通信单元可以向图像传感器106或光源106a的控制单元传送将要由系统100评估的食品类型。然后,基于接收到的传送,图像传感器106或光源106a的控制单元可以动态地配置光源106a,使得光源106a输出落入在检测到的食品类型的最佳光波长范围内的波长的光。
123.由图像传感器106生成的图像数据108可以被提供作为到食品检测引擎110的输入。在一些实现方式中,图像传感器106可以直接将图像数据108提供给被配置为处理图像数据108的软件或硬件引擎。在其他实现方式中,图像传感器106可以将图像数据108存储在诸如存储器140之类的存储器设备中,并且然后食品检测引擎110可以访问存储器设备140以获得并且处理图像数据108。
124.食品检测引擎110可以获得图像数据108。所获得的图像数据108可以至少包括第一图像数据108-1至108-n和第二图像108a,其中n是大于零的任意正整数,并且对应于图像数据108中描绘的食品的数量。第一图像数据108-1至108-n可以包括n个食品的描绘,并且第二图像数据108a可以对应于环境的一部分,诸如传送带104或者正在处理食品的处理设施的一部分。在传送带104上的食品102a-n的一部分的图像捕获期间,可以在图像数据108中描绘处理设施的一部分。食品检测引擎110可以处理所获得的图像数据108,并且提取第一图像数据108-1至108-n中与第一食品108-1相对应的部分112。
125.在一些实现方式中,食品检测引擎110可以使用一个或多个对象识别算法、方法或技术来识别图像数据108中与图像108中描绘的食品108-1至108-n的特征相对应的部分。例如,如图1c中所示,食品102a-n可以是鳄梨。在该示例中,食品检测引擎110可以在鳄梨的多个图像上进行训练,使得食品检测引擎110可以基于输入图像来确定输入图像是否包括鳄梨的表示以及鳄梨的表示出现在输入图像108内的何处。食品检测引擎110还可以用于检测其他食品,诸如柑橘类水果、芒果、苹果、浆果、核果、西红柿、肉类和/或蔬菜。尽管该列表提供了落入到本公开的范围内的食品的示例,但是本公开不限于这些食品。
126.在一些实现方式中,坐标系可以用于确定食品(例如108-1)的表示在图像数据108中的位置。例如,一个或多个数值(诸如x和y坐标系中的x和y值)可以用于表示食品108-1在图像数据108中的位置。随后的处理步骤可以使用表示食品108-1的位置的数值,并且基于该数值确定食品108-1在给定图像中的位置。
127.在一些实现方式中,食品检测引擎110可以包括一个或多个机器学习模型的网络。在这样的实现方式中,食品检测引擎110的一个或多个机器学习模型的网络可以基于要检测的特定食品类型的训练数据集进行训练。在图1c的示例中,食品检测引擎110可以在鳄梨的图像上进行训练,使得食品检测引擎110可以检测鳄梨在给定输入图像内的位置和外形。
128.食品检测引擎110可以输出从图像数据108中提取的图像数据112。图像数据112可以包括图像数据110的与第一食品108-1相对应的部分。可以将图像数据112作为输入提供给输入生成引擎120。在一些实现方式中,食品检测引擎110可以直接将图像数据112提供给被配置为处理图像数据112的软件或硬件引擎,诸如输入生成引擎120。在其他实现方式中,食品检测引擎110可以将图像数据112存储在诸如存储器140之类的存储器设备中,并且然后食品检测引擎110可以访问存储器设备140以获得并且处理图像数据112。
129.输入生成引擎120可以生成用于输入到机器学习模型130的数据122。所生成的输入数据122可以包括向量122a,该向量122a以数字表示所提取的图像数据112的特征。例如,向量122a可以包括多个字段,每个字段对应于图像数据112的像素。输入生成引擎120可以确定描述图像数据112的对应像素的每个字段的数值。所确定的每个字段的数值可以用于将图像数据112的特征编码到所生成的向量122a中。所生成的向量122a以数字表示图像数据112,所生成的向量122a可以被提供作为到机器学习模型130的输入。
130.机器学习模型130可以包括深度神经网络,深度神经网络具有用于接收输入数据的输入层132,用于处理经由输入层132接收到的输入数据的一个或多个隐藏层134a、134b、134c,以及用于提供输出数据的输出层136。每个隐藏层134a、134b、134c可以包括一个或多个权重或其他参数。可以调整每个相应隐藏层134a、134b、134c的权重或其他参数,使得经训练的深度机器学习模型130可以产生与每组训练数据相对应的期望目标向量。每个隐藏层134a、134b、134c的输出可以包括激活向量。由每个相应隐藏层输出的激活向量可以通过深度神经网络的后续层传播,并且被输出层使用以产生输出数据。例如,输出层136可以对从最终隐藏层134c接收到的激活向量执行附加计算,以便生成神经网络输出数据138。
131.如贯穿本公开所述,可以训练机器学习模型130以生成输出数据138,该输出数据138指示由输入数据122表示的食品的食用适合度水平。可以使用多个训练数据项来训练机器学习模型130。例如,如参考图1a所述,可以使用破坏性测量结果(例如,透度计数据)与其他度量(诸如硬度计数据、光谱仪数据和关于食品的历史信息)相结合来训练模型130。多个训练数据项中的每个训练数据项还可以包括(i)食品的训练图像,以及(ii)标签,该标签描述由训练图像描绘的食品的食品分类。每个训练数据项的食品分类可以是基于从特定训练数据项所对应的真实世界食品收集的历史数据而确定的分类。针对食品收集的该历史数据可以包括使用食品的非破坏性测量结果(诸如硬度计读数)获得的第一食品适合度数据、使用食品的破坏性测量结果(诸如透度计读数)获得的第二食品适合度数据、或两者。
132.使用破坏性和非破坏性的各种输入度量来生成模型可以有利于以非破坏性的方式预测成熟度或其他食用适合度水平。毕竟,机器学习模型130可以被训练为实时地并且在不破坏食品的情况下、但是在使用机器学习模型130的层134a、134b、134c的同时预测食品的食用适合度水平,层134a、134b、134c具有加权参数,该加权参数被训练以识别具有与使用破坏性处理获得的具有特定测量结果的食品的训练图像相似的特征的食品的后续图像数据。因此,机器学习模型130可以使用食品的破坏性测量结果来评估食品的食用适合度属性(诸如硬度或成熟度),而不会实际地破坏食品。
133.仍然参考图1c,训练系统可以包括机器学习模型130和具有多个标记的训练数据项的数据库。每个训练数据项可以是食品的图像,并且标记有(a)从实际食品测量的硬度计读数、(b)从实际食品获得的透度计读数和/或(c)从实际食品获得的光谱仪读数。在机器学习模型130的训练期间,可以从训练图像数据库中获得训练图像,并且将训练图像提供作为到机器学习模型130的输入。机器学习模型130可以处理训练图像并且生成输出数据,该输出数据对应于(a)训练图像中的食品的预测硬度计读数、(b)训练图像中的食品的预计透度计读数和/或(c)训练图像中的食品的预期光谱仪读数。然后,可以将由机器学习模型130生成的输出与标记的读数进行比较。机器学习模型130的参数可以基于生成的输出数据和标记的读数之间的差进行调整。该处理可以针对训练项数据库中的多个训练项中的每个训练
项重复地继续,直到诸如回归损失函数之类的损失函数被优化为止。
134.机器学习模型130被训练的输出数据产生非破坏性成分、破坏性成分或两者。该输出可以被称为食用适合度、成熟度和/或硬度的水平。在一些实现方式中,该输出可以是单独的值,并且可以例如由经训练的机器学习模型130通过经训练的机器学习模型130的每个层处理输入数据(诸如输入数据122)来生成,以便将输入数据122分类为非破坏性测量结果和破坏性测量结果分类。
135.在一些实现方式中,输出数据138可以指示所预测的非破坏性测量结果和所预测的破坏性测量结果。在一些实现方式中,机器学习模型130可以被训练为预测单个食用适合度值,该单个食用适合度值指示非破坏性测量结果和破坏性测量结果之间的关系。例如,在这样的实现方式中,机器学习模型130可以被训练为预测代表破坏性测量结果(例如,透度计测量值)的斜率相对于非破坏性测量结果(例如,硬度计测量值)的斜率的值。
136.仍然参考图1c中的示例,机器学习模型130可以通过经训练的机器学习模型130的层132、134a、134b、134c、136中的每个层来处理输入数据122,并且生成输出数据138。输出数据138可以表示由图像数据112描绘并且由输入数据122表示的食品的食用适合度水平。经训练的机器学习模型130可以将输出数据138存储在存储器140中,并且系统100可以进行关于系统100的执行可以如何进行的确定。
137.在150处,系统100可以确定是否存在要通过经训练的机器学习模型130进行处理的附加数据。该确定可以基于由成像传感器106生成的图像数据108的类型。在一些实现方式中,例如,可以使用点光谱仪来生成图像数据108,并且可以存在要由机器学习模型130进行处理的附加数据。
138.在一些实现方式中,图像数据108可以包括高光谱图像数据。在这样的实现方式中,输入生成引擎120可以被配置为针对高光谱图像数据108的每个像素,生成输入数据122,并且通过经训练的机器学习模型130来处理所生成的输入数据122。在这样的实现方式中,系统100可以在150处确定是否可以通过经训练的机器学习模型130来处理图像数据112的另一个像素。如果系统100确定可以处理图像数据112的另一个像素,则系统100可以指示152输入生成引擎122基于图像数据112的另一个像素来生成后续输入数据122。后续输入数据122也可以通过机器学习模型130进行处理,以生成后续输出数据138。后续输出数据138可以被存储在存储器140中。系统100可以再次在150处确定是否可以处理附加数据,诸如图像112的另一个像素。如果系统100决定可以处理附加数据,则上述处理可以迭代地继续,直到在160处触发终止条件,指示不再可以处理图像数据112的像素。在使用点光谱仪的一些示例中,该条件可以在150第一次出现时终止。
139.在150处触发终止条件之后,系统100可以在160处继续评估食品102a-n。在160处,系统100可以确定在图像数据108中是否描绘了另一个食品。如果在图像108中描绘了另一个食品,则系统100可以指示162食品检测引擎110处理图像数据108,并且提取另一个食品的另一个图像,诸如图像数据108的对应于食品108-2的部分。然后,系统100可以通过系统100来处理与食品108-2相对应的后续图像数据112,如以上关于描绘食品108-1的图像数据112所描述的。系统100可以继续执行该处理,直到图像数据108中的n个食品图像中的每个食品图像都被处理。
140.在对第n个食品的图像的每个像素进行处理之后,在随后执行160时,系统100可以
终止执行本文中描述的用于在160处评估食品的处理。在这个时候,系统100可以指示新鲜度评估引擎170来分析输出数据138,该输出数据138是针对图像数据108中的每个食品的每个图像的每个像素而生成的并且存储在存储器140中。例如,新鲜度评估引擎170可以访问存储在存储器140中的数据142的总表示,并且跨每个图像的每个像素来分析输出数据138的总表示。
141.在一些实现方式中,新鲜度评估引擎170可以跨生成并且存储在存储器140中的输出数据138的全部或子集来确定平均食用适合度水平。在这样的实现方式中,可以使用阈值来评估平均食用适合度水平。如果平均食用适合度水平满足预定阈值,则系统100可以向输出引擎180生成指令172,该指令指示由图像数据108描绘的食品适合于食用。作为另一个示例,如果平均食用适合度水平不满足预定阈值,则系统100可以向输出引擎180生成指令172,该指令指示由图像数据108描绘的食品不适合于食用。
142.在一些实现方式中,满足预定阈值可以包括大于阈值的值。在一些实现方式中,如果值小于阈值,则可以认为值满足预定阈值。例如,在一些实现方式中,值和比较运算符两者都可以被取反。在这样的实现方式中,可能以其他方式大于阈值的同一值也可以被表示为小于阈值。可以对输出数据138的平均值、输出数据138的中位值等执行类似的运算。
143.作为另一个示例,新鲜度评估引擎170可以通过分析食用适合度值在食用适合度值的完整集合上的分布来评估存储在存储器140中的输出数据138的总集合。在这样的实现方式中,新鲜度评估引擎180可以基于如下方式来确定食品108-1至108-n是否适合于食用:食用适合度值的分布与已知适合于食用的食品的食用适合度值的预期分布相符合还是偏离。新鲜度评估引擎170可以指示172输出引擎180基于这样的分布分析来生成并且提供输出数据。
144.输出引擎180可以接收来自新鲜度评估引擎170的指令172,该指令指示食用适合度水平。在一些实现方式中,新鲜度评估引擎170可以确定食品108-1至108-n适合于食用,并且指令172可以指示系统100继续执行食品108-1到108-n的分配计划。在一些实现方式中,新鲜度评估引擎170可以确定食品108-1至108-n可能不适合于食用,并且指令172可以指示系统100丢弃由图像数据108描绘的食品108-1到108-n。在其他实现方式中,新鲜度评估引擎170可以确定食品108-1至108-n在一定天数内将变得不适合于食用。在这样的实现方式中,新鲜度评估引擎170可以指示172输出引擎180生成食品108-1至108-n的分配计划的变化。这样的变化可以包括但不限于将食品108-1至108-n装运到在地理上比先前计划的市场更靠近的市场,使得食品108-1到108-n可以更快地提供给消费者。食品108-1至108-n的分配计划的变化还可以包括运输修改,该运输修改使得递送车辆重新安排路线以更迅速地/更快地将食品108-1到108-n送到制冷单元。
145.图2是用于确定农产品的硬度水平的处理200的流程图。处理200可以由本文中描述的一个或多个计算系统来执行。例如,处理200可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性的目的,从计算机系统190的角度来描述处理200。
146.参考处理200,计算机系统190可以在运行时使用之前接收测试数据(202)。如本文中所述(例如,参考图1a),测试数据可以包括对于相同食物类型的农产品的破坏性测量结果。例如,破坏性测量结果可以包括关于一批中的一个或多个测试农产品的透度计数据和/
或硬度计数据。透度计数据和/或硬度计数据可以通过侵入性地切片或刺穿测试农产品来捕获。数据可以被收集并且被输入到计算机系统190中。
147.在203中,计算机系统190可以生成硬度度量(例如,成熟度度量)。如本文中所述,硬度度量可以基于在202中接收到的破坏性测量结果。上述测试数据可以用于建立成熟度曲线,该成熟度曲线可以用作训练非破坏性光谱模型的基准真值(ground truth)。可以针对不同类型的农产品和/或不同的成熟度特性生成一个或多个不同的硬度度量。例如,可以生成用于检测浆果的成熟度的硬度度量。浆果成熟度曲线的测试数据可以包括颜色、糖度(brix)、糖分和ph。该测试数据中的一个或多个可以被破坏性地测量。使用该测试数据,可以生成成熟度曲线,并且将该成熟度曲线用作基准真值测量结果来训练光谱模型以预测浆果的成熟度。然后,可以生成机器学习模型,以使用非破坏性测量结果来实时地测量浆果成熟度度量。因此,可以实时非破坏性地捕获浆果的光谱数据。光谱数据可以通过模型来运行,以非破坏性地预测这样的浆果的成熟度。
148.计算机系统190然后可以生成模型(204)(例如,参考图1a)。该模型可以用于实时非破坏性地确定农产品的硬度、成熟度和/或食用适合度的水平。可以使用硬度度量来生成模型。
149.在运行时期间,计算机系统190可以在206中接收农产品数据。可以非破坏性地捕获农产品数据。例如,农产品数据可以是如上所述的光谱成像数据(例如,参考图1b-图1c)。光谱成像数据可以通过光谱仪和/或高光谱成像设备来捕获,如贯穿本公开所述。当农产品沿着传送带或在储存设施的一个或多个位置内移动时,可以实时地捕获农产品数据。此外,可以可选地对农产品数据进行滤波和/或处理(例如,细化图像数据、从图像数据中去除噪声等)。
150.计算机系统190可以在208中应用模型。如上所述,可以对于不同类型的农产品生成一个或多个模型。计算机系统190可以识别在农产品数据中捕获了什么类型的农产品,并且然后应用适当的模型。使用模型,可以分析农产品数据,以确定该农产品的成熟度度量。
151.可以在210中由计算机系统190确定农产品的硬度水平。因此,计算机系统190可以基于应用适当的模型来确定农产品是否成熟和/或准备好供人类食用。如参考图1c所述,在应用模型的输出超过预定阈值的情况下,农产品可以被确定为成熟。在应用模型的输出小于预定阈值的情况下,农产品可以被确定为尚未成熟。在一些实现方式中,计算机系统190可以确定一批中的一个或多个单独农产品的硬度水平。在一些实现方式中,计算机系统190可以确定该批农产品的总硬度水平。
152.可以在212中输出农产品的硬度水平。输出可以被呈现在本文中描述的用户设备192处,或者被呈现在一个或多个其他计算设备处,诸如移动电话、蜂窝电话、平板计算机、膝上型计算机和/或计算机。输出可以指示农产品的成熟程度。输出还可以指示农产品的未成熟程度、坚硬程度和/或过熟程度。输出可以被呈现为图形描绘。输出也可以被呈现为数值。在一些实现方式中,输出可以以用于相关供应链的优选格式来呈现。
153.可选地和附加地,计算机系统190可以确定一个或多个供应链修改(214)。例如,计算机系统190可以确定农产品可以被向外移动到杂货店以供消费者立即食用。在农产品被确定为柔软的而不是坚硬的(例如,过熟)的情况下,计算机系统190可以确定农产品应该被向外移动到食物加工厂。农产品然后可以用于生产加工食物。作为另一个示例,在农产品被
确定为处于最佳硬度和/或成熟度的情况下,计算机系统190可以确定农产品应该被向外移动到在地理上最靠近于农产品的当前位置(例如,储存设施)的杂货店。因此,农产品可以立即被放置在货架上,以由消费者购买和食用。另一方面,在农产品被确定为处于最佳硬度并且将在延长的时间段内保持处于最佳硬度的情况下,计算机系统190可以确定农产品可以被向外移动到在地理上远离农产品的当前位置的杂货店。毕竟,较长的运输时间可能不会对农产品的硬度产生负面影响,因为当农产品到达杂货店时,农产品可能仍然是坚硬的。可以在214中确定一个或多个其他供应链修改。此外,在一些实现方式中,可以由计算机系统190和/或计算机系统190和/或用户设备192处的用户来建议一个或多个供应链修改。
154.图3是用于生成用于确定食品成熟度的模型的处理300的流程图。处理300可以由本文中描述的一个或多个计算系统来执行。例如,处理300可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性目的,从计算系统190的角度来描述处理300。
155.参考处理300,计算机系统可以在302中接收数据。如贯穿本公开所述,计算机系统可以接收透度计数据304和硬度计数据306。可以对一个或多个测试食品(诸如鳄梨)进行302中的数据收集。例如,鳄梨可以利用nir设备扫描两次,接收3次硬度计测量,并且接收2次透度计测量。可以进行任何其他集合的数据收集。每天可以处理18-35个鳄梨的组或其他组大小的鳄梨,直到每组都处于可以食用的阶段(例如,《60肖氏(shore))。因此,与两种常用的硬度测量(透度计和硬度计)相关联的硬度变化可以被捕获,并且与光谱信息相关联,以捕获整个鳄梨成熟周期中的硬度变化。
156.计算机系统然后可以在308中选择透度计数据和硬度计数据中的每个的部分。非线性投影可以被拟合以将硬度计测量结果和透度计测量结果转换为单个变量,这被称为扩展肖氏投影。
157.计算机系统可以在310中绘制透度计数据和硬度计数据。为了最小化从参数化线到每个透度计数据点和/或硬度计数据点的欧几里得距离,可以使用正交回归来拟合扩展肖氏投影线。虽然硬度计数据可以具有大约85-90肖氏的最大值,但是该非线性投影可以将最初可能只有利用透度计数据检测到的初始成熟行为转化为肖氏测量结果的扩展,该扩展多达~120扩展肖氏。该度量允许捕获鳄梨或其他农产品的初始硬度的更大范围,并且可以区分不同未成熟水果组之间的成熟生命周期的实际阶段。
158.计算机系统然后可以在312中识别拐点(例如,参考图7)。在某个时候,只有硬度计值或只有透度计值可以用来制定成熟度度量。这是因为,在拐点处,食品是太坚硬还是太柔软可能是不确定的。因此,作为示例,在拐点之前,可以使用透度计值以利用波长或光谱成像信息进行建模。在拐点之后,可以使用硬度计值并且利用波长或光谱成像信息进行建模。
159.一旦识别出拐点,计算机系统就可以在314中基于拐点来选择数据的部分。如上所述,可以选择在拐点之前出现的透度计数据,并且可以选择在拐点之后出现的硬度计数据。在316中,可以丢弃任何未选择的数据。
160.计算机系统可以在318中生成成熟度度量。如本文中所述,成熟度度量可以使用透度计数据304和硬度计数据306来设计,这两者都是破坏性测量结果。更具体地,可以使用透度计数据304和硬度计数据306中的每个的所选择的部分来设计成熟度度量。成熟度度量可以指示在特定食品的成熟过程期间多个不同的测量结果如何相关联。
161.计算机系统然后可以在320中生成模型。可以对模型进行训练,以将设计成熟度度量与光谱仪数据和其他可选的非破坏性输入数据相关联。换言之,可以对模型进行训练,以学习光谱到设计成熟度度量的映射。因此,在318中生成的成熟度度量可以成为经训练的机器学习模型的期望输出。可以生成并且训练模型,以接收非破坏性测量结果作为输入,并且在不破坏或以其他方式侵入食品的情况下直接预测设计成熟度指标。
162.然后可以在322中输出模型。一旦输出了模型,模型就可以用于非破坏性地识别食品的硬度或其他成熟度水平。
163.如贯穿本公开所述,可以对于每种类型的食品生成模型。例如,可以对于鳄梨、苹果、浆果等生成一个或多个模型。也可以基于同一类型食品的特定特性来生成模型的不同变型。例如,来自墨西哥的鳄梨与来自加利福尼亚的鳄梨可能具有不同的成熟特性,这些特性在模型中被加以考虑。
164.图3b是用于生成用于确定食品成熟度的模型的另一处理350的流程图。处理350可以由本文中描述的一个或多个计算系统来执行。例如,处理350可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性目的,从计算系统190的角度来描述处理350。
165.参考图3b中的处理350,计算机系统可以在352中接收训练数据。训练数据可以包括透度计数据(354)和硬度计数据(356),它们是通过使用透度计和/或硬度计对食品进行物理测试而获得的,透度计和/或硬度计可以各自测量食品的硬度。在一些实现方式中,可以去除食品的表皮,并且然后可以通过对无表皮的食品进行物理测试来获得训练数据。因此,可以直接对食品的果肉进行物理测试,以生成食品的准确硬度测量结果。
166.透度计数据354可以进一步包括力数据(358)和深度数据(360)。力数据可以指示当透度计刺穿食品的表皮或外层时向透度计施加的力的大小(例如,以克-力、磅-力进行测量)。深度数据可以指示当向透度计施加力时透度计穿过或进入到食品中的距离(例如,以mm进行测量)。力数据和深度数据可以指示当透度计进入并且移动到食物中时所感受到的阻力的大小,这可以是食品硬度的必然结果(corollary)。由于计算机系统在训练期间收集各种数据,因此计算机系统可以确定可以由本文中所述的模型预测的各种设计度量。
167.可选地,计算机系统可以在362中对数据进行归一化。例如,计算机系统可以对透度计数据(354)和硬度计数据(356)进行归一化。在一些实现方式中,计算机系统可以仅对一些数据进行归一化,诸如仅对硬度计数据(356)或仅对透度计数据(354)进行归一化。计算机系统可以在362中对数据进行归一化,以便利用透度计数据和硬度计数据两者来训练模型。参考372以进行额外讨论。
168.计算机系统可以在364中将深度数据映射到力数据。例如,如图3c中所示,计算机系统可以生成图形或以其他方式在图形的x轴上绘制深度数据(360)并且在图形的y轴上绘制力数据(358)。
169.使用映射数据,计算机系统可以确定斜率(366)。参见图3c。斜率可以与食品的硬度相关联。硬度可以代表成熟度。如以下进一步所述,斜率可以是设计硬度度量。可以训练模型,以使用非破坏性测量的数据(诸如光谱数据)在运行时期间预测斜率。可以针对映射的透度计数据的一部分(诸如映射的透度计数据的在最大力值之前具有正斜率的部分)来确定斜率。例如,这样的斜率可以被确定为例如透度计数据的在达到最大力值之前的部分
内的跨度的平均斜率、最大斜率、中值斜率值和/或其他斜率值。
170.可选地,计算机系统可以确定映射数据的最大力(368)。最大力可以指示屈服应力,并且可以是食品硬度的必然结果。最大力可以表示当透度计刺穿食品的果肉时,在施加到透度计的力的作用下稍微弯曲,并且然后穿透食品的果肉。然后可以训练模型,以根据光谱数据来预测最大力,作为食品的设计硬度度量。有关对模型进行训练的额外信息,请参考372-376。在一些实现方式中,可以将最大力与斜率和/或曲线下的面积相结合,以生成设计硬度度量,并且对模型进行训练以预测设计硬度度量。
171.可选地,计算机系统可以确定映射数据的曲线下的面积(auc)(370)。auc可以是食品硬度的必然结果。如参考图3c进一步所述,计算机系统可以确定接收到的深度数据360的任意范围的auc。计算机系统也可以确定最大力之后的auc。在一些实现方式中,计算机系统可以确定内部auc,该内部auc可以表示最大力下的面积或映射数据中的峰值。然后可以训练模型,以根据光谱数据来预测auc,作为食品的设计硬度度量。有关训练的额外讨论,请参考372-376。在一些实现方式中,可以将auc与最大力和/或斜率相结合,以生成设计硬度度量,并且对模型进行训练以预测该度量。参考图3c以进行额外讨论。
172.在372中,计算机系统可以使用正交回归和投影将硬度计数据和所确定的斜率映射到单个综合硬度度量(366)。可以执行该映射,以便生成综合硬度曲线,该综合硬度曲线反映了不同类型的食品,诸如坚硬食品和柔软食品。例如,透度计数据354的斜率可以用于准确地确定坚硬食品的硬度,但是对于确定柔软食品的硬度可能不那么敏感。因此,计算机系统可以使用正交回归和投影来执行映射,并且生成综合硬度曲线,该综合硬度曲线反映了各种食品类型(例如,坚硬食品和柔软食品)的硬度变化。
173.正交回归和投影技术可以用于检查两个连续变量之间的线性关系。这里,如图3d中所示,正交回归用于确定归一化透度计斜率和归一化硬度计值之间的关系。正交投影是线性变换的一种形式,用于将归一化透度计斜率和归一化硬度计值投影到单个曲线/线上。因此,单个曲线/线将来自二维的数据压缩到单个轴上。在一些实现方式中,计算机系统可以映射一个或多个其他度量以构建单个曲线,该单个曲线将来自多个维度的数据压缩到单个轴上。例如,计算机系统可以将最大力和硬度计值映射到表示硬度度量的单个曲线上。计算机系统也可以将最大力、斜率和硬度值映射到单个曲线上。有时,计算机系统可以将auc和硬度计值映射到单个曲线上。计算机系统也可以将auc、斜率和硬度值映射到单个曲线上。在一些实现方式中,计算机系统可以将auc、最大力和硬度计值映射到单个曲线上。有时,计算机系统可以将auc、最大力、斜率和硬度计值映射到单个曲线上。因此,计算机系统可以投影二维、三维和四维映射,以生成综合设计硬度度量。
174.计算机系统可以在374中基于映射来生成设计硬度度量。如本文中所述,硬度度量可以代表成熟度度量,并且可以使用354-360中的破坏性测量结果来设计。更具体地,可以使用如在366中确定的透度计数据354的斜率来设计硬度度量。透度计数据354的斜率可以与一种或多种类型的食品(诸如坚硬食品)的硬度相关联。也可以使用硬度计数据356到透度计数据354的斜率的映射来设计硬度度量,该硬度计数据356可以与一种或多种其他类型的食品(诸如柔软食品、和/或坚硬食品和柔软食品)的硬度相关联。
175.计算机系统可以在376中生成训练模型。可以对模型进行训练,以将设计硬度度量与光谱仪数据和其他可选的非破坏性输入数据相关联。换言之,可以对模型进行训练,以学
习光谱到设计硬度度量的映射。因此,在374中生成的硬度度量可以成为经训练的机器学习模型的期望输出。可以生成并且训练模型,以接收非破坏性测量结果作为输入,并且在运行时期间不破坏或以其他方式侵入食品的情况下直接预测设计硬度度量。
176.计算机系统然后可以在378中输出训练模型。一旦输出了模型,模型就可以用于非破坏性地识别食品的硬度或其他成熟度水平。
177.图3c示出了硬度度量380,该硬度度量可以使用为训练模型以确定食品成熟度而收集的数据来确定。如以上参考图3b中的处理350所描述的,计算机系统可以训练模型以预测设计硬度度量,该设计硬度度量可以代表贯穿本公开描述的食品成熟度(例如,设计成熟度度量)。如图3b中的处理350的352中所述,计算机系统可以在模型训练期间接收力数据和深度数据作为透度计数据。对力数据和深度数据进行映射可以产生硬度度量380,该硬度度量可以包括最大力、曲线下的面积和斜率。计算机系统可以训练模型,以在运行时期间使用光谱数据或其他非破坏性测量结果来预测这些硬度度量380中的任意一个。
178.可以通过找到深度范围内两个力端点之间的差来确定斜率。深度范围可以是例如0.5-2mm。深度范围也可以是1.5-2mm。深度范围可以是一个或多个其他范围,包括但不限于1-3mm、2.5-4.5mm或0.5-1.5mm。在一些实现方式中,深度范围可以是更长或更短的范围。
179.可以针对任意深度范围来确定auc,只要力数据被标准化和/或在相同深度范围内和/或在相同深度端点处被获取即可。例如,可以针对0-8mm的深度范围来确定auc。也可以针对更长或更短的深度范围来确定auc。例如,深度范围可以是0-4mm、0.5-2mm、1.5-2.5mm、1.5-4.5mm、4-6mm、5-6mm或任意其他深度范围。
180.如图3b中的处理350中所述,透度计数据的斜率可以用于准确地确定不同类型的食品的硬度。图形382提供了对为什么可以使用斜率来确定食品的硬度的理解。斜率386对应于杨氏模量(弹性模量),其指示正被刺穿的材料的刚度。因此,材料的刚度可以对应于食品的硬度。斜率386越大,材料就越刚硬(stiff),这意味着,与更小的斜率相比,食物更坚硬(例如,食物具有更刚硬或更坚硬的果肉)。另一方面,最大力384是屈服强度的指标,其代表穿透材料所需的力。尽管最大力384仍然可以用于确定食品的硬度,但是斜率386可以提供对食品的硬度的更准确的量化。
181.图3d示出了硬度度量390,该硬度度量390可以由被训练为确定食品成熟度的模型来预测。如图3b-图3c中所描述的,本文中所示的硬度度量390可以代表贯穿本公开所描述的设计成熟度度量。基准真值图形392示出了使用正交回归和投影对归一化硬度计数据和归一化透度计数据斜率(或斜率)进行的映射。图形392展示了特定类型的食品(例如鳄梨)在食品成熟时在二维空间中的一致的硬度行为。
182.将硬度计数据和斜率从二维空间映射并且投影到单个一维线394。这是有益的,因为单独的透度计数据可能不是柔软食品的最准确的硬度指标,而单独的硬度计数据可能不是坚硬食品的最准确的硬度指标。例如,在图形392的x轴上处于0到0.5的食品可能是非常柔软和糊状的。在这个数值范围内,透度计可能没有足够的灵敏度以仅根据透度计数据来确定硬度。类似地,在图形392的y轴上介于0.25和1之间的食品可能是非常坚硬的。在这个数值范围内,硬度计可能没有足够的灵敏度以仅根据硬度计数据来准确地确定硬度。因此,可以使用本文中所述的技术将硬度计数据和透度计数据映射并且投影到单个线394中,以便反映不同类型的食品(例如,坚硬食品和柔软食品)。
183.线394可以表示沿着线394的端点396和398之间的单个有界值范围的硬度。端点396和398的值可以变化。例如,端点396可以是值0,并且端点398可以是值100,其中100表示最高硬度水平,并且0表示最低硬度水平。作为另一个示例,端点396可以具有值0,并且端点398可以具有值5。作为另一个示例,端点396可以具有值-1,并且端点398可以具有值1。一个或多个其他值范围可以由端点396和398来定义。
184.由图形392的y轴表示的斜率可以是设计硬度度量390,其中模型被训练为在运行时期间使用光谱数据或其他非破坏性测量结果来预测该设计硬度度量。如上所述,硬度度量390也可以是最大力、auc或其任意组合。硬度度量390可以用于预测各种类型的食品的硬度,包括但不限于坚硬水果和柔软水果。
185.图4a-图4b是用于使用模型实时地确定食品成熟度的处理400的流程图。处理400可以由本文中描述的一个或多个计算系统来执行。例如,处理400可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性目的,从计算系统190的角度来描述处理400。
186.参考图4a-图4b两者中的处理400,计算机系统可以在402中接收农产品的光谱仪成像数据。如本文中所述,在设施(例如,储存设施、仓库)中,农产品可以沿着传送带被移动到不同的位置。光谱成像装置可以被设置成沿着传送带,并且被配置为捕获农产品的成像数据。成像数据可以包括波长信息,该波长信息可以与模型一起用于识别该农产品的成熟度、硬度和/或食用适合度的水平。在一些实现方式中,可以执行处理400来识别一批农产品的成熟度水平。在一些实现方式中,可以执行处理400来识别一批中的特定农产品的成熟度水平。在其他实现方式中,可以从特定农产品的成熟度水平和/或一批中的其他单独农产品的成熟度水平来推断组成熟度水平。
187.计算机系统可以在404中对光谱仪成像数据进行滤波。接收到的光谱仪数据可以是原始输入。一旦应用了模型,就可以使用数据处理技术来优化该原始输入数据,以改进成熟度识别。对数据进行滤波可以包括在406中修剪数据,在408中缩放数据,和/或在410中从数据中去除噪声(例如,参考图7)。与模型一起使用的优选输入可以是频带中的光的振幅。通过在404中对数据进行滤波,可以在接收到的数据中更清楚地定义光的振幅。
188.可以在412中应用模型。换言之,可以将模型应用于滤波后的光谱仪数据。通过应用模型,计算机系统可以在414中确定农产品的成熟度水平。如本文中所述,可以对模型进行训练,以接收滤波后的光谱仪数据,并且将其映射到由计算机系统设计的成熟度度量(例如,参考图1a、图3)。因此,计算机系统可以使用非破坏性的光谱仪数据来预测农产品的成熟度水平。
189.计算机系统然后可以在416中输出农产品的成熟度水平。如本文中所述,成熟度水平可以在用户设备192处输出。输出可以是指示成熟度水平的数字值。输出也可以是成熟度水平的图形描绘。输出可以是用于显示农产品的成熟度水平的一个或多个其他优选形式的输出。
190.计算机系统可以在418中可选地确定供应链修改。示例修改包括在420中将农产品向外移动到消费者,在422中将农产品向外移动到食物加工厂,和/或在424中将农产品向内移动以储存。在一些实现方式中,在农产品处于优选的成熟度水平的情况下,可以优选地将农产品向外移动到消费者(420)。因此,农产品准备好立即食用。如果农产品过熟,则可以优
选地将农产品向外移动到食物加工厂(422)。该农产品可能不太可能被消费者购买,因此在加工食物中使用该农产品可以更高效并且更具成本效益。在农产品尚未达到优选的成熟度水平的情况下,可以优选地将农产品向内移动以储存(424)。可以在418中确定和/或实现一个或多个其他供应链修改。
191.图5是用于使用本文中所述的模型非破坏性地确定食品是否准备好食用的处理500的另一流程图。处理500可以由本文中描述的一个或多个计算系统来执行。例如,处理500可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性目的,处理500被描述为由诸如系统100之类的系统来执行。
192.参考处理500,系统可以在502中接收农产品的图像数据。在一些实现方式中,这可以包括获得食品的高光谱图像。图像可以由一个或多个高光谱图像传感器来生成。如本文中所述,图像数据也可以由一个或多个光谱成像设备(例如,nir设备)来生成。在一些实现方式中,可以使用光谱成像设备来生成所获得的图像数据,该光谱成像设备使用波长为534nm至942nm的光。在其他实现方式中,光谱成像设备可以使用波长为690nm至912nm和/或672nm至948nm的光。
193.系统可以在504中生成用于机器学习模型的输入。在一些实现方式中,504可以包括将在502中获得的数据编码为向量,该向量具有一个或多个字段,一个或多个字段组织来自502的图像数据的数字表示。生成输入可以包括在506中生成训练图像和在508中生成分类标签。训练图像可以包括与农产品有关的数据(诸如波长振幅),其可以用于测量农产品的食用适合度。分类标签可以描述基于训练图像的农产品分类。分类标签可以基于使用农产品的非破坏性测量结果(例如,光谱仪数据)确定的第一农产品适合度数据和使用破坏性测量结果(例如,硬度计数据、透度计数据)确定的第二农产品适合度数据(例如,参考图1a、图3中的模型生成)。在一些实现方式中,描述由训练图像描绘的农产品的农产品分类的标签可以包括农产品得分,该农产品得分可以通过以下方式来确定:将(a)使用农产品的非破坏性测量结果获得的第一农产品适合度数据和(b)使用农产的破坏性测量结果获得的第二农产品适合度数据转换成单个值。
194.在510中,计算机系统可以应用机器学习模型来确定农产品食用适合度水平。可以使用多个训练数据项来训练机器学习模型,以生成指示食品的食用适合度水平的输出。训练数据项可以包括(i)农产品的训练图像和(ii)标签,该标签描述由训练图像描绘的农产品的农产品分类。通过应用机器学习模型,系统可以在实时应用和使用期间以非破坏性的方式确定农产品食用适合度水平。系统可以使用机器学习模型来处理所生成的输入,以便生成指示农产品的食用适合度水平的输出数据。例如,机器学习模型可以通过经训练的机器学习模型的每个层来处理所生成的输入数据,以生成输出数据。机器学习模型可以包括多个层和/或一个或多个神经网络。此外,在一些实现方式中,农产品食用适合度水平可以包括由所获得的图像表示的农产品具有使得农产品适合于食用的一个或多个属性的概率。
195.系统可以在512中输出农产品食用适合度水平。该输出数据可以指示所获得的图像数据中所描绘的农产品的食用适合度水平。输出数据可以由经训练的机器学习模型基于经训练的机器学习模型处理所获得的图像来生成。
196.在514中,系统可以确定农产品是否可以在阈值时间段内食用。所获得的输出数据可以用于进行该确定。尽管图5中未示出,但是514中的确定可以用于进行一个或多个供应
链修改。例如,如果农产品可以在阈值时间段内食用,则农产品可以被引导向外移动到最终消费者(例如,杂货店),以供立即购买和食用。作为另一个示例,如果农产品不能在阈值时间段内食用,则农产品可以被引导向外移动到食物加工厂。作为又一个示例,如果农产品可以在阈值时间段内食用,则系统可以确定农产品实际上适合于食用(例如,优选的成熟度和/或硬度)。如果农产品不能在阈值时间段内食用,则系统可以确定农产品不适合于食用(例如,过熟和/或太柔软)。
197.图6a-图6b是用于使用模型非破坏性地确定一批食品是否准备好食用的处理600的流程图。处理600可以由本文中描述的一个或多个计算系统来执行。例如,处理600可以由计算机系统190、用户设备192和/或系统100来执行(例如,参考图1a-图1c)。为了简单和示例性目的,处理600被描述为由诸如系统100之类的系统执行。
198.参考图6a-图6b两者中的处理600,系统可以在602中接收大量食品的图像数据。在一些实现方式中,例如,系统可以使用高光谱图像传感器来生成多个食品(诸如鳄梨)的高光谱图像。所生成的图像可以存储在存储器设备中。一个或多个其他处理引擎可以从图像传感器、相机和/或从存储器中获得所生成的图像。因此,在602中获得图像数据可以包括由一个或多个图像传感器(例如,光谱成像设备、nir设备、高光谱成像设备)生成图像,从一个或多个图像传感器接收所生成的图像,和/或从存储器设备中获得图像。
199.系统可以在604中识别大量食品中的一个食品。例如,系统可以获得与所获得的图像的第一部分相对应的第一数据。所获得的图像的第一部分可以表示大量食品中的一个或多个食品中的特定食品。在一些实现方式中,例如,系统可以从描绘多个鳄梨的所获得的图像中获得所获得的图像中与单个鳄梨相对应的部分。可以使用如本文中所述的对象识别技术来识别和获得所获得的图像的部分。
200.此外,在606中,系统可以基于所识别的食品来生成用于机器学习模型的输入数据。例如,系统可以获得与第一数据的一部分相对应的第二数据。输入数据可以针对与特定食品相对应的第一图像的所获得的部分的每个像素来生成。在一些实现方式中,例如,系统可以获得描述与单个食品(诸如鳄梨)的图像的特定像素相关联的光波光谱的数据。在一些实现方式中,例如,该生成的输入数据可以包括与所识别的食品的所获得的数据相对应的向量。在这样的实现方式中,输入数据的生成可以包括将所获得的数据编码为向量,所获得的数据描述与单个食品的图像的特定像素相关联的光波光谱。经编码的向量可以包括本文中所述的第二数据的数字表示。
201.如贯穿本公开所述,计算机系统可以在608中生成用于食品的机器学习模型。在一些实现方式中,机器学习模型可以已经如本文中所述地生成(例如,参考图1a、图3)。在一些实现方式中,机器学习模型可以在与使用机器学习模型非破坏性地确定食品的食用适合度相类似的时间实时地生成。
202.在610中,系统可以应用机器学习模型来确定食品食用适合度水平。可以在应用机器学习模型时使用训练图像数据612和分类标签614。因此,系统可以使用机器学习模型来处理所生成的输入,以便使用多个训练数据项来生成指示食品的食用适合度水平的输出数据。如以上参考图5所述,多个训练数据项中的每个训练数据项可以包括(i)食品的训练图像和(ii)标签,该标签描述由训练图像描绘的食品的食品分类。食品分类可以基于(a)使用食品的非破坏性测量结果获得的第一食品适合度数据和(b)使用食品的破坏性测量结果获
得的第二食品适合度数据。例如,机器学习模型可以通过经训练的机器学习模型的每个层来处理所生成的输入数据,以生成输出数据。
203.在616中,系统可以存储食品食用适合度水平(例如,输出数据)。这可以包括例如获得由机器学习模型生成的输出数据,并且将所获得的输出数据存储在一个或多个存储器设备中。由机器学习模型生成的输出数据可以包括指示由在606处获得的第二数据表示的所获得的第一数据的特定部分的食用适合度的数据。在一些实现方式中,输出数据可以包括一个或多个值,一个或多个值表示由机器学习模型非破坏性地推断的食品的所预测的破坏性测量结果。在一些实现方式中,一个或多个值可以是所预测的非破坏性测量结果和所预测的破坏性测量结果。替选地,一个或多个值可以是单个值,诸如所预测的非破坏性测量结果和所预测的破坏性测量结果的斜率。
204.系统然后可以在618中确定是否更多数据与食品相关联。换言之,系统可以确定所获得的第一数据中是否存在可以被分析的另一部分。例如,在一些实现方式中,系统可以确定所获得的图像的第一部分中是否存在可以被分析的另一个像素。如果存在另一个像素,则系统可以返回到606,并且对于所获得的图像的第一部分中的每个剩余像素重复606-618。
205.另一方面,如果没有更多数据与食品相关联(例如,所获得的图像的第一部分中没有可以被分析的额外像素),则系统可以在620中确定大量食品中是否存在更多食品。系统可以确定在602中获得的图像中是否描绘了另一个食品。如果存在另一个食品,则系统可以返回到604,并且对于大量食品中的每个剩余食品重复604-618。
206.替选地,如果大量食品中没有更多食品,则系统可以在622中确定总量食品的食用适合度水平。该确定可以基于存储在存储器中的输出数据。如本文中所述,分析存储在存储器设备中的输出数据可以包括访问存储在存储器设备中的、由来自602的图像数据所描绘的每个食品的每个图像的每个像素的输出数据的总表示,以及分析输出数据的总表示。因此,系统可以确定大量食品中的每个食品的食用适合度水平以及大量食品的总食用适合度水平。
207.在一些实现方式中,如参考图5-图6所述,系统可以在逐个像素的基础上确定食品的食用适合度。例如,系统可以获得食品的图像,并且对于食品的图像的每个像素,系统可以针对该像素生成输入数据,将所生成的输入数据作为输入提供给机器学习模型,该机器学习模型已被训练为使用多个训练数据项来生成指示食品的食用适合度水平的输出数据,基于经训练的机器学习模型处理所获得的图像,获得由经训练的机器学习模型生成的输出数据,将所获得的输出数据存储在存储器设备中,以及基于针对图像的每个像素生成的所存储的输出数据,确定由所获得的图像描绘的食品是否适合于食用。此外,系统可以根据基于图像的每个像素的所存储的输出数据生成总值来确定食品是否适合于食用。在一些实现方式中,系统可以确定总值满足预定阈值,这可以指示食品适合于食用。在一些实现方式中,系统可以确定总值不满足预定阈值,这可以指示食品不适合于食用。
208.图7是使用本文中描述的模型来确定食品成熟度的图形描绘。图7是确定鳄梨的硬度的示例实验。可以接收原始光谱数据702。如本文中所述,该数据可以是nir数据。可以处理数据704。处理数据可以包括修剪和缩放光谱数据。也可以应用萨维茨基-戈莱二阶导数滤波器以对光谱数据进行滤波。在示例实验中,可以对~2000个鳄梨中的每个鳄梨的原始
nir光谱数据进行修剪、缩放和滤波,以从数据中消除噪声,并且使光谱中的差异更加明显。因此,可以输出滤波后的光谱数据图形706。
209.可以将模型应用于滤波后的光谱数据708。在示例实验中,可以使用偏最小二乘(partial least squares,pls)模型来展示扩展肖氏投影线中的最大方差(例如,参考图3)。扩展肖氏投影线可以提供单个参考值,该单个参考值可以用于根据nir数据进行模型开发。使用该模型,可以预测硬度水平(例如,成熟度水平、食用适合度水平)712。
210.所预测的硬度水平可以在硬度输出图形714中输出。图形714可以指示农产品的硬度、成熟度或食用适合度。如示例图形714中所示,对于处于不同成熟阶段的近4000个鳄梨,在x轴上绘制3个硬度计测量结果的中位值,并且在y轴上绘制2个透度计测量结果的平均值。这些鳄梨也来自于不同的原产地,包括墨西哥、秘鲁和加利福尼亚。如图所示,透度计对未成熟(坚硬)鳄梨的硬度变化敏感,但是对柔软鳄梨(尤其是在1lb(70肖氏)以下)的硬度变化不敏感。替选地,硬度计对柔软鳄梨(《70肖氏)的硬度变化敏感,但是对坚硬(未成熟)鳄梨的硬度变化不敏感。如本文中所述(例如,参考图3),透度计对柔软鳄梨不敏感并且硬度计对坚硬鳄梨不敏感的点可以由拐点来表示。
211.图8是系统组件的框图,该系统组件可以用于实现用于基于由经训练的机器学习模型生成的输出数据非破坏性地确定食品是否适合于食用的系统。计算设备800旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。移动计算设备旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里所示的组件、它们的连接和关系以及它们的功能意味着仅是示例性的,而不是意味着限制本文档中描述和/或要求保护的发明的实现方式。
212.计算设备800包括处理器802、存储器804、存储设备806、连接到存储器804和多个高速扩展端口810的高速接口808、以及连接到低速扩展端口814和存储设备806的低速接口812。处理器802、存储器804、存储设备806、高速接口808、高速扩展端口810和低速接口812中的每个都使用各种总线互连,并且可以安装在公共主板上或适当地以其他方式安装。处理器802可以处理用于在计算设备800内执行的指令,包括存储在存储器804或存储设备806上的指令,以在外部输入/输出设备(诸如耦合到高速接口808的显示器816)上显示gui的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备,其中每个设备提供需要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
213.存储器804在计算设备800内存储信息。在一些实现方式中,存储器804是一个或多个易失性存储器单元。在一些实现方式中,存储器804是一个或多个非易失性存储器单元。存储器804还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
214.存储设备806能够为计算设备800提供大容量存储。在一些实现方式中,存储设备806可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,该指令在执行时执行一个或多个方法,诸如以上描述的那些方法。计算机程序产品还可以有形地体现在计算机可读介质或机器可读介质中,诸如存储器804、存储设备806或处理器802上的存储器。
215.高速接口808管理计算设备800的带宽密集型操作,而低速接口812管理较低带宽密集型操作。这样的功能分配仅仅是示例性的。在一些实现方式中,高速接口808耦合到存储器804、显示器816(例如,通过图形处理器或加速器),并且耦合到高速扩展端口810,高速扩展端口可以接受各种扩展卡(未示出)。在实现方式中,低速接口812耦合到存储设备806和低速扩展端口814。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口814可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或联网设备(诸如交换机或路由器)。
216.计算设备800可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器820,或者在一组这样的服务器中被多次实现。此外,它可以在诸如膝上型计算机822之类的个人计算机中实现。它也可以被实现为机架服务器系统824的一部分。替选地,来自计算设备800的组件可以与诸如移动计算设备850之类的移动设备(未示出)中的其他组件相组合。每个这样的设备可以包含计算设备800和移动计算设备850中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。
217.移动计算设备850除了其他组件外,还包括处理器852、存储器864、诸如显示器954之类的输入/输出设备、通信接口866和收发器868。移动计算设备850还可以设置有存储设备,诸如微驱动器或其他设备,以提供额外的存储。处理器852、存储器864、显示器854、通信接口866和收发器868中的每个都使用各种总线互连,并且若干个组件可以安装在公共主板上或者适当地以其他方式安装。
218.处理器852可以在移动计算设备850内执行指令,包括存储在存储器864中的指令。处理器852可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。处理器852可以提供例如移动计算设备850的其他组件的协调,诸如用户接口的控制、由移动计算设备850运行的应用以及由移动计算设备850进行的无线通信。
219.处理器852可以通过耦合到显示器854的控制接口858和显示接口856与用户进行通信。显示器854可以是例如tft(薄膜晶体管液晶显示器)显示器或oled(有机发光二极管)显示器,或者其他适当的显示技术。显示接口856可以包括用于驱动显示器854向用户呈现图形和其他信息的适当电路。控制接口858可以接收来自用户的命令并且对其进行转换以提交给处理器852。此外,外部接口862可以提供与处理器852的通信,以便实现移动计算设备850与其他设备的近区域通信。外部接口862例如可以在一些实现方式中提供有线通信,或者在其他实现方式中提供无线通信,并且也可以使用多个接口。
220.存储器864在移动计算设备850内存储信息。存储器864可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器874,并且通过扩展接口872将扩展存储器874连接到移动计算设备850,该扩展接口可以包括例如simm(单直列存储器模块)卡接口。扩展存储器874可以为移动计算设备850提供额外的存储空间,或者还可以为移动计算机设备850存储应用或其他信息。具体地,扩展存储器874可以包括用于执行或补充上述处理的指令,并且还可以包括安全信息。因此,例如,扩展存储器874可以被提供为移动计算设备850的安全模块,并且可以利用允许安全使用移动计算设备850的指令进行编程。此外,可以经由simm卡来提供安全应用,以及附加信息,诸如以不可破解的方式将识别信息放置在simm卡上。
221.存储器可以包括例如闪存和/或nvram存储器(非易失性随机存取存储器),如下所
述。在一些实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,该指令在执行时执行一个或多个方法,诸如以上描述的那些方法。计算机程序产品可以是计算机可读介质或机器可读介质,诸如存储器864、扩展存储器874或处理器852上的存储器。在一些实现方式中,可以例如通过收发器868或外部接口862在传播的信号中接收计算机程序产品。
222.移动计算设备850可以通过通信接口866进行无线通信,该通信接口在需要时可以包括数字信号处理电路。通信接口866可以提供在各种制式或协议下的通信,诸如gsm语音呼叫(全球移动通信系统)、sms(短消息服务)、ems(增强消息服务)或mms消息(多媒体消息服务),cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝),wcdma(宽带码分多址)、cdma2000或gprs(通用分组无线电服务)等。这样的通信可以例如通过使用射频的收发器868来进行。此外,可以诸如使用蓝牙、wifi或其他这样的收发器(未示出)来进行短距离通信。此外,gps(全球定位系统)接收器模块870可以向移动计算设备850提供额外的与导航相关和与位置相关的无线数据,该无线数据可以由在移动计算设备850上运行的应用程序适当地使用。
223.移动计算设备850还可以使用音频编解码器860进行可听通信,该音频编解码器可以从用户接收语音信息并且将其转换为可用的数字信息。音频编解码器860同样可以为用户生成可听的声音,诸如通过例如在移动计算设备850的手持设备中的扬声器。这样的声音可以包括来自语音电话呼叫的声音,可以包括所录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备850上操作的应用生成的声音。
224.移动计算设备850可以以多种不同的形式来实现,如图所示。例如,它可以被实现为蜂窝电话880。它也可以被实现为智能电话882、个人数字助理或其他类似移动设备的一部分。
225.这里描述的系统和技术的各种实现方式可以以数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程系统包括至少一个可编程处理器、存储系统、至少一个输入设备、以及至少一个输出设备,至少一个可编程处理器可以是专用的或通用的,耦合到存储系统以从存储系统接收数据和指令并且向存储系统发送数据和指令。
226.这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文中所使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
227.为了提供与用户的交互,这里描述的系统和技术可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及键盘和指点设备(例如鼠标或轨迹球),用户可以通过该键盘和指点设备向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用
户的输入,包括声音、语音或触觉输入。
228.这里描述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如,具有图形用户界面或网络(web)浏览器的客户端计算机,用户可以通过该图形用户界面和网络(web)浏览器与这里描述的系统和技术的实现方式进行交互),或者这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(lan)、广域网(wan)和因特网。
229.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。
230.虽然本说明书包含许多具体的实现细节,但是这些细节不应被解释为对所公开的技术或可能要求保护的内容的范围的限制,而是应被解释为对可能特定于所公开的特定技术的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以部分地或全部地在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征在本文中可以被描述为以某些组合和/或如最初被要求保护的那样起作用,但是来自所要求保护的组合的一个或多个特征可以在某些情况下从该组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变型。类似地,虽然可以按特定顺序描述操作,但是这不应被理解为要求以特定顺序或以序列顺序执行这样的操作,或者要求执行所有操作,以获得期望的结果。已描述了主题的特定实施例。其他实施例在以下权利要求的范围内。
技术特征:
1.一种用于使用食品的非接触式评估来确定食品的成熟度水平的方法,所述方法包括:由计算系统并且从光谱成像设备接收食品的光谱数据;由所述计算系统对所述光谱数据进行滤波;由所述计算系统并且基于将训练模型应用于滤波后的光谱数据来确定食品的成熟度水平,其中,使用(i)其他食品的一个或多个破坏性测量结果和(ii)其他食品的光谱数据对所述训练模型进行训练,其中,其他食品具有与食品相同的食物类型,其中,在不对食品进行破坏性测量的情况下确定食品的成熟度水平;以及由所述计算系统向用户计算设备发送食品的成熟度水平以在所述用户计算设备处显示。2.根据权利要求1所述的方法,其中,所述光谱数据包括食品的一个或多个非破坏性测量结果。3.根据权利要求1所述的方法,其中,所述训练模型包括一个或多个层,其中,每个层包括(i)其他食品的训练图像和(ii)标签,所述标签指示由所述训练图像描绘的其他食品中的每个其他食品的食品分类。4.根据权利要求1所述的方法,其中,对所述光谱数据进行滤波包括:修剪所述光谱数据;缩放所述光谱数据;以及将萨维茨基-戈莱二阶导数滤波器应用于所述光谱数据以减少噪声。5.根据权利要求1所述的方法,进一步包括基于食品的成熟度水平超过阈值来确定食品适合于食用。6.根据权利要求1所述的方法,进一步包括基于食品的成熟度水平小于阈值来确定食品不适合于食用。7.根据权利要求1所述的方法,其中,食品是鳄梨、苹果和浆果中的至少一个。8.根据权利要求1所述的方法,其中,所述光谱成像设备使用波长为534nm至942nm的光来捕获所述光谱数据。9.根据权利要求1所述的方法,其中,所述光谱成像设备使用波长为690nm至912nm的光来捕获所述光谱数据。10.根据权利要求1所述的方法,其中,所述光谱成像设备使用波长为672nm至948nm的光来捕获所述光谱数据。11.根据权利要求1所述的方法,其中,所述光谱成像设备使用波长在530nm至950nm范围内的光来捕获所述光谱数据。12.根据权利要求1所述的方法,其中,食品的成熟度水平进一步基于输入数据,所述输入数据包括下列中的至少一个:(i)食品的原产地,(ii)食品的储存温度,和(iii)与食品相关联的历史成熟信息。13.根据权利要求1所述的方法,其中,所述光谱成像设备是点光谱仪。14.根据权利要求1所述的方法,其中,使用包括以下步骤的处理来训练所述模型:由所述计算系统接收从透度计数据曲线导出的值,其中,使用来自其他食品的一个或多个透度计的透度计数据来生成所述透度计数据曲线;
由所述计算系统使用正交回归和投影将所述值和来自其他食品的一个或多个硬度计的硬度计数据映射到硬度曲线;由所述计算系统基于所述映射来生成设计硬度度量;以及由所述计算系统训练所述模型,以使用其他食品的光谱数据来预测所述设计硬度度量。15.根据权利要求14所述的方法,其中:所述透度计数据包括深度数据和力数据,以及所述透度计数据曲线表示所述深度数据和所述力数据之间的关系。16.根据权利要求15所述的方法,其中,从所述透度计数据曲线导出的值是该曲线的斜率,所述斜率是在所述深度数据的预定范围内所述力数据的两个点之间的差。17.根据权利要求16所述的方法,其中,所述深度数据的预定范围是1.5mm至2mm。18.根据权利要求14所述的方法,其中,从所述透度计数据曲线导出的值是最大力。19.根据权利要求14所述的方法,其中,从所述透度计数据曲线导出的值是所述透度计数据曲线下的面积。20.根据权利要求14所述的方法,其中,从所述透度计数据曲线导出的值是在最大力之后所述透度计数据曲线下的面积。21.根据权利要求14所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率和该曲线的最大力,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、最大力和所述硬度计数据映射到所述硬度曲线。22.根据权利要求14所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。23.根据权利要求14所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的最大力和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将最大力、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。24.根据权利要求14所述的方法,其中:从所述透度计数据曲线导出的值是该曲线的斜率、该曲线的最大力和该曲线下的面积,所述方法进一步包括由所述计算系统使用正交回归和投影将斜率、最大力、该曲线下的面积和所述硬度计数据映射到所述硬度曲线。25.一种用于生成训练模型以确定食品的成熟度度量的方法,所述方法包括:由计算系统接收(i)来自一个或多个透度计的透度计数据,以及(ii)来自相同食物类型的多个测试食品的一个或多个硬度计的硬度计数据;由所述计算系统选择所述透度计数据和所述硬度计数据的部分;由所述计算系统基于所述透度计数据和所述硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量;以及
由所述计算系统基于所述成熟度度量来生成机器学习训练模型,其中,所述机器学习训练模型将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的所述成熟度度量进行建模。26.根据权利要求25所述的方法,其中,选择所述透度计数据和所述硬度计数据的部分包括:绘制所述透度计数据和所述硬度计数据;识别所绘制的透度计数据和所绘制的硬度计数据中的拐点;基于所述拐点选择所述透度计数据和所述硬度计数据的部分;以及丢弃所述透度计数据和所述硬度计数据的未选择的部分。27.根据权利要求26所述的方法,其中,基于所述拐点选择所述透度计数据和硬度计数据的部分包括选择所述透度计数据的在所述拐点之前的部分并且选择所述硬度计数据的在所述拐点之后的部分。28.根据权利要求27所述的方法,进一步包括丢弃所述硬度计数据的在所述拐点之前的部分并且丢弃所述透度计数据的在所述拐点之后的部分。29.根据权利要求26所述的方法,其中,生成所述机器学习训练模型包括:(i)将所述透度计数据的在所述拐点之前的所选择的部分与对应于坚硬的所述多个测试食品的光谱数据的一个或多个波长相关联,以及(ii)将所述硬度计数据的在所述拐点之后的所选择的部分与对应于柔软的测试食品的光谱数据的一个或多个波长相关联。30.根据权利要求25所述的方法,其中,所述机器学习训练模型进一步将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与下列中的至少一个相关联:(i)原产地,(ii)储存温度,和(iii)与相同食物类型的食品相关联的历史成熟信息。31.一种用于基于食品的成熟度水平来修改供应链的方法,所述方法包括:由计算系统接收食品类型的食品的成熟度水平,其中,使用食品的非破坏性测量结果和用于所述食品类型的训练模型来确定所述成熟度水平,其中,使用所述食品类型的其他食品的一个或多个破坏性测量结果对所述训练模型进行训练;由所述计算系统识别食品的供应链信息,所述供应链信息包括食品的预先存在的供应链计划表和目的地;由所述计算系统基于接收到的成熟度水平来确定是否修改食品的所述供应链信息;响应于确定修改所述供应链信息,由所述计算系统基于接收到的成熟度水平来生成修改后的供应链信息,其中,所述修改后的供应链信息包括食品的修改后的供应链计划表和修改后的目的地中的一个或多个;以及由所述计算系统将修改后的供应链信息发送到一个或多个供应链参与者以实现修改后的供应链信息。32.根据权利要求31所述的方法,进一步包括:由所述计算系统并且基于接收到的成熟度水平超过阈值来确定食品适合于由最终消费者食用;以及由所述计算系统并且基于接收到的成熟度水平小于所述阈值来确定食品不适合于由
所述最终消费者食用。33.根据权利要求31所述的方法,其中,所述修改后的供应链信息包括指令,所述指令在由所述一个或多个供应链参与者执行时使得食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。34.根据权利要求31所述的方法,其中,所述修改后的供应链信息包括指令,所述指令在由所述一个或多个供应链参与者执行时使得食品被移动以向外装运到食物加工厂。35.一种用于使用食品的非接触式评估来确定食品的成熟度水平的系统,所述系统包括:一个或多个透度计,被配置为测量相同食物类型的多个测试食品的透度计数据;一个或多个硬度计,被配置为测量相同食物类型的所述多个测试食品的硬度计数据;一个或多个光谱成像设备,被配置为测量相同食物类型的食品的光谱数据;以及至少一个计算系统,被配置为:接收所述透度计数据和所述硬度计数据;选择所述透度计数据和所述硬度计数据的部分;基于所述透度计数据和所述硬度计数据的所选择的部分来确定相同食物类型的食品的成熟度度量;基于所述成熟度度量来生成机器学习训练模型,其中,所述机器学习训练模型将由所述透度计数据的所选择的部分和所述硬度计数据的所选择的部分提供的破坏性测量结果与由光谱数据提供的非破坏性测量结果相关联,以对相同食物类型的食品的所述成熟度度量进行建模;从所述一个或多个光谱成像设备接收相同食物类型的食品的光谱数据;对相同食物类型的食品的所述光谱数据进行滤波;基于将所述机器学习训练模型应用于相同食物类型的食品的滤波后的光谱数据,确定食品的成熟度水平,其中,在不对食品进行破坏性测量的情况下确定食品的所述成熟度水平;识别食品的供应链信息,所述供应链信息包括食品的预先存在的供应链计划表和目的地;基于食品的所述成熟度水平来确定是否修改食品的所述供应链信息;响应于确定修改所述供应链信息,基于食品的所述成熟度水平来生成修改后的供应链信息,其中,所述修改后的供应链路信息包括食品的修改后的供应链计划表和修改后的目的地中的一个或多个;以及向用户计算设备发送(i)食品的所述成熟度水平和(ii)所述修改后的供应链信息,以在所述用户计算设备处显示。36.根据权利要求35所述的系统,其中,使用包括以下步骤的处理来训练所述模型:由所述至少一个计算系统接收从透度计数据曲线导出的值,其中,使用相同食物类型的食品的所述透度计数据来生成所述透度计数据曲线;由所述至少一个计算系统使用正交回归和投影将所述值和所述硬度计数据映射到硬度曲线;由所述至少一个计算系统基于所述映射来生成所述成熟度度量;以及
由所述至少一个计算系统训练所述模型以使用相同食物类型的食品的光谱数据来预测所述成熟度度量。37.根据权利要求36所述的系统,其中,从所述透度计数据曲线导出的值是该曲线的斜率。38.根据权利要求35所述的系统,其中,所述一个或多个光谱成像设备包括点光谱仪。39.根据权利要求35所述的系统,其中,所述机器学习训练模型包括一个或多个层,其中,每个层包括(i)相同食物类型的所述多个测试食品的训练图像和(ii)标签,所述标签指示由所述训练图像描绘的所述多个测试食品中的每个测试食品的食品分类。40.根据权利要求35所述的系统,其中,所述至少一个计算系统进一步被配置为基于食品的所述成熟度水平超过阈值来确定食品适合于食用。41.根据权利要求35所述的系统,其中,所述至少一个计算系统进一步被配置为基于食品的所述成熟度水平小于阈值来确定食品不适合于食用。42.根据权利要求35所述的系统,其中,所述至少一个计算系统进一步被配置为基于(i)将所述透度计数据的所选择的部分与对应于坚硬的多个测试食品的光谱数据的一个或多个波长相关联、以及(ii)将所述硬度计数据的所选择的部分与对应于柔软的所述多个测试食品的光谱数据的一个或多个波长相关联来生成所述机器学习训练模型。43.根据权利要求35所述的系统,其中,所述修改后的供应链信息包括指令,所述指令当由一个或多个供应链参与者在所述用户计算设备处执行时使得食品被移动以向外装运到在地理上最靠近于食品的位置的最终消费者。44.根据权利要求35所述的系统,其中,所述修改后的供应链信息包括指令,所述指令当由所述一个或多个供应链参与者在所述用户计算设备处执行时使得食品被移动以向外装运到食物加工厂。
技术总结
公开了用于确定诸如农产品和水果之类的食品的成熟度、硬度或食用适合度的系统和方法。本公开可以提供生成机器学习模型以检测食品成熟度。可以使用一个或多个食品的破坏性测量结果和非破坏性测量结果来生成模型。然后可以实时将模型应用于食品的光谱成像数据。光谱成像数据可以由点光谱仪捕获。使用模型和光谱成像数据,可以以非破坏性的方式确定食品的成熟度。所确定的食品成熟度然后可以用于确定一个或多个供应链修改。个或多个供应链修改。个或多个供应链修改。
技术研发人员:R
受保护的技术使用者:阿比尔技术公司
技术研发日:2022.03.16
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:包围体层次结构的可扩展并行构建的制作方法 下一篇:包括导电构件的电子装置的制作方法
