12 August 2015 Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair for.

Slides:



Advertisements
Similar presentations
Real-Time Template Tracking
Advertisements

Procedures and Functions. What are they? They are both blocks of code that can be reused to perform specific task. However there is a difference: Function-
Chapter 8 ICS 412. Code Generation Final phase of a compiler construction. It generates executable code for a target machine. A compiler may instead generate.
Technische Universität München Face Model Fitting based on Machine Learning from Multi-band Images of Facial Components Institute for Informatics Technische.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
The Assembly Language Level
Automatic determination of skeletal age from hand radiographs of children Image Science Institute Utrecht University C.A.Maas.
Face Recognition & Biometric Systems Support Vector Machines (part 2)
São Paulo Advanced School of Computing (SP-ASC’10). São Paulo, Brazil, July 12-17, 2010 Looking at People Using Partial Least Squares William Robson Schwartz.
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Selecting Informative Genes with Parallel Genetic Algorithms Deodatta Bhoite Prashant Jain.
Pattern Recognition. Introduction. Definitions.. Recognition process. Recognition process relates input signal to the stored concepts about the object.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
16 November, 2005 Statistics in HEP, Manchester 1.
Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair for Computer Aided.
Matthias Wimmer, Sylvia Pietzsch, Freek Stulp and Bernd Radig Chair for Image Understanding Institute for Computer Science Technische Universität München.
DSP-FPGA Based Image Processing System Final Presentation Jessica Baxter  Sam Clanton Simon Fung-Kee-Fung Almaaz Karachi  Doug Keen Computer Integrated.
Genetic Programming.
Methods in Medical Image Analysis Statistics of Pattern Recognition: Classification and Clustering Some content provided by Milos Hauskrecht, University.
Invitation to Computer Science 5th Edition
Machine Learning CUNY Graduate Center Lecture 3: Linear Regression.
Genetic Algorithm.
A Genetic Algorithms Approach to Feature Subset Selection Problem by Hasan Doğu TAŞKIRAN CS 550 – Machine Learning Workshop Department of Computer Engineering.
Comparing the Parallel Automatic Composition of Inductive Applications with Stacking Methods Hidenao Abe & Takahira Yamaguchi Shizuoka University, JAPAN.
Efficient Model Selection for Support Vector Machines
INTRODUCTION TO COMPUTING CHAPTER NO. 06. Compilers and Language Translation Introduction The Compilation Process Phase 1 – Lexical Analysis Phase 2 –
Face Model Fitting with Generic, Group-specific, and Person- specific Objective Functions Chair for Image Understanding and Knowledge-based Systems Institute.
Dale Roberts Procedural Programming using Java Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
1 Semantic Analysis Aaron Bloomfield CS 415 Fall 2005.
Genetic Algorithms by using MapReduce
Computer Science Department Data Structure & Algorithms Lecture 8 Recursion.
Window-based models for generic object detection Mei-Chen Yeh 04/24/2012.
Comparison of Differential Evolution and Genetic Algorithm in the Design of a 2MW Permanent Magnet Wind Generator A.D.Lilla, M.A.Khan, P.Barendse Department.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
A new Programming Paradigm inspired by Algorithmic Chemistries UPP 2004 September 2004 Wolfgang Banzhaf, Memorial University of Newfoundland, Canada and.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
1 Computing in High Energy and Nuclear Physics, February 2006, Mumbai, India.
Exploiting Context Analysis for Combining Multiple Entity Resolution Systems -Ramu Bandaru Zhaoqi Chen Dmitri V.kalashnikov Sharad Mehrotra.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
Mining Binary Constraints in Feature Models: A Classification-based Approach Yi Li.
*Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004) Making the Best of Your Data - Offloading Visualization Tasks onto the Grid.
Image Classification for Automatic Annotation
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke Presented by: Xia Cheng.
Face Image-Based Gender Recognition Using Complex-Valued Neural Network Instructor :Dr. Dong-Chul Kim Indrani Gorripati.
GENDER AND AGE RECOGNITION FOR VIDEO ANALYTICS SOLUTION PRESENTED BY: SUBHASH REDDY JOLAPURAM.
10th of June 2005 Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair.
Linear Analysis and Optimization of Stream Programs Masterworks Presentation Andrew A. Lamb 4/30/2003 Professor Saman Amarasinghe MIT Laboratory for Computer.
Overview of Compilation Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Principles Lecture 2.
Intro. ANN & Fuzzy Systems Lecture 16. Classification (II): Practical Considerations.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Genetics in EACirc DESCRIPTION OF THE COMPONENTS BASED ON EVOLUTION.
1 Munther Abualkibash University of Bridgeport, CT.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithm(GA)
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Introduction to Genetic Algorithms
Basic machine learning background with Python scikit-learn
Project Implementation for ITCS4122
CS 3304 Comparative Languages
Subject: Language Processor
Multivariate Methods Berlin Chen
Chapter 10: Compilers and Language Translation
Realtime Recognition of Orchestral Instruments
Lecture 16. Classification (II): Practical Considerations
Presentation transcript:

12 August 2015 Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Automatic Feature Generation for Endoscopic Image Classification Ulrich Klank

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Endoscopic Image Classification  Synchronization of surgeries by phases is essential for Workflow Project 1  Analyzing endoscopic images supports the classification of the current state into a phase. 1 A. Ahmadi, T. Sielhorst, R. Stauder, M. Horn, H. Feussner, N. Navab -Recovery of surgical workflow without explicit models

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Task  How can these images be classified into surgical phases?  Or if they can’t be classified well enough, which features can be added to the rest of the information?

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Definition of a Feature  Feature as representation of discriminative information  Numerical vector calculated out of the image  Reduction of the dimension  Features  Basic: Gradient/Color/Motion Histogram  Integral image 1  Phase concruency 2 Gradient Histogram 1 Viola, Jones- Robust Real-time Object Detection 2 Kovesi - Image Features from Phase Congruency

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Feature Space  With a limit to algorithms with an output smaller or equal than the input we get a number of injective function about: depending on the dimension of the input vector d and the number of different values c which are possible in the input.  Exploration of this space with Genetic Programming 1  A method to explore a high dimensional space  Fitness function influences the resulting features 1 Feature Extraction from Multiple Data Sources Using Genetic Programming - John J. Szymanski,* Steven P. Brumby, Paul Pope, Damian Eads, Diana Esch-Mosher,Mark Galassi, Neal R. Harvey, Hersey D.W. McCulloch, Simon J. Perkins, Reid Porter,James Theiler, A. Cody Young, Jeffrey J. Bloch and Nancy David ( c d ) c d ( c d ¡ 1 ) 2

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Feature Generation by Genetic Programming 12 Mutation Evaluation Code 1 Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, Frank D. Francone - Genetic Programming: An Introduction 2 Koza - Genetic Programming

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Implementation Steps  Definition of a programming language (more)(more)  Designed for recombination and mutation  Designing a Framework to run programs  Translation of basic features in the new language  Evaluation of the fitness of programs  Recombination and Mutation

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu An Example as Proof of Concept  Implementation of a color histogram in the new language  Test on an easy sample, 6 images(10*10*RGB, jpeg) in 3 classes:  Dimension of input here (cd):

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example  The Fitness Function is the core of the system

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example Comparison of several Programs P i P1P1 P1P1 P2P2 P2P2 …

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example A random selection of the labeled input I k several from of each class P1P1 P1P1 P2P2 P2P2 … I1I1 I2I2 I3I3

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example Execution of the program with every selected input I k As result there are output vectors: P1P1 P1P1 P2P2 P2P2 … I1I1 I2I2 I3I3 o 11 ; o 12 ¢¢¢ o 23

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example Compare each pair of output vectors of one Program, by the distance P1P1 P1P1 P2P2 P2P2 … I1I1 I2I2 I3I3 d i k ; l = P l en m = 0 ( o i k [ m ] ¡ o i l [ m ]) 2 (j o i k [ m ]j + j o i l [ m ]j) 2 o 11 ; o 12 ¢¢¢ o 23

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the Example Select the maximum of these distances, only considering pairs of different classes: P1P1 P1P1 P2P2 P2P2 … I1I1 I2I2 I3I3 o 11 ; o 12 ¢¢¢ o 23 d i k ; l = P l en m = 0 ( o i k [ m ] ¡ o i l [ m ]) 2 (j o i k [ m ]j + j o i l [ m ]j) 2 Now we have two classes k, l which our feature separates argmax kl ( d i kl j k : c l ass 6 = l : c l ass )

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evaluation of the example Subtract the distances in images of the classes k or l P1P1 P1P1 P2P2 P2P2 … I1I1 I2I2 I3I3 o 11 ; o 12 ¢¢¢ o 23 d i k ; l = P l en m = 0 ( o i k [ m ] ¡ o i l [ m ]) 2 (j o i k [ m ]j + j o i l [ m ]j) 2 f i = d i kl ¡ d i kk + d i ll 2 argmax kl ( d i kl j k : c l ass 6 = l : c l ass )

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu 3.1 Results in this Example New Program

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Fitness in the Example:  Input Program was calculating a Color Histogram (Output length 512 in ~2000 steps), resulting fitness: ~ 1.2 %  The new generated program calculated one number (in 30 steps) and got a fitness of: ~ 98.8 % P1P1 P1P1 P2P2 P2P2

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Evolution Technique used in the Example  Selection of the two best Program and generation several children by these two methods:  One parental program: Mutation  Adding of random commands  Removing a single commands1  Duplicating an existing command  Switching commands  Two parental programs: Breeding  Mixing both, preferring blocks of a specific size  Adding random commands in the gaps between P1P1 P1P1 P 11 P1P1 P1P1 P2P2 P2P2 P12P12 P12P12

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Conclusion  The concept seems to work  Adaptation to workflow project’s data can start

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Steps to adapt it to the Workflow project  Adapt fitness function (more)(more)  Change Genetic rules (more)(more)  Optimize the framework  Generate C code out of the intermediate language

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Any Questions?

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Appendix

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Planned Improvements in the Genetic rules  Probability to survive should depend on the fitness of all other existing programs  Even a program with a low fitness should have a small change to survive  Also the reproduction should not be restricted to the best program Back

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Fitness  Actual fitness expresses:  Linear separation of two classes  Further improvements:  Static Analysis of Code 1  Semantic Checks  to prevent running in infinite loops  to prevent the execution of programs not using the input  …  Other Classifiers to evaluate the output 1 Colin G. Johnson-Deriving genetic programming fitness properties by static analysis Back

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Specification of the language  Assembler style with some high level functions  1 Opcode and 3 Arguments for one command  High level examples:  Reading of the input and its dimensions  For loops  Adding of more functions possible Back

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Scheme for the programming language OPCode1.Parameter2. Parameter3. Parameter 010 For counter to stack 0 From Constant 100 To Constant 65 End of the loop Constant 123 Read pixel Value to stack x From stack 20 y Constant … …

CAMP | Department of Computer Science | Technische Universität München | 12 August Chair for Computer Aided Medical Procedures & Augmented Reality | wwwnavab.cs.tum.edu Generated Program (without nops) INPUTDIMENSION SAVE INPUTDIMENSION SAVE FOR LOAD LOAD SAVE LOAD POP READINPUT LOAD POP PUSH SAVE PUSH MULTIPLY LOAD PLUS PLUS PLUS JUMP DIVIDE PUSH LOAD LOAD RETURN JUMP FOR