Coder Social home page Coder Social logo

ros_openvino_toolkit's Introduction

中文文档入口: https://github.com/intel/ros_openvino_toolkit/tree/dev-ov2021.4/doc/ZH-CN

Introduction

The OpenVINO™ (Open visual inference and neural network optimization) toolkit provides a ROS-adaptered runtime framework of neural network which quickly deploys applications and solutions for vision inference. By leveraging Intel® OpenVINO™ toolkit and corresponding libraries, this runtime framework extends workloads across Intel® hardware (including accelerators) and maximizes performance.

  • Enables CNN-based deep learning inference at the edge
  • Supports heterogeneous execution across computer vision accelerators—CPU, GPU, Intel® Movidius™ Neural Compute Stick, and FPGA—using a common API
  • Speeds up time to market via a library of functions and preoptimized kernels
  • Includes optimized calls for OpenCV and OpenVX*

Design Architecture

From the view of hirarchical architecture design, the package is divided into different functional components, as shown in below picture.

OpenVINO_Architecture

  • Intel® OpenVINO™ toolkit is leveraged to provide deep learning basic implementation for data inference. is free software that helps developers and data scientists speed up computer vision workloads, streamline deep learning inference and deployments, and enable easy, heterogeneous execution across Intel® platforms from edge to cloud. It helps to:
    • Increase deep learning workload performance up to 19x1 with computer vision accelerators from Intel.
    • Unleash convolutional neural network (CNN)-based deep learning inference using a common API.
    • Speed development using optimized OpenCV* and OpenVX* functions.
  • ros OpenVINO Runtime Framework is the main body of this repo. it provides key logic implementation for pipeline lifecycle management, resource management and ROS system adapter, which extends Intel OpenVINO toolkit and libraries. Furthermore, this runtime framework provides ways to ease launching, configuration and data analytics and re-use.
  • Diversal Input resources are the data resources to be infered and analyzed with the OpenVINO framework.
  • ROS interfaces and outputs currently include Topic and service. Natively, RViz output and CV image window output are also supported by refactoring topic message and inferrence results.
  • Optimized Models provides by Model Optimizer component of Intel® OpenVINO™ toolkit. Imports trained models from various frameworks (Caffe*, Tensorflow*, MxNet*, ONNX*, Kaldi*) and converts them to a unified intermediate representation file. It also optimizes topologies through node merging, horizontal fusion, eliminating batch normalization, and quantization.It also supports graph freeze and graph summarize along with dynamic input freezing.

Logic Flow

From the view of logic implementation, the package introduces the definitions of parameter manager, pipeline and pipeline manager. The below picture depicts how these entities co-work together when the corresponding program is launched.

Logic_Flow

Once a corresponding program is launched with a specified .yaml config file passed in the .launch file or via commandline, parameter manager analyzes the configurations about pipeline and the whole framework, then shares the parsed configuration information with pipeline procedure. A pipeline instance is created by following the configuration info and is added into pipeline manager for lifecycle control and inference action triggering.

The contents in .yaml config file should be well structured and follow the supported rules and entity names. Please see the configuration guidance for how to create or edit the config files.

Pipeline fulfills the whole data handling process: initiliazing Input Component for image data gathering and formating; building up the structured inference network and passing the formatted data through the inference network; transfering the inference results and handling output, etc.

Pipeline manager manages all the created pipelines according to the inference requests or external demands (say, system exception, resource limitation, or end user's operation). Because of co-working with resource management and being aware of the whole framework, it covers the ability of performance optimization by sharing system resource between pipelines and reducing the burden of data copy.

Supported Features

Diversal Input Components

Currently, the package support several kinds of input resources of gaining image data:

Input Resource Description
StandardCamera Any RGB camera with USB port supporting. Currently only the first USB camera if many are connected.
RealSenseCamera Intel RealSense RGB-D Camera, directly calling RealSense Camera via librealsense plugin of openCV.
Image Topic any ROS topic which is structured in image message.
Image File Any image file which can be parsed by openCV, such as .png, .jpeg.
Video File Any video file which can be parsed by openCV.

Inference Implementations

Currently, the inference feature list is supported:

Inference Description
Face Detection Object Detection task applied to face recognition using a sequence of neural networks.
Emotion Recognition Emotion recognition based on detected face image.
Age & Gender Recognition Age and gener recognition based on detected face image.
Head Pose Estimation Head pose estimation based on detected face image.
Object Detection object detection based on SSD-based trained models.
Vehicle Detection Vehicle and passenger detection based on Intel models.
Object Segmentation object detection and segmentation.
Person Reidentification Person Reidentification based on object detection.

ROS interfaces and outputs

Topic

Subscribed Topic

Published Topic

/ros_openvino_toolkit/emotions_recognition(vino_people_msgs::EmotionsStamped)

Service

RViz

RViz dispaly is also supported by the composited topic of original image frame with inference result. To show in RViz tool, add an image marker with the composited topic: /ros_openvino_toolkit/image_rviz(sensor_msgs::Image)

Image Window

OpenCV based image window is natively supported by the package. To enable window, Image Window output should be added into the output choices in .yaml config file. see the config file guidance for checking/adding this feature in your launching.

Demo Result Snapshots

See below pictures for the demo result snapshots.

  • face detection input from standard camera face_detection_demo_image

  • object detection input from realsense camera object_detection_demo_realsense

  • object segmentation input from video object_segmentation_demo_video

  • Person Reidentification input from standard camera person_reidentification_demo_video

Installation & Launching

NOTE: Intel releases 2 different series of OpenVINO Toolkit, we call them as OpenSource Version and Tarball Version. This guidelie uses OpenSource Version as the installation and launching example. If you want to use Tarball version, please follow the guide for Tarball Version.

Dependencies Installation

One-step installation scripts are provided for the dependencies' installation. Please see the guide for details.

Launching

  • Preparation
    • Configure the Neural Compute Stick USB Driver
       cd ~/Downloads
       cat <<EOF > 97-usbboot.rules
       SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
       SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
       SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
       EOF
       sudo cp 97-usbboot.rules /etc/udev/rules.d/
       sudo udevadm control --reload-rules
       sudo udevadm trigger
       sudo ldconfig
       rm 97-usbboot.rules
    • download Object Detection model
    • download and convert a trained model to produce an optimized Intermediate Representation (IR) of the model
       #object segmentation model
       cd /opt/openvino_toolkit/dldt/model-optimizer/install_prerequisites
       sudo ./install_prerequisites.sh
       mkdir -p ~/Downloads/models
       cd ~/Downloads/models
       wget http://download.tensorflow.org/models/object_detection/mask_rcnn_inception_v2_coco_2018_01_28.tar.gz
       tar -zxvf mask_rcnn_inception_v2_coco_2018_01_28.tar.gz
       cd mask_rcnn_inception_v2_coco_2018_01_28
       #FP32
       sudo python3 /opt/openvino_toolkit/dldt/model-optimizer/mo_tf.py --input_model frozen_inference_graph.pb --tensorflow_use_custom_operations_config /opt/openvino_toolkit/dldt/model-optimizer/extensions/front/tf/mask_rcnn_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --reverse_input_channels --output_dir /opt/openvino_toolkit/models/segmentation/output/FP32
       #FP16
       sudo python3 /opt/openvino_toolkit/dldt/model-optimizer/mo_tf.py --input_model frozen_inference_graph.pb --tensorflow_use_custom_operations_config /opt/openvino_toolkit/dldt/model-optimizer/extensions/front/tf/mask_rcnn_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --reverse_input_channels --data_type=FP16 --output_dir /opt/openvino_toolkit/models/segmentation/output/FP16
    • download the optimized Intermediate Representation (IR) of model (excute once)
       cd /opt/openvino_toolkit/open_model_zoo/tools/downloader
       sudo python3 downloader.py --name face-detection-adas-0001 --output_dir /opt/openvino_toolkit/models/face_detection/output
       sudo python3 downloader.py --name age-gender-recognition-retail-0013 --output_dir /opt/openvino_toolkit/models/age-gender-recognition/output
       sudo python3 downloader.py --name emotions-recognition-retail-0003 --output_dir /opt/openvino_toolkit/models/emotions-recognition/output
       sudo python3 downloader.py --name head-pose-estimation-adas-0001 --output_dir /opt/openvino_toolkit/models/head-pose-estimation/output
       sudo python3 downloader.py --name person-detection-retail-0013 --output_dir /opt/openvino_toolkit/models/person-detection/output
       sudo python3 downloader.py --name person-reidentification-retail-0076 --output_dir /opt/openvino_toolkit/models/person-reidentification/output
       sudo python3 downloader.py --name vehicle-license-plate-detection-barrier-0106 --output_dir /opt/openvino_toolkit/models/vehicle-license-plate-detection/output
       sudo python3 downloader.py --name vehicle-attributes-recognition-barrier-0039 --output_dir /opt/openvino_toolkit/models/vehicle-attributes-recongnition/output
       sudo python3 downloader.py --name license-plate-recognition-barrier-0001 --output_dir /opt/openvino_toolkit/models/license-plate-recognition/output
       sudo python3 downloader.py --name landmarks-regression-retail-0009 --output_dir /opt/openvino_toolkit/models/landmarks-regression/output
       sudo python3 downloader.py --name face-reidentification-retail-0095 --output_dir /opt/openvino_toolkit/models/face-reidentification/output
    • copy label files (excute once)
       sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/emotions-recognition/FP32/emotions-recognition-retail-0003.labels /opt/openvino_toolkit/models/emotions-recognition/output/intel/emotions-recognition-retail-0003/FP32/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/face_detection/face-detection-adas-0001.labels /opt/openvino_toolkit/models/face_detection/output/intel/face-detection-adas-0001/FP32/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/face_detection/face-detection-adas-0001.labels /opt/openvino_toolkit/models/face_detection/output/intel/face-detection-adas-0001/FP16/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/object_segmentation/frozen_inference_graph.labels /opt/openvino_toolkit/models/segmentation/output/FP32/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/object_segmentation/frozen_inference_graph.labels /opt/openvino_toolkit/models/segmentation/output/FP16/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/object_detection/vehicle-license-plate-detection-barrier-0106.labels /opt/openvino_toolkit/models/vehicle-license-plate-detection/output/intel/vehicle-license-plate-detection-barrier-0106/FP32
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/face_detection/face-detection-adas-0001.labels /opt/openvino_toolkit/models/face_detection/output/intel/face-detection-adas-0001/FP32/
      sudo cp /opt/openvino_toolkit/ros_openvino_toolkit/data/labels/face_detection/face-detection-adas-0001.labels /opt/openvino_toolkit/models/face_detection/output/intel/face-detection-adas-0001/FP16/
      
    • set ENV LD_LIBRARY_PATH
       export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openvino_toolkit/dldt/inference-engine/bin/intel64/Release/lib
  • run face detection sample code input from StandardCamera.
     roslaunch vino_launch pipeline_people.launch
  • run face detection sample code input from Image.
     roslaunch vino_launch pipeline_image.launch
  • run object segmentation sample code input from RealSenseCameraTopic.
     roslaunch vino_launch pipeline_segmentation.launch
  • run object segmentation sample code input from Video.
     roslaunch vino_launch pipeline_video.launch
  • run person reidentification sample code input from StandardCamera.
     roslaunch vino_launch pipeline_reidentification.launch
  • run face re-identification with facial landmarks from realsense camera
     roslaunch vino_launch pipeline_face_reidentification.launch
  • run vehicle detection sample code input from StandardCamera.
     roslaunch vino_launch pipeline_vehicle_detection.launch  
  • run object detection service sample code input from Image
    Run image processing service:
     roslaunch vino_launch image_object_server.launch
    Run example application with an absolute path of an image on another console:
     rosrun vino_sample image_object_client ~/catkin_ws/src/ros_openvino_toolkit/data/images/car.png
  • run face detection service sample code input from Image
    Run image processing service:
     roslaunch vino_launch image_people_server.launch
    Run example application with an absolute path of an image on another console:
     rosrun vino_sample image_people_client ~/catkin_ws/src/ros_openvino_toolkit/data/images/team.jpg

TODO Features

  • Support result filtering for inference process, so that the inference results can be filtered to different subsidiary inference. For example, given an image, firstly we do Object Detection on it, secondly we pass cars to vehicle brand recognition and pass license plate to license number recognition.
  • Design resource manager to better use such resources as models, engines, and other external plugins.
  • Develop GUI based configuration and management tools (and monitoring and diagnose tools), in order to provide easy entry for end users to simplify their operation.

More Information

ros_openvino_toolkit's People

Contributors

beathx avatar caohuiyan avatar chaoli2 avatar chia-labradorsystems avatar congliu0913 avatar corsair-cxs avatar fiorano10 avatar gitmajiawei avatar gitpqlee avatar lewisliupub avatar luyang00 avatar rachelren05 avatar rdower avatar sradmard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ros_openvino_toolkit's Issues

pipeline_with_params immediately exits

I'm trying to run the pipeline_people_oss.launch demo. The pipeline_with_params node almost immediately exits however.

Here is the roslaunch log:
roslaunch.log

Here is pipeline_people_oss.yaml:
pipeline_people_oss.txt

I see in the documentation that the label attributes are unused. Other than that I cannot see anything odd about the param file.

Thanks in advance

Running with Yolov3 models

Hi,
I am trying to run this package with yolo-v3 as given in this tutorial from intel. I have faced no problem running on the CPU with the ssd300 model downloaded from intel.

But when I try the the sample on the coco dataset, the program quits with this error:
[ERROR] object detection network should have only one output.
As I understand, the ssd300 model has 21 outputs. If so, what could be causing this issue?

The files I have tried are exactly as mentioned in the link above: yolov3.weights file with coco.names.
I first used tensorflow-yolov3 to convert to frozen model using:
python3 convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights
and then converted to IR using:
python3 mo_tf.py --input_model /path/to/yolo_v3.pb --tensorflow_use_custom_operations_config $MO_ROOT/extensions/front/tf/yolo_v3.json

My system:
Ubuntu16.04 & Ros Kinetic
ros_openvino_toolkit commit: fcf0f9d
dldt checkout: 2018_R5
open_model_zoo: 2018_R5

Incorrect recognition with Text recognition model

Hi,

I`m implementing a text recognition pipeline following this demo (https://github.com/opencv/open_model_zoo/tree/master/demos/text_detection_demo).

I'm using the following pipeline:
TextDetection
TextRecognition

My first fetchResults() method implemented was:

bool dynamic_vino_lib::TextRecognition::fetchResults() {

  bool can_fetch = dynamic_vino_lib::BaseInference::fetchResults();
  if (!can_fetch) {return false;}
  bool found_result = false;

  InferenceEngine::InferRequest::Ptr request = getEngine()->getRequest();
  std::string output = valid_model_->getOutputName();
  InferenceEngine::BlobMap blobs;
  blobs[output] = request->GetBlob(output);

  std::string res = "";
  const char kPadSymbol = '#';
  double conf = 1.0;
  std::string kAlphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
  kAlphabet.push_back(kPadSymbol);

  auto output_shape = blobs.begin()->second->getTensorDesc().getDims();

  for (int i = 0; i < getResultsLength(); i++) {
    
    auto ouput_data_pointer = blobs[output]->buffer().as<float *>();
    std::vector<float> output_data(ouput_data_pointer, ouput_data_pointer + output_shape[0] * output_shape[2]);
    res = CTCGreedyDecoder(output_data, kAlphabet, kPadSymbol, &conf);
    results_[i].result_value = res;

  }

  found_result = true;
  if (!found_result) results_.clear();
  return true;
}

Using this method the network output was:

image_4

So my pointer to output_data does not changed as expected. After that, I changed my fetchResults() method using the same structure of head_pose_detection example:

bool dynamic_vino_lib::TextRecognition::fetchResults() {

  bool can_fetch = dynamic_vino_lib::BaseInference::fetchResults();
  if (!can_fetch) {return false;}
  bool found_result = false;

  InferenceEngine::InferRequest::Ptr request = getEngine()->getRequest();

  std::string output = valid_model_->getOutputName();
 
  InferenceEngine::BlobMap blobs;

  blobs[output] = request->GetBlob(output);

  std::string res = "";
  const char kPadSymbol = '#';
  double conf = 1.0;
  std::string kAlphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
  kAlphabet.push_back(kPadSymbol);

  auto output_shape = blobs.begin()->second->getTensorDesc().getDims();


  for (int i = 0; i < getResultsLength(); i++) {
   
    auto ouput_data_pointer = &blobs[output]->buffer().as<float *>()[i];

    std::vector<float> output_data(ouput_data_pointer, ouput_data_pointer + output_shape[0] * output_shape[2]);

    res = CTCGreedyDecoder(output_data, kAlphabet, kPadSymbol, &conf);

    results_[i].result_value = res;

    slog::info << "Result: " << res  << slog::endl;

    output_data.clear();

    ouput_data_pointer = 0;

    res = "";

  }

  found_result = true;

  if (!found_result) results_.clear();
  return true;
}

And the result:

image_5

My first pointer is correct but the second not. I tried to understand why but I'm not able. How can I correctly recognize the second text?

Thanks in advance.

Error while optimize mobilenet-ssd

When I run:

sudo python3 /opt/openvino_toolkit/dldt/model-optimizer/mo.py --input_model /opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/mobilenet-ssd.caffemodel --output_dir /opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/output/FP32 --mean_values [127.5,127.5,127.5] --scale_values [127.5]

Error output:

Model Optimizer arguments:
Common parameters:
	- Path to the Input Model: 	/opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/mobilenet-ssd.caffemodel
	- Path for generated IR: 	/opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/output/FP32
	- IR output name: 	mobilenet-ssd
	- Log level: 	ERROR
	- Batch: 	Not specified, inherited from the model
	- Input layers: 	Not specified, inherited from the model
	- Output layers: 	Not specified, inherited from the model
	- Input shapes: 	Not specified, inherited from the model
	- Mean values: 	[127.5,127.5,127.5]
	- Scale values: 	[127.5]
	- Scale factor: 	Not specified
	- Precision of IR: 	FP32
	- Enable fusing: 	True
	- Enable grouped convolutions fusing: 	True
	- Move mean values to preprocess section: 	False
	- Reverse input channels: 	False
Caffe specific parameters:
	- Enable resnet optimization: 	True
	- Path to the Input prototxt: 	/opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/mobilenet-ssd.prototxt
	- Path to CustomLayersMapping.xml: 	Default
	- Path to a mean file: 	Not specified
	- Offsets for a mean file: 	Not specified
Model Optimizer version: 	1.5.12.49d067a0
[ ERROR ]  -------------------------------------------------
[ ERROR ]  ----------------- INTERNAL ERROR ----------------
[ ERROR ]  Unexpected exception happened.
[ ERROR ]  Please contact Model Optimizer developers and forward the following information:
[ ERROR ]  'MultiDiGraph' object has no attribute 'node'
[ ERROR ]  Traceback (most recent call last):
  File "/home/shan/code/dldt/model-optimizer/mo/main.py", line 325, in main
    return driver(argv)
  File "/home/shan/code/dldt/model-optimizer/mo/main.py", line 279, in driver
    custom_layers_mapping_path=custom_layers_mapping_path)
  File "/home/shan/code/dldt/model-optimizer/mo/pipeline/caffe.py", line 74, in driver
    graph, original_shapes = loader.caffe_pb_to_nx(proto, model)
  File "/home/shan/code/dldt/model-optimizer/mo/front/caffe/loader.py", line 314, in caffe_pb_to_nx
    if len(node.out_nodes()) == 0:
  File "/home/shan/code/dldt/model-optimizer/mo/graph/graph.py", line 313, in out_nodes
    assert self.has('kind')
  File "/home/shan/code/dldt/model-optimizer/mo/graph/graph.py", line 273, in has
    return k in self.graph.node[self.node]
AttributeError: 'MultiDiGraph' object has no attribute 'node'

[ ERROR ]  ---------------- END OF BUG REPORT --------------
[ ERROR ]  -------------------------------------------------

Compiling the Package to Use NCS2 (MYRIAD).

My system:
Ubuntu 16.04
ROS Kinetic

Hi,
I am having difficulty on running the package with NCS2 (MYRIAD configuration). There are two relevant issues that have been closed, but going through their instructions also does not help. Here is the situation:

  • If I follow the instruction from here, and install dependencies from here as instructed (this follows the OPEN_SOURCE_CODE_README.md file), then I can catkin_make the ros_openvino_toolkit successfully. The problem is that it does not recognize the MYRIAD configuration as also mentioned in this issue. The solution provided in that issue is to install the binary version, which I think is following the instructions here..

  • When I follow the Binary installation, I get the following error during catkin_make of the ros_openvino_toolkit.
    In file included from /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/src/pipeline_with_params.cpp:60:0: /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_ag, 16, num_batch_ag_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_hp, 16, num_batch_hp_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:165:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_em, 16, num_batch_em_message); ^ In file included from /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/src/image_reidentification_server.cpp:60:0: /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_ag, 16, num_batch_ag_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_hp, 16, num_batch_hp_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:165:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_em, 16, num_batch_em_message); ^ In file included from /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/src/image_people_server.cpp:60:0: /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_ag, 16, num_batch_ag_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_hp, 16, num_batch_hp_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:165:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_em, 16, num_batch_em_message); ^ ros_openvino_toolkit/sample/CMakeFiles/pipeline_with_params.dir/build.make:62: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o' failed make[2]: *** [ros_openvino_toolkit/sample/CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o] Error 1 CMakeFiles/Makefile2:7700: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/pipeline_with_params.dir/all' failed make[1]: *** [ros_openvino_toolkit/sample/CMakeFiles/pipeline_with_params.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... ros_openvino_toolkit/sample/CMakeFiles/image_reidentification_server.dir/build.make:62: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_reidentification_server.dir/src/image_reidentification_server.cpp.o' failed make[2]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_reidentification_server.dir/src/image_reidentification_server.cpp.o] Error 1 CMakeFiles/Makefile2:7626: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_reidentification_server.dir/all' failed make[1]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_reidentification_server.dir/all] Error 2 ros_openvino_toolkit/sample/CMakeFiles/image_people_server.dir/build.make:62: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_people_server.dir/src/image_people_server.cpp.o' failed make[2]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_people_server.dir/src/image_people_server.cpp.o] Error 1 CMakeFiles/Makefile2:7774: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_people_server.dir/all' failed make[1]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_people_server.dir/all] Error 2 In file included from /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/src/image_segmentation_server.cpp:60:0: /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_ag, 16, num_batch_ag_message); ^ In file included from /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/src/image_object_server.cpp:60:0: /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_ag, 16, num_batch_ag_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_hp, 16, num_batch_hp_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_hp, 16, num_batch_hp_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:165:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_em, 16, num_batch_em_message); ^ /home/admin3srp/test_catkin_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:165:14: error: expected constructor, destructor, or type conversion before ‘(’ token DEFINE_uint32(n_em, 16, num_batch_em_message); ^ ros_openvino_toolkit/sample/CMakeFiles/image_object_server.dir/build.make:62: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_object_server.dir/src/image_object_server.cpp.o' failed make[2]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_object_server.dir/src/image_object_server.cpp.o] Error 1 CMakeFiles/Makefile2:7372: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_object_server.dir/all' failed make[1]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_object_server.dir/all] Error 2 ros_openvino_toolkit/sample/CMakeFiles/image_segmentation_server.dir/build.make:62: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_segmentation_server.dir/src/image_segmentation_server.cpp.o' failed make[2]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_segmentation_server.dir/src/image_segmentation_server.cpp.o] Error 1 CMakeFiles/Makefile2:7987: recipe for target 'ros_openvino_toolkit/sample/CMakeFiles/image_segmentation_server.dir/all' failed make[1]: *** [ros_openvino_toolkit/sample/CMakeFiles/image_segmentation_server.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed

In the Binary installation it is asking for an even older version of openvino "2018 R4" which is not available anymore, and it is inconsistent with the content of environment_setup_binary.sh script were it downloads "2018 R5".

I am wondering whether anybody has been able to install this package and use it with NCS2 recently or not.

Thank you in advance.

Unable to run Person_Reidentfication sample

[pipeline_reidentification_oss.launch] is neither a launch file in package [vino_launch] nor is [vino_launch] a launch file name
The traceback for the exception was written to the log file

This is what i get everytime i try running the sample.

'MultiDiGraph' object has no attribute 'node'

Hello, I'm new to openvino, and now I'm trying to use this package. However, things doesn't go well with my PC. Please the infomation here.

sofa@sofa-NUC8i7BEH:~/Downloads/models/mask_rcnn_inception_v2_coco_2018_01_28$ python3 /opt/openvino_toolkit/dldt/model-optimizer/mo_tf.py --input_model frozen_inference_graph.pb --tensorflow_use_custom_operations_config /opt/openvino_toolkit/dldt/model-optimizer/extensions/front/tf/mask_rcnn_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --reverse_input_channels --output_dir ./output/

`Model Optimizer arguments:
Common parameters:
- Path to the Input Model: /home/sofa/Downloads/models/mask_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb
- Path for generated IR: /home/sofa/Downloads/models/mask_rcnn_inception_v2_coco_2018_01_28/./output/
- IR output name: frozen_inference_graph
- Log level: ERROR
- Batch: Not specified, inherited from the model
- Input layers: Not specified, inherited from the model
- Output layers: Not specified, inherited from the model
- Input shapes: Not specified, inherited from the model
- Mean values: Not specified
- Scale values: Not specified
- Scale factor: Not specified
- Precision of IR: FP32
- Enable fusing: True
- Enable grouped convolutions fusing: True
- Move mean values to preprocess section: False
- Reverse input channels: True
TensorFlow specific parameters:
- Input model in text protobuf format: False
- Offload unsupported operations: False
- Path to model dump for TensorBoard: None
- List of shared libraries with TensorFlow custom layers implementation: None
- Update the configuration file with input/output node names: None
- Use configuration file used to generate the model with Object Detection API: /home/sofa/Downloads/models/mask_rcnn_inception_v2_coco_2018_01_28/pipeline.config
- Operations to offload: None
- Patterns to offload: None
- Use the config file: /opt/openvino_toolkit/dldt/model-optimizer/extensions/front/tf/mask_rcnn_support.json
Model Optimizer version: 1.5.12.49d067a0
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])

[ ERROR ] Cannot pre-process TensorFlow graph after reading from model file "/home/sofa/Downloads/models/mask_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb". File is corrupt or has unsupported format. Details: 'MultiDiGraph' object has no attribute 'node'.
For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #44.
`

Python 2 or 3 Bindings

As far as I can tell, OpenVINO does not support Python 2.
Are there any plans to support Python 2?
Are there any instructions to set up a ROS environment + OpenVINO with Python 3? (and forget about Python 2)

Cannot build ros_openvino error expected constructor

To whom it may concern,

I am trying to build the package. I have followed the guide but unfortunately I encounter a build error when compiling the samples.

_________________________________________________________________________________________________________________________________
Errors     << dynamic_vino_sample:make /home/matteo/rovitis_ws/logs/dynamic_vino_sample/build.make.001.log                       
In file included from /home/matteo/rovitis_ws/src/ros_openvino_toolkit/sample/src/image_segmentation_server.cpp:60:0:
/home/matteo/rovitis_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:159:14: error: expected constructor, destructor, or type conversion before ‘(’ token
 DEFINE_uint32(n_ag, 16, num_batch_ag_message);
              ^
/home/matteo/rovitis_ws/src/ros_openvino_toolkit/sample/include/sample/utility.hpp:162:14: error: expected constructor, destructor, or type conversion before ‘(’ token
 DEFINE_uint32(n_hp, 16, num_batch_hp_message);

Any idea why I get this error?

Running object detection from cameratopic

We are trying to run object detection from a camera topic. It is not from a realsense camera, but is structured as an image message.
And you documentation says "any ROS topic which is structured in image message"
I am getting the following errors.
[ WARNING ] No data received in CameraTopic instance
[ WARNING ] Failed to get frame from input_device.

linking error with vino_sample

Hi! I have been trying to solve this issue without succes for quite a while. When i run catkin_make, I get the following output
(this linking error is there for other cpp-s as well in the sample sources)

[ 97%] Linking CXX executable /home/andris/catkin_ws2/devel/lib/vino_sample/pipeline_with_params
CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o: In function parseAndCheckCommandLine(int, char**)': pipeline_with_params.cpp:(.text+0x3165): undefined reference to google::ParseCommandLineNonHelpFlags(int*, char***, bool)'
CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o: In function __static_initialization_and_destruction_0(int, int)': pipeline_with_params.cpp:(.text+0x3973): undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
pipeline_with_params.cpp:(.text+0x39ee): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' pipeline_with_params.cpp:(.text+0x3ab1): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
pipeline_with_params.cpp:(.text+0x3b74): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' pipeline_with_params.cpp:(.text+0x3c37): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
pipeline_with_params.cpp:(.text+0x3cfa): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o:pipeline_with_params.cpp:(.text+0x3dbd): more undefined references to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)' follow
CMakeFiles/pipeline_with_params.dir/src/pipeline_with_params.cpp.o: In function __static_initialization_and_destruction_0(int, int)': pipeline_with_params.cpp:(.text+0x4083): undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, unsigned int*, unsigned int*)'
pipeline_with_params.cpp:(.text+0x40b8): undefined reference to google::FlagRegisterer::FlagRegisterer<unsigned int>(char const*, char const*, char const*, unsigned int*, unsigned int*)' pipeline_with_params.cpp:(.text+0x40ed): undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, unsigned int*, unsigned int*)'
pipeline_with_params.cpp:(.text+0x4122): undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' pipeline_with_params.cpp:(.text+0x419d): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
pipeline_with_params.cpp:(.text+0x4260): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' pipeline_with_params.cpp:(.text+0x42dd): undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
pipeline_with_params.cpp:(.text+0x4312): undefined reference to google::FlagRegisterer::FlagRegisterer<double>(char const*, char const*, char const*, double*, double*)' pipeline_with_params.cpp:(.text+0x4347): undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
pipeline_with_params.cpp:(.text+0x437c): undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' pipeline_with_params.cpp:(.text+0x43f7): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
pipeline_with_params.cpp:(.text+0x44ba): undefined reference to google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' /home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::set(int, double)'
/home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::get(int) const' /home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::retrieve(cv::_OutputArray const&, int)'
/home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::~VideoCapture()' /home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::grab()'
/home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::VideoCapture()' /home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to cv::VideoCapture::open(cv::String const&)'
/home/andris/catkin_ws2/devel/lib/libvino_core_lib.so: undefined reference to `cv::VideoCapture::open(int)'
collect2: error: ld returned 1 exit status
ros_openvino_toolkit/vino_sample/CMakeFiles/pipeline_with_params.dir/build.make:152: recipe for target '/home/andris/catkin_ws2/devel/lib/vino_sample/pipeline_with_params' failed
make[2]: *** [/home/andris/catkin_ws2/devel/lib/vino_sample/pipeline_with_params] Error 1
CMakeFiles/Makefile2:7383: recipe for target 'ros_openvino_toolkit/vino_sample/CMakeFiles/pipeline_with_params.dir/all' failed
make[1]: *** [ros_openvino_toolkit/vino_sample/CMakeFiles/pipeline_with_params.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Implementing my own pipeline

I would like to implement my own pipeline using other openvino models that were not supported by ros_openvino_toolkit at the moment. Looking at the documentation available at ros_openvino_toolkit github, I'm not able to find a document that shows how to implement my own pipeline (So I need to configure .yaml file to create my pipeline, but I think I need to change more things like creating a new model in dynamic_vino_lib). Do you have this document? If not, can you point me how to do that?

I want to implement the following pipeline:

Object detection
Text detection
Text recognition

i7 + Movidius ncs2 = Object Detection Model -> cpu 398%

In the example, which is "roslaunch vino_launch pipeline_object_oss.launch", while running this roslaunch file, Ive had 398% of CPU capacity having with the use of movidius ncs 2. Also, for an example, Face Detection " roslaunch vino_launch pipeline_image_oss.launch", Ive gotten 938% of CPU capacity with ncs2. Just I wonder whether Ive made use of movidius correctly or not. Actually, I purchased four ncs2 to integrate those with a project, and am planning to get more ncs2 on it if those work well. While running both of roslaunch files, vino_launch pipeline_object_oss.launch and vino_launch pipeline_image_oss.launch, Ive had "[ INFO ] Engine: CPU" attached and would like to convert CPU to movidius ncs2. Does anyone know how to convert to the engine, movidius ncs2?

Best regards.

SUMMARY

PARAMETERS

  • /pipeline_with_params/param_file: /home/syscon/catk...
  • /rosdistro: kinetic
  • /rosversion: 1.12.14
  • /rviz/default_rviz: /home/syscon/catk...

NODES
/
pipeline_with_params (dynamic_vino_sample/pipeline_with_params)
rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [13648]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 94e65de2-521f-11ea-8c61-208756f4ebbb
process[rosout-1]: started with pid [13733]
started core service [/rosout]
process[pipeline_with_params-2]: started with pid [13736]
process[rviz-3]: started with pid [13753]
[ INFO ] FLAGS_config=/home/syscon/catkin_ws/src/ros_openvino_toolkit/vino_launch/param/pipeline_object_oss.yaml
InferenceEngine:
API version ............ 1.4
Build .................. custom_HEAD_91160e65cf66e7fbc709245a8ba948a4c555e443
[ INFO ] Pipeline size: 1
[ INFO ] Inferences size: 1
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Inference Params:name=ObjectDetection
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Pipeline Params:name=object
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] --------parameters DUMP---------------------
[ INFO ] Pipeline: object
[ INFO ] Inputs: RealSenseCamera,
[ INFO ] Outputs: ImageWindow, RosTopic, RViz,
[ INFO ] Inferences:
[ INFO ] Name: ObjectDetection
[ INFO ] Model: /opt/openvino_toolkit/open_model_zoo/model_downloader/object_detection/common/mobilenet-ssd/caffe/output/FP32/mobilenet-ssd.xml
[ INFO ] Engine: CPU
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Batch: 16
[ INFO ] Confidence_threshold: 0.5
[ INFO ] Enable_roi_constraint: 0
[ INFO ] Connections:
[ INFO ] ObjectDetection->ImageWindow
[ INFO ] ObjectDetection->RosTopic
[ INFO ] ObjectDetection->RViz
[ INFO ] RealSenseCamera->ObjectDetection
[ INFO ] Common:
[ INFO ] camera_topic:
[ INFO ] custom_cpu_library:
[ INFO ] custom_cldnn_library:
[ INFO ] enable_performance_count: 0
[ INFO ] Parsing InputDvice: RealSenseCamera
[ INFO] [1582010619.949285810]: rviz version 1.12.17
[ INFO] [1582010619.949331809]: compiled against Qt version 5.5.1
[ INFO] [1582010619.949344388]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1582010620.493798231]: Stereo is NOT SUPPORTED
[ INFO] [1582010620.493948064]: OpenGl version: 3 (GLSL 1.3).
[ INFO ] ... Adding one Input device: RealSenseCamera
[ INFO ] Parsing Output: ImageWindow
[ INFO ] ... Adding one Output: ImageWindow
[ INFO ] Parsing Output: RosTopic
[ INFO ] ... Adding one Output: RosTopic
[ INFO ] Parsing Output: RViz
[ INFO ] ... Adding one Output: RViz
[ INFO ] Parsing Inference: ObjectDetection

API version ............ 1.4
Build .................. custom_HEAD_91160e65cf66e7fbc709245a8ba948a4c555e443
Description ....... MKLDNNPlugin

[ INFO ] Loading network files
[ INFO ] Batch size is set to 1
[ INFO ] Checking input size
[ INFO ] Checking output size
[ INFO ] Checking Object Detection outputs
[ INFO ] Checking Object Detection outputs ...
[ INFO ] Checking Object Detection output ... Name=detection_out
[ INFO ] Checking Object Detection num_classes
[ INFO ] Checking Object Detection output ... num_classes=21
[ INFO ] max proposal count is: 100
[ INFO ] ... Adding one Inference: ObjectDetection
[ INFO ] Updating connections ...
[ INFO ] Checking connection into pipeline:[ObjectDetection(2)<-->ImageWindow(3)]
[ INFO ] Adding connection into pipeline:[ObjectDetection<-->ImageWindow]
[ INFO ] Checking connection into pipeline:[ObjectDetection(2)<-->RosTopic(3)]
[ INFO ] Adding connection into pipeline:[ObjectDetection<-->RosTopic]
[ INFO ] Checking connection into pipeline:[ObjectDetection(2)<-->RViz(3)]
[ INFO ] Adding connection into pipeline:[ObjectDetection<-->RViz]
[ INFO ] Checking connection into pipeline:[RealSenseCamera(1)<-->ObjectDetection(2)]
[ INFO ] Adding connection into pipeline:[RealSenseCamera<-->ObjectDetection]
[ INFO ] One Pipeline Created!
--> RealSenseCamera

‘debug’ is not a member of ‘slog’

(base) nudt@nudt:~/catkin_ws$ catkin_make
Base path: /home/nudt/catkin_ws
Source space: /home/nudt/catkin_ws/src
Build space: /home/nudt/catkin_ws/build
Devel space: /home/nudt/catkin_ws/devel
Install space: /home/nudt/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/nudt/catkin_ws/build"

Running command: "make -j12 -l12" in "/home/nudt/catkin_ws/build"

[ 0%] Built target nav_msgs_generate_messages_py
[ 0%] Built target nav_msgs_generate_messages_lisp
[ 2%] Built target GMock
[ 2%] Built target std_msgs_generate_messages_nodejs
[ 2%] Built target nav_msgs_generate_messages_nodejs
[ 2%] Built target std_msgs_generate_messages_lisp
[ 2%] Built target std_msgs_generate_messages_py
[ 2%] Built target nav_msgs_generate_messages_cpp
[ 2%] Built target rosgraph_msgs_generate_messages_cpp
[ 2%] Built target std_msgs_generate_messages_cpp
[ 2%] Built target std_msgs_generate_messages_eus
[ 2%] Built target _catkin_empty_exported_target
[ 2%] Built target nav_msgs_generate_messages_eus
[ 2%] Built target actionlib_msgs_generate_messages_py
[ 2%] Built target actionlib_msgs_generate_messages_lisp
[ 2%] Built target actionlib_msgs_generate_messages_eus
[ 2%] Built target actionlib_msgs_generate_messages_cpp
[ 2%] Built target geometry_msgs_generate_messages_eus
[ 2%] Built target actionlib_msgs_generate_messages_nodejs
[ 2%] Built target _hector_nav_msgs_generate_messages_check_deps_GetNormal
[ 2%] Built target geometry_msgs_generate_messages_cpp
[ 2%] Built target geometry_msgs_generate_messages_lisp
[ 2%] Built target geometry_msgs_generate_messages_nodejs
[ 2%] Built target roscpp_generate_messages_py
[ 2%] Built target _hector_nav_msgs_generate_messages_check_deps_GetRecoveryInfo
[ 2%] Built target geometry_msgs_generate_messages_py
[ 2%] Built target _hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle
[ 2%] Built target roscpp_generate_messages_eus
[ 2%] Built target _hector_nav_msgs_generate_messages_check_deps_GetSearchPosition
[ 2%] Built target rosgraph_msgs_generate_messages_eus
[ 2%] Built target roscpp_generate_messages_cpp
[ 2%] Built target roscpp_generate_messages_nodejs
[ 2%] Built target rosgraph_msgs_generate_messages_lisp
[ 2%] Built target _hector_nav_msgs_generate_messages_check_deps_GetRobotTrajectory
[ 2%] Built target rosgraph_msgs_generate_messages_nodejs
[ 2%] Built target roscpp_generate_messages_lisp
[ 2%] Built target sensor_msgs_generate_messages_py
[ 2%] Built target sensor_msgs_generate_messages_eus
[ 2%] Built target rosgraph_msgs_generate_messages_py
[ 2%] Built target sensor_msgs_generate_messages_lisp
[ 2%] Built target sensor_msgs_generate_messages_nodejs
[ 2%] Built target sensor_msgs_generate_messages_cpp
[ 2%] Built target _object_msgs_generate_messages_check_deps_Object
[ 2%] Built target _object_msgs_generate_messages_check_deps_ObjectInBox
[ 2%] Built target _people_msgs_generate_messages_check_deps_PersonsStamped
[ 2%] Built target _people_msgs_generate_messages_check_deps_HeadPoseSrv
[ 2%] Built target _people_msgs_generate_messages_check_deps_ObjectsInMasksSrv
[ 2%] Built target _object_msgs_generate_messages_check_deps_Objects
[ 2%] Built target _people_msgs_generate_messages_check_deps_ReidentificationSrv
[ 2%] Built target _object_msgs_generate_messages_check_deps_DetectObject
[ 2%] Built target _object_msgs_generate_messages_check_deps_ClassifyObject
[ 2%] Built target _people_msgs_generate_messages_check_deps_HeadPose
[ 2%] Built target _object_msgs_generate_messages_check_deps_ObjectsInBoxes
[ 2%] Built target people_msgs_generate_messages_check_deps_PersonAttribute
[ 2%] Built target people_msgs_generate_messages_check_deps_Reidentification
[ 2%] Built target people_msgs_generate_messages_check_deps_ObjectInMask
[ 2%] Built target people_msgs_generate_messages_check_deps_VehicleAttribs
[ 2%] Built target people_msgs_generate_messages_check_deps_EmotionSrv
[ 2%] Built target people_msgs_generate_messages_check_deps_AgeGenderStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_Emotion
[ 2%] Built target people_msgs_generate_messages_check_deps_ReidentificationStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_HeadPoseStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_ObjectsInMasks
[ 2%] Built target people_msgs_generate_messages_check_deps_LicensePlateStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_PersonAttributeStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_EmotionsStamped
[ 2%] Built target people_msgs_generate_messages_check_deps_VehicleAttribsStamped
[ 2%] Built target imu_attitude_to_tf_node
[ 2%] Built target tf2_msgs_generate_messages_py
[ 2%] Built target pose_and_orientation_to_imu_node
[ 2%] Built target people_msgs_generate_messages_check_deps_LicensePlate
[ 2%] Built target visualization_msgs_generate_messages_cpp
[ 2%] Built target people_msgs_generate_messages_check_deps_PeopleSrv
[ 2%] Built target people_msgs_generate_messages_check_deps_AgeGenderSrv
[ 2%] Built target visualization_msgs_generate_messages_eus
[ 2%] Built target visualization_msgs_generate_messages_py
[ 2%] Built target pipeline_srv_msgs_generate_messages_check_deps_PipelineSrv
[ 2%] Built target pipeline_srv_msgs_generate_messages_check_deps_Pipelines
[ 2%] Built target people_msgs_generate_messages_check_deps_AgeGender
[ 2%] Built target visualization_msgs_generate_messages_lisp
[ 2%] Built target tf_generate_messages_py
[ 2%] Built target visualization_msgs_generate_messages_nodejs
[ 2%] Built target pipeline_srv_msgs_generate_messages_check_deps_PipelineRequest
[ 2%] Built target pipeline_srv_msgs_generate_messages_check_deps_Pipeline
[ 2%] Built target tf_generate_messages_cpp
[ 2%] Built target actionlib_generate_messages_cpp
[ 2%] Built target actionlib_generate_messages_eus
[ 2%] Built target tf_generate_messages_eus
[ 2%] Built target actionlib_generate_messages_lisp
[ 2%] Built target actionlib_generate_messages_nodejs
[ 2%] Built target tf_generate_messages_lisp
[ 2%] Built target tf2_msgs_generate_messages_eus
[ 2%] Built target tf_generate_messages_nodejs
[ 2%] Built target tf2_msgs_generate_messages_lisp
[ 2%] Built target tf2_msgs_generate_messages_nodejs
[ 2%] Built target tf2_msgs_generate_messages_cpp
[ 2%] Built target actionlib_generate_messages_py
[ 2%] Built target mbot_description_xacro_generated_to_devel_space

[ 3%] Built target vino_param_lib
[ 4%] Built target hector_nav_msgs_generate_messages_nodejs
[ 5%] Built target hector_nav_msgs_generate_messages_cpp
[ 7%] Built target hector_nav_msgs_generate_messages_lisp
[ 9%] Built target hector_nav_msgs_generate_messages_eus
[ 11%] Built target hector_nav_msgs_generate_messages_py
[ 12%] Built target sr_node
[ 13%] Built target cv_bridge
[ 14%] Built target image_geometry
[ 15%] Built target object_msgs_generate_messages_lisp
[ 17%] Built target object_msgs_generate_messages_py
[ 19%] Built target object_msgs_generate_messages_nodejs
[ 21%] Built target object_msgs_generate_messages_cpp
[ 23%] Built target object_msgs_generate_messages_eus
[ 23%] Built target hector_nav_msgs_generate_messages
[ 24%] Built target hector_map_server
[ 25%] Built target geotiff_writer
[ 26%] Built target hector_trajectory_server
[ 27%] Built target cv_bridge_boost
[ 35%] Built target people_msgs_generate_messages_nodejs
[ 36%] Built target map_to_image_node
[ 44%] Built target people_msgs_generate_messages_py
[ 45%] Built target pipeline_srv_msgs_generate_messages_lisp
[ 52%] Built target people_msgs_generate_messages_lisp
[ 59%] Built target people_msgs_generate_messages_cpp
[ 59%] Built target hector_mapping_generate_messages_check_deps_HectorDebugInfo
[ 59%] Built target hector_mapping_generate_messages_check_deps_HectorIterData
[ 61%] Built target pipeline_srv_msgs_generate_messages_py
[ 62%] Built target pipeline_srv_msgs_generate_messages_cpp
[ 63%] Built target pipeline_srv_msgs_generate_messages_nodejs
[ 65%] Built target pipeline_srv_msgs_generate_messages_eus
[ 65%] Built target geotiff_saver
[ 65%] Built target object_msgs_generate_messages
[ 65%] Built target hector_geotiff_plugins
[ 67%] Built target geotiff_node
[ 68%] Built target hector_mapping_generate_messages_cpp
[ 69%] Built target hector_mapping_generate_messages_py
[ 76%] Built target people_msgs_generate_messages_eus
[ 76%] Built target hector_mapping_generate_messages_lisp
[ 77%] Built target hector_mapping_generate_messages_nodejs
[ 78%] Built target hector_mapping_generate_messages_eus
[ 78%] Built target pipeline_srv_msgs_generate_messages
[ 78%] Built target people_msgs_generate_messages
[ 78%] Built target hector_mapping_generate_messages
[ 79%] Built target hector_mapping
Scanning dependencies of target dynamic_vino_lib
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/frame_processing_server.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/pipeline_processing_server.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline_params.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline_manager.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/age_gender_detection.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/emotions_detection.cpp.o
[ 80%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/face_detection.cpp.o
[ 81%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/head_pose_detection.cpp.o
[ 81%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/object_detection.cpp.o
[ 82%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/person_reidentification.cpp.o
[ 82%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/object_segmentation.cpp.o
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_detection.cpp:26:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/object_detection.h: In constructor ‘dynamic_vino_lib::ObjectDetection::ObjectDetection(bool, double)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/object_detection.h:206:33: warning: ‘dynamic_vino_lib::ObjectDetection::enable_roi_constraint
’ will be initialized after [-Wreorder]
bool enable_roi_constraint
= false;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_detection.cpp:40:82: warning: base ‘dynamic_vino_lib::BaseInference’ [-Wreorder]
enable_roi_constraint
(enable_roi_constraint), dynamic_vino_lib::BaseInference()
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_detection.cpp:36:1: warning: when initialized here [-Wreorder]
dynamic_vino_lib::ObjectDetection::ObjectDetection(
^~~~~~~~~~~~~~~~
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:26:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/object_segmentation.h: In constructor ‘dynamic_vino_lib::ObjectSegmentation::ObjectSegmentation(double)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/object_segmentation.h:134:32: warning: ‘dynamic_vino_lib::ObjectSegmentation::show_output_thresh
’ will be initialized after [-Wreorder]
double show_output_thresh
= 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:38:76: warning: base ‘dynamic_vino_lib::BaseInference’ [-Wreorder]
: show_output_thresh
(show_output_thresh), dynamic_vino_lib::BaseInference()
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:37:1: warning: when initialized here [-Wreorder]
dynamic_vino_lib::ObjectSegmentation::ObjectSegmentation(double show_output_thresh)
^~~~~~~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp: In member function ‘virtual bool dynamic_vino_lib::ObjectSegmentation::fetchResults()’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:117:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "Analyzing Detection results..." << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:130:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "output w " << output_w<< slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:131:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "output h " << output_h << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:132:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "output description " << output_des << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:133:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "output extra " << output_extra << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:137:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "label size " <<labels.size() << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:143:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int rowId = 0; rowId < output_h; ++rowId)
~~~~~~^~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:145:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int colId = 0; colId < output_w; ++colId)
~~~~~~^~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:156:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int chId = 0; chId < output_des; ++chId)
~~~~~^~~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:122:14: warning: unused variable ‘do_data’ [-Wunused-variable]
const auto do_data = do_blob->buffer().as<float *>();
^~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:124:14: warning: unused variable ‘masks_data’ [-Wunused-variable]
const auto masks_data = masks_blob->buffer().as<float *>();
^~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/object_segmentation.cpp:181:15: warning: unused variable ‘alpha’ [-Wunused-variable]
const float alpha = 0.7f;
^~~~~
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline_manager.h:33:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/services/frame_processing_server.cpp:30:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:181:26: error: redeclaration of ‘int Pipeline::total_inference

int total_inference
= 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:171:26: note: previous declaration ‘int Pipeline::total_inference

int total_inference
= 0;
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline_manager.h:33:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/services/pipeline_processing_server.h:36,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/services/pipeline_processing_server.cpp:15:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:181:26: error: redeclaration of ‘int Pipeline::total_inference

int total_inference
= 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:171:26: note: previous declaration ‘int Pipeline::total_inference

int total_inference
= 0;
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline.cpp:28:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:181:26: error: redeclaration of ‘int Pipeline::total_inference

int total_inference
= 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:171:26: note: previous declaration ‘int Pipeline::total_inference

int total_inference
= 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline.cpp: In member function ‘void Pipeline::runOnce()’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline.cpp:193:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "DEBUG: in Pipeline run process..." << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline.cpp:209:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "DEBUG: align inference process, waiting until all inferences done!" << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline.cpp:216:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "DEBUG: in Pipeline run process...handleOutput" << slog::endl;
^~~~~
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:37:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inputs/realsense_camera_topic.h:43:9: error: ‘ImageTopic’ does not name a type; did you mean ‘Image’?
typedef ImageTopic RealSenseCameraTopic;
^~~~~~~~~~
Image
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:51:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/image_window_output.h:158:8: error: ‘void Outputs::ImageWindowOutput::mergeMask(const std::vector<dynamic_vino_lib::ObjectSegmentationResult>&)’ cannot be overloaded
void mergeMask(const std::vector<dynamic_vino_lib::ObjectSegmentationResult> &);
^~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/image_window_output.h:140:8: error: with ‘void Outputs::ImageWindowOutput::mergeMask(const std::vector<dynamic_vino_lib::ObjectSegmentationResult>&)’
void mergeMask(const std::vector<dynamic_vino_lib::ObjectSegmentationResult> &);
^~~~~~~~~
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:52:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/ros_topic_output.h: In constructor ‘Outputs::RosTopicOutput::RosTopicOutput()’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/ros_topic_output.h:63:19: error: no matching function for call to ‘Outputs::BaseOutput::BaseOutput()’
RosTopicOutput(){};
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/image_window_output.h:27:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:51:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:57:12: note: candidate: Outputs::BaseOutput::BaseOutput(std::cxx11::string)
explicit BaseOutput(std::string output_name)
^~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:57:12: note: candidate expects 1 argument, 0 provided
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:54:7: note: candidate: Outputs::BaseOutput::BaseOutput(const Outputs::BaseOutput&)
class BaseOutput
^~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:54:7: note: candidate expects 1 argument, 0 provided
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:54:7: note: candidate: Outputs::BaseOutput::BaseOutput(Outputs::BaseOutput&&)
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/outputs/base_output.h:54:7: note: candidate expects 1 argument, 0 provided
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/services/frame_processing_server.cpp: In instantiation of ‘bool vino_service::FrameProcessingServer::cbService(ros::ServiceEvent<typename T::Request, typename T::Response>&) [with T = object_msgs::DetectObject; typename T::Response = object_msgs::DetectObjectResponse
<std::allocator >; typename T::Request = object_msgs::DetectObjectRequest
<std::allocator >]’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/services/frame_processing_server.cpp:105:16: required from here
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/services/frame_processing_server.cpp:85:38: error: ‘const RequestType {aka const struct object_msgs::DetectObjectRequest<std::allocator >}’ has no member named ‘image_path’; did you mean ‘image_paths’?
config.path = event.getRequest().image_path;
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:55:0:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h: At global scope:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:181:26: error: redeclaration of ‘int Pipeline::total_inference’
int total_inference = 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline.h:171:26: note: previous declaration ‘int Pipeline::total_inference’
int total_inference = 0;
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::shared_ptr PipelineManager::createPipeline(const Params::ParamManager::PipelineRawData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:71:8: error: ‘struct PipelineManager::PipelineData’ has no member named ‘parent_node’
data.parent_node = node;
^~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:71:22: error: ‘node’ was not declared in this scope
data.parent_node = node;
^~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:71:22: note: suggested alternatives:
In file included from /usr/include/yaml-cpp/node/node.h:15:0,
from /usr/include/yaml-cpp/yaml.h:16,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/../vino_param_lib/include/vino_param_lib/param_manager.h:23,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:25:
/usr/include/yaml-cpp/node/detail/iterator_fwd.h:16:7: note: ‘YAML::node’
class node;
^~~~
In file included from /usr/include/yaml-cpp/node/impl.h:13:0,
from /usr/include/yaml-cpp/yaml.h:17,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/../vino_param_lib/include/vino_param_lib/param_manager.h:23,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:25:
/usr/include/yaml-cpp/node/detail/node.h:20:7: note: ‘YAML::detail::node’
class node : private boost::noncopyable {
^~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::map<std::__cxx11::basic_string, std::shared_ptrInput::BaseInputDevice > PipelineManager::parseInputDevice(const PipelineManager::PipelineData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:126:42: error: ‘IpCamera’ is not a member of ‘Input’
device = std::make_sharedInput::IpCamera(pdata.params.input_meta);
^~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:126:42: error: ‘IpCamera’ is not a member of ‘Input’
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:126:75: error: no matching function for call to ‘make_shared< >(const string&)’
device = std::make_sharedInput::IpCamera(pdata.params.input_meta);
^
In file included from /usr/include/c++/7/memory:81:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:22:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: candidate: template<class _Tp, class ... _Args> std::shared_ptr<_Tp> std::make_shared(_Args&& ...)
make_shared(_Args&&... __args)
^~~~~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: template argument deduction/substitution failed:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:126:75: error: template argument 1 is invalid
device = std::make_sharedInput::IpCamera(pdata.params.input_meta);
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:129:40: error: ‘RealSenseCameraTopic’ is not a member of ‘Input’
device = std::make_sharedInput::RealSenseCameraTopic(pdata.parent_node);
^~~~~~~~~~~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:129:40: note: suggested alternative: ‘RealSenseCamera’
device = std::make_sharedInput::RealSenseCameraTopic(pdata.parent_node);
^~~~~~~~~~~~~~~~~~~~
RealSenseCamera
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:129:40: error: ‘RealSenseCameraTopic’ is not a member of ‘Input’
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:129:40: note: suggested alternative: ‘RealSenseCamera’
device = std::make_sharedInput::RealSenseCameraTopic(pdata.parent_node);
^~~~~~~~~~~~~~~~~~~~
RealSenseCamera
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:129:68: error: ‘const struct PipelineManager::PipelineData’ has no member named ‘parent_node’
device = std::make_sharedInput::RealSenseCameraTopic(pdata.parent_node);
^~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::map<std::__cxx11::basic_string, std::shared_ptrOutputs::BaseOutput > PipelineManager::parseOutput(const PipelineManager::PipelineData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:160:83: error: ‘const struct PipelineManager::PipelineData’ has no member named ‘parent_node’
object = std::make_sharedOutputs::RosTopicOutput(pdata.params.name, pdata.parent_node);
^~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:164:79: error: ‘const struct PipelineManager::PipelineData’ has no member named ‘parent_node’
object = std::make_sharedOutputs::RvizOutput(pdata.params.name, pdata.parent_node);
^~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::shared_ptr<dynamic_vino_lib::BaseInference> PipelineManager::createObjectDetection(const Params::ParamManager::InferenceRawData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:291:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "for test in createObjectDetection()" << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:296:27: error: ‘kInferTpye_ObjectDetectionTypeYolov2’ was not declared in this scope
if (infer.model_type == kInferTpye_ObjectDetectionTypeYolov2) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:296:27: note: suggested alternative: ‘kInferTpye_ObjectDetectionTypeYolov2voc’
if (infer.model_type == kInferTpye_ObjectDetectionTypeYolov2) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kInferTpye_ObjectDetectionTypeYolov2voc
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:301:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "for test in createObjectDetection(), Created SSDModel" << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:304:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "for test in createObjectDetection(), before modelInit()" << slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::shared_ptr<dynamic_vino_lib::BaseInference> PipelineManager::createPersonReidentification(const Params::ParamManager::InferenceRawData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:338:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "for test in createPersonReidentification()"<<slog::endl;
^~~~~
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp: In member function ‘std::shared_ptr<dynamic_vino_lib::BaseInference> PipelineManager::createPersonAttribsDetection(const Params::ParamManager::InferenceRawData&)’:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp:390:9: error: ‘debug’ is not a member of ‘slog’
slog::debug << "for test in createPersonAttributesDetection()"<<slog::endl;
^~~~~
[ 82%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/face_reidentification.cpp.o
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:276: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/object_segmentation.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/object_segmentation.cpp.o] Error 1
make[2]: *** 正在等待未完成的任务....
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:94: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/pipeline_processing_server.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/pipeline_processing_server.cpp.o] Error 1
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:120: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline.cpp.o] Error 1
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:81: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/frame_processing_server.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/services/frame_processing_server.cpp.o] Error 1
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:146: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline_manager.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/pipeline_manager.cpp.o] Error 1
CMakeFiles/Makefile2:8841: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/all' failed
make[1]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/all] Error 2
Makefile:159: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

enable_roi_constraint parameter

Hi.

I need to use an ROI area from a frame after processing the Object detection model. I looked at ros-openvino code and try to understand where the enable_roi_constraint parameter was used but I'm not able to determine. This parameter was found in these files:

ros_openvino_toolkit/dynamic_vino_lib/src/inferences/object_detection.cpp
This is a parameter for Object detection object but it no used in constructor.

ros_openvino_toolkit/dynamic_vino_lib/src/pipeline_manager.cpp
This parameter is used in Object Detection method called createObjectDetection

ros_openvino_toolkit/vino_param_lib/include/vino_param_lib/param_manager.h

struct InferenceParams
{
std::string name;
std::string engine;
std::string model;
std::string label;
int batch;
float confidence_threshold = 0.5;
bool enable_roi_constraint = false;
};

But Where the Object Detection inference use this information to pass in the pipeline only the ROI area?

Thanks in advance.

Any interest for RaspberryPi install?

I noticed OpenVino will now run on a raspberry pi.

Is there any interest in updating this package to run with Ubuntu 16.04/Kinetic on the RPi?

Thanks,

Matt

Getting Close to the Edges in the Image, Returns Wrong Values.

Hi,
The topics that return ROI, for example the /ros_openvino_toolkit/face_detection return wrong values when the detected face gets close to the zero X and Y axis. The object_vector.roi.x_offset and object_vector.roi.y_offset return upper limit of unsigned int (4294967295), when it should be close to 0.
The problem is that cv::Rect is an unsigned integer, but it gets assigned negative integers sometimes when the face gets close to zero X, or zero Y. As a result, it publishes numbers close to 4294967295 as the x_offset or y_offset.
I believe the problem for face detection application is in the line #98 & #99 of the face_detection.cpp code. r is declared as cv::Rect which is unsigned int, while static_cast<int> can return negative int values.
I was able to fix it in one of the following two ways:
1-

    r.x = abs(static_cast<int>(detections[i * object_size_ + 3] * width_));
    r.y = abs(static_cast<int>(detections[i * object_size_ + 4] * height_)); 

or 2-

    int x_ = static_cast<int>(detections[i * object_size_ + 3] * width_);
    int y_ = static_cast<int>(detections[i * object_size_ + 4] * height_);
    r.x = (x_ & -(0 < x_));
    r.y = (y_ & -(0 < y_));

This problem exit in any other application like object_detection where the ROI is calculated and published.
Any suggestion on the best way to fix this?

Unable to build Inference Engine

While building OpenVINO's DLDT, after entering the command

cmake -DCMAKE_BUILD_TYPE=Release ..

I'm getting the following error:
-- Configuring incomplete, errors occurred!
See also "/home/jorge/code/dldt/inference-engine/build/CMakeFiles/CMakeOutput.log".
See also "/home/jorge/code/dldt/inference-engine/build/CMakeFiles/CMakeError.log".

Is there another way to build the package?

Error reading network: cannot parse future versions: 5

After successfully having compiled the system with openVINO R5 2018 and this gflags. I do now have the following:

[ INFO ] Loading network files
[ ERROR ] Error reading network: cannot parse future versions: 5
/teamcity/work/scoring_engine_build/releases_2018_R5/src/inference_engine/ie_cnn_net_reader_impl.cpp:144
/opt/intel/computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/include/details/ie_exception_conversion.hpp:71
[pipeline_with_params-1] process has died [pid 11922, exit code 1, cmd /home/matteo/rovitis_ws/devel/lib/dynamic_vino_sample/pipeline_with_params /openvino_toolkit/reidentified_persons:=/ros_openvino_toolkit/reidentified_persons /openvino_toolkit/images:=/ros_openvino_toolkit/image_rviz __name:=pipeline_with_params __log:=/home/matteo/.ros/log/7b569c70-86e6-11e9-ac4f-f8597154e5bb/pipeline_with_params-1.log].
log file: /home/matteo/.ros/log/7b569c70-86e6-11e9-ac4f-f8597154e5bb/pipeline_with_params-1*.log

I would like to point out that I have downloaded the .xml from this which is a suggested option by openVINO documentation here

[ ERROR ] Object Segmentation should have only one input

Hi, I've got an error above when running: roslaunch vino_launch pipeline_segmentation.launch, the detail messages as follow. Additionally, I output the two input size values in checkNetworkSize() function. I found the 'input_size' from the network is 2, and I can't change it. What should I do to fixed this?

...
[ INFO ]  ... Adding one Output: RosTopic
[ INFO ] Parsing Output: RViz
[ INFO ]  ... Adding one Output: RViz
[ INFO ] Parsing Inference: ObjectSegmentation
[ INFO] [1601283655.663147645]: Forcing OpenGl version 0.
	API version ............ 2.1
	Build .................. custom_HEAD_fe3f978b98c86eaeed3cbdc280e1ffd0bc50d278
	Description ....... MKLDNNPlugin
[ INFO ] Loading network files
[ INFO ] Batch size is set to  1
[ INFO ] Checking input size

[ INFO ] checkNetworkSize()  the input_size from network : 2
[ INFO ] checkNetworkSize() the input_size from we set : 1
[ ERROR ] Object Segmentation should have only one input
...
[pipeline_with_params-3] process has died [pid 22884, exit code 1, cmd /home/stanger/catkin_wp/devel/lib/vino_sample/pipeline_with_params /openvino_toolkit/segmented_obejcts:=/ros_openvino_toolkit/segmented_objects /openvino_toolkit/images:=/ros_openvino_toolkit/image_rviz __name:=pipeline_with_params __log:=/home/stanger/.ros/log/bd9b9d40-013a-11eb-951e-b06ebf384a5e/pipeline_with_params-3.log].
log file: /home/stanger/.ros/log/bd9b9d40-013a-11eb-951e-b06ebf384a5e/pipeline_with_params-3*.log

catkin_make error with ros_openvino

I am trying to build the package. I have followed the guide but unfortunately I encounter a build error: return-statement with no value, in function returning ‘void’ [-fpermissive].
I am using Tarball openVINO R3.1 2019 and the master branch from this project.The pipeline_object.launch can start normally.

[ 0%] Built target geometry_msgs_generate_messages_lisp
[ 0%] Built target geometry_msgs_generate_messages_nodejs
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target sensor_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target geometry_msgs_generate_messages_lisp
[ 0%] Built target geometry_msgs_generate_messages_nodejs
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target sensor_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_eus
[ 0%] Built target geometry_msgs_generate_messages_eus
[ 0%] Built target geometry_msgs_generate_messages_cpp
[ 0%] Built target sensor_msgs_generate_messages_lisp
[ 0%] Built target geometry_msgs_generate_messages_py
[ 0%] Built target sensor_msgs_generate_messages_nodejs
[ 0%] Built target sensor_msgs_generate_messages_cpp
[ 0%] Built target sensor_msgs_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_nodejs
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target tf_generate_messages_nodejs
[ 0%] Built target diagnostic_msgs_generate_messages_eus
[ 0%] Built target _catkin_empty_exported_target
[ 0%] Built target diagnostic_msgs_generate_messages_nodejs
[ 0%] Built target dynamic_reconfigure_gencfg
[ 0%] Built target dynamic_reconfigure_generate_messages_py
[ 0%] Built target _object_msgs_generate_messages_check_deps_DetectObject
[ 0%] Built target dynamic_reconfigure_generate_messages_lisp
[ 0%] Built target _object_msgs_generate_messages_check_deps_ObjectsInBoxes
[ 0%] Built target _object_msgs_generate_messages_check_deps_Object
[ 0%] Built target dynamic_reconfigure_generate_messages_nodejs
[ 0%] Built target _object_msgs_generate_messages_check_deps_Objects
[ 0%] Built target _object_msgs_generate_messages_check_deps_ObjectInBox
[ 0%] Built target _object_msgs_generate_messages_check_deps_ClassifyObject
[ 0%] Built target diagnostic_msgs_generate_messages_lisp
[ 0%] Built target dynamic_reconfigure_generate_messages_eus
[ 0%] Built target tf2_msgs_generate_messages_eus
[ 0%] Built target tf2_msgs_generate_messages_nodejs
[ 0%] Built target tf2_msgs_generate_messages_lisp
[ 0%] Built target dynamic_reconfigure_generate_messages_cpp
[ 0%] Built target tf2_msgs_generate_messages_py
[ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target actionlib_generate_messages_eus
[ 0%] Built target actionlib_generate_messages_py
[ 0%] Built target tf2_msgs_generate_messages_cpp
[ 0%] Built target actionlib_generate_messages_nodejs
[ 0%] Built target bond_generate_messages_eus
[ 0%] Built target nav_msgs_generate_messages_lisp
[ 0%] Built target roscpp_generate_messages_lisp
[ 0%] Built target tf_generate_messages_lisp
[ 0%] Built target actionlib_msgs_generate_messages_py
[ 0%] Built target roscpp_generate_messages_py
[ 0%] Built target bond_generate_messages_lisp
[ 0%] Built target actionlib_msgs_generate_messages_nodejs
[ 0%] Built target rosgraph_msgs_generate_messages_nodejs
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] Built target tf_generate_messages_py
[ 0%] Built target roscpp_generate_messages_nodejs
[ 0%] Built target nav_msgs_generate_messages_py
[ 0%] Built target nav_msgs_generate_messages_eus
[ 0%] Built target actionlib_msgs_generate_messages_lisp
[ 0%] Built target diagnostic_msgs_generate_messages_cpp
[ 0%] Built target _realsense2_camera_generate_messages_check_deps_Extrinsics
[ 0%] Built target roscpp_generate_messages_eus
[ 0%] Built target nav_msgs_generate_messages_nodejs
[ 0%] Built target _realsense2_camera_generate_messages_check_deps_IMUInfo
[ 0%] Built target actionlib_msgs_generate_messages_cpp
[ 0%] Built target nav_msgs_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_eus
[ 0%] Built target tf_generate_messages_eus
[ 0%] Built target bond_generate_messages_cpp
[ 0%] Built target roscpp_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target actionlib_msgs_generate_messages_eus
[ 0%] Built target diagnostic_msgs_generate_messages_py
[ 0%] Built target nodelet_generate_messages_lisp
[ 0%] Built target actionlib_generate_messages_cpp
[ 0%] Built target nodelet_generate_messages_eus
[ 0%] Built target tf_generate_messages_cpp
[ 0%] Built target nodelet_generate_messages_nodejs
[ 0%] Built target nodelet_generate_messages_py
[ 0%] Built target bond_generate_messages_nodejs
[ 0%] Built target actionlib_generate_messages_lisp
[ 0%] Built target nodelet_generate_messages_cpp
[ 0%] Built target bond_generate_messages_py
[ 1%] Built target realsense2_camera_generate_messages_py
[ 2%] Built target realsense2_camera_generate_messages_eus
[ 4%] Built target realsense2_camera_generate_messages_nodejs
[ 4%] Built target realsense2_camera_generate_messages_lisp
[ 4%] Built target vino_param_lib
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_AgeGenderSrv
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_AgeGenderStamped
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_PeopleSrv
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_ObjectsInMasks
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_ReidentificationSrv
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_HeadPoseSrv
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_HeadPose
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_ObjectsInMasksSrv
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_Emotion
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_HeadPoseStamped
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_PersonsStamped
[ 4%] Built target _vino_people_msgs_generate_messages_check_deps_EmotionSrv
[ 8%] Built target object_msgs_generate_messages_py
[ 9%] Built target image_geometry
[ 12%] Built target object_msgs_generate_messages_nodejs
[ 13%] Built target cv_bridge
[ 16%] Built target object_msgs_generate_messages_lisp
[ 16%] Built target _vino_people_msgs_generate_messages_check_deps_EmotionsStamped
[ 20%] Built target object_msgs_generate_messages_eus
[ 20%] Built target _vino_people_msgs_generate_messages_check_deps_ReidentificationStamped
[ 22%] Built target object_msgs_generate_messages_cpp
[ 22%] Built target _vino_people_msgs_generate_messages_check_deps_Reidentification
[ 22%] Built target _vino_people_msgs_generate_messages_check_deps_AgeGender
[ 22%] Built target _vino_people_msgs_generate_messages_check_deps_ObjectInMask
[ 24%] Built target realsense2_camera_generate_messages_cpp
[ 24%] Built target object_msgs_generate_messages
[ 25%] Building CXX object vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module_opencv4.cpp.o
[ 25%] Building CXX object vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module.cpp.o
[ 25%] Built target realsense2_camera_generate_messages
[ 34%] Built target vino_people_msgs_generate_messages_cpp
[ 50%] Built target vino_people_msgs_generate_messages_nodejs
[ 56%] Built target vino_people_msgs_generate_messages_py
[ 61%] Built target vino_people_msgs_generate_messages_lisp
[ 70%] Built target vino_people_msgs_generate_messages_eus
[ 73%] Built target realsense2_camera
[ 73%] Built target vino_people_msgs_generate_messages
[ 90%] Built target vino_core_lib
[ 92%] Built target image_people_client
[ 92%] Built target image_object_client
[ 92%] Built target image_segmentation_client
[ 94%] Built target image_reidentification_client
[ 94%] Built target image_segmentation_server
[ 96%] Built target image_people_server
[ 97%] Built target image_object_server
[ 98%] Built target image_reidentification_server
[100%] Built target pipeline_with_params
In file included from /usr/include/python2.7/numpy/ndarrayobject.h:27:0,
from /home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module.hpp:26,
from /home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module_opencv4.cpp:3:
/home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module.hpp: In function ‘void* do_numpy_import()’:
/usr/include/python2.7/numpy/__multiarray_api.h:1537:144: error: return-statement with no value, in function returning ‘void*’ [-fpermissive]
#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
^
/usr/include/python2.7/numpy/__multiarray_api.h:1537:144: note: in definition of macro ‘import_array’
#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
^~~~~~
In file included from /usr/include/python2.7/numpy/ndarrayobject.h:27:0,
from /home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module.hpp:26,
from /home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module.cpp:35:
/home/ysxt001/openvino_ws/src/vision_opencv/cv_bridge/src/module.hpp: In function ‘void* do_numpy_import()’:
/usr/include/python2.7/numpy/__multiarray_api.h:1537:144: error: return-statement with no value, in function returning ‘void*’ [-fpermissive]
tring(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
^
/usr/include/python2.7/numpy/__multiarray_api.h:1537:144: note: in definition of macro ‘import_array’
tring(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
^~~~~~
vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/build.make:86: recipe for target 'vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module_opencv4.cpp.o' failed
make[2]: *** [vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module_opencv4.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/build.make:62: recipe for target 'vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module.cpp.o' failed
make[2]: *** [vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/module.cpp.o] Error 1
CMakeFiles/Makefile2:1293: recipe for target 'vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/all' failed
make[1]: *** [vision_opencv/cv_bridge/src/CMakeFiles/cv_bridge_boost.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

Any idea why I get this error?

Duplicate files in dynamic_vino_lib and vino_param_lib

Hi, I find that there are two slogs.h in dynamic_vino_lib/include and vino_param_lib/include . Those files' functions are identical because both of them can implement a stream which is for logging.

May be we could merge those files?

Can't find myriad

Whenever I launch the pipeline_people_myriad.launch file in the vino_launch package, I get the following output:

Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://arl-superpc:39025/

SUMMARY

PARAMETERS

  • /pipeline_with_params/param_file: /home/satchel/cat...
  • /rosdistro: kinetic
  • /rosversion: 1.12.14
  • /rviz/default_rviz: /home/satchel/cat...

NODES
/
pipeline_with_params (dynamic_vino_sample/pipeline_with_params)
rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [7641]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to b468c3ae-8f14-11e9-b7ea-f894c2575b6b
process[rosout-1]: started with pid [7654]
started core service [/rosout]
process[pipeline_with_params-2]: started with pid [7657]
process[rviz-3]: started with pid [7658]
[ INFO ] FLAGS_config=/home/satchel/catkin_ws/src/ros_openvino_toolkit/vino_launch/param/pipeline_people_myriad.yaml
InferenceEngine:
API version ............ 1.4
Build .................. custom_HEAD_91160e65cf66e7fbc709245a8ba948a4c555e443
[ INFO ] Pipeline size: 1
[ INFO ] Inferences size: 4
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Inference Params:name=FaceDetection
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Inference Params:name=AgeGenderRecognition
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Inference Params:name=EmotionRecognition
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Inference Params:name=HeadPoseEstimation
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] Pipeline Params:name=people
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ WARNING ] invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[ INFO ] --------parameters DUMP---------------------
[ INFO ] Pipeline: people
[ INFO ] Inputs: StandardCamera,
[ INFO ] Outputs: ImageWindow, RosTopic, RViz,
[ INFO ] Inferences:
[ INFO ] Name: FaceDetection
[ INFO ] Model: /opt/intel/computer_vision_sdk/deployment_tools/intel_models/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
[ INFO ] Engine: MYRIAD
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Batch: 1
[ INFO ] Confidence_threshold: 0.5
[ INFO ] Enable_roi_constraint: 0
[ INFO ] Name: AgeGenderRecognition
[ INFO ] Model: /opt/intel/computer_vision_sdk/deployment_tools/intel_models/age-gender-recognition-retail-0013/FP16/age-gender-recognition-retail-0013.xml
[ INFO ] Engine: MYRIAD
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Batch: 16
[ INFO ] Confidence_threshold: 0.5
[ INFO ] Enable_roi_constraint: 0
[ INFO ] Name: EmotionRecognition
[ INFO ] Model: /opt/intel/computer_vision_sdk/deployment_tools/intel_models/emotions-recognition-retail-0003/FP16/emotions-recognition-retail-0003.xml
[ INFO ] Engine: MYRIAD
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Batch: 16
[ INFO ] Confidence_threshold: 0.5
[ INFO ] Enable_roi_constraint: 0
[ INFO ] Name: HeadPoseEstimation
[ INFO ] Model: /opt/intel/computer_vision_sdk/deployment_tools/intel_models/head-pose-estimation-adas-0001/FP16/head-pose-estimation-adas-0001.xml
[ INFO ] Engine: MYRIAD
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Batch: 16
[ INFO ] Confidence_threshold: 0.5
[ INFO ] Enable_roi_constraint: 0
[ INFO ] Connections:
[ INFO ] AgeGenderRecognition->ImageWindow
[ INFO ] AgeGenderRecognition->RosTopic
[ INFO ] AgeGenderRecognition->RViz
[ INFO ] EmotionRecognition->ImageWindow
[ INFO ] EmotionRecognition->RosTopic
[ INFO ] EmotionRecognition->RViz
[ INFO ] FaceDetection->AgeGenderRecognition
[ INFO ] FaceDetection->EmotionRecognition
[ INFO ] FaceDetection->HeadPoseEstimation
[ INFO ] FaceDetection->ImageWindow
[ INFO ] FaceDetection->RosTopic
[ INFO ] FaceDetection->RViz
[ INFO ] HeadPoseEstimation->ImageWindow
[ INFO ] HeadPoseEstimation->RosTopic
[ INFO ] HeadPoseEstimation->RViz
[ INFO ] StandardCamera->FaceDetection
[ INFO ] Common:
[ INFO ] camera_topic:
[ INFO ] custom_cpu_library:
[ INFO ] custom_cldnn_library:
[ INFO ] enable_performance_count: 0
[ INFO ] Parsing InputDvice: StandardCamera
[ INFO] [1560565470.693783254]: rviz version 1.12.17
[ INFO] [1560565470.693810182]: compiled against Qt version 5.5.1
[ INFO] [1560565470.693817283]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO ] ... Adding one Input device: StandardCamera
[ INFO ] Parsing Output: ImageWindow
[ INFO ] ... Adding one Output: ImageWindow
[ INFO ] Parsing Output: RosTopic
[ INFO ] ... Adding one Output: RosTopic
[ INFO ] Parsing Output: RViz
[ INFO ] ... Adding one Output: RViz
[ INFO ] Parsing Inference: FaceDetection
[ ERROR ] Cannot find plugin to use :

/home/satchel/code/dldt/inference-engine/include/ie_plugin_dispatcher.hpp:86
[pipeline_with_params-2] process has died [pid 7657, exit code 1, cmd /home/satchel/catkin_ws/devel/lib/dynamic_vino_sample/pipeline_with_params /openvino_toolkit/faces:=/ros_openvino_toolkit/face_detection /openvino_toolkit/emotions:=/ros_openvino_toolkit/emotions_recognition /openvino_toolkit/headposes:=/ros_openvino_toolkit/headposes_estimation /openvino_toolkit/age_genders:=/ros_openvino_toolkit/age_genders_Recognition /openvino_toolkit/images:=/ros_openvino_toolkit/image_rviz __name:=pipeline_with_params __log:=/home/satchel/.ros/log/b468c3ae-8f14-11e9-b7ea-f894c2575b6b/pipeline_with_params-2.log].
log file: /home/satchel/.ros/log/b468c3ae-8f14-11e9-b7ea-f894c2575b6b/pipeline_with_params-2*.log
[ INFO] [1560565471.169292058]: Stereo is NOT SUPPORTED
[ INFO] [1560565471.169362763]: OpenGl version: 4.6 (GLSL 4.6).

However, the pipeline_people_oss.launch works fine with my usb camera. The intel stick works, it shows up as device when running lsusb and I have used it before. How can I fix this?

Creating a Node to Include ROS Topics and Services.

Hi, I am trying to create a new node under vino_sample/src that can provide ros topics as well as ros services. Basically I would like to combine the functionality of pipeline_with_params.cpp and image_people_server.cpp, so that I can have topics publishing inference outcome, while I can call a service to load images. This is useful for people reidentification while reading from recorded images.
Given the pipeline design structure, I am looking for advice on what is the best way to implement it.
The pipelines are initialized differently. In the vino_sample/src/pipeline_with_params.cpp the pipeline is initialized as follows:
for (auto & p : pipelines) { PipelineManager::getInstance().createPipeline(p); } PipelineManager::getInstance().runAll(); PipelineManager::getInstance().joinAll();

While in the vino_core_lib/src/services/frame_processing_server.cpp the pipelines are initialized as follows:
for (auto & p : pipelines) { PipelineManager::getInstance().createPipeline(p); } ros::ServiceServer srv = nh_->advertiseService<ros::ServiceEvent<typename T::Request, typename T::Response> >("/openvino_toolkit/service",std::bind(&FrameProcessingServer::cbService,this,std::placeholders::_1)); service_ = std::make_shared<ros::ServiceServer>(srv);

Apart from the pipeline implementation, the yaml file configuration may also need to change since the inference for the service might be different from the topic.
I would appreciate any thoughts on this.

[TODO] Add image_topic.h

Hi, I'm trying to build ros_openvino_toolkit dev-ov 2020.3, but it failed. It seems that some functions and variables in image_topic.cpp is undeclared. May be we should add a file named image_topic.h in dynamic_vino_lib.

namespace Input {
/**
 * @class ImageTopic
 * @brief 
 */
    class ImageTopic {
    public:
        explicit ImageTopic(rclcpp::Node::SharedPtr node) : _node(node) { }
        bool initialize();
        bool initialize(size_t width, size_t height);
        void cb(const sensor_msgs::msg::Image::SharedPtr image_msg);
        bool read(cv::Mat * frame);

    private:
        //  those variable are undeclared
        node_;
        image_;
        image_count_;
        //image_count_.increaseCounter();
    }
}

catkin_make error object_msgs

Ubuntu 16.04 , ROS Kinetic

CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "object_msgs" with
  any of the following names:

    object_msgsConfig.cmake
    object_msgs-config.cmake

  Add the installation prefix of "object_msgs" to CMAKE_PREFIX_PATH or set
  "object_msgs_DIR" to a directory containing one of the above files.  If
  "object_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  ros_openvino_toolkit/dynamic_vino_lib/CMakeLists.txt:25 (find_package)

ROS Topic output header

Hi! We are using ros_openvino_toolkit with Intel RealSense to get depth information from the detected objects. We were able to do that by configuring ros_openvino_toolkit’s input to "RealSenseCameraTopic", and then using ROS ApproximateTimeSynchronizer to combine the outputs from ros_openvino_toolkit and realsense2_camera.

We had to use the ApproximateTimeSynchronizer, rather than the TimeSynchronizer because ros_openvino_toolkit does not copy the header information from the input message. Instead, it generates a completely new header using the Outputs::RosTopicOutput::getHeader() method right before publishing the message. This means that the ApproximateTimeSynchronizer will use a depth image that is more recent than the color image used by ros_openvino_toolkit to perform object detection, causing a mismatch between both.

We are wondering if there is any reason for this design choice other than the fact that not all the inputs (i.e., "image", "video", "RealSenseCamera") have a time stamp like "RealSenseCameraTopic", and how we could allow RosTopicOutput to read the input message header. One option would be writing a static method for the RealSenseCameraTopic class that could retrieve the header information, if a header exist. Such behavior would allow us to use the TimeSynchronizer class and improve our application behavior, depending on how the pipeline works.

Please, do you have any thoughts regarding this issue?

Object detection doesn't run on GPU

I'm trying to run object detection sample on the GPU but it defaults to using the CPU, why?
'[ INFO ] --------parameters DUMP---------------------
[ INFO ] Pipeline: object
[ INFO ] Inputs: RealSenseCamera,
[ INFO ] Outputs: ImageWindow, RosTopic, RViz,
[ INFO ] Inferences:
[ INFO ] Name: ObjectDetection
[ INFO ] Model: /opt/intel/computer_vision_sdk/deployment_tools/intel_models/person-vehicle-bike-detection-crossroad-0078/FP32/person-vehicle-bike-detection-crossroad-0078.xml
[ INFO ] Engine: GPU
[ INFO ] Label: to/be/set/xxx.labels
[ INFO ] Connections:
[ INFO ] ObjectDetection->ImageWindow
[ INFO ] ObjectDetection->RosTopic
[ INFO ] RealSenseCamera->ObjectDetection
[ INFO ] Common:
[ INFO ] camera_topic:
[ INFO ] custom_cpu_library:
[ INFO ] custom_cldnn_library:
[ INFO ] enable_performance_count: 0
getting instance
return instance
[ INFO ] device_FACE:CPU
[ INFO ] model_FACE:/opt/intel/computer_vision_sdk/deployment_tools/intel_models/person-vehicle-bike-detection-crossroad-0078/FP32/person-vehicle-bike-detection-crossroad-0078.xml
[ INFO ] device_AG:CPU
[ INFO ] model_AG:
[ INFO ] model_HeadPose:
[ INFO ] device_HeadPose:CPU

Face Reidentification Pipeline Performance Issue.

I am observing a totally different behavior for the reidentification pipeline compared to the short clip provided on the readme page, which appears to come from ROS2 implementation.
When I run the pipeline_reidentification_oss.launch sample (with a batch size of 4 for example for the PersonReidentification model), I see a strange behavior as soon as a second person appears in the image frame. This would cause the ID associated with the first person to jump, even if the first person remains absolutely unchanged with respect to the camera. As soon as the second person leaves the image frame, the ID of the first person goes back to its original ID.
I have captured this behavior in this video clip.

On the contrary, this behavior does not exist in the python implementation of this model based on the face_recognition_demo. I tested that demo, and it works like a charm.
I would appreciate if you can confirm this behavior as well. And if the behavior is confirmed, is there a problem with the ROS pipeline implementation of reidentification?

The second point is that, in the python demo, the use of landmark_regression_model appears to produce much more stable results compared to not having it in the pipeline. Is there a particular reason to eliminate that model in the ROS implementation of face reidentification?

Undefined Symbol error

I seem to get the following error
/home/amit/dev-work/openvino_ws/devel/lib/dynamic_vino_sample/pipeline_with_params: symbol lookup error: /opt/intel/openvino_2019.1.144/deployment_tools/inference_engine/lib/intel64/libinference_engine.so: undefined symbol: _ZN3tbb10interface78internal15task_arena_base24internal_max_concurrencyEPKNS0_10task_arenaE

[pipeline_with_params-1] process has died [pid 24368, exit code 127, cmd /home/amit/dev-work/openvino_ws/devel/lib/dynamic_vino_sample/pipeline_with_params /openvino_toolkit/detected_objects:=/ros_openvino_toolkit/detected_objects /openvino_toolkit/images:=/ros_openvino_toolkit/image_rviz __name:=pipeline_with_params __log:=/home/amit/.ros/log/173eb096-862e-11e9-a084-080027a99f6a/pipeline_with_params-1.log].

log file: /home/amit/.ros/log/173eb096-862e-11e9-a084-080027a99f6a/pipeline_with_params-1*.log

when I try to run roslaunch vino_launch pipeline_object.launch.

I am running Ubuntu 18.04. My OpenVINO installation and RealSense camera both seem to be working fine so I am not quite sure what this error is about.

unable build on raspberry pi 3

catkin_make result:

-- BUILD_SHARED_LIBS is on
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Error at /home/pi/ros_catkin_ws/install_isolated/share/genmsg/cmake/genmsg-extras.cmake:263 (message):
Messages depends on unknown pkg: object_msgs (Missing
'find_package(object_msgs)'?)
Call Stack (most recent call first):
CMakeLists.txt:48 (generate_messages)

-- Configuring incomplete, errors occurred!
See also "/home/pi/catkin_ws/build_isolated/people_msgs/CMakeFiles/CMakeOutput.log".
See also "/home/pi/catkin_ws/build_isolated/people_msgs/CMakeFiles/CMakeError.log".
<== Failed to process package 'people_msgs':
Command '['cmake', '/home/pi/catkin_ws/src/ros_openvino_toolkit/people_msgs', '-DCATKIN_DEVEL_PREFIX=/home/pi/catkin_ws/devel_isolated/people_msgs', '-DCMAKE_INSTALL_PREFIX=/home/pi/catkin_ws/install_isolated', '-G', 'Unix Makefiles']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /home/pi/catkin_ws/build_isolated/people_msgs && cmake /home/pi/catkin_ws/src/ros_openvino_toolkit/people_msgs -DCATKIN_DEVEL_PREFIX=/home/pi/catkin_ws/devel_isolated/people_msgs -DCMAKE_INSTALL_PREFIX=/home/pi/catkin_ws/install_isolated -G 'Unix Makefiles'

Command failed, exiting.

RealSenseTopic For pipeline people launch doesn't work

When trying to run people detection with RealSenseTopic instead of launching the RealSense instance, I get the following errors:

[ WARNING ] No data received in CameraTopic instance
[ WARNING ] Failed to get frame from input_device.

I do have the RealSense node running

Inputs Tag "ServiceImage" Does not Seem to Work for Service Samples.

Hi,
I am trying to run the ros service samples and pass an image through image_path argument of the service call, but unfortunately the ServiceImage input tag in the yaml files does not seem to work for any of the samples.
Take, image_people_server_oss.launch for example. When changing the Inputs tag under image_people_server_oss.yaml file to ServiceImage instead of Image, the launch does not fully initialize, and returns the following error:

[ INFO ] Parsing InputDvice: ServiceImage
[ ERROR ] currently one pipeline only supports ONE input.
[ INFO ] Waiting for service request...

Since all of the custom services implemented under vino_people_msgs/srv have image_path as their input, I am assuming that the service samples are designed to take in images through the service call. However, the service samples only seem to be working with the Image input tag in the yaml file, where it only works with the predefined input_path in the yaml file.
Is anyone else experiencing the same problem?
Thank you in advance.

cannot find -lrealsense2

I have followed the instructions for installing the toolkit however I have the following error:

/usr/bin/ld: cannot find -lrealsense2
collect2: error: ld returned 1 exit status
make[2]: *** [/home/rovitis40/rovitis_ws/devel/.private/dynamic_vino_lib/lib/libdynamic_vino_lib.so] Error 1
make[1]: *** [CMakeFiles/dynamic_vino_lib.dir/all] Error 2
make: *** [all] Error 2
cd /home/rovitis40/rovitis_ws/build/dynamic_vino_lib; catkin build --get-env dynamic_vino_lib | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -

Multiple packages found with the same name "people_msgs"

Hi,
Given that there is already a ros package called people_msgs, and some developers like me may be using that in their ros environment beside your package, it will create a name conflict, causing ros returning the following error during catkin_make:
Multiple packages found with the same name "people_msgs"

I was wondering whether it is possible to change your people_msgs package name to something more specific, like vino_people_msgs in the specific package.xml and CMakeLists.txt files?

Thank you in advance.

当我运行catkin_make时在dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h中遇到了一个问题,请问如何解决呢?

[ 84%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/age_gender_detection.cpp.o
[ 84%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/emotions_detection.cpp.o
[ 84%] Building CXX object ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/face_detection.cpp.o
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/base_inference.h:28,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/base_inference.cpp:24:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/engines/engine.cpp:21:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/base_inference.h:28,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/base_filter.h:26,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/base_filter.cpp:20:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/age_gender_detection.h:28,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/age_gender_detection.cpp:26:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine_manager.h:24:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/engines/engine_manager.cpp:19:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
In file included from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/inferences/emotions_detection.h:28,
from /home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/src/inferences/emotions_detection.cpp:27:
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:129:3: error: expected class-name before ‘{’ token
{
^
/home/nudt/catkin_ws/src/ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:144:1: error: expected declaration before ‘}’ token
} // namespace Models
^
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:198: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/base_inference.cpp.o' failed
make[2]: *** [ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/base_inference.cpp.o] Error 1
make[2]: *** 正在等待未完成的任务....
ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/build.make:185: recipe for target 'ros_openvino_toolkit-dev-ov2020.3/dynamic_vino_lib/CMakeFiles/dynamic_vino_lib.dir/src/inferences/base_filter.cpp.o' failed

Unable to set labels for the model

Even after I specify a path for the labels in the yaml file, I still get label#1 or label#2 when running object detection sample. How do I fix it?

Error loading text-recognition-0012 model

Hi,

Environment:
OS: Ubuntu18.04
Openvino version: 2019.3.376 (Tarball version)
Engine: GPU

I'm trying to run the following pipeline:

[ INFO ] --------parameters DUMP---------------------                                                                                                                                                       
[ INFO ] Pipeline: text_recognition                                                                                                                                                                         
[ INFO ]        Inputs: StandardCamera,                                                                                                                                                                     
[ INFO ]        Outputs: ImageWindow,                                                                                                                                                                       
[ INFO ]        Inferences:                                                                                                                                                                                 
[ INFO ]                Name: TextDetection                                                                                                                                                                 
[ INFO ]                Model: /opt/intel/openvino/models/text_detection/FP16/text-detection-0004.xml                                                                                                       
[ INFO ]                Engine: GPU                                                                                                                                                                         
[ INFO ]                Label: to/be/set/xxx.labels                                                                                                                                                         
[ INFO ]                Batch: 1                                                                                                                                                                            
[ INFO ]                Confidence_threshold: 0.5                                                                                                                                                           
[ INFO ]                Enable_roi_constraint: 0                                                                                                                                                            
[ INFO ]                Name: TextRecognition                                                                                                                                                               
[ INFO ]                Model: /opt/intel/openvino/models/text_recognition/FP16/text-recognition-0012.xml                                                                                                   
[ INFO ]                Engine: GPU                                                                                                                                                                         
[ INFO ]                Label: to/be/set/xxx.labels                                                                                                                                                         
[ INFO ]                Batch: 50                                                                                                                                                                           
[ INFO ]                Confidence_threshold: 0.5                                                                                                                                                           
[ INFO ]                Enable_roi_constraint: 0
[ INFO ]        Connections:
[ INFO ]                StandardCamera->TextDetection
[ INFO ]                TextDetection->TextRecognition
[ INFO ]                TextDetection->ImageWindow
[ INFO ]                TextRecognition->ImageWindow
[ INFO ] Common:
[ INFO ]        camera_topic:
[ INFO ]        custom_cpu_library:
[ INFO ]        custom_cldnn_library:
[ INFO ]        enable_performance_count: 0
[ INFO ] Parsing InputDvice: StandardCamera
[ INFO ]  ... Adding one Input device: StandardCamera
[ INFO ] Parsing Output: ImageWindow
[ INFO ]  ... Adding one Output: ImageWindow
[ INFO ] Parsing Inference: TextDetection

        API version ............ 2.1
        Build .................. 32974
        Description ....... clDNNPlugin

And the following error appears:

[ERROR ] /teamcity/work/scoring_engine_build/releases_2019_R3/thirdparty/clDNN/src/reshape.cpp at line: 92
Error has occured for: lstmsequence:shadow/LSTMLayers/encoder/stack_bidirectional_rnn/cell_0/bidirectional_rnn/bw/bw/while/lstm_cell/concat/LSTMCell_sequence
/opt/intel/openvino_2019.3.376/deployment_tools/inference_engine/include/details/ie_exception_conversion.hpp:71

I've search the text-recognition-0012.xml file and I didn't find the shadow/LSTMLayers/encoder/stack_bidirectional_rnn/cell_0/bidirectional_rnn/bw/bw/while/lstm_cell/concat/LSTMCell_sequence layer.

Can you help me with this issue?

Best regards,
Felipe Ximenes

New development features in Y2021

I am re-assigning some efforts from Intel and recruiting from open communities to quickly follow ROS and OpenVINO's latest releases. First I would like to gather requirements from the developers, real users or field experts, then filter them in a feasible development priorities and schedules.

Here are some thoughts about migration/development activities, wish anyone interested can share yours:

  • Porting to OpenVINO Toolkit 2021.1
  • Porting to ROS Noetic
  • Docker image support

Please feel free to share your thoughts, what features do you want this project have?

Thanks.

align Code Structure from ROS2 project

To ease the maintaining process, we'd like to use the same code architecture as ROS2 project does. it is necessary to merge ROS2 branch dev-ov2020.3 to this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.