System and method for dimensioning objects
By integrating default and backup dimensioning methods on computing devices and automatically selecting and switching methods based on quality assessment rules, the efficiency and accuracy issues of dimensioning regular and irregular objects in the prior art are solved, and fast and reliable dimensioning operations are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZEBRA TECHNOLOGIES CORP
- Filing Date
- 2021-05-21
- Publication Date
- 2026-08-04
AI Technical Summary
Existing dimensioning methods struggle to quickly and accurately handle both regular and irregular shapes, especially solid dimensioning methods which lack reliability for irregularly shaped objects, posing challenges for operators when switching dimensioning methods.
The system employs computing devices equipped with default and backup dimensioning methods, automatically selects appropriate dimensioning methods based on quality assessment rules, including methods based on stereo and optical range, switches methods according to quality metrics and threshold conditions, and prompts operators to execute different device-target object interaction sequences.
It enables fast and reliable dimensioning of various objects, improves the accuracy of dimensioning irregularly shaped objects, and simplifies the operator's workflow.
Smart Images

Figure CN115667842B_ABST
Abstract
Description
Background Technology
[0001] In various applications, determining the dimensions of objects may be necessary. For example, it may be desirable to determine the dimensions of packages in a warehouse before shipment. Some dimensioning methods may not be suitable for dimensioning certain types of objects. Attached Figure Description
[0002] The accompanying drawings (in which the same reference numerals denote the same or functionally similar elements throughout the different views) together with the following detailed description are incorporated into and form part of the specification, and serve to further illustrate embodiments including the concepts of the claimed invention, and to explain the various principles and advantages of those embodiments.
[0003] Figure 1 This is a schematic diagram of an example dimensioning system.
[0004] Figure 2 It shows Figure 1 A block diagram of some internal components of the dimensioning device.
[0005] Figure 3 Is Figure 1 The flowchart shows an example method for dimensioning objects in the system.
[0006] Figure 4 It shows Figure 3 A diagram illustrating an example of how the method is executed.
[0007] Figure 5 It shows Figure 3 A diagram illustrating another example of how the method is executed.
[0008] Those skilled in the art will understand that the elements in the accompanying drawings are shown for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be exaggerated relative to other elements to aid in understanding embodiments of the invention.
[0009] The apparatus and method configurations have been indicated in appropriate places in the accompanying drawings by conventional symbols, which show only those specific details relevant to understanding embodiments of the invention, so as not to obscure this disclosure with details that would be obvious to those skilled in the art who benefit from the description herein. Detailed Implementation
[0010] The examples disclosed herein relate to a computing device for dimensioning objects. The computing device includes: a dimensioning subsystem capable of executing a default dimensioning method and an alternative dimensioning method; a memory storing quality assessment rules; and a processor connected to the dimensioning subsystem and the memory, the processor being configured to: control the dimensioning subsystem to execute the default dimensioning method to obtain default dimensioning data; calculate a quality metric for the default dimensioning data; calculate the dimensions of the object based on the default dimensioning data when the quality metric exceeds a threshold condition defined in the quality assessment rules; and control the dimensioning subsystem to execute the alternative dimensioning method to obtain alternative dimensioning data when the quality metric does not exceed the threshold condition, and calculate the dimensions of the object based on the alternative dimensioning data.
[0011] The additional examples disclosed herein relate to a method for dimensioning an object. The method includes: storing quality assessment rules; controlling a dimensioning subsystem of a dimensioning device to execute a default dimensioning method to obtain default dimensioning data; comparing a quality metric for the default dimensioning data with a threshold condition defined in the quality assessment rules; calculating the object's dimensions based on the default dimensioning data when the quality metric exceeds the threshold condition; and controlling the dimensioning subsystem to execute an alternative dimensioning method to obtain alternative dimensioning data when the quality metric does not exceed the threshold condition, and calculating the object's dimensions based on the alternative dimensioning data.
[0012] The additional examples disclosed herein relate to a method for dimensioning objects. The method includes: storing quality assessment rules; controlling a dimensioning subsystem of a dimensioning device to execute a default dimensioning method to obtain default dimensioning data; comparing a quality metric for the default dimensioning data with a threshold condition defined in the quality assessment rules; and, based on the comparison of the quality metric with the threshold condition, selecting one of the default dimensioning method and an alternative dimensioning method to calculate the dimensions of the object.
[0013] Figure 1 A dimensioning system 100 according to the teachings of this disclosure is depicted. System 100 includes a server 101 communicating with a computing device 104 (referred to herein as dimensioning device 104 or simply device 104) via a communication link 107 (shown in this example as including a wireless link). For example, link 107 may be provided via a wireless local area network (WLAN) deployed by one or more access points (not shown). In other examples, server 101 is located remotely from device 104, and therefore link 107 may include one or more wide area networks, such as the Internet, mobile networks, etc.
[0014] System 200, and more specifically, device 104, is deployed to dimension one or more objects 112-1 and 112-2. For example, object 112 could be an item in a transportation and logistics facility, such as a box or other package. As can be seen, object 112-1 is a regular box defined by length / depth, width, and height, while object 112-2 has a non-uniform structure. Some dimensioning methods (such as aim-and-click stereo dimensioning methods) may be able to quickly and accurately dimension regular objects (such as object 112-1). More complex objects (such as object 112-2) may be challenging for stereo dimensioning methods, thus requiring different dimensioning methods to ensure more reliable dimensioning of irregularly shaped objects. For example, optical range dimensioning methods could be used to dimension object 112-2.
[0015] Different dimensioning methods can be faster or more efficient, depending on various aspects of a given target object, such as color, reflectivity, surface porosity, shape (regular / irregular), stationary or moving relative to the dimensioning device, and the size of the given target object, distance to the target, or aspects of the surrounding environment (e.g., scene contrast, indoor / outdoor, ambient light intensity and / or dynamic range, free space around the target, floor color and texture and reflectivity, background or nearby objects, structure, walls). Therefore, more than one dimensioning method may be needed to handle the full range of goods encountered. When switching between dimensioning methods, it can be challenging for operators to identify the conditions for using different dimensioning methods and adapt their workflows accordingly. Workflow variations involve operators performing different actions for different dimensioning methods to develop different device-target interaction sequences. For example, a device-target interaction sequence associated with the default dimensioning method might require the operator to simply aim at the target and capture the dimensions, while an alternative device-target interaction sequence associated with a spare method might require the operator to physically interact with the dimensioned target. In an embodiment, to perform an alternative dimensioning method, the dimensioning device 104 may alert the operator to an alternative device-target object interaction sequence instead of aiming the device at the object. For example, the dimensioning device 104 may prompt the user to move the device 104 along one or more sides of the target object or near one or more sides of the target object. Alternatively or additionally, the dimensioning device 104 may prompt the user to touch the corners of the target object to help establish reference points for the object.
[0016] Therefore, device 104 includes a dimensioning subsystem 106 capable of executing a default dimensioning method and one or more alternative dimensioning methods. Typically, the default dimensioning method may be relatively faster, computationally simpler, and / or simpler for the operator during dimensioning operations (i.e., a simpler sequence of device-target interactions), but may have one or more limitations or conditions under which dimensioning operations are less reliable. One or more alternative dimensioning methods may be relatively slower, computationally more complex, and / or more complex for the operator during dimensioning operations (i.e., a more complex sequence of device-target interactions), but may be more robust under a wider range of conditions. Furthermore, in some examples, dimensioning subsystem 106 is capable of executing more than one alternative dimensioning method.
[0017] For example, the default dimensioning method could be a stereo-based dimensioning method with aiming and clicking operations. However, stereo-based dimensioning might be less reliable for objects with non-uniform structures (such as object 112-2). An example alternative dimensioning method could be an optical range-based dimensioning method. Optical range-based dimensioning methods may require more time and effort but can more accurately capture the dimensions of object 112-2 with its non-uniform structure. Other default and / or alternative dimensioning methods are also envisioned. For example, default and / or alternative dimensioning methods could include structured light dimensioning methods, time-of-flight dimensioning methods, LiDAR, combinations of the above methods, etc.
[0018] Therefore, the dimensioning subsystem 106 may include suitable hardware (e.g., a transmitter, image sensor, motion sensor (including accelerometers, gyroscopes, magnetometers, etc.)) that allows the device 104 to perform a default dimensioning method and one or more alternative dimensioning methods. Specific components of the dimensioning subsystem 106 are selected based on the specific default and alternative dimensioning methods to be performed in the dimensioning operation.
[0019] For example, the dimensioning subsystem 106 may include at least two image sensors configured to capture image data representing a target object to obtain a stereo representation of the object for stereo-based dimensioning. The dimensioning subsystem 106 may further include a tracking sensor configured to track the continuous pose of the device 104.
[0020] During operation, device 104 can automatically select a dimensioning method for dimensioning the target object. More specifically, during dimensioning operations, device 104 can execute a default dimensioning method and evaluate one or more quality metrics associated with the default dimensioning method. The default dimensioning method can be executed during a first device-target object interaction sequence associated with the default dimensioning method. Device 104 can then select one of the default dimensioning method and an alternative dimensioning method to calculate the dimensions of the target object based on comparing the quality metrics with threshold conditions. For example, when the quality metric associated with the default dimensioning method exceeds the threshold condition, device 104 can use the dimensioning data executed from the default dimensioning method to dimension the target object. When the quality metric associated with the default dimensioning method does not exceed the threshold condition, device 104 can execute an alternative dimensioning method and use the dimensioning data executed from the alternative dimensioning method to dimension the target object. The alternative dimensioning method can be executed during an alternative device-target object interaction sequence associated with the alternative dimensioning method. In some examples, to prompt the operator to perform an alternative device target object interaction sequence, device 104 may generate an alert indicating a change to an alternative dimensioning method and the associated alternative device target object interaction sequence. Therefore, device 104 may use either the default dimensioning method or an alternative dimensioning method to dimension various objects, such as objects 112-1 and 112-2.
[0021] refer to Figure 2 A mobile computing device 104, including certain internal components, is shown in more detail below. Device 104 includes a processor 200 interconnected with a non-transient computer-readable storage medium, such as memory 204. Memory 204 includes a combination of volatile memory (e.g., random access memory or RAM) and non-volatile memory (e.g., read-only memory or ROM, electrically erasable programmable read-only memory or EEPROM, flash memory). Processor 200 and memory 204 may each include one or more integrated circuits.
[0022] Memory 204 stores computer-readable instructions that are executed by processor 200. Specifically, memory 204 stores control application 208, which, when executed by processor 200, configures processor 200 to perform various functions related to the dimensioning operations of device 104, as discussed in more detail below. Application 208 can also be implemented as a suite of different applications. When configured in this way through the execution of application 208, processor 200 may also be referred to as controller 200.
[0023] Those skilled in the art will understand that, in other embodiments, the functionality implemented by processor 200 may also be implemented by one or more specially designed hardware and firmware components (such as field-configurable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc.). In embodiments, processor 200 may be a dedicated processor that can be implemented via dedicated logic circuit systems such as ASICs, FPGAs, etc., in order to improve the processing speed of the dimensioning operations discussed herein.
[0024] The memory 204 also stores rules and data used for dimensioning operations. For example, the memory 204 may store quality assessment rules for selecting dimensioning methods.
[0025] Device 104 also includes a communication interface 216 interconnected with processor 200. Communication interface 216 includes suitable hardware (e.g., transmitter, receiver, network interface controller, etc.) that allows device 104 to communicate with other computing devices (such as server 101) via link 107. The specific components of communication interface 216 are selected based on the type of network or other link on which device 104 communicates. For example, device 104 may be configured to use the communication interface to communicate with server 101 via link 107 to send extracted target data to server 101.
[0026] like Figure 2 As shown, processor 200 is interconnected with dimensioning subsystem 106. Processor 200 is capable of issuing commands via such connection to perform dimensioning operations. Specifically, processor 200 can control dimensioning subsystem 106 to execute one dimensioning method within a dimensioning method. As described above, dimensioning subsystem 106 includes suitable hardware that allows device 104 to execute a default dimensioning method and one or more alternative dimensioning methods. In this example, dimensioning subsystem 106 includes two image sensors 218-1 and 218-2. Image sensors 218-1 and 218-2 may be color image sensors or other suitable sensors to capture image data for stereo-based dimensioning. In this example, dimensioning subsystem 106 further includes a tracking sensor 220 configured to track the continuous attitude of device 104 for optical range-based dimensioning. For example, tracking sensor 220 may include motion sensors such as accelerometers, gyroscopes, magnetometers, etc.
[0027] The processor 200 may also be connected to one or more input and / or output devices 224. Input devices 224 may include one or more buttons, an auxiliary keyboard, a touch-sensitive display, etc., for receiving input from the operator (e.g., initiating a dimensioning operation). Output devices 224 may further include one or more displays, a sound generator, a vibrator, etc., for providing output or feedback to the operator (e.g., an indication of a change in the dimensioning method, or the calculated dimensions of an object).
[0028] Now refer to Figure 3 The functionality of device 104, implemented by application 208 executed by processor 200, is described in more detail. Figure 3 Method 300 for dimensioning objects is shown, which will reference... Figure 1 and Figure 2 The components shown are incorporated in system 100, and particularly described by execution via device 104, to define method 300. Method 300 will be further described when device 104 employs a stereo-based dimensioning method as the default dimensioning method and an optical range-based dimensioning method as an alternative dimensioning method. In other examples, method 300 may be executed by other suitable computing devices, or together with other suitable default and alternative dimensioning methods.
[0029] Method 300 begins at block 305 in response to a start signal (such as input at input device 224). For example, an operator may activate a trigger button to initiate method 300. At block 305, device 104 is configured to execute a default dimensioning method to obtain default dimensioning data. More specifically, the default dimensioning method may be executed during a first device-target object interaction sequence. That is, in this example, device 104 is configured to execute a stereo-based dimensioning method. The associated device-target object interaction sequence can be used by the operator to simply aim device 104 at a target object. Thus, device 104 may control the image sensors 218 of dimensioning subsystem 106 to capture image data representing the object. Device 104 may combine the image data captured from each of the image sensors 218 to obtain a stereo representation of the object. The default dimensioning data may include raw data captured by dimensioning subsystem 106 (such as image data obtained by image sensors 218) and processed data (such as the combined stereo representation of the object). The default dimension data may further include other data (e.g., environmental data) detected by other sensors of the dimensioning subsystem 106 or device 104 during the dimensioning operation.
[0030] In some examples, at box 305, device 104 may output instructions for executing the default dimensioning method at output device 224 before executing the default dimensioning method. For example, device 104 may display text instructions or generate audio signals to prompt the operator to point device 104 at the target object and provide input at input device 224 to initiate data capture by dimensioning subsystem 106.
[0031] As mentioned above, the default dimensioning method is typically a fast and computationally simple dimensioning method. Therefore, the default dimensioning method can be executed during each dimensioning operation. It is worth noting that, at box 305, device 104 is configured to revert to the default dimensioning method in response to the initiation of a subsequent dimensioning operation, regardless of the dimensioning method ultimately used in the previous dimensioning operation.
[0032] At box 310, device 104 is configured to calculate one or more quality metrics for the default dimensioning data. More specifically, the quality metrics represent the expected quality (e.g., accuracy or reliability) of the default dimensioning data obtained by performing the default dimensioning method.
[0033] Generally, quality metrics can be calculated based on: method metrics associated with the default dimensioning method itself, target metrics associated with the properties of the target object, environmental metrics associated with the properties of the immediate environment, and combinations thereof. In other examples, other quality metrics that affect the default dimensioning data can also be utilized. More generally, quality metrics are calculated based on measurable parameters of the default dimensioning data, which can help in calculating potential dimensional efficiency and quality estimates.
[0034] In this example, method metrics associated with the stereo dimensioning method may include point cloud analysis of the stereo representation of the object. Specifically, if the point cloud density is insufficient, or if the point cloud includes missing depth points at critical locations, the calculated dimensions may be inaccurate due to a lack of available data. Therefore, quality metrics may include, for example, a score representing the predicted quality of the point cloud. In other examples, the raw point cloud density may be included as a quality metric. Method metrics associated with the stereo dimensioning method may further include the percentage of missing points in the point cloud or depth map, the number of image frames for which dimensioning was performed, etc. Method metrics may further include metrics associated with the sensors of the dimensioning subsystem, including but not limited to the calibration status of the dimensioning subsystem (e.g., based on the calibration status of two or more image sensors), other sensor data including sensor occlusion status, sensor pipeline stall, etc. More generally, method metrics may include metadata associated with the default dimensioning method.
[0035] Target metrics may include the size, reflectivity, contour, surface quality, presence of (non-segmented) nearby objects, or other parameters of the target object. For example, device 104 may determine the size, reflectivity, contour, or surface quality of the target object based on image data obtained at frame 305. Memory 204 may store suitable ranges of target object parameters. Specifically, a suitable range may represent the range of accurate dimensioning results typically obtained by default dimensioning methods. For example, if the size of the target object is relatively large within the reference frame, or if the contour of the target object is irregular, the solid dimensioning results may be poor.
[0036] Environmental metrics may include ambient light or temperature, which can affect the efficiency of the default dimensioning method. Memory 204 may store suitable ranges for ambient light and temperature or other environmental parameters. Suitable ranges represent the range of accurate dimensioning results that the default dimensioning method typically yields. For example, solid dimensioning results may be poor under low-light conditions. Similarly, high or low ambient temperatures may alter optics and affect the calibration of solid representations.
[0037] In some examples, the quality metric may include a confidence level for the stereo dimensioning method. A confidence level may represent the probability that the calculated dimension is within a threshold accuracy of the actual size of the target object. A confidence level may be expressed as, for example, a score, a percentage, etc. For instance, device 104 may feed the captured image data into a machine learning-based analytics engine trained to predict the accuracy of a particular stereo representation. In other examples, the confidence level may be based on frame count analysis, where multiple image data frames are captured at box 305, and the confidence levels of the individual frames are combined to achieve an overall confidence level for the dimensioning operation.
[0038] The confidence level may be based on one or more of the aforementioned metrics (e.g., point cloud density, object size, ambient lighting, or other suitable quality metrics), and may represent a combination of quality metrics. In a further example, a combination of the above and other analytical methods can contribute to the confidence level of the solid dimensioning method.
[0039] In other examples, other combinations of quality metrics can also be calculated. For example, device 104 can be configured to calculate each of the above-mentioned quality metrics as a score (e.g., expressed as a percentage), and the combined quality metrics can represent the average score of the individual quality metrics.
[0040] At block 315, device 104 is configured to compare a quality metric with a threshold condition to determine whether the quality metric exceeds the threshold condition. The threshold condition can be defined in a quality evaluation rule stored in memory 204. Specifically, to compare a quality metric with a threshold condition, device 104 can compare individual quality metrics with their respective individual threshold conditions, and compare combined quality metrics with their respective combined threshold conditions. Furthermore, different combinations of individual threshold conditions and combined threshold conditions can contribute to the threshold condition (i.e., the overall threshold condition).
[0041] For example, device 104 may first compare each individual quality metric with its corresponding individual threshold condition. That is, if any individual quality metric does not exceed its corresponding individual threshold condition, the determination at box 315 may be negative. If all the individual quality metrics exceed their respective individual threshold conditions, device 104 may combine the combined quality metrics with the combined threshold conditions. If the combined quality metrics do not exceed their combined threshold conditions, the determination at box 315 may be negative. If the combined quality metrics exceed their combined threshold conditions, the determination at box 315 may be positive.
[0042] In this example, device 104 may be configured to determine whether the point cloud density of the stereo representation exceeds a threshold density, whether the ambient light and temperature are within appropriate light and temperature ranges, etc. Device 104 may also be configured to determine whether the confidence level of the calculated stereo dimensioning method exceeds a threshold confidence level. If any of the above metrics is below their respective thresholds, or outside their respective threshold ranges, device 104 may determine that the stereo dimensioning method is unlikely to produce reliable and accurate results, and therefore an alternative dimensioning method should be used.
[0043] In other examples, device 104 may be configured to rely primarily on the combined quality metrics and evaluate individual quality metrics only under certain conditions. For example, device 104 may first compare the combined quality metrics with combined threshold conditions. If the combined quality metrics exceed a first threshold, the determination at box 315 may be positive. If the combined quality metrics are below a second threshold, the determination at box 315 may be negative. If the combined quality metrics are between the first and second thresholds, device 104 may be configured to determine whether any individual quality metric does not exceed its corresponding individual threshold condition. If any individual quality metric does not exceed its corresponding individual threshold condition, the determination at box 315 may be negative. In some examples, only a predefined subset of individual quality metrics may be compared with their corresponding individual threshold conditions (e.g., the individual quality metric most relevant to the efficiency of the default dimensioning method).
[0044] If the determination at box 315 is positive, device 104 proceeds to box 320. At box 320, device 104 is configured to calculate the dimensions of the target object using the default dimensioning data obtained at box 305. That is, device 104 dimensions the target object according to the default dimensioning method. In this example, device 104 calculates the dimensions of the target object based on the solid representation of the object. In some examples, device 104 may output the calculated dimensions of the target object at output device 224, send the calculated dimensions of the target object to server 101, or store the calculated dimensions of the target object in memory 204 for further processing.
[0045] If the determination result at box 315 is not timed, device 104 proceeds to box 325. At box 325, device 104 is configured to execute an alternative dimensioning method to obtain alternative dimensioning data. The alternative dimensioning method can be executed during an alternative device-target object interaction sequence. That is, in this example, device 104 is configured to execute an optically based dimensioning method. The associated device-target object interaction sequence can be used by an operator to move device 104 along one or more sides of the target object or near one or more sides of the target object. During the associated device-target object interaction sequence, device 104 can control tracking sensor 220 to track the continuous pose of device 104 in a reference frame and detect multiple dimensioning events associated with the object. In response to the detection of each dimensioning event, device 104 can generate a corresponding pose in the reference frame based on the current pose. Finally, device 104 can generate the object boundary in the reference frame based on this pose. That is, device 104 can dimension the target object by generating a virtual measuring tape based on the movement of device 104 relative to the target object. The object boundary may represent at least a portion of the standby dimensioning data generated by the optical range-based dimensioning method. The standby dimensioning data may further include other data (e.g., environmental data) detected by other sensors of the dimensioning subsystem 106 or device 104 during the dimensioning operation.
[0046] In some examples, at box 325, device 104 may output an indication of the change to an alternative dimensioning method at output device 224 before executing the alternative dimensioning method. Specifically, the indication may be generated as a warning to prompt the operator to perform an alternative device-target object interaction sequence associated with the alternative dimensioning method. For example, the indication may include a notification at the display of output device 224 or an audio signal indicating the change. In some examples, the indication may further include instructions for executing the alternative dimensioning method. For example, device 104 may provide instructions prompting the operator to move device 104 around and above the target object for use with an optically based dimensioning method.
[0047] In some examples, device 104 may be configured to return to box 310 to evaluate the alternative dimensioning data after obtaining alternative dimensioning data from the alternative dimensioning method and before calculating the dimensions of the target object based on the alternative dimensioning data. More specifically, at box 310, device 104 may calculate one or more quality metrics for the alternative dimensioning data. At box 315, if the alternative quality metric exceeds an alternative threshold condition for the alternative dimensioning data, device 104 may use the alternative dimensioning data to calculate the dimensions of the target object. If the alternative quality metric does not exceed the alternative threshold condition, device 104 may execute a further alternative dimensioning method to obtain further dimensioning data. Device 104 may continue iterating through boxes 325, 310, and 315 based on the alternative dimensioning methods that can be executed by device 104. Device 104 may then calculate the dimensions of the object based on the further dimensioning data obtained from one of the alternative dimensioning methods.
[0048] At box 330, device 104 is configured to calculate the dimensions of the target object using the alternative dimensioning data obtained at box 325. That is, device 104 dimensions the target object according to the alternative dimensioning method. In some examples, device 104 may output the calculated dimensions of the target object at output device 224, send the calculated dimensions of the target object to server 101, or store the calculated dimensions of the target object in memory 204 for further processing.
[0049] Now for reference Figure 4 A schematic diagram of dimensioning operation 400 is depicted. Specifically, dimensioning operation 400 will be described in conjunction with the execution of method 300 for dimensioning object 112-1 by device 104.
[0050] The operator can first orient the device 104 toward the object 112-1 to be dimensioned, and, for example, provide input at a trigger button to signal the initialization of the dimensioning operation 400. At box 305, the device 104 executes the stereoscopic dimensioning method. Specifically, the device 104 controls two image sensors 218-1 and 218-2 to capture image data representing the object 112-1 and combines them to form a stereoscopic representation 404.
[0051] At box 310, device 104 calculates a quality metric for stereo representation 404. For example, device 104 may calculate the point cloud density of stereo representation 404 and the confidence level of the stereo dimensioning method. In this example, the point cloud density can be high because the flat surface of object 112-1 is well-suited for stereo processing. Furthermore, the confidence level of the stereo dimensioning method can be high based on the contour and shape of target object 112-1. At box 315, device 104 compares the point cloud density to a threshold density and compares the confidence level to a threshold confidence level. Specifically, in this example, device 104 may determine if a threshold condition is exceeded.
[0052] Therefore, at frame 320, device 104 computes the width 406, height 408, and depth 410 of object 112-1 based on a stereo representation 404. Device 104 further displays dimensions 406, 408, and 410 at output device 224 of device 104. As will be understood, dimensions 406, 408, and 410 may additionally be sent to server 101 or one or more additional computing devices and stored in memory 204 for further processing.
[0053] Now for reference Figure 5 A schematic diagram of dimensioning operation 500 is depicted. Specifically, dimensioning operation 500 will be described in conjunction with the execution of method 300 for dimensioning object 112-2 by device 104.
[0054] The operator can first orient the device 104 toward the object 112-2 to be dimensioned, and, for example, provide input at a trigger button to signal the initialization of the dimensioning operation 500. At box 305, the device 104 executes the stereoscopic dimensioning method. Specifically, the device 104 controls two image sensors 218-1 and 218-2 to capture image data representing the object 112-2 and combines them to form a stereoscopic representation 504.
[0055] At box 310, device 104 calculates a quality metric for stereo representation 504. For example, device 104 may calculate the point cloud density of stereo representation 504 and the confidence level of the stereo dimensioning method. In this example, the point cloud density may be sufficiently high; however, the confidence level of the stereo dimensioning method may be low based on the contour and shape of the target object 112-2. For example, the confidence level may be reduced based on the different possible widths of object 112-2 due to its irregular shape. Therefore, at box 315, device 104 compares the point cloud density to a threshold density and the confidence level to a threshold confidence level, and determines that no threshold condition has been exceeded.
[0056] At box 325, device 104 may provide indication 508 of a change to the optical range dimensioning method, including instructions prompting the operator to perform an alternative device-target object interaction sequence associated with the alternative optical range dimensioning method. For example, the operator may move device 104 such that device 104 traverses object 112-2 in several directions (e.g., in direction 512 in the depicted example) to calculate object boundaries 516. At box 330, device 104 may use object boundaries 516 to calculate the width 518, height 520, and depth 522 of object 112-2. Device 104 further displays dimensions 518, 520, and 522 at output device 224 of device 104.
[0057] Specific embodiments have been described in the foregoing specification. However, those skilled in the art will understand that various modifications and changes can be made without departing from the scope of the invention as set forth in the following claims. Therefore, the specification and drawings are to be considered illustrative rather than restrictive, and all such modifications are intended to be included within the scope of this teaching.
[0058] These benefits, advantages, solutions to problems, and any elements(s) that may make any benefit, advantage, or solution occur or become more prominent are not to be construed as key, essential, or necessary features or elements of any or all claims. The invention is defined solely by the appended claims, including any amendments made during the pending examination of this application and all equivalents of these claims in the patent announcement.
[0059] Furthermore, in this document, relational terms such as first and second, top and bottom, etc., may be used individually to distinguish one entity or action from another entity or action, without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprising,” “including,” “having,” “possessing,” “including,” “covering,” “covering,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes, has, contains, or covers a list of elements includes not only those elements but also other elements not expressly listed or inherent to such process, method, article, or apparatus. Elements beginning with “comprising one,” “having one,” “including one,” or “covering one,” in the absence of further constraints, do not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes, has, contains, or covers that element. The terms “a” and “an” are defined as one or more unless expressly stated otherwise herein. The terms “basically,” “approximately,” “about,” “approximately,” or any other version of these terms are defined as being as close as understood by those skilled in the art, and in one non-limiting embodiment, these terms are defined as being within 10%, in another within 5%, in yet another within 1%, and in still another within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly connected or mechanically connected. A device or structure “configured” in a certain way is configured at least in this manner, but may also be configured in ways not listed.
[0060] It will be understood that some embodiments may include one or more dedicated processors (or "processing devices"), such as microprocessors, digital signal processors, custom processors, and field-programmable gate arrays (FPGAs), and uniquely stored program instructions (including both software and firmware) that control one or more processors to implement some, most, or all of the functions of the methods and / or apparatuses described herein, in conjunction with certain non-processor circuitry. Alternatively, some or all of the functions may be implemented by a state machine without stored program instructions, or in one or more application-specific integrated circuits (ASICs), wherein each function or some combination of certain functions is implemented as custom logic. Of course, a combination of these two approaches may also be used.
[0061] Furthermore, embodiments can be implemented as computer-readable storage media having computer-readable code stored thereon for programming a computer (e.g., including a processor) to perform the methods described and claimed herein. Examples of such computer-readable storage media include, but are not limited to, hard disks, CD-ROMs, optical storage devices, magnetic storage devices, ROMs (read-only memories), PROMs (programmable read-only memories), EPROMs (erasable programmable read-only memories), EEPROMs (electrically erasable programmable read-only memories), and flash memory. Moreover, it is anticipated that those skilled in the art, while making potentially significant efforts driven by, for example, available time, current technology, and economic considerations, and numerous design choices, will be able to readily generate such software instructions and programs, as well as ICs, with minimal experimentation when guided by the concepts and principles disclosed herein.
[0062] This abstract is provided to allow the reader to quickly determine the nature of the disclosure. This abstract is submitted with the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, in the above detailed description, it can be seen that various features are grouped together in various embodiments for the purpose of making the disclosure coherent. This method of disclosure should not be construed as reflecting an intention to require more features than are expressly recited in each claim. Rather, as reflected in the following claims, the inventive subject matter lies in fewer than all the features of a single disclosed embodiment. Therefore, the following claims are thus incorporated into the detailed description, wherein each claim represents itself as a separately claimed subject matter.
Claims
1. A computing device for dimensioning objects, comprising: A dimensioning subsystem, configured to execute a default dimensioning method and a backup dimensioning method; The memory, and the memory storage quality assessment rules; A processor, connected to the dimensioning subsystem and the memory, is configured to: The dimensioning subsystem is controlled to execute the default dimensioning method to obtain default dimensioning data; The quality metric for the default dimension annotation data is compared with the threshold conditions defined in the quality evaluation rules; When the quality metric exceeds the threshold condition, the size of the object is calculated based on the default dimension annotation data; and When the quality metric does not exceed the threshold condition, the dimensioning subsystem is controlled to execute the backup dimensioning method to obtain backup dimensioning data, and the dimensions of the object are calculated based on the backup dimensioning data. The quality metric is calculated based on one or more of the following: a method metric associated with the default dimensioning method, a target metric associated with the object's attributes, and an environmental metric associated with the attributes of the object's immediate environment.
2. The computing device as described in claim 1, characterized in that, The dimensioning subsystem includes at least two image sensors configured to capture image data representing the object, and wherein, in order to execute the default dimensioning method, the processor is configured to: The image data representing the object is captured at the at least two image sensors; Obtain a three-dimensional representation of the object; and The dimensions of the object are calculated based on the stereo representation.
3. The computing device as described in claim 1, characterized in that, In order to compare the quality metric with the threshold condition, the processor is configured to: Compare each quality metric with its corresponding threshold condition; and The combined quality metric is compared with the corresponding combined threshold condition.
4. The computing device as claimed in claim 1, characterized in that, The dimensioning subsystem includes a tracking sensor, and wherein, in order to execute the alternative dimensioning method, the processor is configured to: Control the tracking sensor to track the continuous attitude of the computing device in a reference frame; Detect multiple dimensioning events associated with the object; In response to the detection of each of the dimensioning events, a corresponding pose in the reference frame is generated based on the current pose in the pose. as well as Based on the pose, the object boundary in the reference frame is generated as the backup dimension annotation data.
5. The computing device as claimed in claim 1, characterized in that, The processor is configured to generate an alert indicating a change to the alternative dimensioning method before controlling the dimensioning subsystem to execute the alternative dimensioning method, prompting the operator to execute an alternative device-target object interaction sequence associated with the alternative dimensioning method.
6. The computing device as claimed in claim 1, characterized in that, The processor is further configured to revert to the default dimensioning method in response to the initiation of a subsequent dimensioning operation.
7. The computing device as claimed in claim 1, characterized in that, The processor is further configured to: before calculating the dimensions of the object based on the alternative dimension annotation data: Calculate the backup quality metric for the backup dimension annotation data; When the backup quality metric exceeds a backup threshold condition for the backup dimension annotation data, the size of the object is calculated based on the backup dimension annotation data; and When the backup quality metric does not exceed the backup threshold condition, the dimensioning subsystem is controlled to execute a further backup dimensioning method to obtain further dimensioning data; as well as The dimensions of the object are calculated based on the further dimensioning data.
8. A method for dimensioning objects, the method comprising: Storage quality assessment rules; The dimensioning subsystem that controls the dimensioning equipment executes the default dimensioning method to obtain default dimensioning data; The quality metric for the default dimension annotation data is compared with the threshold conditions defined in the quality evaluation rules; When the quality metric exceeds the threshold condition, the size of the object is calculated based on the default dimension annotation data; and When the quality metric does not exceed the threshold condition, the dimensioning subsystem is controlled to execute a backup dimensioning method to obtain backup dimensioning data, and the dimensions of the object are calculated based on the backup dimensioning data. The quality metric is calculated based on one or more of the following: a method metric associated with the default dimensioning method, a target metric associated with the object's attributes, and an environmental metric associated with the attributes of the object's immediate environment.
9. The method as described in claim 8, characterized in that, Executing the default dimensioning method includes: Capture image data representing the object; Obtain a three-dimensional representation of the object; and The dimensions of the object are calculated based on the stereo representation.
10. The method as described in claim 8, characterized in that, Comparing the quality metric with the threshold condition includes: Compare each quality metric with its corresponding threshold condition; and The combined quality metric is compared with the corresponding combined threshold condition.
11. The method as described in claim 8, characterized in that, The method for performing the alternative dimension annotation includes: Control the tracking sensor to track the continuous attitude of the dimensioning device in a reference frame; Detect multiple dimensioning events associated with the object; In response to detecting each of the dimensioning events, generate the corresponding pose in the reference frame based on the current pose in the pose; and Based on the pose, the object boundary in the reference frame is generated as the backup dimension annotation data.
12. The method of claim 8, further comprising, before controlling the dimensioning subsystem to execute the alternative dimensioning method, generating an alert indicating a change to the alternative dimensioning method to prompt the operator to execute an alternative device-target object interaction sequence associated with the alternative dimensioning method.
13. The method of claim 8, further comprising, in response to the initiation of a subsequent dimensioning operation, reverting to the default dimensioning method.
14. The method of claim 8, further comprising, before calculating the dimensions of the object based on the spare dimension annotation data: The backup quality metric for the backup dimension annotation data is compared with the backup threshold condition; When the backup quality metric exceeds the backup threshold condition, the size of the object is calculated based on the backup dimension annotation data; and When the backup quality metric does not exceed the backup threshold condition, the dimensioning subsystem is controlled to execute a further backup dimensioning method to obtain further dimensioning data; and The dimensions of the object are calculated based on the further dimensioning data.
15. A method for dimensioning objects, the method comprising: Storage quality assessment rules; The dimensioning subsystem that controls the dimensioning equipment executes the default dimensioning method to obtain default dimensioning data; The quality metric for the default dimension annotation data is compared with the threshold conditions defined in the quality evaluation rules; as well as Based on a comparison of the quality metric with the threshold condition, one of the default dimensioning method and the alternative dimensioning method is selected to calculate the object's dimensions. The quality metric is calculated based on one or more of the following: a method metric associated with the default dimensioning method, a target metric associated with the object's attributes, and an environmental metric associated with the attributes of the object's immediate environment.
16. The method as described in claim 15, characterized in that, Selecting one of the default dimensioning method and the alternative dimensioning method includes: When the quality metric exceeds the threshold condition, the default dimensioning method is selected to calculate the object's dimensions; and When the quality metric does not exceed the threshold condition, the alternative dimensioning method is selected to calculate the size of the object.
17. The method as described in claim 16, characterized in that, Executing the default dimensioning method includes: Capture image data representing the object; Obtain a three-dimensional representation of the object; and The dimensions of the object are calculated based on the stereo representation.
18. The method as described in claim 16, characterized in that, The alternative dimensioning method includes: Control the tracking sensor to track the continuous attitude of the dimensioning device in a reference frame; Detect multiple dimensioning events associated with the object; In response to detecting each of the dimensioning events, generate the corresponding pose in the reference frame based on the current pose in the pose; and Based on the pose, generate the object boundary in the reference frame as backup dimension annotation data; and The dimensions of the object are calculated based on the spare dimension annotation data.
19. The method of claim 16, further comprising, prior to selecting the alternative dimensioning method, warning the operator of the change to the alternative dimensioning method to allow the operator to perform an alternative device-target object interaction sequence associated with the alternative dimensioning method.
20. A method for dimensioning objects, the method comprising: During the first device-target object interaction sequence, the dimensioning subsystem that controls the dimensioning device executes the default dimensioning method to obtain default dimensioning data; The dimensions of the object are calculated by selecting one of the default dimensioning method and the alternative dimensioning method based on the default dimensioning data. When the alternative dimensioning method is selected, an alert is generated indicating a change to the alternative dimensioning method to prompt the operator to execute an alternative device-target object interaction sequence associated with the alternative dimensioning method, and the dimensioning subsystem is controlled to execute the alternative dimensioning method during the alternative device-target object interaction sequence. Selecting either the default dimensioning method or the alternative dimensioning method includes comparing a quality metric for the default dimensioning method with a threshold condition. The quality metric is calculated based on one or more of the following: a method metric associated with the default dimensioning method, a target metric associated with the object's attributes, and an environmental metric associated with the attributes of the object's immediate environment.
21. The method as described in claim 20, characterized in that, Executing the default dimensioning method includes: Capture image data representing the object; Obtain a three-dimensional representation of the object; and The dimensions of the object are calculated based on the stereo representation.
22. The method as described in claim 20, characterized in that, The method for performing the alternative dimension annotation includes: Control the tracking sensor to track the continuous attitude of the dimensioning device in a reference frame; Detect multiple dimensioning events associated with the object; In response to detecting each of the dimensioning events, generate the corresponding pose in the reference frame based on the current pose in the pose; and Based on the pose, generate the object boundary in the reference frame as backup dimension annotation data; and The dimensions of the object are calculated based on the spare dimension annotation data.