Full text



Quality control is one of the most difficult tasks in the high volume textile printing industry. The speed (ranging from 20 to 100 meters/minute) at which the web (up to a width of 3.20 meters) proceeds through the different printing stages makes extremely hard the inspection task by human operators. Moreover, human inspection of the printed fabric requires frequent worker replacement, due to the psychologically and visually demanding nature of the task. However, there is a major need for consistent quality inspection systems in the textile printing industry, due to the frequent appearance of repetitive defects in the printed web.

A reliable defect inspection system is most important in order to achieve a better quality of the product at the final stage. Among the most common types of defects that appear at the printing phase, we can mention the following ones:

− Continuous or periodic spots. The development of small adherences of threads (figure 1) or cloth shreds (figure 2), breaks or unevenness on the fibers, tint drops, etc., can give raise to repetitive stains (repetitions at a fixed length of 640 mm, the cylinder rapport length) that ruin the whole printed length during all the time they remain undetected. This kind of fault is definitely the most recurring and economically significant of all.

Figure 1: thread printing defect.

Figure 2: cloth shred printing defect

− Fails on the synchronism of the printing cylinders. When a slight phase offset appears among the cylinders (figure 3), the printed areas can overlap or get apart, giving rise to an objectionable visual appearance of the result.


J. Cano, J.C. Perez−Cortes, J.M. Valiente,

R. Paredes, J. Arlandis

Instituto Tecnológico de Informática, UPV, Camino de Vera, s/n


e−mail: jcano@iti.upv.es

Abstract − In this paper a textile inspection system for quality control of the printing process is presented. A high

resolution color image acquisition system provides the input data, consisting on images of a full color repetitive pattern printed onto the fabric. The system focuses on the detection of a variety of printing defects. A combination of a novel registration method and a classical feature−based matching method allows the defect detection. The heavy computational processes involved in the implementation of this approach are hosted on a parallel system.


Figure 3 : color displacement printing defect

− Lack of dye due to blocked pipe or empty container (figure 4). If the dye supply to a cylinder decreases, the whole or a part of the design will lack the pattern corresponding to that color. This defect appears in cases where the printing pattern includes small areas for certain colors, which can pass unnoticed, ruining hundreds of meters of fabric.

Figure 4 : dye fail printing defect.

− Defective pigment condition in one or more of the used dyes. The color achieved at the printing does not match exactly the one required by the customer order.

These four kinds of defects are responsible for nearly the whole defective textile fabric after the printing stage. The artificial vision inspection system developed is able to detect three of these four different faults. The last one is the only kind of defect which still requires human intervention, due to the nature of the problem.

Obviously, the performance of a human inspector is highly variable. Fatigue and loss of attention are serious problems difficult to solve, even with short working sessions. The artificial vision inspection system presented helps efficiently the human operator to promptly detect and locate every single defect even at a high printing speed with a minimum human effort. This way the quality of the product is kept under strict, predictable bounds.


The method presented is based on acquiring an initial supervised template image and registering each test image against the template. Then, the test and template images can be compared using a classical feature−based matching method. No restriction is placed on the complexity, number of colors or any other characteristic of the printed pattern.

The proposed approach, requires the initial acquisition of a correctly printed, visually supervised template image. The quality of these first meters must be checked by the operator to guarantee a good model construction. This initial supervision does not cause any disadvantage or added cost, since it must be carried out anyway, being a part of the relatively complex startup phase of the printing process. The only new task for the operator is in this case to push a button once the printing which is coming out from the cylinders is considered correct.

2.1 Rigid global registration

At least three complete periods of the design (plus some additional image rows) are read into memory in the template acquisition phase. Any test image will be subsequently registered against this template image using a simple global rigid registering method [1]. The global registration step is performed computing the best cross−correlation of a previously selected window of the template image against the corresponding window of the test image at a number of possible translations. Since a moderately accurate estimation of the current position of the test image respect to the template is computed by considering the information provided by an optical encoder, the global registration is highly constrained and can thus be performed very quickly. The window which will be cross−correlated can be chosen at random, but we have used a more robust alternative based on using the window with the highest variability (and the longest repetition through the rapport length). This window can be found computing an auto−correlation function of this window around its initial location, and selecting the window with the clearest peak in the origin for this function. This way, low contrast areas which would not lead to clear peaks in the cross−similarity function, are not taken into account. Moreover, this method contributes no additional cost to the test phase, since the window selection is performed only once, on the template image, before inspection starts. (see fig. 5)

2.2 Elastic local registration

Once the test image is aligned with the template image as accurately as possible, a number of differences may remain between both. Most of these differences are caused by elastic distortions of the fabric, due to the mechanical stress incurred in its high speed movement under the camera. The correction of these differences often requires a non−linear deformation of the test image. We have developed a specific procedure to perform this deformation [2].


Figure 5 : global registration. 2.3 Matching

The last important step in the inspection process is the matching of the test image against the template, to which it should be now perfectly aligned. A number of possible matching strategies have been proposed [1]. We have chosen a feature−based technique which entails extracting a feature vector from each pixel of the test image, comparing the feature vector to the one extracted beforehand for the corresponding pixel of the template image, and deciding if the difference is under an acceptable tolerance threshold or not. The comparison is performed using a distance measure which depends on the features extracted [3]. One of the feature extraction methods with the best results is simply a reduced RGB map of the image around this pixel. Actually, only the RGB color information of some strategic pixels at the surroundings are stored at the feature vector. Figure 6 shows the composition of a feature vector for one pixel of the image.

The distance measure used for the comparison between the feature vectors is the well−known Minkowsky L1 (manhattan or city−block) distance measure. The meaning of the distance values obtained at the comparison of the

corresponding template and test feature vectors of a pixel it is simply a measure of the color difference, between the template and the test, appreciated by an ideal human eye at a specific spot of the image.


The inspection system consists of two distinct parts: the mechanical and hardware structure, responsible for the correct data acquisition, and the application software that runs on it. The inspection system makes possible the automatic search and visualization of all the defects previously described, which arise at the printing of the textile fabric.

3.1 Image acquisition

For the image acquisition, four DALSA CL−G1 2096− pixel color line−scan cameras have been used to obtain the desired resolution (four RGB images of 2000x1000 pixels approximately to scan a full rapport of the printed fabric; this makes a data size of 24.000.000 bytes per rapport, which can be considered the unit in this application). The cameras are connected to four iMAGING ICPCI−AMDIG framegrabbers plugged into four nodes of a computation cluster. As the fabric sheet is carried along under the cameras at high speed, a RIGID GLOBAL REGISTRATION

Best registration window

Higher value of the auto−correlation function than

Computing of the cross− correlation function at a number of possible translations





. Approximation given by the optical encoder


linear fluorescent light system improves and stabilizes the scene illumination. Each line captured by the camera is transferred via a RS−422 connection to the framegrabber, where the lines are stored to finally compose a frame [4]. The images generated at the acquiring host node are sent to the other nodes through an internal communications network.

Figure 6: example of a feature vector 3.2 Cluster description

The inspection system design also includes a computation hardware which gives support to all the processing required by the application (see figure 7). The cluster [5] implemented for this part of the inspection system is composed of 13 nodes in a 100 Mbps Ethernet dedicated local area network.

The cluster is physically mounted in a rack, installed next to the printing machine.

Computing nodes

Eight nodes of the cluster have dual pentium mainboards, with a symmetric multiprocessor internal arquitecture. Thus, each of these nodes is able to host the execution of two child processes of the inspection application. These nodes carry out the heaviest computational task involved. In fact, there are four virtual nodes (two real nodes running two processes per node) exclusively dedicated to process the data produced by each camera. All this

computing support is completely necessary to provide a useful response time, which must be as short as possible, taking into account the demanding nature of the task performed by the inspection system.

Acquisition nodes

In addition to the previous ones, there are 4 nodes of a different kind: these are the hosts of the framegrabbers that perform the function of acquiring the image data, and at the same time carry out some of the preprocessing of the images acquired. In this way, the computational load among all the machines in the inspection system is balanced.

Root node

There is still another last node that carries out other functions. It is responsible of postprocessing the results obtained by all the previous nodes, which helps to decide the correct information that should be supplied to the human operator. This information is transformed into a representation of the region of the image where a defect is detected, and a visual help to locate this region over all the textile fabric being inspected. It also commands a laser pointer through one of its serial ports. And it provides the user−friendly interface to interact with the user. This interface consists of a 21" monitor to visualize information and a digitizing tablet to control the inspection system.

3.3 Data flow

Thus, the steps followed by the program when a new test image is captured are the following:

1 − The acquiring node computes the global registration of the test image against the template image.

2 − The same node performs a partitioning of the test image and delivers each part, through the local network, to the corresponding processing node.

3 − Each of the processing nodes tries to find any differences between the points of the test and the template images and reports them to the corresponding acquiring node with one or more sets of connected points which mark defects on the printing.

4− The acquiring node preprocesses all these sets of points, filtering the defects that doesn’t meet a size criteria. Afterwards, the list of the filtered defects are sent again to the root node.

5 − The root node receives a defect list from each of the acquiring nodes and only shows the user with the most important of them.

3.4 Software support and application program

The software installed at all the nodes runs under the Linux operating system. By default, Linux provides a vast variety of libraries ready to be used, among them several parallel programming environments like PVM

X1 X X X X X X X X X X X X X X X X X X X X X X




= {

R(x1), G(x2), . . . , B(x25)



R(p), G(p) and B(p) are the red, green and blue components of pixel p

Train feature vector for pixel (i,j)



(Parallel Virtual Machine) and MPI (Message Passing Interface). We chose the last one since it is recent and well supported. Using MPI [6], a complex hardware setting, where two different kinds of communications are implemented (those involving the ethernet, and those related with SMP) is seen by the software like a collection of virtual nodes easier to manage. Moreover, the developed source code is independent of the platform, thus it is easily portable to a different communications topology.

The whole application software has been written in C. As commented before, the application code executes one of three possible threads, depending on the node at which it is running:

− There is one special thread which is only executed at node A in figure 7, providing the interface to the user, commanding the laser pointer and managing some specific circuitry related to the camera trigger frequency.

− There is other thread partially dedicated to the image acquisition and also cooperating in the preprocessing of the images. One of the preprocessing tasks involves the partitioning and delivering of the input data to a set of nodes. This thread it is executed at nodes B1 to B4.

− There is still a third thread exclusively dedicated to process the data received from the acquisition nodes. This thread is executed at nodes C1 to C16.

A schematic representation of this hierarchical cluster organization it is shown in fig. 7.

Figure 7: implementation hierarchy. 3.5 Inspection system performance

The overall performance of the system is defined by two main factors: speed and accuracy. This means that the

inspection system should warn of any defect as promptly as possible.

The system has been preliminary tested for a period of 10 days, in which 58.855 meters of printed fabric were inspected. Over all this testing period, the inspection system showed 2.284 warnings of printing defects. After an exhaustive verification of every warning, the following results were obtained:

− 26% of the warnings were due to true printing defects. − 9% were also correct warnings, but they were caused by factors not related with the printing phase.

− 65% were false warnings.

The testing period was considered initially satisfactory, as nearly all the interesting printing defects were detected.

Also, other defects frequently related to imperfections in the textile fabric, as holes, wrinkles and sewed areas have been detected, and are included into de 9% of the correct warnings.

Nevertheless, the inspection system still needs some improvement in order to reduce the percentage of false warnings produced. This is a complex task because the difference between what is considered a true printing defect and an admissible imperfection of the printing can be very subtle. Moreover, this difference also depends on the specific printing pattern and color combination of a printing design. So it is very difficult to find a classification method which reduces the

misclassification percentage and at the same time keeps the present accuracy.

At this point, the main drawback of the inspection system is the long period of time needed to set up the inspection process (between 45 and 60 seconds, or 50 to 100 meters). IN T E R FAC E N O D E A C QU ISIT IO N N O D E S C O M PU T IN G N O D E S C A M E RA L A SE R PO IN T E R M O N IT O R D IG IT IZ IN G T A B L E T C A M E RA T R IG G E R C IR CU IT R Y S E A R C H R E S U L T S P A R T IT IO N E D IM A G E IM A G E S A N D F U S IO N E D R E S U L T S













1 6 C A M E RA C A M E RA C A M E RA


Once this initialization phase is over, the system offers an average rate of an inspection every 6 meters, which has been considered a barely performance for this application.


A computer vision inspection system for quality control of the printing process has beenpresented. It is designed around a cluster of networked computing nodes. The input data is obtained by means of an image acquisition system based on high resolution color line−scan cameras, while the processing results are translated into a graphical presentation and a laser pointer. The cluster is organized in a three level hierarchy, where the leaf nodes support the heaviest computational task, whereas the root node performs a set of different functions directly related to the user presentation with the processing results. The intermediate nodes provide the system with the input data, consisting on digital images of the scanned printing. In addition to that, they also perform a preprocessing of the images and a postprocessing of the data resulting from the inspection phase .

The preliminary results show an acceptable rate of false positives for a high accuracy setting of the system. The long processing time makes the inspection system specially useful for long printing series, helping the human inspector to avoid significant lengths of printed fabric ruined by undetected repetitive printing defects.


[1] Brown, L.G. "A Survey of Image Registration Techniques" ACM Computing Surveys, 1992, Vol. 24 No. 4. pp. 325−376.

[2] Pérez, J.C. "An Elastic Registration Method for Quality Control of Textile Printing", Proceedings of the VIII Spanish Symposium on Pattern Recognition and Image Analysis, M.I. Torres & A. Sanfeliu (eds.). Ediciones GNB, Bilbo, 2000, pp. 379−386.

[3] Arlandis, J. "The Continuos Distance Transformation: A Generalization of the Distance Transformation for Continuos−Valued Images", Proceedings of the VIII Spanish Symposium on Pattern Recognition and Image Analysis, M.I. Torres & A. Sanfeliu (eds.). Ediciones GNB, Bilbo, 2000, pp. 697−706.

[4] Burke, M. W. "Image Acquisition. Machine Vision Engineering" Chapman & Hall, 1996.

[5] Dietz, H. "Linux Parallel Processing", SMP Linux systems and clusters of networked Linux systems , Linux Documentation, 1998.

[6] Gropp W., "Using MPI: Portable Parallel Programming with the Message−Passing Interface", Cambridge, MA, MIT press, 1994.

[7] Message Passing Interface Forum, "MPI: A Message−Passing Interface Standard", International Journal of Supercomputer Applications, 1994, vol 8, nos 3 / 4.





Related subjects :