ant colony optimization for image edge detection
DESCRIPTION
bbbTRANSCRIPT
ACO EDGE DETECTION
1 | P a g e
ANT COLONY OPTIMIZATION FOR IMAGE EDGE
DETECTION
A PROJECT REPORT
Submitted by
Himanshu Sriavstava
Sulabh Pal
Suresh Kumar
in partial fulfillment for the award of the degree
of
BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
BBDIT, GHAZIABAD
GAUTAM BUDDH TECHNICAL UNIVERSITY
MAY 2012
ACO EDGE DETECTION
2 | P a g e
BBDIT, GHAZIABAD
BONAFIDE CERTIFICATE
This is to certify that the dissertation / project report (CSE 752) entitled “Ant Colony
Optimization For Image Edge detection” done by Sulabh Pal(0803510093),Himanshu
Srivastava(0803510403) and Suresh Kumar(0803510097), is an authentic work carried out by
him at Babu Banarsi Das Institute Of Technology, Ghaziabad under my guidance. The matter
embodied in this project work has not been submitted earlier for award of any degree or diploma
to the best of my knowledge and belief.
Shwetav Sharad Vineet Garg
PROJECT COORDINATOR PROJECT GUIDE
Associate Professor Assistant Professor
Computer Department Computer Department
Amit Singhal
HEAD OF THE DEPARTMENT
Computer Science & Engineering
Department
ACO EDGE DETECTION
3 | P a g e
ACKNOWLEDMENT
I have taken efforts in this project. However, it would not have been
possible without the kind support and help of many individuals. I would like
to extend my sincere thanks to all of them.
I am highly indebted to (Prof. VINEET GARG, Prof. SHWETAV SHARAD)
for their guidance and constant supervision as well as for providing
necessary information regarding the project & also for their support in
completing the project.
I would like to express my gratitude towards my parents & member of
(B.B.D.I.T. Faculty Member) for their kind co-operation and encouragement
which help me in completion of this project.
I would like to express my thanks to SULABH PAL and SURESH KUMAR
for giving me such attention and co-operation.
My thanks and appreciations also go to my colleague in developing the
project and people who have willingly helped me out with their abilities.
ACO EDGE DETECTION
4 | P a g e
ABSTRACT
Ant colony optimization (ACO) is an optimization algorithm inspired by the
natural behavior of ant species that ants deposit pheromone on the ground
for foraging. In this project, ACO is introduced to tackle the image edge
detection problem. The proposed ACO-based edge detection approach is able
to establish a pheromone matrix that represents the edge information
presented at each pixel position of the image, according to the movements
of a number of ants which are dispatched to move on the image.
Furthermore, the movements of these ants are driven by the local
variation of the image‟s intensity values. Experimental results are provided
to demonstrate the superior performance of this project approach. Ant Colony
Optimization is used here as to detect edge in any image for authenticate
because here we will further use it to make it for authentication at the time
of login or any other case. Ant colony optimization (ACO) is a population-
based metaheuristic that mimics the foraging behavior of ants to find
approximate solutions to difficult optimization problems. It can be used to
find good solutions to combinatorial optimization problems that can be
transformed into the problem of finding good paths through a weighted
construction graph. In this project, an edge detection technique that is based
on ACO is presented. The proposed method establishes a pheromone matrix
that represents the edge information at each pixel based on the routes
formed by the ants dispatched on the image. The movement of the ants is
guided by the local variation in the image‟s intensity values. The Proposed
ACO based edge detection method takes advantage of the improvements
introduced in ant colony system, one of the main extensions to the original
ant system. Experimental results show the success of the technique in
extracting edges from a digital image.
ACO EDGE DETECTION
5 | P a g e
TABLE OF CONTENTS Page No.
Cover Page & Title Page 1
Bonafide Certificate 2
Acknowledgement 3
Abstract 4
List of Tables 5
List of Figures 6
List of Symbols, Abbreviations and Nomenclature 7
Chapters
Chapter 1: Introduction 9
1.1 Methodlogy 11
1.2 Purpose 16
1.3 Scope 18
1.4 Abstract 19
1.5 Tools and Technologies Used 20
Chapter 2: Overall Description 27
2.1 Feasibility Analysis 28
2.2 Requirement Analysis: Software & Hardware 29
2.3 Constraint 30
2.4 Architecture Design 31
2.5 Use Case Model 34
2.6 Activity Diagram 35
2.7 Sequence Diagram 36
2.8 ER Diagram 37
2.9 DFDs 38
2.10 Database Design 42
Chapter 3: Testing and Maintain 43
Chapter 4: Results and Screen Slots 50
Chapter 5: Conclusion and Future Aspects 55
Appendices 56
References 60
Contains of CD/DVD(Code Details)
ACO EDGE DETECTION
6 | P a g e
LIST OF FIGURES
Figure Name Page No.
Figure 1:- Ant Systems Algorithm 9
Figure 2.:Ants will start from A the nest and look for D the food 10
Figure 3: Pseudo Code 12
Figure 4.: An experimental setting that demonstrates the shortest path 14
Figure. 5. A local configuration at the pixel position I(i,j) for computing the variation 20
Figure. 6. Various functions with the parameter 22
Figure. 7. Various neighborhoods (marked as gray regions) of the pixel Ii,j 22
Figure 8. Architecture Diagram For Whole System 31
Figure 9. Pheromone Table Management 32
Figure 10. The Edge Detection Phenomenon will Extract into it. 33
Figure:11. Sequence Diagram on Aco. 35
Fig ure12. Figure on Data Flow Diagram. 40
Fig ure13 Data Flow Diagram on ACO. 41
Figure.14. Test images used in this paper 49
Figure 15. Various extracted edge information of the test image Camera: 50
Figure. 16. Various extracted edge information of the test image House 51
Figure. 17. Various extracted edge information of the test image Lena 52
Figure. 18. Various extracted edge information of the test image Pepper 53
Figure 19. Software Development Life Cycle 61
ACO EDGE DETECTION
7 | P a g e
List of Symbols, Abbreviations and Nomenclature
Name of Nomenclature Respective Name
1. ACO Ant Colony Optimization
2. AS Ant System
3. AGENTS Artificial Ants
4. CO Combinatorial Optimization
ACO EDGE DETECTION
8 | P a g e
IInnttrroodduuccttiioonn
ACO EDGE DETECTION
9 | P a g e
CHAPTER 1
INTRODUCTION
ANT colony optimization (ACO) is a nature-inspired optimization
algorithm motivated by the natural phenomenon that ants deposit pheromone
on the ground in order to mark some favorable path that should be followed
by other members of the colony. The ant colony optimization algorithm
(ACO) is a probabilistic technique for solving computational problems which
can be reduced to finding good paths through graphs. This algorithm is a
member of ant colony algorithms family, and it constitutes some
Metaheuristic optimizations. Ant Colony Optimization (ACO) is a population-
based, general search technique for the solution of difficult combinatorial
problems which is inspired by the pheromone trail laying behavior of real
ant colonies. The behavior of ant is exploited in artificial ant colonies for the
search of approximate solutions to discrete optimization problems, to
Continuous optimization problems, and to important problems in
telecommunications, such as routing and load balancing. Initially proposed by
Marco Dorigo in 1992 in his PhD thesis, the first algorithm was aiming to
search for an optimal path in a graph, based on the behavior of ants
seeking a path between their colony and a source of food.
The ant colony optimization (ACO) is a meta-heuristic Property a
colony of artificial ants cooperate in finding good solutions to difficult
discrete optimization problems. Cooperation is a key design component
of ACO algorithms: The choice is to allocate the computational
resources to a set of relatively simple agents (artificial ants) that
communicate indirectly by stigmergy. Good solutions are an emergent
property of the agents‟ cooperative interaction.
The original idea has since diversified to solve a wider class of
numerical problems, and as a result, several problems have emerged,
drawing on various aspects of the behavior of ants. The main
underlying idea, loosely inspired by the behavior of real ants, is that of
a parallel search over several constructive computational threads based
on local problem data and on a dynamic memory structure containing
information on the quality of previously obtained result. The collective
behavior emerging from the interaction of the different search threads
has proved effective in solving combinatorial optimization (CO)
problems.
ACO EDGE DETECTION
10 | P a g e
Ant System was the first (1991) ACO algorithm. Its importance resides
mainly in being the prototype of a number of ant algorithms which
have found many interesting and successful applications.
Three AS algorithms have been defined, which differ by the way
pheromone trails are updated. These algorithms are called ant-density,
ant-quantity, and ant-cycle. In ant-density and ant-quantity ants deposit
pheromone while building a solution, while in ant-cycle ants deposit
pheromone after they have built a complete tour.
Figure 1:- Ant Systems Algorithm
ACS (Ant Colony System): ACS was the first algorithm inspired by real ants
behaviour. The first ACO algorithm, called the ant system, was proposed by
Dorigo et al. Since then, a number of ACO algorithms have been developed ,
such as the Max-Min ant system and the Ant Colony System
ACO EDGE DETECTION
11 | P a g e
1.1 Methodology
Ant Colony Optimization is the best way to predict edge from any proposed
image because with the help of ant colony optimization we will get the
main edge information that how any image is directly or indirectly interact
with each other and how they are correlated to each other.
ACO algorithm for Edge detection
Edges are points where there is a boundary (or an edge) between two image
regions. In general, an edge can be of almost arbitrary shape, and may
include junctions. In practice, edges are usually defined as sets of points in
the image which have a strong gradient magnitude. Furthermore, some
common algorithms will then chain high gradient points together to form a
more complete description of an edge. These algorithms usually place some
constraints on the properties of an edge, such as shape, smoothness, and
gradient value. Edge detection is a technique for marking sharp intensity
changes, and is important in further analyzing image content. However,
traditional edge detection approaches always result in broken pieces, possibly
the loss of some important edges.
Figure 2.:Ants will start from A the nest and look for D the food. At every step, they will upgrade the routing tables
and as soon as the first one reaches the food, the best path will be known, thus allowing communication from D to A
ACO EDGE DETECTION
12 | P a g e
A method of extracting desired features from a cellular image including the
steps of:
(a) Selecting an initial cell within the image.
(b) Selecting an additional cell, near the initial cell, appearing to be
associated with a desired feature.
(c) Repeating step for further cells, near at least one of the previously
selected cells, appearing to be associated with said feature, until selection
termination criteria are satisfied.
(d) Repeating step through for other initial cells. The method is particularly
adept at extracting relatively weakly defined features in relatively noisy
images, such as extracting faults or geologic horizons from 2D or 3D seismic
data.
A method of editing/filtering the features utilizing a stereo net is
also disclosed. Related Computer system and computer program products for
implementing the method are also described. The method is particularly
adept at extracting relatively weakly defined features from relatively noisy
images, such as extracting faults or geologic horizons from 2D or 3D seismic
data. A related method of editing/filtering the features utilizing a stereo net
is also disclosed. The invention further includes a computer system and
computer program product for implementing the method. The invention and
its benefits will be better understood with reference to the detailed
description below and the accompanying drawings.
ACO aims to iteratively find the optimal solution of the target
problem through a guided search (i.e., the movements of a number of ants)
over the solution space, by constructing the pheromone information. To be
more specific, suppose totally K ants are applied to find the optimal solution
in a space χ that consists of M1 × M2 nodes, the procedure of ACO can be
summarized as follows.
ACO EDGE DETECTION
13 | P a g e
Figure 3: Pseudo Code 1
There are two fundamental issues in the above ACO process; that is,
The establishment of the probabilistic transition matrix p(n).
The updating of the pheromone matrix τ (n), each of which is presented in detail as follow, respectively.
First, at the n-th construction-step of ACO, the k-th ant moves from the
node i to the node j according to a probabilistic action rule, which is
determined by:-
I will take it as Equation 1.
where τ (n−1)
i,j is the pheromone information value of the arc linking the
node i to the node j; Ωi is the neighborhood nodes for the ant ak given
that it is on the node i; the constants α and β represent the influence of
pheromone information and heuristic information, respectively; ηi, j represents
ACO EDGE DETECTION
14 | P a g e
the heuristic information for going from node i to node j, which is fixed
to be same for each construction-step.
Second, the pheromone matrix needs to be updated twice during the ACO
procedure. The first update is performed after the movement of each ant
within each construction step. To be more specific, after the move of the k-
th ant within the n-th construction-step, the pheromone matrix is updated as
equation [4].
where ρ is the evaporation rate. Furthermore, the determination of best tour
is subject to the user-defined criterion, it could be either the best tour found
in the current construction-step, or the best solution found since the start of
the algorithm, or a combination of both of the above two equation [4]. The
second update is performed after the move of all K ants within each
construction-step; and the pheromone matrix is updated as in equation[4].
where ψ is the pheromone decay coefficient. Note that the ant colony
system equation [6] performs two update operations (i.e, euation (2) and
euqtion (3)) for updating the pheromone matrix, while the ant system quation
[3] only performs one operation (i.e., euqtion(3)).
ACO EDGE DETECTION
15 | P a g e
Pheromone:
In ACS once all ants have computed their tour (i.e. at the end of each
iteration) AS updates the pheromone trail using all the solutions produced by
the ant colony. Each edge belonging to one of the computed solutions is
modified by an amount of pheromone proportional to its solution value. At
the end of this phase the pheromone of the entire system evaporates and
the process of construction and update is iterated. On the contrary, in ACS
only the best solution computed since the beginning of the computation is
used to globally update the pheromone. As was the case in AS, global
updating is intended to increase the attractiveness of promising route but
ACS mechanism is more effective since it avoids long convergence time by
directly concentrate the search in a neighborhood of the best tour found up
to the current iteration of the algorithm.
Figure 4.: An experimental setting that demonstrates the shortest path finding capability of ant colonies. Between the
ants‟ nest and the only food source exist two paths of different lengths. In the four graphics, the pheromone trails are
shown as dashed lines whose thickness indicates the trails strength.
ACO EDGE DETECTION
16 | P a g e
1.2 Purpose
ACO has been widely applied in various problems. In this project, ACO is
introduced to tackle the image edge detection problem, where the aim is to
extract the edge information presented in the image, since it is crucial to
understand the image‟s content. A number of ants, which move on the image
driven by the local variation of the image‟s intensity values, to establish a
pheromone matrix, which represents the edge information at each pixel
location of the image. To the best of our knowledge, there has been very
little research work on the problem addressed in this project except .
However, there are fundamental differences between our proposed approach
and theirs. First, our proposed approach exploits the Ant Colony System; on
the contrary, Nezamabadi-Pour e t al.‟s method exploits the ant system. It has
been shown that the above fundamental difference is crucial to the
respective designed ACO-based algorithms. Second, ACO is exploited to
„directly‟ extract the edge information in our proposed method, in contrast to
that ACO serves as a „post-processing‟ in to enhance the edge information
that has already been extracted by conventional edge detection algorithms.
The project is organized as follows. In a brief introduction is provided to
present the fundamental concepts of ACO For Image Edge Detection.
The Main purpose to do this project is that it is mainly used
for to detect the edge from any image which is either 2D or 3D image is
illustrated any meaningful image pixels combinations then it‟s means that all
the tempered edge like nee edge, elbow edge at the side of neck all these
major part of any human being are not fully get covered or impose to
itself, then the ACO technique is used; or either if we will take any animal
or any fruit image to demonstrate then it would be demonstrate the sharpe
edge to it‟s peak or it‟s down side so here all the modules are being in
major form where it‟s phenomenal value is made governed to it‟s key
architectural feature.
ACO EDGE DETECTION
17 | P a g e
Relation to Extreme Line and Surface Extraction-
In this application, it will be cleared how these lines and surfaces can be
found by the behavior and interaction of intelligent agents. Earlier in this
application, it was concluded that in order to overcome the challenges the
relatively noisy data presents, prior knowledge of the desired feature needs
to be taken into consideration. This knowledge is coded as the behavior of
an intelligent agent. The agent will act very similar to an ant in the
foraging situation described above, by making decisions based on its pre-
coded behavior and emitting “ pheromone” along its trail. The idea is to
distribute a number of agents in the 2D or 3D image and let each agent
move along an extreme ridge while emitting pheromone as long as the
ridge fulfils the criteria encoded in the agent. Agents which are deployed at
a point where there is no extreme ridge, or where the ridge is poorly
defined, will be terminated shortly or immediately after their deployment,
whereas agents deployed at points on a well-defined ridge will be able to
follow this ridge for a while before being terminated. It is assumed that a
line or surface having the properties of the desired structures, which are
captured in the prior knowledge, will be clearly marked by pheromone
whereas non-extreme ridges, or extreme ridges not fulfilling the requirements
will be unmarked or only weakly marked.
z (pixel)=ω 1 chk grey(pixel)+ω 2 chk width(pixel)+ω 3 chk maxwidth(pixel)+ω 4
pheromone(pixel)
where pixel is the pixel that is currently being considered; the chkgrey,
chkwidth and chkmaxwidth functions evaluate the properties listed above; and
ω i the weight of each function. The outputs of these sub-functions depend
on the grey-value and width at the point where the agent is deployed. The
last term in the function, pheromone(pixel), provides communication between
the agents in terms of the “pheromone” trace each agent emits along its
trace.
ACO EDGE DETECTION
18 | P a g e
1.3 Scope
The Main Scope of Ant Colony Optimization for image edge detection what
am I thinking is that it has wide scope to work on any field such that it‟s
future scope to make any authenticated security major to avoid any
unauthenticated access for any highly Classified database or to access any
login privilege because while in face recognition the using Principle
Component Analysis (PCA) it can be reach to make it avoidable format but
using Ant Colony Optimization the main key feature is that make any
image quite visible to Computer or any accessing medium which
authenticate the user because without understandable format of any image
the System will not give privilege to access the functionality of the system.
Suppose a user want to get access the functionality of any system
then at that stage there is only one mode to get login that is the face
authentication so if user wants to get into and want to get access the
functionality of the system then at that Stage he/she show his/her face to
get login but due to some other factor like Light Intensity or illumination is
not quit good at which level it will authenticate to make it accessible so
make this phenomenon at low state or low level Ant Colony Optimization
for Image Edge Detection will extract and will be in form of working
mode as like each edge of face will get measure and make a matrix to
store all the data regarding to it, then it‟s main matrix which stores all the
data regarding to it will extract and if any updation is happen the it should
be in form to store it into Updated Matrix where it‟s all functional domain
will extract it‟s all domain functionality and it will get login or access the
data functionality which they wants to work on this working procedure is
under construction and I am also working under this to make it usable this
technique to get access all data module.
ACO EDGE DETECTION
19 | P a g e
1.4 ABSTRACT
Ant colony optimization (ACO) is an optimization algorithm inspired by the
natural behavior of ant species that ants deposit pheromone on the ground
for foraging. In this project, ACO is introduced to tackle the image edge
detection problem. The proposed ACO-based edge detection approach is able
to establish a pheromone matrix that represents the edge information
presented at each pixel position of the image, according to the movements
of a number of ants which are dispatched to move on the image.
Furthermore, the movements of these ants are driven by the local variation
of the image‟s intensity values. Experimental results are provided to
demonstrate the superior performance of this project approach. Ant Colony
Optimization is used here as to detect edge in any image for authenticate
because here we will further use it to make it for authentication at the time
of login or any other case. Ant colony optimization (ACO) is a population-
based Metaheuristic that mimics the foraging behavior of ants to find
approximate solutions to difficult optimization problems. It can be used to
find good solutions to combinatorial optimization problems that can be
transformed into the problem of finding good paths through a weighted
construction graph. In this project, an edge detection technique that is based
on ACO is presented. The proposed method establishes a pheromone matrix
that represents the edge information at each pixel based on the routes
formed by the ants dispatched on the image. The movement of the ants is
guided by the local variation in the image‟s intensity values. The Proposed
ACO based edge detection method takes advantage of the improvements
introduced in ant colony system, one of the main extensions to the original
ant system. Experimental results show the success of the technique in
extracting edges from a digital image.
ACO EDGE DETECTION
20 | P a g e
1.5 TOOLS AND TECHNIQUES USED
To make this project in working mode I will choose MTLAB (Matrix Lab ) This
project ACO-based edge detection approach is implemented using the Matlab
programming language and run on a PC with a Intel CoreTM DUO 2.13
GHz CPU and a 1 GB RAM. The computational times of the project are
64.90 seconds, 64.15 seconds, 64.46 seconds and 64.57 seconds, for the test
image Camera.
Matlab Programming Language is the basic and main programming
language which incorporates with it‟s .p(DOT P) Extension. In Matlab it‟s all
Well known functions are used like I work this project and I used ASB(For
absolute value), Temp(To Store temporary Value) etc.
To Make this project in working mode I personally use lot‟s of
Method Combinations and it‟s Sub-Combinations and techniques which I am
going to show in this documentation format.
The proposed ACO-based image edge detection approach aims to utilize a
number of ants to move on a 2-D image for constructing a pheromone
matrix, each entry of which represents the edge information at each pixel
location of the image. Furthermore, the movements of the ants are steered by
the local variation of the image‟s intensity values. The proposed approach
starts from the initialization process, and then runs for N iterations to
construct the pheromone matrix by iteratively performing both the
construction process and the update process. Finally, the decision process is
performed to determine the edge. Each of these process is presented in
detail as follows, respectively.
A. Initialization Process
Totally K ants are randomly assigned on an image I with a size of M1 ×M2, each
pixel of which can be viewed as a node. The initial value of each component of the
pheromone matrix τ (0) is set to be a constant τinit.
B. Construction Process
At the n-th construction-step, one ant is randomly selected from the above-
mentioned total K ants, and this ant will consecutively move on the image for L
movement-steps. This ant moves from the node (l,m) to its neighboring node (i, j)
According to a transition probability that is defined as
ACO EDGE DETECTION
21 | P a g e
Where τ (n−1)
(i,j) is the pheromone value of the node (i, j), Ω(l,m) is the
neighborhood nodes of the node (l,m), ηi,j represents the heuristic
information at the node (i, j). The constants α and β represent the influence
of the pheromone Matrix and the heuristic matrix, respectively.
Fig. 5. A local configuration at the pixel position I(i,j) for computing the variation Vc(Ii,j ) defined in (6). The pixel Ii,j
is marked as gray square.
There are two crucial issues in the construction process. The first issue is
the determination of the heuristic information ηi,j in equation(4). In this
project, it is proposed to be determined by the local statistics at the pixel
position (i, j) as
ACO EDGE DETECTION
22 | P a g e
which is a normalization factor, Ii,j is the intensity value of the pixel at the
position (i, j) of the image I, the function Vc(Ii,j) is a function of a local group
of pixels c (called the clique), and its value depends on the variation of
image‟s intensity values on the clique c (as shown in Figure 1). More
specifically, for the pixel Ii,j under consideration, the function Vc(Ii,j) is
To determine the function f(·) in equation (6), the following four functions are
considered in this paper; they are mathematically expressed as follows and
illustrated in Figure 6, respectively.
The parameter λ in each of above functions (7)-(10) adjusts the functions‟
respective shapes. The second issue is to determine the permissible range of
the ant‟s movement (i.e., Ω(l,m) in (4)) at the position (l,m). In this project, it is
proposed to be either the 4-connectivity neighborhood or the 8-connectivity
neighborhood, both of which are demonstrated in Figure 7.
ACO EDGE DETECTION
23 | P a g e
Fig. 6. Various functions with the parameter λ = 10: (a) the function defined in (7); (b) the function defined in
(8); (c) the function defined in (9); and (d) the function defined in (10).
Fig. 7. Various neighborhoods (marked as gray regions) of the pixel Ii,j : (a) 4-connectivity neighborhood; and
(b) 8-connectivity neighborhood.
ACO EDGE DETECTION
24 | P a g e
C. Update Process
The proposed approach performs two updates operations for updating the
pheromone matrix.
The first update is performed after the movement of each ant within
each construction-step. Each component of the pheromone matrix is
updated according to
Where ρ is defined in equation (2), Δ
(k) i,j is determined by the heuristic
matrix; that is, Δ(k)
i,j = ηi,j .
The second update is carried out after the movement of all ants
within each construction-step according to
Where ψ is defined in equation(3).
D. Decision Process
In this step, a binary decision is made at each pixel location to determine
whether it is edge or not, by applying a threshold T on the final pheromone
matrix τ (N). In this project, the above-mentioned T is proposed to be
adaptively computed based on the method developed in equation [20]. The
initial threshold T(0) is selected as the mean value of the pheromone matrix.
Next, the entries of the pheromone matrix is classified into two categories
according to the criterion that its value is lower than T(0) or larger than
T(0). Then the new threshold is computed as the average of two mean
values of each of above two categories. The above process is repeated until
ACO EDGE DETECTION
25 | P a g e
the threshold value does not change any more (in terms of a user-defined
tolerance ). The above iterative procedure can be summarized as follows.
Step 1: Initialize T(0) as
and set the iteration index as l = 0.
Step 2: Separate the pheromone matrix τ (N)
into two class using T(l)
, where
the first class consists entries of τ that have smaller values than T(l)
, while
the second class consists the rest entries of τ . Next, calculate the mean of
each of the above two categories via
Where
ACO EDGE DETECTION
26 | P a g e
Step 3: Set the iteration index l = l + 1, and update the threshold as
Step 4: If |T(l)
−T(n−1)
| > , then go to Step 2; otherwise, the iteration process is
terminated and a binary decision is made on each pixel position (i, j) to
determine whether it is edge (i.e., Ei,j = 1) or not (i.e., Ei,j = 0), based on the
criterion.
ACO EDGE DETECTION
27 | P a g e
OOVVEERRAALLLL
DDEESSCCRRIIPPTTIIOONN
ACO EDGE DETECTION
28 | P a g e
CHAPTER 2
OVERALL DESCRIPTION
2.1Feasibility Analysis:
All projects are feasible-given unlimited resources and infinite time.
Unfortunately, the development of a computer-based system is more likely
plagued by a scarcity of resources and difficult delivery dates. It is both
necessary and prudent to evaluate the feasibility of the project at the earliest
possible time.
Feasibility and risk analysis are related in many ways. If the project
risk is great, the feasibility of producing quality software is reduced. During
product engineering however we concentrate our attention on four primary
areas of interest:
Economic feasibility: An evaluation of development cost weighed against the
ultimate income or benefit derived from the developed system or product.
Technical feasibility: A study of function, performance, and constraints that
may affect the ability to achieve an acceptable system.
Legal feasibility: A determination of any infringement, violation or the
liability that could result from the development of the system.
Alternatives: An evaluation of alternative approaches to the development of
the system or product.
Ant Colony optimization is Beneficial for the Real life problem
such as TSP(Travelling Salesman Problem) Which will have use to find the
closet path in transposition for Grid Computing ( The new way for
Computing and Compatible with Grid Phenomenon) and Colony Optimization
for Image edge detection is well used for authentication like while in
authentication or login or sign-in into any framework or any network fields
or any kind of environment and many other filed.
ACO EDGE DETECTION
29 | P a g e
Feasibility Check-point:
Here I would like to add some property into it feasibility checkpoint where
all the projects or all the key factor of any kind of working experience will
count and will work future more in the phenomenon value.
It is very important for the industry to reduce their cost of
product. So that make some check sum to all component to it‟s main
property.
2.2 Requirement Analysis:
Requirement Analysis is the process of determining user expectation
for a new or modifies product. These features, called requirements, must be
quantified, relevant and detailed in. Here such requirements are also called
Functional Specifications.
Requirement Analysis is Divided into two important and
specified manner those are as follows:
Hardware Requirement Analysis.
Software Requirement Analysis.
Hardware Requirement Analysis
The determination of above parameters are critical to the performance of the
project; this issue will be reported elsewhere. Experimental results are
provided to compare the proposed approach with Nezamabadi-Pour et al.‟s
edge detection method. To provide a fair comparison, the morphological
thinning operation of is neglected, since it is performed as a post-processing
to further refine the edge information that is extracted by ACO.
Furthermore, to present how the determination of the
heuristic matrix is crucial to the proposed method, various functions defined
are individually incorporated of the project approach, and their resulted
performances are presented. Figures will present the results of test images
Camera, House, Lena and Pepper.The project approach always outperforms
Nezamabadi-Pour et al.‟s method, in terms of visual quality of the extracted
edge information. The proposed ACO-based edge detection approach is
implemented using the Matlab programming language and run on a PC with
a Intel CoreTM DUO 2.20 GHz CPU and a 3 GB RAM. The computational times
of the project are 64.90 seconds, 64.15 seconds, 64.46 seconds and 64.57
seconds, for the test image Camera.
ACO EDGE DETECTION
30 | P a g e
Software Requirement Analysis
Software Requirement Analysis document enlists all necessary requirement
for project development. To derive the requirement we need to have clear
and thorough understanding of the product to be developed.
Here in this particular project Ant Colony Optimization for
Image edge detection our team member and our project guide suggest us to work
under following things those are as follows:
I. A Programming Platform where the program will work fluently so we
choose :-“MATLAB”
II. A kind of image in which we can perform our work or the entity where we
can work so we choose:-“ Image –CAMERA”
2.3 Constraint
The Challenge of This Project is to make it work and be Successful within
the triple Constraint. The triple Constraint being quality (Scope), Cost
(Resources) and Schedule( Time). The Three Elements of a Project are known
to work in tandem with one another. Where one of these elements is
restricted or extended.
I. Scope: The main Scope of This Project is that To Detect the edge
While using Ant Colony Optimization. Here the main Moto is to
achieve the best result in a very less time so here we all conclude
that all the relative field scope will achieve by following the right
path in a right manner.
II. Cost: The main Cost of all the functionality to make this project in
working mode are so cheap because we would purchase MATLAB for
Matrix Programming and it‟s all Constituent field will come
simultaneously so that the cost of product is much less and much
easy to achieve.
III. Schedule: The Scheduling that is including in this project is that it
will conclude all the measurable phenomenon which will help the
main project to run in real life factor. There is no such hard kind of
scheduling process into it because here all the modules are quite
easier and quite simpler into it. The main are whenever the project
ACO EDGE DETECTION
31 | P a g e
comes into a feasible manner then from starting to it‟s ending its all
around the main sensational things which are come into it.
2.4 Architecture Diagram
The words and therefore the term itself is fairly simple: a diagram is
a chart or visual depiction of a system, while “architecture” typically
refers to a structure.
Therefore, asking “An architecture diagram,” in its most basic
form, yields the answer: a visual depiction of a particular structure.
But often, this term refers to computer systems and networks. since the
word “architecture” is being used, a architecture diagram must be related to
the building of houses. The common assumption is that this type of
diagram is similar to a blueprint in that it shows a diagram of a
physical building. Technically, based on word definition alone, this is a
viable answer and is not untrue.
But in practical usage, the term is almost never used to describe a
physical building. It is, much more commonly, used to describe the
architecture of computer systems, software, networks, and other
technology-related structures. Below are just a few samples of how
this term can be used in the field of technology.
Software Architecture
„ A set of artifacts (that is: principles, guidelines, policies, models,
standards, and processes) and the relationships between these
artifacts, that guide the selection, creation, and implementation of
solutions aligned with business goals Software architecture is the
structure of structures of an information system consisting of entities
and their externally visible properties, and the relationships among
them A software architecture is a description of the subsystems and
components of a software system and the relationships between
them Sub-systems and components are typically specified in different
views to show the relevant functional and non-functional properties
of a software system. The software system is an artifact. It is the
result of the software design activity.
ACO EDGE DETECTION
32 | P a g e
Fig 8. Architecture Diagram For Whole System
In This Architecture Design We will Check all the phenomenon which is
going to work under this proposed structure where all the step is occur
after by after the main domino effect which will construct and represent it
is that it has all the varying feature in it.
ACO EDGE DETECTION
33 | P a g e
Fig 9. Pheromone Table Management for ant Colony Optimization For Image to detect the edge
Inaformation
ACO EDGE DETECTION
34 | P a g e
Fig 10. The Edge Detection Phenomenon will Extract into it.
2.5 USE CASE Diagram:
Use Case Diagram is a list of steps, typically defining interactions between
a role (known in UML as an "actor") and a system, to achieve a goal. The
actor can be a human or an external system.
Casual use case structure
Casual Use Case recognizes that projects may not always need detailed
"fully-dressed" use cases. He describes a Casual use case with the fields:
ACO EDGE DETECTION
35 | P a g e
1. Title (goal)
2. Primary Actor
3. Scope
4. Level
(Story): the body of the use case is simply a paragraph or two of text,
informally describing what happens.
Limitations
Limitations of Use cases include:
Use cases are not well suited to capturing non-interaction based
requirements of a system (such as algorithm or mathematical
requirements) or non-functional requirements (such as platform,
performance, timing, or safety-critical aspects). These are better specified
declaratively elsewhere.
Use case templates do not automatically ensure clarity. Clarity depends on
the skill of the writer(s).
Use cases are complex to write and to understand, for both end users
and developers.
As there are no fully standard definitions of use cases, each project must
form its own interpretation.
Some use case relationships, such as extends, are ambiguous in
interpretation and can be difficult for stakeholders to understand.
In Agile, simpler user stories are preferred to use cases.
Use case developers often find it difficult to determine the level of user
interface (UI) dependency to incorporate in a use case. While use case
theory suggests that UI not be reflected in use cases, it can be awkward
to abstract out this aspect of design, as it makes the use cases difficult
to visualize. In software engineering, this difficulty is resolved by applying
requirements traceability, for example with a traceability matrix.
Use cases can be over-emphasized. Bertrand Meyer discusses issues such
as driving system design too literally from use cases, and using use cases
to the exclusion of other potentially valuable requirements analysis
techniques.
Use cases are a starting point for test design, but since each test needs
its own success criteria, use cases may need to be modified to provide
separate post conditions for each path.
ACO EDGE DETECTION
36 | P a g e
2.7 Sequence Diagram
A sequence diagram in a Unified Modeling Language (UML) is a kind
of interaction diagram that shows how processes operate with one another and in
what order. It is a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence. It depicts the objects and
classes involved in the scenario and the sequence of messages exchanged between
the objects needed to carry out the functionality of the scenario. Sequence
diagrams typically are associated with use case realizations in the Logical View of
the system under development.
Fig:11. Sequence Diagram on Aco.
ACO EDGE DETECTION
37 | P a g e
2.8 ER Diagram:
Data models are tools used in analysis to describe the data requirements
and assumptions in the system from a top-down perspective. It is a major
data modeling tool & will help organizing the data in our project into
entities & define the relationship between the entities. They also set the stage
for the design of databases later on in the SDLC.
The Entity-Relationship model is a data model for high-level
descriptions of conceptual data models, and it provides a graphical notation
for representing such data models in the form of entity-relationship
diagrams. Such data models are typically used in the first stage of
information-system design; they are used, for example, to describe information
needs and/or the type of information that is to be stored in the database
during the requirements analysis.
Basic elements in ER models:
Entities: A data entity is anything real or abstract about which we want to
store the data. Entity type falls into five classes: roles, events, location,
tangible things or concepts.
Attributes: A data attribute is a characteristic common to all or most
instances of a particular entity. An attribute or combination of attributes that
uniquely identifies one & only one instance of an entity is called primary
key or identifier.
Relationships: Relationship provides the structure needed to draw information
from multiple entities. It is a natural association that exists between one or
more entities.
Cardinality: Cardinality defines the number of occurrences of one entity for
a single occurrence of related entity.
ACO EDGE DETECTION
38 | P a g e
Symbols used for ER Diagram:
Rectangles are used for showing the Entities in
the database design.
Ovals are used to represent the Attributes of a
relation or entity.
Rhombus is used for representing the
Relationship between entities.
2.9 Data Flow Diagram
When solving a small problem , the entire problem can be tacked at
once for solving larger problem, the basic principles the time-tested principle
of “divide and conquer” dearly , dividing in such a manner that are the
division have to be conquered together is not the intent of this wisdom.
This principle if elaborator, would means divide into smaller pieces can be
conquered separately.
Problem partitioning , which is essential for solving a complex problem
leads to hierarchies in the design produces by using problem partitioning
can be represented as a hierarchy of components . The relationship between
the elements in this hierarchy can vatu depending.
On the method used for example, the most common is the “whole-part
of” relationship. In this the system consists of some parts, each part consists
of subparts, and so on. This relationship can be naturally.
Represented as a hierarchy structure between various system parts. In
general hierarchical structure makes it much easier to comprehend a
ACO EDGE DETECTION
39 | P a g e
complex system. Due to this all design, mythologies aim to produce a design
that has nice hierarchical structure.
The DFD was first designed by Larry Constantine was a way of
expressing system requirements in a graphical form. This led a modular
design.
A DFD, also known as “bubble chart” has the purpose of clarifying
system requirement and identifying major transformations that will become
program in the system design. So it is the starting point of the design phase
that functionally decomposes the requirement specification down to the
lowest level of detail. A DFD consists of series of bubble joined by lines
represent data.
Data flow Diagram Symbol:-
In the DFD, there are four symbols.
A circle or a “bubble” (some people use an oval bubble) defines a source
(originator) or designation of system data.
An arrow identifies data flow-data in monition. It is a pipeline through
which information flows.
A square represents a process that transforms incoming data flows into
outgoing data flow.
An open rectangle is a data store-data as rest, or a temporary repository of
data.
TERMINATION (START/STOP)
PROCESS
ACO EDGE DETECTION
40 | P a g e
The figure is shown how data is processing, how data will be store and
how data will be flow in the System:-
DATAFLOW DIAGRAMS
A Data Flow Diagram (DFD) is a graphical technique that depicts
information flow and the transforms that are applied as data move from
input to output.
Data flow diagram is a logical model of a system. The model does
not depend on hardware, software, and data structure or file organization. It
only shows the data flow between modules to module of the entire system.
Data flow diagrams can be completed using only four notations as follows:
Data Flow: Data move in a specific direction from an origin to destination.
The data flow is a “packet” of data.
Process: People, procedures or devices that produce data. The physical
component is not identified.
DATA FLOW
DATA STORE
ACO EDGE DETECTION
41 | P a g e
Source or Destination of Data: External sources or destinations of data, which
may be people or organizations or other entities.
Data Source: Here a process references the data in the system.
Fig 12. Figure on Data Flow Diagram.
ACO EDGE DETECTION
42 | P a g e
Fig 13 Data Flow Diagram on ACO.
2.10 Database Design
There is no need any such kind of Database to make it and more helpful
and make it into visible domain. Database design Comes when there is a
need to design a data where all the entry and explicating will work but
here not any kind of single collection to make it happen. Here we use
simple form just give the path of the image and the ANT will work upon
that and produce the edge and make it into detected form.
ACO EDGE DETECTION
43 | P a g e
Testing and
Maintenance
ACO EDGE DETECTION
44 | P a g e
CHAPTER 3
TESTING AND MAINTENANCE
All software intended for public consumption should receive some level of testing.
Without testing, you have no assurance that software will behave as expected. The
results in public environment can be truly embarrassing. Testing is a critical
element of software quality assurance and represents the ultimate review of
specification, designing, and coding. Testing is done throughout the system
development at various stages. If this is not done, then the poorly tested system can
fail after installation. Testing is a very important part of SDLC and takes
approximately 50%of the time.
The first step in testing is developing a test plan based on the product requirements.
The test plan is usually a formal document that ensures that the product meets the
following standards:
Is thoroughly Tested- Untested code adds an unknown element to the
product and increases the risk of product failure
ACO EDGE DETECTION
45 | P a g e
Meets product requirements- To meet customer needs, the product must
provide the features and behavior described in the product specification.
Does not contain defects- Features must work within established quality standards
Does not contain defects- Features must work within established quality
standards and those standards should be clearly stated within the test
plan.
Testing Done in our System
The best testing is to test each subsystem separately as we have done in our
project. It is best to test a system during the implementation stage in form of small
sub steps rather then large chunks. We have tested each module separately i.e. have
completed unit testing first and system testing was done after combining /linking
all different Modules with different menus and thorough testing was done. Once
each lowest level unit has been tested, units are combined with related units and
retested in combination. This proceeds hierarchically bottom-up until the entire
system is tested as a whole. Hence we have used the Top Up approach for testing
our system.
Typical levels of testing in our system:
Unit -procedure, function, methods.
Acceptance Testing - whole system with real data(involve user etc)
Testing are conducted to evaluate the performance of the project using four
test images
ACO EDGE DETECTION
46 | P a g e
Camera
House
Lena
Pepper
Furthermore, various parameters of the proposed approach are set as follows.
• K = √M1 ×M2 the total number of ants, where the function x represents the
highest integer value that is smaller than or equals to x.
• τinit = 0.0001: the initial value of each component of the pheromone matrix.
• α = 1: the weighting factor of the pheromone information .
• β = 0.1: the weighting factor of the heuristic information.
• Ω = 8-connectivity neighborhood: the permissible ant‟s movement range .
• λ = 1: the adjusting factor of the functions.
• ρ = 0.1: the evaporation rate.
• L = 40: total number of ant‟s movement-steps within each construction-step.
• ψ = 0.05: the pheromone decay coefficient.
• ∈= 0.1: the user-defined tolerance value used in the decision process of the
proposed method.
ACO EDGE DETECTION
47 | P a g e
• N = 4: total number of construction-steps.
The main Testing factor for this project is shown above but here some
more option thru user may test this project feasibility as follows:
1. Give the Path to that image which user wants to get detect the
edge information as follows.
2. The Image which has certain quality factor will work upon all the
measurable phenomenon.
3. By calculation time the Kernel function which we use to develop
this project function will get the main advantage that is it may use
all the kernel features of this factor.
Maintenance:
The maintenance starts after the final software product is delivered to the client.
The maintenance phase identifies and implements the change associated with
the correction of errors that may arise after the customer has started using the
ACO EDGE DETECTION
48 | P a g e
developed software. This also maintains the change associated with changes in
the software environment and customer requirements. Once the system is a live
one, Maintenance phase is important. Service after sale is a must and users/
clients must be helped after the system is implemented. If he/she faces any
problem in using the system, one or two trained persons from developer‟s side
can be deputed at the client‟s site, so as to avoid any problem and if any
problem occurs immediate solution may be provided.
The maintenance provided with our system after installation is as follows:
First of all there was a Classification of Maintenance Plan which meant that the
people involved in providing the after support were divided. The main
responsibility was on the shoulders of the Project Manager who would be
informed in case any bug appeared in the system or any other kind of problem
rose causing a disturbance in functioning. The Project leader in turn would
approach us to solve the various problems at technical level. (E.g. The form
isn‟t accepting data in a proper format or it is not saving data in the
database.)the Maintenance for this function is not so hard to do,but also it has
not any kind of maintenance feature to use into it.
ACO EDGE DETECTION
49 | P a g e
RReessuullttss AAnndd SSccrreeeenn
SShhoottss
ACO EDGE DETECTION
50 | P a g e
CHAPTER 4
RESULTS AND SCREEN SHOTS
While working upon all the domains and all the preliminaries the user will
observe that what kind of activity will going on and how much it is
accurate so here we will show the results and screen slots.
(a) (b) (c) (d)
Fig. 8. Test images used in this paper: (a) Camera (128 × 128); (b) House (128×128); (c) Lena (128×128); and (d)
Pepper (128×128).
ACO EDGE DETECTION
51 | P a g e
For Camera
(a) (b)
(c ) (d)
(e) (f)
Fig 9. Various extracted edge information of the test image Camera: (a) the original image; (b) Nezamabadi-Pour et
al.‟s method ; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function;
(d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
(e) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
and (f) the proposed ACObased image edge detection algorithm with the incorporation of the function.
ACO EDGE DETECTION
52 | P a g e
For House
(a) (b)
(c ) (d)
(e) (f)
Fig. 10. Various extracted edge information of the test image House: (a) the original image;
(b) Nezamabadi-Pour et al.‟s method ;
(c) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
(d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
(e) the proposed ACO-based image edge detection algorithm with the incorporation of the function;
and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .
ACO EDGE DETECTION
53 | P a g e
For Lena
(a) (b)
(c ) (d)
(e) (f)
Fig. 11. Various extracted edge information of the test image Lena: (a) the original image;
(b) Nezamabadi-Pour et al.‟s method; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function;
(d) the proposed ACO-based image edge detection algorithm with the incorporation of the function;
(e) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .
ACO EDGE DETECTION
54 | P a g e
For Pepper
(a) (b)
(c ) (d)
(e) (f)
Fig. 12. Various extracted edge information of the test image Pepper: (a) the original image;
(b) Nezamabadi-Pour et al.‟s method ;
(c) the proposed ACO-based image edge detection algorithm with the incorporation of the function; (d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ;
(e) the proposed ACO-based image edge detection algorithm with the incorporation of the function;
and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .
ACO EDGE DETECTION
55 | P a g e
CHAPTER 5
CONCLUSION AND FUTURE ASPECT
An ACO-based image edge detection algorithm that takes advantage of the
improvements introduced in ACS has been successfully developed and
tested. Experimental results show the feasibility of the approach in
identifying edges in an image. With suitable parameter values, the algorithm
was able to successfully identify edges in the canonical test images. It must
be noted that the appropriate parameter values depend on the nature of the
image, and thus, may vary per application. As a continuation of this Project,
it is recommended to further examine how the quality of the extracted edges is
affected by the parameter values and the functions for obtaining the heuristic
information, for quantifying the quality of a solution, and for computing how
much pheromone to deposit. In a study on a simplified ACO algorithm, it was
shown that the basic properties of ACO are critical to the success of the algorithm,
specially when solving more complex problems. In recent studies, techniques that
could enhance the performance of ACS have been explored. In, ants are
assigned different pheromone sensitivity levels, which makes some ants more
sensitive to pheromone than the others. In, multiple ant colonies with new
communication strategies were employed. The proposed ACS method for edge
detection could be extended and possibly be improved by making use of such
techniques.
ACO EDGE DETECTION
56 | P a g e
AAppppeennddiicceess
ACO EDGE DETECTION
57 | P a g e
Ant Colony Optimization
The Ant Colony Optimization algorithm (ACO) is a probabilistic technique for
solving computational problems which can be reduced to finding good paths
through graphs.
In the natural world, ants (initially) wander randomly, and upon finding food return
to their colony while laying down pheromone trails. If other ants find such a path,
they are likely not to keep travelling at random, but to instead follow the trail,
returning and reinforcing it if they eventually find food (see Ant communication).
Over time, however, the pheromone trail starts to evaporate, thus reducing its
attractive strength. The more time it takes for an ant to travel down the path and
back again, the more time the pheromones have to evaporate. A short path, by
comparison, gets marched over more frequently, and thus the pheromone density
becomes higher on shorter paths than longer ones. Pheromone evaporation also has
the advantage of avoiding the convergence to a locally optimal solution. If there
were no evaporation at all, the paths chosen by the first ants would tend to be
excessively attractive to the following ones. In that case, the exploration of the
solution space would be constrained.
AGENTS (Artificial Ants)
Artificial Ants stand for multi-agent methods inspired by the behavior of
real ants. The pheromone-based communication of biological ants is often
the predominant paradigm used.[2]
Combinations of Artificial Ants and local
search algorithms have become a method of choice for numerous
optimization tasks involving some sort of graph, e. g., vehicle routing and
internet routing. The burgeoning activity in this field has led to conferences
dedicated solely to Artificial Ants, and to numerous commercial applications
by specialized companies such as AntOptima. As an example, Ant colony
optimization[3]
is a class of optimization algorithms modeled on the actions
of an ant colony. Artificial 'ants' (e.g. simulation agents) locate optimal
solutions by moving through a parameter space representing all possible
ACO EDGE DETECTION
58 | P a g e
solutions. Real ants lay down pheromones directing each other to resources
while exploring their environment. The simulated 'ants' similarly record their
positions and the quality of their solutions, so that in later simulation
iterations more ants locate better solutions.[4]
One variation on this approach
is the bees algorithm, which is more analogous to the foraging patterns of
the honey bee, another social insect.
CO- COMBINATIONTORIAL OPTIMIZATION
Combinatorial optimization is a subset of mathematical optimization that is
related to operations research, algorithm theory, and computational complexity
theory. It has important applications in several fields, including artificial
intelligence, machine learning, mathematics, auction theory, and software
engineering.
combinatorial optimization is a topic that consists of finding an optimal object
from a finite set of objects.[1]
In many such problems, exhaustive search is not
feasible. It operates on the domain of those optimization problems, in which the
set of feasible solutions is discrete or can be reduced to discrete, and in which
the goal is to find the best solution. Some common problems involving
combinatorial optimization are the traveling salesman problem ("TSP") and the
minimum spanning tree problem.
ACS-ANT COLONY SYSTEM
In the natural world, ants (initially) wander randomly, and upon finding food return
to their colony while laying down pheromone trails. If other ants find such a path,
they are likely not to keep travelling at random, but to instead follow the trail,
returning and reinforcing it if they eventually find food.
Thus, when one ant finds a good (i.e., short) path from the colony to a food source,
other ants are more likely to follow that path, and positive feedback eventually
leads all the ants following a single path. The idea of the ant colony algorithm is to
mimic this behavior with "simulated ants" walking around the graph representing
the problem to solve
ACO EDGE DETECTION
59 | P a g e
PCA (Principal Component Analysis)
Principal component analysis (PCA) is a mathematical procedure that uses an
orthogonal transformation to convert a set of observations of possibly correlated
variables into a set of values of linearly uncorrelated variables called principal
components. The number of principal components is less than or equal to the
number of original variables. This transformation is defined in such a way that the
first principal component has the largest possible variance (that is, accounts for as
much of the variability in the data as possible), and each succeeding component in
turn has the highest variance possible under the constraint that it be orthogonal to
(i.e., uncorrelated with) the preceding components.
PCA is closely related to factor analysis. Factor analysis typically incorporates
more domain specific assumptions about the underlying structure and solves
eigenvectors of a slightly different matrix.
ACO EDGE DETECTION
60 | P a g e
Software Development Life Cycle
1. System Study
The objective of this study is to identify what is needed from the system and not
how the system will achieve its goal. It consists of problem recognition and
requirement specification .the various input and output to and from the system and
standards have to be documented. The important data identities and the various
processes have to be identified. At the end of the study a document containing all
the functional specifications with version control has to be prepared.
2. System Design and Analysis
This involves modeling information flow (data and control floe both). The whole
system has to be divided into hierarchy involving modules and sub modules.
3. Coding
This involves designing of interface and coding of algorithm. The code designing
and layout has to be approved by the project leader by giving the walk through and
the changes incorporated
4. Testing
Testing is used to ensure the correctness of the software. A test plan is generated
with all possible test cases and used for testing
ACO EDGE DETECTION
61 | P a g e
ACO EDGE DETECTION
62 | P a g e
RReeffeerreenncceess
ACO EDGE DETECTION
63 | P a g e
REFERENCES
[1] M. Dorigo and S. Thomas, Ant Colony Optimization. Cambridge: MIT Press, 2004.
[2] H.-B. Duan, Ant Colony Algorithms: Theory and Applications. Beijing: Science Press, 2005.
[3] M. Dorigo, V. Maniezzo, and A. Colorni, “Ant system: Optimization by a colony of
cooperating agents,” IEEE Trans. on Systems, Man and Cybernetics, Part B, vol. 26, pp. 29–41,
Feb. 1996.
[4] M. Dorigo, M. Birattari, and T. Stutzle, “Ant colony optimization,” IEEE Computational
Intelligence Magazine, vol. 1, pp. 28–39, Nov. 2006.
[5] T. Stutzle and H. Holger H, “Max-Min ant system,” Future Generation Computer Systems,
vol. 16, pp. 889–914, Jun. 2000.
[6] M. Dorigo and L. M. Gambardella, “Ant colony system: A cooperative learning approach to
the traveling salesman problem,” IEEE Trans. on
Evolutionary Computation, vol. 1, pp. 53–66, Apr. 1997.
[7] M. Dorigo, G. D. Caro, and T. Stutzle, Special Issue on Ant Algorithms, Future Generation
Computer Systems, vol. 16, Jun. 2000.
[8] O. Cordon, F. Herrera, and T. Stutzle, Special Issue on Ant Colony Optimization: Models
and Applications, Mathware and Soft Computing, vol. 9, Dec. 2002.
[9] M. Dorigo, L. M. Gambardella, M. Middendorf, and T. Stutzle, Special Issue on Ant Colony
Optimization, IEEE Transactions on Evolutionary Computation, vol. 6, Jul. 2002.
[10] H. Zheng, A. Wong, and S. Nahavandi, “Hybrid ant colony algorithm for texture
classification,” in Proc. IEEE Congress on Evolutionary.
[11]Dorigo M, Blum C. Ant colony optimization theory: A survey. Theoret comput Sci
2005;344(2–3):243–78.
[12] Dorigo, Di Caro, Gambardella 1999.
[13] M. Dorigo, Ant colony optimization web
page,http://iridia.ulb.ac.be/mdorigo/ACO/ACO.html.
[14] M. Dorigo and G. Di Caro, “The Ant Colony Optimization meta-heuristic”, in New Ideas in
Optimization, D. Corne et al., Eds., McGraw Hill,London, UK, pp. 11-32, 1999.
[15] Maniezzo V, Colorni A. The Ant System applied to the quadratic assignment problem.
IEEE Trans Data Knowledge Engrg 1999;11(5):769–78.
ACO EDGE DETECTION
64 | P a g e
[16] Rudra Pratap” Matlab”
[17]Wikipedia.
[18]M.Dorigo et al.(Eds.): ANTS 2002, LNCS 2463, pp.53-64,2002 © Springer-Verlag
Berlin Heidelberg 2002
[19]. M.Solomon, Algorithms for the Vehicle Routing and Scheduling Problem with
Time Window Constraints, Operations Research 35,1987,254-265
[20] J.Y.Povin, S.Bengio, The Vehicle Routing Problem with Time Windows . Part II:
Genetic Search, INFORMS Journal of Computing 8, 1996,165-172
[21] Ant Colony for the traveling salesman problem TR/IRIDIA/1996-3 Universite libre
de Bruxelles, Belgium
[22] Dorigo, M., Maniezzo, V. and Colorni, A., 1996, The Ant System: Optimization
by a colony of cooperating agents. IEEE Transactions on Systems, Man, and
Cybernetics.Part B, 26, 29.41.
[23] MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems
with Time Windows. Technical Report IDSIA -06-99, Lugano, Switzerland,
1999
[24] P. Kilby, P. Prosser, P. Shaw, Guided Local Search for the Vehicle Routing
Problems With Time Windows, in Meta-heuristics: Advances and Trends in Local
Search for Optimization, S.Voss, S. Martello, I.H. Osman and
C.Roucairol (eds.), Kluwer Academic Publishers, Boston, 1999, 473-486.
[25] B. Bullnheimer, R. F. Hartl, C. Strauss, An Improved Ant System Algorithm for
the Vehicle Routing Problem, Technical Report POM-10/97, Institute of
Management Science, University of Vienna, Austria, 1997. Accepted for
publication in Annals of Operations Research.
[26] R. Cordone, R. Wolfler-Calvo, A Heuristic for the Vehicle Routing Problem with
Time Windows. To appear in Journal of Heuristics.
[27] M. Dorigo, V. Maniezzo, A. Colorni, The Ant System: Optimization by a Colony
of Cooperating Agents, IEEE Transactions on Systems, Man, and
Cybernetics.Part B 26, 1996, 29-41.
[28] M. Dorigo, G. Di Caro, L. M. Gambardella, Ant Algorithms for Discrete
Optimization, Technical ReportIRIDIA/98-10, Université Libre de Bruxelles,
Belgium, 1998. Accepted for publication in Artificial Life.
ACO EDGE DETECTION
65 | P a g e
[29] É. D. Taillard, FANT: Fast Ant System, Technical Report IDSIA-46-98, IDSIA,
Lugano, Switzerland, 1998.
[30] Bullnheimer, B.,Hartl,R.and Strauss, C: Applying the Ant System to the Vehicle
Routing Problem. Meta-Heuristics: Advances and Trends in Local Search
Paradigms for Optimization Kluwer:Boston(1997)
[31] An Experimental Study of a Simple Ant Colony System for the Vehicle Routing
Problem with Time Windows. Ismail Ellabib, Otman A.Basir, Paul Calamai.