2016
Version 5 (Gary Bradski, 2016-03-01 07:11 pm)
1 | 1 | h1. 2016 OpenCV Meeting notes for the year 2016 |
|
---|---|---|---|
2 | 1 | ||
3 | 1 | Template is at http://code.opencv.org/projects/opencv/wiki/Template |
|
4 | 1 | http://code.opencv.org/help/wiki_syntax |
|
5 | 1 | ||
6 | 1 | [[Meeting_notes]] |
|
7 | 1 | ||
8 | 1 | {{>toc}} |
|
9 | 1 | ||
10 | 1 | ||
11 | 1 | <pre> |
|
12 | 1 | <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> |
|
13 | 1 | </pre> |
|
14 | 1 | ||
15 | 4 | Gary Bradski | h2. 2016-01-26 |
16 | 4 | Gary Bradski | |
17 | 4 | Gary Bradski | h3. _*Agenda*_ |
18 | 4 | Gary Bradski | |
19 | 4 | Gary Bradski | * OpenVX starting to grow, "Imagination Pass":https://globenewswire.com/news-release/2016/01/06/799884/0/en/PowerVR-GPUs-From-Imagination-Pass-OpenVX-Conformance-With-Khronos.html |
20 | 4 | Gary Bradski | |
21 | 4 | Gary Bradski | h3. *_Minutes_* |
22 | 4 | Gary Bradski | |
23 | 5 | Gary Bradski | * New summer of code, Feb 8 "See Timelene":https://developers.google.com/open-source/gsoc/timeline |
24 | 4 | Gary Bradski | * Economic ideas for OpenCV |
25 | 1 | * NUML |
|
26 | 5 | Gary Bradski | ** Performance is almost at C level, a few problems, but produces large C files (single C source) when optimization is turned on -O2 or -O3 |
27 | 5 | Gary Bradski | ** See report below |
28 | 5 | Gary Bradski | ** Month to 2 months |
29 | 5 | Gary Bradski | * Industrial vision apps "Datalogic":http://www.datalogic.com/eng/products/industrial-automation/machine-vision-pc-16.html , "Cognex":http://www.cognex.com/ |
30 | 4 | Gary Bradski | |
31 | 4 | Gary Bradski | h3. *_Reports_* |
32 | 4 | Gary Bradski | |
33 | 4 | Gary Bradski | * . Vadim |
34 | 4 | Gary Bradski | |
35 | 4 | Gary Bradski | *OpenCV:* |
36 | 4 | Gary Bradski | |
37 | 4 | Gary Bradski | After NY holidays we resumed the work on OpenCV. The approximate OpenCV 3.2 release time is end of May; before that we will do hackathon. Since it will be before GSoC 2016, not much new functionality should be expected. The major new features will be more or less complete HAL along with many bug fixes found in 3.0/3.1. We also continuously improve our continuous integration infrastructure. Along those lines, we've done the following during the 2 past weeks: |
38 | 4 | Gary Bradski | |
39 | 4 | Gary Bradski | * - build fixes: world with CUDA / precompiled headers for world / include only available modules (via opencv2/opencv.hpp) / python detection issue on Ubuntu 14.04 / fix OSX framework build with contrib |
40 | 4 | Gary Bradski | * - buildbot infrastructure: 2016 copyright / limit (100) number of stored builds&logs / fix iOS nightly build / fix python library path for ARM |
41 | 4 | Gary Bradski | * - prepared proposal for OpenCV add-ons: this is quite important feature, requested by Vincent and other guys. The idea is to let users to build their own modules (or opencv_contrib modules) without rebuilding opencv itself. Alexander Alekhin has prepared the proposal on how to implement this feature. |
42 | 4 | Gary Bradski | * - OpenCV HAL. The 1D DFT API has been finalized and implemented. The first tests showed noticeable speed degradation, so we spend some more time to fix those issues and now the performance is more or less the same as it was before. |
43 | 4 | Gary Bradski | * - There is test build and test run of OpenCV with coverage turned on. We plan to put it to the buildbot and get the test coverage information on regular basis as we did it in Willow Garage times. |
44 | 4 | Gary Bradski | * - ~10 PRs have been reviewed. |
45 | 4 | Gary Bradski | * |
46 | 4 | Gary Bradski | - Vlad Sovrasov joined our team as intern, he is working on converting some of the Python samples to tests, so we will have additional number of tests and besides we will check quality of Python bindings. So far he created 4 new tests |
47 | 4 | Gary Bradski | |
48 | 4 | Gary Bradski | *OpenCV Plans:* |
49 | 4 | Gary Bradski | * - continue Python samples => tests transformation |
50 | 4 | Gary Bradski | * - add the coverage builder |
51 | 4 | Gary Bradski | * - add 2D DFT HAL API, then proceed with filtering functions |
52 | 4 | Gary Bradski | |
53 | 4 | Gary Bradski | *Numl:* |
54 | 4 | Gary Bradski | |
55 | 4 | Gary Bradski | Basically we are now working on rewriting numl compiler in numl, which should greatly improve compile time (.nl=>.c) and also serve as a decent regression test. |
56 | 4 | Gary Bradski | * numlyacc parser generator tool is ready. It was able to reproduce it's own grammar parser. numlyacc takes ~6000 lines of code in numl and it's translated to 95000 lines of code in C. The generated C source takes ~3-4 minutes to compile with -O2 optimization (which reduces down to ~10-20 seconds with -O1). Obviously, we will need to split such huge files into smaller ones. |
57 | 4 | Gary Bradski | * The work on converting numl lexical scanner and the parser to numllex and numlyacc is started. |
58 | 4 | Gary Bradski | * The C code generator has been improved to produce smaller .c files without loosing efficiency (there is quite the opposite effect, in fact). In particular, 1 week ago numlyacc output took ~130000 lines of code in C, now it takes ~95000. |
59 | 4 | Gary Bradski | * Prepared some slides summarizing numl progress over the year: https://docs.google.com/presentation/d/1YmFCkvoo5qwtDAd70xyWpIazMFEWExz7aeZ2P4v2m40/edit#slide=id.p3 |
60 | 4 | Gary Bradski | * There is the first draft of the output C language AST data structure. In the current compiler C code generator is very sophisticated single-pass procedure. We plan to move to the structured representation of C code and then make a few passes over it. It should help to further improve quality of the output code. |
61 | 4 | Gary Bradski | |
62 | 4 | Gary Bradski | *Numl Plans:* |
63 | 4 | Gary Bradski | * *[done!]* Finish numlyacc, test the pair numllex + numlyacc. |
64 | 4 | Gary Bradski | * convert numl parser to numl, then proceed with type checker, k-normalization and optimizers of the k-form. |
65 | 4 | Gary Bradski | * add basic OOP capabilities. This is another item in progress. |
66 | 4 | Gary Bradski | * write some slides and initial documentation for the language and the standard library |
67 | 4 | Gary Bradski | * grow the standard library. |
68 | 4 | Gary Bradski | |
69 | 4 | Gary Bradski | |
70 | 4 | Gary Bradski | |
71 | 4 | Gary Bradski | |
72 | 4 | Gary Bradski | |
73 | 4 | Gary Bradski | h3. *_Action Items_* |
74 | 4 | Gary Bradski | |
75 | 4 | Gary Bradski | *Gary* |
76 | 4 | Gary Bradski | |
77 | 4 | Gary Bradski | * get out GSOC mentor payments |
78 | 4 | Gary Bradski | |
79 | 1 | *Vincent* |
|
80 | 4 | Gary Bradski | |
81 | 5 | Gary Bradski | * Talk about NUML |
82 | 4 | Gary Bradski | |
83 | 4 | Gary Bradski | *Vadim* |
84 | 4 | Gary Bradski | |
85 | 4 | Gary Bradski | * Have Sergey send Gary US account info |
86 | 4 | Gary Bradski | |
87 | 4 | Gary Bradski | *Grace* |
88 | 4 | Gary Bradski | |
89 | 4 | Gary Bradski | * . |
90 | 4 | Gary Bradski | |
91 | 4 | Gary Bradski | |
92 | 4 | Gary Bradski | <pre> |
93 | 4 | Gary Bradski | <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> |
94 | 4 | Gary Bradski | </pre> |
95 | 4 | Gary Bradski | |
96 | 3 | Gary Bradski | h2. 2016-01-19 |
97 | 3 | Gary Bradski | |
98 | 3 | Gary Bradski | h3. _*Agenda*_ |
99 | 3 | Gary Bradski | |
100 | 3 | Gary Bradski | * Taxes |
101 | 3 | Gary Bradski | * OpenCV 3.1 progress |
102 | 3 | Gary Bradski | |
103 | 3 | Gary Bradski | h3. *_Minutes_* |
104 | 3 | Gary Bradski | |
105 | 3 | Gary Bradski | * Paid OpenCV.org's taxes (yes we have taxes because not all income was paid out in the same year) |
106 | 3 | Gary Bradski | * OpenCV |
107 | 3 | Gary Bradski | ** Pulled in 20 pull requests |
108 | 3 | Gary Bradski | ** We are extending the Hardware Acceleration Layer (HAL) -- an API that HW manufacturers can come under and speed up OpenCV |
109 | 3 | Gary Bradski | *** Did the complex ones first |
110 | 3 | Gary Bradski | *** Simpler ones next |
111 | 3 | Gary Bradski | ** These comply with but go beyond OpenVX (it is 40 functions), but we will cover many more functions |
112 | 3 | Gary Bradski | *** FFT, larger data types (beyond 8 bits) |
113 | 3 | Gary Bradski | *** We will allow direct calls later for even more acceleration |
114 | 3 | Gary Bradski | * NUML |
115 | 3 | Gary Bradski | ** NUML compiler is being converted to NUML (port of YACC tool is now in NUML) |
116 | 3 | Gary Bradski | *** Parser is complicated, 500 states, but automatically generated |
117 | 3 | Gary Bradski | *** Parser is general, can be used for other functions, macros |
118 | 3 | Gary Bradski | * Vincent in town for two weeks from France |
119 | 3 | Gary Bradski | ** Meet with OpenCV, Willow and ROS people |
120 | 3 | Gary Bradski | ** There will be official ARM support, current build bot already tests against ARM (Linux, but not Android) |
121 | 3 | Gary Bradski | *** This will expand the ARM user population by quite a bit |
122 | 3 | Gary Bradski | ** Reading up on SYCL (part of Chronos2, higher level than OpenCL) |
123 | 3 | Gary Bradski | * OSI wants us to change our logo :-( |
124 | 3 | Gary Bradski | ** Rather than fight, we're probably going to redesign it |
125 | 3 | Gary Bradski | ** Itseez has a professional designer and/or we could have a contest, but that may lead to conflict problems |
126 | 3 | Gary Bradski | |
127 | 3 | Gary Bradski | h3. *_Reports_* |
128 | 3 | Gary Bradski | |
129 | 3 | Gary Bradski | * . Vadim |
130 | 3 | Gary Bradski | |
131 | 3 | Gary Bradski | |
132 | 3 | Gary Bradski | |
133 | 3 | Gary Bradski | h3. *_Action Items_* |
134 | 3 | Gary Bradski | |
135 | 3 | Gary Bradski | *Gary* |
136 | 3 | Gary Bradski | |
137 | 3 | Gary Bradski | * . |
138 | 3 | Gary Bradski | |
139 | 3 | Gary Bradski | *Vincent* |
140 | 3 | Gary Bradski | |
141 | 3 | Gary Bradski | * . |
142 | 3 | Gary Bradski | |
143 | 3 | Gary Bradski | *Vadim* |
144 | 3 | Gary Bradski | |
145 | 3 | Gary Bradski | * . |
146 | 3 | Gary Bradski | |
147 | 3 | Gary Bradski | *Grace* |
148 | 3 | Gary Bradski | |
149 | 3 | Gary Bradski | * . |
150 | 3 | Gary Bradski | |
151 | 3 | Gary Bradski | |
152 | 3 | Gary Bradski | <pre> |
153 | 3 | Gary Bradski | <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> |
154 | 3 | Gary Bradski | </pre> |
155 | 3 | Gary Bradski | |
156 | 3 | Gary Bradski | h2. 2016-01-12 |
157 | 1 | ||
158 | 1 | h3. _*Agenda*_ |
|
159 | 1 | ||
160 | 2 | Gary Bradski | * New year |
161 | 1 | ||
162 | 1 | h3. *_Minutes_* |
|
163 | 1 | ||
164 | 2 | Gary Bradski | * Maxime extending HAL (Hardware Acceleration Layer) |
165 | 2 | Gary Bradski | ** Fixed API, so OpenCV can be easily accelerated w/o needing any customization |
166 | 2 | Gary Bradski | * Bug reports and pull requests for 3.0 and 3.1 |
167 | 2 | Gary Bradski | ** Working on |
168 | 2 | Gary Bradski | * NUML |
169 | 2 | Gary Bradski | ** NUML compiler converted from C to NUML |
170 | 2 | Gary Bradski | *** 3 parts, 30K lines. If 30K lines compile and work, it's a good sign of stability |
171 | 2 | Gary Bradski | *** Already some bugs fixed |
172 | 2 | Gary Bradski | *** Smaller footprint to get started |
173 | 2 | Gary Bradski | ** NUML => C bootstrap. So can port to new platform easily |
174 | 2 | Gary Bradski | ** Advantages: |
175 | 2 | Gary Bradski | *** Safe language is safe, can't go out of bounds. |
176 | 2 | Gary Bradski | *** parallel for is embedded |
177 | 2 | Gary Bradski | *** matlab kind of productivity, but optimized C run speed |
178 | 2 | Gary Bradski | **** NUML 20-50x faster than Python |
179 | 2 | Gary Bradski | *** types are checked at compile time. No number to string adds for example |
180 | 2 | Gary Bradski | *** Compile speed at speed of C compiler (NUML byte code to C) Bottleneck if C compiler |
181 | 2 | Gary Bradski | *** 1000 lines of NUML => 10Ks of C code |
182 | 2 | Gary Bradski | ** Working on this conversion, then tutorial slides |
183 | 2 | Gary Bradski | *** Can write code in text editor, type NUML and then |
184 | 2 | Gary Bradski | *** Notebooks |
185 | 1 | ||
186 | 1 | h3. *_Reports_* |
|
187 | 1 | ||
188 | 1 | * . Vadim |
|
189 | 1 | ||
190 | 1 | ||
191 | 1 | ||
192 | 1 | h3. *_Action Items_* |
|
193 | 1 | ||
194 | 1 | *Gary* |
|
195 | 1 | ||
196 | 1 | * . |
|
197 | 1 | ||
198 | 1 | *Vincent* |
|
199 | 1 | ||
200 | 1 | * . |
|
201 | 1 | ||
202 | 1 | *Vadim* |
|
203 | 1 | ||
204 | 1 | * . |
|
205 | 1 | ||
206 | 1 | *Grace* |
|
207 | 1 | ||
208 | 1 | * . |
|
209 | 1 | ||
210 | 1 | ||
211 | 1 | <pre> |
|
212 | 1 | <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> |
|
213 | 1 | </pre> |
|
214 | 1 | ||
215 | 1 | ||
216 | 1 | ||
217 | 1 | ||
218 | 1 | [[Meeting_notes]] |