SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
OpenCV 3.0
Latest news and the Roadmap
Kirill Kornyakov, Itseez
ICVS 2013
Agenda
1.  Introduction to OpenCV
2.  Current state, latest news
3.  OpenCV 3.0 plans and roadmap
Open-source Computer Vision Library
1.  2,500+ algorithms and functions
2.  Cross-platform, portable API
3.  Real-time performance
4.  Liberal BSD license
5.  Professionally developed
History
NVIDIA
Willow
Garage
Intel
1.0
1.1 2.0
2.1
2.2
2.3
2.4
2.4.5
Itseez
•  Professionally maintained by Itseez
•  GSoC, corporate contributions
•  Contributors from all around the world
•  Street View Panorama (Google, other projects)
•  Vision system of the PR2 robot (Willow Garage)
•  Robots for Mars exploration (NASA)
•  Quality control of the production of coins (China)
Applications
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int argc, char** argv)
{
Mat img, gray;
img = imread(argv[1], 1);
imshow("original", img);
cvtColor(img, gray, COLOR_BGR2GRAY);
GaussianBlur(gray, gray, Size(7, 7), 1.5);
Canny(gray, gray, 0, 50);
imshow("edges", gray);
waitKey();
return 0;
}
Sample program
OpenCV – low-level library, providing you with
building blocks for your applications.
Image
retrieval
Pre-
processing
Feature
extraction
Segmentation,
Object detection
Analysis: recognition, pose
estimation, reconstruction,
motion analysis
Decision making
highgui imgproc
imgproc,
features2d
imgproc, objdetect
calib3d, contrib, video,
stitching, videostab, ml
ml?
OpenCV in Apps
Agenda
1.  Introduction to OpenCV
2.  Current state, latest news
3.  OpenCV 3.0 plans and roadmap
Do you know that OpenCV
•  Uses Git ‘master’ branch for 3.0 preparation. Use ‘2.4’,
if you don’t want to be pre-alpha tester.
•  Will drop C API support soon. C++ is much better.
•  Maintains binary compatibility for minor releases.
And we will likely adopt semantic versioning.
Given a version MAJOR.MINOR.PATCH:
–  MAJOR – incompatible API changes
–  MINOR – new functionality, that is backwards-compatible
–  PATCH – backwards-compatible bug fixes.
•  Features mature infrastructure for regression,
accuracy and performance testing.
•  Needs you support.
C vs C++ API: Focus Detector
double calcGradients(const IplImage *src, 

int aperture_size = 7)"
{"
CvSize sz = cvGetSize(src);"
"
IplImage* img16_x = cvCreateImage(sz, IPL_DEPTH_16S, 1);"
IplImage* img16_y = cvCreateImage(sz, IPL_DEPTH_16S, 1); "
cvSobel(src, img16_x, 1, 0, aperture_size);"
cvSobel(src, img16_y, 0, 1, aperture_size);"
"
IplImage* imgF_x = cvCreateImage(sz, IPL_DEPTH_32F, 1);"
IplImage* imgF_y = cvCreateImage(sz, IPL_DEPTH_32F, 1);"
cvScale(img16_x, imgF_x);"
cvScale(img16_y, imgF_y); "
"
IplImage* magnitude = cvCreateImage(sz, IPL_DEPTH_32F, 1);"
cvCartToPolar(imgF_x, imgF_y, magnitude);"
double res = cvSum(magnitude).val[0];"
"
cvReleaseImage(&magnitude ); "
cvReleaseImage(&imgF_x);"
cvReleaseImage(&imgF_y);"
cvReleaseImage(&img16_x);"
cvReleaseImage(&img16_y);"
"
return res;"
}"
double contrast_measure(Mat& img)"
{"
Mat dx, dy;"
"
Sobel(img, dx, 1, 0, 3, CV_32F);"
Sobel(img, dy, 0, 1, 3, CV_32F);"
magnitude(dx, dy, dx);"
"
return sum(dx)[0];"
}"
C C++
Web resources
opencv.orgopencv.org, docs.opencv.orgopencv.org, docs.opencv.org, answers.opencv.org
Development infrastructure
code.opencv.org, build.opencv.org, pullrequest.opencv.orghttps://github.com/itseez/opencv
Your application
Dependencies:
Eigen, IPP, JPEG, PNG,
Jasper, multimedia
TBB
OpenCV Environment
x86, x64 ARMGPU
Windows Linux Mac OSX
MIPS
CUDA OpenCL SSE, AVX
AndroidiOS WinRT
NEON
GCDConcurrency
Python Java
C
cv::parallel_for_
OpenCV
Acceleration
API
Hardware
Operating
System
Threading
API
Bindings
Library
Filters
Segmentation
Detection and
recognition
Transformations
Image Processing
Video, Stereo, 3D
Calibration
Robust
features
Depth
Edges,
contours
Optical FlowPose
estimation
Functionality overview
Modules
Algorithmic
•  core, imgproc, calib3d, video,
ml, objdetect, features2d
•  photo, stitching, videostab, superres
•  contrib, legacy, nonfree, flann
GPU
•  gpu, ocl
Infrastructure
•  highgui, world
•  python, java
•  ts, androidcamera
Agenda
1.  Introduction to OpenCV
2.  Current state, latest news
3.  OpenCV 3.0 plans and roadmap
OpenCV Roadmap
•  Closing 2.4 series
– 2.4.7 in Oct
– 2.4.8 in Feb (the last maintenance release)
•  Starting 3.0 series
– 3.0-alpha in Oct
– 3.0-beta in Dec
– 3.0 final in Feb
General
1.  Alex Leontiev, Generic numerical optimization module
2.  Antonella Cascitelli, Long-term optical tracking API in OpenCV
3.  Lluís Gómez i Bigordà, Implementation of Neumann & Matas algorithm for
scene text detection and recognition
4.  Digvijay Singh, Fast and Robust 1D and 2D Barcode Detection and
Rectification
5.  Juan Manuel Perez Rua, Implementation and Validation of the Shape
Context Descriptor
6.  Daniel Angelov, Line Segment Detection
Bindings
1.  Hilton Bristow, MATLAB Code Generator for OpenCV
2.  Oli Wilkie, OpenCV for Android: Augmented Reality Sample
3.  Abid Rahman, Python Tutorials
3D
1.  Di YANG, SfM integration: PTAM implementation project
2.  Ozan Tonkal, Visualizer for SfM
3.  Gurpinder Singh Sandhu, Hand Tracking with Kinect
Computational Photography
1.  Fedor Morozov, High Dynamic Range imaging
2.  Rahul Verma, Implementing Exemplar-Based (Patch Propagation)
Image Inpainting in OpenCV
3.  Takahito Aoto, Photometric calibration for imaging devices
Major 3.0 updates
1.  Lots of new functionality
2.  API changes
3.  Acceleration
API changes in 3.0
Migration should be smooth!
•  Mostly cleanings
–  Refined C++ API
–  Use cv::Algorithm everywhere
•  API changes
–  C API will be marked as deprecated
–  Old Python API will be deprecated
–  Monstrous modules will be split into micromodules
–  Extra modules
Extra modules
Possibility to add new modules
without putting them into the OpenCV tree:	
  
opencv/
modules/
core/
include/, doc/, src/, test/, …
CMakeLists.txt
imgproc
…
my_extra_modules/
sfm/
include/, doc/, src/, test/, …
CMakeLists.txt
…
	
  
$ cmake –D OPENCV_EXTRA_MODULES_PATH=~/my_extra_modules …
Experimental or
proprietary code.	
  
Acceleration in 3.0
•  Sufficiently improved CUDA and OpenCL modules
–  Mobile CUDA support
–  Universal OpenCL binaries (CPU, GPU)
•  Hardware Abstraction Layer (HAL)
–  IPP, FastCV-like low-level API to accelerate
OpenCV on different HW
•  Open-source NEON optimizations
–  iOS, Android, Embedded, but not yet confirmed
Library’s future
•  More functionality
– Flat architecture, modules with single responsibility
•  Better performance
– HW vendors are primary sponsors
•  New platforms
– WinRT, QNX (BlackBerry)
•  New bindings
– C# (official support), JavaScript, Haskell, D, …
Links
1.  Home: opencv.org
2.  Documentation: docs.opencv.org
3.  Q&A forum: answers.opencv.org
4.  Report issues: code.opencv.org
5.  Develop: https://github.com/Itseez/opencv
Thank you!
•  Any questions?
•  kirill.kornyakov@itseez.com

Weitere ähnliche Inhalte

Was ist angesagt?

Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGAN
NAVER Engineering
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
BJ Jang
 

Was ist angesagt? (20)

Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonycon
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGAN
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
 
Introduction to OpenCV
Introduction to OpenCVIntroduction to OpenCV
Introduction to OpenCV
 
Livre blanc : gestion des actifs logiciels (SAM)
Livre blanc : gestion des actifs logiciels (SAM)Livre blanc : gestion des actifs logiciels (SAM)
Livre blanc : gestion des actifs logiciels (SAM)
 
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
 
Deep learning for 3 d point clouds presentation
Deep learning for 3 d point clouds presentationDeep learning for 3 d point clouds presentation
Deep learning for 3 d point clouds presentation
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
 
Exploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaExploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in Java
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Moving object detection
Moving object detectionMoving object detection
Moving object detection
 
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
 
Why functional programming and category theory strongly matters
Why functional programming and category theory strongly mattersWhy functional programming and category theory strongly matters
Why functional programming and category theory strongly matters
 
Image enhancement techniques
Image enhancement techniques Image enhancement techniques
Image enhancement techniques
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
 
Functor Laws
Functor LawsFunctor Laws
Functor Laws
 
Visual Object Tracking: review
Visual Object Tracking: reviewVisual Object Tracking: review
Visual Object Tracking: review
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
 
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic SegmentationSemantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
 

Ähnlich wie OpenCV 3.0 - Latest news and the Roadmap

"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres..."The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
Edge AI and Vision Alliance
 
The not so short
The not so shortThe not so short
The not so short
AXM
 
502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx
shrey4922
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
Edge AI and Vision Alliance
 

Ähnlich wie OpenCV 3.0 - Latest news and the Roadmap (20)

OpenCV+Android.pptx
OpenCV+Android.pptxOpenCV+Android.pptx
OpenCV+Android.pptx
 
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres..."The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
 
Opencv
OpencvOpencv
Opencv
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
 
Computer Vision Introduction
Computer Vision IntroductionComputer Vision Introduction
Computer Vision Introduction
 
Using Deep Learning for Computer Vision Applications
Using Deep Learning for Computer Vision ApplicationsUsing Deep Learning for Computer Vision Applications
Using Deep Learning for Computer Vision Applications
 
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysisMonteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
 
The not so short
The not so shortThe not so short
The not so short
 
502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx
 
Intro to computer vision in .net
Intro to computer vision in .netIntro to computer vision in .net
Intro to computer vision in .net
 
COSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsCOSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer Tools
 
Intel IPP Samples for Windows - error correction
Intel IPP Samples for Windows - error correctionIntel IPP Samples for Windows - error correction
Intel IPP Samples for Windows - error correction
 
The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196
 
PVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCIPVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCI
 
The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202
 
01 foundations
01 foundations01 foundations
01 foundations
 
Static code analysis: what? how? why?
Static code analysis: what? how? why?Static code analysis: what? how? why?
Static code analysis: what? how? why?
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
 

Kürzlich hochgeladen

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 

OpenCV 3.0 - Latest news and the Roadmap

  • 1. OpenCV 3.0 Latest news and the Roadmap Kirill Kornyakov, Itseez ICVS 2013
  • 2. Agenda 1.  Introduction to OpenCV 2.  Current state, latest news 3.  OpenCV 3.0 plans and roadmap
  • 3. Open-source Computer Vision Library 1.  2,500+ algorithms and functions 2.  Cross-platform, portable API 3.  Real-time performance 4.  Liberal BSD license 5.  Professionally developed
  • 4. History NVIDIA Willow Garage Intel 1.0 1.1 2.0 2.1 2.2 2.3 2.4 2.4.5 Itseez •  Professionally maintained by Itseez •  GSoC, corporate contributions •  Contributors from all around the world
  • 5. •  Street View Panorama (Google, other projects) •  Vision system of the PR2 robot (Willow Garage) •  Robots for Mars exploration (NASA) •  Quality control of the production of coins (China) Applications
  • 6. #include "opencv2/opencv.hpp" using namespace cv; int main(int argc, char** argv) { Mat img, gray; img = imread(argv[1], 1); imshow("original", img); cvtColor(img, gray, COLOR_BGR2GRAY); GaussianBlur(gray, gray, Size(7, 7), 1.5); Canny(gray, gray, 0, 50); imshow("edges", gray); waitKey(); return 0; } Sample program
  • 7. OpenCV – low-level library, providing you with building blocks for your applications. Image retrieval Pre- processing Feature extraction Segmentation, Object detection Analysis: recognition, pose estimation, reconstruction, motion analysis Decision making highgui imgproc imgproc, features2d imgproc, objdetect calib3d, contrib, video, stitching, videostab, ml ml? OpenCV in Apps
  • 8. Agenda 1.  Introduction to OpenCV 2.  Current state, latest news 3.  OpenCV 3.0 plans and roadmap
  • 9. Do you know that OpenCV •  Uses Git ‘master’ branch for 3.0 preparation. Use ‘2.4’, if you don’t want to be pre-alpha tester. •  Will drop C API support soon. C++ is much better. •  Maintains binary compatibility for minor releases. And we will likely adopt semantic versioning. Given a version MAJOR.MINOR.PATCH: –  MAJOR – incompatible API changes –  MINOR – new functionality, that is backwards-compatible –  PATCH – backwards-compatible bug fixes. •  Features mature infrastructure for regression, accuracy and performance testing. •  Needs you support.
  • 10. C vs C++ API: Focus Detector double calcGradients(const IplImage *src, 
 int aperture_size = 7)" {" CvSize sz = cvGetSize(src);" " IplImage* img16_x = cvCreateImage(sz, IPL_DEPTH_16S, 1);" IplImage* img16_y = cvCreateImage(sz, IPL_DEPTH_16S, 1); " cvSobel(src, img16_x, 1, 0, aperture_size);" cvSobel(src, img16_y, 0, 1, aperture_size);" " IplImage* imgF_x = cvCreateImage(sz, IPL_DEPTH_32F, 1);" IplImage* imgF_y = cvCreateImage(sz, IPL_DEPTH_32F, 1);" cvScale(img16_x, imgF_x);" cvScale(img16_y, imgF_y); " " IplImage* magnitude = cvCreateImage(sz, IPL_DEPTH_32F, 1);" cvCartToPolar(imgF_x, imgF_y, magnitude);" double res = cvSum(magnitude).val[0];" " cvReleaseImage(&magnitude ); " cvReleaseImage(&imgF_x);" cvReleaseImage(&imgF_y);" cvReleaseImage(&img16_x);" cvReleaseImage(&img16_y);" " return res;" }" double contrast_measure(Mat& img)" {" Mat dx, dy;" " Sobel(img, dx, 1, 0, 3, CV_32F);" Sobel(img, dy, 0, 1, 3, CV_32F);" magnitude(dx, dy, dx);" " return sum(dx)[0];" }" C C++
  • 12. Development infrastructure code.opencv.org, build.opencv.org, pullrequest.opencv.orghttps://github.com/itseez/opencv
  • 13. Your application Dependencies: Eigen, IPP, JPEG, PNG, Jasper, multimedia TBB OpenCV Environment x86, x64 ARMGPU Windows Linux Mac OSX MIPS CUDA OpenCL SSE, AVX AndroidiOS WinRT NEON GCDConcurrency Python Java C cv::parallel_for_ OpenCV Acceleration API Hardware Operating System Threading API Bindings Library
  • 14. Filters Segmentation Detection and recognition Transformations Image Processing Video, Stereo, 3D Calibration Robust features Depth Edges, contours Optical FlowPose estimation Functionality overview
  • 15. Modules Algorithmic •  core, imgproc, calib3d, video, ml, objdetect, features2d •  photo, stitching, videostab, superres •  contrib, legacy, nonfree, flann GPU •  gpu, ocl Infrastructure •  highgui, world •  python, java •  ts, androidcamera
  • 16. Agenda 1.  Introduction to OpenCV 2.  Current state, latest news 3.  OpenCV 3.0 plans and roadmap
  • 17. OpenCV Roadmap •  Closing 2.4 series – 2.4.7 in Oct – 2.4.8 in Feb (the last maintenance release) •  Starting 3.0 series – 3.0-alpha in Oct – 3.0-beta in Dec – 3.0 final in Feb
  • 18. General 1.  Alex Leontiev, Generic numerical optimization module 2.  Antonella Cascitelli, Long-term optical tracking API in OpenCV 3.  Lluís Gómez i Bigordà, Implementation of Neumann & Matas algorithm for scene text detection and recognition 4.  Digvijay Singh, Fast and Robust 1D and 2D Barcode Detection and Rectification 5.  Juan Manuel Perez Rua, Implementation and Validation of the Shape Context Descriptor 6.  Daniel Angelov, Line Segment Detection Bindings 1.  Hilton Bristow, MATLAB Code Generator for OpenCV 2.  Oli Wilkie, OpenCV for Android: Augmented Reality Sample 3.  Abid Rahman, Python Tutorials
  • 19. 3D 1.  Di YANG, SfM integration: PTAM implementation project 2.  Ozan Tonkal, Visualizer for SfM 3.  Gurpinder Singh Sandhu, Hand Tracking with Kinect Computational Photography 1.  Fedor Morozov, High Dynamic Range imaging 2.  Rahul Verma, Implementing Exemplar-Based (Patch Propagation) Image Inpainting in OpenCV 3.  Takahito Aoto, Photometric calibration for imaging devices
  • 20. Major 3.0 updates 1.  Lots of new functionality 2.  API changes 3.  Acceleration
  • 21. API changes in 3.0 Migration should be smooth! •  Mostly cleanings –  Refined C++ API –  Use cv::Algorithm everywhere •  API changes –  C API will be marked as deprecated –  Old Python API will be deprecated –  Monstrous modules will be split into micromodules –  Extra modules
  • 22. Extra modules Possibility to add new modules without putting them into the OpenCV tree:   opencv/ modules/ core/ include/, doc/, src/, test/, … CMakeLists.txt imgproc … my_extra_modules/ sfm/ include/, doc/, src/, test/, … CMakeLists.txt …   $ cmake –D OPENCV_EXTRA_MODULES_PATH=~/my_extra_modules … Experimental or proprietary code.  
  • 23. Acceleration in 3.0 •  Sufficiently improved CUDA and OpenCL modules –  Mobile CUDA support –  Universal OpenCL binaries (CPU, GPU) •  Hardware Abstraction Layer (HAL) –  IPP, FastCV-like low-level API to accelerate OpenCV on different HW •  Open-source NEON optimizations –  iOS, Android, Embedded, but not yet confirmed
  • 24. Library’s future •  More functionality – Flat architecture, modules with single responsibility •  Better performance – HW vendors are primary sponsors •  New platforms – WinRT, QNX (BlackBerry) •  New bindings – C# (official support), JavaScript, Haskell, D, …
  • 25. Links 1.  Home: opencv.org 2.  Documentation: docs.opencv.org 3.  Q&A forum: answers.opencv.org 4.  Report issues: code.opencv.org 5.  Develop: https://github.com/Itseez/opencv
  • 26. Thank you! •  Any questions? •  kirill.kornyakov@itseez.com