G-API: Fix various issues for 4.2 release
* G-API: Fix issues reported by Coverity
- Fixed: passing values by value instead of passing by reference
* G-API: Fix redundant std::move()'s in return statements
Fixes#15903
* G-API: Added a smarter handling of Stop messages in the pipeline
- This should fix the "expected 100, got 99 frames" problem
- Fixes#15882
* G-API: Pass enum instead of GKernelPackage in Streaming test parameters
- Likely fixes#15836
* G-API: Address review issues in new bugfix comments
* G-API-NG/Docs: Added a tutorial page on interactive face detection sample
- Introduced a "--ser" option to run the pipeline serially for
benchmarking purposes
- Reorganized sample code to better fit the documentation;
- Fixed a couple of issues (mainly typos) in the public headers
* G-API-NG/Docs: Reflected meta-less compilation in new G-API tutorial
* G-API-NG/Docs: Addressed review comments on Face Analytics Pipeline example
cuda4dnn(resize): process multiple channels each iteration
* resize bilinear: process multiple chans. per iter.
* remove unused headers
* correct dispatch logic
* resize_nn: process multiple chans. per iter.
* resize: HResizeLinear reduce duplicate work
There appears to be a 2x unroll of the HResizeLinear against k,
however the k value is only incremented by 1 during the unroll. This
results in k - 1 duplicate passes when k > 1.
Likewise, the final pass may not respect the work done by the vector
loop. Start it with the offset returned by the vector op if
implemented. Note, no vector ops are implemented today.
The performance is most noticable on a linear downscale. A set of
performance tests are added to characterize this. The performance
improvement is 10-50% depending on the scaling.
* imgproc: vectorize HResizeLinear
Performance is mostly gated by the gather operations
for x inputs.
Likewise, provide a 2x unroll against k, this reduces the
number of alpha gathers by 1/2 for larger k.
While not a 4x improvement, it still performs substantially
better under P9 for a 1.4x improvement. P8 baseline is
1.05-1.10x due to reduced VSX instruction set.
For float types, this results in a more modest
1.2x improvement.
* Update U8 processing for non-bitexact linear resize
* core: hal: vsx: improve v_load_expand_q
With a little help, we can do this quickly without gprs on
all VSX enabled targets.
* resize: Fix cn == 3 step per feedback
Per feedback, ensure we don't overrun. This was caught via the
failure observed in Test_TensorFlow.inception_accuracy.
Test create custom layer in python
* check is contiguos
* Add custom layer test
* Fix test
* Remove assert
* Move assert to pyopencv dnn
* remove assert
* Add unregister
* Fix python2
* proto to bytearray
* Fix data type
* G-API: Addressed various documentation issues
- Fixed various typos and missing references;
- Added brief documentaion on G_TYPED_KERNEL and G_COMPOUND_KERNEL macros;
- Briefly described GComputationT<>;
- Briefly described G-API data objects (in a group section).
* G-API: Some clean-ups in doxygen, also a chapter on Render API
* G-API: Expose more graph compilation arguments in the documentation
* G-API: Address documentation review comments