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

Contenu connexe

Tendances

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 #symfonyconAntonio Peric-Mazar
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGANNAVER 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
 
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)Microsoft Décideurs IT
 
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)Universitat Politècnica de Catalunya
 
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 presentationVijaylaxmiNagurkar
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 SANGHEE SHIN
 
Exploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaExploiting Deserialization Vulnerabilities in Java
Exploiting Deserialization Vulnerabilities in JavaCODE WHITE GmbH
 
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?connectwebex
 
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...Symeon Papadopoulos
 
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 mattersPiotr Paradziński
 
Image enhancement techniques
Image enhancement techniques Image enhancement techniques
Image enhancement techniques Arshad khan
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureNicholas Zakas
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장MinPa Lee
 
Visual Object Tracking: review
Visual Object Tracking: reviewVisual Object Tracking: review
Visual Object Tracking: reviewDmytro Mishkin
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환BJ Jang
 
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岳華 杜
 

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

Similaire à 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
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer ToolsMark Billinghurst
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012Wingston
 
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 ApplicationsFarshid 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 analysisotb
 
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.pptxshrey4922
 
Intro to computer vision in .net
Intro to computer vision in .netIntro to computer vision in .net
Intro to computer vision in .netStephen 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 ToolsMark 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 correctionPVS-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 196Mahmoud Samir Fayed
 
PVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCIPVS-Studio in the Clouds: CircleCI
PVS-Studio in the Clouds: CircleCIAndrey 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 202Mahmoud Samir Fayed
 
01 foundations
01 foundations01 foundations
01 foundationsankit_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 IntelEdge AI and Vision Alliance
 

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

Dernier

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
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 engineeringmulugeta48
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
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...ranjana rawat
 
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 Bookingroncy bisnoi
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
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 torqueBhangaleSonal
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
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.pdfSuman Jyoti
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 

Dernier (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
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
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
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
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
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...
 
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
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
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
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
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
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
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
 

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