Automatic Feature Generation for Endoscopic Image Classification
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.
Automatic Feature Generation for Endoscopic Image Classification
E N D
Presentation Transcript
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