8/9/2019 Localization of Designed Texture on Glass Bottles
1/51
Localization of Designed Texture on Glass Bottles Page 1
Technical report, IDE1032, June 2010
Localization of designed texture
On glass bottles
Master Thesis in Intelligent Systems
Abhishek Sharma Pallav Nandi Chaudhari
850326-1250 850908-T314
School of Information Science, Computer and Electrical Engineering
Halmstad University
8/9/2019 Localization of Designed Texture on Glass Bottles
2/51
Localization of Designed Texture on Glass Bottles
8/9/2019 Localization of Designed Texture on Glass Bottles
3/51
Localization of Designed Texture on Glass Bottles
Preface
This treatise is a masters thesis for the Master of Science program in intelligent systems at
the Halmstad University, Sweden in the IDE department. This thesis deals with the
localization of designed texture on glass bottles at the hot end. This is a research issue from
the company Gedevelop located at Helsingborg, Sweden. The work is carried out with the
guidance of Mr. Kenneth Nilsson. The data for the experiments are provided by Gedevelop.
This project is implemented in the Matlab programming language on a personal computer
system and experimental results on the proposed method are presented.
8/9/2019 Localization of Designed Texture on Glass Bottles
4/51
Localization of Designed Texture on Glass Bottles
8/9/2019 Localization of Designed Texture on Glass Bottles
5/51
Localization of Designed Texture on Glass Bottles
Abstract
Hot end inspection of glass bottles necessitates the localization of designed textures
on that bottle. In this paper we proposed a method to localize designed textures on a test
bottle by matching its image to a certain number of reference images and then mapping the
texture to the test bottle. The intended purpose of this algorithm is to localize the designed
texture on the bottle so that the designed texture areas and other areas on the image of the
bottle can be distinguished. The localization is done by finding the amount of rotation
caused due to the motion of the conveyor belt. The average orientation angle feature is
used in the matching. Reference databases are created which contain necessary information
regarding the different textured regions. A selected portion of the image is used to match
the bottle at the hot end with the same area of the reference bottles. The design texture is
marked, according to the appropriate match. All the methods involved experiments and
results and conclusions based upon them are presented subsequently.
8/9/2019 Localization of Designed Texture on Glass Bottles
6/51
Localization of Designed Texture on Glass Bottles
8/9/2019 Localization of Designed Texture on Glass Bottles
7/51
Localization of Designed Texture on Glass Bottles
Contents
1 Introduction 1
2. Background.... 4
2.1 Real world scenario and their impact.. 5
2.2 Texture recognition and localization..7
2.2.1 Direct template matching7
2.2.2 Feature based matching7
2.3 Propose methods.. 8
2.3.1 Reference model 8
2.3.2 Computations on test image.9
2.3.3 Limitations. .10
2.3.3 Hot spot marking.11
3. Method12
3.1 Feature Extraction12
3.1.1Dominant local direction...13
8/9/2019 Localization of Designed Texture on Glass Bottles
8/51
Localization of Designed Texture on Glass Bottles
3.2 Skew detection and correction and target area
extraction. 15
3.2.1 Skew detection. 15
3.2.2 Target area extraction..16
3.3 Similarity Measure..22
3.4 Hot spot marking.23
4. Experiments and results..24
4.1 Software environment..24
4.2 Data24
4.3Feature Extraction28
4.4 Registration.31
4.5 Matching32
4.6 Hot Spot Marking.36
5. Conclusions..38
References.40
8/9/2019 Localization of Designed Texture on Glass Bottles
9/51
Localization of Designed Texture on Glass Bottles
8/9/2019 Localization of Designed Texture on Glass Bottles
10/51
Localization of Designed Texture on Glass Bottles
1
1 IntroductionFault detection is an essential part of the glass manufacturing process. Different types of
faults occur in glass containers during the manufacturing process [9]. The glass containers
are always inspected by automatic systems. Sometimes human inspection is also done [14].
Most of the inspection is done at the cold end of the manufacturing process. Cold end is a
relatively time consuming process and fault detection is an independent part of this phase.
The company Gedevelop[11] is looking for some method which can detect faults at the hot
end phase, because hot end inspection may give some advantages over regular cold end
inspection as an early warning of problems. Gedevelop is a system development company
which develops and maintains systems for glass manufacturing plants. They have their
camera system which can take pictures of bottles at the hot end and they are interested in
finding manufacturing defects. For detection of faults by the analysis of images, it is
necessary that the system must be able to differentiate between designed texture and
textures made out of defects. One precise way of doing this is by localizing the designed
texture on the glass containers. Once it islocalized, it will be easier to find the areas on the
bottle where inspection should be made for defects.
Hot end phase puts several constraints on the task of fault detection. The environment at
the hot end is not a very friendly environment in which to perform an experiment.
Traditional fault detection equipments cannot work there; no kind of handling of the bottles
is possible. One possible way of inspection is vision based systems. There are also some
limitations imposed by the situation. Multiple numbers of cameras cannot be used. The glass
containers come very fast on the conveyor belt from the molding machine and there is very
8/9/2019 Localization of Designed Texture on Glass Bottles
11/51
Localization of Designed Texture on Glass Bottles
2
limited gap available between two bottles on the conveyor belt. Space is very limited for
fitting multiple numbers of cameras so, normally, only one camera can look at a bottle at a
certain time.
In vision based systems, one of the possible ways to detect different kinds of faults
e.g. cracks, foreign inclusions, etc, can be inspected by texture analysis. In that case, there
must be a classification methodwhich can identify the designed texture on the bottles, so
that the designed texture and textures made out of faults can be differentiated.
In the identification of designed texture on glass bottles at the hot end, there are
certain factors which, to a certain extent, provide the opportunity for it to be modeled in an
easier way, because of its conceptual relevance to some very efficient texture recognition
algorithms, such asoptical character recognition [2, 12]. On the other hand, the real world
situation makes it difficult by imposing some constraints upon the image capturing task.
Practically, when the bottle comes onto the conveyor belt from the forming machine, the
camera can look only at one side of the bottle, which implies that the whole texture area on
the bottle will not be visible to the camera. Due to the high speed of the belt, the bottle may
be rotated to a certain degree. Because of this rotation, the same texture area will not
always be captured by the camera.Keeping in mind all these points, here, we propose a
method to localize the designed texture by finding the rotation angle of the bottle by
matching it to certain number of references and then mapping thetexture to the test bottle.
The method is passive in nature, because it does not directly extract the designedtexture.
In our proposed method, the image pixels are represented by their average directions
extracted from linear symmetric features [4] in a local neighborhood. Rather than using
Matching procedure to find the texture directly, we used matching to find the amount of
rotation. After finding the amount of rotation with respect to a reference image, the
designed texture is marked according to the matching reference.
8/9/2019 Localization of Designed Texture on Glass Bottles
12/51
Localization of Designed Texture on Glass Bottles
3
This treatise is composed as follows:
In chapter 2, the background, an overview of the real world situation in the present
context and motivation for the proposed procedures, is explained. In chapter 3, the
methods involved are discussed in detail, whereas in chapter 4 and chapter 5, the
experiments and their results, and their future scopes, are described.
8/9/2019 Localization of Designed Texture on Glass Bottles
13/51
Localization of Designed Texture on Glass Bottles
4
2 BackgroundTexture recognition is an image processing technique which has a wide variety of
applications in different scientific research areas e .g. optical character recognition[2], face
recognition[15] fingerprint recognition[1][8], biometrical identification of laboratory
animals[13], medical image analysis[6], robot navigation [16]etc. For human eyes it is
possible to distinguish between different textures easily with natural visual capabilities.
Developing such a machine which will have such a competent visual system is difficult.
Usually, geometrical or mathematical representation of arbitrary uneven shapes is difficult
to implement. So, in algorithm design, uneven shapes are always approximated to their
closer geometrical shapes which are mathematically well defined. In certain situations, this
approach is not good enough, e.g. biometric person authentication. In simple terms, it can
be said that there cannot be any universal generalization to categorize textures. Different
researchers have come up with different commendable ideas which fit in to their relevant
application areas. The development of a texture recognition algorithm is mostly dependent
on the application scenario.
The problem of localization of designed texture on glass bottles at the hot end by image
processing has certain number of important facts associated with it which arise out of the
real world situation where the image has been taken.
The inspection of glass containers at the hot end of the manufacturing process is a common
intention of the glass industries all over the world nowadays. Research is being conducted
on this problem using different technologies. However, still today the research on this field
is not in the public domain, as they are bound inside the different companies [10] which are
working on this. So it is difficult to get ideas about the relevant ongoing work in this
8/9/2019 Localization of Designed Texture on Glass Bottles
14/51
Localization of Designed Texture on Glass Bottles
5
particular field. E.g. one of the renowned companies of Europe1, worked on this problem
and they put some information about this in their website. In short, they just disclosed that
they are using the heat radiation property of hot bottles and capturing images of hot bottles
using infrared camera. Information about further processing of these images is not
mentioned in detail.
2.1 Real world scenario and their impact
The hot bottles from the molding machine are put onto a conveyor belt and
transported, one after another, at a certain speed. The camera is placed at a certain
position, oriented orthogonal to the direction of motion of the conveyor belt, such that it can
take pictures when the bottles are passing by it. According to Gedevelop, the bottle can be
rotated around the vertical line passing through its physical center of gravity up to +/-15
degree due to the speed. This will be clearer from figure 2.1, which represents the top view
of a bottle on the conveyor belt. Here, the conveyor belt is moving along XX and the
camera is looking by YY direction. The maximum range of angle is +/-15 degrees. For the
same speed factor, it can be inclined at a certain angle to right or left. It is also not always
necessary that the optical axis of the camera will pass through the center of the bottle.
These facts have a deep impact on the opted strategy of localization in the present scenario.
1 The name cannot be disclosed.
8/9/2019 Localization of Designed Texture on Glass Bottles
15/51
Localization of Designed Texture on Glass Bottles
6
Figure 2.1 The top view of a bottle on the conveyor belt showing the
rotation in interval +/-, where =15 degrees
Because of the rotation, the pictures taken by the camera will not always contain the
same textured region. This indicates that, although textures can be extracted directly in
different ways, their localization will not be easier. This is because of the change of the
image due to rotation. If, for every bottle passing in front of the camera, the same picture is
taken, then the pixel coordinates of the designed texture can be easily defined. As the bottle
is rotating, the same designed texture has changed pixel locations on different images. The
localization of designed texture is difficult in a direct way, because the designed texture and
texture from faults must be differentiated. So the problem is twofold. In the first place, the
texture has to be extracted. Secondly, the designed texture has to be located according to
the change due to rotation. This can be done by finding the rotation angle of the bottle on
the conveyor belt. The rotation angle can be found by matching the image of the test bottle
on the conveyor belt with some reference images of the bottle rotated at different angles.
8/9/2019 Localization of Designed Texture on Glass Bottles
16/51
Localization of Designed Texture on Glass Bottles
7
2.2 Texture recognition and localizationIn texture recognition and localization, the methods can be divided into two
categories in general. One is direct template matching and another is feature based
matching. The main difference between the two is that, while the former uses pixel values of
the images (e.g. for gray images gray values are used) directly, the latter uses different
useful features (e.g. linear symmetry feature) for texture description and matching.
2.2.1 Direct template matchingIn simple applications, template matching is useful because it is easy to
implement and less complicated from a mathematical point of view. However, in complex
situations it is not so useful. In the present case, the designed texture occupies little area
compared to the whole image. As a result, if the matching is done using the whole images,
there will be aberrant results as non textured regions will dominate the calculations. It is
thus necessary to match only those parts of the image which contain the same designed
texture. Extraction of such an image area can be done in a robust way from feature images
than grey images. Using gray scale values as feature is more sensitive to noise, as gray
scale values change with illumination.
2.2.2 Feature based matchingFeature based matching is nowadays applied in wide variety of online and offline
applications. E.g. many optical character recognition algorithms use linear symmetry
features to localize a certain characters in a text [2]. In fingerprint analysis, the test finger
print is matched with the reference finger prints using different features. The two finger
prints are aligned using core and delta points [1], and then matched using the extracted
feature.
8/9/2019 Localization of Designed Texture on Glass Bottles
17/51
Localization of Designed Texture on Glass Bottles
8
2.3 Proposed methods
The matching in the methods mentioned in section 2.2 is done using Schwartz Inequality
[5]. If we try to find and localize the different designed textures on the test bottle directly
by matching the designed textures on the reference images with the test bottle, the
amount of computation will be high, as each and every design texture of each reference
image has to be matched with a single test bottle. We propose a step-by-step method,
which is relatively fast, because a limited number of reference templates are necessary.
Our proposed method is passive in nature.
As it was indicated by the Gedevelop that the rotation is a constraint which imposes a
number of limitations to the task of direct investigation of designed textures, it is important
to find the nature of the image at different degree rotations. This can be done by taking
reference images of the bottle at different angles. These reference images will give
information about the shifts in texture positions due to rotation. The relative position of
designed textures in the image at a certain rotation angle can also be found. If the test
bottle on the conveyor belt is matched with the reference images, then an approximation
about the rotation of the test bottle with respect to the direction of motion of the conveyor
belt and location of the designed texture corresponding to that rotation angle can be found.
In this way, the designed texture can be localized indirectly.
The steps involve some of the well known methods e.g. linear symmetry calculation,
cross correlation etc. in such a way that the design texture can be localized successfully.
The steps show our intention of how we look at the problem and its solution.
8/9/2019 Localization of Designed Texture on Glass Bottles
18/51
Localization of Designed Texture on Glass Bottles
9
2.3.1 Reference model
As indicated by the Gedevelop, there can be +/-15 degree rotation of the bottles on the
conveyor belt; the first step is to create reference models by taking pictures of the bottles
at different rotation angles. The reference model creation will involve the following sub
steps:
(a) Calculate the linear symmetry feature for each image as described in [4] and [5].The linear symmetry feature is defined by second order complex moments, I20 and I11.
(b) Correct the inclination by detecting the skew angle based on the second ordercomplex moment component I20.
(c)Find the vertical boundaries of the bottle by using the second order complex moment I 11[2]and clip the image according to that contours.
(d) Using a mathematical formula, clip out the target area from the image obtained bystep(c). The region should be such that the pixels associated with textures are denser
compared to other parts. Extract the average orientation for each pixel value of this
clipped region, i.e. the angle of the I20 feature.
(e) Tabulate the result of step (d).
(f) The pixel coordinates for the designed texture are assumed to be known for each
reference image.
Steps a, b, c, d and e have to be performed for each image taken for reference creation.
2.3.2 Computations on test image
Test image is the image of the bottle on the conveyor belt, on which the designed
texture has to be located. The necessary computations on the test image can be listed as:
8/9/2019 Localization of Designed Texture on Glass Bottles
19/51
Localization of Designed Texture on Glass Bottles
10
1) Perform steps a,b,c and d of 2.3.1 on the test image.2) The extracted average directions of each pixel of the region obtained by step 2.3.1d
have to be matched with each reference image. The maximum value of the match will
indicate the approximate rotation angle of the test bottle. This is a passive way of
calculating the amount of rotation.
3) Select the reference bottle with which the maximum value out of matching has beenfound.
2.3.3 Limitations
For the full investigation of the problem, it is necessary to have reference images of a
particular type of bottle rotated at different degrees in the interval [-15degree,15
degree].Due to limited data provided by Gedevelop, we have had certain restrictions in our
experiments which cut our journey short towards the full investigation of the problem. E.g.
we do not know the actual rotation angle of the bottles of the images, so we have
approximated it by visualizing. We categorized the images into three classes. In class 1, the
images which are close enough in rotation are assumed to be in 0-5 degrees rotation range;
in class 2, the images which seemed to be not so close are assumed to be in 6-15 degrees
rotation range and, in class 3, the images which are far in rotation are assumed to have
more than 15 degrees rotational difference. Our work was to investigate the correctness of
the matching procedure, i.e. to get a high matching score for the images which are close in
rotation angle and low matching scores for high difference in rotation angle. No study of the
uncertainty in the localization of the design texture could be performed. For real time
implementations, those are necessary points.
8/9/2019 Localization of Designed Texture on Glass Bottles
20/51
Localization of Designed Texture on Glass Bottles
11
2.3.4 Hot spot marking
Hot spot marking is usually done in geographical maps to show the location of a
certain place on the map by putting a mark on that location. We took the same approach to
locate the design texture on the test image.
Knowing the rotation angle, i.e. the appropriate reference bottle, the pixel coordinates
belonging to the designed texture can be marked on the test bottle.
.
8/9/2019 Localization of Designed Texture on Glass Bottles
21/51
Localization of Designed Texture on Glass Bottles
12
3 Methods
3.1 Feature Extraction
The average directions from each local image have to be extracted. The average direction is
calculated from the linear symmetry features of the image. The linear symmetry feature is
nowadays the back bone of various texture recognition algorithms and biometrical analysis.
It has first been intensively investigated by J. Bigun and G.H.Granlund in 1987[4]. In an
image, usually the gray values do not change at a particular direction; rather, the change is
random. Near the edges and textures, the gray values are constant along a line. This
fundamental fact gives rise to linear symmetry approach where, in a local neighborhood, the
ideal local orientation tensor or linear symmetry tensor is calculated. The linear symmetry
calculation is a feature extraction method which extracts and represents the image using
the linear symmetry features.
The orientation tensor or linear symmetry tensor is the representation of the local
orientation of an image in a neighborhood. The details about this can be found in [4][5].
This orientation tensor is represented in complex form for the ease of calculations. Linear
symmetry needs the doubling of the angle of orientation. The reason lies in the difference
between the direction of a line and orientation. There is a subtle difference between the
two. The direction of a line spans over the 0 to 2 angle range. When we talk about
orientation, the orientation is described in the direction orthogonal to a line along which
gray values do not change. This means there could be situations where orientation vectors
will be bilaterally symmetrical around that line. So the doubling of the orientation angle is
necessary.
8/9/2019 Localization of Designed Texture on Glass Bottles
22/51
Localization of Designed Texture on Glass Bottles
13
3.1.1 Dominant Local Directions
In mathematics, moment is a description of the structure formed by a set of points.
In image processing and computer vision field, the moment almost does the same thing. It
is a weighted average of the image pixel intensities. Image moments are extensively used
to deduce certain properties e.g. centroid, orientation etc. The complex moments are
sometimes preferable compared to real moments [5], because of the ease provided by
complex representations in algebraic calculations. More about the use of complex moments
can be found in [7]. Similar to real moments, complex moments are weighted averages of
pixel values represented in complex form in a neighborhood. The complex moments of a
function, z(x,y), is calculated as follows
= + . (, ) (3.1)
The order of the complex moment is (p+q)[5].
The second order complex moments 20and 11, which can be used to estimate the linearsymmetry features of an image in a local neighborhood are defined in the frequency
domain as
20 = + 2 . | ,|2 (3.2)
11 = + . | ,|2 (3.3)
In the spatial domain they can be computed as
20 = , (,) (3.4)
11 = |, | (,) (3.5)
8/9/2019 Localization of Designed Texture on Glass Bottles
23/51
8/9/2019 Localization of Designed Texture on Glass Bottles
24/51
Localization of Designed Texture on Glass Bottles
15
that the ratio can never be 1. The value will be near to 1. So, one threshold value for this
ratio have to be selected, which will indicate approximate linear symmetry. Only those pixel
positions will be taken for granted where this ratio will be higher than this threshold value.
As cited in [5], the dominant orientation in a local neighborhood can be extracted from I20
as
= 12argument20 (3.7)
The factor1
2in equation (3.7) is due to the double angle representation.
3.2 Skew Detection and Correction and TargetArea Extraction
As indicated in section 2.3, it is important to correct the skew, find the left and right
most vertical contours of the bottle in the image and find some significant texture area. By
doing these steps, the inclination will be corrected, the contours of the bottles will be
aligned and lastly the computational cost of finding the amount of rotation will be small as
we will use only the selected texture portion of the bottle for matching purposes.
3.2.1 Skew detection and Correction
Skew detection and correction is a mandatory part in optical character recognition.
Although our present task is in a totally different environment than OCR, skew detection is
still necessary. Inthe real life scenario, the test bottle may be skewed a little because, after
forming, the hot bottles are put onto very fast conveyor belt and the conveyor belt itself is
moving very fast. So, it may be skewed a little at the time when camera is taking its
8/9/2019 Localization of Designed Texture on Glass Bottles
25/51
Localization of Designed Texture on Glass Bottles
16
picture. For skew detection, we use the method cited by Lalith Premaratne, Yaregal
Assabie and Josef Bigun as described in[2].
As cited in [2], the directional features of the image can be used to detect the skew in the
image. The second order complex moment component, I20 as described in section 3.1.2,
which represents the information about orientation angle in a small neighborhood, is used to
detect the skew angle of the image. The summation of I20 values over the entire image
gives an almost approximate value of the skew angle. The accuracy is improved by
removing the contribution from the background, considering those values of I20, which have
high confidence according to [5].
3.2.2 Target area extraction
Vertical boundary
Once we have corrected the skew, next the vertical boundary detection is done. Here
vertical boundary refers to the left and right most vertical contours of the bottle in the
image. The second order complex moment component I11, which represents the sum of themagnitude of the orientation vectors in a local neighborhood, is used to do this task. This is
done by adding the I11 values of all the columns of the skew corrected image. The
motivation behind using I11 values is that the I11 values are high at the edges and very low
elsewhere. The longest vertical edges are the vertical boundaries of the bottles. So, by
column wise adding of I11 values, we will get high values at the vertical boundaries of the
bottle.
8/9/2019 Localization of Designed Texture on Glass Bottles
26/51
Localization of Designed Texture on Glass Bottles
17
Figure 3.2 The boundaries of the bottle encircled with green ellipses are to
be found
Suppose, Abe an image of size m x n, then its I11 matrix will also be of size m x n.
Column wise addition of I11 matrix will produce an array of length n where each element will
be the sum of all the row values of that corresponding column, from where we can deduce
the approximate column indices of the major vertical borders. Mathematically, it will look
like
= , = 1,2 . . ,=1 (3.8)
From() of equation (3.8), column indices of left and right boundary can be extracted as-
= max=12 (3.9)
= max =2+1 (3.10)
8/9/2019 Localization of Designed Texture on Glass Bottles
27/51
Localization of Designed Texture on Glass Bottles
18
Figure 3.3 The two high peaks rounded with red ellipses are indicating
the vertical contours of the bottle.
When equation (3.8) is applied to I11 matrix of figure 3.2, the resultant|=1 looks like figure 3.3. The two desired boundaries as indicated in figure 3.3 by red ellipses
can now be extracted by equation (3.9) and equation (3.10). The equations (3.9) and
(3.10) will give the column indices of left and right boundary respectively. When the column
indices of the desired boundaries are found, an image portion can be extracted, where the
left and right boundaries will be the marked boundaries of the figure 3.3. Such an extracted
image is shown in figure 3.4
8/9/2019 Localization of Designed Texture on Glass Bottles
28/51
8/9/2019 Localization of Designed Texture on Glass Bottles
29/51
Localization of Designed Texture on Glass Bottles
20
textured area which is denser compared to other portions of the image and is changing with
rotation. This kind of texture can be selected by looking at the image of a bottle.
To clip out some significant texture area from the image, a method is developed being
motivated from some obstacle avoidance algorithms, which deal with mobile robot
navigation, namely the certainty grid representation for obstacle representation,the VFF
conceptand vector field histogram methods. A brief introduction to these methods is given
in [3]. In these methods, a robots working area is divided into a certain number of grids
and it is assumed that each of the grids exerts some kind of force on the robot. The total
force is the summation of the individual forces applied by each grid. So, logically, it can be
said that each grid is given some weight, depending upon certain conditions, and the result
is an average of the individual grid components. This resultant element gives the obstacle
density at a certain point where the robot was located at that particular time.
We propose a similar concept with an exception that, rather than weight we
concentrate on each pixel value as mass. Our reason for looking into it as a mass is that a
design texture can be anywhere on the bottle, so it is not possible to weight one pixel value
higher or lower than the other. Rather, we should have a method that can weight each pixel
position equally and, at the same time, can extract the design texture area.
The first step is to convert the cropped I11 image, obtained by equation (3.9) and (3.10)
to a binary image. The I11 image highlights the edges of the image, but it does not give
equal value to each edge pixel. So to obtain equal pixels value at the edges and equal pixel
values elsewhere, the I11 image is converted to binary image. This is done by
experimentally setting a threshold value in the I11 images. All the pixel values higher than
this threshold are given value 1 and other pixel values are set to the value 0 . Fig-3.5 is
obtained by converting an I11 image into a binary image.
8/9/2019 Localization of Designed Texture on Glass Bottles
30/51
Localization of Designed Texture on Glass Bottles
21
The next step is to define an filter of size wh x wv, where each value will be of equal
weight. However, the question is what should be the size of the window? The width of the
window is equal to the number of columns in the vertically limited image matrix, i.e the
width of the bottle. The height of the window should be determined carefully by looking at
the image. This should be large enough, so that it covers the desired texture area but, on
the other hand, it should not be so large that it can fit some unnecessary pixel positions in it
while it is covering the desired texture area. E.g. if we look at figure 3.5, it can be noticed
that the dense texture is made in the middle of the image, where some text is inscribed on
it. In the image, this region will change with rotation. Other portions of the image do not
produce any visual effect due to change of rotation angle. So, this portion can only be used
to identify the rotation angle. The height of the window should be such that it covers the
entire texture.
If we convolve this filter with the binary image, it will give maximum value when it
includes the targeted textured area. Near the textured region, the white pixels are denser
than other locations. Simply at that region the pixel density will be the maximum. If
necessary, further abbreviation can be achieved by considering only the central part of thedensest area. If we vertically divide the densest area into three equal parts, we will select
the second part on that. This should be the same for all the reference images and test
images. In this way, the significant texture area from the images can be extracted, which
will have a difference due to rotation but lies within the same pixel coordinates.
8/9/2019 Localization of Designed Texture on Glass Bottles
31/51
Localization of Designed Texture on Glass Bottles
22
Figure 3.5 I11 image converted to binary image.
3.3 Similarity Measure
Two images, I and J, are matched by calculating the similarity measure between the two
images. This is particularly necessary to find the rotation angle of the bottle on the conveyor
belt.
50 100 150 200 250 300
200
400
600
800
1000
1200
8/9/2019 Localization of Designed Texture on Glass Bottles
32/51
Localization of Designed Texture on Glass Bottles
23
The similarity measure gives high value for similar images and gives relatively low value for
dissimilar images. Selected image pixels (see 3.1.1) are represented by the average
direction of its second order complex moment I20. After extracting the texture regions as
described in the previous section, they are matched as
= ( , ).(, ), (3.11)
In equation 3.11, the values of will be in the interval 0 and 1. The value near to 1indicates high degree of similarity, whereas values near to 0 indicate less similarity.
3.4 Hot spot marking
Hot spot marking is achieved by one to one mapping of the pixel coordinates of an
image J to another image . Here, is the test image and is a texture region in thecorresponding reference image. The images and are of the same size. The appropriateregion on is marked according to the location of on the appropriate reference image withwhich has maximum similarity. Suppose the location of a point on the reference image is(a,b), then the hot spot ofwill be (a,b) coordinate point of the matrix. It is simple one toone mapping, where each pixel on the text image is stained according to the location of
texture on the corresponding reference image.
8/9/2019 Localization of Designed Texture on Glass Bottles
33/51
Localization of Designed Texture on Glass Bottles
24
4 Experiments and results
The experiments performed and their results, are presented in this chapter. The results of
preprocessing of images, design of reference models, matching of the test images with the
reference images, interpretation of matching results and then hotspot marking are
described subsequently.
4.1 Software environment
We have performed all our experiments at simulation level. For simulation level
experimentation, MATLAB has a very compact, easy to use and easy programmable
environment. The images provided by the company Gedevelop are in .bmp format, which is
easy to handle in MATLAB. The image data are in unit-8 format. Some experiments require
double data type supportability, and it is a well known fact that different types of imageprocessing techniques can be easily done in MATLAB. Along with some image processing,
there are some mathematical implementations. This is also easier in MATLAB compared to
other well known programming platforms. So we choose MATLAB for experiments and
implementations.
4.2 Data
Gedevelop provided 34 and 39 images in .bmp format respectively of two different
kinds of bottles rotated at different angles denoted as B1 and B2. Out of 34 images in B1,
we have created two sub databases denoted as B1A and B1B. . B1A contains a total of 24
images while B1B contains 10 images. B1A contains those images which have designed
8/9/2019 Localization of Designed Texture on Glass Bottles
34/51
Localization of Designed Texture on Glass Bottles
25
texture made on their front side of the bottle from the camera viewpoint as in figure 4.1.
B1B contains those images which have design texture on the back side from cameraview
point as in figure 4.2. The motivation behind dividing B1 into two groups is that the
designed textures are made on the opposite sides. Possibility of this kind of situation can be
ignored as it requires more than 90 degree rotation, which is practically inconceivable.
Consequently, we wanted to see the effect of matching of these two types of independent
situations. Figure 4.3 is showing an image of B2. Here, one point to notice is that the
textures on the images of B1 are better defined than thoseof B2.
The images provided by company are used to create a reference database. Those
images are 1380 x1012 pixels in size. Because of automatic clipping of some significant
texture area, done according to the steps described in section 3.2.2, we got images of size
100x200 pixels. Figure 4.4 is one such automatically clipped image from B1A.
Second order complex moment I11 values are used for automatic extraction of significant
texture area. Binary image of the boundary detected image was created by setting a
threshold value. The I11 values greater than that threshold was set to 1 and other pixel
values were set to 0. One such binary image is shown in Figure 3.5. Reference models
include:
1. Original image taken by the camera.2. The linear symmetry matrix of the corresponding image.3. The dominant direction information of each pixel of I20 image.4. The vertical boundary limited image.5. The dimensions of the densest texture region.6. The pixel coordinates of the designed textures.
The results of the individual steps as well as of overall experiments are explained in the
following sections.
8/9/2019 Localization of Designed Texture on Glass Bottles
35/51
Localization of Designed Texture on Glass Bottles
26
Figure 4.1 An image of database B1A having texture on front side of the
bottle
8/9/2019 Localization of Designed Texture on Glass Bottles
36/51
Localization of Designed Texture on Glass Bottles
27
Figure 4.2 An image of database B1B having texture on back side of the
bottle
Figure 4.3 An image of database B2
8/9/2019 Localization of Designed Texture on Glass Bottles
37/51
Localization of Designed Texture on Glass Bottles
28
4.3 Feature Extraction
Initially, the second order complex moments, I20 and I11 are calculated. The first step
towards the calculation of I20 is done by filtering the original image with two Gaussian
derivative filters: one in the X-direction and the other in the Y-direction. Then, by
combining these two derivative values, the complex valued gradient image is produced
according to equation (3.6). Next, the complex valued gradient image pixel values were
averaged in a local neighborhood using a Gaussian average filter. I11 was computed by
calculating the absolute value of each pixel of the complex gradient images and then
averaging the local neighborhood pixel values.
In MATLAB implementation, four Gaussian averaging filters were produced; two of them
are in X direction and two are in the Y direction. One set of filters had standard deviation
value 0.8 and other set has standard deviation value 1.2. The filters with standard deviation
value 1.2 are used to take the average value of complex gradient pixels in the local
neighborhood. Two Gaussian derivative filters are produced using standard deviation value
0.8.
I20 values calculated thus are used to correct skew and to calculate average directions for
matching. I11 values are used to detect vertical boundary as indicated in section 3.2.2 and
section 3.2.3. In figure 4.4 and 4.5, two target area extracted images are shown.
8/9/2019 Localization of Designed Texture on Glass Bottles
38/51
Localization of Designed Texture on Glass Bottles
29
Figure 4.4 Result of target area extraction on an image of B1A
Figure 4.5Result of target area extraction on an image of B1B
20 40 60 80 100 120 140 160 180 200
10
20
30
40
50
60
70
80
90
100
20 40 60 80 100 120 140 160 180 200
10
20
30
40
50
60
70
80
90
100
8/9/2019 Localization of Designed Texture on Glass Bottles
39/51
Localization of Designed Texture on Glass Bottles
30
Figure 4.6 Orientation tensor in color of figure 4.4.
20 40 60 80 100 120 140 160 180 200
10
20
30
40
50
60
70
80
90
100
8/9/2019 Localization of Designed Texture on Glass Bottles
40/51
Localization of Designed Texture on Glass Bottles
31
Figure 4.7Orientation tensor in color of figure4.5.
4.4 Registration
We used pixel by pixel matching of the average direction values of the clipped images.
Usually, in such kinds of matching process, alignment of the texture is a regular concept.
However, in this case, it is not, because we are trying to find the rotation angle. If the
textures are aligned, then the matching will give aberrant result. The alignment of the
contour of the whole bottle image is necessary, so that we can get a common arbitrary
origin from where the bottle can be observed. The bottle may be inclined due to high speed
of the conveyor belt and also it may be translated a little at the right or left. Thus, for
accuracy purpose, the image of the whole bottle should be aligned relative to its contour.
8/9/2019 Localization of Designed Texture on Glass Bottles
41/51
Localization of Designed Texture on Glass Bottles
32
The problem out of inclination is corrected due to skew correction. Translational
misalignment is automatically corrected because of the boundary extraction, as described
in 3.4.2. As a consequence, when we go for clipping out the texture region from the vertical
boundary detected images, we always start the calculation from the left upper corner of the
image which is vertically above the left most vertical boundary of the bottle. The
translational mismatch is thus compensated. It can be said that the bottles become aligned
according to the vertical axis passing through its center of gravity. Thus we can match two
complex images by their overlapping area. This kind of matching is done in [13]
The purposes of the methods described in section 3.4 are twofold. They serve both
automatic clipping and registration.
4.5 Matching
Matching is done by computing the normalized similarity score, according to the equation
(3.11).Each image of B1 is matched with all 33 images of the database except itself. Again
each image of B1A is matched with all 23 images of the database. Similarly, it was done for
B1B and B2. One image is not included in each matching step and that is the bottle itself, as
we will get the value 1 for that matching, which is meaningless in a practical situation. In
total we have 34, 24, 10 and 39 such instances for B1, B1A, B1B and B2 respectively where
the similarity score is 1 according to equation (3.11). We have 1122(=34 x 33), 552(=24 x
23), 90 (=10x9), and 1482(=39x 38) scores for B1, B1A, B1B and B2 respectively where animage was matched with other images in the respective database. The similarity score
distributions for B1, B1A and B1B are shown in figure 4.8, figure 4.9 and figure 4.10. The
figure 4.8 depicts the similarity score distribution for B2 images, where matching is done
based on average direction. By looking at the nature of the figures 4.8, 4.9,4.10 and 4.11,
8/9/2019 Localization of Designed Texture on Glass Bottles
42/51
Localization of Designed Texture on Glass Bottles
33
we found that, for B1 images the matching results are more prominent, as for almost closer
images it has matching scores closer to one(above 0.8) . For B2 images, it is a little lower.
In figure 4.8, 4.9, 4.10 and 4.11 the region marked with green circle shows the similarity
scores when the images are in class 1. In the blue circled region, we have the scores for
those images which are in class 2. The red region indicates least similarity. Here, images
are in the class 3. Class 1, class 2 and class 3 are defined in section 2.3.3.
Figure 4.8 Matching result of B1 images matched using average directions
8/9/2019 Localization of Designed Texture on Glass Bottles
43/51
Localization of Designed Texture on Glass Bottles
34
Figure-4.9 Similarity score distribution for B1A using average directions
8/9/2019 Localization of Designed Texture on Glass Bottles
44/51
Localization of Designed Texture on Glass Bottles
35
Figure-4.10 Similarity score distribution for B1B using average directions
Figure-4.11 Similarity score distribution for B2 using average directions
8/9/2019 Localization of Designed Texture on Glass Bottles
45/51
Localization of Designed Texture on Glass Bottles
36
4.6 Hot Spot Marking
In figure 4.12, an image is shown on which design textures are marked. It is done
according to the method described in section 3.4. The pixel coordinates of the designed
textures are indicated by white colour.
Figure 4.12 Texture, marked on a B1A image
In real time application, appropriate match for the test bottle will not be found: it will be
approximated to the closest reference image. A typical situation which may arise is that it
may not cover the entire texture region because of this approximation. In that case,
uncertainty will be there and for this reason, it is necessary to calculate the uncertainty in
the position of the designed texture. According to that uncertainty the marking should be
done so that it covers up the entire texture region on the test bottle, otherwise it will cause
100 200 300
200
400
600
800
1000
1200
8/9/2019 Localization of Designed Texture on Glass Bottles
46/51
Localization of Designed Texture on Glass Bottles
37
problems to further intended processings. We could not investigate this because of
limitations in the data.
8/9/2019 Localization of Designed Texture on Glass Bottles
47/51
Localization of Designed Texture on Glass Bottles
38
5 ConclusionsIn a nutshell, the ideas proposed here can be used to identify the rotation angle of the
bottle on the conveyor belt in a passive way so that the designed texture on the test bottle
can be localized according to the designed texture coordinates on the particular reference
bottle with which it has maximum similarity. We have proposed the use of the average
direction of linear symmetry feature for texture recognition as it is relatively free from
different kinds of errors caused by gray value changes from image to image due to
environmental changes. Then we proposed an idea to mark the location of the designed
texture on the test bottle in a direct way. The test results for finding rotation angle are
positive. Overall the proposed method works satisfactorily on the test data.
Depending upon the shortcomings of the proposed method, the future works include:
1) Fixing a threshold valued for matching results above which the similarity can be taken for
granted. This could be done by creating reference model with the images at 1 degree or 0.5
degree rotation gap.
2) Uncertainty of the localization results has to be calculated.
3) The automatic clipping out method of some significant texture area has to be made more
robust so that it can be applied in the situations where there is less dense texture in a
particular region.
4) The algorithm can be made faster by translating to any machine friendly programming
language.
5) The uncertainty in localization must be used in the hot spot marking by putting an
uncertainty box around each position.
8/9/2019 Localization of Designed Texture on Glass Bottles
48/51
Localization of Designed Texture on Glass Bottles
39
6) It should be modeled in such a way so that it can be applied in a real time environment.
8/9/2019 Localization of Designed Texture on Glass Bottles
49/51
Localization of Designed Texture on Glass Bottles
40
References
1. Kenneth Nilsson, Josef Bigun,Registration of Fingerprints by Complex Filtering and by1D Projections of Orientation Images, Audio and Video based Person Authentication-
AVBPA 2005
2. Lalith Premaratne, Yaregal Assabie and Josef Bigun ,Recognition of Modification-basedScripts Using Direction Tensors. 4th Indian Conf. on Computer Vision, Graphics and
Image Processing(ICVGIP2004), 587-592.
3. J. Borenstein and Y. KorenThe Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots
IEEE Transactions on Robotics and Automation, Volume 7, No. 3, pp. 278-288, June,
1991
4. J. Bigun and G. Granlund (1987)Optimal Orientation Detection of Linear Symmetry". First int. Conf. on Computer
Vision, ICCV, (London). Piscataway: IEEE Computer Society Press, Piscataway, (Tech.
Report LiTH-ISY-I-0828, Computer Vision Laboratory, Linkoping University, Sweden
1986. Thesis Report, Linkoping studies in science and technology No. 85, 1986).
pp. 433438.
5. Josef Bigun, Vision with Direction, A systematic introduction to Image Processing andComputer Vision, Springer.
6. R.S. Ledley, Automatic pattern recognition for clinical medicineIEEE,Volume: 57 Issue: 11 , page:2017 - 2035
8/9/2019 Localization of Designed Texture on Glass Bottles
50/51
8/9/2019 Localization of Designed Texture on Glass Bottles
51/51
Localization of Designed Texture on Glass Bottles
15. Hartwig Fronthaler & Klaus Kollreider, Real-time Face Tracking: Enhancing theauthenticity of Recognition. Masters thesis in computer Systems engineering. IDE
School of information Science, Computer and Electrical Engineering. Halmstad
University.
16. Rolland SiegWart, Illah R. Nourbakhsh, Introduction to autonomous mobile robots,Amazon.
Top Related