Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/cpp_gapi-demos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ jobs:
- if: ${{ !steps.cache.outputs.cache-hit }}
name: Compile OpenCV
run: |
sudo apt install pkg-config ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev
rm -rf cache/opencv/.git/ # Minimize cache
mkdir cache/opencv/build
cd cache/opencv/build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_INF_ENGINE=y -DOpenVINO_DIR=$GITHUB_WORKSPACE/ov/runtime/cmake/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_C_LINKER_LAUNCHER=ccache -DBUILD_TESTS=n -DBUILD_PERF_TESTS=n -DBUILD_EXAMPLES=n -DBUILD_opencv_apps=n -DWITH_OPENCL=n -DWITH_OPENCLAMDBLAS=n -DWITH_OPENCLAMDFFT=n -DWITH_VA=n -DWITH_VA_INTEL=n -DWITH_V4L=n -DWITH_GSTREAMER=n -DWITH_PROTOBUF=n -DBUILD_PROTOBUF=n -DBUILD_JAVA=n -DBUILD_opencv_java_bindings_generator=n -DBUILD_opencv_python2=n -DBUILD_opencv_python3=n -DWITH_IMGCODEC_HDR=n -DWITH_IMGCODEC_SUNRASTER=n -DWITH_IMGCODEC_PXM=n -DWITH_IMGCODEC_PFM=n -DWITH_PNG=n -DWITH_TIFF=n -DWITH_WEBP=n -DWITH_OPENJPEG=n -DWITH_JASPER=n -DWITH_OPENEXR=n -DBUILD_opencv_dnn=n -DBUILD_opencv_features2d=n -DBUILD_opencv_flann=n -DWITH_TBB=n -DBUILD_INFO_SKIP_EXTRA_MODULES=n -DBUILD_JASPER=n -DBUILD_PNG=n -DBUILD_OPENEXR=n -DBUILD_WEBP=n -DBUILD_ZLIB=n -DWITH_CUDA=n -DWITH_EIGEN=n -DWITH_GPHOTO2=n -DOPENCV_GAPI_GSTREAMER=n -DWITH_LAPACK=n -DWITH_MATLAB=n -DWITH_MFX=n -DWITH_QUIRC=n -DWITH_VTK=n -DINSTALL_PDB=n -DINSTALL_TESTS=n -DINSTALL_C_EXAMPLES=n -DINSTALL_PYTHON_EXAMPLES=n -DOPENCV_GENERATE_SETUPVARS=n -DWITH_1394=n -DWITH_FFMPEG=n -DWITH_GTK_2_X=y -DBUILD_JPEG=y -DWITH_IPP=y -DENABLE_CONFIG_VERIFICATION=y -DBUILD_LIST=core,gapi,highgui,imgcodecs,imgproc,videoio ..
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_INF_ENGINE=y -DOpenVINO_DIR=$GITHUB_WORKSPACE/ov/runtime/cmake/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_C_LINKER_LAUNCHER=ccache -DBUILD_TESTS=y -DVIDEOIO_ENABLE_PLUGINS=y -DBUILD_PERF_TESTS=n -DBUILD_EXAMPLES=n -DBUILD_opencv_apps=y -DWITH_OPENCL=n -DWITH_OPENCLAMDBLAS=n -DWITH_GSTREAMER=n -DWITH_V4L=ON -DWITH_LIBV4L=ON -DWITH_OPENCLAMDFFT=n -DWITH_VA=n -DWITH_VA_INTEL=n -DWITH_PROTOBUF=n -DBUILD_PROTOBUF=n -DBUILD_JAVA=n -DBUILD_opencv_java_bindings_generator=n -DBUILD_opencv_python2=n -DBUILD_opencv_python3=n -DWITH_IMGCODEC_HDR=y -DWITH_IMGCODEC_SUNRASTER=y -DWITH_IMGCODEC_PXM=y -DWITH_IMGCODEC_PFM=y -DWITH_PNG=y -DWITH_TIFF=n -DWITH_WEBP=n -DWITH_OPENJPEG=n -DWITH_JASPER=n -DWITH_OPENEXR=n -DBUILD_opencv_dnn=n -DBUILD_opencv_features2d=n -DBUILD_opencv_flann=n -DWITH_TBB=n -DBUILD_INFO_SKIP_EXTRA_MODULES=n -DBUILD_JASPER=n -DBUILD_PNG=n -DBUILD_OPENEXR=n -DBUILD_WEBP=n -DBUILD_ZLIB=n -DWITH_CUDA=n -DWITH_EIGEN=n -DWITH_GPHOTO2=n -DOPENCV_GAPI_GSTREAMER=n -DWITH_LAPACK=n -DWITH_MATLAB=n -DWITH_MFX=n -DWITH_QUIRC=n -DWITH_VTK=n -DINSTALL_PDB=n -DINSTALL_TESTS=n -DINSTALL_C_EXAMPLES=n -DINSTALL_PYTHON_EXAMPLES=n -DOPENCV_GENERATE_SETUPVARS=n -DWITH_1394=n -DWITH_FFMPEG=y -DWITH_GTK_2_X=y -DBUILD_JPEG=y -DWITH_IPP=y -DENABLE_CONFIG_VERIFICATION=y -DBUILD_LIST=core,gapi,highgui,imgcodecs,imgproc,videoio,video ..
cmake --build . -j $((`nproc`*2+2))
- name: build_demos.sh
run: |
Expand Down
14 changes: 7 additions & 7 deletions demos/gaze_estimation_demo/cpp_gapi/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#include <opencv2/gapi/gproto.hpp>
#include <opencv2/gapi/gstreaming.hpp>
#include <opencv2/gapi/infer.hpp>
#include <opencv2/gapi/infer/ie.hpp>
#include <opencv2/gapi/infer/ov.hpp>
#include <opencv2/gapi/streaming/format.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
Expand Down Expand Up @@ -175,7 +175,7 @@ int main(int argc, char* argv[]) {
processed_gaze_vectors));
/** ---------------- End of graph ---------------- **/
/** Configure networks **/
auto face_net = cv::gapi::ie::Params<nets::Faces>{
auto face_net = cv::gapi::ov::Params<nets::Faces>{
FLAGS_m_fd, // path to topology IR
fileNameNoExt(FLAGS_m_fd) + ".bin", // path to weights
FLAGS_d_fd, // device specifier
Expand Down Expand Up @@ -210,11 +210,11 @@ int main(int argc, char* argv[]) {

if (std::fabs(imageAspectRatio - networkAspectRatio) > aspectRatioThreshold) {
inShape[3] = static_cast<unsigned long>(inShape[2] * imageAspectRatio);
face_net.cfgInputReshape(input.get_any_name(), inShape);
face_net.cfgReshape(inShape);
}
}
auto head_net =
cv::gapi::ie::Params<nets::HeadPose>{
cv::gapi::ov::Params<nets::HeadPose>{
FLAGS_m_hp, // path to topology IR
fileNameNoExt(FLAGS_m_hp) + ".bin", // path to weights
FLAGS_d_hp, // device specifier
Expand All @@ -223,7 +223,7 @@ int main(int argc, char* argv[]) {
slog::info << "The Head Pose Estimation model " << FLAGS_m_hp << " is loaded to " << FLAGS_d_hp << " device."
<< slog::endl;

auto landmarks_net = cv::gapi::ie::Params<nets::Landmarks>{
auto landmarks_net = cv::gapi::ov::Params<nets::Landmarks>{
FLAGS_m_lm, // path to topology IR
fileNameNoExt(FLAGS_m_lm) + ".bin", // path to weights
FLAGS_d_lm, // device specifier
Expand All @@ -233,7 +233,7 @@ int main(int argc, char* argv[]) {

// clang-format off
auto gaze_net =
cv::gapi::ie::Params<nets::Gaze>{
cv::gapi::ov::Params<nets::Gaze>{
FLAGS_m, // path to topology IR
fileNameNoExt(FLAGS_m) + ".bin", // path to weights
FLAGS_d, // device specifier
Expand All @@ -242,7 +242,7 @@ int main(int argc, char* argv[]) {
slog::info << "The Gaze Estimation model " << FLAGS_m << " is loaded to " << FLAGS_d << " device."
<< slog::endl;

auto eyes_net = cv::gapi::ie::Params<nets::Eyes>{
auto eyes_net = cv::gapi::ov::Params<nets::Eyes>{
FLAGS_m_es, // path to topology IR
fileNameNoExt(FLAGS_m_es) + ".bin", // path to weights
FLAGS_d_es, // device specifier
Expand Down
7 changes: 5 additions & 2 deletions demos/tests/cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,7 @@ def single_option_cases(key, *args):
device_keys=['-d', '-d_fd', '-d_hp', '-d_lm', '-d_es'],
test_cases=combine_cases(
TestCase(options={'-no_show': None,
**MONITORS,
'-i': TestDataArg('coco128/images/train2017/')}),
**MONITORS}),
TestCase(options={
'-m': ModelArg('gaze-estimation-adas-0002'),
'-m_hp': ModelArg('head-pose-estimation-adas-0001'),
Expand All @@ -266,6 +265,10 @@ def single_option_cases(key, *args):
'-m_fd',
ModelArg('face-detection-adas-0001'),
ModelArg('face-detection-retail-0004')),
single_option_cases(
'-i',
str('video.mp4'),
DataPatternArg('coco128-every-480x640x3')),
)),

CppDemo(name='gesture_recognition_demo', implementation='cpp_gapi',
Expand Down
8 changes: 7 additions & 1 deletion demos/tests/run_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,14 @@
from cases import Demo
from data_sequences import DATA_SEQUENCES

import requests

scopes = {
'base': importlib.import_module('cases').DEMOS,
'performance': importlib.import_module('performance_cases').DEMOS,
}
COCO128_URL = "https://ultralytics.com/assets/coco128.zip"

VIDEO_URL = "https://storage.openvinotoolkit.org/data/test_data/videos/head-pose-face-detection-male.mp4"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the same video used in the gaze_estimation_demo readme file (here)
image

image


def parser_paths_list(supported_devices):
paths = supported_devices.split(',')
Expand Down Expand Up @@ -247,6 +249,10 @@ def main():
with ZipFile(BytesIO(zipresp.read())) as zfile:
zfile.extractall(args.test_data_dir)

r = requests.get(VIDEO_URL)
with open("video.mp4", 'wb') as f:
f.write(r.content)

with temp_dir_as_path() as global_temp_dir:
if args.models_dir:
dl_dir = args.models_dir
Expand Down