Ask Your Question

Evren's profile - activity

2020-06-22 14:47:05 -0600 received badge  Popular Question (source)
2018-07-19 02:56:01 -0600 commented answer How to compare two handwriting characters to get similarity score

This walkthrough may be a starting point for you to build one yourself using Keras: One Shot Learning and Siamese Netwo

2018-07-18 12:07:46 -0600 marked best answer Performance issue with Android arm64-v8a custom build

Hello,

I have successfully built OpenCV for Android using the c++_static STL and clang on an Ubuntu 16.04 machine. Functionality I have tested so far appears to be OK.

On armeabi-v7a, execution performance (as in time it takes to run inferences within the DNN module) matches the performance that I get if I use the official 3.4.1 Android libraries. However, when I build for arm64-v8a, performance of the custom build is about 3x slower than the official OpenCV Android libraries for the same ABI. I can't figure out what the variance (apart from c++_static) in my build configuration may be.

The only reason I'm running my own build is that I require a c++_static build due to other dependencies in my project which I'm unable to change.

If anyone is able to and willing to review and help, below is the CMAKE configuration that I'm using to build the arm64-v8a library. Why is my custom built library slower than the official OpenCV Android arm64-v8a release? What can I do to match performance?

ANDROID_ABI:STRING=arm64-v8a

ANDROID_ARM_NEON:BOOL=ON

//Build binaries of Android examples with native libraries
ANDROID_EXAMPLES_WITH_LIBS:BOOL=OFF

ANDROID_PLATFORM:STRING=android-25

ANDROID_STL:STRING=c++_static

//Build examples for Android platform
BUILD_ANDROID_EXAMPLES:BOOL=OFF

//Build Android projects providing .apk files
BUILD_ANDROID_PROJECTS:BOOL=OFF

//Build OpenCV Manager for Google Play
BUILD_ANDROID_SERVICE:BOOL=OFF

//Build CUDA modules stubs when no CUDA SDK
BUILD_CUDA_STUBS:BOOL=OFF

//Create build rules for OpenCV Documentation
BUILD_DOCS:BOOL=OFF

//Build all examples
BUILD_EXAMPLES:BOOL=OFF

//Build libjasper from source
BUILD_JASPER:BOOL=ON

//Enable Java support
BUILD_JAVA:BOOL=ON

//Build libjpeg from source
BUILD_JPEG:BOOL=ON

//Build only listed modules (comma-separated, e.g. 'videoio,dnn,ts')
BUILD_LIST:STRING=

//Build openexr from source
BUILD_OPENEXR:BOOL=ON

//Enables 'make package_source' command
BUILD_PACKAGE:BOOL=ON

//Build performance tests
BUILD_PERF_TESTS:BOOL=OFF

//Build libpng from source
BUILD_PNG:BOOL=OFF

//Force to build libprotobuf from sources
BUILD_PROTOBUF:BOOL=ON

//Build shared libraries (.dll/.so) instead of static ones (.lib/.a)
BUILD_SHARED_LIBS:BOOL=ON

//Download and build TBB from source
BUILD_TBB:BOOL=ON

//Build accuracy & regression tests
BUILD_TESTS:BOOL=OFF

//Build libtiff from source
BUILD_TIFF:BOOL=ON

//Use symlinks instead of files copying during build (and !!INSTALL!!)
BUILD_USE_SYMLINKS:BOOL=OFF

//Build WebP from source
BUILD_WEBP:BOOL=ON

//Include debug info into release binaries ('OFF' means default
// settings)
BUILD_WITH_DEBUG_INFO:BOOL=OFF

//Enables dynamic linking of IPP (only for standalone IPP)
BUILD_WITH_DYNAMIC_IPP:BOOL=OFF

//Build zlib from source
BUILD_ZLIB:BOOL=OFF

//Build utility applications (used for example to train classifiers)
BUILD_opencv_apps:BOOL=OFF

//Include opencv_calib3d module into the OpenCV build
BUILD_opencv_calib3d:BOOL=ON

//Include opencv_core module into the OpenCV build
BUILD_opencv_core:BOOL=ON

//Include opencv_dnn module into the OpenCV build
BUILD_opencv_dnn:BOOL=ON

//Include opencv_features2d module into the OpenCV build
BUILD_opencv_features2d:BOOL=ON

//Include opencv_flann module into the OpenCV build
BUILD_opencv_flann:BOOL=ON

//Include opencv_highgui module into the OpenCV build
BUILD_opencv_highgui:BOOL=ON

//Include opencv_imgcodecs module into the OpenCV build
BUILD_opencv_imgcodecs:BOOL=ON

//Include opencv_imgproc ...
(more)
2018-07-18 12:07:28 -0600 answered a question Performance issue with Android arm64-v8a custom build

OK, I found my mistake and solved the issue. I was building libopencv_world.so as I didn't have the CMAKE option build_o

2018-07-18 11:57:49 -0600 commented answer How to compare two handwriting characters to get similarity score

You can get a subscription key for free by signing up to Azure Portal and you will be able to run plenty of tests withou

2018-07-17 10:11:59 -0600 received badge  Organizer (source)
2018-07-17 04:00:12 -0600 received badge  Editor (source)
2018-07-17 04:00:12 -0600 edited answer How to compare two handwriting characters to get similarity score

A CNN can do classification or regression, it depends on what you are building it for. If you wanted to look at similari

2018-07-17 03:59:07 -0600 answered a question How to compare two handwriting characters to get similarity score

A CNN can do classification or regression, it depends on what you are building it for. If you wanted to look at similari

2018-07-16 11:22:09 -0600 commented question How to compare two handwriting characters to get similarity score

Do you really need to do this using OpenCV or some CNN / DNN framework? If Holger's approach does work for you, I would

2018-07-16 09:43:05 -0600 asked a question Performance issue with Android arm64-v8a custom build

Performance issue with Android arm64-v8a custom build Hello, I have successfully built OpenCV for Android using the c++

2018-05-03 08:30:19 -0600 marked best answer Does OpenCV DNN support OpenCL on non-intel platforms?

Hi,

Does OpenCV DNN support OpenCL acceleration on non-intel platforms / devices or is it purely optimised for Intel subgroups? If not, are there any plans and timelines to get OpenCL running on other devices?

I'm particularly interested in accelerating DNNs on Android with OpenCL.

Many thanks,

Evren

2018-05-03 08:30:11 -0600 commented answer Does OpenCV DNN support OpenCL on non-intel platforms?

Thanks Steven, I have now done a build of the 3.4.1 development branch and got OpenCL working with the Darknet DNN modul

2018-04-26 11:25:47 -0600 asked a question Does OpenCV DNN support OpenCL on non-intel platforms?

Does OpenCV DNN support OpenCL on non-intel platforms? Hi, Does OpenCV DNN support OpenCL acceleration on non-intel pla

2018-04-26 11:11:14 -0600 commented question Does OpenCV 3.4.x perform better(execution time) in release mode?

My experience using the DNN module is that there is a very significant performance difference between debug and release

2018-02-12 04:13:02 -0600 received badge  Supporter (source)
2018-02-12 04:01:38 -0600 marked best answer OpenCV and Neural Network / AI Accelerators for Mobile Devices

Hello all,

I'm trying to understand if we can expect any performance improvements (as in speed of inference / processing) in projects using OpenCV in mobile platforms that have or will have the existing and upcoming NN / AI accelerators such as the IphoneX's AI chip, Qualcomm's Neural Processing Units on the Snapdragon 835 / 845, PowerVR 2NX, etc. After days of searching online, it is not clear to me if OpenCL and hence OpenCV would be accelerated on such platforms out of the box. The prospect of being able to perform complex CV operations, such as the use of OpenCV's DNN module, taking advantage of any acceleration such chips offer is exciting.

Does anyone have any knowledge on the matter? Is OpenCV able to benefit from these chips via OpenCL acceleration?

I am more than happy to read more on the topic, I may have missed some online material out there. If you are aware of any resources, I would be grateful if you can point me to them.

2018-02-12 04:01:38 -0600 received badge  Scholar (source)
2018-02-11 07:21:34 -0600 asked a question OpenCV and Neural Network / AI Accelerators for Mobile Devices

OpenCV and Neural Network / AI Accelerators for Mobile Devices Hello all, I'm trying to understand if we can expect any

2018-01-15 03:44:32 -0600 received badge  Enthusiast