SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Knowledge representation and Predicate logic
Knowledge representation and Predicate logicKnowledge representation and Predicate logic
Knowledge representation and Predicate logicAmey Kerkar
 
Moving object detection in video surveillance
Moving object detection in video surveillanceMoving object detection in video surveillance
Moving object detection in video surveillanceAshfaqul Haque John
 
[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020Seonghoon Jung
 
Lec10: Medical Image Segmentation as an Energy Minimization Problem
Lec10: Medical Image Segmentation as an Energy Minimization ProblemLec10: Medical Image Segmentation as an Energy Minimization Problem
Lec10: Medical Image Segmentation as an Energy Minimization ProblemUlaş Bağcı
 
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)Ulaş Bağcı
 
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...Toshiki Sakai
 
[DL輪読会]Real-Time Semantic Stereo Matching
[DL輪読会]Real-Time Semantic Stereo Matching[DL輪読会]Real-Time Semantic Stereo Matching
[DL輪読会]Real-Time Semantic Stereo MatchingDeep Learning JP
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミングNorishige Fukushima
 
AtCoder167Dをダブリングで解く
AtCoder167Dをダブリングで解くAtCoder167Dをダブリングで解く
AtCoder167Dをダブリングで解くAkira KANAI
 
Introduction to Computer Vision using OpenCV
Introduction to Computer Vision using OpenCVIntroduction to Computer Vision using OpenCV
Introduction to Computer Vision using OpenCVDylan Seychell
 
A Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaA Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaPreferred Networks
 
Chapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsChapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsKyeongUkJang
 
Object Detection and Recognition
Object Detection and Recognition Object Detection and Recognition
Object Detection and Recognition Intel Nervana
 
Semantic Segmentation Methods using Deep Learning
Semantic Segmentation Methods using Deep LearningSemantic Segmentation Methods using Deep Learning
Semantic Segmentation Methods using Deep LearningSungjoon Choi
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料Masayuki Tanaka
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learningpratik pratyay
 

Mais procurados (20)

Knowledge representation and Predicate logic
Knowledge representation and Predicate logicKnowledge representation and Predicate logic
Knowledge representation and Predicate logic
 
OSの歴史 完成版
OSの歴史 完成版OSの歴史 完成版
OSの歴史 完成版
 
Moving object detection in video surveillance
Moving object detection in video surveillanceMoving object detection in video surveillance
Moving object detection in video surveillance
 
[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020[Paper review] contrastive language image pre-training, open ai, 2020
[Paper review] contrastive language image pre-training, open ai, 2020
 
OpenCV Introduction
OpenCV IntroductionOpenCV Introduction
OpenCV Introduction
 
Lec10: Medical Image Segmentation as an Energy Minimization Problem
Lec10: Medical Image Segmentation as an Energy Minimization ProblemLec10: Medical Image Segmentation as an Energy Minimization Problem
Lec10: Medical Image Segmentation as an Energy Minimization Problem
 
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)
Lec9: Medical Image Segmentation (III) (Fuzzy Connected Image Segmentation)
 
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...
Cv勉強会cvpr2018読み会: Im2Flow: Motion Hallucination from Static Images for Action...
 
[DL輪読会]Real-Time Semantic Stereo Matching
[DL輪読会]Real-Time Semantic Stereo Matching[DL輪読会]Real-Time Semantic Stereo Matching
[DL輪読会]Real-Time Semantic Stereo Matching
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
 
AtCoder167Dをダブリングで解く
AtCoder167Dをダブリングで解くAtCoder167Dをダブリングで解く
AtCoder167Dをダブリングで解く
 
Introduction to Computer Vision using OpenCV
Introduction to Computer Vision using OpenCVIntroduction to Computer Vision using OpenCV
Introduction to Computer Vision using OpenCV
 
A Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaA Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi Kerola
 
Chapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsChapter 13 Linear Factor Models
Chapter 13 Linear Factor Models
 
Edge detection-LOG
Edge detection-LOGEdge detection-LOG
Edge detection-LOG
 
Object Detection and Recognition
Object Detection and Recognition Object Detection and Recognition
Object Detection and Recognition
 
Object detection
Object detectionObject detection
Object detection
 
Semantic Segmentation Methods using Deep Learning
Semantic Segmentation Methods using Deep LearningSemantic Segmentation Methods using Deep Learning
Semantic Segmentation Methods using Deep Learning
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learning
 

Semelhante a 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
 

Semelhante a 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
 

Último

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfsmsksolar
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxnuruddin69
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 

Último (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based 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