System and Method for Variable Detection in Objects
A bundled object variability detection system includes an array of sensors at least partially surrounding a bundle of objects, wherein the sensors comprise lasers adapted to obtain physical dimensional data about the bundle. The system also includes a processor for executing computer-executable instructions and a memory for storing computer executable instructions. When the instructions are executed, the processor implements a first module that receives the physical dimensional data from the sensors, a second module that locates a distinct cross-section of a singular object within the bundle based on the physical dimensional data, a third module that determines a model of the singular object based on the located cross-section of the singular object, and a fourth module that analyzes the model to determine if the individual object embodies one or more distinguishing characteristics.
This application claims priority to U.S. provisional patent application Ser. Nos. 61/529,549 and 61/529,603, both filed on Aug. 31, 2011, each of which is hereby incorporated by reference in its entirety.
TECHNICAL FIELDThis invention relates to systems and methods for detecting distinguishing characteristics in a bundle of objects, and more specifically, to automatic log scaling and the detection of defects in a bundle of logs. This invention also relates to systems and methods for selecting images of a bundle of objects, and more specifically, to identifying limits of a bundle and associating images therewith.
BACKGROUND INFORMATIONWood processing mills all over the world convert some form of forest raw material (e.g., wood logs, chips, sawdust, biomass) into a finished product (e.g., wood pulp, paper, timber, fiber boards, energy). In most cases, these raw materials arrive at the mill on some form of vehicle—typically trucks, but also trains and water vessels. Most of the time it is important to measure the quantity (and perhaps other parameters) of these raw materials as they arrive at the mill, including for payment, inventory, accounting and/or other purposes.
To determine the quantity of raw material in a given delivery, various methods can be used, primarily relating to either weight or volume. Weight measurement is typically used for its convenience and simplicity, but has a significant limitation when the density of the measured material is uncertain. For example, forest raw materials can have greatly variable densities not only due to their biological composition, but also due to the varying degree of moisture they hold. A freshly cut log can have twice the moisture content of one that has been drying for six weeks. Volumetric measurement removes the problem of variable density from the equation, but it can be very difficult to measure the volume of highly heterogeneous materials that arrive at wood processing mills in an automatic and repeatable manner.
In the lumber industry, large diameter logs (typically about 7-30 inches) often arrive at a saw mill loaded on trucks (or other vehicles) and are then sawn and processed into finished lumber. In the Southeast United States, which has a significant amount of the country's lumber industry, logs are usually delivered by logging trucks and are weight-scaled at the mill gate. Some mills include additional controls, such as counting logs and looking for “defects,” that are usually done visually by an on-site operator. Visual inspection typically requires the operator to walk around the truck looking for different defects, sometimes having to climb onto the truck to gain better visual access to some logs. This represents a safety hazard and can consume quite a bit of time, during which the truck remains stationary. Some mills choose (or are required by law) to hire large teams of human scalers that select random trucks to be hand-scaled, log-by-log, in a meticulous and time-consuming process that involves unloading every log to the ground. All these processes are constrained by time and cost. Furthermore, the additional movement of logs (from truck to ground and ground to log yard) adds machinery cost, requires large amounts of space in the mill, and increases log breakage due to additional log handling.
Sawmills are usually most interested in the total useful volume of a given log (often measured in “cubic board feet”), since this indicates how much finished lumber can be produced from that log. Weight alone is often an incomplete variable, since weight for a given volume can vary significantly depending on density and moisture content. Furthermore, sawmills tend to assign higher value to larger diameter logs as higher value-added products can be made from these (e.g., a high diameter log allows for the production of many combinations of different products, whereas small diameter logs can only be used to produce small products). Sawmills may also penalize for defects in logs that take away from the useful volume, such as crookedness, cracks, splits, rot, knots and others.
Accordingly, there is a need for a system that automatically and precisely estimates desired variables of loads delivered to a mill to improve the efficiency of the mill by a significant margin in terms of time and cost. There is also a need for a system that aids a human operator in rapidly detecting and registering specific log defects in a much more time and cost efficient manner, thus increasing the mill's capability of searching for defects and/or reducing the need for additional people. It is also desirable that this system provides the capability of storing images of each load that is scanned, as well as the inputs of the human operator.
SUMMARY OF THE INVENTIONIn general and in one aspect, a bundled object variability detection system is provided. The system includes an array of sensors at least partially surrounding a bundle of objects, wherein the sensors are lasers for obtaining physical dimensional data about the bundle. The system also includes a processor for executing computer-executable instructions and a memory for storing computer executable instructions. When the instructions are executed, the processor implements a first module that receives the physical dimensional data from the sensors, a second module that locates a distinct cross-section of a singular object within the bundle based on the physical dimensional data, a third module that determines a model of the singular object based on the located cross-section of the singular object, and a fourth module that analyzes the model to determine if the individual object embodies one or more distinguishing characteristics.
In some embodiments, the sensors are disposed on three sides of the bundle. In some embodiments, the objects are logs. In some embodiments, the physical dimensional data comprises peripheral data. In some embodiments, the second module is adapted to apply a curve fitting technique to determine a shape (which may be a circle) that fits the cross-section, and the curve fitting technique may be a local circle fitting. In some embodiments, the second module further determines an estimated detectable portion of the singular object, compares the estimated detectable portion to the physical dimensional data associated with the object, and determines an occlusion factor based on the comparison. In some embodiments, the second module further determines an intersection of the singular object with another object in the bundle. In some embodiments, the model is a three-dimensional model. In some embodiments, the distinguishing characteristics are a large end diameter, a small end diameter, a length, and/or a curvature.
In general, in another aspect, a method for detecting variability in individual objects in a bundle of objects includes obtaining physical dimensional data related to a bundle of objects using laser sensors and processing the physical dimensional data with a processor for executing computer-executable instructions. Processing includes locating a cross-section of an individual object, creating a model of the individual object based on the located cross-section, and analyzing the model to determine if the individual object embodies one or more distinguishing characteristics.
In some embodiments, the obtaining step occurs when the objects are in relative motion to the laser sensors. In some embodiments, the laser sensors are located on three sides of the bundle. In some embodiments, the objects are logs. In some embodiments, the physical dimensional data is peripheral data. In some embodiments, the locating step includes applying a curve fitting technique to determine a shape (which may be a circle) that fits the cross-section, and the curve fitting technique may be a local circle fitting. In some embodiments, the locating step includes determining an estimated detectable portion of the singular object, comparing the estimated detectable portion to the physical dimensional data associated with the object, and determining an occlusion factor based on the comparison. In some embodiments, the locating step includes determining an intersection of the singular object with another object in the bundle. In some embodiments, the model is a three-dimensional model. In some embodiments, the distinguishing characteristics are a large end diameter, a small end diameter, a length, and/or a curvature.
In general, in another aspect, a bundled object image selection system includes an array of sensors configured to at least partially surround a bundle of objects, wherein the sensors are lasers adapted to obtain physical dimensional data about the bundle. The system also includes at least one camera configured to obtain a plurality of images of the bundle, a processor for executing computer-executable instructions, and a memory for storing computer executable instructions. When the instructions are executed, the processor implements a limit module that processes the physical dimensional data to determine a limit of the bundle and a selection module that selects at least one image from the plurality of images corresponding to the limit.
In some embodiments, the sensors are laser sensors. In some embodiments, the sensors are located on at least three sides of the bundle. In some embodiments, the objects are logs. In some embodiments, the physical dimensional data includes distance and angle data between a plurality of set points. In some embodiments the camera is configured to take at least one of photographs and video. In some embodiments, the limit module processes histogram vectors starting at a center of the bundle and working outwards. In some embodiments, the selected image depicts an end of the bundle. In some embodiments, the method includes a cross-section module that organizes the physical dimensional data into a plurality of cross-sections of the bundle. In some embodiments, the system includes a timing module that associates the physical dimensional data with at least one image. In some embodiments, the system includes a synchronization mechanism, and the synchronization mechanism may be configured to use electrical signals to trigger the start of the sensors and the at least one camera.
In general, in another aspect, a method for selecting an image of bundled objects includes obtaining physical dimensional data about the bundled objects using laser sensors, recording a plurality of images of the bundled objects with at least one camera, processing the physical dimensional data with a processor to determine a limit of the bundle, and selecting at least one image from the plurality of images corresponding to the limit.
In some embodiments, the obtaining step occurs when the objects are in relative motion to the laser sensors. In some embodiments, the sensors are laser sensors. In some embodiments, the sensors are located on at least three sides of the bundle. In some embodiments, the objects are logs. In some embodiments, the physical dimensional data is distance and angle data between a plurality of set points. In some embodiments, the recording step includes taking one of photographs and video. In some embodiments, the processing step includes processing histogram vectors starting at a center of the bundle and working outwards. In some embodiments, the selected image depicts an end of the bundle. In some embodiments, the method includes the step of organizing the physical dimensional data into a plurality of cross-sections of the bundle. In some embodiments, the method includes the step of associating the physical dimensional data and the at least one image with a common time indicator. In some embodiments, the method includes synchronizing the start of the sensors and the at least one camera with an electrical signal.
Other aspects and advantages of the invention will become apparent from the following drawings, detailed description, and claims, all of which illustrate the principles of the invention, by way of example only.
In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention.
In the forestry industry, logs can be used for a variety of purposes (e.g., lumber, pulp and paper, fiberboard, etc.). Depending on the intended use of the logs, different distinguishing characteristics of the logs may be of interest, particularly those distinguishing characteristics considered to be defects in the logs. Examples of distinguishing characteristics are depicted in
While the above described distinguishing characteristics may be detected automatically, other distinguishing characteristics may be better suited for visual detection.
One embodiment of the sensor array 302 is shown in
The sensors 302 may precisely measure the distance and angle of a set number of points in its field of vision. The number of points depends on the laser resolution and the laser capture angles. By placing an array of lasers 302 to cover the same plane (perpendicular to the trajectory of the objects) from different positions, a complete cross-section 500 or scan of the bundle 600 may be obtained, as shown in
By combining the data acquired with a real-time measurement of the speed of the bundle 600, it is possible to reconstruct a three-dimensional image of the bundle 600 as shown in
Following (or in some embodiments concurrent with) data acquisition (Step 202), the processor 304 executes the instructions in the second module 310 in the memory 306 to apply a curve fitting to find the best fitting shapes for the cross-section 500 of the logs 100 in the bundle 600, such as that depicted in
The pre-process module 802 includes sorting the data points of each laser measurement (802a) to allow the system to make some assumptions about the order of angles. Often this is done in a clockwise manner. The pre-process module 802 also may include filtering out unreliable points of the laser measurements (802b) to eliminate poor quality data and to discard non-wood objects, such as load supports, wheels, load platform, driver cockpit, etc. Data filtering (802b) helps the entire local circle fitting module 310 proceed easier and faster, as well as produce better overall results. Data filtering (802b) may include applying one or more of the following filters: an amplitude filter to eliminate all the points that have lower amplitude than a given threshold; a Euclidean filter to eliminate isolated points of each scan by evaluating how many neighbors each point has within a determined maximum distance (all points that do not have the minimum required number of neighbors are filtered out of the data); an external window filter to eliminate all points outside of a determined rectangular window for each scan; and an internal window filter to eliminate all the points inside of a determined rectangular window for each scan.
The minutiae detection module 804 detects special features, called minutiae, in each scan. A minutia may be the point where laser data of two contiguous logs intersect, as depicted by the points 930 in
Candidate analysis (804b), completed following determination of the candidates, involves determining a final set of minutiae that include the intersection between groups of candidates. During minutiae clustering (804c), the selected minutiae candidates 1130 depicted in
The circle fitting module (806) may be executed to find circles that best fit the log data in each scan. Circular outlines may be generated from the data points of the previous steps through point clustering (806a) and circle model fitting (806b). Point clustering (806a) includes selecting groups of data points that are part of each log section by using an algorithm to select data points between two consecutive minutiae that indicate the selected data points pertain to a particular log 100. Circle model fitting (806b) follows selection of the points of each log section by executing an iterative circle-fitting algorithm to generate a circle mode. This procedure may be executed independently for each scan of each laser. The circle-fitting algorithm may have two stages: a first stage to create an initial circle approximation using standard least square circle fitting over the mentioned points; and a second stage to optimize the parameters of the circle obtained in the first stage by reducing the real distance of the points to the circle model. The iterative stage may provide a near-optimal result, however the post-processing module 808 may still be used.
The post-process module 808 includes merging circles (808a), optimizing circles (808b), and filtering circles (808c). The circles merge (808a) accounts for the overlapping circles generated by contiguous lasers that may be created as a result of the system detecting the same log section from independent laser scans. Each circle detection may be evaluated between the different lasers to determine if two circles are sufficiently overlapping, and if so, whether to merge them. In one exemplary embodiment, to evaluate if two circles are sufficiently overlapping, the post-processing module 808 calculates the common area of both circles. If this common area is above a certain threshold, the circles may be considered to be part of the same section and the points of both circles to be merged may be used to generate a new circle model using the circle-fitting algorithm of the circle model fitting (806b). This new estimation may improve both independent estimations because it uses more information to estimate the same circle.
After circles are merged, the post-processing module 808 optimizes the merged circles by considering the overlap (calculated as the common area between each pair of circles) that can exist between circles of nearby model log sections. The circles should not overlap as the logs 100 do not overlap each other in the bundle 600. The optimization process (808b) seeks to minimize the total overlapped area between all circles in each scan, as well as the distance to the points of the laser to the circles models by adjusting the radius of each detected circle to create a final set of optimized circle detections. A gradient method that defines the optimal direction to move each radius to obtain a better fitness evaluation may be used. Finally, the post-processing module 808 filters out circles with diameters under or over set thresholds during circle filtering (808c), resulting in the circles 1250 depicted in
The second module 310 may also include additional instructions for processing the data from the diagonal lasers 302. One method may be based on peripheral trunk face (e.g., limits of the logs 100) detection. This method uses the detected circles 1250 given by the previous steps of the module 310 to generate several seeds near the respective trunk faces. Based on these seeds, an expectation maximization algorithm (EM) with a circular model dependent objective function may be developed to approximate the best circle near to the seeds which contains all the points of the data from the diagonal lasers 302 that describes a circular shape. This approximated circle may correspond to the face of a unique log 100, similar to how the circles 1250 relate to the other logs 100.
Other instructions may include bundling internal logs 100 by deleting data from the diagonal lasers 302 relating to peripheral logs 100. Using the remaining data from the diagonal lasers, the module 310 may detect faces of internal logs 100 using differences between laser scans. For example, if a difference with a high spatial density between information in consecutive scans is detected, a new seed may be generated, and the EM algorithm step may be developed based on the new seeds in the same way as in the peripheral case.
These instructions may supplement an existing model of the periphery loss to verify or correct the existing model. When there is not an existing model (e.g., for interior logs 100), a new model may be created based on the newly generated circles derived from the data from the diagonal lasers 302 (e.g., diameter information). In some embodiments, the data from the diagonal lasers 302 may help make the pre-existing circles more accurate.
The processor 304 may then execute the instructions in the third module 312 to estimate a model for each log 100 that is related to the fitted circles 1250, identifying groups of circles of the same log 100, and filtering the information to create a relatively smooth estimation of each log 100.
The direct and inverse Kalman filters 1302/1303 are arranged in parallel, with one filter starting from the first scan of the bundle 600 and moving toward the last scan, and the other starting from the last scan working forward. This process aims to reduce the bias produced by the directionality of the Kalman filters 1302/1303 as direct and inverse filters often have different results due to the direction of the process. Each Kalman filter 1302/1303 has three stages, an observation selector 1302a/1303a, a new model generator 1302b/1303b, and a models estimator 1302c/1303c.
The observation selector 1302a/1303a evaluates if the circles 1250 of the current scan belong to any of the log models. Each circle 1250 may be compared with the existing models using the Mahalanobis distance. Additionally, a circle 1250 may be required to meet a confidence threshold given by the local circle fitting process 800 to be accepted as an observation. The circles 1250 that are near enough to a model and exceed the confidence threshold may be selected as observations of this model. The new model generators 1302b/1303b may consider whether the circles 1250 not associated with a model exceed a second confidence threshold to start a new log model. If not, the circles 1250 may be discarded. The models estimators 1302c/1303c include a standard Kalman filter that uses the position of the center of the log 100 and its radius in the current scan as the state of the model. Additionally, a velocity vector, which represents the direction in which the log diameter grows, may be estimated using the difference between observations of the log 100 in consecutive scans. This velocity value may be considered as the perturbation variable of the filtering process, and may be used to estimate the predictive state of the filtering. A corrective stage may be used to verify or modify the results, such as through a comparison with the circles 1250.
Once log models are generated by the Kalman filters 1302/1303, each log 100 may be represented by several separate models that need to be combined. During merge models (1304/1305), each model section may be compared to others to determine if they are part of the same log 100. Each merge model module 1304/1305 includes a volume overlapping estimator 1304a/1305a and a merge overlapped trunks module 1304b/1305b. The overlapping estimators 1304a/1305a compare pairs of log models to determine the overlapped volume between them in regions where the physical logs 100 are expected to be in contact. The overlapping estimators 1304a/1305a use an algorithm to make a cylindrical projection of the log to the scans where they could be overlapped. If the calculated overlapped volume exceeds a threshold volume ratio, the models may be merged by the merger modules 1304b/1305b. This process may be executed recursively, allowing more than two parts of a model log to be merged into the same model, and may be the same for both the direct and inverse Kalman Filter estimators 1302/1303.
The merge direct/inverse models module 1306 is used to merge the models generated by the estimators 1302/1303 to account for the directional bias using a volume overlapping estimator 1306a and a merge overlapped trunks module 1306b. The overlapping estimator 1306a may be similar to those described above (estimators 1304a/1305a) for use in calculating the volume overlap between log models. Those models exceeding the threshold may be designated for merger. The merge overlapped trunks module 1306b may consider those models designated to be merged and calculate a mean center and radius between the multiple models of the log 100. When the log 100 has only a single model associated with it, the merge module 1306b may simply select this model. In this manner, the merge module 1306b creates a final set of log models.
A progression of the model generation for a single log 100 is depicted in
In certain embodiments, the process 200 optionally includes estimating confidence in the models 1404 (Step 208) for reliably detecting the distinguishing characteristics (e.g., length, small end diameter, large end diameter, curvature, etc.) to avoid false positive detections of defects. The estimating step (Step 208) also includes evaluating the data quality to dynamically define the best thresholds over the confidence values to discard or accept a measurement. The second module 310 may include instructions for determining an estimated detectable portion of a singular log 100, comparing the estimated detectable portion to the physical dimensional data associated with the log 100, and determining an occlusion factor based on the comparison. These instructions may be executed in conjunction with, or separate from, other instructions in the second module 310 for determining an intersection of a log 100 with another log 100 in the bundle 600. The second module 310 may be used estimate the visual region of each log from each laser sensor 302 by multiple methods. One method includes using real data to count the data points given by the lasers 420 for each log 100 and comparing this count with a section of the bundle perimeter the laser 420 was expected to have viewed (may be done for each log). Another method involves using a theoretical model that models all logs as cylinders and estimates the portion of the cylinder that should have been viewed by the laser 420 considering the occlusions generated by all the cylindrical logs. Both methods generate a measurement of the viewed and occluded regions of each log section for each complete log 100 over the entire bundle.
Data quality may be determined as a proportional factor of the difference between measurements obtained by these methods. If the difference in both measurements increases, it is likely more points that should be visible are not being seen, therefore lowering the data quality. This occlusion factor may be used to dynamically adjust some thresholds to filter out defects in undetected logs.
For each log 100, it may be desirable to know how much occlusion occurs where the system believes the large and small ends of the log 100 are located. If there is a high level of occlusion, the system may be less confident in determining the measurements of the distinguishing characteristics. To determine the level of occlusion, five occlusion factors may be calculated, with the first four relating to the level of occlusion in the scans just before and just after each end of the log 100, and the last one looking at occlusion for the entire log. With these occlusion factors, and using the dynamically estimated thresholds of data quality, the system may decide if each distinguishing characteristic can be calculated with the required confidence.
Analyzing the model (Step 210) is the final stage for estimating the distinguishing characteristics of each log 100. The relevant distinguishing characteristics of each log 100 may be measured from its associated model 1404, and the occlusion factors and data quality may be used to determine the confidence of these measurements. This confidence may be used to determine whether each measurement is indicative of the log 100 having a defect. The process 200 may help minimize the number of false positive defects calculated by the system while at the same time maximizing the number of true positives. The sensitivity of the system to calculating false positives can be adjusted according to the requirements of each mill, even for individual bundles 600.
To synchronize the physical dimensional data from the sensors 302 with the image data from the cameras 1602, the scan rate of the sensors 302 and the frame rate of the cameras 1602 may be kept constant to ensure both sources of data remain synchronized. A synchronization mechanism 1606 may be used to help ensure the sensors 302 and the cameras 1602 begin operation at the same time. The synchronization mechanism 1606 may provide an electrical signal at a designated time (e.g., when the bundle 600 passes a certain point) to start the sensors 302 and the cameras 1602. When the rates are synchronized, each scan may be associated with a particular image. A timing module 1608 may be used to associate the physical dimensional data with at least one image, e.g., by associating a unique image (
The images of greatest interest may be those of the limits or ends of the bundle. These limit images may enable a human user to perform a visual analysis to determine if a distinguishing characteristic is present (e.g., a swollen butt, a split, an uneven butt, etc.). To detect a limit of the bundle, the physical dimensional data may be processed according to the limit selection module 1612 by using a y-axis histogram calculation process, a bundle center calculation process, a bundle limits calculation, and a validation process. The y-axis histogram calculation process includes counting those data points located above a y-axis threshold. Exemplary histogram analyses are depicted in
As the images are correlated with the laser scan data through the synchronization process described above, a selection module 1614 can automatically select at least one image from a plurality of images corresponding approximately to the limit. The selection module 1614 may select multiple images as others around the limit may provide a better view. For each bundle 600, several different images that show the front or back of the bundle 600 may be appropriate (the number can depend on factors such as truck speed, the camera frame rate, and the spacing between bundles). Images taken closer to the limit of the bundle 600 may allow an operator to view some logs 100 in greater detail (due to greater magnification), but can provide a more tangential angle of view to the log faces, thus making some logs 100 more difficult to view. Images taken from further away may provide a better angle of view, but can compromise the visible detail in each log 100. Often the optimum image may be considered to be the one where the operator has the best overall perspective of the front or end of the bundle 600 so as to visually determine defects (particularly those typically detected with a visual inspection, including swollen butts, splits, and uneven butts). The selection module 1614 may also be used to select images on either side of the optimum, accounting for other factors such as the speed of the bundle 600 through the structure 422, thus allowing the operator to scroll through different images in order to determine the best for visual inspection according to his/her subjective evaluation. Further, the selection module may select images from both limits so that the front and back ends of each bundle are displayed.
The various images may be displayed in a user-friendly interface to help operators identify and mark log defects. This software may enable a user to easily scroll between different images if one automatically selected by the system is not ideal or if the operator desires a different viewing angle. Other features include the ability to adjust the color, contrast, white balance and other settings to compensate for problems with an image, such as poor lighting, the ability to zoom in and out of the image to focus on different details, and tools to digitally mark and color-code defects. An exemplary interface is depicted in
The system allows an operator to conduct the visual inspection remote from the bundle 600 on a computer screen. This can help save time by eliminating the need for the operator to walk around, and in some cases even onto, the bundle 600. The operator may be located in an entirely different geographical location from the bundle 600, and multiple operators from various geographically distributed sites may analyze the images concurrently or at different times. Further, the bundle 600 may remain in motion while the data is acquired and the operator performs a visual analysis, or the images may be archived for later analysis. The system provides a location and time independent means for inspecting bundles 600 of logs 100, creating many efficiencies over the common current protocol.
Often, it is desirable to generate a report of the measurements and observations. The response format may be adjusted for different applications, but generally includes a summary of the defects detected and a set of images illustrating the defects.
The information generated throughout the process, including the selected images and digital markings made by the human operator, may be stored for later review in an auditing system. Interested parties may later review the digital markings for a variety of reasons, including to determine the effectiveness of operators in detecting defects and to settle disputes with suppliers. The information may be referenced as long as the data is stored and accessible.
Although the exemplary operations described above recite steps performed in a particular order, the present invention does not necessarily need to operate in the recited order. One of ordinary skill in the art would recognize many variations, including performing steps in a different order.
Various embodiments and features of the present invention have been described in detail with particularity. The utilities thereof can be appreciated by those skilled in the art. It should be emphasized that the above-described embodiments of the present invention merely describe certain examples implementing the invention, including the best mode, in order to set forth a clear understanding of the principles of the invention. Numerous changes, variations, and modifications can be made to the embodiments described herein and the underlying concepts, without departing from the spirit and scope of the principles of the invention. All such variations and modifications are intended to be included within the scope of the present invention, as set forth herein. The scope of the present invention is to be defined by the claims, rather than limited by the forgoing description of various preferred and alternative embodiments. Accordingly, what is desired to be secured by Letters Patent is the invention as defined and differentiated in the claims, and all equivalents.
Computer Implementation
The algorithms and processing techniques described above may be implemented in software modules or hardware components that perform certain tasks. The algorithms and processing techniques may advantageously be configured to reside on an addressable storage medium and be configured to execute on one or more processors. The algorithms and processing techniques may be fully or partially implemented with a general purpose integrated circuit (IC), co-processor, FPGA, or ASIC. Thus, algorithms and processing technique may include, by way of example, components, such as software components, object-oriented software components, class libraries, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and algorithms and processing techniques may be combined into fewer components and algorithms and processing techniques or further separated into additional components and algorithms and processing techniques. Additionally, the components and algorithms and processing techniques may advantageously be implemented on many different platforms, including computers, computer servers, data communications infrastructure equipment such as application-enabled switches or routers, or telecommunications infrastructure equipment, such as public or private telephone switches or private branch exchanges (PBX). In any of these cases, implementation may be achieved either by writing applications that are native to the chosen platform, or by interfacing the platform to one or more external application engines, for example, locally or over a network.
Claims
1. A bundled object variability detection system, the system comprising:
- an array of sensors at least partially surrounding a bundle of objects, wherein the sensors comprise lasers adapted to obtain physical dimensional data about the bundle;
- a processor for executing computer-executable instructions; and
- a memory for storing computer executable instructions, that when executed by the processor implements (i) a first module that receives the physical dimensional data from the sensors; (ii) a second module that locates a distinct cross-section of a singular object within the bundle based on the physical dimensional data; (iii) a third module that determines a model of the singular object based on the located cross-section of the singular object; and (iv) a fourth module that analyzes the model to determine if the individual object embodies one or more distinguishing characteristics.
2. The system of claim 1, wherein the array of sensors are disposed on three sides of the bundle.
3. The system of claim 1, wherein the objects comprise logs.
4. The system of claim 1, wherein the physical dimensional data comprises peripheral data.
5. The system of claim 1, wherein the second module is adapted to apply a curve fitting technique to determine a shape that fits the cross-section.
6. The system of claim 5, wherein the curve fitting technique comprises local circle fitting.
7. The system of claim 5, wherein the shape is a circle.
8. The system of claim 1, wherein the second module further determines an estimated detectable portion of the singular object, compares the estimated detectable portion to the physical dimensional data associated with the object, and determines an occlusion factor based on the comparison.
9. The system of claim 1, wherein the second module further determines an intersection of the singular object with another object in the bundle.
10. The system of claim 1, wherein the model is a three-dimensional model.
11. The system of claim 1, wherein the distinguishing characteristics are selected from the group consisting of a large end diameter, a small end diameter, a length, and a curvature.
12. A method for detecting variability in individual objects in a bundle of objects, the method comprising:
- obtaining physical dimensional data related to a bundle of objects using laser sensors; and
- processing the physical dimensional data with a processor for executing computer-executable instructions, wherein processing comprises the steps of: locating a cross-section of an individual object; creating a model of the individual object based on the located cross-section; and analyzing the model to determine if the individual object embodies one or more distinguishing characteristics.
13. The method of claim 12, wherein the obtaining step occurs when the objects are in relative motion to the laser sensors.
14. The method of claim 12, wherein the laser sensors are disposed on three sides of the bundle.
15. The method of claim 12, wherein the objects comprise logs.
16. The method of claim 12, wherein the physical dimensional data comprises peripheral data.
17. The method of claim 12, wherein the locating step comprises applying a curve fitting technique to determine a shape that fits the cross-section.
18. The method of claim 17, wherein the curve fitting technique comprises local circle fitting.
19. The method of claim 17, wherein the shape is a circle.
20. The method of claim 12, wherein the locating step comprises determining an estimated detectable portion of the singular object, comparing the estimated detectable portion to the physical dimensional data associated with the object, and determining an occlusion factor based on the comparison.
21. The method of claim 12, wherein the locating step comprises determining an intersection of the singular object with another object in the bundle.
22. The method of claim 12, wherein the model is a three-dimensional model.
23. The method of claim 12, wherein the distinguishing characteristics are selected from the group consisting of a large end diameter, a small end diameter, a length, and a curvature.
Type: Application
Filed: Aug 31, 2012
Publication Date: Jun 6, 2013
Inventors: Rodrigo A. Palma-Amestoy (Santiago), Raúl A. Lastra (Santiago)
Application Number: 13/601,283