Method and apparatus for performing a fragmentation assessment of a material

A method and apparatus for performing a fragmentation assessment of a material including fragmented material portions is disclosed. The method involves receiving two-dimensional image data representing a region of interest of the material, and processing the 2D image data to identify features of the fragmented material portions. The method also involves receiving a plurality of three dimensional point locations on surfaces of the fragmented material portions within the region of interest, identifying 3D point locations within the plurality of three dimensional point locations that correspond to identified features in the 2D image, and using the identified corresponding 3D point locations to determine dimensional attributes of the fragmented material portions.

BACKGROUND OF THE INVENTION

1. Field of Invention

This invention relates generally to image processing and more specifically to processing images of a material to perform a fragmentation assessment of the material.

2. Description of Related Art

Image-based rock fragmentation analysis methods use image segmentation techniques to delineate the edges of the rocks in the image. In many available image-based rock fragmentation analysis systems, rock delineation results are converted into physical rock sizes by introducing one or more reference objects, such as basketballs, into the region of interest as size-scaling references. The known reference object is then used to scale the results. In many cases access to the fragmented rock for placing the reference objects may be prohibited or difficult. Alternatively two or more parallel laser beams may be projected onto the region of interest to permit scaling of the results.

There remains a need for improved methods and apparatus for performing fragmentation assessments of materials.

SUMMARY OF THE INVENTION

In accordance with one disclosed aspect there is provided a method for performing a fragmentation assessment of a material including fragmented material portions. The method involves receiving two-dimensional image data representing a region of interest of the material, processing the 2D image data to identify features of the fragmented material portions, receiving a plurality of three dimensional point locations on surfaces of the fragmented material portions within the region of interest, identifying 3D point locations within the plurality of three dimensional point locations that correspond to identified features in the 2D image, and using the identified corresponding 3D point locations to determine dimensional attributes of the fragmented material portions.

Receiving the plurality of 3D point locations may involve receiving 3D point locations from a 3D sensor operable to generate a 3D point cloud of the region of interest.

The method may involve determining a distance between the 3D sensor and a reference 3D point location within the region of interest.

The method may involve determining a spatial orientation of the identified 3D point locations and processing the 3D point cloud to determine slope attributes associated with the region of interest of the material, the slope attributes including at least one of a slope angle associated with the region of interest of the material, and a slope height associated with the region of interest of the material, and the method may involve using the dimensional attributes of the fragmented material portions and the slope attributes to determine slope stability.

The method may involve generating a warning signal when one of the distance between the 3D sensor and a reference 3D point location within the region of interest is less than a safe working distance of the region of interest, or the determined slope stability is less than a minimum required slope stability.

Receiving the plurality of 3D point locations may involve receiving at least two 2D images representing different perspective viewpoints of the region of interest, and processing the at least two 2D images to determine the 3D point locations.

Receiving at least two 2D images may involve receiving 2D images from respective image sensors disposed in spaced apart relation to each other.

Receiving at least two 2D images may involve receiving a first 2D image from a first image sensor and selectively receiving a second image from one of a second image sensor and a third image sensor, the second image sensor being spaced apart from the first image sensor by a first fixed distance and the third image sensor being spaced apart from the first image sensor by a second fixed distance, the second fixed distance being greater than the first fixed distance.

The method may involve determining a degree of disparity value between corresponding pixels in the at least two 2D images, the degree of disparity value providing an indication of a suitability of the 2D images for processing to determine the 3D point locations and may further involve displaying the degree of disparity value on a display.

Processing the 2D image data to identify image features may involve identifying 2D boundaries associated with the fragmented material portions and identifying 3D point locations may involve correlating 3D point locations that are located on or proximate to the identified 2D boundaries of the fragmented material portions.

Using the identified 3D point locations to determine dimensional attributes may involve, for each fragmented material portion, determining dimensions of the fragmented material portion based on 3D point locations that are located on or proximate to the identified 2D boundaries of the fragmented material portions.

Processing the 2D image data to identify image features of the fragmented material portions may involve using the identified 3D point locations to identify boundaries between fragmented material portions in the 2D image data.

The method may involve displaying at least one of the 2D image, a preview of the 2D image, a processed view of the 2D image providing an indication of fragmented material portions within the region of interest, a fragmented material portion size attribute, a fragmented material portion volume attribute, a distance between a fragmented material portion and a 3D sensor operable to generate the 3D point locations, a determined slope stability associated with the region of interest of the material, a 3D representation of an orientation of the region of interest, and a view of the 2D image superimposed on a surface of the 3D representation.

Using the identified 3D point locations to determine dimensional attributes may involve using the identified 3D point locations to determine a scale associated with at least some of the identified image features in the 2D image data.

Using the identified 3D point locations to determine a scale associated with identified image features may involve using the identified 3D point locations to determine a scale associated with each identified image feature in the 2D image data.

Using the identified 3D point locations to determine dimensional attributes may involve using the identified 3D point locations to determine an orientation of the region of interest in the 2D image data.

Using the identified 3D point locations to determine dimensional attributes may involve using the identified 3D point locations to estimate a volume of each of the fragmented material portions.

Using the identified 3D point locations to determine dimensional attributes may involve using the identified 3D point locations to estimate a fragment size associated with each of the fragmented material portions.

The method may involve generating a fragment size distribution based on the determined fragment size for the fragmented material portions within the region of interest.

The method may involve converting the fragment size distribution into a corresponding sieve analysis result.

The method may involve determining a spatial orientation of the identified 3D point locations.

The two-dimensional image data and the plurality of three dimensional point locations may be acquired by at least one sensor and the method may further involve determining a spatial orientation of the at least one sensor and determining the location of the identified 3D point locations may involve determining the location of the identified 3D point locations with respect to the sensor.

The method may involve determining a position of the at least one sensor by receiving a global positioning system (GPS) signal.

Determining the orientation of the at least one sensor may involve receiving an orientation signal from at least one of a magnetic field sensor, accelerometer, and a gyroscope.

Receiving the two-dimensional image data and receiving the plurality of three dimensional point locations may involve receiving a first dataset and the method may further involve receiving at least one additional dataset including two-dimensional image data representing the region of interest of the material and an associated plurality of three dimensional point locations within the region of interest and using identified 3D point locations to determine dimensional attributes may involve using identified 3D point locations from each of the first dataset and at least one additional dataset to determine the dimensional attributes of the fragmented material portions.

The first dataset and the at least one additional dataset may be acquired from different perspective viewpoints.

The method may involve using the identified 3D point locations in the first dataset and the at least one additional dataset to estimate an overall volume of a stockpile of fragmented material portions.

Receiving the two-dimensional image data and receiving the plurality of three dimensional point locations may involve receiving a first dataset representing a first region of interest and the method may further involve receiving at least one additional dataset including two-dimensional image data representing at least one additional region of interest and an associated plurality of three dimensional point locations within the additional region of interest, using identified 3D point locations to determine dimensional attributes within each of the first region of interest and the additional region of interest, and generating a location map including the first region of interest and the at least one additional region of interest using the first dataset and the at least one additional dataset together with the identified 3D point locations.

Generating the location map may further involve associating the determined dimensional attributes of the fragmented material portions with the respective regions of interest.

The method may involve receiving a change to at least one of the region of interest and the identified image features and determining updated dimensional attributes of the fragmented material portions.

In accordance with another disclosed aspect there is provided an apparatus for performing a fragmentation assessment of a material including fragmented material portions. The apparatus includes an image sensor for receiving two-dimensional image data representing a region of interest of the material, a three dimensional sensor for receiving a plurality of 3D point locations on surfaces of the fragmented material portions within the region of interest. The apparatus also includes a processor circuit operably configured to process the 2D image data to identify features of the fragmented material portions, identify 3D point locations within the plurality of three dimensional point locations that correspond to identified features in the 2D image, and use the identified corresponding 3D point locations to determine dimensional attributes of the fragmented material portions.

The 3D sensor may be operably configured to generate a 3D point cloud of the region of interest.

The processor circuit may be operably configured to determine a distance between the 3D sensor and a reference 3D point location within the region of interest.

The processor circuit may be operably configured to determine a spatial orientation of the identified 3D point locations, process the 3D point cloud to determine slope attributes associated with the region of interest of the material, the slope attributes including at least one of a slope angle associated with the region of interest of the material, a slope height associated with the region of interest of the material, and to use the dimensional attributes of the fragmented material portions and the slope attributes to determine slope stability.

The processor circuit may be operably configured to generate a warning signal when one of the distance between the 3D sensor and a reference 3D point location within the region of interest is less than a safe working distance of the region of interest, or the determined slope stability is less than a minimum required slope stability.

The 3D sensor may include at least two 2D image sensors disposed in spaced apart relation to each other, the 2D image sensors each being operably configured to receive a 2D image representing a different perspective viewpoint of the region of interest, and the processor circuit may be operably configured to process the 2D images to determine the 3D point locations.

The 3D sensor may include a first image sensor, a second image sensor, and a third image sensor, the second image sensor being spaced apart from the first image sensor by a first fixed distance and the third image sensor being spaced apart from the first image sensor by a second fixed distance, the second fixed distance being greater than the first fixed distance, and the 3D sensor may be configured to receive the at least two 2D images by receiving a first 2D image from a first image sensor and selectively receiving a second image from one of a second image sensor and a third image sensor.

The processor circuit may be operably configured to determine a degree of disparity value between corresponding pixels in the at least two 2D images, the degree of disparity value providing an indication of a suitability of the 2D images for processing to determine the 3D point locations and may further include displaying the degree of disparity value on a display.

The processor circuit may be operably configured to process the 2D image data to identify image features by identifying 2D boundaries associated with the fragmented material portions and to identify 3D point locations by correlating 3D point locations that are located on or proximate to the identified 2D boundaries of the fragmented material portions.

The processor circuit may be operably configured to use the identified 3D point locations to determine dimensional attributes by, for each fragmented material portion, determining dimensions of the fragmented material portion based on 3D point locations that are located on or proximate to the identified 2D boundaries of the fragmented material portions.

The processor circuit may be operably configured to process the 2D image data to identify image features of the fragmented material portions by using the identified 3D point locations to identify boundaries between fragmented material portions in the 2D image data.

The apparatus may include a display for displaying at least one of the 2D image, a preview of the 2D image, a processed view of the 2D image providing an indication of fragmented material portions within the region of interest, a fragmented material portion size attribute, a fragmented material portion volume attribute, a distance between a fragmented material portion and a 3D sensor operable to generate the 3D point locations, a determined slope stability associated with the region of interest of the material, a 3D representation of an orientation of the region of interest, and a view of the 2D image superimposed on a surface of the 3D representation.

The processor circuit may be operably configured to use the identified 3D point locations to determine a scale associated with at least some of the identified image features in the 2D image data.

The processor circuit may be operably configured to use the identified 3D point locations to determine an orientation of the region of interest in the 2D image data.

The processor circuit may be operably configured to use the identified 3D point locations to determine a scale associated with identified image features by using the identified 3D point locations to determine a scale associated with each identified image feature in the 2D image data.

The processor circuit may be operably configured to use the identified 3D point locations to estimate a volume of each of the fragmented material portions.

The processor circuit may be operably configured to use the identified 3D point locations to estimate a fragment size associated with each of the fragmented material portions.

The processor circuit may be operably configured to generate a fragment size distribution based on the determined fragment size for the fragmented material portions within the region of interest.

The processor circuit may be operably configured to convert the fragment size distribution into a corresponding sieve analysis result.

The apparatus may include a position sensor operable to determine a position of the apparatus in a geodetic coordinate system.

The position sensor may include a global positioning system (GPS) receiver.

The apparatus may include an orientation sensor operable to determine a spatial orientation of the apparatus and the processor circuit may be operably configured to determine the location of the identified 3D point locations by determining the location of the identified 3D point locations with respect to the apparatus.

The orientation sensor may include at least one of a magnetic field sensor, accelerometer, and a gyroscope.

The 2D image data and the plurality of 3D point locations may include a first dataset and the processor circuit may be further operably configured to receive at least one additional dataset including 2D image data representing the region of interest of the material and an associated plurality of 3D point locations within the region of interest, and determine dimensional attributes by using identified 3D point locations from each of the first dataset and at least one additional dataset to determine the dimensional attributes of the fragmented material portions.

The first dataset and the at least one additional dataset may be acquired from different perspective viewpoints.

The processor circuit may be operably configured to use the identified 3D point locations in the first dataset and the at least one additional dataset to estimate an overall volume of a stockpile of fragmented material portions.

The 2D image data and the plurality of 3D point locations may include a first dataset and the processor circuit may be further operably configured to receive at least one additional dataset including 2D image data representing at least one additional region of interest and an associated plurality of 3D point locations within the additional region of interest, use identified 3D point locations to determine dimensional attributes within each of the first region of interest and the additional region of interest, and generate a location map including the first region of interest and the at least one additional region of interest using the first dataset and the at least one additional dataset together with the identified 3D point locations.

The processor circuit may be operably configured to generate the location map by associating the determined dimensional attributes of the fragmented material portions with the respective regions of interest.

The processor circuit may be located on a cloud server in communication with the image sensor and the three dimensional sensor for receiving the 2D image and the plurality of 3D point locations.

In accordance with another disclosed aspect there is provided a method for measuring an object. The method involves receiving two-dimensional image data representing an object, processing the 2D image data to identify features of the object, receiving a plurality of three dimensional point locations on surfaces of the object, identifying 3D point locations within the plurality of three dimensional point locations that correspond to identified features in the 2D image, and using the identified corresponding 3D point locations to determine dimensional attributes of the identified features object.

DETAILED DESCRIPTION

Referring toFIG. 1andFIG. 2, an apparatus for performing a fragmentation assessment of a material100including fragmented material portions102is shown generally at104. In one embodiment the material100may include fragmented rocks, such as may be produced in a mining operation by crushing, blasting or other mining process, or operations such as quarrying or construction. In other embodiments the material100may be other fragmented materials, such as wood chips, a natural or synthetic construction aggregate, or any other material comprising separate particles.

The apparatus104includes an image sensor106on a front surface107of the apparatus for receiving two-dimensional (2D) image data representing a region of interest108of the material100. In the embodiment shown the image sensor106includes respective first and second 2D image sensors112and114and either the first or the second image sensor can act as the image sensor106for receiving 2D image data. In one embodiment the region of interest108is selected by the user by framing the desired portion of the material100such that a 2D image of only the region of interest108is captured. In other embodiments the region of interest108may be defined through user input after the 2D image has been captured.

The apparatus104also includes a three dimensional (3D) sensor for receiving a plurality of 3D point locations on surfaces of the fragmented material portions102within the region of interest108. In the embodiment shown the image sensors112and114of the image sensor106are disposed in spaced apart relation to each other and function as a 3D sensor by providing stereo 2D views of the region of interest108from the respective image sensors that can be processed to determine 3D point locations in the region of interest108. The distance between the first and second 2D image sensors112and114is generally referred to as the “baseline”. In one embodiment the 3D sensor generates 3D point locations in the form of a point cloud data file, which includes a large plurality of point locations each defined by x, y, and z coordinates.

One example of a suitable combined image sensor and 3D sensor is the Bumblebee2 Stereo Vision camera manufactured by Point Grey Research Inc. of Richmond, BC, Canada, which has two ⅓ inch CCD image sensors (i.e. the image sensors112and114) that are capable of producing images having 1024×768 pixel resolution. In other embodiments the image sensor106may be a range imaging camera such as a time-of-flight camera that provides both the 2D image data and 3D point location data.

Alternatively, a camera having a 2D image sensor may be combined with a laser ranging device to provide the 2D image data and 3D point location data. In other embodiments, various combinations of 2D and/or 3D sensors may be implemented to provide the 2D image data and 3D point location data.

The apparatus104also includes a display116on a rear surface109of the apparatus for displaying results of the fragmentation assessment. In the embodiment shown inFIG. 1, the display116is a touchscreen display that is further operable to act as a human interface device (HID) for receiving user input from an operator of the apparatus104in response to the user touching the touchscreen. In other embodiments other HID input devices such as a mouse, trackball, joystick, keyboard, or thermal pad may be implemented for receiving user input.

The image sensor106and display116are mounted within a housing118. In this embodiment the housing118is sized to permit the operator to comfortably hold the apparatus in two hands while directing the front surface107and image sensor toward the region of interest108while viewing the display116on the rear surface109.

The apparatus104also includes a processor circuit120shown in cut-away view inFIG. 2. A block diagram of the apparatus104and the processor circuit120is shown inFIG. 3. Referring toFIG. 3, the processor circuit120includes a microprocessor150for controlling operation of the apparatus. The processor circuit120also includes a memory151in communication with the microprocessor120for storing program codes, image data, and other variables. The memory151may be implemented as a random access memory (RAM) and/or a non-volatile flash memory, or a combination thereof. The processor circuit120also includes input/output ports including universal serial bus (USB) ports152and153, a serial ATA (SATA) port154, a peripheral component interconnect express (PCIE) port156, and a display port158. The processor circuit120also includes an Ethernet port196and wireless adaptor198for connecting to a network200such as an Intranet or the Internet. The wireless adaptor198may be implemented using the SG901-1059B WiFi module, available from Sagrad, Inc of Melbourne, Fla., USA.

In one embodiment the processor circuit120is a Pico-ITX LP-172processor board, which includes an Intel® Atom microprocessor. The Pico-ITX LP-172processor board is available from Commell of Taipei, Taiwan. The Pico-ITX LP-172processor board also includes on-board random access memory (RAM), display drivers, a touchscreen interface, Audio drivers, and a LAN Interface. Alternatively, the processor circuit120may be implemented using and Advantech MIO-5290U processor board, which includes an Intel Core i7-3516UE Processor, on-board RAM, display drivers, USB ports, LAN port, audio drivers and display drivers.

The display116includes a display signal input180for receiving a display signal from the display port158of the processor circuit120. The display116also includes a HID port182for generating HID signals in response to the operator providing touch inputs at the touchscreen. The HID port182is in communication with the USB port153for providing HID signals to the processor circuit120.

In embodiments in which the 3D sensor110is implemented using the Bumblebee2 stereo camera, the apparatus104also includes an IEEE 1394 interface168that has an Input/Output (I/O) port170in communication with the PCIE port of the processor circuit120and an IEEE 1394 (FireWire) port172that is in communication with an IEEE 1394 I/O port190of the image sensor106for receiving 2D image data from the respective first and second 2D image sensors112and114.

The apparatus104further includes an orientation sensor160, which has an I/O port162in communication with the USB port152of the processor circuit120. The orientation sensor160may include one or more sensors for determining a spatial orientation the image sensor106of the apparatus104. For example, in one embodiment the orientation sensor160may include orientation sensing elements such as a triaxial accelerometer, 3D gyroscope, and a 3D magnetic field sensor (not shown) implemented using a MEMS (micro-electro-mechanical systems) device. One example of such a MEMS orientation sensor is the Xsens MTi manufactured by Xsens, An Enschede, The Netherlands. The Xsens MTi sensor includes a temperature sensor, three accelerometers respectively aligned to the X, Y, and Z axes for measuring linear accelerations (sensitive to the earth's gravitational field), three magnetometers for measuring the earth's magnetic fields to determine a cardinal direction with respect to the earth's magnetic field, and three rate gyroscopes for measuring a rate of rotation about the X, Y, and Z axes. The Xsens MTi sensor further includes signal conditioning amplifiers to condition signals produced by the various included sensors, analog to digital converters, and a dedicated digital signal processor (DSP). The DSP receives the various signals generated by the gyroscopes, magnetometers and accelerometers and uses a proprietary algorithm to process the signals, apply various corrections and calibration factors, and generate a 3D heading and attitude of the sensor. The DSP encodes the generated 3D attitude and heading into a data stream and produces a data signal output at the USB port162. Other suitable location sensors are available from InvenSense Inc. of San Jose, Calif., USA and VectorNav Technologies, LLC of Dallas, Tex. USA.

In other embodiments, the MEMS based orientation sensor may be substituted by other sensors that provide heading and/or attitude. For example, a biaxial accelerometer may be used to produce orientation signals representing the attitude of the sensor106, and the signals may be filtered using a low pass filter to remove high frequency variations in the signal. A compass type sensor may alternatively be used to provide a heading signal.

The orientation sensor160may also include a position sensor. In this embodiment the orientation sensor160includes a Global Positioning System (GPS) receiver165for determining a position of the at least one sensor in a geodetic coordinate system. The range of Xsense MTi sensors includes several sensor options that incorporate a GPS receiver together with the orientation sensor and provide a position signal that can be used to determine the position (i.e. latitude, longitude, and altitude) of the image sensor106.

The apparatus104further includes a data storage device164for storing program codes for directing the microprocessor150to implement fragmentation assessment functions and for storing image data, 3D location data, and fragmentation results, for example. In one embodiment the data storage device164is implemented using a SATA hard drive and is in communication with the processor circuit120via the SATA port154. In another embodiment the data storage device164may be implemented using a solid state drive, such as the InnoDisk 3ME 64 GB Solid-state drive, which has a wide temperature rating.

Operation

Referring toFIG. 4, a flowchart depicting blocks of code for directing the processor circuit120to perform a fragmentation assessment of the100is shown generally at220. The blocks generally represent codes that may be read from the data storage device164or received at the Ethernet port196or wireless adaptor198, and stored in the memory151for directing the microprocessor150to perform various functions related to performing the fragmentation assessment. The actual code to implement each block may be written in any suitable program language, such as C, C++, C#, and/or assembly code, for example.

The process220begins at block222, which directs the microprocessor150to receive 2D image data representing the region of interest108of the material100. Referring back toFIG. 3, the microprocessor150issues commands to the image sensor106via the IEEE 1394 interface168to capture a 2D image of the region of interest108and the resulting 2D image data is captured by both of the first and second 2D image sensors112and114and loaded into the memory151and/or saved to the data storage device164.

Block224then directs the microprocessor150to process the captured 2D image data to identify image features of the fragmented material portions. Either one of the resulting digital 2D images produced by the respective sensors112and114may be designated as a reference image and used for this purpose. In the remainder of this description the first image sensor112is taken as the sensor that produces the reference 2D image while the 2D image produced by the second image sensor114is used in combination with the image produced by the first image sensor to generate the 3D point locations. The identification of image features may involve executing a fragmentation analysis process on the reference 2D image as described later with reference toFIG. 6. Generally, prominent image features in the reference 2D image will selected and identified by saving pixel locations that correspond to the identified features in the memory151.

Having identified pixel locations of image features in the reference 2D image, at this point dimensions of these features could also be determined in pixels. However further information is required to determine a scale for computing real-world dimensions of the actual features represented in the 2D image. The determined scale should correct for various alignments of the region of interest108and the image sensor106. For example, the region of interest108may be sloped or curved and the image sensor106may also not be oriented parallel to the region of interest108, resulting in the size of some fragments being magnified and the size of other fragments being understated in the 2D image. The further steps in the process220address this requirement for further scaling information.

The process220then continues at block226, which directs the microprocessor150to receive 3D point locations on surfaces of the fragmented material portions102within the region of interest108. In this embodiment, since 2D image data would have already been captured by each of the sensors112and114and saved in the memory151, block151directs the microprocessor150to execute correlation algorithms to determine 3D point locations from the two 2D images. In this description, the first 2D image sensor112is designated as the reference image sensor and the point cloud of 3D point locations is thus referenced to pixel location within the 2D image produced by this reference image sensor. The 3D point location may be expressed as x, y, and z coordinates with the location of the first sensor112acting as an origin for the coordinate system. Referring toFIG. 5, an example of a point cloud is shown generally at240. The point cloud240includes a plurality of 3D point locations242plotted on x, y, and z axes.

Block226also directs the microprocessor150to save the x, y, and z coordinates for each point location in the memory151. For the Bumblebee2 stereo camera, the supplier provides a software library including blocks of code that can be loaded from the data storage device164into memory151for directing the microprocessor150to process the 2D images to generate a dense point cloud including 3D point locations within the region of interest108.

The process220then continues at block228, which directs the microprocessor150to identify 3D point locations within the point cloud data that correspond to the image features in the reference 2D image that were identified at block224. Since the 3D coordinates x, y, and z of 3D point locations for pixels in the reference 2D image have already been determined at block226, block228directs the microprocessor150to read the coordinates for each identified boundary pixel in the reference 2D image, thus providing 3D point locations on the boundary of each fragmented material portion.

The process then continues at block230, which directs the microprocessor150to use the identified corresponding 3D point locations to determine dimensional attributes of the fragmented material portions102. In one embodiment the corresponding 3D point locations lie on a boundary of the fragmented material portion and block230directs the microprocessor150to use the x, y, and z coordinates to calculate dimensions of the fragmented material portion. The method relies on the boundaries of the fragment portions determined in accordance with the block224and the process280shown inFIG. 7, which results in segmentation of fragmented portions to determine boundary pixels in the reference 2D image and corresponding 3D point coordinates x, y, and z for boundary pixels. The x and y coordinates are then used to fit an ellipse to the boundary points. To express the fragmentation analysis result in a sieve analysis result format, the block224directs the microprocessor150to determine the smallest square that the ellipse would fit into, which provides an estimate of a passing sieve size for the particle. Block230then directs the microprocessor150to save the size and/or sieve size for each fragmented portion in the memory151.

In another embodiment, determining dimensional attributes of the fragmented material portions may involve generating a volume estimate for each fragmented portion. In this embodiment, block230further directs the microprocessor150to calculate an area of the ellipse, which is used as the volume estimate. Alternatively, block230may directs the microprocessor150to fit an ellipsoid to the x, y, and z point locations on the boundary and the volume of the ellipsoid may be used as the volume and/or size estimate.

Other alternatives involve calculating a single scaling factor (cm/pixel) based on average z values for each particle and then performing size and volume estimates in pixels, with a subsequent multiplication by the scaling factor to determine real-world dimensions. Alternatively, a known shape (e.g., a plane) may be fitted to the 3D point cloud and a fixed or varying scaling factor for the region of interest108may be determined for calculating the dimensional attributes.

In one embodiment, receiving the 2D images at block222of the process220may further include a process for providing an indication of a suitability of the 2D images for subsequent processing to determine the 3D point locations. In this embodiment, block222directs the microprocessor150to determine a degree of disparity value between corresponding pixels in the 2D images. For each pixel in the region of interest108a disparity or difference, in pixels, between a location of a point in the first and second images captured by the first image sensor112and second image sensor114is determined. A percentage is calculated for pixels that have a disparity between the two images relative to the total pixels in the region of interest108and is used as a degree of disparity. The calculated degree of disparity value may be displayed on the display116while the operator is in the process of capturing an image of the material100to facilitate capture of suitable images for further processing. If the degree of disparity value is below a threshold, the apparatus104may generate a warning, such as a warning on the display to prompt the operator to attempt to obtain a more suitable image for processing.

In other embodiments, the process220shown inFIG. 4may be implemented in part on the apparatus104and captured data may be uploaded via the Ethernet port196or wireless adaptor198to a cloud server202via the network200. For example, 2D data captured at block222and 3D point locations received at block226may be uploaded to the cloud server202for further processing. The functions of blocks224,228, and/or230, which are more processor intensive, may be performed by the cloud server202. This would permit the apparatus104to have a less powerful processor circuit120since processing intensive tasks would be offloaded to the cloud server202. The dimensional attributes provided by block230could then be downloaded to the apparatus104, published as a web page, or otherwise viewed on the apparatus104or a separate platform in communication with the cloud server202.

Identifying Image Features

In one embodiment block224of the process220is implemented by identifying image features by performing a fragmentation analysis on the 2D image data. An example of a fragmentation analysis process for a mined rock material is shown inFIG. 6at280, where the fragmented portions comprise rocks of differing size along with some fine particles. The process280begins at block282, which directs the microprocessor150to perform a contrast enhancement of the reference 2D image. In one embodiment this involves equalizing the brightness of the reference 2D image, and non-linearly increasing the contrast in dark areas and decreasing the contrast in bright areas of the image. Dark areas may typically correspond to gaps between rocks, which are important areas for determination of rock boundaries while bright areas of the image may correspond to rock surfaces or fines. In one embodiment a contrast limited adaptive histogram equalization (CLAHE) algorithm is employed to perform the contrast enhancement.

The process then continues at block284, which directs the microprocessor150to perform an enhancement to darken gaps and edges. In one embodiment this involves applying a bottom hat transform function to highlight the edges followed by application of a close function to connect edges and eliminate unconnected segments and then subtracting the bottom hat from the image to make gaps dark.

The process then continues at block286, which directs the microprocessor150to perform an enhancement of large rocks in the image. In one embodiment this may involve the following image processing steps:Eroding to remove small regionsDilating to recover large regionsThresholding to obtain a mask of large regionsClosing small holes within large regionsMasking large region details in the imageRemoving small peaksSmoothing surface texturesRemoving small pitsExtracting smoothed large regionsClosing holes that exist within large regionsBringing back absolute strong edges from the image if they have been accidentally closedApplying a Euclidean distance map to large regionsStretching the intensity to range over a full intensity rangeApplying a histogram equalized Euclidean distance map image to large rock regions on analysis image.

The process then continues at block288, which directs the microprocessor150to remove noise by eliminating small artifacts, which are more likely to be noise than small rocks. Block290then directs the microprocessor150to perform segmentation to partition the image into multiple segments or sets of pixels representing the fragmented rocks. In one embodiment a watershed segmentation algorithm is applied to the image. The segmentation results in determination of boundaries of fragmented material portions102the material100.

Block292then directs the microprocessor150to optionally perform a merge function to merge over-segmented regions, which involves processing the segmented portions to merge previously segmented portions that are more likely belong to the fragmented material portion102.

Block294then directs the microprocessor150to classify each segmented region as a rock fragment or a region of fines, which are defined as particles smaller than the smallest detectable size. The estimation of the volume of fines is important for accurately generating a size distribution, as described later herein.

The process280thus results in a plurality of segmented rock fragments being identified by pixel locations of the boundaries or edges of the rocks in the reference 2D image.

Display

A screenshot showing an example of a fragmentation assessment result displayed on the display116is shown inFIG. 7at300. The captured reference 2D image is shown at302with the region of interest108indicated by the box304. Prior to capture, a preview of the 2D image may be displayed to enable the operator to interactively position the apparatus104to capture a desired region of interest. A processed view of the 2D image providing an indication of fragmented material portions within the region of interest is shown at306. In the image306, fragment portions308are shaded white, while regions of fines310are hatched. A view showing an orientation of the region of interest108is provided at312. The view312is shown with respect to the 3D coordinate system of reference image sensor112and a 2D image of the region of interest108is superimposed on the view to indicate the slope and orientation of the region of interest.

A further screenshot showing an example of a sieve analysis result based on the fragmentation assessment displayed on the display116is shown inFIG. 8at320. The dimensions for the plurality of fragmented material portions that have been identified in the fragmentation assessment are used to provide a sieve analysis estimate. The sieve analysis estimate presents the fragmentation in a format that is familiar to persons wishing to assess fragment size distribution. The result may be presented in graphical form as shown at322, where fragmented portion size is plotted on the x-axis and percentage on the y-axis. Alternatively, the result may be presented as shown at324as a table of P-value proportions (P10-P100), where the size dimension represents the maximum size of the particles for each of the proportions. For example, in the example shown, 100% of the fragment portions are smaller than 70 cm or would pass through a 70 cm sieve and 90% of the fragment portions would pass through a 25 cm sieve.

Estimating Distance to Fragmented Material Portions

Referring back toFIG. 1, in one embodiment the apparatus104may determine a distance D between the image sensor106and a reference 3D point location122within the region of interest108. As disclosed above, the location of the first sensor112may act as an origin for the coordinate system, in which case the z coordinate of each 3D point location acquired at block226of the process220corresponds to the distance between the first sensor112and the location on the material100. In one embodiment the reference 3D point location may be taken as a central location within the region of interest108such as the point location122. Alternatively, the reference 3D point location may be located on any of the fragmented material portions102, or the operator may select a particular fragmented material portion as the reference. The distance D may be displayed to the operator on the display116.

In some embodiments, the apparatus104may be further configured to compare the distance D against a safe working distance for the region of interest and display or annunciate a warning, such as an audible warning tone, if the operator attempts to capture an image at a location that is closer than the safe working distance. For example, the coordinates of the 3D point locations in the region of interest acquired at block226of the process220provide sufficient information for processing by the processor circuit120to determine slope attributes associated with the region of interest108of the material100. Referring back toFIG. 5, the region of interest108in the point cloud240has a slope angle244and a height246. However, since the apparatus104may not be held parallel to the slope, the slope angle may be distorted. Referring toFIG. 13, a process for estimating actual slope angles and/or height is shown at550. At block552the microprocessor150is directed to receive the 3D point location data from block226of the process220(shown inFIG. 4) and to calculate a best-fit plane to the 3D point locations with respect to the apparatus104. The best-fit plane is thus correctly oriented with respect to the apparatus104. Block554then directs the microprocessor150to determine the spatial orientation of the image sensor106of the apparatus104by reading the orientation sensor160. The orientation sensor160provides the spatial orientation of the apparatus104with respect to the gravitational field of the earth. Block556then directs the microprocessor150to transform the best fit plane into a world coordinate system using the spatial orientation of the apparatus104.

The processor circuit120is thus configured to fit a plane to the 3D point locations242and then determine the slope angle244and height246of the plane, for example. In general, the safe working distance from a sloped material is determined as a function of the fragment or rock size of the material100, the slope height h, and the slope angle. Various formulas may be applied by the processor circuit120to calculate metrics such as a slope stability value and/or a safe working distance based on these parameters. The calculated metrics may be displayed on the display116and compared against the actual distance or minimum required slope stability. The processor circuit120may also be configured to display or annunciate a warning when the actual distance is less than the safe working distance. The measurement of safe working distance and slope stability is applicable in not only the mining industry but also in the other industries such as the construction industry, where a slope assessment may be required during the construction of roads, for example. The apparatus104advantageously provides the information necessary for determination of slope stability and safe working distance. i.e. the size of fragments, slope angle, and distance to the slope.

An alternative embodiment of the apparatus is shown inFIG. 9at350. Referring toFIG. 9, the apparatus350includes an image sensor351having a first image sensor352, a second image sensor354, and a third image sensor356. The second image sensor354is spaced apart from the first image sensor352by a first fixed distance B1. The third image sensor356is spaced apart from the first image sensor352by a second fixed distance B2, which is greater than the first fixed distance B1. When generating the 3D point cloud240shown inFIG. 5, an accuracy associated with the 3D point location determination is dependent at least in part on the distance or baseline between the sensors. For example, for a B1distance of 12 cm between the first image sensor352and the second image sensor354, it was found that the accuracy was in the region of 13 cm. If it is desired to increase the accuracy in the z-axis direction, the first image sensor352and third image sensor356having the greater B2distance between sensors may be selected. In general, the greater B2distance between sensors will increase z-axis accuracy, but reduces the ability to estimate z values for close up fragmented materials. The first image sensor352and second image sensor354spaced by the distance B1may thus be selected for capturing images when the fragmented materials are closer to the apparatus104. A suitable sensor for implementing the image sensor351is the Bumblebee XB3 available from Point Grey Research Inc of Richmond, BC, Canada. In other embodiments the sensor106shown inFIG. 1may be configured such that one of the sensors114or112is moveable to provide for an adjustable baseline.

Orientation and Position

Referring back toFIG. 5, an orientation of the point cloud240is shown in the coordinate system of the image sensor106. In embodiments where the apparatus104includes the orientation sensor160, the processor circuit120may query the orientation sensor to obtain orientation information. For example, when the images are captured, the apparatus104is not held parallel to the region of interest108of the material100the point cloud will not be represented at a correct real-world orientation. In one embodiment the processor circuit120may include functionality for performing a transform to cause the point cloud240to be represented in the real-world orientation using attitude and heading information provided by the orientation sensor160. The transformed region of interest108would then appear at a corrected real-world orientation.

In yet a further embodiment where the image sensor106includes a GPS receiver165, the processor circuit120may query the GPS receiver to obtain real-world coordinates of the camera, which facilitates determination of the orientation and position of the region of interest108in real-world coordinates referenced to a geodetic coordinate system. The GPS receiver165thus provides the actual position of the sensor, while the other sensors in the orientation sensor160provide the heading and attitude of the apparatus104at the position.

Multiple Datasets

In another embodiment more than one image capture may be processed to generate the fragmentation assessment, thus providing averaging over a plurality of image captures. In this embodiment, the first image a capture including the 2D image data and the plurality of 3D point locations may be initiated to receive a first dataset of the region of interest108followed by a second image capture to receive at least one additional dataset including 2D image data and an associated plurality of 3D point locations within the region of interest. The processor circuit120includes functionality for determining the dimensional attributes by using identified 3D point locations from each of the first dataset and at least one additional dataset to determine the dimensional attributes of the fragmented material portions102of the material100. For example, the processor circuit120may generate a volume vs. size histogram for each dataset for each size, where the sum of volumes of all particles with that size is plotted in the histogram. A similar histogram may also be generated for the additional dataset or datasets, which may be combined by element-wise addition of the respective size histograms. The fragmentation assessment result is then generated by using the combined size histogram to generate a cumulative size distribution and other parameters such as the fragment distribution P-Values. Advantageously, if the multiple datasets are captured from differing perspective viewpoints, the resulting fragmentation assessment will tend to average out errors due to processing that may occur when segmenting or identifying boundaries.

Referring toFIG. 10, in another embodiment the apparatus104may be used to estimate a volume of a stockpile of fragmented material portions. A fragmented material stockpile is shown in top view at400. The stockpile400may be produced by a mining, quarrying, and/or blasting operation. In this embodiment multiple datasets are obtained by moving the image sensor106between a plurality of positions402-416around the stockpile400to obtain datasets from each of a plurality of overlapping perspective viewpoints. At each of the plurality of positions402-416the processor circuit120of the apparatus104stores the orientation provided by the orientation sensor160and the position provided by the GPS receiver165. The processor circuit120then uses the recorded positions and orientations to transform each of the resulting captured images into a common coordinate system, thus combining the multiple datasets. The resulting dataset is then processed to remove overlapping areas resulting in a plurality of 3D points representing the stockpile400. The plurality of 3D points thus enclose the stockpile400and define the extents of a stockpile volume, which may be calculated by the processor circuit120.

Location Map

Referring toFIG. 11, a view of a mine is shown generally at430and the apparatus104is shown positioned at an origin point OFMfor capturing an image of a first region of interest432of a mine face434. In this embodiment the apparatus104includes the orientation sensor160and GPS receiver165and is able to position and orient the region of interest432with respect to a real-world coordinate system as described above. In this embodiment, an origin of the real-world coordinate system is taken as a blast engineering office location designated at the origin point Opit. The first region of interest432may thus be referenced by coordinates with respect to the coordinate system xpit, ypit, zpit. Referring toFIG. 12, over time further images may be captured at regions of interest440,442, and446for example, and may also be referenced by coordinates with respect to the coordinate system xpit, ypit, zpitthus generating a location map. Each region of interest within the map has an associated fragmentation assessment thus providing a record of fragmentation over multiple regions of interest.

Alternatively, subsequent images may be captured over time for the first region of interest and the subsequent images provide a record of the region of interest as operations proceed. The subsequent images provide information that may be useful in predicting or detecting shifts in the region over time as operations proceed, providing useful data for monitoring the condition of the region. As another example, images may be captured before and after blasting and may be processed to show changes due to the blasting operation, such as a slop change or change to an upper edge of the slope.

In another embodiment, the apparatus104may be used to evaluate the condition of haul roads, ensuring that the slope and the surface of the roads remain within safe operating limits.

In another embodiment, the image features selected at block224may be associated with rock seams between bodies of ore and the apparatus104may be configured to produce dimensional attributes of the rock seams in the material100.

Other Embodiments

The apparatus104shown inFIGS. 1-3is an integrated device having image sensor106, orientation sensor160, processor circuit120and display116integrated within a common housing118. In other embodiments the components of the apparatus104may be physically separated and connected to each other by a cable or wireless interface. For example, in one embodiment the processor circuit may be provided in the form of a tablet computer, which commonly include a display, and in many cases orientation sensors and a GPS receiver. The image sensor may be provided as a separate unit that interfaces with the tablet computer to upload captured image data to the tablet computer for processing and display.

In some embodiments the captured 2D images and/or 3D point locations may be reprocessed under different conditions to generate a new result. For example, the region of interest108may be modified by the operator to select a smaller or larger area of the material100and a new determination of the dimensional attributes may be performed under the changed conditions.

In the above disclosed embodiments, fragmentation analysis of 2D image data for a region of interest of a material is combined with 3D location data to provide fragmentation assessments of the material. The fragmentation assessment proceeds on the basis of the 2D image data, with 3D location data being used to provide an accurate scaling of the fragmented material portions. Since the image processing necessary to identify image features or boundaries of the material fragments is done in 2D, the computational complexity is reduced over a system that does image processing in 3D, which is much more computationally intensive. The disclosed apparatus104may thus be implemented in a small portable device while still providing a responsive fragmentation assessment.