Avoiding multipath artifacts in mobile sizing

The mobile device uses a motion sensor and depth sensor to mitigate multipath artifacts in ToF sensors by adjusting orientation and analyzing attribute consistency, enhancing the accuracy of object dimensions.

DE112024001850T5Pending Publication Date: 2026-03-12ZEBRA TECHNOLOGIES CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-26
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Depth sensors, such as time-of-flight (ToF) sensors, in mobile devices generate point clouds with multipath artifacts that affect the accuracy of object dimensions due to reflections from multiple surfaces, leading to distorted measurements.

Method used

A mobile computing device equipped with a motion sensor and a depth sensor, such as a ToF sensor, uses a method to mitigate multipath artifacts by monitoring orientation changes and acquiring additional point clouds to ensure accurate dimensioning, employing a processor to analyze attributes and eliminate artifacts.

Benefits of technology

The method improves the accuracy of object dimensions by reducing the impact of multipath artifacts, ensuring precise measurements through iterative orientation adjustments and attribute comparisons.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The method in a computer device includes: acquiring, via a depth sensor, a first point cloud representing an object; determining, from the first point cloud, a first attribute of a plane corresponding to a surface of the object; monitoring, via a motion sensor, the orientation of the depth sensor; in response to detecting a change in orientation that meets a threshold, acquiring a second point cloud representing the object; determining, from the second point cloud, a second attribute of the plane corresponding to the surface of the object; determining whether the first attribute and the second attribute match; and if the first attribute and the second attribute match, dimensioning the object based on at least one of the first point cloud and the second point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] Depth sensors, such as time-of-flight (ToF) sensors, can be used in mobile devices, such as handheld computers, to capture point clouds of objects (e.g., boxes or other packages) from which object dimensions can be derived. However, point clouds generated by ToF sensors can contain artifacts induced by multipath reflections received by the sensor, which can affect the accuracy of dimensions determined from the point clouds. Brief description of the multiple views of the drawings

[0002] The accompanying figures, in which the same reference numerals refer to identical or functionally similar elements in the individual views, are integrated into the specification together with the detailed description below and form a part thereof, serving to further illustrate embodiments of concepts that include the claimed invention and to explain various principles and advantages of these embodiments. Fig. Figure 1 is a diagram illustrating a mobile computing device used to dimension an object. Fig. 2 is a diagram illustrating multipath artifacts in depth data generated by the mobile computing device of Fig. 1 will be recorded. Fig. 3 is a block diagram of certain internal hardware components of the mobile computing device of Fig. 1. Fig. Figure 4 is a flowchart of a procedure for multipath artifact avoidance in mobile dimensioning. Fig. Figure 5 is a diagram illustrating the implementation of blocks 405 and 410 of the procedure of Fig. 4 illustrates. Fig. Figure 6 is a diagram showing an exemplary implementation of block 415 of the procedure of Fig. 4 illustrates. Fig. Figure 7 is a diagram showing an exemplary implementation of block 425 of the procedure of Fig. 4 illustrates. Fig. Figure 8 is a diagram showing another exemplary implementation of block 425 of the procedure of Fig. 4 illustrates.

[0003] Experts will recognize that elements in the figures are illustrated for the sake of simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of embodiments of the present invention.

[0004] Where appropriate, the apparatus and process components have been represented by conventional symbols in the drawings, which show only those specific details relevant to understanding the embodiments of the present invention, so as not to obscure the disclosure with details that would be obvious to persons skilled in the art referring to the description herein. Detailed description

[0005] Examples disclosed herein relate to a method in a computer apparatus, comprising: acquiring, via a depth sensor, a first point cloud representing an object; determining, from the first point cloud, a first attribute of a plane corresponding to a surface of the object; monitoring, via a motion sensor, an orientation of the depth sensor; in response to detecting a change in orientation satisfying a threshold, acquiring a second point cloud representing the object; determining, from the second point cloud, a second attribute of the plane corresponding to the surface of the object; determining whether the first attribute and the second attribute are equal; and if the first attribute and the second attribute are equal, dimensioning the object based on at least one of the first point cloud and the second point cloud.

[0006] Additional examples disclosed herein are directed to a computer device comprising: a motion sensor; a depth sensor; and a processor configured to: detect, via the depth sensor, a first point cloud representing an object; determine, from the first point cloud, a first attribute of a plane corresponding to a surface of the object; monitor, via the motion sensor, an orientation of the computer device; in response to detecting a change in orientation satisfying a threshold, detect a second point cloud representing the object; determine, from the second point cloud, a second attribute of the plane corresponding to the surface of the object; determine whether the first attribute and the second attribute are equal; and if the first attribute and the second attribute are equal, dimension the object based on at least one of the first point cloud and the second point cloud.

[0007] Fig. Figure 1 illustrates a mobile computing device 100 (hereinafter also referred to as the mobile device 100 or simply the device 100) that is capable of acquiring point clouds (including depth maps, depth images including color data, or the like) and determining the dimensions of objects represented in the point clouds. For example, the device 100 can be operated to acquire a point cloud representing an object 104 within a field of view 108 of a depth sensor of the device 100. The depth sensor may, for example, include a time-of-flight sensor (ToF sensor).

[0008] Object 104 can be, for example, a package or a collection of packages (e.g., on a pallet) in a transport and logistics facility. From a captured point cloud, the device 100 can be configured to detect a top surface 112 (e.g., a flat surface, in this example) of object 104. The device 100 can also be configured to detect a reference surface 116, such as a floor, a ramp, a shelf, or other support surface on which object 104 rests.

[0009] The device 100 can determine the dimensions of the object 104 by recognizing dimensions of the upper surface 112, such as a width “W” and a depth “D”, and by recognizing a height “H” as the distance between the upper surface 112 and the reference surface 116. In other examples, the height H can be determined from a side 120 of the object 104, which is recognized from the acquired point cloud, instead of or in addition to a difference between the position of the upper surface 112 and the reference surface 116.

[0010] The dimensions of object 104, generated by device 100, can be displayed on a screen 124 of device 100 and / or transmitted to another computer device (including multiple other computer devices). The dimensions can be used by device 100 or such other device(s) to optimize the use of space in a container used to ship object 104, to determine shipping costs for object 104, and the like.

[0011] Certain depth sensors, including time-of-flight (ToF) sensors, incorporate an emitter (such as a laser diode) to illuminate a scene (e.g., to illuminate the entire scene simultaneously) and an array of pixels configured to detect reflections from the illumination emitted by the emitter. A ToF sensor may also include a microcontroller or other suitable control circuitry configured to determine a depth measurement for each pixel that detects reflected light. The depth measurement indicates the distance between the sensor and a surface in the scene that triggered the reflection and is determined based on the time elapsed between an illumination pulse and the arrival of the reflection at the sensor.

[0012] However, determining a depth measurement for a given pixel can be complicated by multipath reflections received by the sensor. With reference to Fig. Figure 2 shows a top view of the device 100 and the object 104, in which the object 104 is located next to another surface 200, such as a wall, another package, or the like. After the emission of an illumination pulse, a single pixel of the sensor can receive three different reflections 204-1, 204-2, and 204-3. Reflection 204-1 can arrive at the sensor directly from a point 208 on the upper surface 112. Reflection 204-2 can arrive at the sensor directly from another point on the upper surface 112, for example, due to the surface texture of the surface 112. Reflection 204-3 can arrive at the sensor that was first reflected from the first point 208 to the surface 200.

[0013] The sensor can therefore attempt to integrate the various reflections 204 to generate a depth measurement corresponding to point 208. Due to the variable nature of multipath reflections, it can be difficult to determine the position of point 208 in the to accurately determine three-dimensional space. For example, the sensor may overestimate the distance between the sensor and point 208. The resulting point cloud may, for example, represent an upper surface 112' that is distorted relative to the true shape of the upper surface 112 (object 104 is shown below surface 112' in dashed lines for comparison). In this exaggerated example, surface 112' has a curved profile and is larger in one dimension than the true surface 112. Multipath artifacts in acquired point clouds can therefore lead to inaccurate dimensions for object 104.

[0014] The device 100 therefore implements additional functionality to mitigate the effect of multipath artifacts on dimensioning when using depth sensors such as ToF sensors. The device 100 also generates dimensions, as discussed above, e.g., for display on a screen 124 of the device 100, transmission to another computer device, or the like.

[0015] With reference to Fig. Figure 3 illustrates a block diagram of certain components of the device 100. In addition to the display (and the integrated touchscreen in this example) 124, the device 100 includes a processor 300, such as a central processing unit (CPU), graphics processing unit (GPU), special controller such as an application-specific integrated circuit (ASIC), or the like. The processor 300 is connected to a non-volatile, computer-readable storage medium such as a memory 304. The memory 304 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). The processor 300 and the memory 304 can each comprise one or more integrated circuits, which may be, for example, arranged on a substrate such as a printed circuit board, implemented as a system-on-a-chip (SoC), or the like.

[0016] Device 100 also includes a communication interface 308, which enables Device 100 to exchange data with other computer devices, for example, via a network 312. The other computer devices may include a server 316, which can be located within the facility where Device 100 is located. The server 316 can also be located remotely from the aforementioned facility.

[0017] Additionally, the device 100 includes a motion sensor 320, such as an inertial measurement unit (IMU), which incorporates a suitable combination of gyroscopes, accelerometers, and the like. The motion sensor 320 is configured to provide the processor 300 with measurements that define the motion and / or orientation of the device 100. For example, the motion sensor 320 can provide an orientation of the device 100 relative to a gravity vector (e.g., a vector directed toward the center of the planet).

[0018] The device 100 further includes a depth sensor 324, such as a ToF sensor, as already mentioned. As discussed above, the depth sensor 324 can therefore include an emitter, such as a light-emitting diode (LED), and an image sensor that provides an array of pixels (e.g., a CCD sensor (charge-coupled device), a CMOS sensor (complementary metal-oxide semiconductor), or the like). The sensor 324 can also include processing hardware, such as a local controller or the like, to generate point cloud data from raw reflections captured by the image sensor. In other examples, the processing of raw sensor data can be performed by the processor 300. In other examples, the motion sensor 320 can be implemented by the depth sensor 324 and / or another image sensor, such as a camera, instead of or in addition to an IMU.

[0019] Memory 304 stores computer-readable instructions for execution by processor 300. In particular, memory 304 stores a sizing application 328 which, when executed by processor 300, configures the processor 300 to process successive point clouds acquired by depth sensor 324 and to determine whether the point clouds are likely to be affected by multipath artifacts before generating dimensions. By acquiring further point clouds until one is acquired that appears unlikely to contain multipath artifacts, the device 100 can improve the accuracy of object dimensions generated from the acquired point clouds.

[0020] With reference to Fig. Figure 4 illustrates a method 400 for avoiding multipath artifacts in mobile dimensioning. Method 400 is described below in conjunction with its implementation by device 100. although it is understood that the procedure 400 can also be carried out by other devices.

[0021] At block 405, the device 100 is configured (e.g., via the execution of application 328 by processor 300) to initiate data acquisition via the depth sensor 324, for example, in response to the activation of an input to the device 100 (e.g., selecting an element on the display 124). Initiating data acquisition involves capturing at least one point cloud, also referred to as a single frame of point cloud data. For example, in the context of a ToF sensor, each frame results from an illumination pulse from sensor 324 and the capture of reflections resulting from that pulse. In some examples, initiation at block 405 involves starting the acquisition of a sequence of frames at any suitable rate, e.g.,at a frequency of ten frames per second (although it is understood that lower and higher capture rates may be used, for example depending on the sizing application case and / or the computing resources available on the device 100).

[0022] At block 410, device 100 is configured to determine an attribute of the upper surface 112 of object 104 in a given single frame of point cloud data acquired by sensor 324 (e.g., the first frame acquired after initiation at block 405). For example, device 100 may be configured to detect the upper surface 112 using any suitable segmentation algorithm. In some implementations, device 100 performs one or more plane-matching operations on the acquired point cloud, e.g., using Random Sample Consensus (RANSAC) and / or other suitable operations, to detect planes corresponding to one or more surfaces of object 104. Device 100 is configured to detect the plane corresponding to the upper surface 112, e.g.,by selecting the plane at the greatest height in a three-dimensional coordinate system when multiple planes are detected from the point cloud.

[0023] The device 100 is further configured to determine at least one attribute of the plane corresponding to the upper surface 112 at block 410. The attribute determined at block 410 may include a linear dimension, such as a width and / or a length of the plane. The attribute may also be in addition to or instead of the attributes mentioned above. linear dimensions include an orientation angle of the plane, e.g. relative to a three-dimensional coordinate system in which the current position of the device 100 is tracked (e.g. by the motion sensor 320).

[0024] With reference to Fig. Figure 5 illustrates an exemplary point cloud 500 as acquired at block 405. The point cloud 500 includes a representation 104' of the object 104, including a captured upper surface 112', which may exactly match the true upper surface 112 in shape and orientation, or may differ from the true upper surface 112, for example, due to multipath artifacts captured by the sensor 324. At block 410, the device 100 is configured to fit a plane 504 to the upper surface 112'. The plane 504 is illustrated in a perspective view and from the side, demonstrating that while the true surface 112 is flat, the captured surface 112' is curved and elongated. The device 100 can be configured to have one or more of a length or depth 508 of the plane 504, a width 512 of the plane 504 and an orientation angle 516 (e.g.relative to the vertical provided by the previously mentioned gravity vector) of plane 504 to determine.

[0025] As can now be seen, it can be difficult to determine from the single analyzed point cloud whether point cloud 500 accurately represents object 104, since the variable nature of multipath artifacts makes such artifacts difficult to detect and eliminate. In other words, while point cloud 500 represents a box with a curved top surface, it can be difficult to determine whether object 104 itself has a curved top surface or whether the curved appearance of surface 112' results from multipath artifacts. Device 100 is therefore configured to acquire additional sensor data to determine whether multipath artifacts are likely to be present.

[0026] With renewed reference to Fig. At block 415, device 100 can request an operator of device 100 to change the orientation of device 100, so that sensor 324 is realigned relative to object 104. At block 420, device 100 is configured to monitor its orientation via motion sensor 320. For example, the orientation of device 100 relative to a gravity vector can be monitored to determine one or more of its pitch, yaw, and roll angles. A current orientation of device 100 can be compared to the orientation of device 100 when point cloud 500 was acquired, and device 100 can determine whether the orientation has changed by more than a threshold amount (e.g., more than fifteen degrees or any other suitable angular threshold).If the determination at block 420 is negative, the device 100 can be configured to continue monitoring the orientation and repeat block 420, for example, until a timeout occurs if no confirmatory determination is made at block 420. Although the sensor 324 can continue acquiring further point clouds while the device 100 anticipates a sufficient change in orientation, these additional point clouds do not need to be processed to detect planes of the object 104 and determine plane attributes corresponding to the upper surface 112. Therefore, the computational load placed on the sensor 324 and / or the processor 300 can be reduced while an orientation change is expected.

[0027] If the determination at block 420 is confirmatory, device 100 is configured to move to block 425. Fig. Figure 6 illustrates an exemplary implementation of blocks 415 and 420, in which the processor 300 controls the display 124 to show a prompt 600 instructing an operator of the device 100 to reorient the device 100. The operator can reposition the device 100 in response to the prompt 600, as shown in the lower section of Figure 6. Fig. 6 shown, such that a difference between an initial orientation angle 604 and a current orientation angle 608 (e.g. illustrated as an angle between an optical axis 612 of the sensor 324 and a gravity vector 616 monitored by the motion sensor 320) exceeds a threshold.

[0028] If the orientation angle of the device 104 has changed sufficiently from the initial orientation at which the point cloud 500 was acquired, multipath artifacts may be less likely to be present. For example, the prompt 600 may instruct the operator to position the device 100 closer to an overhead position relative to the object 104. In other examples, changing the orientation of the device 100 may remove a reflective surface behind the object 104 from the field of view 108, thereby reducing the likelihood of multipath artifacts in subsequently acquired point clouds.

[0029] In block 425, after reorientation, device 100 is configured to process a different point cloud (e.g., by controlling sensor 324 to acquire another point cloud, or by retrieving the latest point cloud from the sequence acquired by sensor 324). Device 100 is further configured, as described in conjunction with block 410, to detect one or more planes in the point cloud, to select the plane corresponding to the upper surface 112 of object 104, and to determine second instances of the attribute(s) determined in block 410. Fig. Figure 7 illustrates another example point cloud 700, which can be derived, for example, from the one in Fig. The second orientation shown in Figure 6 is captured. The device 100 is configured to determine a plane 704 corresponding to a surface 112" of the point cloud 700, and to determine one or more attributes of the plane 704, such as a length 708, a width 712 and an orientation angle 716.

[0030] In block 430, device 100 is configured to determine whether at least one of the attributes from block 425 matches a corresponding attribute from the previous sample. For example, in this execution of procedure 400, device 100 is configured to determine whether at least one of attributes 708, 712, and 716 matches attributes 508, 512, and 516, respectively. Device 100 may, for example, be configured to determine whether a difference between corresponding attributes (e.g., widths 512 and 712) is less than a threshold value (e.g., a percentage of width 512, an absolute value, or the like).

[0031] If the determination at block 430 is negative, indicating that the captured surface 112' differs significantly from the captured surface 112" (although both captured surfaces correspond to the same real surface), device 100 is configured to return to block 415. Differences between attributes of successive captured levels corresponding to the same physical surface indicate the likely presence of multipath artifacts, and device 100 is therefore configured to capture further data.

[0032] Through further extensions of blocks 415, 420 and 425, the device 100 is configured to capture another single image, which defines, for example, another point cloud 800, as in Fig. Figure 8 shows that, from point cloud 800, which contains another representation 104''' of object 104 and another representation 112''' of the upper surface 112, the device 100 is configured to detect a plane 804 corresponding to the upper surface 112 and to determine attributes of the plane 804, such as a length 808, a width 812, and an orientation angle 816. At block 430, the device 100 is configured to determine whether one or more of the attributes 808, 812, and 816 match the corresponding attributes 708, 712, and 716 (i.e., the attributes from the previous execution of block 425, and not the attributes from the initial point cloud 500). If so, the determination at block 430 is confirmatory, and the device 100 therefore proceeds to block 435.If the determination at block 430 remains negative, the device 100 can continue to acquire sensor data in the form of further point clouds corresponding to further device orientations until successive point clouds with sufficiently similar attributes are acquired.

[0033] At block 435, device 100 is configured to determine one or more dimensions of object 104, for example, based on one or both of point clouds 700 and 800. More generally, device 100 is configured to generate object dimensions from a point cloud that is unlikely to contain multipath artifacts, based on the assessment performed at block 430. In the present example, device 100 can determine the dimensions of object 104 from point cloud 800, for example, including height H, width W, and depth D, as shown in Fig.Figure 1 shows the dimensions. They can be displayed on screen 124 and / or transmitted to another computer device via network 312.

[0034] In some examples, the device 100 can be configured to apply a timeout period to the execution of procedure 400, and to terminate procedure 400 if no confirmatory determination is made at block 430 during the timeout period (e.g., thirty seconds). If the timeout period expires without a confirmatory determination at block 430, the device 100 can terminate the dimensioning attempt and can also display an error message, e.g., on display 124, indicating that the dimensioning was unsuccessful.

[0035] In other examples, device 100 can be configured at block 435 to apply adjusted plane detection parameters relative to those applied at blocks 410 and 425. For example, the parameters applied at blocks 410 and 425 can be more restrictive than those applied at block 435, allowing device 100 to determine dimensions at block 430 for objects with rounded or otherwise non-planar top surfaces at block 435. More restrictive plane detection parameters at blocks 410 and 425 may more likely result in significant changes in detected planes as multipath artifacts change between point clouds.

[0036] Specific embodiments have been described in the foregoing specification. However, a person skilled in the art will recognize that various modifications and changes can be made without departing from the scope of the invention, as set forth in the claims below. Accordingly, the specification and the figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are to be included within the scope of the present teachings.

[0037] The benefits, advantages, problem solutions, and any element(s) that may lead to or enhance a benefit, advantage, or solution shall not be construed as critical, necessary, or essential features or elements of any claim or all claims. The invention is defined exclusively by the attached claims, including all amendments made during the pendency of this application, and all equivalents of these claims as granted.

[0038] Furthermore, in this document, relational expressions such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another, without necessarily requiring or implying any actual relationship or order of such entities or actions. The expressions "includes," "comprising," "has," "including," "containing," "incorporating," "including," or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, procedure, article, or device that includes, has, contains, or includes a list of elements may not only include those elements but may also include other elements not expressly listed or inherent in such process, procedure, article, or device. An element that "includes," "has," orThe phrase "…a," "includes…a," or "contains…a" preceding a statement does not, without further limitations, preclude the existence of additional identical elements in the process, method, article, or apparatus that includes, has, incorporates, or contains the element. The terms "a" and "a" are defined as one or more unless expressly stated otherwise herein. The terms "essentially," "generally," "approximately," "about," or any other version thereof are defined in a manner that would be closely understood by a person skilled in the art, and in one non-restrictive embodiment, the term is defined as being within 10%, in another embodiment within 5%, in another embodiment within 1%, and in another embodiment within 0.5%.The term "coupled," as used herein, is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is "configured" in a particular way is configured at least in that way, but may also be configured in ways not listed.

[0039] Certain expressions may be used herein to list combinations of elements. Examples of such expressions include: "at least one of A, B, and C"; "one or more of A, B, and C"; "at least one of A, B, or C"; "one or more of A, B, or C". Unless expressly stated otherwise, the above expressions include any combination of A and / or B and / or C.

[0040] It is understood that some embodiments may consist of one or more specialized processors (or “processing devices”) such as microprocessors, digital signal processors, custom processors, and field-programmable gate arrays (FPGAs), and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuitry, some, most, or all of the functions of the method and / or device described herein. Alternatively, some or all of the functions could be implemented by a state machine that does not have any stored program instructions, or in one or more application-specific integrated circuits (ASICs) in which each function, or some combinations of certain functions, are implemented as custom logic.Of course, a combination of the two approaches could be used.

[0041] Furthermore, an embodiment can be implemented as a computer-readable storage medium with computer-readable code stored thereon for programming a computer (which, for example, includes a processor) to perform a method described and claimed herein. Examples of such computer-readable storage media include, among others, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a PROM (programmable read-only memory), an EPROM (erasable programmable read-only memory), an EEPROM (electrically erasable programmable read-only memory), and flash memory.Furthermore, it is expected that an average professional, regardless of possible considerable effort and many design decisions motivated, for example, by available time, current technology and economic considerations, guided by the concepts and principles disclosed herein, will be readily able to produce such software instructions and programs and ICs with minimal experimentation.

[0042] The summary of disclosure is provided to enable the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, it is evident from the preceding detailed description that various features in different embodiments have been summarized for the purpose of simplifying the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as reflected in the following claims, the inventive step lies in fewer than all the features of any single disclosed embodiment.Therefore, the following claims are hereby included in the detailed description, each claim being a separate subject matter claimed on its own.

Claims

[1] Methods in a computer apparatus, comprising: Capture, via a depth sensor, an initial point cloud representing an object; Determine, from the first point cloud, a first attribute of a plane that corresponds to a surface of the object; Monitoring via a motion sensor, an alignment of the depth sensor; In response to the detection of a change in orientation that meets a threshold, a second point cloud representing the object is captured; Determine, from the second point cloud, a second attribute of the plane that corresponds to the surface of the object; Determine whether the first attribute and the second attribute match; and If the first attribute and the second attribute match, dimension the object based on at least one of the first point cloud and the second point cloud. [2] Method according to claim 1, wherein the depth sensor includes a time-of-flight sensor. [3] Method according to claim 1, wherein determining the first attribute includes determining an orientation angle of the plane and a dimension of the plane. [4] Method according to claim 1, wherein the detection of the change in orientation comprises: Determine, from the motion data, (i) an initial orientation angle associated with the acquisition of the first point cloud, and (ii) a current orientation angle; and Determine whether a difference between the initial orientation angle and the current orientation angle meets the threshold. [5] The method of claim 1, further comprising: Before detecting a change in orientation that meets a threshold, capture another point cloud; and Discarding the remaining point cloud in response to determining that a change in orientation does not meet the threshold. [6] Method according to claim 1, wherein the first attribute and the second attribute include an orientation angle of the plane. [7] Method according to claim 1, wherein the first attribute and the second attribute include a dimension of the plane. [8] Method according to claim 1, further comprising: If the first and second attributes do not match, repeat monitoring of the depth sensor's orientation; and in response to detecting a further change in orientation, acquire a third point cloud representing the object; determine, from the third point cloud, a third attribute corresponding to the object's plane; and Determine if the second attribute and the third attribute match. [9] Method according to claim 1, wherein determining whether the first attribute and the second attribute are identical includes determining whether the difference between the first attribute and the second attribute is below a threshold. [10] Method according to claim 1, further comprising: Displaying a prompt on a screen to change the orientation of the depth sensor. [11] Method according to claim 1, further comprising: before determining whether the first attribute and the second attribute match, whether a time period has expired; and When the time period has expired, an error message will be displayed. [12] Computer device comprising: a motion sensor; a depth sensor; and a processor configured to: Capture, via the depth sensor, an initial point cloud representing an object; Determine, from the first point cloud, a first attribute of a plane that corresponds to a surface of the object; Monitoring, via the motion sensor, an alignment of the computer device; In response to the detection of a change in orientation that meets a threshold, a second point cloud representing the object is captured; Determine, from the second point cloud, a second attribute of the plane that corresponds to the surface of the object; Determine whether the first attribute and the second attribute match; and If the first attribute and the second attribute match, dimension the object based on at least one of the first point cloud and the second point cloud. [13] Computer device according to claim 12, wherein the depth sensor includes a time-of-flight sensor. [14] Computer device according to claim 12, wherein the processor is configured to determine an orientation angle of the plane and a dimension of the plane. [15] Computer device according to claim 12, wherein the processor is configured to detect the change in orientation by: Determine, from the motion data, (i) an initial orientation angle associated with the acquisition of the first point cloud, and (ii) a current orientation angle; and Determine whether a difference between the initial orientation angle and the current orientation angle meets the threshold. [16] Computer device according to claim 12, wherein the processor is further configured to: Before detecting a change in orientation that meets a threshold, capture another point cloud; and Discarding the remaining point cloud in response to determining that a change in orientation does not meet the threshold. [17] Computer device according to claim 12, wherein the first attribute and the second attribute include an orientation angle of the plane. [18] Computer device according to claim 12, wherein the first attribute and the second attribute include a dimension of the plane. [19] Computer device according to claim 12, wherein the processor is configured to: If the first and second attributes do not match, repeat monitoring of the depth sensor's orientation; and in response to detecting a further change in orientation, acquire a third point cloud representing the object; determine, from the third point cloud, a third attribute corresponding to the object's plane; and Determine if the second attribute and the third attribute match. [20] Computer device according to claim 12, wherein the processor is configured to determine whether the first attribute and the second attribute match by determining whether a difference between the first attribute and the second attribute is below a threshold.