150 likes | 165 Views
Explore automatic generation of features for endoscopic image classification using Genetic Programming. Compare low vs high level approaches and their impact on classification rates. Future work includes multi-phase classification and feature evaluation.
E N D
Automatic Feature Generation for Endoscopic Image Classification Ulrich Klank Supervisor: Advisor: Nicolas Padoy Prof. Nassir Navab 18 January 2007
Overview • Endoscopic images • Differences • Similarities • Image feature generation using Genetic Programming • A low level approach • A high level approach • An example
Endoscopic Images of two Surgical Phases: OP3 Images from the bag retraction phase (OP3) Images from the cutting and clipping phase (OP3)
…: OP1 Images from the cutting and clipping phase (OP1) Images from the bag retraction phase (OP1)
Low-level Approach - Short Reminder Genetic Programming: combination of low-level operators FOR (With Parameters) PIXEL (With Parameters) ADD MUL PUSH LOAD (With Parameters) … Code Evaluation Mutation
Low-level Approach - Results • Distributed evaluation of programs on several computers (up to 7) • Nearly 10.000 programs evaluated (~300 generations) • First results: • Characteristics of the best programs: • returning a short vector in a short time • Classification rate with a linear classifier is 62% • (64 images of 2 phases of 4 videos)
Problems with the low-level Approach • ~40% of the programs contain major errors like • Infinite running time, stack overflow • No reference to the input image • Resulting programs still has structural similarity to the initial program. More generations needed • Evaluation of a programs is very slow due to the simulation of basic instructions on images How to improve this method?
Existing Software: GENIE • GENIE Software published by: • Los Alamos National Laboratories • First publication ’97, • Commercial version in development • Genetic Programming for segmentation of images • Application example: • Segmentation of Medical Images Using a Genetic Algorithm by Payel Ghosh, Melanie Mitchell (’06)
The Step to a higher level approach Replace the basic commands in a program by higher level operators: Examples for low-level operator : FOR (With Parameters) PIXEL (With Parameters) ADD MUL PUSH LOAD (With Parameters) … Examples for high-level operator : Original Erode (With Parameters) Dilate (With Parameters) CannyEdge (With Parameters) Histogram (With Parameters) Gradient x (With Parameters) MinLoc
Evaluation of a Program • Semantic checks • Input referred? • No infinite loops? • Execution with several inputs • 16 images per phase • 2 phases per video at the moment • 4 videos used for evaluation • A fitness function with 2 components: • A classification of the phases by the output vectors • The average execution time per input
Genetic Concept – Cross Over Program 1 Original Erode (With Parameters) Dilate (With Parameters) CannyEdge (With Parameters) Histogram (With Parameters) Gradient x (With Parameters) MinLoc New Program Program 2 Original Gauss (With Parameters) Histogram (With Parameters) PushImage (With Parameters) Original Gradient y (With Parameters) Max
High-level Approach Benefits • Faster evaluation • Reduced number of commands • Optimized basic image operations (OpenCV) • Resulting programs easier to understand
Current Results: • Running time: 480 ms (in simulation) • Output length: a vector of 48 signed integer • Classification rate: 67% • Rate based on 512 testing images out of 4 videos and 2 phases • Number of generations needed: ~80
Future Work • Completion of the available image operators • Extension to multi-phases classification • Comparison of the fitness function with a standard classifier • Comparison with several standard features • Features evaluation within the workflow segmentation system