1 / 27

Automatic Feature Generation for Endoscopic Image Classification

Automatic Feature Generation for Endoscopic Image Classification. Ulrich Klank. 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.

Download Presentation

Automatic Feature Generation for Endoscopic Image Classification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatic Feature Generation for Endoscopic Image Classification Ulrich Klank

  2. Endoscopic Image Classification • Synchronization of surgeries by phases is essential for Workflow Project1 • Analyzing endoscopic images supports the classification of the current state into a phase. 1A. Ahmadi, T. Sielhorst, R. Stauder, M. Horn, H. Feussner, N. Navab -Recovery of surgical workflow without explicit models

  3. 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?

  4. 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 image1 • Phase concruency2 Gradient Histogram 1Viola, Jones- Robust Real-time Object Detection 2 Kovesi - Image Features from Phase Congruency

  5. ( ) d d ¡ 1 c c ( ) d 2 c 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 Programming1 • 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

  6. Feature Generation by Genetic Programming12 Code Evaluation Mutation 1Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, Frank D. Francone - Genetic Programming: An Introduction 2 Koza - Genetic Programming

  7. Implementation Steps • Definition of a programming language (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

  8. 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): 76.800

  9. Evaluation of the Example • The Fitness Function is the core of the system

  10. Evaluation of the Example Comparison of several Programs Pi P1 P2 …

  11. Evaluation of the Example P1 P2 … A random selection of the labeled input Ik several from of each class I1 I2 I3

  12. ¢ ¢ ¢ o o o 1 1 1 2 2 3 ; Evaluation of the Example P1 P2 … Execution of the program with every selected input Ik As result there are output vectors: I1 I2 I3

  13. ¢ ¢ ¢ o o o 1 1 1 2 2 3 ; 2 ( [ ] [ ] ) l ¡ i e n o m o m P k l i i d = k l 2 0 ( j [ ] j j [ ] j ) + m = o m o m k l i i ; Evaluation of the Example P1 P2 … Compare each pair of output vectors of one Program, by the distance I1 I2 I3

  14. 2 ( [ ] [ ] ) l ¡ i e n o m o m P k l i i d = k l 2 0 ( j [ ] j j [ ] j ) + m = o m o m k l i i ; ¢ ¢ ¢ o o o 1 1 1 2 2 3 ; i ( j ) d k l 6 l l a r g m a x c a s s c a s s = k l k l : : Evaluation of the Example P1 P2 … Select the maximum of these distances, only considering pairs of different classes: I1 I2 I3 Now we have two classes k, l which our feature separates

  15. 2 ( [ ] [ ] ) l ¡ i e n o m o m P i k l i i d ( j ) d k l 6 l l = a r g m a x c a s s c a s s = k l k l 2 0 ( j [ ] j j [ ] j ) k l + m : : = o m o m k l i i ; ¢ ¢ ¢ o o o 1 1 1 2 2 3 ; i i d d + i f d k k l l ¡ = i k l 2 Evaluation of the example P1 P2 … Subtract the distances in images of the classes k or l I1 I2 I3

  16. 3.1 Results in this Example < 64 > < 72 > < -16 > New Program < 72 > < -16 > < -16 >

  17. 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 % P1 P2

  18. 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 P1 P1 P2 P11 P12

  19. Conclusion • The concept seems to work  • Adaptation to workflow project’s data can start

  20. Steps to adapt it to the Workflow project • Adapt fitness function (more) • Change Genetic rules (more) • Optimize the framework • Generate C code out of the intermediate language

  21. Any Questions?

  22. Appendix

  23. 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

  24. Fitness • Actual fitness expresses: • Linear separation of two classes • Further improvements: • Static Analysis of Code1 • Semantic Checks • to prevent running in infinite loops • to prevent the execution of programs not using the input • … • Other Classifiers to evaluate the output Back 1 Colin G. Johnson-Deriving genetic programming fitness properties by static analysis

  25. 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

  26. Scheme for the programming language

  27. Generated Program (without nops) MULTIPLY 0 0 0 LOAD 3 0 0 PLUS 0 12604 0 PLUS 0 6457 0 PLUS 31190 0 0 JUMP 55 0 0 DIVIDE 0 0 0 DIVIDE 0 0 0 PUSH 32 0 0 LOAD 1 -1 0 LOAD 2 0 0 RETURN 0 0 0 JUMP 0 0 0 FOR 8 520 58 INPUTDIMENSION0 0 4595026 SAVE 0 -1 0 INPUTDIMENSION1 0 0 SAVE 23367 -1 0 FOR 0 -1 37 LOAD 4 0 0 LOAD 1 0 0 SAVE 5 -1 0 LOAD 5 0 0 POP 0 0 -1 READINPUT -1 -1 -1 LOAD 5 0 -1 POP 0 0 -1 PUSH 64 0 -1 SAVE 3 -1 0 PUSH 8 0 0

More Related