-
-
Notifications
You must be signed in to change notification settings - Fork 55.7k
2017
Gary Bradski edited this page Jun 6, 2017
·
58 revisions
Template is at http://code.opencv.org/projects/opencv/wiki/Template
http://code.opencv.org/help/wiki_syntax
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- OpenCV
- GSoC template
- OpenCV
- Tutorial at CVPR
- 2 releases will come out
- 3.3 release candidate out w/in 2 weeks (hope it includes openvx backend, allows flowgraph for dnn modules)
- At least 8 core people
-
DNN from contrib to main
- pytorch different from torch
- Caffe1 but not yet 2 difference in padding of arrays
- Tensorflow and Caffe use different layouts … need tricks … also flattened layers
- 1D representations have different orderings. Might be better to wait
- Then, there are kernel specializations for specialized hardware … might take years to settle out
- Then there is research in shrinking kernels
- Support various blas version, openvx,
- Regression tests run over many implementations which help insure capability/similarity to run most backends
-
DNN from contrib to main
- support ganz opencl
- Halide patches in. Block tensors into “voxels” for efficient convolution
- MKL dnn approach
- opencl kernels
- tiny_dnn,
- maybe Halide with some of the upstream engine nnpack
- Halide patches in. Block tensors into “voxels” for efficient convolution
- Halide
- Might want a better cross integration
- cudnn
- might have larger impact across
- difference from openvx approach?
- GSoC
- Maksim Shabunin sent out a pull request template
- Weekly reports on mailing list
- Get a git summary out to everyone
- Git
- Sourcetreee (mac)
- Smartgit (cross platform)
- tortoise (windows)
- gitkraken (cross platform)
- atom editor, git and github
- Ask student to send summary reports regularly (encouraged) … short
- Refine the pull request summary
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC
- Foundation
- GSoC
- Contribution template out
- Foundation
- Can OpenCV.org hold the domain for tiny_dnn?
- OpenCV/tiny_dnn.org
- Github?
- Build bots for github:
- Travis OS X, Linux,
- For windows: https://www.appveyor.com/
- Build bots for github:
- Github?
- Kernels for near metal applications
- Tensor Flow optimization on Intel TensorFlow On Intel
- GTech — minimum tensor data structure for optimization access across architectures
- Dlpack
-
NNVM computation graph for deep nets NNVM
- “computation graph optimization such as memory reduction, device allocation and more while being agnostic to the operator interface definition and how operators are executed”
- Tianqi Chen driving this https://github.com/tqchen
- Halide framework for opencv, deep in Intel. Best to relate
- Intel Scheme
- Write Vadim about tiny_dnn under the opencv domain/github cross links
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC needs
- Deep NN students need GPU cycles
- For text detection etc
- Lambda Labs?
- Google?
- MRF code
- Ask about Intel release of Halide Deep network kernels
- 501c3 filing
- Notice to prime students to begin GSoC!
- Who might need GPU access?
- Ask for GPU resources for tiny_dnn students
- Lambda labs with pre-trained model zoo?
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC pull template
- Image corruption bug
- GSoC pull template
- Need to create a template of how to do a pull request with all unit tests, examples
- Image corruption bug
- We could get money ! (And maybe that would have found the security bug)
- https://opensource.googleblog.com/2017/05/oss-fuzz-five-months-later-and.html
- Vadim on it
- Need to see Coverity checks
- https://scan.coverity.com/
- Foundation will need to consider all this
- We could get money ! (And maybe that would have found the security bug)
- Projects
- Docs for all languages,
- Doc writer got accepted in MIT
- tiny_dnn
- Where does it sit in the deepnet ecosystem?
- Simple front end
- Reach to good backends
- Use xtensor to extend
- https://github.com/QuantStack/xtensor
- Use xtensor to extend
- ARM, GPU, Intel …Easy to use the best for each
- Will be integrated with GPU for training after this summer of code.
- Auto difference engine with GPU backend, cudadnn, libdnn,
- Where does it sit in the deepnet ecosystem?
- Projects, OpenCV GSoC 2017:
- API for Facial Landmark Detector
- Computational Occlusion Removal in Image Inpainting
- Create Web-based Interactive Tutorials and Examples for OpenCV
- Documentation Improvement
- End to End text detection and recognition
- Face alignment with opencv
- GPU enabled deep learning framework
- Implementing and extending DynamicFusion (Newcombe et al 2015)
- Improve and Extend the JavaScript Bindings for OpenCV
- Improve Background Subtraction with Aggregated Saliency
- Improvement of the background subtraction algorithm
- Learning compact models for object detection
- Photometric Calibration
- Recurrent Neural Networks on tiny-dnn
- Speeding-up AKAZE features
- The Fast Bilateral Solver
- Gary
- Get in the pull template for students
- Get cash amount for schwag to Vincent
- Maxim emails for docs
Check on tiny_dnn
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC pull requests
- Need to contact Vadim to put together a pull request template.
- Get students and mentors going
- Create tracking spreadsheet
- Gary
- Get in the pull template for students
Projects and mentors list onto site- Get cash amount for schwag to Vincent
Contact G about $ for “event”Vadim, dinner
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- Slot requests are in
- Hallide
- Experiments are ongoing with Halide
Func blur_3x3(Func input) {
Func blur_x, blur_y;
Var x, y, xi, yi;
// The algorithm - no storage or order
blur_x(x, y) = (input(x-1, y) + input(x, y) + input(x+1, y))/3;
blur_y(x, y) = (blur_x(x, y-1) + blur_x(x, y) + blur_x(x, y+1))/3;
// The schedule - defines order, locality; implies storage
blur_y.tile(x, y, xi, yi, 256, 32)
.vectorize(xi, 8).parallel(y);
blur_x.compute_at(blur_y, x).vectorize(x, 8);
return blur_y;
}
- It’s library in C++, but limited operators
- Good for image processing, deep nets
- Not good if your code needs logical operators w/in the processing loop
- The gradients of Canny operator yes, not the line thinning
- Our slot asks are in
- We find out allocation tomorrow, April 19
- We will then have an email conference of the admins
- We will scrape the list, if we feel we have too many slots, we’ll try to return unneeded ones quickly.
- Vadim will give a tutorial there
- Several of us will be there (Vincent, Vadim, Gary)
Book CVPR
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC reviews by mentors
- Mentors need to rate the proposals and select people
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC decisions
- For DNN (just reading and running nets trained in Torch, TenserFlow, Caffe etc), it will translate to Halide and then run taking advantage of the architecture.
- Going to OpenCL straight can result in unstable code, this way you generate efficient OpenCL for GPU.
- We have a strong mentor for SLAM this year … might go with it if we can find the right student.
- Stereo via flow net
- Support for Halide? Seems great for basic deepnet stuff, simple image processing
- See Idea 17 https://github.com/opencv/opencv/wiki/GSoC_2017#2017-project-ideas
- Would be great to get a model zoo of squeezed, high performance deep nets for DNN or for tiny-dnn, these are highly useful.
*
Gary to send out reminder for students to apply to the GSoC siteGary to remind mentors to start reviewing/deciding on possible/students/topics … commit.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC — gather in the mentors
- Ideas
- GSoC
- Can we develop radically smaller deep networks for text detection. Squeeze nets?
**
- Can we develop radically smaller deep networks for text detection. Squeeze nets?
- DNN will read Torch, Caffe, TensorFlow and run it fast.
- Colormap for SFM and multi-view is cool , but its GPL.
- Gary to send out another announcement to post on GSOC site
- Submit via google doc
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC — gather in the mentors
- Ideas
- Admins were screwed up by daylight savings, so most of the team missed the meeting. It was decided anyhow that the main useful activity is to review student proposals. Go to:
- JPEGXS (sequences) https://jpeg.org/jpegxs/
- JPEG lightfield https://jpeg.org/items/20170208_cfp_pleno.html
-
GSOC
- Curved edge detection
*
- Curved edge detection
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC — gather in the mentors
- Ideas
- Gathering mentors
- Vincent
- Vadim
- Gary
- Stefano
- Grace
- Pras?
- Reza?
- Edgar
- Ethan?
- Michael?
- Yida?
- Antonella
- Delia
- Maksim
- StevenP
- Manuele?
- noumi?
- Ideas
- Generalized ROI
- see https://github.com/kokkos/array_ref/blob/master/proposals/P0331.rst
- Optimizations
- Improve 3D viewer for colorized normals
- vis improvements
- http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation
- Normals might be here
- http://www.docs.opencv.org/master/d5/dd8/classcv_1_1viz_1_1WCloudNormals.html
- Can we encourage improving or developing simpler but important functionality
- Intel DNN
- Generalized ROI
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC
- GSoC
-
RGBD
- 3D visualizer add normals and colorized normals
-
VTK toolkit has all the “tools” to do whatever
- For example, expose: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ElevationBandsWithGlyphs
- Tiny-dnn
- Needs mentor
- Recruit mentors
- Edgar
- Original tiny-dnn author
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC
- GSoC
- focusing on organizing tiny_dnn group
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC
- OpenCV.js very interesting
- OpenCV.js OpenCV in javascript. Looks very interesting
- GSoC
- Our application is complete
- Developers can put ideas into the OpenCV ideas page
- Halide? http://halide-lang.org/
- . Vadim
Gary
- .
Vincent
- .
Vadim
- .
Grace
- .
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
- GSoC
- GSoC
-
DNN Intel contributing
- Training mini-batch — can be pluralized across samples
- Inference — one sample
- Project to detect useful objects
- Face
- Pedestrian
- Car
- Smaller architectures is 50x smaller than Alex net for example
- Optimization on mobile — model has to be compact, just a few GFLOPs, run quantized, code flow should be optimized for the architecture but this is beyond scope for a student
- Squeeze net … tiny_dnn
- Gam low power
- Improving Tutorials
- How to use the deep learning
- Update existing tutorials
- Tracking
- Computational photography
- Camera calibration
- Video stabilization … or improve it
- Image stitching
- April tags or Aruco to make a true checkerboard as tags
- Improve Aruco and Charuco code
- SLAM ? All efforts have failed. Only if we can find someone far along in a related thesis
- Better background subtraction
- Deep?
- Current MoG has a flaw — all pixels independently — no smoothness, spacial constraints
-
-We have better optical flow now- - Better saliency model. Improve saliency API
- Video stabilization, or just improve tutorial
- Labeling module …
- Improve VATIC (contact authors?)
- OpenCV for artistic interaction
- Natural interaction
- Hand pose?
- Text detection improvement … better datasets.
-
DNN Intel contributing
- Hard to know quality level of different code in contrib
- Put quality, optimization, GPU optimiztion, in Wiki
- computational photography
- SFM
- Make a Wiki to track
- Tracking with CNN doesn’t have GPU optimization
- . Vadim
Gary
- .
Vincent
- .
Vadim
- .
Grace
- .
© Copyright 2024, OpenCV team
- Home
- Deep Learning in OpenCV
- Running OpenCV on Various Platforms
- OpenCV 5
- OpenCV 4
- OpenCV 3
- Development process
- OpenCV GSoC
- Archive