SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
OpenCV 3.0
Gary Bradski
Chief Scientist, Perception and AI at Magic Leap
CEO, OpenCV.org
OpenCV at glance
• BSD license, 10M downloads, 500K+ lines of code
• Huge community involvement, automated patch testing and
integration process
• Runs everywhere
SSE, NEON, IPP, OpenCL, CUDA,
OpenCV4Tegra, …
core, imgproc, objdetect …
OpenCV HAL
OpenCV
face, text, rgbd, …
OpenCV
Contrib
Bindings: Python,
Java
Samples, Apps,
Solutions
• Find more at http://opencv.org (user)
• Or http://code.opencv.org (developer)
Recent Stats
NOTE:
This is only for source
forge. Many more
downloads come from
Git and many more
come on Unix distros.
OpenCV History
Willow Support
OpenCV
Foundation
Intel Support
Google Summer of Code
Nvidia Support
Renewed
Intel Support
Magic Leap
OpenCV Algorithm Modules Overview
5
Image Processing
Object recognition
Machine learning
Transforms
Calibration Features
VSLAM
Fitting Optical Flow
Tracking
Depth, Pose
Normals, Planes,
3D Features
Computational
Photography
CORE:
Data structures, Matrix math, Exceptions etc
Segmentation
HighGUI:
I/O, Interface
Recent Contributions 2013
https://www.youtube.com/watch?v=_TTtN4frMEA
Recent Contributions 2014
https://www.youtube.com/watch?v=3f76HCHJJRA
OpenCV 3.0 at glance
• Mostly compatible with OpenCV 2.x; OpenCV
1.x C API is deprecated and partially removed
• Highlights:
– even more modular and extendible
– very stable API tailored for a long-term support
– decent out-of-box performance thanks to IPP,
OpenCL (T-API) and NEON instructions
– lot’s of new functionality!
Aug’14 Nov’14 Dec’14 May’15
3.0 alpha 3.0 beta 3.0rc 3.0 3.1
Q3’15
Goal of 3.0: make a better OpenCV 2.0, cleanup API, get better
performance (with T-API, IPP, NEON), shift to modular structure and
enable user contributions. – Vadim Pisarevsky
OpenCV => OpenCV + opencv_contrib
OpenCV
2.x
OpenCV 3.x
contributions
OpenCV
3.x
• OpenCV 3.0 includes mature and clean algorithms that
are fully supported
• A separate contribution repository is for new CV
algorithms that people want to share:
http://github.com/itseez/opencv_contrib
• Patches to the contrib repository are tested as well by
our buildbot to ensure integrity!
Using opencv_contrib
The modules in contrib have the same structure as the standard ones:
$ cmake –D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules …
opencv/
modules/
core/
include/, doc/, src/, test/, …
CMakeLists.txt
imgproc
…
opencv_contrib/modules
text/
include/, doc/, src/, test/, …
CMakeLists.txt
…
Path to the contrib modules can be passed to cmake to build them
together with OpenCV:
New-style C++ API
• All the high-level vision algorithms (face detectors, optical flow estimators,
stereo matchers etc.) are declared as pure abstract classes, similarly to interfaces
in Java
• Smart pointers to instances are retrieved using special “factory” methods
• All the implementation details are hidden
• The saved space in headers is taken up instead by the verbose Doxygen comments in
order to generate an always up-to-date reference manual.
class StereoMatcher : public Algorithm // Algorithm is used as a base
{
public: // common methods for all stereo matchers
virtual void compute(InputArray left, InputArray right,
OutputArray disparity) = 0;
…
};
class StereoBM : public StereoMatcher
{
public: // specific methods for particular algorithm
virtual void setUniquenessRatio(int ratio) = 0;
…
// factory method
static Ptr<StereoBM> create(…);
};
…
Ptr<StereoBM> matcher = StereoBM::create(…);
matcher->compute(left, right, disparity);
Transparent API (T-API) for HW
Specializations
• single API entry for each function/algorithm – no
specialized cv::Canny, ocl::Canny, gpu::Canny etc.
• uses dynamically loaded OpenCL runtime if
available; otherwise falls back to CPU code.
Dispatching is at runtime, no recompilation needed!
• minimal or no changes in user code
– CPU-only processing – no changes should be required
• includes the following key components:
– new data structure UMat
– simple and robust mechanism for async processing
– bonus: very convenient API for implementing custom
OpenCL kernels
UMat
• UMat is new type of array that wraps clmem when OpenCL is available
• Replacing Mat with UMat is often the only change needed
#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;
}
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int argc, char** argv)
{
UMat img, gray;
img = imread(argv[1]).getUMat();
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;
}
Transparent API: under the hood
bool _ocl_cvtColor(InputArray src, OutputArray dst, int code) {
static ocl::ProgramSource oclsrc(“//cvtcolor.cl source coden …”);
UMat src_ocl = src.getUMat(), dst_ocl = dst.getUMat();
if (code == COLOR_BGR2GRAY) {
// get the kernel; kernel is compiled only once and cached
ocl::Kernel kernel(“bgr2gray”, oclsrc, <compile_flags>);
// pass 2 arrays to the kernel and run it
return kernel.args(src, dst).run(0, 0, false);
} else if(code == COLOR_BGR2YUV) { … }
return false; // OpenCL function does not have to support all modes
}
void _cpu_cvtColor(const Mat& src, Mat& dst, int code) { … }
// transparent API dispatcher function
void cvtColor(InputArray src, OutputArray dst, int code) {
dst.create(src.size(), …);
if (useOpenCL(src, dst) && _ocl_cvtColor(src, dst, code)) return;
// getMat() uses zero-copy if available; and with SVM it’s no op
Mat src_cpu = src.getMat();
Mat dst_cpu = dst.getMat();
_cpu_cvtColor(src_cpu, dst_cpu, code);
}
OpenCV+OpenCL execution model
• One queue and one OpenCL device per CPU thread
• Different CPU threads can share a device, but use different queues.
• OpenCL kernels are executed asynchronously
• cv::ocl::finish() puts the barrier in the current CPU thread.
• It’s rarely needed to call cv::ocl::finish() manually.
…
ocl::Queue
ocl::Device
ocl::Queue ocl::Queue
ocl::Device
…
…
ocl::Context
CPU threads
IPP + OpenCV
= v. fast OpenCV
• Intel gave us and our users free (as in “beer”) and
royalty-free subset of IPP 8.x (IPPICV).
• IPPICV is linked into OpenCV at compile stage and
replaces the corresponding low-level C code.
• Our buildbot ensures that all the tests pass
New Functionality
and other improvements
• Results from 20+ successful projects
from GSoC 2013, 2014:
– Computational photography, Text detection,
Object Tracking, Matlab bindings etc.
• 1000+ Pull Requests @ github (200+
PR’s between alpha & beta)
• 18 new OpenCV modules! (mostly in
opencv_contrib)
OpenCV QA
Contribution/patch workflow:
see OpenCV wiki
build.opencv.org: buildbot with 50+ builders
pullrequest.opencv.org: tests each pullrequestgithub.com/itseez/opencv
OpenCV test suite
• GoogleTest-based + set of Python
scripts
• Thousands of unit tests
• Accuracy tests
• Performance tests
python ../modules/ts/misc/summary.py core*.xml -f "add:.*C4" -u s
Geometric mean
Name of Test core core core
posix posix posix
x64 x64 x64
6693M 6695 6695
2011-09-08--13-13-41 2011-09-08--13-30-06 2011-09-08--13-30-06
vs
core
posix
x64
6693M
2011-09-08--13-13-41
core_arithm__add::Size_MatType::(127x61, 8UC4) 0.000 s 0.000 s 1.00
core_arithm__add::Size_MatType::(1280x720, 8UC4) 0.004 s 0.004 s 0.99
core_arithm__add::Size_MatType::(1920x1080, 8UC4) 0.009 s 0.009 s 1.02
core_arithm__add::Size_MatType::(640x480, 8UC4) 0.001 s 0.001 s 1.00
OpenVX (Khronos HAL)
OpenCV was one of
the key contributors
to the new Khronos
accelerated vision
API: OpenVX
(Hardware Acceleration Library)
The HAL + Accelerators
• opencv_hal - IPP-like, fastcv-like low-level API to accelerate
OpenCV for different platforms. To be extended in 3.X…
• As stated, opencv_ocl module (OpenCL acceleration) is now
used in other modules to give transparent acceleration (T-API)
• Universal Umat structure now can be used instead of cv::Mat
and OclMat.
• OpenVX, as it matures, may be used as one of the HW
accelerators
SSE, NEON, IPP, OpenCL, CUDA,
OpenCV4Tegra, …
core, imgproc, objdetect …
OpenCV HAL
OpenCV
face, text, rgbd, …
OpenCV
Contrib
Bindings: Python,
Java
Samples, Apps,
Solutions
New from Google Summer of Code 2015
• Deep network optimized execution and
interoperability to existing libraries
• Stereo matching improvements
• Projection mapping
• Improved Camera Calibration
• Better AR fiducial support
• Improvements to text detection and tracking
• Neon optimization
Other Initiatives:
CVPR State of the Art Vision Challenge
State of the Art Vision Challenge at CVPR 2015
Our aim is to make available state of the art vision in OpenCV. We thus ran a
vision challenge to meet or exceed the state of the art in various areas. We
will present the results.
The contest details are available at:
http://code.opencv.org/projects/opencv/wiki/VisionChallenge
Prizes:
1. Win: $1000; Submit code: $3000
2. Win: $1000; Submit code: $3000
3. Win: $1000; Submit code: $3000
4. Win: $1000; Submit code: $3000
5. Win: $1000; Submit code: $3000
Other Initiatives:
People’s Choice: Best Paper
People’s Choice: Best paper
We will tally the people’s vote for best paper/paper you’d most like to see
implemented. We’ll present the histogram of results which is an indication of
the algorithms people are interested in overall and then list the 5 top
winners.
Prizes will be awarded in two stages:
A modest award for winning and
a larger award for presenting the code w/in 5 months as a pull request to
OpenCV as Detailed here:
http://code.opencv.org/projects/opencv/wiki/How_to_contribute
Prizes:
1. Win: $500; Submit code: $6000
2. Win: $300; Submit code: $4000
3. Win: $100; Submit code: $3000
4. Win: $50; Submit code: $3000
5. Win: $50; Submit code: $3000
Functional Language Exploration
• Proliferation of new hardware makes it hard
to support code.
– Let the compiler port to different hardware using a
no-side effects functional language “NUML.”
– Can compile NUML to C++, C, Java and Python.
• NUML is an array/image comprehending
functional language.
– https://github.com/vpisarev/numl/tree/alt_syntax/src
Learning OpenCV 3.0
• Out with 3.0/CVPR … or late summer!
For Version 3.0
Other news:
Intel is now supporting OpenCV Optimizations
• https://software.intel.com/en-us/opencv
OpenCV release candidate is now out!
• http://opencv.org/opencv-3-0-rc1.html
27
Photo: Gary Bradski
Questions?
http://youtu.be/LE7aiONMjK4

Más contenido relacionado

La actualidad más candente

"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseezEdge AI and Vision Alliance
 
Computer Vision, Deep Learning, OpenCV
Computer Vision, Deep Learning, OpenCVComputer Vision, Deep Learning, OpenCV
Computer Vision, Deep Learning, OpenCVFarshid Pirahansiah
 
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...AMD Developer Central
 
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming..."The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...Edge AI and Vision Alliance
 
Getting started with open cv in raspberry pi
Getting started with open cv in raspberry piGetting started with open cv in raspberry pi
Getting started with open cv in raspberry piJayaprakash Nagaruru
 
Introduction to OpenVX
Introduction to OpenVXIntroduction to OpenVX
Introduction to OpenVX家榮 張
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012Wingston
 
OpenCV with android
OpenCV with androidOpenCV with android
OpenCV with androidWingston
 
On technology transfer: experience from the CARP project... and beyond
On technology transfer: experience from the CARP project... and beyondOn technology transfer: experience from the CARP project... and beyond
On technology transfer: experience from the CARP project... and beyonddividiti
 
OpenCV (Open source computer vision)
OpenCV (Open source computer vision)OpenCV (Open source computer vision)
OpenCV (Open source computer vision)Chetan Allapur
 
Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? DVClub
 
Open CL For Haifa Linux Club
Open CL For Haifa Linux ClubOpen CL For Haifa Linux Club
Open CL For Haifa Linux ClubOfer Rosenberg
 
Better Code: Concurrency
Better Code: ConcurrencyBetter Code: Concurrency
Better Code: ConcurrencyPlatonov Sergey
 
Functional Reactive Programming on Android
Functional Reactive Programming on AndroidFunctional Reactive Programming on Android
Functional Reactive Programming on AndroidSam Lee
 
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteProcessor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteDVClub
 

La actualidad más candente (20)

"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
 
Computer Vision, Deep Learning, OpenCV
Computer Vision, Deep Learning, OpenCVComputer Vision, Deep Learning, OpenCV
Computer Vision, Deep Learning, OpenCV
 
Python Open CV
Python Open CVPython Open CV
Python Open CV
 
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...
PT-4057, Automated CUDA-to-OpenCL™ Translation with CU2CL: What's Next?, by W...
 
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming..."The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...
"The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming...
 
Getting started with open cv in raspberry pi
Getting started with open cv in raspberry piGetting started with open cv in raspberry pi
Getting started with open cv in raspberry pi
 
Facedetect
FacedetectFacedetect
Facedetect
 
Android ndk
Android ndkAndroid ndk
Android ndk
 
Introduction to OpenVX
Introduction to OpenVXIntroduction to OpenVX
Introduction to OpenVX
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
 
OpenCV with android
OpenCV with androidOpenCV with android
OpenCV with android
 
On technology transfer: experience from the CARP project... and beyond
On technology transfer: experience from the CARP project... and beyondOn technology transfer: experience from the CARP project... and beyond
On technology transfer: experience from the CARP project... and beyond
 
Introduction to OpenCL
Introduction to OpenCLIntroduction to OpenCL
Introduction to OpenCL
 
OpenCV (Open source computer vision)
OpenCV (Open source computer vision)OpenCV (Open source computer vision)
OpenCV (Open source computer vision)
 
Open Cv
Open CvOpen Cv
Open Cv
 
Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me?
 
Open CL For Haifa Linux Club
Open CL For Haifa Linux ClubOpen CL For Haifa Linux Club
Open CL For Haifa Linux Club
 
Better Code: Concurrency
Better Code: ConcurrencyBetter Code: Concurrency
Better Code: Concurrency
 
Functional Reactive Programming on Android
Functional Reactive Programming on AndroidFunctional Reactive Programming on Android
Functional Reactive Programming on Android
 
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteProcessor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
 

Destacado

OpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons LearnedOpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons LearnedYury Gorbachev
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimizationYoss Cohen
 
Building ADAS system from scratch
Building ADAS system from scratchBuilding ADAS system from scratch
Building ADAS system from scratchYury Gorbachev
 
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Farshid Pirahansiah
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoAMD Developer Central
 
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacion
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacionRaspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacion
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacionjaviertecteos
 
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...javiertecteos
 
Image Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked QuestionsImage Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked Questionsakvalex
 
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)Universitat Politècnica de Catalunya
 
Challenges in Designing a Menu System with Touch-less Technology
Challenges in Designing a Menu System with Touch-less TechnologyChallenges in Designing a Menu System with Touch-less Technology
Challenges in Designing a Menu System with Touch-less TechnologyOmek Interactive
 
Activity Recognition using RGBD
Activity Recognition using RGBDActivity Recognition using RGBD
Activity Recognition using RGBDnazlitemu
 
Real-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesReal-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesYury Gorbachev
 
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...Bond University
 
DARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyDARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyChris Furton
 
Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIGPalak Modi
 
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J..."Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...Sherry Jones
 
CBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningCBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningXiaohu ZHU
 

Destacado (20)

OpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons LearnedOpenCV for Embedded: Lessons Learned
OpenCV for Embedded: Lessons Learned
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimization
 
Building ADAS system from scratch
Building ADAS system from scratchBuilding ADAS system from scratch
Building ADAS system from scratch
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
 
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacion
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacionRaspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacion
Raspberry jam bogota 2016 - Raspberry Pi en el movimiento maker y la educacion
 
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...
Raspberry jam Bogota 2016 - Sistema de visión artificial aplicados a procesos...
 
Image Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked QuestionsImage Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked Questions
 
Image search engine
Image search engineImage search engine
Image search engine
 
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)
Deep Convnets for Video Processing (Master in Computer Vision Barcelona, 2016)
 
Challenges in Designing a Menu System with Touch-less Technology
Challenges in Designing a Menu System with Touch-less TechnologyChallenges in Designing a Menu System with Touch-less Technology
Challenges in Designing a Menu System with Touch-less Technology
 
Activity Recognition using RGBD
Activity Recognition using RGBDActivity Recognition using RGBD
Activity Recognition using RGBD
 
Mixed Reality Project
Mixed Reality ProjectMixed Reality Project
Mixed Reality Project
 
Real-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesReal-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and Techniques
 
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...
Piloting Mixed Reality in ICT Networking to Visualize Complex Theoretical Mul...
 
DARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyDARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes Privacy
 
Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIG
 
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J..."Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...
"Don’t Freeze! Survive the Ethics of a Mixed Reality Escape Room" by Sherry J...
 
CBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningCBIR in the Era of Deep Learning
CBIR in the Era of Deep Learning
 

Similar a "The OpenCV Open Source Computer Vision Library: Latest Developments," a Presentation from the OpenCV Foundation

"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
 
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.orgEdge AI and Vision Alliance
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9Ivan Krylov
 
The operation principles of PVS-Studio static code analyzer
The operation principles of PVS-Studio static code analyzerThe operation principles of PVS-Studio static code analyzer
The operation principles of PVS-Studio static code analyzerAndrey Karpov
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveAmiq Consulting
 
The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...Arnaud Joly
 
.gradle 파일 정독해보기
.gradle 파일 정독해보기.gradle 파일 정독해보기
.gradle 파일 정독해보기경주 전
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONAdrian Cockcroft
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Everything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventureEverything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventureQAware GmbH
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLMario-Leander Reimer
 
Scikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonScikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonMicrosoft
 
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVMJung Kim
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project AnalyzedPVS-Studio
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...CEE-SEC(R)
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentAdaCore
 
How to lock a Python in a cage? Managing Python environment inside an R project
How to lock a Python in a cage?  Managing Python environment inside an R projectHow to lock a Python in a cage?  Managing Python environment inside an R project
How to lock a Python in a cage? Managing Python environment inside an R projectWLOG Solutions
 
PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)Andrey Karpov
 
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPInria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPStéphanie Roger
 

Similar a "The OpenCV Open Source Computer Vision Library: Latest Developments," a Presentation from the OpenCV Foundation (20)

"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
 
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
The operation principles of PVS-Studio static code analyzer
The operation principles of PVS-Studio static code analyzerThe operation principles of PVS-Studio static code analyzer
The operation principles of PVS-Studio static code analyzer
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 
The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...
 
.gradle 파일 정독해보기
.gradle 파일 정독해보기.gradle 파일 정독해보기
.gradle 파일 정독해보기
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Everything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventureEverything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventure
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPL
 
Scikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonScikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in Python
 
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
 
CG-Orientation ppt.pptx
CG-Orientation ppt.pptxCG-Orientation ppt.pptx
CG-Orientation ppt.pptx
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project Analyzed
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise Environment
 
How to lock a Python in a cage? Managing Python environment inside an R project
How to lock a Python in a cage?  Managing Python environment inside an R projectHow to lock a Python in a cage?  Managing Python environment inside an R project
How to lock a Python in a cage? Managing Python environment inside an R project
 
PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)
 
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPInria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
 

Más de Edge AI and Vision Alliance

“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...Edge AI and Vision Alliance
 
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...Edge AI and Vision Alliance
 
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...Edge AI and Vision Alliance
 
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...Edge AI and Vision Alliance
 
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...Edge AI and Vision Alliance
 
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...Edge AI and Vision Alliance
 
“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...Edge AI and Vision Alliance
 
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsightsEdge AI and Vision Alliance
 
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...Edge AI and Vision Alliance
 
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...Edge AI and Vision Alliance
 
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...Edge AI and Vision Alliance
 
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...Edge AI and Vision Alliance
 
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...Edge AI and Vision Alliance
 
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...Edge AI and Vision Alliance
 
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...Edge AI and Vision Alliance
 
“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from SamsaraEdge AI and Vision Alliance
 
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...Edge AI and Vision Alliance
 
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...Edge AI and Vision Alliance
 
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...Edge AI and Vision Alliance
 
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...Edge AI and Vision Alliance
 

Más de Edge AI and Vision Alliance (20)

“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
 
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
 
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
 
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...
“Building Accelerated GStreamer Applications for Video and Audio AI,” a Prese...
 
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
 
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
 
“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...
 
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
 
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
 
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
 
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
 
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
 
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
 
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
 
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
 
“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara
 
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
 
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
 
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
 
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
 

Último

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

"The OpenCV Open Source Computer Vision Library: Latest Developments," a Presentation from the OpenCV Foundation

  • 1. OpenCV 3.0 Gary Bradski Chief Scientist, Perception and AI at Magic Leap CEO, OpenCV.org
  • 2. OpenCV at glance • BSD license, 10M downloads, 500K+ lines of code • Huge community involvement, automated patch testing and integration process • Runs everywhere SSE, NEON, IPP, OpenCL, CUDA, OpenCV4Tegra, … core, imgproc, objdetect … OpenCV HAL OpenCV face, text, rgbd, … OpenCV Contrib Bindings: Python, Java Samples, Apps, Solutions • Find more at http://opencv.org (user) • Or http://code.opencv.org (developer)
  • 3. Recent Stats NOTE: This is only for source forge. Many more downloads come from Git and many more come on Unix distros.
  • 4. OpenCV History Willow Support OpenCV Foundation Intel Support Google Summer of Code Nvidia Support Renewed Intel Support Magic Leap
  • 5. OpenCV Algorithm Modules Overview 5 Image Processing Object recognition Machine learning Transforms Calibration Features VSLAM Fitting Optical Flow Tracking Depth, Pose Normals, Planes, 3D Features Computational Photography CORE: Data structures, Matrix math, Exceptions etc Segmentation HighGUI: I/O, Interface
  • 8. OpenCV 3.0 at glance • Mostly compatible with OpenCV 2.x; OpenCV 1.x C API is deprecated and partially removed • Highlights: – even more modular and extendible – very stable API tailored for a long-term support – decent out-of-box performance thanks to IPP, OpenCL (T-API) and NEON instructions – lot’s of new functionality! Aug’14 Nov’14 Dec’14 May’15 3.0 alpha 3.0 beta 3.0rc 3.0 3.1 Q3’15 Goal of 3.0: make a better OpenCV 2.0, cleanup API, get better performance (with T-API, IPP, NEON), shift to modular structure and enable user contributions. – Vadim Pisarevsky
  • 9. OpenCV => OpenCV + opencv_contrib OpenCV 2.x OpenCV 3.x contributions OpenCV 3.x • OpenCV 3.0 includes mature and clean algorithms that are fully supported • A separate contribution repository is for new CV algorithms that people want to share: http://github.com/itseez/opencv_contrib • Patches to the contrib repository are tested as well by our buildbot to ensure integrity!
  • 10. Using opencv_contrib The modules in contrib have the same structure as the standard ones: $ cmake –D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules … opencv/ modules/ core/ include/, doc/, src/, test/, … CMakeLists.txt imgproc … opencv_contrib/modules text/ include/, doc/, src/, test/, … CMakeLists.txt … Path to the contrib modules can be passed to cmake to build them together with OpenCV:
  • 11. New-style C++ API • All the high-level vision algorithms (face detectors, optical flow estimators, stereo matchers etc.) are declared as pure abstract classes, similarly to interfaces in Java • Smart pointers to instances are retrieved using special “factory” methods • All the implementation details are hidden • The saved space in headers is taken up instead by the verbose Doxygen comments in order to generate an always up-to-date reference manual. class StereoMatcher : public Algorithm // Algorithm is used as a base { public: // common methods for all stereo matchers virtual void compute(InputArray left, InputArray right, OutputArray disparity) = 0; … }; class StereoBM : public StereoMatcher { public: // specific methods for particular algorithm virtual void setUniquenessRatio(int ratio) = 0; … // factory method static Ptr<StereoBM> create(…); }; … Ptr<StereoBM> matcher = StereoBM::create(…); matcher->compute(left, right, disparity);
  • 12. Transparent API (T-API) for HW Specializations • single API entry for each function/algorithm – no specialized cv::Canny, ocl::Canny, gpu::Canny etc. • uses dynamically loaded OpenCL runtime if available; otherwise falls back to CPU code. Dispatching is at runtime, no recompilation needed! • minimal or no changes in user code – CPU-only processing – no changes should be required • includes the following key components: – new data structure UMat – simple and robust mechanism for async processing – bonus: very convenient API for implementing custom OpenCL kernels
  • 13. UMat • UMat is new type of array that wraps clmem when OpenCL is available • Replacing Mat with UMat is often the only change needed #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; } #include "opencv2/opencv.hpp" using namespace cv; int main(int argc, char** argv) { UMat img, gray; img = imread(argv[1]).getUMat(); 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; }
  • 14. Transparent API: under the hood bool _ocl_cvtColor(InputArray src, OutputArray dst, int code) { static ocl::ProgramSource oclsrc(“//cvtcolor.cl source coden …”); UMat src_ocl = src.getUMat(), dst_ocl = dst.getUMat(); if (code == COLOR_BGR2GRAY) { // get the kernel; kernel is compiled only once and cached ocl::Kernel kernel(“bgr2gray”, oclsrc, <compile_flags>); // pass 2 arrays to the kernel and run it return kernel.args(src, dst).run(0, 0, false); } else if(code == COLOR_BGR2YUV) { … } return false; // OpenCL function does not have to support all modes } void _cpu_cvtColor(const Mat& src, Mat& dst, int code) { … } // transparent API dispatcher function void cvtColor(InputArray src, OutputArray dst, int code) { dst.create(src.size(), …); if (useOpenCL(src, dst) && _ocl_cvtColor(src, dst, code)) return; // getMat() uses zero-copy if available; and with SVM it’s no op Mat src_cpu = src.getMat(); Mat dst_cpu = dst.getMat(); _cpu_cvtColor(src_cpu, dst_cpu, code); }
  • 15. OpenCV+OpenCL execution model • One queue and one OpenCL device per CPU thread • Different CPU threads can share a device, but use different queues. • OpenCL kernels are executed asynchronously • cv::ocl::finish() puts the barrier in the current CPU thread. • It’s rarely needed to call cv::ocl::finish() manually. … ocl::Queue ocl::Device ocl::Queue ocl::Queue ocl::Device … … ocl::Context CPU threads
  • 16. IPP + OpenCV = v. fast OpenCV • Intel gave us and our users free (as in “beer”) and royalty-free subset of IPP 8.x (IPPICV). • IPPICV is linked into OpenCV at compile stage and replaces the corresponding low-level C code. • Our buildbot ensures that all the tests pass
  • 17. New Functionality and other improvements • Results from 20+ successful projects from GSoC 2013, 2014: – Computational photography, Text detection, Object Tracking, Matlab bindings etc. • 1000+ Pull Requests @ github (200+ PR’s between alpha & beta) • 18 new OpenCV modules! (mostly in opencv_contrib)
  • 18. OpenCV QA Contribution/patch workflow: see OpenCV wiki build.opencv.org: buildbot with 50+ builders pullrequest.opencv.org: tests each pullrequestgithub.com/itseez/opencv
  • 19. OpenCV test suite • GoogleTest-based + set of Python scripts • Thousands of unit tests • Accuracy tests • Performance tests python ../modules/ts/misc/summary.py core*.xml -f "add:.*C4" -u s Geometric mean Name of Test core core core posix posix posix x64 x64 x64 6693M 6695 6695 2011-09-08--13-13-41 2011-09-08--13-30-06 2011-09-08--13-30-06 vs core posix x64 6693M 2011-09-08--13-13-41 core_arithm__add::Size_MatType::(127x61, 8UC4) 0.000 s 0.000 s 1.00 core_arithm__add::Size_MatType::(1280x720, 8UC4) 0.004 s 0.004 s 0.99 core_arithm__add::Size_MatType::(1920x1080, 8UC4) 0.009 s 0.009 s 1.02 core_arithm__add::Size_MatType::(640x480, 8UC4) 0.001 s 0.001 s 1.00
  • 20. OpenVX (Khronos HAL) OpenCV was one of the key contributors to the new Khronos accelerated vision API: OpenVX (Hardware Acceleration Library)
  • 21. The HAL + Accelerators • opencv_hal - IPP-like, fastcv-like low-level API to accelerate OpenCV for different platforms. To be extended in 3.X… • As stated, opencv_ocl module (OpenCL acceleration) is now used in other modules to give transparent acceleration (T-API) • Universal Umat structure now can be used instead of cv::Mat and OclMat. • OpenVX, as it matures, may be used as one of the HW accelerators SSE, NEON, IPP, OpenCL, CUDA, OpenCV4Tegra, … core, imgproc, objdetect … OpenCV HAL OpenCV face, text, rgbd, … OpenCV Contrib Bindings: Python, Java Samples, Apps, Solutions
  • 22. New from Google Summer of Code 2015 • Deep network optimized execution and interoperability to existing libraries • Stereo matching improvements • Projection mapping • Improved Camera Calibration • Better AR fiducial support • Improvements to text detection and tracking • Neon optimization
  • 23. Other Initiatives: CVPR State of the Art Vision Challenge State of the Art Vision Challenge at CVPR 2015 Our aim is to make available state of the art vision in OpenCV. We thus ran a vision challenge to meet or exceed the state of the art in various areas. We will present the results. The contest details are available at: http://code.opencv.org/projects/opencv/wiki/VisionChallenge Prizes: 1. Win: $1000; Submit code: $3000 2. Win: $1000; Submit code: $3000 3. Win: $1000; Submit code: $3000 4. Win: $1000; Submit code: $3000 5. Win: $1000; Submit code: $3000
  • 24. Other Initiatives: People’s Choice: Best Paper People’s Choice: Best paper We will tally the people’s vote for best paper/paper you’d most like to see implemented. We’ll present the histogram of results which is an indication of the algorithms people are interested in overall and then list the 5 top winners. Prizes will be awarded in two stages: A modest award for winning and a larger award for presenting the code w/in 5 months as a pull request to OpenCV as Detailed here: http://code.opencv.org/projects/opencv/wiki/How_to_contribute Prizes: 1. Win: $500; Submit code: $6000 2. Win: $300; Submit code: $4000 3. Win: $100; Submit code: $3000 4. Win: $50; Submit code: $3000 5. Win: $50; Submit code: $3000
  • 25. Functional Language Exploration • Proliferation of new hardware makes it hard to support code. – Let the compiler port to different hardware using a no-side effects functional language “NUML.” – Can compile NUML to C++, C, Java and Python. • NUML is an array/image comprehending functional language. – https://github.com/vpisarev/numl/tree/alt_syntax/src
  • 26. Learning OpenCV 3.0 • Out with 3.0/CVPR … or late summer! For Version 3.0 Other news: Intel is now supporting OpenCV Optimizations • https://software.intel.com/en-us/opencv OpenCV release candidate is now out! • http://opencv.org/opencv-3-0-rc1.html