WO2017160368A1 - Device and method of dimensioning using digital images and depth data - Google Patents
Device and method of dimensioning using digital images and depth data Download PDFInfo
- Publication number
- WO2017160368A1 WO2017160368A1 PCT/US2016/068203 US2016068203W WO2017160368A1 WO 2017160368 A1 WO2017160368 A1 WO 2017160368A1 US 2016068203 W US2016068203 W US 2016068203W WO 2017160368 A1 WO2017160368 A1 WO 2017160368A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- segments
- digital image
- shapes
- camera
- depth data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20061—Hough transform
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0092—Image segmentation from stereoscopic image signals
Definitions
- Depth sensing cameras are generally not used on mobile devices; however depth sensing cameras (such as time-of-flight cameras, structured light cameras, stereo cameras) can be used to measure object dimensions. Measuring object dimensions with depth sensing cameras, however, can require high quality and/or expensive components to deliver high precision data to compete with common ruler measurements. Furthermore, many of such depth sensing cameras have inherent problems. For example, depth sensing cameras that use structured light are subject to interference with ambient light; in addition, their precision declines with the distance to a physical object being dimensioned; and an ASIC (application-specific integrated circuit) is required to calculate depth data from the many structured light images that are acquired.
- ASIC application-specific integrated circuit
- stereo cameras can require a significant baseline for accurate measurements, that are then subject to low light degradation;
- Time-of-flight cameras can be subject to noise, reflections and light interference; furthermore, accurate dimensioning measurements can require precise corners of the physical object being measured, and the time-of-flight can further provide poor results at edges of the physical object.
- FIG. 1 depicts front and rear views of a hybrid device for dimensioning using digital images and depth data, in accordance with some implementations.
- FIG. 2 depicts a schematic block diagram of the device of FIG. 1, in accordance with some implementations.
- FIG. 3 is a flowchart of a method of dimensioning using digital images and depth data, in accordance with some implementations.
- FIG. 4 depicts the device of FIG. 2 acquiring a digital image and depth data of a physical object, in accordance with some implementations.
- FIG. 5 depicts an example of processing of the data acquired in FIG. 4, in accordance with some implementations.
- FIG. 6 depicts an example of further processing of the data acquired in FIG. 4, in accordance with some implementations.
- FIG. 7 depicts an example of further processing of the data acquired in FIG. 4, in accordance with some implementations.
- FIG. 8 depicts an example of further processing of the data acquired in FIG. 4, in accordance with some implementations.
- FIG. 9 depicts the device of FIG. 1 rendering a digital image of a physical object as well as dimensions thereof, in accordance with some implementations.
- FIG. 10 is a flowchart of a method of dimensioning using digital images and depth data, in accordance with some implementations.
- An aspect of the specification provides a device comprising: a camera device configured to acquire a digital image in a field of view; a depth sensing device configured to acquire depth data across at least a portion of the field of view of the camera device; and, a dimensioning processor configured to: determine segments of shapes belonging to an object identified in the digital image; based on respective depth data, from the depth sensing device, associated with each of the segments of the shapes belonging to the object, determine whether each of the segments is associated with a same shape belonging to the object; and, once all the segments are processed to determine their respective associations with the shapes of the object in the digital image, compute dimensions of the object based on the respective depth data and the respective associations of the shapes.
- the dimensioning processor can be further configured to determine whether each of the segments is associated with the same shape belonging to the object by: identifying adjacent segments of the shapes belonging to the object identified in the digital image; and, comparing at least a portion of the respective depth data of the adjacent segments.
- the dimensioning processor can be further configured to determine whether each of the segments is associated with the same shape belonging to the object by: iterating through all adjacent segments of the segments to determine whether the adjacent segments can be joined into a larger super-segment of the same shape.
- the dimensioning processor can be further configured to determine whether each of the segments is associated with the same shape belonging to the object by: determining, based on the respective depth data, whether adjacent segments are co- located with the same shape.
- the dimensioning processor can be further configured to filter out one or more of identified shapes and identified segments that are not associated with the object.
- the device can further comprise a display device, and the dimensioning processor can be further configured to control the display device to one or more of: render the digital image; identify the object in the digital image; and render the dimensions of the object.
- the device can further comprise a memory storing data defining the object, and the dimensioning processor can be further configured to: identify the object in the digital image by comparing the digital image with the data defining the object.
- the data defining the object can be stored in a container in the memory, the container being one of a plurality of containers stored in the memory, each of the plurality of containers defining respective objects.
- the data defining the object can comprise stereometric properties of the object, the stereometric properties comprising a set of one or more of quantitative descriptions and qualitative descriptions of the object that uniquely characterize the object in three-dimensions.
- the dimensioning processor can be further configured to determine geometry of the object based on relative location of the segments of the object in the digital image and in the depth data.
- Each of the shapes can comprises one or more of: a primitive shape, a plane, a triangle, a square, a rectangle, a circle, a sphere, and a polygon.
- the dimensioning processor can be further configured to preprocess the digital image to one or more of: filter image noise; detect edges of the object; segment color; determine morphological features in the digital image; and determine orientation of lines in the digital image.
- the dimensioning processor can be further configured to preprocess the depth data to one or more of: correct for distortions; correct for interference; filter noise; and convert the depth data to point cloud data format.
- the camera device can comprise an RGB (red-green-blue) digital camera.
- the depth sensing device can comprise one or more of a structured light camera, a time-of-flight camera, stereo vision camera, an active stereo vision camera, a passive stereo vision camera, a stereoscopic camera, and a LIDAR (light detection and ranging) device.
- a structured light camera a time-of-flight camera
- stereo vision camera an active stereo vision camera
- a passive stereo vision camera a stereoscopic camera
- LIDAR light detection and ranging
- Another aspect of the specification provides a method comprising: at a device comprising: a camera device configured to acquire a digital image in a field of view; a depth sensing device configured to acquire depth data across at least a portion of the field of view of the camera device; and, a dimensioning processor, determining, at the dimensioning processor, segments of shapes belonging to an object identified in the digital image; based on respective depth data, from the depth sensing device, associated with each of the segments of the shapes belonging to the object, determining, at the dimensioning processor, whether each of the segments is associated with a same shape belonging to the object; and, once all the segments are processed to determine their respective associations with the shapes of the object in the digital image, computing, at the dimensioning processor, dimensions of the object based on the respective depth data and the respective associations of the shapes.
- the determining whether each of the segments is associated with the same shape belonging to the object can occur by: identifying adjacent segments of the shapes belonging to the object identified in the digital image; and, comparing at least a portion of the respective depth data of the adjacent segments.
- the determining whether each of the segments is associated with the same shape belonging to the object can occur by: iterating through all adjacent segments of the segments to determine whether the adjacent segments can be joined into a larger super-segment of the same shape.
- the determining whether each of the segments is associated with the same shape belonging to the object can occur by: determining, based on the respective depth data, whether adjacent segments are co-located with the same shape.
- the method can further comprise filtering out one or more of identified shapes and identified segments that are not associated with the object.
- the device can further comprise a display device, and the method can further comprise controlling the display device to one or more of: render the digital image; identify the object in the digital image; and render the dimensions of the object.
- the device can further comprise a memory storing data defining the object, and the method can further comprise: identifying the object in the digital image by comparing the digital image with the data defining the object.
- the data defining the object can be stored in a container in the memory, the container being one of a plurality of containers stored in the memory, each of the plurality of containers defining respective objects.
- the data defining the object can comprise stereometric properties of the object, the stereometric properties comprising a set of one or more of quantitative descriptions and qualitative descriptions of the object that uniquely characterize the object in three-dimensions.
- the method can further comprise determining geometry of the object based on relative location of the segments of the object in the digital image and in the depth data.
- Each of the shapes can comprises one or more of: a primitive shape, a plane, a triangle, a square, a rectangle, a circle, a sphere, and a polygon.
- the method can further comprise preprocessing the digital image to one or more of: filter image noise; detect edges of the object; segment color; determine morphological features in the digital image; and determine orientation of lines in the digital image.
- the method can further comprise preprocessing the depth data to one or more of: correct for distortions; correct for interference; filter noise; and convert the depth data to point cloud data format.
- the camera device can comprise an RGB (red-green-blue) digital camera.
- the depth sensing device can comprise one or more of a structured light camera, a time-of-flight camera, stereo vision camera, an active stereo vision camera, a passive stereo vision camera, a stereoscopic camera, and a LIDAR (light detection and ranging) device.
- a structured light camera a time-of-flight camera
- stereo vision camera an active stereo vision camera
- a passive stereo vision camera a stereoscopic camera
- LIDAR light detection and ranging
- a further aspect of the speciation provides a non-transitory computer- readable medium storing a computer program, wherein execution of the computer program is for: at a device comprising: a camera device configured to acquire a digital image in a field of view; a depth sensing device configured to acquire depth data across at least a portion of the field of view of the camera device; and, a dimensioning processor, determining, at the dimensioning processor, segments of shapes belonging to an object identified in the digital image; based on respective depth data, from the depth sensing device, associated with each of the segments of the shapes belonging to the object, determining, at the dimensioning processor, whether each of the segments is associated with a same shape belonging to the object; and, once all the segments are processed to determine their respective associations with the shapes of the object in the digital image, computing, at the dimensioning processor, dimensions of the object based on the respective depth data and the respective associations of the shapes.
- FIG. 1 depicts a rear perspective view 1-1 and a front perspective view 1 -II of a dimensioning device 101
- FIG. 2 depicts a schematic block diagram of device 101.
- the dimensioning device 101 comprises: a camera device 103 configured to acquire a digital image in a field of view; a depth sensing device 105 configured to acquire depth data across at least a portion of the field of view of the camera device 103; and, a dimensioning processor 120 configured to: determine segments of shapes belonging to an object identified in the digital image; based on respective depth data, from depth sensing device 105, associated with each of the segments of the shapes belonging to the object, determine whether each of the segments is associated with a same shape belonging to the object; and, once all the segments are processed to determine their respective associations with the shapes of the object in the digital image, compute dimensions of the object based on the respective depth data and the respective associations of the shapes.
- Camera device 103 will be interchangeably referred to hereafter as camera 103; and dimensioning
- device 101 further comprises a memory 122, a communication interface 124 (interchangeably referred to as interface 124), a display device 126, at least one input device 128, a speaker 132 and a microphone 134.
- Device 101 can comprise a computing device specially configured for object dimensioning, including but not limited to a graphics processing unit (GPU), a graphics processing device, a graphics processing engine, a video processing device, and the like.
- GPU graphics processing unit
- device 101 can be any type of electronic device that can be used in a self-contained manner to acquire images and depth data using, respectively, camera 103 and depth sensing device 105, to dimension objects in a field of view of camera 103 and depth sensing device 105.
- Device 101 can include, but is not limited to, any suitable combination of electronic devices, communications devices, computing devices, personal computers, laptop computers, portable electronic devices, mobile computing devices, portable computing devices, tablet computing devices, laptop computing devices, desktop phones, telephones, PDAs (personal digital assistants), cellphones, smartphones, e- readers, internet-enabled appliances, mobile camera devices and the like that are specially configured for object dimensioning.
- Other suitable devices are within the scope of present implementations.
- device 101 need not comprise a mobile communication device, but rather can comprise a device with specialized functions, for example a device having warehouse inventory tracking and/or other data acquisition functionality, such as a mobile scanner having one or more of radio frequency identification (RFID) reader, Near Field Communication (NFC) reader, imager, and/or laser-based scanner data acquisition components.
- RFID radio frequency identification
- NFC Near Field Communication
- device 101 can further include one or more handles, such as a handle below the display 126, as well as a trigger for triggering the data acquisition components and the like.
- handles such as a handle below the display 126, as well as a trigger for triggering the data acquisition components and the like.
- Camera 103 can comprise a digital camera, an RGB (red-green-blue) digital camera, and the like, configured to acquire digital images, including, but not limited to, images in a video stream. While details of camera 103 are not depicted, it is assumed that camera 103 comprises components for acquiring digital images including, but not limited to, respective charge coupled devices (CCD) and the like, as well as respective lenses, respective focusing devices (including, but not limited to voice coils and the like), etc.
- data from camera 103 generally comprises two- dimensional data, and specifically a two-dimensional array of values which can comprise an array of two-dimensional color coordinates and/or brightness coordinates.
- Depth sensing device 105 can comprise comprises one or more of a structured light camera, a time-of-flight camera, stereo vision camera, an active stereo vision camera (which can project its own light, including, but not limited to, infrared light), a passive stereo vision camera (which relies on ambient light), a stereoscopic camera, and a LIDAR (light detection and ranging) device.
- a structured light camera a time-of-flight camera
- stereo vision camera which can project its own light, including, but not limited to, infrared light
- a passive stereo vision camera which relies on ambient light
- a stereoscopic camera a stereoscopic camera
- LIDAR light detection and ranging
- depth sensing device 105 can include a device configured to project structured light and a camera, which can include camera 103 configured to capture images of physical objects illuminated by the structured light.
- depth sensing device 105 comprises a time-of-flight (ToF) camera or a LIDAR device
- depth sensing device 105 comprises components for implanting such functionality.
- depth sensing device 105 can include components for acquiring depth data across a field of view including, but not limited to, respective charge coupled devices (CCD) and the like, as well as respective lenses, and respective focusing devices (including, but not limited to voice coils and the like).
- CCD charge coupled devices
- Depth sensing device 105 is configured to sense depth across a field of view, such that a distance from depth sensing device 105 to surfaces of a physical object can be determined.
- depth data from depth sensing device 105 could be processed to produce a three-dimensional map of the field of view of depth sensing device 105, however such processing to produce a three-dimensional map of the field of view of depth sensing device 105 can be obviated by present implementations.
- data from depth sensing device 105 can be referred to as three-dimensional data and can comprise a two-dimensional array of depth coordinates (i.e. each element in the two-dimensional array is associated with a corresponding depth).
- depth data from depth sensing device 105 generally represents a distance from the depth sensing device 105 to portions of objects in the field of view of depth sensing device 105.
- the depth data can comprise, and/or be converted to, "real world coordinates" which can comprise three- dimensional coordinates in a selected reference frame and/or a given reference frame; in some implementation such a reference frame can be relative to depth sensing device 105 (e.g. depth sensing device 105 can comprise an origin of the reference frame), while in other implementations, such a reference frame can be relative to a fixed coordinate, for example a point in warehouse and/or a geographical coordinate determined using a Global Positioning System (GPS) device.
- GPS Global Positioning System
- device 101 can comprise a GPS device, and coordinates of depth data from depth sensing device 105 can be determined relative to an origin defined with respect to GPS data.
- each of camera 103 and depth sensing device 105 can be located on a rear side of device 101, and display device 126 can be looked on a front side of device 101, such that digital images and depth data can be captured at a rear side of device 101.
- fields of view of each of camera 103 and depth sensing device 105 overlap as both devices 103, 105 are disposed at a rear side of device 101.
- both devices 103, 105 need not be disposed on a same side of device 101 as long as fields of view of each of devices 103, 105 overlap such that an object being dimensioned by dimensioning device 101 is in a field of view of each of devices 103, 105.
- image capturing components and/or data capturing components of each of camera 103 and depth sensing device 105 can be separated by a given distance such that images from camera 103 and depth data from depth sensing device 105 generally image and/or sense depth across a similar field of view.
- respective fields of view of camera 103 and depth sensing device 105 generally overlap, and indeed, in some implementations, lenses, and the like, of each of camera 103 and depth sensing device 105 are as close together as possible both to reduce parallax therebetween and to ensure that depth data can be captured for an object imaged by camera 103.
- each of camera 103 and depth sensing device 105 in each of FIG. 1 and FIG. 2 are merely schematic and do not necessarily represent actual relative positions of each of camera 103 and depth sensing device 105; in other words, in FIG.l, while each of camera 103 and depth sensing device 105 are depicted as side by side across a transverse longitudinal of device 101, each of camera 103 and depth sensing device 105 can be located anywhere on device 101, presuming that their fields of view at least partially overlap such that physical objects in their respective fields of view can be both imaged by camera 103 and sensed by depth sensing device 105. [0055] In an ideal device, camera 103 and depth sensing device 105 would occupy the same point in space such that their respective fields of view would be identical;
- one implementation includes an RGB camera (e.g. camera 103) and a ToF camera .
- RGB camera e.g. camera 103
- ToF camera e.g. camera 103
- preprocessing of respective digital images and depth data to align corresponding areas and/or pixels, to attempt to minimize "pixel shadowing" and "dark regions".
- regions that are visible to camera 103 are not visible to depth sensing device 105, or vice versa. This can cause: an absence of image data in regions for which there is depth data; and/or an absence of depth data in regions for which there is image data.
- Such regions can be referred to as "dark” as it is generally difficult to associate them with any segment. Larger “dark regions” can hence distort data being processed using techniques described herein, so closest possible co-location of camera 103 and depth sensing device 105 is desired in such an implementation.
- Dimensioning processor 120 can comprise a processor and/or a plurality of processors, including but not limited to one or more central processors (CPUs) and/or one or more processing units and/or one or more graphic processing units (GPUs); either way, dimensioning processor 120 comprises a hardware element and/or a hardware processor.
- dimensioning processor 120 can comprise an ASIC (application-specific integrated circuit) and/or an FPGA (field- programmable gate array) specifically configured to implement the functionality of device 101.
- device 101 is preferably not a generic computing device, but a device specifically configured to implement specific functionality including dimensioning using digital images and depth data as described in further detail below.
- device 101 and/or dimensioning processor 120 can specifically comprise a computer executable engine configured to dimension objects in a field of view of camera 103 and depth sensing device 105 using digital images and depth data.
- Memory 122 can comprise a non- volatile storage unit (e.g. Erasable Electronic Programmable Read Only Memory (“EEPROM”), Flash Memory) and a volatile storage unit (e.g. random access memory (“RAM”).
- EEPROM Erasable Electronic Programmable Read Only Memory
- RAM random access memory
- Programming instructions that implement the functional teachings of device 101 as described herein are typically maintained, persistently, in memory 122 and used by dimensioning processor 120 which makes appropriate utilization of volatile storage during the execution of such programming instructions.
- memory 122 is an example of computer readable media that can store programming instructions executable on dimensioning processor 120.
- memory 122 is also an example of a memory unit and/or memory module and/or a non- volatile memory.
- memory 122 can store an application 136 that, when executed by dimensioning processor 120, enables dimensioning processor 120 to: determine segments of shapes belonging to an object identified in the digital image; based on respective depth data, from depth sensing device 105, associated with each of the segments of the shapes belonging to the object, determine whether each of the segments is associated with a same shape belonging to the object; and, once all the segments are processed to determine their respective associations with the shapes of the object in the digital image, compute dimensions of the object based on the respective depth data and the respective associations of the shapes.
- memory 122 further stores data 140 defining an object, for example an object in a digital image acquired by camera 103; dimensioning processor 120 can hence be further configured to: identify the object in the digital image by comparing the digital image with data 140 defining the object.
- data 140 defining the object can be stored in a container 141 in memory 122; in some of these implementations, as depicted, container 141 can be one of a plurality of containers 141 -n stored in memory 122, each of the plurality of containers 141-n defining respective objects, for example in respective data 140-n stored therein.
- data 140, 140-n defining the object can comprise stereometric properties of the object, the stereometric properties comprising a set of one or more of quantitative descriptions and qualitative descriptions of the object that uniquely characterize the object in three-dimensions (i.e. relating the object represented in the digital image and the depth data to a physical object being imaged).
- Qualitative descriptions can include one or more sets of rules that can be used in an object (and/or target) description algorithm.
- a segment extraction algorithm can include, but is not limited to, using a probabilistic Hough transform to analyze lines and to outline object segments.
- Quantitative descriptions can include one or more sets numerically expressed parameters that can describe an object. For example, when a target object has straight angles (as in the case of a box), a segment extraction algorithm can be used which indicates 90 degrees as a primary basket for classifying line relations in an image.
- planes can be characterized by one or more of: a three- dimensional normal vector having a length that is the distance from the center of the reference frame; and/or as an unbounded continuous three-dimensional object with any four points belonging to a quadrilateral.
- any description of an object can be defined in data 140, 140-n presuming that such a description distinctively defines the object and is configured to be used with methods and processes described herein.
- memory 122 can be preconfigured with data 140 storing definitions of one or more objects for which dimensions are to be determined; for example, in warehousing applications, it can be assumed that boxes are to be dimensioned, hence data 140 can define a box (e.g. an object having six sides that are joined by about 90° angles).
- data 140-n other types of objects that are to be dimensioned can be defined by data 140-n, including objects that are of more complex shapes then boxes. In any event, it will be assumed hereafter that boxes are to be dimensioned and data 140 defines a box.
- Dimensioning processor 120 can be further configured to communicate with display device 126, which comprises any suitable one of, or combination of, flat panel displays (e.g. LCD (liquid crystal display), plasma displays, OLED (organic light emitting diode) displays, capacitive or resistive touchscreens, CRTs (cathode ray tubes) and the like.
- display device 126 comprises any suitable one of, or combination of, flat panel displays (e.g. LCD (liquid crystal display), plasma displays, OLED (organic light emitting diode) displays, capacitive or resistive touchscreens, CRTs (cathode ray tubes) and the like.
- dimensioning processor 120 can be configured to control display device 126 to one or more of: render a digital image from camera 103; identify an object in the digital image; and render the dimensions of the object, presuming such dimensions have been determined, as described in further detail below.
- Device 101 generally comprises at least one input device 128 configured to receive input data, and can comprise any suitable combination of input devices, including but not limited to a keyboard, a keypad, a pointing device, a mouse, a track wheel, a trackball, a touchpad, a touch screen (e.g. integrated with display device 126), and the like. Other suitable input devices are within the scope of present
- one or more of input device 128 and display device 126 can be external to device 101, with dimensioning processor 120 in communication with any external components via a suitable connection and/or link.
- device 101 further comprises an optional speaker 132 and an optional microphone 134 (either of which can alternatively be external to device 101).
- Speaker 132 comprises any suitable speaker for converting audio data to sound to provide one or more of audible alerts, audible communications from remote communication devices, and the like.
- Microphone 134 comprises any suitable microphone for receiving sound and converting to audio data. Speaker 132 and microphone 134 can be used in combination to implement telephone and/or communication functions at device 101.
- dimensioning processor 120 also connects to optional interface 124, which can be implemented as one or more radios and/or connectors and/or network adaptors, configured to wirelessly communicate with one or more
- interface 124 is configured to correspond with network architecture that is used to implement one or more communication links to the one or more communication networks, including but not limited to any suitable combination of USB (universal serial bus) cables, serial cables, wireless links, cell-phone links, cellular network links (including but not limited to 2G, 2.5G, 3G, 4G+ such as UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile Communications), CDMA (Code division multiple access), FDD (frequency division duplexing), LTE (Long Term Evolution), TDD (time division duplexing), TDD-LTE (TDD-Long Term Evolution), TD- SCDMA (Time Division Synchronous Code Division Multiple Access) and the like, wireless data, BluetoothTM links, NFC (near field communication) links, WLAN (wireless local area network) links, WiFi links, WiMax links, packet based links, the Internet, analog networks, the PSTN (public switched telephone network), access points, and the like, and/or a combination.
- USB Universal Serial Bus
- serial cables serial cables
- device 101 further comprises a power supply, including, but not limited to, a battery, a power pack and the like, and/or a connection to a mains power supply and/or a power adaptor (e.g. and AC-to-DC (alternating current to direct current) adaptor).
- a power supply powers components of device 101.
- FIG. 3 depicts a block diagram of a flowchart of a method 300 for dimensioning using digital images and depth data, according to non-limiting implementations.
- method 300 is performed using device 101, and specifically by dimensioning processor 120 and when dimensioning processor 120 processes instructions stored at memory 122, for example application 136.
- method 300 is one way in which device 101 can be configured.
- the following discussion of method 300 will lead to a further understanding of device 101, and its various components.
- device 101 and/or method 300 can be varied, and need not work exactly as discussed herein in
- method 300 need not be performed in the exact sequence as shown, unless otherwise indicated; and likewise various blocks may be performed in parallel rather than in sequence; hence the elements of method 300 are referred to herein as “blocks” rather than “steps”. It is also to be understood, however, that method 300 can be implemented on variations of device 101 as well.
- dimensioning processor 120 receives a digital image from camera device 103 and corresponding depth data from depth sensing device 105.
- dimensioning processor 120 determines segments of shapes belonging to an object identified in the digital image.
- a segment can comprise an object identified in the digital image during an intermediate stage of segmentation.
- a segment can include, but is not limited to, blob of indeterminate shape on a side and/or a surface of an object in the digital image that is identified in an initial processing of the digital image, which is identified for future analysis.
- segments can be combined into a given shape belonging to the object in the digital image, and the given shape can define a side of the object in the digital image; indeed, it can sometimes be assumed that one shape is associated with one side of the object, unless, for example, the object is curved (e.g. a sphere) with no distinguishable sides, where segments can be combined into a given shape belonging to the object in the digital image, and the given shape can define a side of the object in the digital image; indeed, it can sometimes be assumed that one shape is associated with one side of the object, unless, for example, the object is curved (e.g. a sphere) with no distinguishable sides, where segments can
- dimensioning processor 120 determines whether each of the segments is associated with a same shape associated with the object. Put another way, at block 307, based on respective depth data corresponding to each of the segments of the shapes that define a given object, dimensioning processor 120 determines whether each of the segments is associated with a same shape that forms at least a part of the object.
- dimensioning processor 120 determines whether all the segments are processed to determine their respective associations with the shapes of the object in the digital image. When all the segments have not been processed (e.g. a "NO" decision at block 309), block 307 continues.
- dimensioning processor 120 computes dimensions of the object based on the respective depth data and the respective associations of the shapes.
- dimensioning processor 120 can control display device 126 to one or more of: render the digital image; identify the object in the digital image; and render the dimensions of the object.
- dimensioning processor 120 can store, at memory 122, one or more of the digital image and the dimensions of the object.
- dimensioning processor 120 can transmit, using interface 124, one or more of the digital image and the dimensions of the object, for example to an external device and/or a remote device; such transmission of one or more of the digital image and the dimensions of the object can occur in conjunction with cloud- based warehousing applications and/or cloud-based warehousing functionality.
- FIG. 4 depicts a non-limiting example
- FIG. 4 also depicts a box 410 (i.e. a physical object) in a field of view of both camera 103 and depth sensing device 105.
- Box 410 comprises six sides (three of them visible to both camera 103 and depth sensing device 105: specifically a top 450 and sides 451, 452 extending downward from top 450).
- a top 450 of box 410 visible to both camera 103 and depth sensing device 105 includes labels 411, 412, or the like, that are of a different color than box 410; as well, the top 450 of box 410 includes flaps such that a line visually bisects the top 450 of box 410.
- FIG. 5 depicts a non-limiting visual rendering of digital image 403 which results when camera 103 senses box 410 (and/or a physical object); for example the visual rendering of digital image 403 could be rendered at display device 126 (e.g. see FIG. 9).
- dimensioning processor 120 processes digital image 403 to determine segments of shapes belonging to an object identified in the digital image; the term "object” in this instance is used to denote a group of areas and/or a group of pixels in digital image 403 which appear to represent a physical object, for example box 410.
- dimensioning processor 120 processes digital image 403 to search for segments of shapes that can include, but are not limited to, a primitive shape, a plane, a triangle, a square, a rectangle, a circle, a sphere, a polygon, and the like; for example, shapes that can be used to define an object as stored in data 140.
- each of the top 450 and two visible sides 451, 452 can correspond to polygons and/or rectangles, and at block 305 dimensioning processor 120 determines segments which can make up the polygons or rectangles.
- FIG. 5 also depicts a rendering 503 of digital image 403 after block 305 has been implemented, where segments of shapes identified in block 305 are indicated. It is appreciated that rendering 503 merely represents an intermediate step in the determining of dimensions of the physical object represented by the object in digital image 403, and rendering 503 is not necessarily displayed at display device 126.
- dimensioning processor 120 has identified a plurality of segments 520-1, 520-2, 520-3, 520-4, 520-5, 520-6, 520-7 in digital image 403, which will be interchangeably referred to hereafter, collectively, as segments 520, and generically as a segment 520.
- edges of segments 520 are not necessarily well defined as image processing algorithms can cause edges and/or corners of box 410 to be unclear, depending on the contrast between sides that form the edges and/or corners, and/or the contrast between box 410 and items in the background of digital image 403.
- dimensioning processor 120 processes digital image 403 to identify segments 520.
- dimensioning processor 120 can be further configured to preprocess digital image 403 to one or more of: filter image noise; detect edges of the object; segment color; determine morphological features in digital image 403; and determine orientation of lines in digital image 403. Such preprocessing can be performed in order to better identify edges between segments 520 and the like.
- dimensioning processor 120 can be further configured to preprocess depth data 405 to one or more of: correct for distortions; correct for interference; filter noise; and convert depth data 405 to a point cloud data format. In these latter implementations, further processing of depth data 405 can comprise processing depth data 405 in the point cloud data format. [0086] In some implementations, dimensioning processor 120 can be further configured to filter out one or more of identified shapes and identified segments that are not associated with the object. For example, in rendering 503, various shapes and/or segments are shown, such as segment 530, that are not associated with box 410, which can occur due to lighting of box 410 and/or items adjacent box 410, noise and the like. Such shapes and/or segments can be filtered out.
- segments 520, 530, and the like can be compared to data 140-n, including data 140 defining various objects and their corresponding properties, to determine which segments 520, 530 to filter out and which segments 520, 530 can be used in method 300.
- data from digital image 403 and depth data 405 are merged to identify segments 520, 530.
- one or more of data 140, 140-n, and application 136 can store properties and/or rules which define objects, and such rules can be used to identify segments 520, 530.
- properties can include, but are not limited to, position (e.g.
- identifying segments can include identifying portions of digital image 403 that delineate different types of areas (e.g. based on color, texture, position), which can be augmented by comparing corresponding depth data 405 to determine whether the segments are part of a same shape belonging to the object or not, as described in further detail hereafter.
- segments 520-1, 520-2 respectively correspond to labels 411, 412
- segment 520-3 corresponds to an area defined by label 411 and a flap of the top 450 of box 410
- segments 520-4, 520-5 correspond to remaining areas of the top 450 of box 410
- segments 520-6, 520-7 correspond to two sides 451, 452 of box 410 visible to camera 103 and depth sensing device 105.
- dimensioning processor 120 is generally unable to determine and/or confirm which segments 520 are associated with which shapes of the object; hence
- dimensioning processor 120 is generally unable to determine and/or confirm which segments 520 are associated with sides 451, 452 and/or a top 450 of box 410; for example while each of segments 520-1, 520-2, 520-3, 520-4, 520-5, together, correspond to a same shape and/or a top 450 of box 410, it is not easily possible to make such a conclusion on the basis of digital image 403 alone.
- dimensioning processor 120 processes respective depth data 405 associated with each of segments 520 of the shapes belonging to the object to determine whether each of segments 520 are associated with a same shape. For example, attention is next directed to FIG. 6 which depicts a non-limiting example of an implementation of block 305.
- dimensioning processor 120 can identify adjacent segments 520 of the shapes belonging to the object identified in digital image 403, and compare at least a portion of the respective depth data of the adjacent segments 520.
- Depth data 405 can be parsed to associate portions of depth data 405 with segments identified in digital image 403, without performing a full three-dimensional mapping using depth data 405, which can be time consuming and/or use excessive processing resources.
- segments 520-1, 520-2 can be determined to be adjacent shapes as there is no other segment 520 there between.
- respective depth data associated with each segment 520-1, 520-2 can be compared to determine a relative distance from depth sensing device 105 and/or a relative position in a reference frame.
- depth data 405 associated with an area 601 of segment 520-1 is compared to depth data 405 associated with an area 602 of adjacent segment 520-2 to determine whether segments 520-1, 520-2 can be combined.
- areas 601, 602 of digital image 403 are mapped to depth data 405. While each of areas 601, 602 is depicted as an ellipse, areas 601, 602 can be any shape within a respective segment 520-1, 520-2, and be any size from a pixel to the entirety of a respective segment 520-1, 520-2. Indeed, any portion of respective depth data 405 associated with segments 520-1, 520-2 can be compared to determine whether segments 520-1, 520-2 are associated with a same shape.
- portions of respective depth data 405 associated with segments 520-1, 520-2 can be compared to determine whether they form a subset of a same plane (e.g. a top 450 of box 410); as such, respective depth data 405 associated with segments 520-1, 520-2 will generally be about continuous, and/or lie in a same plane and/or are co-planar.
- depth data 405 associated with segments 520-1, 520-2 is processed to determine whether it meets criteria for joining them together into a larger super-segment of the same shape belonging to the object.
- dimensioning processor 120 can be further configured to determine whether each of segments 520-1, 520-2 are associated with a same shape belonging to the object, by: determining, based on respective depth data 405, whether adjacent segments 520-1, 520-2 are co-located with the same shape. Hence, again, respective depth data 405 of adjacent segments 520-1, 520-2 is processed to determine whether the respective depth data 405 is co-planar.
- FIG. 7 depicts a non- limiting visual rendering 703 of digital image 403 which results when, segments 520- 1, 520-2 have been joined into a larger super-segment 720; specifically, rendering 703 is derived from rendering 503, but in rendering 703 segments 520-1, 520-2 have been joined into a larger super-segment 720. It is appreciated that rendering 703 merely represents an intermediate step in the determining of dimensions of the physical object represented by the object in digital image 403, and rendering 703 is not necessarily displayed at display device 126.
- FIG. 7 also depicts areas 605, 606, similar to areas 601, 602, but associated respectively with segments 520-5, 520-6. Again, areas 605, 606 can be larger or smaller than depicted. Furthermore, portions of respective depth data 405 associated with segments 520-5, 520-6 can be compared to determine whether they form a subset of a same plane (e.g. a top 450 of box 410). However, as respective depth data 405 associated with segments 520-5, 520-6 indicate, for example, that segments 520-5, 520-6 are not co-planar, it is determined that segments 520-5, 520-6 are part of different shapes, and not part of the same shape.
- dimensioning processor 120 can be configured to iterate through all adjacent segments of segments 520 to determine whether the adjacent segments can be joined into a larger super-segment of the same shape. As such, dimensioning processor 120 can determine that all of segments 520-1, 520-2, 520-3, 520-4, 520-5 can be joined together into a larger super-segment.
- FIG. 8 depicts a non-limiting visual rendering 803 of digital image 403 which results once all segments 520 are processed to determine their respective associations with the shapes of the object in digital image 403. It is appreciated that rendering 803 merely represents an intermediate step in the determining of
- rendering 803 is derived from renderings 503, 703 but in rendering 803, segments 520-1, 520-2, 520-3, 520-4, 520-5 have been joined into a larger super-segment 820.
- dimensioning processor 120 has iterated through all of segments 520-1, 520-2, 520-3, 520-4, 520-5 (as well as segments 520-6, 520-7) and determined that segments 520-1, 520-2, 520-3, 520-4, 520-5 are all associated with a same shape, which can be associated with a top 450 of box 410.
- dimensioning processor 120 iterates through the remaining segments and determines that segments 520-3, 520-4, 520-5 are to be joined with super-segment 720 to form super-segment 820.
- dimensioning processor 120 has further determined that segments 520-6, 520-7 are not associated with a same shape as segments 520-1, 520-2, 520-3, 520-4, 520-5 (and/or super-segment 720). Hence, in FIG. 8, dimensioning processor 120 has further determined that segments 520-6, 520-7 each, independently form a respective shape, and have hence not been joined with other segments 520.
- dimensioning processor 120 computes dimensions of the object based on the respective depth data and the respective associations of the shapes.
- Dimensioning processor 120 can compare data represented by rendering 803 with data 140 to determine that the physical object represented by the object in digital image 403 represents a box (e.g. box 410), and determine dimensions of the box using any dimensioning algorithm.
- sides of segments 520-6, 520-7, 820 of rendering 803 corresponding to sides of the box can be identified and dimensions thereof determined from depth data 405.
- edges of segments 520- 6, 520-7, 820 corresponding to height (H), length (L) and width (W) of the box are determined and indicated (for example, based on identifying intersections of adjacent non-coplanar shapes of the object from the depth data), and dimensions of edges H, L, W can be determined from depth data 405, by the correlation between depth data 405 and digital image 403 and/or a correlation between depth data 405 and edges H, L, W identified in rendering 803.
- dimensioning processor 120 can be further configured to determine geometry of the object based on relative location of segments 520 of the object in digital image 403 and in depth data 405. From the geometry, the dimensions can be determined.
- dimensioning processor 120 can render the dimensions at display device 126. For example, attention is next directed to FIG. 9 which depicts a perspective front view of device 101 in use;
- box 410 is in a field of view of camera 103 and depth sensing device 105 (on a rear side of device 101, and hence not visible in FIG. 9), and method 300 has been used to determine dimensions of box 410.
- Dimensioning processor 120 hence controls display device 126 to render digital image 403 showing box 410, as well as determined dimensions of box 410.
- lines corresponding to a height, a length and width of box 410 are also rendered at display device 126 with respective dimensions thereof also shown.
- object volume may also be computed and displayed based on the determined dimensions as well as data 140 defining the object.
- FIG. 10 depicts an alternative of method 300; specifically FIG. 10 depicts a block diagram of a flowchart of a method 1000 for dimensioning using digital images and depth data, according to non-limiting implementations, according to non-limiting implementations.
- method 1000 is performed using device 101, and specifically by dimensioning processor 120 and when dimensioning processor 120 processes instructions stored at memory 122, for example application 136. Indeed, method 1000 is one way in which device 101 can be configured.
- method 1000 will lead to a further understanding of device 101, and its various components.
- device 101 and/or method 1000 can be varied, and need not work exactly as discussed herein in conjunction with each other, and that such variations are within the scope of present implementations.
- method 1000 need not be performed in the exact sequence as shown, unless otherwise indicated; and likewise various blocks may be performed in parallel rather than in sequence; hence the elements of method 1000 are referred to herein as “blocks” rather than “steps”. It is also to be understood, however, that method 1000 can be implemented on variations of device 101 as well.
- dimensioning processor 120 receives, respectively from camera 103 and depth sensing device 105, image data and depth data. Blocks 1001, 1003 respectively correspond to blocks 301, 303 of method 300.
- image data can be interchangeably referred to as two- dimensional (2D) data
- depth data can be interchangeably referred to as three- dimensional (3D) data.
- data from camera 103 is two-dimensional and can comprise an array of two-dimensional color coordinates and/or brightness coordinates; similarly, in general, data from depth sensing device 105 is three- dimensional and can comprise a two-dimensional array of depth coordinates (i.e. each element in the two-dimensional array is associated with a corresponding depth).
- dimensioning processor 120 can respectively preprocess the 2D data and the 3D data.
- preprocessing the 2D digital image at block 1004-1 can include, but is not limited to, image noise filtering, edges detection, color segmentation, morphological feature segmentation (e.g. line orientation, edge orientation, etc.), and the like.
- Preprocessing the 3D depth data at block 1004-2 can include, but is not limited to, distortion corrections, interference corrections, noise filtering, phase (depth) map to point cloud data (PCD) conversion, and the like [00106]
- dimensioning processor 120 locates and/or extracts an object of interest from the 2D data and the 3D data by merging the 2D data and the 3D data and locating the object based on properties stored, for example, in data 140 and/or based on properties configured in application 136.
- properties can include, but are not limited to, position (e.g.
- locating objects and/or segments associated with an object in a digital image can hence include processing both the digital image and the depth data to find such segments and/or objects.
- block 1005 corresponds to block 305 of method 300.
- dimensioning processor 120 can map an object area, for example in the digital image, the 3D depth data (e.g. referred to in block 1007 as the 3D data set).
- Such mapping can include, but is not limited to, extracting spatial data from the 3D data set, which can include extracting at least two sides, extracting one side and one main diagonal, and the like; in other words, sufficient spatial data is extracted to characterize the object without performing a full three-dimensional mapping.
- the degree of data that is sufficient to characterize a given type of object can be defined in data 140-n; in other words, for given type of object, data 140-n includes rules for determining a degree of mapping that is to occur to map an object area.
- dimensioning processor 120 iterates over one or more best fits of segments, including but not limited to best rectangular fits, based on edge locations in the 2D digital image and the 3D depth data.
- block 1007 corresponds to block 307 of method 300.
- block 1007 While not depicted, it is assumed in method 1000 that the iteration of block 1007 occurs until all identified segments have been processed as described above; hence, block 1007 inherently also corresponds to block 309 of method 300.
- dimensioning processor 120 can then calculate and/or determine dimensions of the physical object represented by the object in the 2D digital image and the 3D depth data. Hence, block 1011 corresponds to block 311 of method 300. [00110] Thereafter, dimensioning processor 120 can control display device 126 to one or more of: render the digital image; identify the object in the digital image; and render the dimensions of the object.
- a device which uses a combination of a digital image and corresponding depth data, respectively acquired using a camera device and a depth sensing device, to determine dimensions of a physical object in a field of view of the camera device and the depth sensing device.
- implementations may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, customized 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 circuits, some, most, or all of the functions of the method and/or apparatus described herein.
- processors or “processing devices”
- microprocessors digital signal processors
- FPGAs field programmable gate arrays
- unique stored program instructions including both software and firmware
- an implementation can be implemented as a computer- readable storage medium having computer readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described and claimed herein.
- Examples of such computer-readable storage mediums include, but are not limited to, 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 a Flash memory.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
Claims
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2016398052A AU2016398052B2 (en) | 2016-03-14 | 2016-12-22 | Device and method of dimensioning using digital images and depth data |
| GB1813604.4A GB2563164B (en) | 2016-03-14 | 2016-12-22 | Device and method of dimensioning using digital images and depth data |
| DE112016006583.3T DE112016006583T5 (en) | 2016-03-14 | 2016-12-22 | Apparatus and method for sizing using digital images and depth data |
| MX2018010960A MX393373B (en) | 2016-03-14 | 2016-12-22 | DEVICE AND METHOD OF DIMENSION USING DIGITAL IMAGES AND DEPTH DATA. |
| CN201680083530.4A CN108779980B (en) | 2016-03-14 | 2016-12-22 | Apparatus and method for determining size using digital image and depth data |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/069,491 US10587858B2 (en) | 2016-03-14 | 2016-03-14 | Device and method of dimensioning using digital images and depth data |
| US15/069,491 | 2016-03-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017160368A1 true WO2017160368A1 (en) | 2017-09-21 |
Family
ID=57861235
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2016/068203 Ceased WO2017160368A1 (en) | 2016-03-14 | 2016-12-22 | Device and method of dimensioning using digital images and depth data |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US10587858B2 (en) |
| CN (1) | CN108779980B (en) |
| AU (1) | AU2016398052B2 (en) |
| DE (1) | DE112016006583T5 (en) |
| GB (1) | GB2563164B (en) |
| MX (1) | MX393373B (en) |
| WO (1) | WO2017160368A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109596059A (en) * | 2019-01-07 | 2019-04-09 | 南京航空航天大学 | A kind of aircraft skin gap based on parallel lines structure light and scale measurement method |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB201511551D0 (en) | 2015-07-01 | 2015-08-12 | St Microelectronics Res & Dev | Photonics device |
| US10587858B2 (en) * | 2016-03-14 | 2020-03-10 | Symbol Technologies, Llc | Device and method of dimensioning using digital images and depth data |
| EP3761266A1 (en) * | 2016-07-12 | 2021-01-06 | SZ DJI Technology Co., Ltd. | Processing images to obtain environmental information |
| US10536684B2 (en) | 2016-12-07 | 2020-01-14 | Sony Corporation | Color noise reduction in 3D depth map |
| US10495735B2 (en) | 2017-02-14 | 2019-12-03 | Sony Corporation | Using micro mirrors to improve the field of view of a 3D depth map |
| US10795022B2 (en) | 2017-03-02 | 2020-10-06 | Sony Corporation | 3D depth map |
| US10979687B2 (en) | 2017-04-03 | 2021-04-13 | Sony Corporation | Using super imposition to render a 3D depth map |
| US10785400B2 (en) | 2017-10-09 | 2020-09-22 | Stmicroelectronics (Research & Development) Limited | Multiple fields of view time of flight sensor |
| US10484667B2 (en) * | 2017-10-31 | 2019-11-19 | Sony Corporation | Generating 3D depth map using parallax |
| US11074472B2 (en) * | 2017-11-14 | 2021-07-27 | Symbol Technologies, Llc | Methods and apparatus for detecting and recognizing graphical character representations in image data using symmetrically-located blank areas |
| EP3486606A1 (en) * | 2017-11-20 | 2019-05-22 | Leica Geosystems AG | Stereo camera and stereophotogrammetric method |
| US10989795B2 (en) * | 2017-11-21 | 2021-04-27 | Faro Technologies, Inc. | System for surface analysis and method thereof |
| CN108280402B (en) * | 2017-12-27 | 2021-09-24 | 武汉长江通信智联技术有限公司 | Binocular vision-based passenger flow volume statistical method and system |
| CA3125730C (en) * | 2018-01-05 | 2023-10-24 | Aquifi, Inc. | Systems and methods for volumetric sizing |
| US10664974B2 (en) | 2018-02-23 | 2020-05-26 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method for object detection using edge characteristics |
| US10930001B2 (en) * | 2018-05-29 | 2021-02-23 | Zebra Technologies Corporation | Data capture system and method for object dimensioning |
| US10549186B2 (en) | 2018-06-26 | 2020-02-04 | Sony Interactive Entertainment Inc. | Multipoint SLAM capture |
| CN109948979B (en) * | 2019-03-14 | 2021-05-11 | 广州蓝胖子机器人有限公司 | Inventory detection method, equipment and storage medium |
| CN112797897B (en) * | 2019-04-15 | 2022-12-06 | Oppo广东移动通信有限公司 | Method, device and terminal for measuring geometric parameters of objects |
| US11334739B2 (en) * | 2020-05-29 | 2022-05-17 | Zebra Technologies Corporation | Barcode readers with 3D camera(s) |
| WO2021253189A1 (en) * | 2020-06-15 | 2021-12-23 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Electric device, scanning method of controlling electric device, and computer readable storage medium |
| CN112669232B (en) * | 2020-12-24 | 2024-08-09 | 浙江大华技术股份有限公司 | Depth image enhancement processing method and device |
| WO2023027703A1 (en) * | 2021-08-25 | 2023-03-02 | Radwell International Inc. | Product photo booth |
| US11568558B1 (en) | 2021-08-25 | 2023-01-31 | Radwell International, Inc. | Product photo booth |
| JP2023128662A (en) * | 2022-03-04 | 2023-09-14 | 株式会社野村総合研究所 | measurement system |
| US12003691B1 (en) * | 2023-05-02 | 2024-06-04 | Microsoft Technology Licensing, Llc | Camera focus adjustment |
| WO2025134904A1 (en) * | 2023-12-22 | 2025-06-26 | ソニーセミコンダクタソリューションズ株式会社 | Information processing device, correction method, and correction program |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6995762B1 (en) * | 2001-09-13 | 2006-02-07 | Symbol Technologies, Inc. | Measurement of dimensions of solid objects from two-dimensional image(s) |
| US20110142328A1 (en) * | 2006-10-11 | 2011-06-16 | Tandent Vision Science, Inc. | Method for using image depth information |
| US20130329013A1 (en) * | 2012-05-11 | 2013-12-12 | Proiam, Llc | Hand held dimension capture apparatus, system and method |
| US20150332075A1 (en) * | 2014-05-15 | 2015-11-19 | Fedex Corporate Services, Inc. | Wearable devices for courier processing and methods of use thereof |
Family Cites Families (62)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4611292A (en) * | 1982-10-06 | 1986-09-09 | Hitachi, Ltd. | Robot vision system |
| US6420698B1 (en) * | 1997-04-24 | 2002-07-16 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three-dimensional objects |
| JP3077745B2 (en) * | 1997-07-31 | 2000-08-14 | 日本電気株式会社 | Data processing method and apparatus, information storage medium |
| US6526166B1 (en) * | 1999-12-29 | 2003-02-25 | Intel Corporation | Using a reference cube for capture of 3D geometry |
| US6377353B1 (en) * | 2000-03-07 | 2002-04-23 | Pheno Imaging, Inc. | Three-dimensional measuring system for animals using structured light |
| US6751345B2 (en) * | 2001-02-12 | 2004-06-15 | Koninklijke Philips Electronics N.V. | Method and apparatus for improving object boundaries extracted from stereoscopic images |
| US7310431B2 (en) * | 2002-04-10 | 2007-12-18 | Canesta, Inc. | Optical methods for remotely measuring objects |
| US7399220B2 (en) * | 2002-08-02 | 2008-07-15 | Kriesel Marshall S | Apparatus and methods for the volumetric and dimensional measurement of livestock |
| EP1588327B1 (en) * | 2003-01-17 | 2018-09-26 | Koninklijke Philips N.V. | Full depth map acquisition |
| US7263209B2 (en) * | 2003-06-13 | 2007-08-28 | Sarnoff Corporation | Vehicular vision system |
| US7321669B2 (en) * | 2003-07-10 | 2008-01-22 | Sarnoff Corporation | Method and apparatus for refining target position and size estimates using image and depth data |
| EP2221865B1 (en) * | 2004-01-07 | 2019-05-22 | Nikon Corporation | Stacking apparatus and method for stacking a plurality of wafers |
| JP4532171B2 (en) * | 2004-06-01 | 2010-08-25 | 富士重工業株式会社 | 3D object recognition device |
| KR100727033B1 (en) * | 2005-12-07 | 2007-06-12 | 한국전자통신연구원 | Vision processing apparatus and method of network based intelligent service robot and system using the same |
| US8139142B2 (en) * | 2006-06-01 | 2012-03-20 | Microsoft Corporation | Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques |
| JP4380663B2 (en) * | 2006-06-08 | 2009-12-09 | コニカミノルタセンシング株式会社 | Three-dimensional shape measurement method, apparatus, and focus adjustment method |
| US20080140234A1 (en) * | 2006-12-06 | 2008-06-12 | Shafter Richard M | Method and system for remotely directing a fishing tournament |
| US8406567B2 (en) * | 2008-01-09 | 2013-03-26 | Purdue Research Foundation | Reconstruction of shapes of near symmetric and asymmetric objects |
| US20090238404A1 (en) * | 2008-03-18 | 2009-09-24 | Fredrik Orderud | Methods for using deformable models for tracking structures in volumetric data |
| US8290231B2 (en) * | 2009-01-23 | 2012-10-16 | Naveen Garg | Method and apparatus for providing measurement data of an anomaly in a medical image |
| US8542252B2 (en) * | 2009-05-29 | 2013-09-24 | Microsoft Corporation | Target digitization, extraction, and tracking |
| JP5468824B2 (en) * | 2009-06-22 | 2014-04-09 | 株式会社豊田自動織機 | Method and apparatus for determining shape match in three dimensions |
| US20130124148A1 (en) * | 2009-08-21 | 2013-05-16 | Hailin Jin | System and Method for Generating Editable Constraints for Image-based Models |
| US8564534B2 (en) * | 2009-10-07 | 2013-10-22 | Microsoft Corporation | Human tracking system |
| RU2426172C1 (en) * | 2010-01-21 | 2011-08-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Method and system for isolating foreground object image proceeding from colour and depth data |
| NL1037949C2 (en) * | 2010-05-10 | 2011-11-14 | Suitsupply B V | METHOD FOR DETERMINING REMOTE SIZES. |
| US9311556B2 (en) * | 2010-05-19 | 2016-04-12 | Plf Agritech Pty Ltd | Image analysis for making animal measurements including 3-D image analysis |
| JP5624394B2 (en) * | 2010-07-16 | 2014-11-12 | キヤノン株式会社 | Position / orientation measurement apparatus, measurement processing method thereof, and program |
| WO2012066555A2 (en) * | 2010-11-17 | 2012-05-24 | Upcload Gmbh | Collecting and using anthropometric measurements |
| JP5839929B2 (en) * | 2010-11-19 | 2016-01-06 | キヤノン株式会社 | Information processing apparatus, information processing system, information processing method, and program |
| US9582707B2 (en) * | 2011-05-17 | 2017-02-28 | Qualcomm Incorporated | Head pose estimation using RGBD camera |
| KR101907081B1 (en) * | 2011-08-22 | 2018-10-11 | 삼성전자주식회사 | Method for separating object in three dimension point clouds |
| US9367770B2 (en) * | 2011-08-30 | 2016-06-14 | Digimarc Corporation | Methods and arrangements for identifying objects |
| WO2013146269A1 (en) * | 2012-03-29 | 2013-10-03 | シャープ株式会社 | Image capturing device, image processing method, and program |
| US9007368B2 (en) * | 2012-05-07 | 2015-04-14 | Intermec Ip Corp. | Dimensioning system calibration systems and methods |
| KR101913321B1 (en) * | 2012-05-10 | 2018-10-30 | 삼성전자주식회사 | Method of geometry acquisition for specular object based on depth sensor and the device thereof |
| JP6132275B2 (en) * | 2012-07-02 | 2017-05-24 | パナソニックIpマネジメント株式会社 | Size measuring apparatus and size measuring method |
| WO2014037939A1 (en) * | 2012-09-05 | 2014-03-13 | Body Pass Ltd. | System and method for deriving accurate body size measures from a sequence of 2d images |
| US20140104416A1 (en) * | 2012-10-16 | 2014-04-17 | Hand Held Products, Inc. | Dimensioning system |
| US20140104413A1 (en) * | 2012-10-16 | 2014-04-17 | Hand Held Products, Inc. | Integrated dimensioning and weighing system |
| US9019267B2 (en) * | 2012-10-30 | 2015-04-28 | Apple Inc. | Depth mapping with enhanced resolution |
| US9208536B2 (en) * | 2013-09-27 | 2015-12-08 | Kofax, Inc. | Systems and methods for three dimensional geometric reconstruction of captured image data |
| EP2811463B1 (en) * | 2013-06-04 | 2018-11-21 | Dassault Systèmes | Designing a 3d modeled object with 2d views |
| US9355123B2 (en) * | 2013-07-19 | 2016-05-31 | Nant Holdings Ip, Llc | Fast recognition algorithm processing, systems and methods |
| US9721187B2 (en) * | 2013-08-30 | 2017-08-01 | Nvidia Corporation | System, method, and computer program product for a stereoscopic image lasso |
| US9464885B2 (en) * | 2013-08-30 | 2016-10-11 | Hand Held Products, Inc. | System and method for package dimensioning |
| US9478030B1 (en) * | 2014-03-19 | 2016-10-25 | Amazon Technologies, Inc. | Automatic visual fact extraction |
| EP2957861A1 (en) * | 2014-06-17 | 2015-12-23 | Expert Ymaging, SL | Device and method for automated parameters calculation of an object |
| US9948911B2 (en) * | 2014-09-05 | 2018-04-17 | Qualcomm Incorporated | Method and apparatus for efficient depth image transformation |
| US9897434B2 (en) * | 2014-10-21 | 2018-02-20 | Hand Held Products, Inc. | Handheld dimensioning system with measurement-conformance feedback |
| CN104376596B (en) * | 2014-11-28 | 2017-05-31 | 北京航空航天大学 | A kind of three-dimensional scene structure modeling and register method based on single image |
| JP2016148569A (en) * | 2015-02-12 | 2016-08-18 | キヤノン株式会社 | Image measuring method and image measuring apparatus |
| US10248927B2 (en) * | 2015-10-22 | 2019-04-02 | Rakesh Holdings, LLC | Multifunctional self-service shipping and mail processing system |
| US9727775B2 (en) * | 2015-12-01 | 2017-08-08 | Intel Corporation | Method and system of curved object recognition using image matching for image processing |
| US9852495B2 (en) * | 2015-12-22 | 2017-12-26 | Intel Corporation | Morphological and geometric edge filters for edge enhancement in depth images |
| EP3408848A4 (en) * | 2016-01-29 | 2019-08-28 | Pointivo Inc. | SYSTEMS AND METHODS FOR EXTRACTING INFORMATION CONCERNING OBJECTS FROM SCENE INFORMATION |
| EP3413013B1 (en) * | 2016-02-02 | 2021-09-22 | Sony Group Corporation | Information processing device, information processing method, and recording medium |
| WO2017154705A1 (en) * | 2016-03-09 | 2017-09-14 | 株式会社ニコン | Imaging device, image processing device, image processing program, data structure, and imaging system |
| US10587858B2 (en) * | 2016-03-14 | 2020-03-10 | Symbol Technologies, Llc | Device and method of dimensioning using digital images and depth data |
| JP6774793B2 (en) * | 2016-06-24 | 2020-10-28 | 株式会社キーエンス | Three-dimensional measuring device |
| US10212408B1 (en) * | 2016-06-29 | 2019-02-19 | Amazon Technologies, Inc. | Depth-map augmentation techniques |
| CN106651853B (en) * | 2016-12-28 | 2019-10-18 | 北京工业大学 | Establishment method of 3D saliency model based on prior knowledge and depth weight |
-
2016
- 2016-03-14 US US15/069,491 patent/US10587858B2/en active Active
- 2016-12-22 WO PCT/US2016/068203 patent/WO2017160368A1/en not_active Ceased
- 2016-12-22 CN CN201680083530.4A patent/CN108779980B/en active Active
- 2016-12-22 AU AU2016398052A patent/AU2016398052B2/en active Active
- 2016-12-22 DE DE112016006583.3T patent/DE112016006583T5/en active Pending
- 2016-12-22 GB GB1813604.4A patent/GB2563164B/en active Active
- 2016-12-22 MX MX2018010960A patent/MX393373B/en unknown
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6995762B1 (en) * | 2001-09-13 | 2006-02-07 | Symbol Technologies, Inc. | Measurement of dimensions of solid objects from two-dimensional image(s) |
| US20110142328A1 (en) * | 2006-10-11 | 2011-06-16 | Tandent Vision Science, Inc. | Method for using image depth information |
| US20130329013A1 (en) * | 2012-05-11 | 2013-12-12 | Proiam, Llc | Hand held dimension capture apparatus, system and method |
| US20150332075A1 (en) * | 2014-05-15 | 2015-11-19 | Fedex Corporate Services, Inc. | Wearable devices for courier processing and methods of use thereof |
Non-Patent Citations (1)
| Title |
|---|
| KEFEI LU ET AL: "Detecting textured objects using convex hull", MACHINE VISION AND APPLICATIONS, SPRINGER, BERLIN, DE, vol. 18, no. 2, 25 January 2007 (2007-01-25), pages 123 - 133, XP019487841, ISSN: 1432-1769, DOI: 10.1007/S00138-006-0060-0 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109596059A (en) * | 2019-01-07 | 2019-04-09 | 南京航空航天大学 | A kind of aircraft skin gap based on parallel lines structure light and scale measurement method |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2563164B (en) | 2022-04-20 |
| GB201813604D0 (en) | 2018-10-03 |
| CN108779980A (en) | 2018-11-09 |
| GB2563164A (en) | 2018-12-05 |
| MX2018010960A (en) | 2019-01-17 |
| DE112016006583T5 (en) | 2018-12-13 |
| CN108779980B (en) | 2021-02-23 |
| AU2016398052A1 (en) | 2018-09-06 |
| MX393373B (en) | 2025-03-24 |
| AU2016398052B2 (en) | 2019-10-10 |
| US10587858B2 (en) | 2020-03-10 |
| US20170264880A1 (en) | 2017-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2016398052B2 (en) | Device and method of dimensioning using digital images and depth data | |
| US9805240B1 (en) | Barcode scanning and dimensioning | |
| CA3037606C (en) | Methods, systems and apparatus for segmenting objects | |
| Liang et al. | Image based localization in indoor environments | |
| US10930005B1 (en) | Profile matching of buildings and urban structures | |
| CN106920279B (en) | Three-dimensional map construction method and device | |
| US8660309B2 (en) | Image processing apparatus, image processing method, image processing program and recording medium | |
| US9563953B2 (en) | Systems and methods for determining a seam | |
| US9710109B2 (en) | Image processing device and image processing method | |
| EP2711670B1 (en) | Visual localisation | |
| CN109683699B (en) | Method and device for realizing augmented reality based on deep learning and mobile terminal | |
| US9674505B2 (en) | Disparity search range determination for images from an image sensor array | |
| EP2833322A1 (en) | Stereo-motion method of three-dimensional (3-D) structure information extraction from a video for fusion with 3-D point cloud data | |
| WO2015108996A1 (en) | Object tracking using occluding contours | |
| CN116704125B (en) | Mapping method, device, chip and module equipment based on three-dimensional point cloud | |
| WO2018170695A1 (en) | Method and device for recognizing descriptive attributes of appearance feature | |
| CN111383254A (en) | Depth information acquisition method and system and terminal equipment | |
| CN110807798B (en) | Image recognition method, system, related device, and computer-readable storage medium | |
| US20140085303A1 (en) | Splitting of elliptical images | |
| EP3461138A1 (en) | Processing method and terminal | |
| US9098746B2 (en) | Building texture extracting apparatus and method thereof | |
| CN112150527B (en) | Measurement method and device, electronic equipment and storage medium | |
| CN115031635A (en) | Measuring method and device, electronic device and storage medium | |
| JP5975484B2 (en) | Image processing device | |
| CN112102390A (en) | Measuring method and device, electronic device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 201813604 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20161222 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1813604.4 Country of ref document: GB |
|
| ENP | Entry into the national phase |
Ref document number: 2016398052 Country of ref document: AU Date of ref document: 20161222 Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2018/010960 Country of ref document: MX |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16829173 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16829173 Country of ref document: EP Kind code of ref document: A1 |