Intel OpenVino on Linux



  • Hi,

    while building an application based on Qt5 and Intel OpenVino I noticed that there's some kind of conflict when linking the two libraries together. The symptoms are that, when performing face detection with OpenVino, the coordinates of the boxes are offset and discretized.

    A very simple way to experience that is by compiling and running the interactive_face_detection_demo of OpenVino:

    cd /opt/intel/computer_vision_sdk/inference_engine/samples/
    ./build_samples.sh
    
    cd ~/inference_engine_samples_build/intel64/Release/
    ./interactive_face_detection_demo -m /opt/intel/computer_vision_sdk/deployment_tools/intel_models/face-detection-adas-0001/FP32/face-detection-adas-0001.xml
    

    and then simply adding and recompiling:

    ...
    #include <QApplication>
    
    ...
    int main(int argc, char *argv[]) {
        QApplication app(argc, argv);
    ...
    

    in the /opt/intel/computer_vision_sdk/inference_engine/samples/interactive_face_detection_demo/main.cpp file.

    My only clue is about a possible conflict between the threading framework used by OpenVino (OpenMP) and the one used by Qt5 on Linux.

    Has anyone experienced this? or has some lead how to solve this conflict?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Can you provide the link to the OpenVino version you are using ?
    What version of Qt are you using ?
    What Linux distribution are you running ?
    What result are you expecting ?
    What result are you getting ?



  • Hi @SGaist

    the issue happens with different version of openvino, including the last release 2018 R5 (also in 2018 R2):

    OpenVino link : http://registrationcenter-download.intel.com/akdlm/irc_nas/15013/l_openvino_toolkit_p_2018.5.445.tgz
    QT version : 5.9.5
    Linux distribution : Ubuntu 18.04 (also in Ubuntu 16.04)
    Kernel : 4.15.0-43-generic x86_64 (also in 4.4.0-139-generic x86_64)
    Experienced behavior : face location returned by the openvino face detector is offset compared to the location returned by the openvino face detector binary not linking Qt5
    Expected behavior : face location returned by the openvino face detector binary with and without Qt5 linking is the same

    Thanks!



  • Hi,

    I can confirm this one with the R4 release of OpenVino, QT 5.7 under Ubuntu 16.04.
    The location and the size of the detected faces are corrupted. This bug occurs either on CPU or NCS/MYRIAD target.



  • I can confirm on:
    OpenVino 2019 R1.0.1
    Ubuntu 18.04
    QT 5.9.5


  • Banned

    This post is deleted!


  • This is a locale issue, specifically your default distro "LC_NUMERIC" setting. This causes a conflict with certain POSIX functions which can mess with data type conversion and maths functions. Try adding the following right after initializing your application:

    setlocale(LC_NUMERIC,"C");
    

    More info HERE



  • @scooter1556 Thank you for your post! Had wrong classification results all the time, now everything is working fine. I stumbled upon this thread some weeks ago already. Luckily I checked for updates again today :)


Log in to reply