SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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
                 ●




              

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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 ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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 ●