Open Source Vision Software, Intro and Training
From CVPR10
Contents[hide] |
Monday, June 14, 2010 - 8:30am - 6:00pm
The Open Source Vision Software, Intro and Training CVPR 2010 tutorial aims at introducing computer vision students and researchers to a selection of open source computer vision packages. The emphasis is on problem solving, with demos illustrating how to apply the software to relevant computer vision problems. It will be discussed how the open source approach fosters learning, reproducible research, and scientific collaboration.
- Andrea Vedaldi, Brian Fulkerson (Oxford & UCLA - VLFeat)
- Hailin Jin, Lubomir Bourdev (Adobe Systems - Generic Image Library)
- Gary Bradski, Vadim Pisarevsky, Radu Bogdan Rusu (Willow Garage - OpenCV, ROS, PCL)
Slides
- VLFeat library tutorial slides
- Using GIT to track third party projects tutorial slides
- GIL tutorial slides by Hailin Jin
- GIL tutorial slides by Lubomir Bourdev
- OpenCV and ROS tutorial slides
- ROS slides, PCL slides, PCL features slides
Syllabus
Morning Session
VLFeat 8:30am - 10:00am
- Overview (Andrea Vedaldi, Brian Fulkerson)
- Getting started with VLFeat
- Getting ready (in about five minutes)
- SIFT example (vl_sift)
- In depth VLFeat: Categorization of Caltech 101
- Visual descriptors
- PHOW feature (fast dense SIFT, vl_phow)
- Vector quantization (Elkan, vl_kmeans, vl_kdtreebuild, vl_kdtreequery)
- Spatial histograms (vl_binsum, vl_binsearch)
- Learning and classification
- Fast linear SVMs
- PEGASOS (vl_pegasos)
- Fast non-linear SVMs
- Homogeneous kernel maps (vl_homkermap)
- Results and live classification demo
- Visual descriptors
- Other VLFeat features
- Quick shift (vl_quickseg, vl_quickshift)
- Maximally Stable Extremal Regions (MSER, vl_mser)
- Agglomerative Information Bottleneck (AIB, vl_aib)
- Fast image distance transform (vl_imdisttf)
- The VLFeat architecture and documentation
Break 10:00am - 10:30am
Generic Image Library 10:30am - 12:00pm
- Introduction to GIL, Boost and Generic Programming (Hailin Jin)
- GIL
- Boost
- Generic Programming
- STL
- Generic Image Library (Lubomir Bourdev)
- What is GIL?
- Basic concepts and navigation
- Generic code
- Image view transformations
- 1D iterators; pixel algorithms
- GIL extensions
- Is GIL for you?
Git for research 12:00pm - 12:30pm
- Distributed source control (Git) (Brian Fulkerson)
- Managing your own projects
- Collaborating with peers
- Contributing to VLFeat
Lunch 12:30pm - 2:30pm
Afternoon Session 2:30pm - 3:30pm, 4:00pm - 6:00pm
OpenCV
- Library overview (Gary Bradski, Vadim Pisarevsky)
- History, License (BSD), Contents
- Documentation
- New C++ and Python interface
- Introduction to new toolbox organization:
- Object Recognition and Pose
- Odometry/Geometry
- Tracking
- Demos in object recognition and tracking
- Hands on Tutorials
- I/O, Pose and Recognition
ROS - Robot Operating System
- Overview (Radu Bogdan Rusu)
- ROS is a new, free for commercial or research use (BSD license) open source Robot Operating System
- It allows for seamless distributed computing
- It has packages covering
- 2D and 3D Perception (ROS wraps OpenCV and the 3D library)
- Calibration 2D, 3D and 2D+3D (laser with cameras), camera with robot body
- Easy geometric transform support
- Visual Odometry, Visual SLAM
- Object Recognition, Object Pose
- Control, Planning
- Navigation, SLAM
- Simulation, Rendering
- 2D and 3D Visualization
- Teleoperation
- 3D modeling
3D Point Cloud Library
- Library overview (Radu Bogdan Rusu)
- Sub-sampling
- Mesh Generation
- Normals
- Surface Segmentation
- Visualization
- 3D Features
- 3D Object and Pose Recognition
- Demos
- Scene segmentation
- Recognition for Manipulation
- Hands on Tutorials
- I/O, finding surface types, recognition.