SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Climb
A Generic and Dynamic Approach to Image Processing


               Christopher Chedeau


                  June 09, 2010




                                                     logo
Climb

 Introduction
                                                    Erosion
                                                     Definition
                                                     Naive Version
                                                     Genericity Issues
                                                     Final Version

                                                    Morpher
                                                     Morpher Definition
                                                     Content Morpher
              Climb: Common Lisp image processing    Combination

                                                    Demonstration
              Same Genericity as Olena1             Conclusion
              With more Interactivity                Conclusion
                                                     Questions
                                                     Bibliography




                                                        logo
         1
             olena.lrde.epita.fr
2 / 21
Climb


   Erosion
      Definition
                          Erosion
      Naive Version        Definition
                           Naive Version
      Genericity Issues    Genericity Issues
                           Final Version
      Final Version       Morpher
                           Morpher Definition
                           Content Morpher
   Morpher                 Combination

     Morpher Definition    Demonstration

     Content Morpher      Conclusion
                           Conclusion
     Combination           Questions
                           Bibliography


   Demonstration

   Conclusion
      Conclusion
      Questions
      Bibliography
                              logo


3 / 21
Climb


   Erosion
      Definition
                          Erosion
      Naive Version        Definition
                           Naive Version
      Genericity Issues    Genericity Issues
                           Final Version
      Final Version       Morpher
                           Morpher Definition
                           Content Morpher
   Morpher                 Combination

     Morpher Definition    Demonstration

     Content Morpher      Conclusion
                           Conclusion
     Combination           Questions
                           Bibliography


   Demonstration

   Conclusion
      Conclusion
      Questions
      Bibliography
                              logo


4 / 21
Climb

 Erosion Definition
                                                              Erosion
                                                               Definition
                                                               Naive Version
                                                               Genericity Issues
                                                               Final Version

                                                              Morpher
                                                               Morpher Definition
                                                               Content Morpher
                                                               Combination

   ”All the pixels are replaced by the minimum value of the   Demonstration

   pixels around.”                                            Conclusion
                                                               Conclusion
                                                               Questions
                                                               Bibliography




                                                                  logo


5 / 21
Climb

 Erosion Example
                                                       Erosion
                                                        Definition
                                                        Naive Version
                                                        Genericity Issues
                                                        Final Version

                                                       Morpher
                                                        Morpher Definition
                                                        Content Morpher
                                                        Combination

                                                       Demonstration

                                                       Conclusion
                                                        Conclusion
                                                        Questions
                                                        Bibliography




   http://homepages.inf.ed.ac.uk/rbf/HIPR2/erode.htm


                                                           logo


6 / 21
Climb

 Dilation Example
                                                        Erosion
                                                         Definition
                                                         Naive Version
                                                         Genericity Issues
                                                         Final Version

                                                        Morpher
                                                         Morpher Definition
                                                         Content Morpher
                                                         Combination

                                                        Demonstration

                                                        Conclusion
                                                         Conclusion
                                                         Questions
                                                         Bibliography




   http://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htm



                                                            logo


7 / 21
Climb

 Naive Boolean 2D Version
                                                                                         Erosion
                                                                                          Definition
                                                                                          Naive Version
                                                                                          Genericity Issues
   // Loop t h r o u g h a l l t h e v a l i d image p i x e l s                          Final Version
   f o r ( x = 0 ; x < i m g w i d t h ; ++x )                                           Morpher
       f o r ( y = 0 ; y < i m g h e i g h t ; ++y )
                                                                                          Morpher Definition
                                                                                          Content Morpher
         // I n i t i a l i z e t h e o u t p u t image                                   Combination
         n ew i ma g e [ x ] [ y ] = TRUE ;
                                                                                         Demonstration
       // Loop t h r o u g h a l l t h e n e i g h b o r h o o d p i x e l s
   neighborhood :                                                                        Conclusion
       f o r ( i = −n e i g h b w i d t h ; i <= n e i g h b w i d t h ; ++i )            Conclusion
           f o r ( j = −n e i g h b h e i g h t ; j <= n e i g h b h e i g h t ; ++j )    Questions
               i f ( ( x + i >= 0 && x + i < i m g w i d t h ) &&                         Bibliography
                     ( y + j >= 0 && y + j < i m g h e i g h t ) )

                  /∗ A l g o r i t h m ∗/
                  i f ( o l d i m a g e [ x + i ] [ y + j ] == FALSE )
                     new image [ x ] [ y ] = FALSE ;
                     break neighborhood ;




                                                                                             logo


8 / 21
Climb

 Genericity Issues
         Image Structure                                           Erosion
                                                                    Definition

         Neighborhood                                               Naive Version
                                                                    Genericity Issues
                                                                    Final Version

                                                                   Morpher
                                                                    Morpher Definition
                                                                    Content Morpher
                                                                    Combination

                                                                   Demonstration

                                                                   Conclusion
                                                                    Conclusion
                 8-connexity     4-connexity      Custom            Questions
                                                                    Bibliography

         Algorithm
           •   Difference between erosion and dilation? Min / Max
           •   Accumulator
           •   Black Box: Many inputs, Compute a result
         Value Type
           •   Bool, Gray, RGB, ...
           •   Specialize the Accumulator                              logo


9 / 21
Climb

  Final Version
                                                    Erosion
                                                     Definition
                                                     Naive Version
                                                     Genericity Issues
                                                     Final Version
    ( d e f u n e r o s i o n ( img n e i g h b )   Morpher
        ( image−map img                              Morpher Definition
                                                     Content Morpher
            ( accu−r e d u c e n e i g h b           Combination

               ( min−a c c u ) ) ) )                Demonstration

                                                    Conclusion
                                                     Conclusion
                                                     Questions

          Readable Algorithm                         Bibliography



          Small Functions: Easily Unit Testable
          Extensible
          Write Once, Support Everything


                                                        logo


10 / 21
Climb


    Erosion
       Definition
                           Erosion
       Naive Version        Definition
                            Naive Version
       Genericity Issues    Genericity Issues
                            Final Version
       Final Version       Morpher
                            Morpher Definition
                            Content Morpher
    Morpher                 Combination

      Morpher Definition    Demonstration

      Content Morpher      Conclusion
                            Conclusion
      Combination           Questions
                            Bibliography


    Demonstration

    Conclusion
       Conclusion
       Questions
       Bibliography
                               logo


11 / 21
Climb

  Definition
          Alter communication protocol                                           Erosion
                                                                                  Definition
          Non intrusive, Transparent, Memory Free                                 Naive Version
                                                                                  Genericity Issues
          Glue between Objects                                                    Final Version

                                                                                 Morpher
                                                                                  Morpher Definition
                                                                                  Content Morpher
                                                                                  Combination
                                       Value Morpher
                                                                                 Demonstration

                                          Site Set                               Conclusion
                                                                                  Conclusion
                                                            next                  Questions
                                                                                  Bibliography

              Update       set value      Image        get value         Query
                       f                                             f



                           take                             result

                                       Accumulator




                                                                                     logo


12 / 21
Climb

  RGB to Gray Implementation
                                                                               Erosion
                                                                                Definition
                                                                                Naive Version
                                                                                Genericity Issues
                                                                                Final Version

                                                                               Morpher
                                                                                Morpher Definition
                                                                                Content Morpher
                                                                                Combination
          ( make−direct−value−morpher−image
                                                                               Demonstration
              image
                                                                               Conclusion
              ( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) )    Conclusion
              ( lambda ( r g b ) ( / ( r e d u c e #’+ r g b ) 3 ) )            Questions
                                                                                Bibliography




                                                                                   logo


13 / 21
Climb

  Content Morpher
          Work on Sets
                                                       Erosion
          Restriction                                   Definition
                                                        Naive Version
                                 Content Morpher        Genericity Issues
                                    Restriction         Final Version

                                                       Morpher
                                Site Set
                                                        Morpher Definition
                                                        Content Morpher
                               Site                     Combination

                                                       Demonstration
                                      Site

                                                   f   Conclusion
                                                        Conclusion
                               Site
                                                        Questions
                                                        Bibliography

                                       Site




            •   Custom-shaped Site Set
            •   Cropped Image
          Addition
                                                           logo
            •   Image Border
          Ordering
14 / 21
Climb

  Combination
                                                                           Erosion
                                                                            Definition
                                                                            Naive Version
                                                                            Genericity Issues
                                                                            Final Version
                                                                Object 1
                                                                           Morpher
                                                                            Morpher Definition
                   Object 2
                                                                            Content Morpher
                                                                            Combination

                                   Available Concrete Objects              Demonstration

                                                                           Conclusion
                                   Available Content Morphers               Conclusion
                                                                            Questions
                                                                            Bibliography
                                    Available Value Morphers




          Possibilities: Combination of ...
            •   Concrete Objects
            •   Value Morpher
            •   Content Morpher
            •   Repetition                                                     logo


15 / 21
Climb


    Erosion
       Definition
                           Erosion
       Naive Version        Definition
                            Naive Version
       Genericity Issues    Genericity Issues
                            Final Version
       Final Version       Morpher
                            Morpher Definition
                            Content Morpher
    Morpher                 Combination

      Morpher Definition    Demonstration

      Content Morpher      Conclusion
                            Conclusion
      Combination           Questions
                            Bibliography


    Demonstration

    Conclusion
       Conclusion
       Questions
       Bibliography
                               logo


16 / 21
Climb

  Demonstration
    ( d e f p a r a m e t e r l e n a ( load−image ” l e n a . png ” : magick ) )                                Erosion
                                                                                                                  Definition
    ( defparameter gray                                                                                           Naive Version
       ( make−direct−value−morpher−image l e n a                                                                  Genericity Issues
                                         ( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) )           Final Version
                                         ( lambda ( r g b ) ( / ( r e d u c e #’+ r g b ) 3 ) ) ) )              Morpher
                                                                                                                  Morpher Definition
    ( d e f p a r a m e t e r c8 ( make−box ( make−point −1 −1) ( make−point 1 1 ) ) )                            Content Morpher
    ( d e f p a r a m e t e r c4 ( site−set−mask c8 #∗010111010))                                                 Combination

    ( d e f p a r a m e t e r e r o ( e r o s i o n g r a y c4 ) )                                               Demonstration
    ( d e f p a r a m e t e r d i l ( d i l a t i o n g r a y c4 ) )
    ( d e f p a r a m e t e r d i f f ( image−combine−values #’− d i l e r o ) )                                 Conclusion
                                                                                                                  Conclusion
    ( d e f p a r a m e t e r f i n a l ( image−combine−values                                                    Questions
                                          ( lambda ( r g b e d g e )                                              Bibliography
                                              ( i f (> e d g e 5 0 ) ( v e c t o r 255 0 0 ) r g b ) )
                                              lena d i f f ))

    ( save−image f i n a l ” f i n a l . png ” : png )




            Lena             Gray            Erosion            Dilation               Diff               Final       logo


17 / 21
Climb


    Erosion
       Definition
                           Erosion
       Naive Version        Definition
                            Naive Version
       Genericity Issues    Genericity Issues
                            Final Version
       Final Version       Morpher
                            Morpher Definition
                            Content Morpher
    Morpher                 Combination

      Morpher Definition    Demonstration

      Content Morpher      Conclusion
                            Conclusion
      Combination           Questions
                            Bibliography


    Demonstration

    Conclusion
       Conclusion
       Questions
       Bibliography
                               logo


18 / 21
Climb

  Conclusion
                                                                Erosion
                                                                 Definition
                                                                 Naive Version
                                                                 Genericity Issues
          Personal Additions:                                    Final Version

            •   Fusion of Olena Concepts with Functionnal and   Morpher
                                                                 Morpher Definition
                Dynamic Programming                              Content Morpher
                                                                 Combination
            •   Developer Friendly
                                                                Demonstration
          Current
                                                                Conclusion
            •   Basic Morphological Operators                    Conclusion
                                                                 Questions
            •   Morpher System                                   Bibliography

          Future
            •   Genericity on Value Types
            •   More Algorithms and Image Types
            •   Performance



                                                                    logo


19 / 21
Climb

  Questions
                  Erosion
                   Definition
                   Naive Version
                   Genericity Issues
                   Final Version

                  Morpher
    Questions ?    Morpher Definition
                   Content Morpher
                   Combination

                  Demonstration

                  Conclusion
                   Conclusion
                   Questions
                   Bibliography




                      logo


20 / 21
Climb

  Bibliography
          Soille, P. (1999). Morphological Image Analysis -
                                                                   Erosion
          Principles and Applications. Springer-Verlag.             Definition
                                                                    Naive Version
          Geraud, T. and Levillain, R. (2008). Semantics-driven     Genericity Issues
                                                                    Final Version
          genericity: A sequel to the static c++ object-oriented   Morpher
          programming paradigm (Scoop 2). In 6th International      Morpher Definition
                                                                    Content Morpher
          Workshop on Multiparadigm Programming with                Combination

                                                                   Demonstration
          Object-Oriented Languages.
                                                                   Conclusion
          Ballas, N. (2008). Image taxonomy in milena.              Conclusion
                                                                    Questions
          Technical report, EPITA Research and Development          Bibliography

          Laboratory (LRDE).
          Denuziere, L. (2009). CLIMB: A dynamic approach to
          generic image processing. Technical report, EPITA
          Research and Development Laboratory (LRDE).
          Denuziere, L. (2010). Property-based genericity: A
          dynamic approach. Technical report, EPITA Research
                                                                       logo
          and Development Laboratory (LRDE).
21 / 21

Mais conteúdo relacionado

Último

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Climb - A Generic and Dynamic Approach to Image Processing

  • 1. Climb A Generic and Dynamic Approach to Image Processing Christopher Chedeau June 09, 2010 logo
  • 2. Climb Introduction Erosion Definition Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Climb: Common Lisp image processing Combination Demonstration Same Genericity as Olena1 Conclusion With more Interactivity Conclusion Questions Bibliography logo 1 olena.lrde.epita.fr 2 / 21
  • 3. Climb Erosion Definition Erosion Naive Version Definition Naive Version Genericity Issues Genericity Issues Final Version Final Version Morpher Morpher Definition Content Morpher Morpher Combination Morpher Definition Demonstration Content Morpher Conclusion Conclusion Combination Questions Bibliography Demonstration Conclusion Conclusion Questions Bibliography logo 3 / 21
  • 4. Climb Erosion Definition Erosion Naive Version Definition Naive Version Genericity Issues Genericity Issues Final Version Final Version Morpher Morpher Definition Content Morpher Morpher Combination Morpher Definition Demonstration Content Morpher Conclusion Conclusion Combination Questions Bibliography Demonstration Conclusion Conclusion Questions Bibliography logo 4 / 21
  • 5. Climb Erosion Definition Erosion Definition Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Combination ”All the pixels are replaced by the minimum value of the Demonstration pixels around.” Conclusion Conclusion Questions Bibliography logo 5 / 21
  • 6. Climb Erosion Example Erosion Definition Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Combination Demonstration Conclusion Conclusion Questions Bibliography http://homepages.inf.ed.ac.uk/rbf/HIPR2/erode.htm logo 6 / 21
  • 7. Climb Dilation Example Erosion Definition Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Combination Demonstration Conclusion Conclusion Questions Bibliography http://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htm logo 7 / 21
  • 8. Climb Naive Boolean 2D Version Erosion Definition Naive Version Genericity Issues // Loop t h r o u g h a l l t h e v a l i d image p i x e l s Final Version f o r ( x = 0 ; x < i m g w i d t h ; ++x ) Morpher f o r ( y = 0 ; y < i m g h e i g h t ; ++y ) Morpher Definition Content Morpher // I n i t i a l i z e t h e o u t p u t image Combination n ew i ma g e [ x ] [ y ] = TRUE ; Demonstration // Loop t h r o u g h a l l t h e n e i g h b o r h o o d p i x e l s neighborhood : Conclusion f o r ( i = −n e i g h b w i d t h ; i <= n e i g h b w i d t h ; ++i ) Conclusion f o r ( j = −n e i g h b h e i g h t ; j <= n e i g h b h e i g h t ; ++j ) Questions i f ( ( x + i >= 0 && x + i < i m g w i d t h ) && Bibliography ( y + j >= 0 && y + j < i m g h e i g h t ) ) /∗ A l g o r i t h m ∗/ i f ( o l d i m a g e [ x + i ] [ y + j ] == FALSE ) new image [ x ] [ y ] = FALSE ; break neighborhood ; logo 8 / 21
  • 9. Climb Genericity Issues Image Structure Erosion Definition Neighborhood Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Combination Demonstration Conclusion Conclusion 8-connexity 4-connexity Custom Questions Bibliography Algorithm • Difference between erosion and dilation? Min / Max • Accumulator • Black Box: Many inputs, Compute a result Value Type • Bool, Gray, RGB, ... • Specialize the Accumulator logo 9 / 21
  • 10. Climb Final Version Erosion Definition Naive Version Genericity Issues Final Version ( d e f u n e r o s i o n ( img n e i g h b ) Morpher ( image−map img Morpher Definition Content Morpher ( accu−r e d u c e n e i g h b Combination ( min−a c c u ) ) ) ) Demonstration Conclusion Conclusion Questions Readable Algorithm Bibliography Small Functions: Easily Unit Testable Extensible Write Once, Support Everything logo 10 / 21
  • 11. Climb Erosion Definition Erosion Naive Version Definition Naive Version Genericity Issues Genericity Issues Final Version Final Version Morpher Morpher Definition Content Morpher Morpher Combination Morpher Definition Demonstration Content Morpher Conclusion Conclusion Combination Questions Bibliography Demonstration Conclusion Conclusion Questions Bibliography logo 11 / 21
  • 12. Climb Definition Alter communication protocol Erosion Definition Non intrusive, Transparent, Memory Free Naive Version Genericity Issues Glue between Objects Final Version Morpher Morpher Definition Content Morpher Combination Value Morpher Demonstration Site Set Conclusion Conclusion next Questions Bibliography Update set value Image get value Query f f take result Accumulator logo 12 / 21
  • 13. Climb RGB to Gray Implementation Erosion Definition Naive Version Genericity Issues Final Version Morpher Morpher Definition Content Morpher Combination ( make−direct−value−morpher−image Demonstration image Conclusion ( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) ) Conclusion ( lambda ( r g b ) ( / ( r e d u c e #’+ r g b ) 3 ) ) Questions Bibliography logo 13 / 21
  • 14. Climb Content Morpher Work on Sets Erosion Restriction Definition Naive Version Content Morpher Genericity Issues Restriction Final Version Morpher Site Set Morpher Definition Content Morpher Site Combination Demonstration Site f Conclusion Conclusion Site Questions Bibliography Site • Custom-shaped Site Set • Cropped Image Addition logo • Image Border Ordering 14 / 21
  • 15. Climb Combination Erosion Definition Naive Version Genericity Issues Final Version Object 1 Morpher Morpher Definition Object 2 Content Morpher Combination Available Concrete Objects Demonstration Conclusion Available Content Morphers Conclusion Questions Bibliography Available Value Morphers Possibilities: Combination of ... • Concrete Objects • Value Morpher • Content Morpher • Repetition logo 15 / 21
  • 16. Climb Erosion Definition Erosion Naive Version Definition Naive Version Genericity Issues Genericity Issues Final Version Final Version Morpher Morpher Definition Content Morpher Morpher Combination Morpher Definition Demonstration Content Morpher Conclusion Conclusion Combination Questions Bibliography Demonstration Conclusion Conclusion Questions Bibliography logo 16 / 21
  • 17. Climb Demonstration ( d e f p a r a m e t e r l e n a ( load−image ” l e n a . png ” : magick ) ) Erosion Definition ( defparameter gray Naive Version ( make−direct−value−morpher−image l e n a Genericity Issues ( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) ) Final Version ( lambda ( r g b ) ( / ( r e d u c e #’+ r g b ) 3 ) ) ) ) Morpher Morpher Definition ( d e f p a r a m e t e r c8 ( make−box ( make−point −1 −1) ( make−point 1 1 ) ) ) Content Morpher ( d e f p a r a m e t e r c4 ( site−set−mask c8 #∗010111010)) Combination ( d e f p a r a m e t e r e r o ( e r o s i o n g r a y c4 ) ) Demonstration ( d e f p a r a m e t e r d i l ( d i l a t i o n g r a y c4 ) ) ( d e f p a r a m e t e r d i f f ( image−combine−values #’− d i l e r o ) ) Conclusion Conclusion ( d e f p a r a m e t e r f i n a l ( image−combine−values Questions ( lambda ( r g b e d g e ) Bibliography ( i f (> e d g e 5 0 ) ( v e c t o r 255 0 0 ) r g b ) ) lena d i f f )) ( save−image f i n a l ” f i n a l . png ” : png ) Lena Gray Erosion Dilation Diff Final logo 17 / 21
  • 18. Climb Erosion Definition Erosion Naive Version Definition Naive Version Genericity Issues Genericity Issues Final Version Final Version Morpher Morpher Definition Content Morpher Morpher Combination Morpher Definition Demonstration Content Morpher Conclusion Conclusion Combination Questions Bibliography Demonstration Conclusion Conclusion Questions Bibliography logo 18 / 21
  • 19. Climb Conclusion Erosion Definition Naive Version Genericity Issues Personal Additions: Final Version • Fusion of Olena Concepts with Functionnal and Morpher Morpher Definition Dynamic Programming Content Morpher Combination • Developer Friendly Demonstration Current Conclusion • Basic Morphological Operators Conclusion Questions • Morpher System Bibliography Future • Genericity on Value Types • More Algorithms and Image Types • Performance logo 19 / 21
  • 20. Climb Questions Erosion Definition Naive Version Genericity Issues Final Version Morpher Questions ? Morpher Definition Content Morpher Combination Demonstration Conclusion Conclusion Questions Bibliography logo 20 / 21
  • 21. Climb Bibliography Soille, P. (1999). Morphological Image Analysis - Erosion Principles and Applications. Springer-Verlag. Definition Naive Version Geraud, T. and Levillain, R. (2008). Semantics-driven Genericity Issues Final Version genericity: A sequel to the static c++ object-oriented Morpher programming paradigm (Scoop 2). In 6th International Morpher Definition Content Morpher Workshop on Multiparadigm Programming with Combination Demonstration Object-Oriented Languages. Conclusion Ballas, N. (2008). Image taxonomy in milena. Conclusion Questions Technical report, EPITA Research and Development Bibliography Laboratory (LRDE). Denuziere, L. (2009). CLIMB: A dynamic approach to generic image processing. Technical report, EPITA Research and Development Laboratory (LRDE). Denuziere, L. (2010). Property-based genericity: A dynamic approach. Technical report, EPITA Research logo and Development Laboratory (LRDE). 21 / 21