首页 / 专利库 / 电脑零配件 / 手持设备 / 使用手持设备对木板的自动检测、计数和测量

使用手持设备对木板的自动检测、计数和测量

阅读:1发布:2020-05-21

专利汇可以提供使用手持设备对木板的自动检测、计数和测量专利检索,专利查询,专利分析的服务。并且图像处理 系统接收描绘板材 捆 的图像。该板材捆具有垂直于板材的长轴的 正面 ,并且所述图像相对于长轴以一 角 度拍摄。图像处理系统应用单应性变换以估计正面的正面视图并识别估计中的行间的多个分界线。对于行间的多个分界线中的每个相邻分界线对,识别多个垂直分界线。图像处理系统识别由行间的相邻分界线对和相邻垂直分界线对所限定的一组边界框。图像处理系统可以过滤和/或合并一些边界框以更好地将边界框与各个板材匹配。图像处理系统基于边界框来确定板材捆中板材的数量。,下面是使用手持设备对木板的自动检测、计数和测量专利的具体信息内容。

1.一种用于图像处理系统以分析板材的计算机实现的方法,所述板材捆具有垂直于所述板材捆中的板材的长轴的正面,所述方法包括:
接收图像,所述图像的部分描绘所述板材捆,所述图像相对于所述板材捆中的板材的长轴以一度拍摄;
对图像应用单应性变换以估计正面的正面视图,所述正面视图是当所述正面被从平行于所述板材捆中的板材的长轴的视角观察时,该正面的外观;
识别所述正面视图的估计中的行间的多个分界线;
针对行间的所述多个分界线中的每个相邻分界线对,识别多个垂直分界线;
识别一组边界框,每个边界框由以下各项来限定:行间的一对相邻分界线,以及布置在行间的该对相邻分界线之间的一对相邻的垂直分界线;以及
基于该组边界框来确定所述板材捆中的板材的数量。
2.根据权利要求1所述的方法,其中,识别所述行间的所述多个分界线包括:
从所述正面视图的估计生成平投影,所述水平投影包括多个峰值;以及响应于所述多个峰值中大小超过水平分界线阈值的峰值,将该峰值识别为对应于行间的分界线。
3.根据权利要求1所述的方法,其中,识别行的所述多个垂直分界线包括:
从所述行生成垂直投影,所述垂直投影包括多个峰值;
响应于所述多个峰值中大小超过垂直分界线阈值的峰值,将该峰值识别为所述垂直分界线。
4.根据权利要求3所述的方法,其中,识别所述行的所述多个垂直分界线还包括:
生成所述多个峰值的直方图,所述垂直分界线阈值将所述多个峰值分成两组;
基于同一组中的每个峰值与其他峰值之间的总差值来设置所述垂直分界线阈值。
5.根据权利要求1所述的方法,还包括过滤所述一组边界框,所述过滤包括:
识别总面积小于最小面积阈值的边界框;以及
基于所述边界框所包围的像素颜色分布,去除对应于板材间的间隙的边界框。
6.根据权利要求1所述的方法,还包括:
识别总面积小于最小面积阈值的边界框;
针对多个相邻边界框中的每一个边界框,计算合并边界框的总面积,所述合并边界框将由所述边界框和所述相邻边界框的合并生成;
基于所述总面积和已被确定为与板材对应的边界框的中值面积的比较,选择所述多个相邻边界框之一;以及
将所述边界框与所选择的相邻边界框进行合并。
7.根据权利要求1所述的方法,还包括:
确定所述正面视图的估计中的像素的尺寸与现实世界中的物理尺寸之间的映射;以及基于所述映射来估计在所述正面视图的估计中描绘的板材的物理尺寸。
8.一种被配置成分析板材捆的图像处理系统,所述板材捆具有垂直于所述板材捆中的板材的长轴的正面,所述图像处理系统包括:
处理器;以及
包括存储指令的计算机可读介质,所述存储指令在被执行时使所述处理器:
接收图像,所述图像的部分描绘板材捆,所述图像相对于所述板材捆中的板材的长轴以一角度拍摄;
对图像应用单应性变换以估计正面的正面视图,所述正面视图是当所述正面被从平行于所述板材捆中的板材的长轴的视角观察时,该正面的外观;
识别所述正面视图的估计中的行间的多个分界线;
针对所述行间的多个分界线中的每个相邻分界线对,识别多个垂直分界线;
识别一组边界框,每个边界框由以下各项来限定:行间的一对相邻分界线,以及布置在行间的该对相邻分界线之间的一对相邻的垂直分界线;以及
根据该组边界框来确定所述板材捆中的板材的数量。
9.根据权利要求8所述的图像处理系统,其中,识别所述行间的多个分界线的指令包括使得处理器执行以下操作的指令:
从正面视图的估计生成水平投影,所述水平投影包括多个峰值;以及响应于所述多个峰值中大小超过水平分界线阈值的峰值,将该峰值识别为对应于行间的分界线。
10.根据权利要求8所述的图像处理系统,其中,识别行的多个垂直分界线的指令包括使处理器执行以下操作的指令:
从所述行生成垂直投影,所述垂直投影包括多个峰值;
响应于所述多个峰值中大小超过垂直分界线阈值的峰值,将该峰值识别为所述垂直分界线。
11.根据权利要求10所述的图像处理系统,其中,识别行的多个垂直分界线的所述指令还包括使处理器执行以下操作的指令:
生成所述多个峰值的直方图,所述垂直分界线阈值将所述多个峰值分成两组;
基于同一组中的每个峰值与其他峰值之间的总差值来设置所述垂直分界线阈值。
12.根据权利要求8所述的图像处理系统,其中,所述指令还包括使所述处理器执行以下操作的指令:
识别总面积小于最小面积阈值的边界框;以及
基于所述边界框所包含的像素的颜色分布,去除对应于板材间的间隙的边界框。
13.根据权利要求8所述的图像处理系统,其中,所述指令还包括使所述处理器执行以下操作的指令:
识别总面积小于最小面积阈值的边界框;
针对所述多个相邻边界框中的每一个边界框,计算合并边界框的总面积,所述合并边界框将由所述边界框和所述相邻边界框的合并生成;
基于所述总面积和已被确定为与板材对应的边界框的中值面积的比较,选择所述多个相邻边界框之一;以及
将所述边界框与所选择的相邻边界框进行合并。
14.根据权利要求8所述的图像处理系统,其中,所述指令还包括使所述处理器执行以下操作的指令:
确定所述正面视图估计中的像素的尺寸与现实世界中的物理尺寸之间的映射;以及基于所述映射来估计在所述正面视图的估计中描绘的板材的物理尺寸。
15.一种非暂时性计算机可读介质,被配置成存储指令,所述指令在由处理器执行时使所述处理器:
接收图像,所述图像的部分描绘板材捆,所述板材捆具有垂直于所述板材捆中的板材的长轴的正面,所述图像相对于所述板材捆中的板材的长轴以一角度拍摄;
对图像应用单应性变换以估计正面的正面视图,所述正面视图是当所述正面被从平行于所述板材捆中的板材的长轴的视角观察时,该正面的外观;
识别所述正面视图的估计中的行间的多个分界线;
针对所述行间的多个分界线中的每个相邻分界线对,识别多个垂直分界线;
识别一组边界框,每个边界框由以下各项来限定:行间的一对相邻分界线,以及布置在行间的该对相邻分界线之间的一对相邻的垂直分界线;以及
基于该组边界框来确定所述板材捆中板材的数量。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,识别所述行间的多个分界线的指令包括使所述处理器执行以下操作的指令:
从正面视图的估计生成水平投影,所述水平投影包括多个峰值;以及响应于所述多个峰值中大小超过水平分界线阈值的峰值,将该峰值识别为对应于行间的分界线。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,识别所述行的多个垂直分界线的指令包括使所述处理器执行以下操作的指令:
从所述行生成垂直投影,所述垂直投影包括多个峰值;
生成所述多个峰值的直方图,所述垂直分界线阈值将所述多个峰值分成两组;
基于同一组中每个峰值与其他峰值之间的总差值来设置垂直分界线阈值;以及响应于所述多个峰值中大小超过所述垂直分界线阈值的峰值,将该峰值识别为垂直分界线。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述指令还包括使所述处理器执行以下操作的指令:
识别总面积小于最小面积阈值的边界框;以及
基于所述边界框所包含的像素的颜色分布,去除对应于板材间的间隙的边界框。
19.根据权利要求15所述的非暂时性计算机可读介质,其中,所述指令还包括使所述处理器执行以下操作的指令:
识别总面积小于最小面积阈值的边界框;
针对所述多个相邻边界框中的每一个边界框,计算合并边界框的总面积,所述合并边界框将由所述边界框和所述相邻边界框合并生成;
基于所述总面积和已被确定为与板材对应的边界框的中值面积的比较,选择所述多个相邻边界框之一;以及
将所述边界框与所选择的相邻边界框进行合并。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,所述指令还包括使所述处理器执行以下操作的指令:
确定所述正面视图的估计中的像素的尺寸与现实世界中的物理尺寸之间的映射;以及基于所述映射来估计在所述正面视图的估计中描绘的板材的物理尺寸。

说明书全文

使用手持设备对木板的自动检测、计数和测量

[0001] 相关申请的交叉参考
[0002] 本申请要求2016年12月27日提交的美国临时申请No.62/439,437和2017年10月24日提交的美国临时申请No.62576,442的权益,这两个申请的全部内容通过引用并入本文。

技术领域

[0003] 本公开大体涉及库存管理领域,尤其涉及使用由手持设备拍摄的图像来对板材进行自动计数和测量。

背景技术

[0004] 使用自动计算和来自相机的图像对木板计数的技术存在很多挑战。例如,可能存在光照、视点、尺度(相机和光束之间的距离)、板材的尺寸、板材的形状和板材的纹理以及模糊、阴影、干扰物(例如,写在板材上的标记)的变化,以及板材在外观和结构上的不规则性。
[0005] 考虑到大量的变化,现有的自动板材计数系统依靠具有固定相机和光照的安装系统。这种系统为拍摄图像提供了高度受控环境。虽然这些系统是有效的,但它们的配置和操作都很昂贵。此外,需要额外的资源来精准的定位板材,以使得板材可以通过安装系统内的相机适当地成像,这可能比较耗时。
[0006] 现在通常使用带有相机的手持设备。例如,许多人现在携带包括相机的智能手机。然而,使用这样的设备拍摄的图像可能更容易受到上述类型变化的影响,使得自动分析变得困难。因此,具有相机的移动设备无法有效解决这些挑战。
附图说明
[0007] 所公开的实施例具有的优点和特征将从详细描述、所附权利要求和附图(或附图)中更加显而易见。以下是对这些附图的简要介绍。
[0008] 图1是根据一个实施例的用于检测、计数和测量板材的手持设备。
[0009] 图2是根据一个实施例的一板材的图像的说明性表示。
[0010] 图3是根据一个实施例的图2所示的图像突出显示选定的板材捆的说明性表示。
[0011] 图4是根据一个实施例对图2所示的图像应用单应性变换和图像裁剪之后的说明性表示。
[0012] 图5是根据一个实施例对图4所示的图像应用Sobel算子之后的图像的边缘图的说明性表示。
[0013] 图6示出根据一个实施例的图5所示的图像的累积平投影的图表。
[0014] 图7是示出根据一个实施例的图5所示的图像一行图像的累积垂直投影的图表。
[0015] 图8是根据一个实施例的图4所示的图像突出显示识别的板材边缘的说明性表示。
[0016] 图9是根据一个实施例对图2所示的图像识别的板材捆的框的宽度直方图。
[0017] 图10是根据一个实施例用于帮助确定合适的单应性变换的参考物体的图示。
[0018] 图11示出了根据一个实施例的图10中所示的参考物体附接到一捆板材的图像。
[0019] 图12是根据一个实施例的对图11应用响应映射算子配置成识别参考物体的可能位置之后的图像。
[0020] 图13是根据一个实施例的图12识别并去除参考物体的角之后的图像。
[0021] 图14是示出根据一个实施例的将从使用手持设备获得的图像用于检测、计数和测量板材的方法流程图
[0022] 图15是示出根据一个实施例的能够从机器可读介质读取指令,并在处理器(或控制器)中执行该指令的示例机器的组件的框图

具体实施方式

[0023] 附图(图)和以下描述仅以说明的方式涉及优选实施例。应当注意,从以下讨论中,在不脱离所要求保护的原理的情况下,将容易认识到本文公开的结构和方法的替代实施例作为可行的替代方案。
[0024] 现在将详细参考若干实施例,其示例在附图中示出。应注意,在可行的情况下,可以在图中使用类似或相似的附图标记,并且可以指示类似或相似的功能。附图仅出于说明的目的描绘了所公开的系统(或方法)的实施例。本领域技术人员将从以下描述中容易地认识到可以采用本文所示的结构和方法的替代实施例而不脱离本文所述的原理。
[0025] 配置概述
[0026] 公开了一种用于自动(或半自动)识别、计数和测量一捆板材的装置(以及相应的方法和计算机程序产品)。设备的示例是具有内置相机的手持设备,例如智能手机或平板电脑
[0027] 这些板材通常是木材。常规板材是来自木材,并且板材是由具有长长度但相对小的宽度和高度的单个木材片组成。多个单独的板材片可以成捆排列。
[0028] 一捆板材可以能够更容易地处理多个单独的板材片,例如用于运输和/或存储。虽然在板材的背景下描述,但应注意,本文所述的原理也可以应用于由例如塑料、刨花板等的任何材料制成的捆。
[0029] 在示例实施例中,用户使用手持设备拍摄影像束。在理想情况下,将从完美的正面透视图拍摄图像,即,拍摄板材的图像。然而,使用手持设备的现实是在现实世界的应用中不太可能出现这种情况。手持设备(或远程计算设备)可以通过应用单应性变换来生成正面透视的估计来解决这个问题。这是基于这样的假设:束的正面是三维(3D)世界中的二维(2D)平面。虽然这个假设可能不完全准确,但在大多数情况下它是一个有效的近似值。
[0030] 通过在手持设备上相机的使用,手持设备被配置成使用变换图像的水平投影来识别木材的行,以及使用垂直投影来识别每行中的垂直分界线。行间的分界线以及垂直分界线限定了矩形边界框,矩形边界框可以对应于板材(或板材的一部分),板材之间的间隙,或者某些实体或工件。手持设备(或远程计算设备)过滤边界框以识别与板材对应的边界框(例如,通过移除对应于图像的与板材颜色不相近的部分框)。低于某个阈值尺寸的一些或所有边界框可以与一个或多个相邻边界框合并。这可以减少与板材上的标记或其他工件相对应的垂直分界线的影响,而不是板材的边缘。
[0031] 在一些实施例中,在拍摄图像之前,将参考物体(例如,在四个角中的每一个角是具有不同标签的菱形)放置在板材捆上或附近。该参考物体可以帮助确定合适的单应性变换以应用于准确地近似板材捆的正面视图。
[0032] 所公开的装置(以及相应的方法和计算机程序产品)提供几个优点。例如,通过使用手持设备,板材捆不需要从存储位置移动或安装在任何类型的测量设备中。用户可以将设备带到板材上并拍摄图像。此外,使用单应性变换意味着用户仅需要最少的训练,因为图像不需要受到来自准确的位置或角度、特定光照条件等的影响。此外,由于大部分计数和测量是自动完成的,因此可以节省大量时间。
[0033] 例如,在一个实施例中,用户只需要拍摄初始图像,然后检查所识别的边界框。用户可以对边界框进行一些小的调整(例如,使用设备上的触摸屏),但是其余过程是自动的。在一些实施例中,该过程甚至可以是完全自动化的(例如,板材捆在被带入仓库时被自动拍摄,并且估计的计数和一组测量附加记录到存储在仓库中的库存)。本领域技术人员认识到在不背离所公开内容的精神或范围,可以采用其他的变型。
[0034] 示例性板材检测、计数和测量系统
[0035] 图1示出了用于检测、计数和测量板材(例如,木板)的手持设备100配置的示例性实施例。在所示实施例中,手持设备100包括图像拍摄子系统110、单应性模120、行检测模块130、图像调整模块140、垂直边缘检测模块150、单应性细化模块160、初步板材识别模块170、板材细化模块180、用户细化模块190和数据存储195。在其他实施例中,手持设备100可以包括不同的和/或其他元件。另外,功能以与描述不同的方式分布在元件之间。
[0036] 图像拍摄子系统110包括物理图像拍摄组件以及用于控制图像拍摄设备的软件和/或固件。在一个实施例中,手持设备100是智能手机并且图像拍摄组件是智能手机的数码相机。在操作中,用户将相机指向一捆板材并提供指示相机拍摄图像的用户输入(例如,通过触摸智能手机的触摸屏上的“拍摄图像”按钮)。图像拍摄子系统110拍摄板材捆的图像,并存储该图像(例如,存储在数据存储器195中)。图像拍摄子系统110还可以存储元数据,诸如当前日期和时间、当前位置(例如,GPS数据)、用户的身份、手持设备100的标识符和/或其他这样的元数据。
[0037] 图2是根据一个示例实施例由图像拍摄子系统110拍摄的图像200的说明性表示。图像包括一捆板材210。图像200还可以包括缺陷和障碍物,例如识别附着到板材220上的标签、板材230上的标记等。在理想情况下,将从正面视角(即,平行于板材的长轴)对图像200进行拍摄。然而,尽管从近前视点对图像200进行拍摄,但是从板材捆210的面和板材的长轴(例如,15度)之间沿视点方向存在显着的角度。从图2中可以看出,板材捆210中具有各种宽度,并且在相邻板材之间存在空间范围。
[0038] 再次参考图1,单应性模块120从近前视点拍摄一捆板材的图像(例如,图像200)作为输入,并确定初始单应性变换来从图像中估计真实正面视点。在一个实施例中,单应性模块120将图像显示给用户(例如,在手持设备100的屏幕上显示)。用户识别图像中的板材捆210,例如通过点击板材捆的四个角中的每一个角,在触摸屏上描绘板材捆的轮廓等。如果图像是真实的正面表示,则轮廓将是矩形的。然而,因为图像可能是以一角度拍摄的,所以轮廓可能是不太规则的四边形。
[0039] 图3示出了根据一个实施例在用户识别出图2中图像200的板材捆210之后的图。由用户选择的每个角可以用角指示符310突出显示(在所示的实施例中,在图像上覆盖一个圆圈),并且由角限定的四边形也可以用四边形指示符320突出显示(在所示的实施例中,连接角的虚线)。在一些实施例中,用户可在最初设置角之后改变所限定的四边形(例如,通过点击并拖动角指示符210或四边形指示符220的一侧到图像内的另一个位置)。
[0040] 再次参考图1,一旦限定了板材210的四边形边界,单应性模块120就使用限定的四边形边界来确定初始单应性变换以近似真实正面视图。在一个实施例中,单应性模块120采用四边形并确定将四边形变换为矩形的双射图。该双射图用于将初始单应性变换应用于图像以创建真实正面视图的估计。由于双射图是基于用户输入,它可能是真实全局单应性变换的近似。单应性模块120还可以裁剪图像,以使得仅示出了板材捆的正面。下面参考图10至图13描述其中物理参考对象用于计算双射图的替代实施例。
[0041] 图4示出了根据一个实施例在用户识别出图2中根据一个实施例单应性模块120在图2的图像200中应用初始单应性变换并裁剪图像之后的图。如图4所示,得到的图像200可以是板材捆210的正面的近似,其中板材之间的空间在视觉上是明显存在的。换句话说,如果直接从板材捆前面拍摄图像,则板材捆210的外观近似。
[0042] 再次参考图1,行检测模块130检测图像(例如,图像200)中板材捆的行。在一个实施例中,行检测模块130将Sobel算子应用于图像200以识别边缘(即,像素强度的高频变化)。图5中示出了将Sobel算子应用于图像200后生成边缘图的结果的示例。每个像素的强度对应于该点处的梯度强度。如图4所示,梯度强度高的区域(例如,板材的轮廓,板材上标记的边缘,部分遮挡板材的物体的边缘等)具有高强度,因此是白色或者浅灰色。相反,梯度强度(例如,没有标记的板材体,板材之间的大空间,部分遮挡板材的物体等)区域具有低强度,因此是黑色或深灰色。注意,当应用Sobel算子时,识别标签220和标记230也生成边缘。在其他实施例中,使用其他过程来识别图像200的边缘。
[0043] 无论用于识别图像200边缘的具体过程如何,行检测模块130是基于水平边缘的图案来检测行之间的分界线。基本上长的水平边缘可以表示板材捆210中两行之间的边界。在一个实施例中,行检测模块130累积图像200的每行像素的总边缘响应,称为水平线值。对于给定行,水平线值可以是该行中像素的梯度幅值的总和。换句话说,水平线值是相应行的水平投影。
[0044] 行检测模块130还可以对水平线值应用附加处理,例如使用高斯滤波器平滑结果。然后可以将板材行之间的分界线标识为大于行分界线阈值的任何峰值。行分界线阈值可以是固定值,也可由用户配置,或自动调整(例如,基于平均峰值的高度)。在一个实施例中,行检测模块130将阈值自适应地设置为当前直方图中最大峰值的一半。
[0045] 图6是根据一个实施例绘制的图像200的相对于线位置的水平线值的示例性图表。如在图6中可以看到的,大约40的行分界线阈值将区分对应于行之间分界线的峰值和由于图像200的其他特征引起的噪声。使用该方法,行检测模块130可以自动识别具有相对较少错误的行之间的分界线。在一些情况下,峰值(例如,双峰值610)可在峰值之间具有两个或更多个不同的峰值(例如,峰值612和峰值614)。在一个实施例中,行检测模块130通过计算峰值之间的中值距离然后逐步通过峰值(例如,从顶部到底部),接受或拒绝每个峰值来解决这个问题。一旦接受了某一峰值(例如,峰值612),则仅当该峰值大于距前一个峰值的中值距离的阈值比例时才接受下一个峰值(例如,峰值614)。例如,阈值比例可以是中值距离的80%,但可以使用其他比例。
[0046] 在一个实施例中,一旦从峰值识别出水平分界线,就可以向用户显示图像200的水平分界线被突出显示,并且提供具有修改分界线位置、添加额外分界线,和/或移除分界线的用户界面。下面参考用户细化模块190更详细地描述这一点(但是在该过程的后面发生)。
[0047] 再次参考图1,图像调整模块140是基于由行检测模块130识别板材行之间的分界线来修改图像200。在各种实施例中,图像调整模块140改变图像的尺寸,以使得图像200像素间的距离对应于现实世界中的预定距离(例如,以毫米为单位)。假设板材的厚度是已知的(例如,由用户提供或者根据板材捆上的标签确定),可以自动调整图像的尺寸。在一个这样的实施例中,图像调整模块140确定连续水平线之间的中值距离,并自动调整图像尺寸以使该中值为预定像素的数量。因此,像素之间的距离被归一化为对应于在现实世界中的预定距离。
[0048] 垂直边缘检测模块150检测板材行之间的间隔。在一个实施例中,垂直边缘检测模块150逐步通过每个检测到的板材行(例如,每对相邻水平线之间图像200的部分),并通过累积对应于该板材行的部分图像200中的每列像素的总边缘响应来计算每列的垂直线值。
[0049] 图7是根据一个实施例绘制的一行板材的垂直线值与对应列位置的示例图表。特别地,图7示出了在图像200中检测到的第二水平线和第三水平线之间的板材行的垂直线值。因为垂直线值的累积是针对一行而不是图像200全部行,所以噪声量可能显着大于水平线值。此外,板材的行可以具有不同的宽度和/或可以在板材之间具有间隙,这意味着垂直边缘确定模块150不能总是依靠边缘的预期位置。
[0050] 在各种实施例中,垂直边缘确定模块150将具有两个不同标准偏差的高斯差分(DoG)滤波器应用于水平线值。将阈值应用于DoG滤波器的输出,以识别与潜在板材间垂直分隔相对应的峰值。在一个这样的实施例中,通过创建峰值的直方图并选择将直方图分成两个不同的集合(较大的峰值和小的峰值)的阈值来自动调整阈值,同时最小化每个集合内峰值高度的变化。该方法类似于灰度图像处理中使用的Otsu法。大峰值可能对应于板材间的实际垂直空间,而小峰值可能对应于噪声并被忽略。在其他实施例中,使用其他图像处理技术来识别板材每行之间的垂直分界线。
[0051] 再次参考图1,单应性细化模块160是基于所识别的水平线和垂直线来细化初始的单应性变换。在一个实施例中,沿先前识别的边缘(例如,使用Sobel算子)的一组等间隔(或近似等间隔)的点被映射到所识别的水平线或垂直线之一上的最近点。这些点对之间的映射可以被确定,发现在图像的二维欧几里德空间中的每个边缘点的水平线或垂直线上的最近点。通过最小化对之间的总距离(例如,使用最小二乘法)可以重新计算单应性。该过程可以重复一次或多次直到发现收敛(例如,点对之间的总距离小于阈值)。
[0052] 在其他实施例中,可以使用其他过程来细化单应性。例如,可以使用非刚性估计方法(例如,分段单应性模型)来确定细化的单应性变换,能更好地使所识别的边缘适合于所识别的板材间的垂直线和水平线。手持设备100可以重复应用(现在细化的)单应性变换、检测行以及检测行间的板材水平边缘的过程。这个过程可以一次完成,或者该过程可以继续循环直到一个单应性变换和由单应性细化模块160生成的下一次迭代之间的差值低于单应性细化阈值。在一些实施例中(例如,其中使用参考形状,如下所述,参考图10-图13),省略单应性细化模块160并且使用初始单应性变换。
[0053] 初步板材识别模块170接收图像200以及识别的水平和垂直线。在各种实施例中,初步板材识别模块170通过识别由一对相邻水平线和一对相邻垂直线创建的每个可能矩形来生成一组初始边界框。每个边界框可以对应于板材、板材间的间隙或一些其他特征(例如,遮挡部分或全部板材或板材的物体)。在一个实施例中,垂直线从左到右依次排序并在相邻的水平线之间分组。边界框的创建是基于最佳阈值宽度。如果框的宽度小于它的高度或大于图像总宽度的上阈值(例如,70%),则可以拒绝框。
[0054] 图8是图像200的说明性表示,其中初始边界框覆盖在图像上。在图8所示的示例中,水平线(例如,线810)和垂直线(例如,线820)限定边界框的线被描绘为实线,并且使用虚线描绘图像200的底部。然而,在实践中,当图像200被显示给用户时(例如,通过用户细化模块290,如下所述),可以使用任何合适的方法将线覆盖在图像200的底部。例如,图像200可以是未改变地彩色照片(除了裁剪和单应性变换之外),其中垂直线覆盖在一种颜色(例如,红色)中,而垂直线覆盖在另一种颜色(例如,绿色)中。
[0055] 在图8所示的示例中,该组中的每个边界框对应于板材、板材间的间隙或非板材物体(例如,识别标签220)。请注意,边界框可能不完美。例如,边界框830不完全包围相应的板材,因为板材相对于板材捆210中的其他板材可以具有扭曲。作为其他示例,边界框840包括两个板材与对应于标签230的边界框850之间的空间,而不是板材(尽管可能有被标签遮挡的板材)。在一个实施例中,机器学习算法(例如,神经网络)或计算机视觉方法可用于检测图像的区域和/或识别对应于遮挡的边界框(例如,标签230)。可选地或另外地,在框合并和移除过程中(下面描述)可以考虑遮挡。
[0056] 再次参考图1,板材细化模块180细化边界框以识别对应于板材的边界框。板材细化模块180还可以改进边界框的位置和/或尺寸以更好地适合图像中板材对应的边界框。在各种实施例中,板材细化模块180基于边界框的尺寸(例如,高度和/或宽度)将边界框划分为区间(bins)。图9是示出从图像200提取的在每个区间中边界框的数量的直方图。直方图包括可能对应于整个板材的边界框910(大约以65为中心)的近似正态分布。直方图还指示存在许多可能与整个板材不对应的小边界框920和可能对应于多于一个板材或一些其他物体或伪像的若干非常大的边界框930。板材细化模块180应用一对阈值(例如,基于Otsu法设置)将每个边界框分类为小的、正常的或大的。
[0057] 在各种实施例中,板材细化模块180假设正常尺寸的边界框对应于单个板材。关于大的边界框,板材细化模块180可以标记该框以用于进一步考虑(例如,稍后向用户显示用于进行手动分类)。小边界框可以对应于板材间的间隙,被错误地划分为两个或更多个边界框的板材的一部分,或者图像200中的一些其他物体或伪像。
[0058] 在各种实施例中,板材细化模块180循环以下过程中的一个或多个直到达到收敛为止。或者,可以使用固定或可配置数量的迭代过程(例如,三个)。在一个这样的实施例中,由板材细化模块180循环的过程包括初始框合并。使用一对阈值将小框与相邻框之一合并。如果第一比较边界框的L*A*B颜色空间平均值和第二比较RGB平均值之间的差值小于相应的阈值,则合并框。
[0059] 由板材细化模块180循环的过程还可以包括标准化边界框,以使该边界框有一个固定的高度。在一个实施例中,板材细化模块180使用由行检测模块130识别的水平线之间的平均距离作为板材高度的估计。然后,板材细化模块180可以改变每个边界框,以使每个边界框具有估计的高度而不改变其重心。换句话说,边界框的上边缘和下边缘的位置将移动相同的量,但沿相反的方向。
[0060] 由板材细化模块180循环的过程还可以包括细化边界框的高度。在一个实施例中,板材细化模块180沿Y轴移动一个或多个边界框,同时获得每个边界框的最大平均颜色值,并约束框可重叠的程度。这可以更好地将边界框与图像中的板材对齐,特别是一行中的板材不在完全相同的垂直位置(例如,由于扭曲)的情况下。
[0061] 由板材细化模块180循环的过程还可以包括将大边界框分成两个或更多个较小的边界框。在一个实施例中,对于每个大边界框,板材细化模块180是基于边缘图可以识别潜在的内部分裂(例如,之前被拒绝/过滤掉的潜在垂直分界线)。例如,从最强的边缘响应(例如,最可能的垂直分界线)开始,然后是第二个最强的边缘响应等,将大边界框可以分割成更小的边界框,直到所有得到的边界框的宽度都低于宽度阈值(例如,中值宽度)或下一个边缘响应低于强度阈值。
[0062] 由板材细化模块180循环的过程还可以包括基于被包围的像素的颜色去除边界框。在一个实施例中,板材细化模块180分析每个小边界框中的像素的颜色分布,并将该每个小边界框中的像素的颜色与正常尺寸的边界框的平均颜色进行比较。如果小边界框中的像素的颜色与正常尺寸边界框的平均颜色之间的平均差值大于颜色分布阈值,则板材细化模块180确定对应于板材或另一个非板材特征间的空间的小边界框,并去除边界框。还可以使用灰度级图像上的平均像素强度。例如,图8中的边界框860对应于板材间的间隙,并且可以由板材细化模块180移除。或者,可以使用机器学习的分类器(例如,卷积神经网络),以从小边界框中提取特征并确定提取的特征是对应于图像的中板材或非板材区域。然后去除对应于非板材区域的边界框。
[0063] 由板材细化模块180循环的过程还可以包括附加的框的高度细化,类似于之前的高度细化。在一个实施例中,板材细化模块180沿Y轴以改变边界框的高度和位置。对于每个边界框,通过在边缘图中找到中值高度的+/-40%范围内的最大总边缘值总和(沿着框的顶部和底部边界的边缘响应的总和)来生成一组三个候选框:框的顶部Y位置,框的底部Y位置,以及顶部和底部的Y位置一起。基于沿框的顶部和底部边界的总边缘响应值为可以每个候选边界框分配分数。然后候选边界框可以按分数依次排序。候选边界框也可能会基于与其他边界框的重叠而被过滤掉。
[0064] 由板材细化模块180循环的过程还可以包括细化边界框的宽度。在一个实施例中,板材细化模块180在其边缘图响应最大的初始位置的中值宽度的+/-40%的范围内找到沿X轴的位置,用于边界框的第一边缘(例如,左边缘)。然后可以将边界框的边缘与该最大值对齐。板材细化模块180可以将相同的过程应用于边界框的第二边缘(例如,右边缘)。因此,如果边缘移动不同的量,则边界框的宽度可以改变。
[0065] 由板材细化模块180循环的过程还可以包括通过添加附加边界框来填充间隙。在一个实施例中,板材细化模块180是基于最初检测到的水平线和沿Y轴上的当前位置将现有边界框分组为行。如果同一行上的两个连续边界框之间的间隙大于中值板材宽度的阈值比例(例如,70%),并且平均颜色值大于阈值(例如,通过应用机器学习算法设置阈值),板材细化模块180在间隙中可以添加新的边界框。
[0066] 由板材细化模块180循环的过程还可以包括合并连续的框。在一个实施例中,板材细化模块180考虑合并的边界框的平均颜色值,该合并的边界框将由沿着它们的公共边界合并连续框和总边缘图值而产生。如果平均颜色值类似于其他板材并且沿着公共边界的边缘响应很弱,则板材细化模块180可以合并这些框。相反,如果平均颜色值与其他板材不是非常相似并且沿公共边界的边缘响应很强,则板材细化模块180可以不合并这些框。
[0067] 可替代地或另外地,如果板材细化模块180确定小边界框对应于的部分的板材(例如,基于平均颜色值),则可以尝试将小边界框与一个或多个相邻边界框合并。在一个实施例中,板材细化模块180计算从小边界框与每个相邻边界框合并所产生的组合区域。然后,板材细化模块180选择组合区域最接近之前计算的所有边界框的中值区域的相邻边界框。例如,在图8所示的示例中,板材标记230产生了错误的垂直线870,该垂直线870将单个板材分成两个边界框。然而,假设得到的至少一个边界框被分类为小的,则板材细化模块180可以组合该对,因为该组合可能接近中值板材宽度(因为该组合实际上对应于单个板材)。在其他实施例中,可以使用用于合并边界框的其他过程。
[0068] 在各种实施例中,板材细化模块180还应用机器学习的分割算法(例如,深度卷积神经网络),该分割算法识别对应于木材的像素以进一步细化边界框。在一个这样的实施例中,板材细化模块180应用机器学习算法以生成分割图。每个框基于分割图可以调整该框的位置、宽度和高度。如果分割图上的响应不指示两个框之间的边缘,则可以合并连续框。类似地,如果分割图指示对应于边界框的部分图内的边缘,则可以分割框。此外,如果两个现有框之间的图的平均值超过阈值,则可以添加新框。如果相应部分图的填充因子具有低于阈值(例如,60%)的值,则框可以被丢弃。
[0069] 在一个实施例中,每个框在分割图中具有对应的连接组件。板材细化模块180可以计算连接的组件的方向,并相应地调整相应边界框的角度。因此,可以获得倾斜的边界框。
[0070] 用户细化模块190提供用户界面(例如,在手持设备100的屏幕上),用户可以使用该用户界面自动调整水平线、垂直线和/或边界框的确定位置。在一个实施例中,用户细化模块190向用户显示在图像200上覆盖有自动定位的水平线和垂直线(例如,如图8所示)。用户可以删除线(例如,通过点击线并按下删除按钮或将线拖动到屏幕的一侧),移动线(例如,通过将线拖动到不同的位置),调整线的大小(例如,通过拖动线的末端到另一个位置),和/或添加新线(例如,通过在按住指示设备上的按钮的同时用指针描绘新线)。本领域技术人员将认识到可以配置用户界面,以使用户能够调整线的各种方式。
[0071] 在其他实施例中,用户细化模块190可以使用户能够在该过程的其他阶段来调整线。例如,在垂直边缘检测模块150分析每行以识别垂直线之前,用户能够调整由行检测模块130生成的水平线的位置。类似地,用户在初步板材识别模块170生成并分析边界框之前可以调整垂直线。
[0072] 数据存储195包括一个或多个计算机可读介质,该计算机可读介质被配置成存储拍摄的图像和相关的元数据。数据存储195还可以存储由手持设备100的其他模块使用的一个或多个机器学习分类器。此外,尽管数据存储195被示为是手持设备100的一部分,但是一些或所有数据可以存储在经由网络(例如,因特网)访问存储设施中。
[0073] 用于辅助单应性变换的示例性物理参考物体
[0074] 在许多情况下,当试图高精度地确定要应用的单应性变换时,诸如透镜畸变和透视畸变之类的因素可能导致不可接受的误差。图10示出了用于帮助参考物体1000确定合适的单应性变换的一个实施例。在图10所示的实施例中,参考物体1000是在每个角上具有标签1010的菱形框架,在单个实施例中,每个标签1010包括四个图块,每个图块具有不同的颜色。参考对象1000的角中的四个标签1010可以由手持设备100自动检测。在标签1010上包括四种颜色使得手持设备100更容易地自动检测角的位置。然而,在标签1010上可以采用其他图案以实现可靠的检测。
[0075] 无论用于识别角的精确过程为何,通过将图像与模板(例如,从真实的正面视角看参考物体的图像)进行比较可以在包含参考对象1000的图像的平面与真实的正面透视图之间找到四个对应关系(每个角一个)。因此,可以从检测到的标签1010自动计算图像的实际透视和参考物体1000的正面透视图之间的单应性变换。换句话说,使用参考物体1000消除了用户用于单应性的基础提供点的需要(例如,通过选择一捆板材的四个角)。注意,用户可能仍然需要识别与要计数的板材捆对应的图像区域,但是该指示不一定用于确定单应性。
[0076] 图11示出了根据一个实施例的附接到板材捆120的参考物体1000。参考物体1000可以通过顶角1010A从板材捆120的前表面悬挂。因此,假设参考物体1000相对自由地移动(除了由顶角1010A固定之外),每次使用它时它将以大致相同的方向悬挂。
[0077] 在一个实施例中,参考物体1000被放置在板材捆120的中间,以使得它尽可能地垂直和水平对齐。如果参考物体1000悬挂在可以绕其枢转的单个连接点(例如,顶角1010A)的参考,则重将垂直地对准参考物体(假设参考物体是对称的和平衡的)。在图像中包括参考物体1000使得更容易校正透视和其他扭曲。基于该图像,可以从参考物体1000确定合适的单应性变换,可以测量板材,并且基于参考物体的已知尺寸,可以计算实际尺寸。
[0078] 在一个实施例中,使用三个RGB通道上的脊回归来学习线性分类器,以区分参考物体1000的角1010中的图案。然后可以将该分类器应用于图像以定位参考物体的角。可以在每个图像位置处应用分类器(例如,使用线性滤波方法)。获取响应图。响应图可以包括图像中每个像素的值,较高的值对应于更可能属于参考角1010之一的像素。
[0079] 图12示出了根据一个实施例对图11应用线性分类器之后的图像。图12中,更高响应值由更强的像素指示。对于人眼来说,四个角1010位于何处是显而易见的。然而,可以自动定位四个角1010。
[0080] 在一个实施例中,手持设备100通过以下过程自动定位四个角1010。手持设备假设最高响应像素对应于角1010中的一个。周围像素(例如,最高响应像素的10个像素内的所有像素)被设置为零,然后找到下一个最高像素响应。假设这是第二角1010,周围像素被设置为零,并且该过程再重复两次直到四个角已经被定位。图13示出了对图12中四个角1010被定位并且周围像素被设置为零之后的图像示例。
[0081] 如上所述,使用定位的角以用于对图像确定合适的单应性。在一个实施例中,找到四个对应关系(对每个角1010有一个对应关系)和参考模板的对应角。这四个对应关系足以计算图像和标准化模板之间的单应性(例如,通过使用总最小二乘法)。然后可以使用单应性矩阵来变换图像,而不需要用户指示板材捆120的每个角的位置(尽管这对于裁剪目的仍然是期望的)。
[0082] 一旦使用确定的单应性变换了图像,就可以立即估计变换图像中的像素与真实距离之间的准确映射。通过了解参考物体1000的实际尺寸,图像中参考物体表示的像素数与参考物体的实际尺寸之间的关系是简单的数学函数。然后,通过手持设备100可以使用变换的图像和/或像素到实际维度的映射作为用于检测、计数和测量板材捆120中的数量的过程的一部分。
[0083] 示例性板材检测、计数和测量方法
[0084] 图14示出了用于检测、测量和计数板材的方法1400的一个实施例。从执行方法1400的手持设备100的角度示出了图14的步骤。然而,一些或所有步骤可以由其他实体和/或组件执行。另外,一些实施例可以并行执行步骤,以不同顺序执行步骤,或执行不同步骤。
例如,在一个实施例中,手持设备100拍摄并成像,通过网络将拍摄的图像传输到服务器(未示出),并且服务器分析图像以检测、计数和测量板材。
[0085] 在图14所示的实施例中,方法1400开始于手持设备100接收包括板材捆120的1410图像。可以通过拍摄图像(例如,使用手持设备100的相机)来接收图像1410,或者图像可以由不同的设备提供(例如,通过网络从单独的相机传输)。
[0086] 手持设备100对图像应用1420单应性变换,以近似板材捆120的正面视图。在一个实施例中,手持设备提示用户识别板材捆120,并且手持设备100基于图像中板材捆的外观形状来确定单应性变换(基于将正面视图中的捆近似为矩形的假设)。例如,用户在触摸屏上可以轻击捆120的每个角,然后手持设备100可以使用这四个点来计算单应性矩阵。在另一实施例中,参考物体(例如,菱形参考物体1000)用于自动确定要应用的单应性变换。
[0087] 手持设备100识别变换图像中的板材行1430。在一个实施例中,如前所述,手持设备将Sobel算子应用于图像以识别图像边缘并计算所得图像的水平投影。因为板材行之间的分界线应该产生强边缘信号,所以投影应该具有对应于板材行间的分界线的像素行的强峰值。因此,可以从投影识别1430板材行间的分界线的位置(例如,通过应用行分界线阈值来区分由行分界线产生的峰值和由噪声引起的峰值)。在其他实施例中,可以使用识别1430板材行间的分界线的其他方法。
[0088] 手持设备100识别1440板材间可能的垂直分界线,以用于识别板材的行。在一个实施例中,手持设备100通过行步骤并且计算每行的垂直投影。出于与上述水平投影相似的原因,可以从垂直投影的峰值来识别1440垂直分界线。在其他实施例中,可以使用识别1440可能的垂直分界线的其他方法。
[0089] 手持设备100基于所识别的行和可能的垂直分界线来识别1450一组边界框。在一个实施例中,该组边界框包括由以下各项所形成的每个可能的矩形:板材行(即,一行板材)间的一对相邻分界线;以及一行板材之间的一对可能的相邻垂直分界线。
[0090] 手持设备100过滤1460边界框以识别对应于板材的框。在一个实施例中,如先前参考图9所述,手持设备过滤掉具有小于最小区域的阈值或高于最大区域的阈值的区域的任何边界框。在某些情况下,手持设备100还可以尝试将小边界框(例如,具有小于最小面积阈值的区域的边界框)与相邻边界框组合。例如,如果小边界框的平均颜色与已经被确定为对应于板材的边界框的平均颜色相似,并且可以与相邻的边界框连接以形成具有介于最小面积阈值和最大面积阈值之间的总面积的组合框,手持设备100可以组合这两个框以创建满足对应于板材标准的单个边界框。在其他实施例中,可以使用其他方法来过滤1460和/或组合边界框。
[0091] 附加地或替代地,可以将边界框显示给用户以进行验证和编辑(未示出)。手持设备100还可以通过重复上述步骤中的一些步骤或添加附加步骤(未示出)来改进该过程。例如,如前所述,在确定的行之间的初始分界线之后,可以改进单应性。在理想情况下,单应性将导致行之间的所有分界线是直的、基本上平行的以及近似等距。因此,通过基于这些偏差的附加变换可以来校正与该理想情况的偏差。
[0092] 手持设备100基于过滤的边界框对板材进行计数和测量1470。在一个实施例中,存在于过滤1460中的每个边界框对应于板材。因此,可以通过计算边界框来确定板材捆中的板材的总数量。因为该过程涉及确定像素尺寸之间的映射,所以每个板材的横截面积可以从相应的边界框近似。因此,手持设备100可以计算板材的数量并测量每个板材的尺寸。根据该信息,可以计算其他属性。例如,如果已知板材的材料类型和板材的长度,则板材捆的的重量可以被近似算出。
[0093] 示例性机器结构
[0094] 图15是示出能够从机器可读介质读取指令并在处理器(或控制器)中执行读取到指令的示例性机器的组件的框图。具体地,图15示出了计算机系统1500的示例形式的机器的图形表示。在手持设备100中可以找到计算机系统1500的全部或部分。计算机系统1500可以用于执行指令1524(例如,程序代码或软件)以用于使机器执行本文所述的任何一个或多个方法(或过程),包括与图1的手持设备100的组件相关联和描述的那些方法(或过程)。在替代实施例中,机器作为独立设备或连接到其他机器的连接(例如,联网)设备运行。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者作为对等(或分布式)网络环境中的对等机器运行。
[0095] 该机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、智能手机、物联网(IoT)设备、网络路由器、交换机或桥、或者能够执行指令1524(顺序或其他)的任何机器,其指定该机器要执行的指定的动作。此外,虽然仅示出了单个机器,但术语“机器”还应被视为包括单独或联合执行指令1524以执行本文所讨论的任何一种或多种方法的任何机器集合。
[0096] 示例性计算机系统1500包括一个或多个处理单元(通常是一个或多个处理器1502)。处理器1502例如是中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、控制器、状态机、一个或多个专用集成电路(ASIC)、一个或多个射频集成电路(RFIC)、或这些的任何组合。本文对处理器1502的任何引用可以指代单个处理器或多个处理器。计算机系统1500还包括主存储器1504。计算机系统可包括存储单元1516。处理器
1502、存储器1504和存储单元1516经由总线1508进行通信。
[0097] 另外,计算机系统1500可以包括静态存储器1506、图形显示器1510(例如,驱动等离子体显示板(PDP),液晶显示器(LCD)或投影仪)。计算机系统1500还可以包括字母数字输入设备1512(例如,键盘)、光标控制设备1514(例如,鼠标轨迹球、操纵杆、运动传感器或其他指向仪器),信号生成设备1518、(例如,扬声器)和网络接口设备1520,其也被配置成经由总线1508进行通信。
[0098] 存储单元1516包括机器可读介质1522,该机器可读介质上存储有体现本文描述的方法或功能中的任何一个或多个的指令1524(例如,软件)。指令1524还可以在由计算机系统1500、主存储器1504和处理器1502它们执行的期间完全或至少部分地驻留在主存储器1504内或处理器1502内(例如,在处理器的高速缓冲存储器内)构成机器可读介质。可以经由网络接口设备1520在网络1570上发送或接收指令1524。
[0099] 虽然在示例性实施例中将机器可读介质1522示为单个介质,但是术语“机器可读介质”应当被视为包括单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存以及服务器)能够存储指令1524。术语“机器可读介质”还应被视为包括能够存储指令1524以用于机器执行并且使机器执行本文公开的任何一种或多种方法的任何介质。术语“机器可读介质”包括但不限于固态存储器,光学介质和磁介质形式的数据存储库
[0100] 其他考虑因素
[0101] 所公开的装置、方法和计算机程序产品提供了包括使用拍摄的图像计数和/或测量板材捆中的板材数量的能力,而不需要高度受控的拍摄环境的益处和优势。这可以节省时间和财力。例如,相对于使用固定安装的现有自动板材计数系统,手持设备相对便宜并且容易获得。使用手持(或至少容易移动)的设备还可以能够对板材进行计数,而不需花费时间将板材移动到计数机然后再移动到存储位置。因此,该装置、方法和计算机程序产品提供了计算机视觉、库存管理系统、图像分析和其他领域的改进。
[0102] 在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一个或多个方法的各个操作被示出并描述为单独的操作,但是可以同时执行一个或多个单独的操作,并且不需要以所示的顺序执行操作。在示例性配置中作为单独组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。这些和其他变化,修改,添加和改进都落入本文主题的范围内。
[0103] 本文将某些实施例描述为包括逻辑或许多实施例组件、模块或机制,例如,如图1到图14所示。模块可以构成软件模块(例如,机器可读介质上包含的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且该硬件模块可以以某种方式被配置或被布置。在示例性实施例中,一个或多个计算机系统(例如,独立的,客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件配置(例如,应用程序或部分应用程序),作为硬件模块以用于执行如本文所述的某些操作。
[0104] 在各种实施例中,硬件模块可以机械地或电子地被实现。例如,硬件模块可以包括永久配置的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程阵列(FPGA)或专用集成电路(ASIC))以执行某些操作。硬件模块还可以包括可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器内)并由软件临时配置以执行某些操作。应当理解,可以通过成本和时间考虑来驱动机械地在专用和永久配置电路中或在临时配置电路中(例如,由软件配置)实现硬件模块的决定。
[0105] 这里描述的示例性方法的各种操作可以至少部分地由一个或多个处理器(例如,处理器1502)执行,这些处理器被临时配置(例如,通过软件)或永久地配置成执行相关操作。无论是临时配置还是永久配置,这样的处理器可以构成处理器实现的模块并操作以执行一个或多个操作或功能。在一些示例性实施例中,这里提到的模块可以包括处理器实现的模块。
[0106] 一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)以及经由一个或多个合适的接口(例如,应用程序(APIs))来访问。
[0107] 某些操作的性能可以分布在一个或多个处理器中,不仅驻留在单个机器中,而且部署在多个机器上。在一些示例性实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例性实施例中,一个或多个处理器或处理器实现的模块可以分布在多个地理位置上。
[0108] 本说明书的某些部分是根据在机器存储器(例如,计算机存储器)内作为位或二进制数字信号存储的数据的操作的算法或符号表示来呈现的。这些算法或符号表示是数据处理领域的普通技术人员用于将他们工作的实质传达给本领域其他技术人员的技术的示例。如这里所使用的,“算法”是自洽的操作序列或类似的处理,导致期望的结果。在这种情况下,算法和操作涉及物理量的物理操纵。通常但非必要地,这样的量可以采取能够被机器存储、访问、传输、组合、比较或以其他方式操纵的电信号、磁信号或光信号的形式。有时,主要是出于通用的原因,使用诸如“数据(data)”、“内容(content)”、“位(bits)”、“值(values)”、“元素(elements)”、“符号(symbols)”、“字符(characters)”、“术语(terms)”、“数字(numbers)”、“数字(numerals)”等。之类的词来引用这些信号是方便的。然而,这些词仅仅是方便的标签,并且与适当的物理量相关联。
[0109] 除非另外特别说明,否则本文中使用诸如“处理(processing)”、“计算(computing)”、“计算(calculating)”、“确定(determining)”、“呈现(presenting)”、“显示(displaying)”等词语的讨论可以指机器的动作或过程(例如,一个计算机),在一个或多个存储器(例如,易失性存储器,非易失性存储器或其组合)、寄存器或接收、存储、传输或显示信息的其他机器组件内操纵或转换表示为物理量(例如,电子,磁性或光学)的数据。
[0110] 如本文所用,对“一个实施例”或“实施例”的任何引用意味着结合该实施例描述的特定元件、特征、结构或特性包括在至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”不一定都指的是同一实施例。
[0111] 可以使用表达“耦合”和“连接”以及它们的派生词来描述一些实施例。例如,可以使用术语“耦合”来描述一些实施例,以指示两个或更多个元件处于直接物理或电接触。然而,术语“耦合”还可以表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。实施例不限于此上下文。
[0112] 如这里所使用的,术语“包括(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(having)”或其任何其他变型旨在涵盖非排他性的包含。例如,包括元素列表的过程、方法、物品或装置不一定仅限于那些元素,而是可以包括未明确列出的或者这种过程、方法、物品或装置固有的其他元素。此外,除非有相反的明确说明,否则“或”是指包含性的或不是排他性的。例如,条件A或B由以下任何一个满足:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),A和B都是真的(或存在)。
[0113] 另外,使用“一个(a)”或“一个(an)”来描述本文实施例的元件和组件。这仅仅是为了方便并且给出本发明的一般意义。该描述应该被理解为包括一个或至少一个,并且单数也包括复数,除非显而易见地另有所指。
[0114] 在阅读本公开后,本领域技术人员将理解通过本文公开的原理用于系统和用于自动或半自动计数板材捆中的板材的系统和过程的另外的替代结构和功能设计。因此,虽然已经说明和描述了特定实施例和应用,但是应该理解,所公开的实施例不限于本文公开的准确构造和部件。在不脱离所附权利要求限定的精神和范围的情况下,可以在本文公开的方法和装置的布置、操作和细节中进行对本领域技术人员显而易见的各种修改、改变和变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈