SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
PyCVF
                     Overview of
       the Python Computer Vision Framework
                (preliminary version)

    Bertrand NOUVEL
    Japanese French Laboratory for Informatics
    bertrand.nouvel@gmail.com
    May 2010

                                          
Traditional Framework

                                                        Machine
     Create     Compute      Extract        Compute                  Fusion
                                                        Learning
    Video DB     Shots      Keyframes       Features                Rendering
                                                        Indexing

    Program 1   Program 2   Program 3       Program 4   Program 5   Program 6
                               Program 7


    ●   Too many steps
    ●   Many access to files : low performances
    ●   Difficult to check and to run
    ●   Not easy to perform testings

                                         
Models We Need to
Represent
    ●   Learning all along the process;
    ●   Many class­specific learners;
    ●   Link with highlevel ontologies
    ●   Ability to provide top­down and bottom­up 
         communications


             Too complex fort traditional frameworks !
        → Need for improvement
                                 
Can We Do Better ?
    ●   Avoid usage of archaic file formats
    ●   Use better software design
    ●   Inspire from what is meant to be ”easy”




                       Blender OpenCV
                                                  PureData
PyCVF is a Framework
                  OPENCV                                      WEKA
Dependencies
Libraries            MPT                                      Orange
Toolkits
(features)         Marsyas                                       R


Framework
                                           PyCVF

(uniformize concepts)
Applications
                Analyze        Mosaicing
               Synthetize                          Indexer   Recognizer
                Textures     Loop generator
(use and
extend the framework)
                                   
Essential PyCVF Concepts


      DB

    Database    Models               Nodes



    Machine Datatypes       Structures Experiment
    Learning
 
    Models               
PyCVF Datatypes
    ●   Images → 3d ­ Numpy Array
    ●   Video → Video Player Object (play/pause/seek)
    ●   Audio → Audio Player Object (play/pause/seek)
    ●   Vectors → 1d ­ Numpy Array 
    ●   Vectorset → 2d – Numpy Array
    Datatypes can solve the following questions ?
    ●   How to store the data ?
    ●   How to display the data ?
                                   
PyCVF Databases

        Supported operations
    ●   Get Datatype
    ●   List Items 

                         DB
    ●   Query
    ●   List Keys
    ●   List Labels
    ●   Query Label

                                
Example PyCVF
Image Databases
Image Databases                  Online Databases

Database :
    Mathematical functions
    Cellular Automatas...
Pseudo-database :
   device

Folder-based Databases




                              
Example Meta databases
    ●   Limit : Limit the number of elements
    ●   Transformed : Apply a transformation 
    ●   Exploded : Obtain sub­elements
    ●   TrainDB : Create a training associated with a seed
    ●   TestDB : Create a test set associated with a seed
    ●   Randomized : Shuffle the elements of a database
    ●   Agglomerated : Merge databases together
    ●   As_once : Return databases as elements 
                                 
Nodes
    ●   Processing units
    ●   Dynamic typing
    ●   Associated Storage
    ●   Interconnectable
    ●   Labels
    ●   May raise Exceptions
        (cf. bag_of_words)

                                
Model=PyCVF Dataflow

    pycvf_features_view -m ”image.laplace()-image.keypoints.harris()”




                   Laplace                    Harris
                                              Corner
                                              Detector




                                    
PyCVF Dataflow
    pycvf_features_view -m ”image.laplace()-image.keypoints.harris()+image.watershed()”




                             Laplace                    Harris
                                                        Corner
                                                        Detector




                                            WaterShed
                                             
Essential Applications

       db_view           installdb          model_run




     evaluate_db                          features_view

                          PyCVF

  create_index
                     confusion_matrix    distance_matrix
nearest_neighbors




    run_experiment   remote_job_server   compute_features

                                      
Evaluate Database
pycvf_dbevaluator ....


    ●   PyCVF include a 
         generic tool to help 
         you to label your 
         database
    ●   Works with any 
         datatypes and any 
         database.


                                  
Observe Features
pycvf_model_features_view –db 'image.kanji()' --model 'image.keypoints.sift()'



                                                ●   Easy debugging
                                                ●   Better intuition
                                                ●   Portable




                                             
Nearest Neighbors Query
pycvf_neareastneighbors_qtapp –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx




                                               
Nearest Neighbors Query
pycvf_neareastneighbors_panda –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx




                                              
Extract and Analyze
Nearest Neighbor Graphs
pycvf_neareastneighbors_qtapp –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx




                                               
Distance Matrices
pycvf_distance_matrix –db ”from_trackfile('HOG')”




                                             
Making Experiments
                                             ●   Easy sampling of 
                                                  parameter space
                                             ●   Automatic 
                                                  parallelization of 
                                                  runs
                                             ●   Specific graphics
                                             ●   Specific feature
                                             ●   Minimization
Performances of PyCVF of index queries
                                          
NEW



                               DJANGO
                                  +
                                PyCVF
                                  =



pycvf_remote_job_server &
python manage.py runserver &




                                   
Browsing Databases
                ●   On­the­fly 
                     transformations
                ●   Easy queries to already 
                     computed index




             
Viewing Element 1 by 1
                 ●   On­the­fly 
                      transformations
                 ●   Easy queries to already 
                      computed index




              
Revision Plan


         0.2                               0.3
●   Do call for volunteers         ●   Add Features
●   Ensure global design           ●   Improve feature 
●   Easier install                       stability
●   Increase core­robustness
                                   ●   Provide exhaustive set 
                                         of basic features
●   Regression tests 
●   Start add new features
                                
See you soon




                
Included Wrappers
                   ●   PyFFMPEG is able to 
    PyFFMPEG           play in realtime 121 
                         videos at the same 
                         time.




                
Included Wrappers

                   Implements 
                      ●


    OpenCV-Cython exhaustively C API 
                 ● Numpy compatibility 


                      ●   Accessible pointers
                      ●   May be deprecated due 
                           to new C++ wrappers




                   
Included Wrappers
                 ●   Fast nearest neighbor 
    PySASH             search
                 ●   Patented + NOT GPL




              
Included Wrappers
                 ●   Fast nearest neighbor 
    PyLSH              search with LSH
                 ●   Different 
                      implementations
                 ●   Still Buggy
                 ●   Contributions are 
                      welcome



              
Included Wrappers


    PySIFT       ●   Numpy compatible 
                      version of PySIFT
                 ●




              

Más contenido relacionado

La actualidad más candente

JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationTatsuhiro Chiba
 
DConf2015 - Using D for Development of Large Scale Primary Storage
DConf2015 - Using D for Development  of Large Scale Primary StorageDConf2015 - Using D for Development  of Large Scale Primary Storage
DConf2015 - Using D for Development of Large Scale Primary StorageLiran Zvibel
 
JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020Joseph Kuo
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011Kris Mok
 
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.J On The Beach
 
From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...Chris Bailey
 
Transparent GPU Exploitation for Java
Transparent GPU Exploitation for JavaTransparent GPU Exploitation for Java
Transparent GPU Exploitation for JavaKazuaki Ishizaki
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlLeon Chen
 
Thu 1100 duncan_john_color
Thu 1100 duncan_john_colorThu 1100 duncan_john_color
Thu 1100 duncan_john_colorDATAVERSITY
 
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In Hadoop
Hadoop Summit 2010  Challenges And Uniqueness Of Qe And Re Processes In HadoopHadoop Summit 2010  Challenges And Uniqueness Of Qe And Re Processes In Hadoop
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In HadoopYahoo Developer Network
 
Apache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In ActionApache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In Actionday
 

La actualidad más candente (13)

JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark application
 
DConf2015 - Using D for Development of Large Scale Primary Storage
DConf2015 - Using D for Development  of Large Scale Primary StorageDConf2015 - Using D for Development  of Large Scale Primary Storage
DConf2015 - Using D for Development of Large Scale Primary Storage
 
QtQuick Day 3
QtQuick Day 3QtQuick Day 3
QtQuick Day 3
 
JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020JCConf 2020 - New Java Features Released in 2020
JCConf 2020 - New Java Features Released in 2020
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
 
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.
A Java Implementer's Guide to Boosting Apache Spark Performance by Tim Ellison.
 
From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...
 
Transparent GPU Exploitation for Java
Transparent GPU Exploitation for JavaTransparent GPU Exploitation for Java
Transparent GPU Exploitation for Java
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
Methods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarkingMethods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarking
 
Thu 1100 duncan_john_color
Thu 1100 duncan_john_colorThu 1100 duncan_john_color
Thu 1100 duncan_john_color
 
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In Hadoop
Hadoop Summit 2010  Challenges And Uniqueness Of Qe And Re Processes In HadoopHadoop Summit 2010  Challenges And Uniqueness Of Qe And Re Processes In Hadoop
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In Hadoop
 
Apache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In ActionApache Con Us2007 Jcr In Action
Apache Con Us2007 Jcr In Action
 

Similar a Pycvf

Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Labview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLLabview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLMohammad Sabouri
 
Sql Performance Tuning For Developers
Sql Performance Tuning For DevelopersSql Performance Tuning For Developers
Sql Performance Tuning For Developerssqlserver.co.il
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonIneke Scheffers
 
An Integrated Framework for Parameter-based Optimization of Scientific Workflows
An Integrated Framework for Parameter-based Optimization of Scientific WorkflowsAn Integrated Framework for Parameter-based Optimization of Scientific Workflows
An Integrated Framework for Parameter-based Optimization of Scientific Workflowsvijayskumar
 
Running deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jRunning deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jAlexander Fedintsev
 
Design For Testability
Design For TestabilityDesign For Testability
Design For TestabilityWill Iverson
 
MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixFromDual GmbH
 
Combining Machine Learning Frameworks with Apache Spark
Combining Machine Learning Frameworks with Apache SparkCombining Machine Learning Frameworks with Apache Spark
Combining Machine Learning Frameworks with Apache SparkDatabricks
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsBaruch Sadogursky
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo SanchezGoDataDriven
 
Towards Continuous Deployment with Django
Towards Continuous Deployment with DjangoTowards Continuous Deployment with Django
Towards Continuous Deployment with DjangoRoger Barnes
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...manssandstrom
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...OdessaJS Conf
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontendsRustam Aliyev
 

Similar a Pycvf (20)

Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Labview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLLabview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRL
 
Sql Performance Tuning For Developers
Sql Performance Tuning For DevelopersSql Performance Tuning For Developers
Sql Performance Tuning For Developers
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
 
An Integrated Framework for Parameter-based Optimization of Scientific Workflows
An Integrated Framework for Parameter-based Optimization of Scientific WorkflowsAn Integrated Framework for Parameter-based Optimization of Scientific Workflows
An Integrated Framework for Parameter-based Optimization of Scientific Workflows
 
Running deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jRunning deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4j
 
.NET Debugging Workshop
.NET Debugging Workshop.NET Debugging Workshop
.NET Debugging Workshop
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with Zabbix
 
Combining Machine Learning Frameworks with Apache Spark
Combining Machine Learning Frameworks with Apache SparkCombining Machine Learning Frameworks with Apache Spark
Combining Machine Learning Frameworks with Apache Spark
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
 
Js tacktalk team dev js testing performance
Js tacktalk team dev js testing performanceJs tacktalk team dev js testing performance
Js tacktalk team dev js testing performance
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
 
Towards Continuous Deployment with Django
Towards Continuous Deployment with DjangoTowards Continuous Deployment with Django
Towards Continuous Deployment with Django
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontends
 
Cnc scala-presentation
Cnc scala-presentationCnc scala-presentation
Cnc scala-presentation
 

Último

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Último (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Pycvf

  • 1. PyCVF Overview of the Python Computer Vision Framework (preliminary version) Bertrand NOUVEL Japanese French Laboratory for Informatics bertrand.nouvel@gmail.com May 2010    
  • 2. Traditional Framework Machine Create Compute Extract Compute Fusion Learning Video DB Shots Keyframes Features Rendering Indexing Program 1 Program 2 Program 3 Program 4 Program 5 Program 6 Program 7 ● Too many steps ● Many access to files : low performances ● Difficult to check and to run ● Not easy to perform testings    
  • 3. Models We Need to Represent ● Learning all along the process; ● Many class­specific learners; ● Link with highlevel ontologies ● Ability to provide top­down and bottom­up  communications      Too complex fort traditional frameworks ! → Need for improvement    
  • 4. Can We Do Better ? ● Avoid usage of archaic file formats ● Use better software design ● Inspire from what is meant to be ”easy” Blender OpenCV     PureData
  • 5. PyCVF is a Framework OPENCV WEKA Dependencies Libraries MPT Orange Toolkits (features) Marsyas R Framework PyCVF (uniformize concepts) Applications Analyze Mosaicing Synthetize Indexer Recognizer Textures Loop generator (use and extend the framework)    
  • 6. Essential PyCVF Concepts DB Database Models Nodes Machine Datatypes Structures Experiment Learning   Models  
  • 7. PyCVF Datatypes ● Images → 3d ­ Numpy Array ● Video → Video Player Object (play/pause/seek) ● Audio → Audio Player Object (play/pause/seek) ● Vectors → 1d ­ Numpy Array  ● Vectorset → 2d – Numpy Array Datatypes can solve the following questions ? ● How to store the data ? ● How to display the data ?    
  • 8. PyCVF Databases Supported operations ● Get Datatype ● List Items  DB ● Query ● List Keys ● List Labels ● Query Label    
  • 9. Example PyCVF Image Databases Image Databases Online Databases Database : Mathematical functions Cellular Automatas... Pseudo-database : device Folder-based Databases    
  • 10. Example Meta databases ● Limit : Limit the number of elements ● Transformed : Apply a transformation  ● Exploded : Obtain sub­elements ● TrainDB : Create a training associated with a seed ● TestDB : Create a test set associated with a seed ● Randomized : Shuffle the elements of a database ● Agglomerated : Merge databases together ● As_once : Return databases as elements     
  • 11. Nodes ● Processing units ● Dynamic typing ● Associated Storage ● Interconnectable ● Labels ● May raise Exceptions (cf. bag_of_words)    
  • 12. Model=PyCVF Dataflow pycvf_features_view -m ”image.laplace()-image.keypoints.harris()” Laplace Harris Corner Detector    
  • 13. PyCVF Dataflow pycvf_features_view -m ”image.laplace()-image.keypoints.harris()+image.watershed()” Laplace Harris Corner Detector WaterShed    
  • 14. Essential Applications db_view installdb model_run evaluate_db features_view PyCVF create_index confusion_matrix distance_matrix nearest_neighbors run_experiment remote_job_server compute_features    
  • 15. Evaluate Database pycvf_dbevaluator .... ● PyCVF include a  generic tool to help  you to label your  database ● Works with any  datatypes and any  database.    
  • 16. Observe Features pycvf_model_features_view –db 'image.kanji()' --model 'image.keypoints.sift()' ● Easy debugging ● Better intuition ● Portable    
  • 17. Nearest Neighbors Query pycvf_neareastneighbors_qtapp –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx    
  • 18. Nearest Neighbors Query pycvf_neareastneighbors_panda –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx    
  • 19. Extract and Analyze Nearest Neighbor Graphs pycvf_neareastneighbors_qtapp –db ”image.kanji()” -m ”free('x.ravel()')” -n 5 -b25 -s kanjiidx    
  • 20. Distance Matrices pycvf_distance_matrix –db ”from_trackfile('HOG')”    
  • 21. Making Experiments ● Easy sampling of  parameter space ● Automatic  parallelization of  runs ● Specific graphics ● Specific feature ● Minimization Performances of PyCVF of index queries    
  • 22. NEW DJANGO + PyCVF = pycvf_remote_job_server & python manage.py runserver &    
  • 23. Browsing Databases ● On­the­fly  transformations ● Easy queries to already  computed index    
  • 24. Viewing Element 1 by 1 ● On­the­fly  transformations ● Easy queries to already  computed index    
  • 25. Revision Plan 0.2 0.3 ● Do call for volunteers ● Add Features ● Ensure global design ● Improve feature  ● Easier install  stability ● Increase core­robustness ● Provide exhaustive set  of basic features ● Regression tests  ● Start add new features    
  • 27. Included Wrappers ● PyFFMPEG is able to  PyFFMPEG play in realtime 121  videos at the same  time.    
  • 28. Included Wrappers Implements  ● OpenCV-Cython exhaustively C API  ● Numpy compatibility  ● Accessible pointers ● May be deprecated due  to new C++ wrappers    
  • 29. Included Wrappers ● Fast nearest neighbor  PySASH search ● Patented + NOT GPL    
  • 30. Included Wrappers ● Fast nearest neighbor  PyLSH search with LSH ● Different  implementations ● Still Buggy ● Contributions are  welcome    
  • 31. Included Wrappers PySIFT ● Numpy compatible  version of PySIFT ●