Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VINO Factory, simplely test passed #294

Open
wants to merge 41 commits into
base: master
Choose a base branch
from

Conversation

Corsair-cxs
Copy link

New features:

  • Changed into register factory design pattern. It make code cleaner and more readable.
  • Register modules in pipeline_manager. It's very convenient to maintain our modules. It also support "one class, more names". Such as ObjectDetection and Facedetection both represent ObjectDetection inference ; ImageTopic and RealSenseCameraTopic both represent imagetopic input .

Defect:

  • May be REG_MODEL micro is not very suitable or unserstandable if models have many types. Such as ObjectDetection, we can choose SSD or Yolov5, and so on...
    I'd like to choose REG_MODEL_TYPE micro, which also contains suffix. But it precompile failed.
#define REG_MODEL_TYPE(BASE, key, suffix, name)     static REG_MODEL_FACTORY::TReg<Models::BASE> gs_model_##name(key##suffix)

Note:

I've only test simplely, it seems worked. Maybe we need rigorous inspections.

Thanks for @LewisLiuPub. Thank you for your advices.

LewisLiuPub and others added 30 commits September 23, 2022 14:58
Adding the jenkinsfile for galactic branch
Updating the Jenkinsfile for PR test
Enable environment information for email.
* adapt API 2.0 for engines

Signed-off-by: Fan, Tao <[email protected]>

* fix callback

Signed-off-by: Fan, Tao <[email protected]>

* base model: fix read model api

Signed-off-by: Fan, Tao <[email protected]>

* fix start interence api

Signed-off-by: Fan, Tao <[email protected]>

* fix updateLayerProperty parameter type

Signed-off-by: Fan, Tao <[email protected]>

* adapt API2022.1

* fix inputinfo

* fix inputinfo of segmentation model

* fix version api

* fix header files

* fix get tensor of base_inference header file

* fix version info

Signed-off-by: Fan,Tao <[email protected]>

* adapt for object segmentation inferences API

Signed-off-by: Fan,Tao <[email protected]>

* fix object segmentation enqueue and updateLayerProperty

Signed-off-by: Fan,Tao <[email protected]>

* fix person_attribs_detection

* age_gender_detection

* fix age_gender_detection

* fix face detection and object detection(ssd)

Signed-off-by: Fan,Tao <[email protected]>

* fix emotions_detenction_model

* fix variable name

* fix updateLayerProperty param type

* fix head_pose_detection

* fix license plate detection

Signed-off-by: Fan,Tao <[email protected]>

* fix vehicle attribs detection

Signed-off-by: Fan,Tao <[email protected]>

* fix person_attribs_detection_model

* fix base_attribute

* fix object detection(yolov2)

* fix person_reidentification and ssd_model_attr

* fix age gender detection

Signed-off-by: Fan,Tao <[email protected]>

* fix emotions_detection

* fix head pose detection

Signed-off-by: Fan,Tao <[email protected]>

* fix person reidentification

Signed-off-by: Fan,Tao <[email protected]>

* fix person_attribs_detection

* more fix to object segmentation, still bug

Signed-off-by: Fan,Tao <[email protected]>

* update quick_start_doc for Galactic_Ubuntu20.04

* update quick_start_doc for Galactic_Ubuntu20.04_ov2.0

* Revert "update quick_start_doc for Galactic_Ubuntu20.04"

This reverts commit 2e5646c.

* fix segmentation typo and correct fetch output

Signed-off-by: Fan,Tao <[email protected]>

* clean up code and fix typo

Signed-off-by: Fan,Tao <[email protected]>

* fix CMakeLists

* add NCHW and NHWC layout compatibility for object_segmentation and object_detection_ssd model

Signed-off-by: Fan, Tao <[email protected]>

* fix doc for branch galactic ov2.0

* clean code and fix CMakeLists

* code refine: move input&output info definition to base attribute

Signed-off-by: Fan, Tao <[email protected]>

* fix typo

* fix param name for new API

* fix param name getModel

* fix typo

* add mkdir for label

Signed-off-by: Fan, Tao <[email protected]>
Signed-off-by: Fan,Tao <[email protected]>
Co-authored-by: wujiawei <[email protected]>
* add dockerfile and instruction

* add build arg of proxy

* add model lists for omz tools and fix instruction

* add lsb param and declare support version

* remove opencv4.5.5 install
* upgrade maskrcnn

* add maskrcnn segmentation

* add output

* fix class name

* fix pipeline manager and output

* fix segmentation pipeline
* update ros2 doc for quick start

* fix typo

* fix yaml model path
* refine for docker

* refine to adapt humble

* fix doc and yaml path

* fix the structure of ros2 document and add yaml configuration guide

* add the table of contents in README

* fix link

* refine for format and capital letter

* add reference link for installation

* add model and yaml link for inference table

* add table for the corresponding relation of ros2 branches

* add links to the table of contents and refine docker instruction

* update yaml configuration and add tables

* update yaml configuration

* update README format

* update README format

* add FAQ module

* update structure of table content

* update Inference Implementations table in README

* update

* update table format

* update

* refine format and add tables in README

* add feedback module in README

* fix typo in README

* add prerequisite table and fix links

* fix for topic table

* fix typo

* add link
* initial code for supporting yolov5n

Signed-off-by: Fan,Tao <[email protected]>

* fix code for supporting yolov5n

* fix code for yolov5n

* revert code for resize image

* fix for docker

* fix model used for people reidentification

* fix copyright 2018-2022

* fix bug for person attribs detection

* add doc for yolov5 converted

---------

Signed-off-by: Fan,Tao <[email protected]>
Co-authored-by: Fan,Tao <[email protected]>
* Enable klocwork checking for Jenkins CI

Signed-off-by: huangjiafengx <[email protected]>

* Fix the bug of conflict resources for Jenkins CI

Signed-off-by: huangjiafengx <[email protected]>

---------

Signed-off-by: huangjiafengx <[email protected]>
* rename package for release

* rename to openvino_node
* Enable the ros2 openvino toolkit CI test for Github action

Signed-off-by: huangjiafengx <[email protected]>

* Add the ci launch file

Signed-off-by: huangjiafengx <[email protected]>

* Update ros2_branch.yml

* Add the log file

Signed-off-by: huangjiafengx <[email protected]>

* Enable GitHub action CI

Signed-off-by: huangjiafengx <[email protected]>

---------

Signed-off-by: huangjiafengx <[email protected]>
* update code to align with new version of maskrcnn segmentation model (layout=NHWC)

Signed-off-by: Liu, Wei Zhi <[email protected]>

* update code to align with new version of deeplabv3 segmentation model.

Signed-off-by: Liu, Wei Zhi <[email protected]>

* Update run.sh (intel#270)

* fix build error.

Signed-off-by: Liu, Wei Zhi <[email protected]>

* update yaml file to use new version of maskrcnn segmentation model.

Signed-off-by: Liu, Wei Zhi <[email protected]>

---------

Signed-off-by: Liu, Wei Zhi <[email protected]>
Co-authored-by: huangjiafengx <[email protected]>
* use object_msgs instead of openvino_people_msgs.

Signed-off-by: Liu, Wei Zhi <[email protected]>

* update README by using object_msgs instead of openvino_people_msgs

Signed-off-by: Liu, Wei Zhi <[email protected]>

---------

Signed-off-by: Liu, Wei Zhi <[email protected]>
* Add the segmentation CI test for github action

Signed-off-by: huangjiafengx <[email protected]>

* Enable the segmentation cases for Github Action CI.

Signed-off-by: huangjiafengx <[email protected]>

* Enable the segmentation cases for Github Action CI.

Signed-off-by: huangjiafengx <[email protected]>

* Enable the segmentation cases for Github Action CI.

Signed-off-by: huangjiafengx <[email protected]>

---------

Signed-off-by: huangjiafengx <[email protected]>
* update CI configurations to support branch master

Signed-off-by: Liu, Wei Zhi <[email protected]>

* fix issues on the file Dockerfile for CI caes.

Signed-off-by: huangjiafengx <[email protected]>

* Fix GitHub action ci issue (intel#276)

* Enable ci for master

Signed-off-by: huangjiafengx <[email protected]>

* Sloving the Github action CI fail.

Signed-off-by: huangjiafengx <[email protected]>

---------

Signed-off-by: huangjiafengx <[email protected]>

---------

Signed-off-by: Liu, Wei Zhi <[email protected]>
Signed-off-by: huangjiafengx <[email protected]>
Co-authored-by: huangjiafengx <[email protected]>
huangjiafengx and others added 11 commits April 21, 2023 16:07
merge branch ROS2 to branch master (intel#273)
[*] Move constructon and deconstruction functions to hpp file.
[*] Add `init` API to replace constructions which contains parameters.
[*] Modify pipeline_manager to fit above features.
[*] Change member variables in ObjectDetection: private-->protected
[*] Move constructon functions to hpp file.
[*] Modify `modelInit` API, contain `InferenceRawData` parameters.
[*] Modify pipeline_manager to fit above features.
[*] Move constructon functions to hpp file.
[*] Modify `initialize` API, contain `std::string` parameters.
[*] Modify pipeline_manager to fit above features.
[*] Move constructon functions to hpp file.
[*] Modify `initialize` API, contain `std::string` and `rclcpp::Node::SharedPtr` parameter.
[*] Modify pipeline_manager to fit above features.
@Corsair-cxs
Copy link
Author

REG_MODEL_TYPE worked

@LewisLiuPub
Copy link
Contributor

Thanks a lot, @Corsair-cxs. I'll have a quick look on your code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants