What is VXL ? Vision Something Libraries

Slides:



Advertisements
Similar presentations
ITK-Overview Insight Software Consortium. What is ITK Image Processing Segmentation Registration No Graphical User Interface (GUI) No Visualization.
Advertisements

NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
OpenCV Introduction Hang Xiao Oct 26, History  1999 Jan : lanched by Intel, real time machine vision library for UI, optimized code for intel 
OpenCV Stacy O’Malley CS-590 Summer, What is OpenCV? Open source library of functions relating to computer vision. Cross-platform (Linux, OS X,
Feature matching and tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on.
Background S.A.U.V.I.M. Semi - Autonomous Underwater Vehicle for
Introduction to Computer Vision CS223B, Winter 2005.
CSCE 641 Computer Graphics: Image-based Modeling (Cont.) Jinxiang Chai.
KLT tracker & triangulation Class 6 Read Shi and Tomasi’s paper on good features to track
CSCE 641 Computer Graphics: Image-based Modeling (Cont.) Jinxiang Chai.
Linear Algebra and Image Processing
Computer Science Department, Duke UniversityPhD Defense TalkMay 4, 2005 Fast Extraction of Feature Salience Maps for Rapid Video Data Analysis Nikos P.
TBA #23 GE Corporate R&D Niskayuna, NY
Getting Started with ITK in Python Language
Introduction to M ATLAB EE 100 – EE Dept. - JUST.
VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001.
What is VXL ? Vision Something Libraries A collection of Computer Vision libraries Open Source, grass roots effort, 53 developers –Supported by good community,
ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.
I.R.SNApp Image Reconstruction and Segmentation for Neurosurgery Applications May09-10 Aaron Logan Dylan Reid William Lim Kyungchul Song Faculty Adviser.
Reconstructing 3D mesh from video image sequences supervisor : Mgr. Martin Samuelčik by Martin Bujňák specifications Master thesis
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Community Software Engineering Practices and Principles A Case Study of the Open Source Insight Toolkit (ITK) Terry Yoo (National Library of Medicine),
Image Registration Lecture 11: VXL March 29, 2005 Prof. Charlene Tsai.
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
Quadtrees, Octrees and their Applications in Digital Image Processing.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School of Information Technology & Mathematical Sciences September.
Lec 22: Stereo CS4670 / 5670: Computer Vision Kavita Bala.
WIRED 4 An extensible generic Event Display Mark Donszelmann SLAC, Stanford, U.S.A. CHEP2004, 27 september – 1 october Interlaken, Switzerland.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
© ACTS-MoMuSys All Rights Reserved. VOGUE The Video Object Generator with User Environment Ecole Nationale Supérieure des Mines de Paris, France.
IEEE International Conference on Multimedia and Expo.
Motion estimation Digital Visual Effects, Spring 2006 Yung-Yu Chuang 2005/4/12 with slides by Michael Black and P. Anandan.
Motion estimation Digital Visual Effects, Spring 2005 Yung-Yu Chuang 2005/3/23 with slides by Michael Black and P. Anandan.
OpenCV C++ Image Processing
Visual Information Processing. Human Perception V.S. Machine Perception  Human perception: pictorial information improvement for human interpretation.
Computer System Structures
Operating System Overview
REAL-TIME DETECTOR FOR UNUSUAL BEHAVIOR
Operating System & Application Software
Khang Lam Daniel Limas Kevin Castillo Juan Battini
NAMIC Software Development Environment
PC Operating Systems in Review
Computer Graphics Lecture 32
Transitioning VisIt to CMake
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
CASE STUDY 1: Linux and Android
What is Computer Graphics?
What is Computer Graphics?
Introduction to Operating System (OS)
Outline Image formats and basic operations Image representation
New horizons in the artificial vision
הפקולטה להנדסת חשמל - המעבדה לבקרה ורובוטיקה גילוי תנועה ועקיבה אחר מספר מטרות מתמרנות הטכניון - מכון טכנולוגי לישראל TECHNION.
National Library of Medicine Segmentation and Registration Toolkit
Chapter 2: System Structures
Use of Mathematics using Technology (Maltlab)
Document Visualization at UMBC
ITK-Overview Insight Software Consortium.
What's New in eCognition 9
Filtering Things to take away from this lecture An image as a function
Analysis of Contour Motions
Lecture 2 Components of GIS
What is Computer Graphics?
PC Operating Systems in Review
Outline Operating System Organization Operating System Examples
Filtering An image as a function Digital vs. continuous images
WIRED 4 Event Display Linear Collider Simulation Workshop
Point Cloud Processing
What's New in eCognition 9
What's New in eCognition 9
Report 2 Brandon Silva.
Presentation transcript:

What is VXL ? Vision Something Libraries A collection of Computer Vision libraries Open Source, grass roots effort, 53 developers Supported by good community, fast response C++ with pragmatic use of templates 600k lines of code (over-estimate) 1.0 beta release, CVS Widely ported Research to Customer delivery

Where is VXL? Home: vxl.sourceforge.net Dashboard (continuous and nightly test builds): www.cs.rpi.edu/research/vision/vxl/Testing/Dashboard/MostRecentResults-Nightly/Dashboard.html GE Private: openge.ge.com/projects/vxl Documentation (Doxygen, structured comments): www.isbe.man.ac.uk/public_vxl_doc

History of CV Environments at GE (Mundy) 1975 1980 1985 1990 1995 2000 Geometer demo fails TargetJr starts Morse Project Oxford Leuven VIP Fortran (Flex) Generic Graphics Xray Metrology Image Calc (SRI) Lisp Geometer (GE) Lisp XCV TargetJr Used in DARPA Research Focus Project Light Gauge TargetJr (C++) Segmentation, 3d Modeling, Video, Feature Extraction PDP-9 PDP-11 PC Platforms Unix Platforms Lisp Machine Dynamic DB Operator Paradigm Image Understanding Environment (IUE) Object Modeling Paradigm VACE VXL simple, light!

Why Common Environments? (Mundy) Accumulation of effort Basic libraries endure Useful algorithms endure Application delivery Direct from research to application Matlab not viable Sharing of effort Code/algorithm exchange between projects

Other Toolkits TargetJr: Computer Vision VTK: Visualization ITK: Image Segmentation and Registration

Motivation for VXL Replace TargetJr and IUE Clean, lightweight bulky, inconsistent interfaces, slow due to design Clean, lightweight Consistent interface to classes Coding standards Portability

VXL Portability Platforms: Windows, Solaris, IRIX, Linux, FreeBSD, OSF, Cygwin, PlayStation2 Compilers: Visual C++, gcc, MipsPro, aCC VCL: Interface to “standard” library No RTTI, exceptions, nested classes, member templates … CMake: Cross-platform Make, www.cmake.org Dashboard: Dart, public.kitware.com/Dart Changing code base with fast response to problems

Cartesian, cylindrical VXL core hierarchy vxl GE Private vcl STL compatibility v3p contrib core vcl_cout vcl_string vcl_list <vcl_deque.h> … png netlib vpl POSIX compatibility vbl basics vul utilities vsl streaming vgl geometry vil image vnl numerics Each Independent Core Level 1 vpl_rmdir vpl_usleep … smart pointers arrays sparse arrays points, lines planes conic sections bounding boxes polygons region scan iterators homogeneous memory management file I/O convolution pyramids warping vectors, matrices SVD, QR, eigen conjugate gradient Levenberg-Marquart FFT command line directories regex binary object I/O vidl video vcsl coordinate systems vgui GUI Core Level 2 Call Anything AVI, mpeg2 frame iterator Cartesian, cylindrical geographic, geodetic manipulation tableaus simple and portable OR use of native GUI

VXL contrib hierarchy brl gel mul vxl contrib oul oxl rpl tbl Video processing, segmentation Brown U. gel Dense image matcher, polygon triangulation, connected spatial objects, digital geometry, KLT GE Research 3D images, PDFs, classification mul Manchester U. vxl contrib Dense image matcher, polygon triangulation oul Otago U. oxl Epipolar geometry, segmentation Oxford U. Robust estimation rpl Rensselaer Image processing tbl KUL?

Who Uses VXL? Brown University GE Research Katholieke Universiteit Leuven, Belgium Manchester University, UK Oxford University, UK Rensselaer Polytechnic Institute University of Otago, New Zealand

VXL Library Level Concept (Perera) regl retinal registration level 2 retl Retina Project libraries publ internal public rdbmel DBM-Estimator rtl retinal tracing rpl Rensselaer libraries racl active contours rrel robust estimation rsdl spatial data structures core vxl core v3p 3rd party vgui user interface vnl algo netlib level 1 vbl basics vul utilities vgl geometry vnl numerics vil imaging tiff png level 0 vcl C++ compatibility jpeg

What is in VXL Core Level 1? VCL: compatibility layer library C/C++ Standard library interface V3P: 3rd party libraries jpeg, png, tiff, netlib, mpeg2 VBL: Basics library Smart pointers, arrays, sparse arrays VGL: Geometry Points, lines, planes, conic sections, bounding boxes, polygons, region scan iterators, homogeneous VIL: Imaging Image memory management, file I/O, convolution, pyramids, warping VNL: Numerics Vectors, matrices, basic ops, SVD, QR, eigen systems Amoeba, Brent, conjugate gradient, Levenberg Marquart, LBFGS (v3p) Polynomials, FFT (v3p)

What is in VXL Core Level 2? VIDL: video sequence library AVI, mpeg2, frame iterator VCSL: coordinate systems Cartesian, cylindrical, geographic, geodetic Manipulation operations VGUI: multi-platform, OpenGL based, GUI Tableaus Simple and portable, or make use of native GUI Display image in 8 lines

What is in VXL GE Contrib? VSRL: Dense image matcher GTRL: Polygon triangulation VSOL: Connected Spatial Objects GST: Simplified 2D Topology representations VDGL: Digital Geometry VTOL: 1, 2 and 3D Topology representations GKLL: Kanade-Lucas_Tomasi feature tracker VMAL: Multi-View Line matching GEVD: Van-duc region finder

How does GE Use VXL (GE Private)? Optical metrology for turbine blades Fold detection, reconstruction Multiple view image enhancement and superresolution Registration, numerics Airway tracking in CT B-Splines, flexible template matching Surveillance Particle filters, articulated object modeling Pipeline inspection Multiple hypothesis tracking, Kalman filters GE Private, project based

Segmentation in VXL Recently ported from TargetJr to VXL (Mundy, Brown) Van-duc edge detector Region segmentation based on Van-duc edge detector

Questions that should be answered in these slides What is in Target that is not in VXL? Is there anything in the C Standard Library or STL that is not in VCL? Need to improve the listing of what is available in contrib. Next time ask the reflector.