This application relates to non-human classification of bulk raw cotton.
Cotton trash is any non-lint material in the cotton. Examples of cotton trash are leaf, bark, grass and small foreign particles known as pepper trash. The amount of trash in cotton bales is a crucial factor in determining the market value of the cotton. The value used in determining cotton market value is classer's Leaf Grade and Bark/Grass Grade. The kind of trash and an indication of the amount (the Leaf Grade “1” through “7” and the Bark/Grass Grade “0”, “1” or “2”) are visually estimated by a human classer. Classer determination for leaf grade and bark/grass grade has been used for many decades and is still part of the official U.S. Department of Agriculture (USDA) cotton classification. No automatic system is known to be used to determine leaf grade and bark/grass grade currently.
Although the USDA provides High Volume Instrument (HVI) trash measurement, the correlation between HVI trash and classer's Leaf Grade is very low, and it is impossible to get Bark/Grass Grade from the HVI trash measurement. HVI trash is a measure of the amount of non-lint materials in the cotton, such as leaf, bark and grass. HVI trash measurement systems analyze the gray-scale images of a cotton sample surface using a fixed intensity threshold to identify pixels in cotton image as “lint” or “non-lint”. The amount of trash is then quantified as the percentage of the surface area occupied by non-lint pixels. While this method performs well if the cotton is bright white in color, the trash particles are always much darker than the lint, and the image light source does not degrade with use, these assumptions are often not satisfied in practice. Cotton colors range from bright white to dark yellow, non-lint material varies in darkness, and light sources degrade with use. Thus, it is not possible to assign a single threshold that is able to accurately discriminate between lint and non-lint material under all commonly encountered conditions. On the other hand, since all pixels that are darker than a certain threshold are considered as trash, the HVI trash system can not distinguish leaf, bark and grass, even shadows. That makes HVI trash system can not make good leaf grade and is impossible to make bark/grass grade.
The major advantage of human classing of cotton lies in the capability of a human being learning, organizing and accumulating knowledge. An experienced human classer can do a better job of categorizing and grading the cotton than any heretofore known computer system. However, the disadvantages are rather obvious. It is much more expensive to train and maintain a human classing system than a computer classing system. The reproducibility between two different individuals is lower compared to reproducibility between multiple computer systems. Moreover, a human classer can not quickly make accurate measurement of such as things as particle count, percentage area occupied by trash and average size of the trash particle. Thus, industry demands an automatic, accurate and reliable trash measurement system to replace the traditional human classing system for cotton.
Many attempts have been made to track a human classer's leaf grade based on percentage of surface area occupied by trash particles or count of trash particles, but all have failed. A human classer is trained using USDA leaf standard and a large number of cotton samples with known leaf and bark/grass grade. An experienced human classer forms a visual image of a cotton sample and usually determines leaf and bark/grass grade within few seconds for each sample. They never actually count the particles in the cotton sample or measure the size of the particles. What they do is first to categorize the content in the cotton sample to several categories and estimate the amount of each category based upon their image of the sample as compared to their “learned” standards. Second, they mentally process the information and make a leaf and bark/grass grade according to the knowledge that they learned through training and experience.
A successful non-human trash measurement system desirably would be able to emulate the human classer's system. First, the system must have the ability to categorize the content of the cotton image. There are lint, leaf, bark, grass, and shadows in a sample image. The system must be able to categorize the pixels in the cotton image into these categories and compute the amount of each category.
Second, the system must have the ability to implement and maintain a mathematical model that is able to learn the knowledge and process the multiple dimensional information non-linearly.
Image segmentation is the process of dividing images into sets of coherent regions or objects. It is one of the most difficult tasks in computer vision. It plays a critical role in object recognition of natural images. Unsupervised classification, or clustering, represents one promising approach for solving the image segmentation problem in typical application environments. The K-Means and Bayesian Learning algorithm are two well-known unsupervised classification methods. The K-Means approach is computationally efficient but assumes imaging conditions which are unrealistic in many practical applications. While the Bayesian learning technique always produces a theoretically optimal segmentation result, the large computational burden it requires is often unacceptable for many industrial tasks. A novel clustering algorithm, called Bayesian Weighted K-Means, is developed to divide the cotton image into lint and non-lint regions in trash measurement system. Through simplification of the Bayesian learning approach's decision-making process using cluster weights, the new technique is able to provide approximately optimal segmentation results while maintaining the computational efficiency generally associated with the K-Means algorithm.
Artificial Neural Network is an information-processing paradigm. It is based on the processing/memory abstraction of human information processing. Artificial neural network is composed of a large number of highly interconnected neurons that are connected with weighted connections. Each neuron is a mathematical model that emulates some of the features of biological neuron such as biological learning. Artificial Neural Network iteratively adjusts the connection weights based on a training set to learn the knowledge that is necessary to solve specific problems. The high non-linear structure and the capability of learning make the Artificial Neural Network well suit the problem that people are good at solving, but for which traditional methods are not. Artificial Neural Networks are used in trash measurement system to solve the leaf and bark/grass grading problems.
It is an objective of the present invention to provide an automatic, fast, reliable and robust color image-based trash measurement system which is able to replace the traditional human classing system with is particularly useful in grading of cotton. The present trash measurement system analyzes the high resolution, digital color image of a cotton sample accurately and precisely. Selected physical properties of the sample are computed employing the data obtained through the analysis of the digital color image. For example, the present system will provide identification of the kind of trash in the sample, and measurements of percentage of surface area occupied by trash particles in a cotton sample, along with particle counts and average particle size for each kind of trash particle. The system will identify and quantify Leaf Grade and Bark/Grass Grade, which are highly correlated with leaf grade standard. It will also provide a visible marked cotton image where different kinds of particles are highlighted with different colors (“marked”). The detail information of each trash particle including color, size, shape, type will be output in a particle analysis report. The data collected is employed to provide an output of the class of the cotton of the sample.
An input color image of a cotton sample is obtained by a scanning technique. This image is first analyzed by an image segmentation module and a binary image where lint pixels are marked as 0 and non-lint pixels are marked as 1. In a following particle recognition module, the adjacent non-lint pixels are grouped together as particles, and the color, size, shape and edge strength for each particle are computed. These particle descriptions are analyzed and each particle is assigned a trash type: leaf, bark, grass, pepper trash or shadow. The data of leaf and pepper trash are analyzed by a leaf grading module, and leaf grade is reported. The data of bark/grass are analyzed by a bark/grass grading module and the bark/grass grade is reported. Samples with known leaf grade and bark/grass grade will be used to train the system. The parameters or the structure of the mathematical model will be adjusted based on the training data to store the knowledge. The core technology used in this step is Artificial Neural Network.
a, 3b, 3c and 3d depict four examples of input images (in black and white) depicting different colors and particles in the samples of cotton samples and trash;
Referring to Figures land 2, one embodiment of the present invention includes an input 12 comprising a high resolution, digital color image of a cotton sample 14 such as shown in
In a preferred embodiment, the present system includes at least four major modules, namely: Image Segmentation 30, Particle Recognition 32, Leaf Grading 34 and Bark/grass Grading 36.
A. Image Segmentation Module
In one embodiment three steps are employed to identify the non-lint material in the cotton image. First, a RGB color space 40, as shown in
CIELAB color space is defined by the following equations:
L=116·[(Y/Y0)1/3−16/166]
a=500·[(X/X0)1/3−(Y/Y0)1/3]
b=500·[(Y/Y0)1/3−(Z/Z0)1/3]
where X, Y, Z is obtained from RGB values using the following equations:
X=0.490R+0.310G+0.200B
Y=0.177R+0.812G+0.011B
Z=0.000R+0.010G+0.990B
and (X0, Y0, Z0) are reference white points (R=255, G=255, B=255).
The method of the Bayesian Weighted K-Means Algorithm is discussed below. Given K feature space classes, a set of K initial n-dimensional cluster centers, μk, a set of n-dimensional feature vectors, xj, j=1 . . . N, and a K-dimensional weighting vector w=[1/K . . . 1/K]T, and assuming spherical Gaussian clusters, each feature vector, xj, is first assigned to a cluster i such that the equation
mink(ek(xj)=∥xj−μk∥/wk) (1)
is satisfied. New cluster centers, μk, and covariance matrices, Σk, are then calculated based on these feature assignments. Note that as the weight assigned to a cluster grows, the likelihood of individual features being assigned to that cluster increases, and the computational complexity is still of the order, O(N·K·n).
A novel aspect of the algorithm involves the process of updating the cluster weight vector using Bayes decision theory. The computationally expensive section of the Bayesian learning method involves the calculation of the n-dimensional Gaussian decision function, dk(xj), over each cluster, k, k=1 . . . K, and each feature vector, xj, j=1 . . . N. Thus, the time complexity is O(N·K·n2). However, instead of calculating the decision function for each feature vector and each cluster, the decision surface Dr,s(x) between adjacent clusters r and s is calculated in the Bayesian Weighted K-Means algorithm. The time complexity for this additional step is O(K2·n2), which is significantly smaller than O(N·K·n2) for the typical image processing task where N is large. The weight wr of cluster r and ws of cluster s are calculated based on the distance f(r,s) between cluster center μr and decision surface Dr,s(x) and f(s,r) between cluster center μs and decision surface Dr,s(x) using
f(r,s)/wr=f(s,r)/ws, where r=1 . . . K and r≠s (2)
where,
f(r,s)=∥μr−Dr,s(x)∥ (3)
f(s,r)=∥μs−Dr,s(x)∥. (4)
The decision surface Dr,s(x) for n-dimensional Gaussian distribution has the form
which can be written in general quadratic form as
xT·A·x+bT·x+c=0 (6)
where A is n x n matrix, b is n-dimensional vector and c is a scalar. The distance f(r,s) from each cluster center to the proper decision boundary can be calculated as below.
Because the weighting vector w has K unknowns, K constraints are needed for a solution. From Equation (2), for all the possible combinations of r and s, K−1 of them are independent. Let r=1 . . . K−1 and s=r+1, equation (2) can be written as
G·w=0 (7)
where
Equation (7) is a homogeneous system with K−1 equations, K unknowns and rank(G)=K−1. A solution for the weighting vector up to a scale, w′, can be found from equation (7) using SVD (Singular Value Decomposition). The solution w′ is the eigenvector corresponding to the smallest eigenvalue of GTG. In addition,
Σw=1 (9)
Thus, the actual weighting vector is determined by
w=w′/Σ(w′) (10)
Once the weighting vector has been updated, the entire assign-update procedure is repeated until the cluster centers and weights converge to a stable value.
Note that calculating the intersection of a line with a general quadratic can be computationally burdensome for high dimensional feature spaces. Because the decision surfaces are used for updating of the weighting vector instead of dividing the patterns into classes, dominant modes can be used to approximate a lower order, p<n, decision surface. Thus, in the current implementations of the algorithm, lower dimensional features, x′, are used in Equations (3) to (6) to solve for the weighting vector. The one-dimensional and two-dimensional cases are discussed below.
In the case with one dominant discriminatory mode, the lower dimensional feature vector x′ becomes a scalar x, μr becomes a scalar ur, μs becomes a scalar us, and the decision surface Dr,s(x) is given by the parabola
a·x2+b·x+c=0 (11)
Thus, the quadratic formula can be used to solve for the decision point between two adjacent clusters,
Letting T=x1,2 where T is chosen such that, μr<T<μs, the distance from each cluster center can be computed using
f(r,s)=∥μr−Drj(x)∥=|μr−T| (14)
and
f(s,r)=∥μs−Dr,s(x)∥=|μs−T| (15)
In the case of two discriminatory modes, the feature vector x′ reduces to a point (x, y), μr becomes a point (ur, vr); μs becomes a point (us, vs) and the decision surface Dr,s(x) is given by the ellipsoid:
A·x2+B·x·y+C·y2+D·x+E·y+F=0 (16)
The distance f(r,s)=∥μr−Dr,s(x)∥ can be calculated as below (see
A complete listing of the algorithm is provided below. Assumptions:
The first step of particle recognition is pixel grouping 60. This step applies connected components labeling algorithm to process input binary image 50. The connected non-lint pixels are grouped as particles based on 8-connectivity (see
The connected components labeling operator scans the binary image from left to right and from top to bottom until it comes to a pixel (i, j) for which Image(i, j)=1 (non-lint pixel). The operator checks four of the neighbors of (i, j) which have already been encountered in the scan. They are pixels (i−1, j−1), (i−1, j), (i−1, j+1), and (i, j−1). If all four neighbors have value of 0, assign a new label to (i, j). If only one neighbor has value of 1, assign its label to (i, j). If more than one neighbors have value of 1, assign maximal label to (i, j) and record the equivalence between all other labels and the maximal label. After completing the scan, the equivalent label pairs are sorted into equivalence classes and a unique label is assigned to each class. As a final step, a second scan is made through the image, during which each label is replaced by the label assigned to its equivalence classes.
As shown in
The following step describes particle description 62. Color, size, shape and edge strength is computed for each particle. The algorithm is shown below.
Each particle with the description of color, size, shape and edge strength is then passing through four filters 64, 66, 68 and 70 as shown in
C. Leaf Grading Module
Following the image segmentation and particle recognition modules, all kinds of trash particles are measured and classified. What will finally determine the cotton market value, however, is the Leaf Grade and Bark/Grass Grade. A generalized flow diagram of one embodiment of a Leaf Grading module 90 is depicted in
As shown in
xi,j=fi(xi−1,l*Wi,j,l+ . . . +xi−1,k*wi,j,k+ . . . +xi−1,n*wi,j,n+bi,j) (27)
where i stands for i th layer, j stands for j th neuron in a layer, xi,j is the output of neuron [i, j], Xi−1,k is the output of neuron [i−1, k], wi,j,k is the weight of connection between neuron [i, j] and neuron [i−1, k], bi,j is the bias of neuron [i, j] and fi( ) is the activation function of i th layer. In Leaf Grading module, the activation function for layer 1 is hyperbolic tangent function:
f1(x)=2/(1+exp(−2*x))−1 (28)
The activation function for layer 2 is pure linear function:
f2(x)=x (29)
Let m be the number of neurons in layer i and n be the number of neurons in layer i−1. The m outputs for i th layer will be:
xi,l=fi(xi−1,l*wi,l,l+ . . . +xi−1,k*wi,l,k+ . . . +xi−1,n*wi,l,n+bi,l) (30)
xi,j=fi(xi−1,l*wi,j,l+ . . . +xi−1,k*wi,j,k+ . . . +xi−1,n*wi,j,n+bi,j)
xi,m=fi(xi−1,l*wi,m,l+ . . . +xi−1,k*wi,m,k+ . . . +xi−1,n*wi,m,n+bi,m)
The matrix format of Equation (30) is
xi=fi(Wi·xi−1+bi) (31)
where xi is m-dimensional output vector of i th layer, Wi is m x n weight matrix of i th layer, and bi is m-dimensional bias vector of i the layer.
For Leaf Grading module, the mathematical model is
x1=f1(W1·x0+b1) (32)
x2=f2(W2·x1+b2)
where W1 is the 10×4 weight matrix of layer 1, b1 is the 10-dimensional bias vector for layer 1, W2 is the 1×10 weight matrix of layer 2, b2 is the bias for layer 2. x0 is the 4-dimensional input vector (Leaf % Area, Leaf Count/inch2, Pepper Trash % Area, Pepper Trash Count/inch2), x1 is 10-dimentional vector and x2 is the Leaf Grade.
The Artificial Neural Network must be trained using leaf standard and hundreds of cotton samples with known leaf grade. The weight matrix W1 and W2 and bias vector b1 and b2 will be determined in the training process. The training algorithm used here is Levenberg-Marquardt algorithm. The algorithm is performed in off-line, or batch, mode, where the weight matrixes and bias vectors are only updated after a complete scan through the whole training set. The Levenberg-Marquardt algorithm is a non-linear least squares algorithm. It is an approximation to Gauss-Newton method. The algorithm is described below.
The performance index for the network is
where Q is the number of input vectors in data set, xMq is the output of the network when the q th input vector, x0q, is presented, tq is the target of the q th input, and eq=tq−xMq is the error for q th input. In Leaf Grading module, M=2 and the target tq and output x2q are scalars. Thus,
Since x2q is a function of W1, b1, W2 and b2, let
y=[w1,1,1, . . . w1,10,4, b1,1, . . . w2,1,1, . . . w2,1,10, b2,1]T (35)
Thus,
We want to minimize V(y) with respect to the parameter vector y, the Levenberg-Marquardt method would be
Δy=[jT(y)J(y)+μI]−1JT(y)e(y) (37)
where Where J(y) is the Jacobian matrix.
The parameter μ is multiplied by some factor (β) whenever a step would result in an increased V(y). The algorithm adjusts μ, and then computes ynew=y+Δy until V(ynew) is decreased. When a Δy that decreases V(y) is found, y is updated using y=y+Δy. The algorithm iteratively update y until the objective of the performance index V(y) is achieved.
After training, the Artificial Neural Network is ready to accept the measurements and produce leaf grade. The output of the network is presented in one decimal leaf grade (e.g., 2.4) to provide more accurate representation of leaf content than traditional 7-level leaf grade. It is easy to convert the decimal leaf grade to traditional 7-level leaf applying round-to-nearest-integer method. For example, decimal leaf grade 3.3 will be converted to traditional leaf grade 3 and leaf grade 3.7 will be converted to traditional leaf grade 4.
D. Bark/Grass Grading Module
The objective of Bark/Grass Grading module 22 is to produce Bark/Grass Grade based on the measurement. There are three different Bark/Grass Grading levels designated as “0” through “2”. Bark/Grass Grade “0” means there are no Bark/Grass in the cotton, Bark/Grass Grade “1” means bark/grass content in cotton is light and Bark/Grass Grade “2” means bark/grass content is heavy. A generalized flow diagram of one embodiment of a Bark/Grass Grading module employs the same Artificial Neural Network 100 technique with the different inputs as shown in
As shown in
The output of the network is in decimal value between 0 to 2.5. The decimal value will be rounded to an integer based on round-to-nearest-integer method. The rounded value is then reported as Bark/Grass grade.
This application is a non-provisional application and claims priority based on U.S. provisional patent application Ser. No. 60/304,653 filed Jul. 11, 2001.
Number | Name | Date | Kind |
---|---|---|---|
5125279 | Anthony et al. | Jun 1992 | A |
5130559 | Leifeld et al. | Jul 1992 | A |
5539515 | Shofner et al. | Jul 1996 | A |
6567538 | Pelletier | May 2003 | B1 |
6621915 | Chen et al. | Sep 2003 | B1 |
Number | Date | Country | |
---|---|---|---|
20030059090 A1 | Mar 2003 | US |
Number | Date | Country | |
---|---|---|---|
60304653 | Jul 2001 | US |