SlideShare a Scribd company logo
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

More Related Content

What's hot

Image to image translation with Pix2Pix GAN
Image to image translation with Pix2Pix GANImage to image translation with Pix2Pix GAN
Image to image translation with Pix2Pix GAN
S.Shayan Daneshvar
 
QGIS 활용
QGIS 활용QGIS 활용
QGIS 활용
Sungjin Kang
 
Artificial Intelligence for Visual Arts
Artificial Intelligence for Visual ArtsArtificial Intelligence for Visual Arts
Artificial Intelligence for Visual Arts
PetteriTeikariPhD
 
Dart and Flutter Basics.pptx
Dart and Flutter Basics.pptxDart and Flutter Basics.pptx
Dart and Flutter Basics.pptx
DSCVSSUT
 
Lessons Learned from Building 100+ C++/Qt/QML Devices
Lessons Learned from Building 100+ C++/Qt/QML DevicesLessons Learned from Building 100+ C++/Qt/QML Devices
Lessons Learned from Building 100+ C++/Qt/QML Devices
ICS
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Software
 
Advanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and IstioAdvanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and Istio
CloudOps2005
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현
kyuil choi
 
Unreal Open Day 2017 Project Raven
Unreal Open Day 2017 Project RavenUnreal Open Day 2017 Project Raven
Unreal Open Day 2017 Project Raven
Epic Games China
 
In-Depth Model/View with QML
In-Depth Model/View with QMLIn-Depth Model/View with QML
In-Depth Model/View with QML
ICS
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Guerrilla
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
남주 김
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
Universitat Politècnica de Catalunya
 
Qt5 on ti processors
Qt5 on ti processorsQt5 on ti processors
Qt5 on ti processors
Prabindh Sundareson
 
Image-to-Image Translation
Image-to-Image TranslationImage-to-Image Translation
Image-to-Image Translation
Junho Kim
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
Akash Agrawal
 
Image-to-Image Translation pix2pix
Image-to-Image Translation pix2pixImage-to-Image Translation pix2pix
Image-to-Image Translation pix2pix
Yasar Hayat
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
Guerrilla
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
Billy Yuen
 
GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCD
Omar Fathy
 

What's hot (20)

Image to image translation with Pix2Pix GAN
Image to image translation with Pix2Pix GANImage to image translation with Pix2Pix GAN
Image to image translation with Pix2Pix GAN
 
QGIS 활용
QGIS 활용QGIS 활용
QGIS 활용
 
Artificial Intelligence for Visual Arts
Artificial Intelligence for Visual ArtsArtificial Intelligence for Visual Arts
Artificial Intelligence for Visual Arts
 
Dart and Flutter Basics.pptx
Dart and Flutter Basics.pptxDart and Flutter Basics.pptx
Dart and Flutter Basics.pptx
 
Lessons Learned from Building 100+ C++/Qt/QML Devices
Lessons Learned from Building 100+ C++/Qt/QML DevicesLessons Learned from Building 100+ C++/Qt/QML Devices
Lessons Learned from Building 100+ C++/Qt/QML Devices
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
 
Advanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and IstioAdvanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and Istio
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현
 
Unreal Open Day 2017 Project Raven
Unreal Open Day 2017 Project RavenUnreal Open Day 2017 Project Raven
Unreal Open Day 2017 Project Raven
 
In-Depth Model/View with QML
In-Depth Model/View with QMLIn-Depth Model/View with QML
In-Depth Model/View with QML
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
 
Qt5 on ti processors
Qt5 on ti processorsQt5 on ti processors
Qt5 on ti processors
 
Image-to-Image Translation
Image-to-Image TranslationImage-to-Image Translation
Image-to-Image Translation
 
Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)Kubernetes & Google Kubernetes Engine (GKE)
Kubernetes & Google Kubernetes Engine (GKE)
 
Image-to-Image Translation pix2pix
Image-to-Image Translation pix2pixImage-to-Image Translation pix2pix
Image-to-Image Translation pix2pix
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
 
GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCD
 

Similar to OpenCV 3.0 - Latest news and the Roadmap

OpenCV+Android.pptx
OpenCV+Android.pptxOpenCV+Android.pptx
OpenCV+Android.pptx
Vishwas459764
 
"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
 
Opencv
OpencvOpencv
Opencv
Ethishkumar
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools
Mark Billinghurst
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
Wingston
 
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
Farshid Pirahansiah
 
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
otb
 
The not so short
The not so shortThe not so short
The not so shortAXM
 
502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx
shrey4922
 
Intro to computer vision in .net
Intro to computer vision in .netIntro to computer vision in .net
Intro to computer vision in .net
Stephen Lorello
 
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
Mark Billinghurst
 
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
PVS-Studio
 
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
Mahmoud Samir Fayed
 
PVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCIPVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCI
Andrey Karpov
 
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
Mahmoud Samir Fayed
 
01 foundations
01 foundations01 foundations
01 foundations
ankit_ppt
 
Static code analysis: what? how? why?
Static code analysis: what? how? why?Static code analysis: what? how? why?
Static code analysis: what? how? why?
Andrey Karpov
 
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)
Luigi De Russis
 
"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
 

Similar to 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
 

Recently uploaded

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 

Recently uploaded (20)

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.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