Method for processing electronic data
10922379 ยท 2021-02-16
Assignee
Inventors
- Hing Cheung So (Kowloon, HK)
- Wen-Jun Zeng (Kowloon, HK)
- Jiayi Chen (Shenzhen, CN)
- Abdelhak M. ZOUBIR (Darmstadt, DE)
Cpc classification
G06F17/11
PHYSICS
G06F17/16
PHYSICS
G06V10/7715
PHYSICS
G06F17/18
PHYSICS
G06F18/21343
PHYSICS
International classification
G06F17/16
PHYSICS
Abstract
A method for processing electronic data includes the steps of transforming the electronic data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; and processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices.
Claims
1. A method for processing digital image data, comprising the steps of: transforming the digital image data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices; and constructing at least one digital image based on the low-rank approximation of the plurality of matrices, wherein the approximation process includes: a greedy pursuit approximation process, and a linear regression process, and further includes: determining a best rank-one approximation of a plurality of residual matrices in each of a plurality of iteration steps in the approximation process; and subtracting a plurality of rank-one basis matrices from the plurality of residual matrices.
2. The method for processing digital image data in accordance with claim 1, wherein the digital image data are digitally compressed data.
3. The method for processing digital image data in accordance with claim 1, wherein the digital image data represent at least one source image with noise and/or defect.
4. The method for processing digital image data in accordance with claim 1, further comprising the step of processing the digital image data using a feature extraction process for classification of the digital image data.
5. The method for processing digital image data in accordance with claim 1, further comprising the step of representing a solution associated with the matrix representation and the K residual matrices as (u.sub.i,v.sub.i,s.sup.i) and {R.sub.k.sup.i}.sub.k=1.sup.K, respectively at the ith iteration step.
6. The method for processing digital image data in accordance with claim 5, wherein in the ith iteration step, the rank-one approximation of {R.sub.k.sup.i1}.sub.k=1.sup.K is determined.
7. The method for processing digital image data in accordance with claim 6, further comprising the step of determining coefficients {s.sub.k,l} of the matrix representation (u.sub.i,v.sub.i,s.sup.i) at the ith iteration.
8. The method for processing digital image data in accordance with claim 7, wherein the coefficients {s.sub.k,l} are determined by a least squares method.
9. The method for processing digital image data in accordance with claim 8, wherein the coefficients {s.sub.k,l} are determined after obtaining {u.sub.l}.sub.l=1.sup.i and {v.sub.l}.sub.l=1.sup.i at the ith iteration.
10. The method for processing digital image data in accordance with claim 7, wherein the approximation process includes an orthogonal greedy pursuit approximation process.
11. A method for processing digital image data, comprising the steps of: transforming the digital image data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices; and constructing at least one digital image based on the low-rank approximation of the plurality of matrices; wherein the approximation process includes a greedy pursuit approximation process; wherein the approximation process includes a linear regression process; wherein the approximation process further includes a rank-one fitting process for obtaining the low-rank approximation of the plurality of matrices; and wherein the low-rank approximation of the plurality of matrices are determined to be a principal singular value of each of the plurality of matrices having a maximum spectral norm.
12. The method for processing digital image data in accordance with claim 11, wherein the approximation process includes an economic greedy pursuit approximation process.
13. The method for processing digital image data in accordance with claim 11, wherein the digital image data are digitally compressed data.
14. The method for processing digital image data in accordance with claim 11, wherein the digital image data represent at least one source image with noise and/or defect.
15. The method for processing digital image data in accordance with claim 11, further comprising the step of processing the digital image data using a feature extraction process for classification of the digital image data.
16. A method for processing digital image data, comprising the steps of: transforming the digital image data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices; and constructing at least one digital image based on the low-rank approximation of the plurality of matrices; wherein the step of decomposing the matrix representation into a series of matrix approximations includes a non-orthogonal decomposition of the plurality of matrices.
17. The method for processing digital image data in accordance with claim 16, wherein the non-orthogonal decomposition includes a joint diagonal decomposition.
18. The method for processing digital image data in accordance with claim 16, wherein the digital image data are digitally compressed data.
19. The method for processing digital image data in accordance with claim 16, wherein the digital image data represent at least one source image with noise and/or defect.
20. The method for processing digital image data in accordance with claim 16, further comprising the step of processing the digital image data using a feature extraction process for classification of the digital image data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
(12) The inventors have, through their own research, trials and experiments, devised that, various kind of data, such as electronic data, may be approximated by matrices whose ranks are much smaller than their column and row lengths. The low-rank matrix approximation may extract the low-dimensional subspaces or principal components of the matrices constructed from these signals.
(13) In some example embodiments, low-rank approximation may be applied in computer vision, pattern classification, machine learning, and data analytics. In these examples, signals or data such as textual, visual, audio and financial data lie near some low-dimensional subspace.
(14) For example, principal component analysis (PCA), which may be realized by the truncated singular value decomposition (SVD), may be applied in processing the data. However, it is found that PCA and SVD may only deal with a single matrix and fail to capture the low-rank components when the observations contain outliers.
(15) The inventors noted that to deal with multiple matrices without vectorization, a two-dimensional PCA (2DPCA) may be applied to directly transform the original matrices into ones with lower column number. However, the 2DPCA merely reduces the column size while the row size remains unchanged because a single-sided transform is adopted, implying limited compression capability.
(16) The generalized low rank approximations of matrices (GLRAM) applies a double-sided transform to reduce both row and column sizes, which considerably improves compression capability. Under the same compression ratio, the GLRAM achieves smaller reconstruction error than the 2DPCA.
(17) Therefore, the inventors have devised a joint low-rank approximation of multiple matrices (LRAMM). As in the 2DPCA and GLRAM, the LRAMM also does not convert matrices into vectors and thus avoids processing the matrix with much larger size. Different from the GLRAM, the LRAMM achieves a non-orthogonal but joint diagonal factorization of multiple matrices, which leads to a more compact representation and a higher compression ratio.
(18) In one example embodiment, there is provided a greedy pursuit (GP) method for joint low-rank approximation of multiple matrices via decomposing the problem into a series of rank-one approximations. At each iteration, the best rank-one approximation of the residual matrices is determined, and then the rank-one basis matrices are subtracted from the residual. An alternating optimization method is designed for the rank-one fitting. In addition, the GP method is further modified/optimized to an economic greedy pursuit (EGP) method and an orthogonal greedy pursuit (OGP) method, which further reduces the complexity and accelerates the convergence, respectively.
(19) With reference to
(20) Preferably, in one example, the system may be used to process digital image data which may be mixed with noise and/or defects (such as missing data from a source image). The raw data of the digital image may be represented, transformed or transcoded as matrix or matrices representing the image data for further processing. The digital data may also be digitally compressed in some examples, and the data may be further compressed or decompressed by the system.
(21) In this embodiment, the system for processing electronic data is implemented by or for operation on a computer having an appropriate user interface. The computer may be implemented by any computing architecture, including stand-alone PC, client/server architecture, dumb terminal/mainframe architecture, or any other appropriate architecture. The computing device is appropriately programmed to implement the invention.
(22) Referring to
(23) The server may include storage devices such as a disk drive 108 which may encompass solid state drives, hard disk drives, optical drives or magnetic tape drives. The server 100 may use a single disk drive or multiple disk drives. The server 100 may also have a suitable operating system 116 which resides on the disk drive or in the ROM of the server 100.
(24) The system has a database 120 residing on a disk or other storage device which is arranged to store at least one record. The database 120 is in communication with the server 100 with an interface, which is implemented by computer software residing on the server 100. Alternatively, the database 120 may also be implemented as a stand-alone database system in communication with the server 100 via an external computing network, or other types of communication links.
(25) In this embodiment, the system for processing electronic data may perform an approximation process including a greedy pursuit (GP) approximation process, an economic greedy pursuit (EGP) approximation process and/or an orthogonal greedy pursuit (OGP) approximation process.
(26) Preferably, the entire process may start with formulating an initial problem according to the following steps. Given K matrices {A.sub.1, . . . , A.sub.K}.sup.mn, the task is to find their low-rank approximation. In one example, the following low-rank approximation of A.sub.k may be used:
A.sub.kUS.sub.kV.sup.T, k=1, . . . ,K(1)
where U=u.sub.1, . . . , u.sub.m.sup.mr, V=v.sub.1, . . . , u.sub.n
.sup.nr, and S.sub.k=diag{s.sub.k,l, . . . , s.sub.k,r}
.sup.rr is a diagonal matrix with r being the target rank. Note that r>min (m,n) is allowed but generally rmn is required. Here, U and V are the same for all k but S.sub.k can be different with each other. The columns of U and V span the r-dimensional subspaces of the column and row spaces of {A.sub.k}.sub.k=1.sup.K.
(27) Therefore, the low-rank approximation also achieves the task of subspace learning. According to the least squares criterion, the LRAMM method aims to solve the following minimization problem:
(28)
(29) If (U,V,S.sub.k) is an optimal solution of (2), then (.sub.1U,.sub.2V,.sub.3S.sub.k) with {.sub.1,.sub.2,.sub.3} satisfying .sub.1.sub.2.sub.3=1 is also a solution. To avoid this scaling indeterminacy, the norms of {u.sub.i, v.sub.i}.sub.i=1.sup.r may be constrained to be unit, and (2) may be rewritten as
(30)
where
s.sup.i=[s.sub.1,i, . . . ,s.sub.K,i].sup.T.sup.K.(4)
That is, the LRAMM problem is to find U, V and {S.sub.k}.sub.k=1.sup.K given {A.sub.k}.sub.k=1.sup.K according to (3).
(31) Preferably, data compression may be one example application of the LRAMM method: mnK real numbers are required to store the K original matrices but the memory complexity is reduced to (m+n+K)r via low-rank approximation which is only characterized by U, V and the diagonal elements of {S.sub.k}.sub.k=1.sup.K, yielding a compression ratio of mnK/((m+n+K)r). This implies that (1) can still achieve data compression when r>min(m,n) if r<<mn.
(32) Indeed, the compression ratio and reconstruction error decrease as r increases. Hence r>min(m,n) may be employed to attain a satisfying reconstruction error. It is worth pointing out that if the number of matrices is K=1, by the Eckart-Young theorem, the solution of (3) is the truncated SVD of A.sub.1. That is, {s.sub.1,i}.sub.i=1.sup.r are the r largest singular values of A.sub.1, and {u.sub.i}.sub.i=1.sup.r and {v.sub.i}.sub.i=1.sup.r are the corresponding left and right singular vectors, respectively. However, when the number of matrices is K>1, the truncated SVD cannot be applied to solving (3).
(33) In some examples, PCA may be applied for low-rank representation. However, the PCA cannot directly handle multiple matrices whereas each matrix needs to be converted into a vector a.sub.k=vec(A.sub.k).sup.mn. Then, the K vectors {a.sub.k}.sub.k=1.sup.K form the columns of the following data matrix:
X=[a.sub.1, . . . , a.sub.K].sup.mnK(5)
whose rank satisfies rank(X)min(mn,K). The PCA aims to find a low-rank matrix {circumflex over (X)} to best approximate the original data matrix X:
(34)
where the target rank r is usually taken as r<<min(mn,K) to achieve data compression or dimensionality reduction. Again, by the Eckart-Young theorem, the solution of (6) is given by the truncated SVD of X, which is expressed as:
(35)
where .sub.l(X) is the lth singular value of X while t.sub.l .sup.mn and y.sub.l
.sup.K are the corresponding left and right singular vectors.
(36) In data compression, it may be required to store the so-called principal components, that is, the largest r singular values and the corresponding singular vectors {.sub.l(X),t.sub.l,y.sub.l}.sub.l=1.sup.r, resulting in the PCA compression ratio of mnK/((mn+K+1)r). Nevertheless, there are two drawbacks of the PCA method applied to processing multiple matrices.
(37) First, it needs to handle a matrix of a much larger size due to transforming the original matrix into a long vector. Indeed, the truncated SVD of X has a high complexity of (max(m.sup.2n.sup.2, K.sup.2)r). For high-dimensional data with mn>K, this complexity becomes
(m.sup.2n.sup.2r), which quadratically increases with mn. Second, the vectorization breaks the 2D structure and the inherent relation between rows and columns.
(38) The 2DPCA computes a linear transformation W.sup.nr with r<n, such that each matrix is projected to C.sub.k=A.sub.kW
.sup.mr. The W maximizes the variance in the transformed space
(39)
where =(.sub.k=1.sup.KA.sub.k)/K is the mean of the matrices. The columns of the optimal W are the r eigenvectors of .sub.k=1.sup.K (A.sub.kA).sup.T (A.sub.k) corresponding to the largest r eigenvalues. The matrices can be reconstructed by .sub.k=C.sub.kW.sup.T. The 2DPCA needs to store {C.sub.k}.sub.k=1.sup.K and W, implying a compression ratio of (mnK)/((mK+n)r). As the 2DPCA only applies a single-sided transform to the matrices, its compression capability is thus limited. The computational complexity of the 2DPCA is (mn.sup.2K).
(40) The GLRAM method may solve the following constrained problem:
(41)
where the orthonormal constraints make it different from the LRAMM formulation (3) where U and V are not necessarily orthogonal. In addition, the matrices {S.sub.k}.sub.k=1.sup.K given by the GLRAM are not diagonal whereas those of the LRAM are diagonal. Hence, the compression ratio of the GLRAM is mnK/((m+n+Kr)r), which is lower for the same r. Exploiting the orthogonality of U and V, the GLRAM is reduced to
(42)
where a two-sided transform is performed.
(43) Preferably, the processing method in accordance with an embodiment of the present invention involves processing, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices with an approximation process, and the approximation process may include a greedy pursuit approximation process as discussed earlier.
(44) The analysis and processing of the matrices may begin after transformation of these source electronic data is completed, the matrix representation of the electronic data may then be processed with the approximation process after a decomposition process. Preferably, the step of decomposing the matrix representation into a series of matrix approximations includes a non-orthogonal decomposition of the plurality of matrices, wherein the non-orthogonal decomposition includes a joint diagonal decomposition.
(45) In this example, the Greedy Pursuit (GP) approximation process includes decomposing the r-term approximation into a series of rank-one approximations. At each iteration, the greedy algorithms perform rank-one approximation of the residual matrices obtained from the previous iteration. Then, the rank-one matrices are subtracted from the residuals and never revisited.
(46) The approximation process may also include a linear regression process, which may include the step of determining a best rank-one approximation of a plurality of residual matrices in each of a plurality of iteration steps in the approximation process.
(47) The GP approximation process for LRAMM may be performed as described in Algorithm 1. It works in an iterative fashion. Preferably, the method comprises a step of representing a solution associated with the matrix representation and the K residual matrices as (u.sub.i,v.sub.i,s.sup.i) and {R.sub.k.sup.i}.sub.k=1.sup.K at the ith iteration step. In the ith iteration step, the GP finds the rank-one approximation of {R.sub.k.sup.i1}.sub.k=1.sup.K, which may be expressed as
(48)
where s=[s.sub.1, . . . , s.sub.K].sup.T collects the K variables {s.sub.k}.sub.k=1.sup.K to be optimized. The updating equations are:
(49)
(50) When the target rank r is given or can be estimated, the process terminates when i>r. If the rank information is unavailable, the normalized reconstruction error (NRE), which is defined as the energy of the K residual matrices, is employed as the stopping criterion:
(51)
where >0 is the tolerance. The remaining problem is to efficiently solve the rank-one approximation of multiple matrices, which is presented as follows.
(52) TABLE-US-00001 Algorithm 1 GP for LRAMM Input: Matrices {A.sub.k}.sub.k=1.sup.K and target rank r. Initialization: Set residual R.sub.k.sup.0 = A.sub.k for k = 1, . . . , K. for i = 1, 2, . . . , r do Solve rank-one approximation
(53) For the purpose of simplicity, the superscript (.Math.).sup.i1 of R.sub.k.sup.i1 may be omitted and (11) may be rewritten as
(54)
The rank-one approximation of (15) is not easy to solve since the unit-norm constraints are nonconvex and the product term of the objective function s.sub.kuv.sup.T is also nonconvex. Therefore s may be emanated to obtain an optimization problem only with u and v. The kth term of (15) is computed as
(55)
where A.sub.F.sup.2=tr(A.sup.TA) and tr(AB)=tr(BA) as well as the fact uv.sup.T.sub.F.sup.2=tr (vu.sup.Tuv.sup.T)=u.sup.2v.sup.2=1 may be exploited. Apparently, {s.sub.k}.sub.k=1.sup.K are decoupled with each other and can be solved independently. For fixed u and v, the optimal s.sub.k minimizing f.sub.k, denoted by s.sub.k*, is given by
(56)
(57) Plugging (17) back into (16) yields the minimum value of the objective function
(58)
then, the following problem with s being eliminated may be obtained
(59)
where the reconstruction error .sub.k=1.sup.KR.sub.k.sub.F.sup.2 is a constant at the current iteration. It is clear that (19) amounts to
(60)
(61) For K=1, the optimal estimates of (20), u* and v*, are the left and right singular vectors associated with the largest singular value .sub.max(R.sub.1), respectively, which can be efficiently computed by the power method with a low complexity of (mn). The corresponding maximum of the objective function is .sub.max.sup.2(R.sub.1). Note that the largest singular value of a matrix is its spectral norm, i.e., .sub.max(R.sub.1)=R.sub.1.sub.2.
(62) For K>1, an alternating maximization method may be used to solve (20), where the objective function is maximized over one vector while the other vector is fixed. To be more specific, at the (j+1)th (j=0, 1, . . . ) iteration, u and v are alternately maximized:
(63)
then (21) may be rewritten as
(64)
in which an optimal solution may be the unit-norm eigenvector corresponding to the maximum eigenvalue of the positive definite matrix .sub.k=1.sup.KR.sub.kv.sup.j (R.sub.kv.sup.j).sup.T.
(65) Similarly, the solution of (22) is the unit-norm eigenvector associated with the maximum eigenvalue of .sub.k=1.sup.KR.sub.k.sup.Tu.sup.j+1 (R.sub.k.sup.Tu.sup.j+1).sup.T. Since (20) is nonconvex, the final convergence result relies on the initial values u.sup.0 and v.sup.0. Appropriate selection of the initial values is thus important. Suppose that the k.sub.mth (k.sub.m {1, . . . , K}) matrix R.sub.k.sub.
(66)
(67) By using the principal singular vectors of R.sub.k.sub.
u.sup.0=LSV.sub.max(R.sub.k.sub.
where LSV.sub.max(R.sub.k.sub.
(68)
where EV.sub.max(.Math.) represents the unit-norm eigenvector associated with the maximum eigenvalue. The procedure for solving the rank-one approximation of multiple matrices of (15) is summarized in Algorithm 2.
(69) TABLE-US-00002 Algorithm 2 Rank-One Approximation of Multiple Matrices Input: Matrices {R.sub.k}.sub.k=1.sup.K. Initialization: Determine k.sub.m by
(70) Regarding the complexity of the GP approximation process, the initialization needs to compute the largest singular values of K matrices and the principal singular vectors of one matrix, whose complexity is (mnK) if the power method is employed. The matrix-vector products R.sub.kv.sup.j and R.sub.k.sup.Tu.sup.j+1 require a cost of
(mn). The computational loads for the outer products R.sub.kv.sup.j (R.sub.kv.sup.j).sup.T and R.sub.k.sup.Tu.sup.j+1 (R.sub.k.sup.Tu.sup.j+1)).sup.T are
(m.sup.2) and
(n.sup.2), respectively. Thus, forming the matrices in (26) and (27) requires
((mn+m.sup.2)K) and
((mn+n.sup.2)K) operations, respectively. Calculation of principal eigenvectors of (26) and (27) needs
(m.sup.2) and
(n.sup.2). In summary, the per-iteration complexity of rank-one approximation of Algorithm 2 is
((max(m,n)).sup.2K) and the total complexity is
((max(m,n)).sup.2K N.sub.iter), where N.sub.iter is the number of iterations required for convergence. Typically, several tens of iterations are enough to converge with high accuracy. Also, N.sub.iter can be viewed as a constant independent of the dimension. Then, it is clear that the complexity of the GP for LRAMM of Algorithm 1 is
((max(m,n)).sup.2rK N.sub.iter). When m and n have the same order-of-magnitude, say,
(m)
(n), it follows
((max(m,n)).sup.2)
(mn), resulting in a total complexity of approximately
(mnrK N.sub.iter). This implies that the complexity of the GP algorithm is linear with respect to the number of elements in a matrix, mn, and the number of matrices, K. Hence, the GP algorithm is scalable to problem size.
(71) In an alternative embodiment, the approximation process includes an economic greedy pursuit approximation process. In this embodiment, the approximation process further includes a rank-one fitting process for obtaining the low-rank approximation of the plurality of matrices, in which the low-rank approximation of the plurality of matrices are determined to be a principal singular value of each of the plurality of matrices having a maximum spectral norm.
(72) The dominant cost of the GP method is the iterative procedure in Algorithm 2 for solving the rank-one fitting problem. To reduce the complexity, an economic version of the GP, namely, the EGP, which is listed in Algorithm 3 as shown below.
(73) TABLE-US-00003 Algorithm 3 EGP for LRAMM Input: Matrices {A.sub.k}.sub.k=1.sup.K and target rank r. Initialization: Set residual R.sub.k.sup.0 = A.sub.k for k = 1, . . . , K. for i = 1, 2, . . . , r do
(74) Preferably, it only takes the initial values of (25), i.e., the principal singular value/vectors of the matrix having the maximum spectral norm, as an approximate solution to the rank-one fitting. In doing so, the iterative procedure is not involved and the algorithm complexity is reduced to (mnr K). Note that employing the inexact solution in (25) also makes the EGP converge but its convergence rate is generally slower than that of the GP method.
(75) In another alternative embodiment, the approximation process includes an orthogonal greedy pursuit approximation process. In this embodiment, the coefficients {s.sub.k,l} of the matrix representation (u.sub.i,v.sub.i,s.sup.i) is determined using a least squares method at the ith iteration step.
(76) From Algorithm 1, it may be observed that once a rank-one solution (u.sub.i,v.sub.i,s.sup.i) is obtained, it is never revisited and hence remains unchanged all the time. The OGP method may be considered as a modification to the GP method. Analogous to the orthogonal matching pursuit for sparse recovery, the OGP still keeps (u.sub.i,v.sub.i) unchanged, however the OGP process re-computes all coefficients {s.sub.k,l} by least squares, which realizes the so-called orthogonalization among the coefficients. To be more specific, after obtaining {u.sub.l}.sub.l=1.sup.i and {v.sub.l}.sub.l=1.sup.i at the ith iteration, {s.sub.k,l} are re-computed by
(77)
which can be decomposed into the following K independent minimization problems:
(78)
for k=1, . . . , K, because {s.sub.k,l} can be separately solved with respect to k. the vector is further defined as
s.sub.k=[s.sub.k,l, . . . ,s.sub.k,i].sup.T.sup.i(30)
which should be distinguished from s.sup.i .sup.K in (4). Obviously, if r=1, the OGP is the same as the GP because both of them are just a rank-one approximation problem. Therefore, only case of r>2 is considered for the OGP.
(79) To derive the solution of (28). Recalling a.sub.k=vec(A.sub.k).sup.mn and defining b.sub.l=vec(u.sub.lv.sub.l)
.sup.mn, (29) amounts to
(80)
(81) It is worth pointing out that there is no need to construct the matrices in practice and it is only required to use the vectors for derivation. Note that the column number of B.sub.i is the iteration number i and varies during the iterative process. The solution of (31) is
s.sub.k=(B.sub.i.sup.TB.sub.i).sup.1B.sub.i.sup.Ta.sub.k.(33)
(82) However, s.sub.k is not processed by the direct use of (33) since it involves matrix multiplication and inversion, which is computationally expensive. Instead, a recursive calculation is exploited to reduce the complexity. It is clear that B.sub.i.sup.Ta.sub.k can be recursively calculated as
(83)
where c.sub.k.sup.i1=B.sub.i1.sup.Ta.sub.k .sup.1 is the result of the (i1) th iteration, and is employed in the current iteration. At the beginning, c.sub.k.sup.0= is set. Note that b.sub.i.sup.Ta.sub.k can be computed as
(84)
where vec(A),vec(B)
=
A, B
satisfies for two arbitrary matrices A and B. When c.sub.k.sup.i1 is available, the cost to obtain c.sub.k.sup.i is computing b.sub.i.sup.Ta.sub.k, which requires
(mn) operations.
(85) Next, the recursive computation of (B.sub.i.sup.TB.sub.i).sup.1 is considered. Obviously, B.sub.i.sup.TB.sub.i is the Gram matrix of the vectors {b.sub.1, . . . , b.sub.i} and it may be denoted as G.sub.i=B.sub.i.sup.TB.sub.i.sup.ii. The G.sub.i and G.sub.i1 are related via
(86)
are applied. Let
(87)
the inverse of G.sub.i may be obtained as
(88)
with the use of the block matrix inversion formula. Again, the result of the (i1) th iteration G.sub.i1.sup.1 is already available for the current iteration. The initial value is set as G.sub.0.sup.1=0 while G.sub.1.sup.1=1 at the first iteration. For i2, G.sub.i.sup.1 is recursively calculated by (40). It is only necessary to compute whose g.sub.i1, whose pth (p=1, . . . , i1) entry is
(89)
which only requires a complexity of (m+n) rather than
(mn). Then,
g.sub.i1=[(u.sub.1.sup.Tu.sub.i)(v.sub.1.sup.Tv.sub.i), . . . ,(u.sub.i1.sup.Tu.sub.i)(v.sub.i1.sup.Tv.sub.i)].sup.T.(42)
(90) Computing g.sub.i1 costs (i(m+n)), It is either lower than or similar to the computational load of b.sub.i.sup.Ta.sub.k in (35), namely,
(mn) due to i<r and rmax(m,n) in general. Similar to (13), the residual is updated as
(91)
(92) In summary, the dominant computational load for re-computation of the coefficients in the OGP is calculating {b.sub.i.sup.Ta.sub.k}.sub.k=1.sup.K, which is (mn K). The OGP for LRAMM in summarized in Algorithm 4 as follows.
(93) TABLE-US-00004 Algorithm 4 OGP for LRAMM Input: Matrices {A.sub.k}.sub.k=1.sup.K and target rank r. Initialization: Set residual R.sub.k.sup.0 = A.sub.k for k =1, . . . , K. For i = 1, use Algorithm 1 to obtain (u.sub.1, v.sub.1) and {R.sub.k.sup.1}.sub.k=1.sup.K. Set G.sub.1.sup.1 = 1 and c.sub.k.sup.1 = u.sub.i.sup.T A.sub.kv.sub.i for k = 1, . . . , K. for i = 2, 3, . . . , r do Solve rank-one approximation
(94) The inventors has compared the performances including compression ratios and computational complexities of the PCA, 2DPCA, GLRAM, GP/OGP and EGP in Table 1.
(95) TABLE-US-00005 TABLE I Compression ratio and computational complexity Method Compression ratio Complexity PCA (max(m.sup.2n.sup.2, K.sup.2)r) 2DPCA
(mn.sup.2K) GLRAM
((m + n).sup.2rKN.sub.iter) GP/OGP
((max(m, n)).sup.2rKN.sub.iter) EGP
(mnrK)
(96) Optionally or additionally, the method for processing of electronic data, such as digital image data, may further include a feature extraction process for classification of the electronic data.
(97) In addition to the direct application to data compression, the GP algorithms can also be applied to feature extraction for classification. Suppose a set of basis matrices {u.sub.iv.sub.i.sup.T}.sub.i=1.sup.r has been from the training data {A.sub.k}.sub.k=1.sup.K using the GP, EGP or OGP. In the training stage, the class label information of the training data is not used. Thus, the GP belongs to unsupervised learning.
(98) The tested matrix Z is deemed to have the similar low-rank structure as the training matrices {A.sub.k}.sub.k=1.sup.K. The original matrices are not handled any more but the following reconstructions may be used instead
(99)
where {s.sub.z,i} is the solution of min .sub.i=1.sup.rs.sub.i.sup.zu.sub.iv.sub.i.sup.TZ.sub.F.sup.2. Similar to (33), this solution is expressed as
s.sub.r=G.sub.r.sup.1B.sub.r.sup.Tz(45)
where s.sub.z=[s.sub.z,1, . . . , s.sub.z,r].sup.T collects the r coefficients, z=vec(Z), B.sub.r has the same form as (32) with i=r, and G.sub.r=B.sub.rB.sub.r.sup.T is the Gram matrix of the basis matrices. The distance between {circumflex over (Z)} and .sub.k is taken as the similarity measure after rank reduction, which is computed as
(100)
where
(101)
is the square root matrix of G.sub.r. Thus,
(102)
can be viewed as the feature vector of Z extracted by the greedy algorithm. Since s.sub.k=G.sub.r.sup.1B.sub.r.sup.Ta.sub.k for the OGP, (46) is further simplified to
{circumflex over (Z)}.sub.k.sub.F.sup.2=(d.sub.zd.sub.k).sup.TG.sub.r.sup.1(d.sub.zd.sub.k)(47)
where
d.sub.z=B.sub.r.sup.Tz=[u.sub.1.sup.TZv.sub.1, . . . ,u.sub.r.sup.TZv.sub.r].sup.T.(48)
(103) The d.sub.k has similar expression as d.sub.z. Noting that the OGP already outputs G.sub.r.sup.1, only d.sub.z and d.sub.k need to calculate. The feature vector of Z extracted by the OGP can also be expressed as
(104)
In the test stage, the nearest neighbor (NN) classifier is employed. The tested sample is assigned to the class of its closest neighbor that has the minimum distance of the reconstructed matrices {circumflex over (Z)} and .sub.k. However, it is not necessary to perform reconstruction in practice. Instead, the distance can be efficiently computed according to (46) or (47), where only r-dimensional vectors are involved.
(105) The following lemma which facilitates the convergence analysis has been proved.
(106) Lemma 1: At the ith iteration, when applying Algorithm 2 to the rank-one approximation of matrices {R.sub.k.sup.i1}.sub.k=1.sup.K, the objective function of the subproblem (20) at the solution (u.sub.i,v.sub.i) is guaranteed
(107)
where (u.sub.i,v.sub.i) denotes the solution of the rank-one approximation at the ith iteration, as well as the solution or subproblem (20) given by Algorithm 2. As Algorithm 2 adopts the manner of alternating maximization, it non-decreases the objective function and indicates that the objective function at (u.sub.i,v.sub.i) is no less than that at the initial value (u.sup.0,v.sup.0) and therefore
(108)
where the equation in the third line exploits that the initial values u.sup.0 and v.sup.0 are the principal singular vectors of R.sub.k.sub.
(109)
Also, the equation in the sixth line is based on the fact the square of the Frobenius norm of a matrix equals the sum of the squared singular values and the last inequality is due to rank(R.sub.k.sup.i1)min(m,n).
(110) The following guarantees the convergence of the GP for LRAMM and gives a lower bound on the convergence rate.
(111) The reconstruction error, i.e., the energy of the residual matrices of the GP for LRAMM in Algorithm 1 decays exponentially:
(112)
for the iteration number i=0, 1, 2, . . . , where
(113)
satisfying 0<.sub.GP<1 is a lower bound of the convergence rate. Note that in the optimization literature, exponential convergence also refers to geometric convergence or linear convergence.
(114) Starting with the residual update formula in (13), it follows that
(115)
where the equations in the second and fifth lines follow from (12), i.e., (u.sub.i,v.sub.i,s.sup.i) is the minimizer of the rank-one approximation or equivalently is the maximizer of (20) at the ith iteration. Meanwhile, the third equation is a reduced result of the second line with s being eliminated, which follows from (19). The inequality in (53) is due to Lemma 1. Successively applying the above relation, the following relation may be obtained:
(116)
where R.sub.k.sup.0=A.sub.k for k=1, . . . , K may be used. Since the decay ratio satisfies 0<.sub.GP<1, the reconstruction error strictly decreases at each iteration and the GP algorithm converges with a worst decay rate of .sub.GP.
(117) It is apparent that the reconstruction error approaches zero:
(118)
(119) due to .sub.GP (0, 1). This implies that the stopping criterion in (14) is well defined for any >0. Obviously, (55) also indicates
(120)
(121) As discussed above, the following corollary allows an infinite series expansion for an arbitrary set of matrices {A.sub.k}.sub.k=1.sup.K.
(122) For any matrix set {A.sub.k}.sub.k=1.sup.K, the GP algorithm leads to an infinite series expansion, which is shown as
(123)
where (u.sub.i,v.sub.i,s.sup.i) is the result obtained by Algorithm 1 at the ith iteration.
(124) Successive application of the residual update formula of (13) results in
(125)
(126) Exploiting
(127)
in (56) and taking limits as i.fwdarw. on both sides of (59) yields (57).
(128) Preferably, the EGP has the same convergence result. To prove the convergence of the EGP, it is necessary to replace by = in the first line of (50), while other steps remain unchanged as the GP. It should be pointed out that the GP and EGP merely have the worst-case lower bounds of the convergence rates. Their practical convergence rates are generally different. The worst case refers to that there is no improvement using the iterative procedure in Algorithm 2 compared with merely using the initial value of (25). This case happens when v.sup.u is in the intersection of the null spaces of {R.sub.k.sup.i1}.sub.kk.sub.
(129) However, if {R.sub.k.sup.i1}.sub.k have similar low-rank structure, the principal singular vector of one matrix lies in all null spaces of other matrices does not happen. That is, the iterative procedure in Algorithm 2 will improve the rank-one solution, which makes the GP generally converge faster than the EGP.
(130) It is clear that the convergence of the OGP is guaranteed since its reconstruction error decreases faster than that of the GP due to the re-minimization with respect to the weight coefficients of (28) at each iteration. This means that the convergence rate of the OGP is faster than the GP. Theorem 2 further states how much the OGP is faster than the GP, where the acceleration factor is quantitatively given.
(131) The reconstruction error of the OGP for LRAMM in Algorithm 4 decays exponentially
(132)
for the iteration number i=0, 1, 2, . . . , where a lower bound of the convergence rate
(133)
satisfies 0<.sub.OGP<1 with >1 being the acceleration factor. Also, it follows that .sub.OGP<.sub.GP due to >1 and hence the OGP converges faster than the GP.
(134) The following lemma is also proved.
(135) Lemma 2: The squared Frobenius norms of R.sub.k.sup.i and R.sub.k.sup.i1 for i=1, 2, . . . , are linked by
R.sub.k.sup.i.sub.F.sup.2=R.sub.k.sup.i1.sub.F.sup.2.sub.i(u.sub.i.sup.TR.sub.k.sup.i1v.sub.i).sup.2(62)
where .sub.1=1 and for i2
(136)
with .sub.i being the angle between vec(u.sub.iv.sub.i.sup.T) and the subspace spanned by {vec(u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i1.
(137) At the first iteration or i=1, the OGP obtains the same result as the GP. By (18), .sub.1=1 is determined. The case of i2 is then considered. Denoting r.sub.k.sup.ivec(R.sub.k.sup.i) and r.sub.k.sup.i1=vec(R.sub.k.sup.i1), R.sub.k.sup.i.sub.F.sup.2=r.sub.k.sup.i.sup.2 and R.sub.k.sup.i1.sub.F.sup.2=r.sub.k.sup.i1.sup.2 are obtained. The relation between r.sub.k.sup.i.sup.2 and r.sub.k.sup.i1.sup.2 may be further derived. Recalling r.sub.k.sup.i=B.sub.is.sup.ia.sub.k, (33) it follows that
r.sub.k.sup.i=(.sub.iI)a.sub.k=.sub.i.sup.a.sub.k(64)
where
.sub.iB.sub.i(B.sub.i.sup.TB.sub.i).sup.1B.sub.i.sup.T.sup.mnmn(65)
is the orthogonal projection matrix onto range(B.sub.i), i.e., the column space of B.sub.i, while
.sub.i.sup.=i.sub.i(66)
is the projection matrix onto the complementary subspace of range(D.sub.i), i.e., range(B.sub.i.sup.).
(138) Then,
r.sub.k.sup.i.sup.2=.sub.i.sup.a.sub.k.sup.2=a.sub.k.sup.T(.sub.i.sup.).sup.T.sub.i.sup.a.sub.ka.sub.k.sup.T.sub.i.sup.a.sub.k(67)
where the projection matrix is symmetric and idempotent, i.e., .sub.i.sup.=(.sub.i.sup.).sup.T=(.sub.i.sup.).sup.2. Similarly, r.sub.k.sup.i1.sup.2=a.sub.k.sup.T.sub.i1.sup.a.sub.k where
.sub.i1=B.sub.i1(B.sub.i1.sup.TB.sub.i1).sup.1B.sub.i1.sup.T.(68)
(139) Plugging B.sub.i=[B.sub.i1, b.sub.i] into (65) and using the block matrix inversion formula with tedious but straightforward derivations,
(140)
To prove .sub.i>1, denoting the projection onto a convex set C as .sub.c(.Math.). The non-expansiveness states that .sub.c(b)b is true for any vector b. Since range(B.sub.i1) is a subspace and also a convex set, the projections .sub.i1 and .sub.i1.sup. are non-expansive. This elicits
b.sub.i.sup.T.sub.i1.sup.b.sub.i=.sub.i1.sup.b.sub.i.sup.2b.sub.i.sup.2=1(72)
where b.sub.i.sup.2=1 is due to (38). Only when b.sub.i is orthogonal to range(B.sub.i) or b.sub.i, b.sub.l
=0 for all l=1, . . . , i1, .sub.i1b.sub.i.sup.2=b.sub.i.sup.2 happens and .sub.i=1 in this case. Since
b.sub.i,b.sub.l
=
u.sub.iv.sub.i.sup.T,u.sub.lv.sub.l.sup.T=
u.sub.i,u.sub.l
v.sub.i,v.sub.l
.sub.,(73)
b.sub.i,b.sub.l
=0 implies
u.sub.i,v.sub.l
=0 or
v.sub.i,v.sub.l
=0 for all l=1, . . . , i1. However, unlike the orthogonal requirement in the GLRAM, orthogonalization is not performed to the columns of U or V. For random matrices or matrices containing random components, the probability of
v.sub.i,v.sub.l
=0 or
v.sub.i,v.sub.l
=0 is zero. Hence, .sub.i1.sup.b.sub.i.sup.2<b.sub.i.sup.2 and .sub.i>1 are determined in general. The cosine of the angle between b.sub.i and the subspace range(B.sub.i1.sup.) is
(141)
where b.sub.i,.sub.i1.sup.h.sub.i
=b.sub.i.sup.T.sub.i1.sup.b.sub.i=.sub.i1.sup.b.sub.i.sup.2 and b.sub.i=1 are used. Hence,
(142)
where .sub.i is the angle between b.sub.i and the subspace range(B.sub.i1) and .sub.i+=/2 because range(B.sub.i1.sup.)) is the orthogonal compliment of range(B.sub.i1)
(143) It follows from (70) that
a.sub.k.sup.T.sub.i.sup.a.sub.k=a.sub.k.sup.T.sub.i1.sup.a.sub.k.sub.ia.sub.k.sup.T.sub.i1.sup.b.sub.ib.sub.i.sup.T.sub.i1.sup.a.sub.k. (76)
(144) Substituting (64) and (67) into (76) yields
r.sub.k.sup.i.sup.2=r.sub.k.sup.i 1.sup.2.sub.i(b.sub.i.sup.Tr.sub.k.sup.i1).sup.2.(77)
(145) Since
(146)
(77) in the vector form is equivalent to the matrix form of (62), which completes the proof.
(147) Summing (62) in Lemma 2 from k=1 to K and using Lemma 1 leads to
(148)
which holds true for i, i1, . . . , 2. Successively applying (79) results in
(149)
where min{.sub.2, . . . , .sub.i} and >1. For i=1, the OGP is the same as the GP and thus the reconstruction error obeys
(150)
(151) Combining (80) and (81) yields (60).
(152) From the second iteration (i2), the OGP converges faster than the GP because of .sub.OGP<.sub.GP. The acceleration ratio depends on . The larger the value of , the faster the OGP is. Furthermore, the OGP has finite convergence property, as stated in the following theorem.
(153) The current residual matrices {R.sub.k.sup.i}.sub.k=1.sup.K generated by the OGP are orthogonal to all rank-one matrices {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i that have been chosen. These selected rank-one matrices are linearly independent with each other. The reconstruction error of the OGP will be zero after at most mn iterations.
(154) Two matrices A and B are orthogonal if their inner product A, B
=0, or equivalently,
vec(A),vec(B)
=0. According to (64), it follows that
B.sub.i.sup.Tr.sub.k.sup.i=B.sub.i.sup.T.sub.i.sup.a.sub.k=0, k=1, . . . ,K(82)
where B.sub.i.sup.T.sub.i.sup.=0 is used, which is obviously true because .sub.i.sup. is the projection onto the orthogonal complement of range(B.sub.i). Then, (82) amounts to b.sub.l, r.sub.k.sup.i
=0 or
u.sub.lv.sub.l.sup.T, R.sub.k.sup.i
=0, for l=1, . . . , i. This completes the proof of {R.sub.k.sup.i}.sub.k=1.sup.K being orthogonal to {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i. To prove that {u.sub.lv.sub.l.sup.T} are linearly independent with each other, it is only necessary to show the rank-one matrix obtained in the next iteration is linearly independent of all rank-one matrices in the previous iterations. u.sub.i+1v.sub.i+1 is linearly independent of {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i by contradiction. Suppose that u.sub.i+1v.sub.i+1.sup.T is linearly dependent of {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i. Then, it can be represented by the linear combination of {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i, i.e., u.sub.i+1v.sub.i+1.sup.T=.sub.l=1.sup.i .sub.lu.sub.lv.sub.l.sup.T with .sub.l
. The inner product
(155)
implies u.sub.i+1.sup.TR.sub.k.sup.iv.sub.i+1=0 for k=1, . . . , K as well as .sub.k=1.sup.k (u.sub.i+1.sup.TR.sub.k.sup.iv.sub.i+1).sup.2=0. According to (20), the GP and OGP select (u.sub.i+1,v.sub.i+1) such that
(156)
(157) But .sub.k=1.sup.K (u.sub.i+1.sup.TR.sub.k.sup.iv.sub.i+1).sup.2=0 attains the minimum due to the assumption that u.sub.i+1v.sub.i+1.sup.T is linearly dependent of {u.sub.lv.sub.l.sup.T}.sub.l=1.sup.i. This case only happens when all residual matrices {R.sub.k.sup.i}.sub.k=1.sup.K vanish and the reconstruction error becomes zero. In this case, the algorithm has already converged and terminated. Otherwise, it contradicts.
(158) {u.sub.lv.sub.l.sup.T}, or {b.sub.l=vec(u.sub.lv.sub.l.sup.T)}.sub.l are linearly independent with each other provided that any residual matrix does not vanish. After i=mn iterations, B.sub.i contains mn linearly independent columns which span the whole space of .sup.mn. Then, the residual r.sub.k.sup.i=.sub.i.sup.a.sub.k=0 due to .sub.i.sup.=0, which also implies R.sub.k.sup.i=0 and .sub.k=1.sup.KR.sub.k.sup.i.sub.F.sup.2=0 after at most mn iterations.
(159) In many practical applications, mn is usually very large. Generally, a target rank r<<m, is enough to capture the low-rank structure and achieves a small reconstruction error.
(160) The inventors performed experiments to evaluate the performances and advantages of the method for processing electronic data in accordance with embodiments of the present invention. In the experiments, the simulation and experiments were conducted using a computer with a 2.2 GHz CPU and 4 GB memory. In addition to synthetic random data, the following three example databases, including two face datasets, and one object dataset, are used in the experiments.
(161) In a first experiment performed, the ORL face database was processed and analysed. The database consists of 10 different images for each of 40 distinct subjects, and thus there are a total of 400 images. The resolution of the gray-scale images is 11292, indicating that m=92, n=112, and K=400.
(162) In a second experiment performed, the Georgia Tech face database was processed and analysed. The database contains 750 images of 50 individuals. There are 15 images for each individual. As the original images are colored and with different sizes, the images were converted to gray-scale with the same dimensions of 111156, corresponding to m=150, n=111, and K=750.
(163) In a third experiment performed, the MNIST database of handwritten digits was processed and analysed. The database is composed of images of digits 0 to 9 written by 500 different people. There are 70000 images with dimensions of 2828 in total while a smaller subset of 2000 samples were selected, which results in m=n=28 and K=2000.
(164) In a fourth experiment, the COIL-20 database was processed and analysed. The database includes 1440 gray-scale images of 20 different objects, which corresponds to 72 images per object. The image resolution is 128128 and it follows m=n=128 and K=1440.
(165) The convergence behaviors are investigated using synthesized random data. The parameters are set as m=100, n=120, and K=15. A set of noise-free matrices of rank 10 is generated by A.sub.k=U S.sub.kV.sup.T, k=1, . . . , K, where the entries of U.sup.m10 and V
.sup.10n satisfy the standard Gaussian distribution while the diagonal entries of S.sub.k are uniformly distributed in [1,2] to avoid any diagonal entry being too close to zero.
(166) With reference to
(167) With reference to
(168) With reference to
(169) In accordance with an embodiment of the present invention, the system for processing electronic data may be used for processing digital image data. In this embodiment, the method for processing digital image data comprises the steps of: transforming the digital image data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices; and constructing at least one digital image based on the low-rank approximation of the plurality of matrices.
(170) The digital image data may represent at least two source images with noise and/or defect.
(171) In another experiment performed by the inventors, the performances of an image reconstruction process of the GP/EGP/OGP method in accordance with the present invention are compared with the PCA, 2DPCA, and GLARM methods in the presence of outliers.
(172) For fair comparison, the NREs of the six methods are computed under the same (or close) compression ratios. According to Table 1, r.sub.1, r.sub.2, r.sub.3, and r.sub.4, which denote the target ranks of PCA, 2DPCA, GLARM, and GP/EGP/OGP, respectively, should satisfy
(173)
to achieve comparable compression ratios in the six methods. Noting that r.sub.1, . . . , r.sub.4 are positive integers, (85) may not be strictly satisfied. The positive integers may be selected such that the compression ratios are as close as possible.
(174) With reference to
(175) With reference to
(176) With reference to
(177) With reference to
(178) With reference to
(179) The inventors also investigated how the reconstruction error varies with the compression ratio. With reference to
(180) With reference to
(181) These embodiments may be advantageous in that a matrix approximation method including three variants, namely, GP, EGP and OGP is provided, for learning the common low-rank structure of multiple matrices, which is an extension of the single matrix case. Unlike the existing non-diagonal decompositions, the method realizes a non-orthogonal but joint diagonal decomposition of multiple matrices, which allows a more parsimonious representation and a higher compression ratio.
(182) Advantageously, the GP works in an iterative manner. At each iteration, it finds a rank-one approximation of the residuals. For GP and OGP, an alternating optimization method is devised for the rank-one fitting problem while for the EGP, just an approximate solution is employed to reduce the complexity. To accelerate the convergence, the OGP re-computes the weights of the basis matrices, where least squares orthogonalization is recursively solved.
(183) It has been proven that the reconstruction error of each of the GP, EGP and OGP decays exponentially. The lower bound of the convergence rate or decay factor of the GP and EGP is derived. In addition, the finite convergence of the OGP is proved. In addition, it is shown that OGP converges faster than the GP. The acceleration factor of the OGP over GP/EGP is dominated by the angle between the current iterate and the subspace spanned by the previous iterates.
(184) All of the GP/EGP/OGP methods are scalable to the problem size and computationally more efficient than the celebrated PCA since the method directly deals with the 2D matrices. When compared with other 2D based approaches such as 2DPCA and GLRAM, the GP, EGP and OGP achieve a joint diagonal decomposition for multiple matrices, and hence have a higher compression ratio given the same target rank. In other words, the greedy algorithms achieve smaller reconstruction errors under the same compression ratio.
(185) Furthermore, the experimental results demonstrate the superiority of the GP methods over the PCA, 2DPCA and GLRAM, in terms of computational simplicity, convergence speed and reconstruction accuracy.
(186) It will also be appreciated that where the methods and systems of the present invention are either wholly implemented by computing system or partly implemented by computing systems then any appropriate computing system architecture may be utilised. This will include stand alone computers, network computers and dedicated hardware devices. When the terms computing system and computing device are used, these terms are intended to cover any appropriate arrangement of computer hardware capable of implementing the function described.
(187) It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.
(188) Any reference to prior art contained herein is not to be taken as an admission that the information is common general knowledge, unless otherwise indicated.