Evolving Edge detection Final project by Rubshtein Andrey (303468490)

Slides:



Advertisements
Similar presentations
High Resolution studies
Advertisements

1 UM Stratego Collin Schepers Daan Veltman Enno Ruijters Leon Gerritsen Niek den Teuling Yannick Thimister.
Correct your own answers!
Generative Design in Civil Engineering Using Cellular Automata Rafal Kicinger June 16, 2006.
Augmented Negative Selection Algorithm with Variable-Coverage Detectors Zhou Ji, Zhou Ji, St. Jude Childrens Research Hospital Dipankar Dasgupta, Dipankar.
Antony Lewis Institute of Astronomy, Cambridge
2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt ShapesPatterns Counting Number.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 10 second questions
Year 6 mental test 15 second questions Numbers and number system Numbers and the number system, Measures and Shape.
Lecture 2 ANALYSIS OF VARIANCE: AN INTRODUCTION
Environmental Remote Sensing GEOG 2021
Spoofing State Estimation
Factoring Quadratics — ax² + bx + c Topic
1 Challenge the future Subtitless On Lightweight Design of Submarine Pressure Hulls.
Online Algorithm Huaping Wang Apr.21
2 |SharePoint Saturday New York City
1 Analysis of Random Mobility Models with PDE's Michele Garetto Emilio Leonardi Politecnico di Torino Italy MobiHoc Firenze.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Local Search Algorithms
A real-time adaptive trading system using Genetic Programming QF5205 : Topics in Quantitative Finance Donny Lee Nadim Mouchonnet.
While Loop Lesson CS1313 Spring while Loop Outline 1.while Loop Outline 2.while Loop Example #1 3.while Loop Example #2 4.while Loop Example #3.
Artificial Intelligence
1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
12.1 – Arithmetic Sequences and Series
DTU Informatics Introduction to Medical Image Analysis Rasmus R. Paulsen DTU Informatics TexPoint fonts.
Datorteknik IntegerAddSub bild 1 Integer arithmetic Depends what you mean by "integer" Assume at 3-bit string. –Then we define zero = 000 one = 001 Use.
Bottoms Up Factoring. Start with the X-box 3-9 Product Sum
11.2 Arithmetic Sequences & Series
Simple Linear Regression Analysis
Insertion Sort Introduction to Algorithms Insertion Sort CSE 680 Prof. Roger Crawfis.
Completing the Square Topic
Learning to Coordinate Behaviors Pattie Maes & Rodney A. Brooks Presented by: Javier Martinez.
User Defined Functions Lesson 1 CS1313 Fall User Defined Functions 1 Outline 1.User Defined Functions 1 Outline 2.Standard Library Not Enough #1.
1 Undirected Graphical Models Graphical Models – Carlos Guestrin Carnegie Mellon University October 29 th, 2008 Readings: K&F: 4.1, 4.2, 4.3, 4.4,
Chapter 5 The Mathematics of Diversification
Set Based Search Modeling Examples II
CS6800 Advanced Theory of Computation
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
Valery Frolov.  The algorithm  Fitness function  Crossover  Mutation  Elite individuals  Reverse mutations  Some statistics  Run examples.
Mahmoud S. Hamid, Neal R. Harvey, and Stephen Marshall IEEE Transactions on Circuits and Systems for Video Technology, 2003 Genetic Algorithm Optimization.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Genetic Algorithms  An example real-world application.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Brandon Andrews.  What are genetic algorithms?  3 steps  Applications to Bioinformatics.
Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
GENETIC ALGORITHMS.  Genetic algorithms are a form of local search that use methods based on evolution to make small changes to a popula- tion of chromosomes.
Evolving Motor Techniques for Artificial Life Kelley Hecker Period 7.
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Evolutionary Art (What we did on our holidays) David Broadhurst Dan Costelloe Lynne Jones Pantelis Nasikas Joanne Walker.
Robot Intelligence Technology Lab. Generalized game of life YongDuk Kim.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
An application of the genetic programming technique to strategy development Presented By PREMKUMAR.B M.Tech(CSE) PONDICHERRY UNIVERSITY.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
Genetic Algorithms.
Genetic Algorithms.
Evolving Logical-Linear Edge Detector with Evolutionary Algorithms
EE368 Soft Computing Genetic Algorithms.
Presentation transcript:

Evolving Edge detection Final project by Rubshtein Andrey ( )

Introduction Is it possible for a living creature to evolve vision? Is it possible for a living creature to evolve vision? Is it possible for a living creature to evolve at least an edge detector? Is it possible for a living creature to evolve at least an edge detector?

A bit about Genetic Algorithms Simulates an environment in which there are “living creatures” Simulates an environment in which there are “living creatures” They are called Genomes. They are called Genomes. Each Genome has some parameters Each Genome has some parameters There exists a global fitness function which tells how successful a Genome is. There exists a global fitness function which tells how successful a Genome is. There exists a Population of some Genomes There exists a Population of some Genomes There are many Generations There are many Generations

More about Genetic Algorithms Each generation consist of 3 stages: Selection – The more fit are chosen. Selection – The more fit are chosen. Crossover – Some genomes are crossed, while inheriting their parents properties. Crossover – Some genomes are crossed, while inheriting their parents properties. Mutation – Some Genomes are randomly changed, with a slight variation. Mutation – Some Genomes are randomly changed, with a slight variation. We hope that after some generations, we get more fitted Genomes. We hope that after some generations, we get more fitted Genomes.

The Goal Assumptions: Each living creature can perform a convolution, with a constant mask, which is coded into his Genome. Each living creature can perform a convolution, with a constant mask, which is coded into his Genome. The creatures that detect edges better, survive better. The creatures that detect edges better, survive better. There exists an ideal edge detector. There exists an ideal edge detector.

More about the Goals Is it possible to develop, by means of natural selection, a good edge detector? Is it possible to develop, by means of natural selection, a good edge detector? Is it possible to achieve that using only convolution type edge detectors, while the perfect edge picture is not? Is it possible to achieve that using only convolution type edge detectors, while the perfect edge picture is not?

Ideal edge detector Canny’s edge detector was chosen as an ideal edge detector. Canny’s edge detector was chosen as an ideal edge detector. Why Canny? Has an impressive results, and uses much more advanced techniques than convolutions Why Canny? Has an impressive results, and uses much more advanced techniques than convolutions So it’s challenging to try to evolve to it. So it’s challenging to try to evolve to it.

About the simulation The genome structure A 3x3 Matrix A 3x3 Matrix Each of the cells is in the range [-255,255] Each of the cells is in the range [-255,255] A threshold value in the range [0,255] A threshold value in the range [0,255] Threshold = 50

Fitness

About similarity Measure Both images are binary after threshold Both images are binary after threshold The measure is : The measure is : Similarity[x,y]=Sum[x OR y] / Sum[ x AND y]

Why this measure is good? It is symmetric : Sim[x,y]=Sim[y,x] It is symmetric : Sim[x,y]=Sim[y,x] It has the range of [0,1] It has the range of [0,1] It is simple to implement It is simple to implement It is “reflexive” – Sim[x,x]=1 It is “reflexive” – Sim[x,x]=1 It doesn’t give extra points for pictures which have a common non-edge (0 ) pixel. It doesn’t give extra points for pictures which have a common non-edge (0 ) pixel. It reduces points for false positive edges, and false negative edges. It reduces points for false positive edges, and false negative edges.

Why this measure isn’t good A small movement in the picture results in a low similarity rate A small movement in the picture results in a low similarity rate The measure takes into account single pixels, which isn’t the goal in edge detection The measure takes into account single pixels, which isn’t the goal in edge detection A better measure would have been perhaps one that takes into account the shape of the edges (Geshtalt) A better measure would have been perhaps one that takes into account the shape of the edges (Geshtalt)

The Test Subjects

The numbers (The simplest)

The Guitar (Medium)

The dog (Hardest)

The results After a few generations, the Genomes learn to somehow detect edges. After a few generations, the Genomes learn to somehow detect edges. Yet even in the easy pictures, the evolution fails to get a good ratio of similarity ( Usually less than 0.3) Yet even in the easy pictures, the evolution fails to get a good ratio of similarity ( Usually less than 0.3) But, we see an impressive results, when looking with our eyes. But, we see an impressive results, when looking with our eyes.

Evolution of numbers (The ideal)

Generation 5 Sim=0.11

Generation 10 Sim=0.13

Generation 20 Sim=0.23

Generation 30 Sim=0.25

Generation 40 Sim=0.27

Generation 80 Sim=0.28

Generation 100 Sim=0.29

Generation 110 Sim=0.32

Results for easy pictures It is amazing that we’ve managed to evolve something close to the ideal It is amazing that we’ve managed to evolve something close to the ideal Then again, the similarity rate is low Then again, the similarity rate is low

Evolution of Dog (The ideal)

Generation 10 Sim=0.05

Generation 100 Sim=0.10

Generation 300 Sim=0.16

Results for hard pictures The evolution finds some solution, yet it isn’t as good as wanted The evolution finds some solution, yet it isn’t as good as wanted The similarity rate is very low The similarity rate is very low

Conclusions It is easy to evolve some kind of edge detector It is easy to evolve some kind of edge detector It is hard to evolve a good edge detector, in terms of similarity It is hard to evolve a good edge detector, in terms of similarity It seems that an edge detector evolved from one picture isn’t good for another picture. It seems that an edge detector evolved from one picture isn’t good for another picture.

Why the results are bad: Canny is a very sophisticated edge detector. Perhaps it’s impossible to imitate it using only convolutions? Canny is a very sophisticated edge detector. Perhaps it’s impossible to imitate it using only convolutions? Perhaps the similarity measure isn’t suitable for this problem. Perhaps using another similarity it’s possible to get better results. Perhaps the similarity measure isn’t suitable for this problem. Perhaps using another similarity it’s possible to get better results.

The end Thank you for listening :-)