Skip to content

Commit

Permalink
[#57269] Review README.md
Browse files Browse the repository at this point in the history
Signed-off-by: Wojtek Rajtar <[email protected]>
  • Loading branch information
wrajtar authored and glatosinski committed Apr 30, 2024
1 parent cc55e5a commit acc360e
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@

Copyright (c) 2022-2024 [Antmicro](https://www.antmicro.com)

`CVNode` is a ROS2 node designed to facilitate the integration of computer vision algorithms into an inference testing infrastructure.
`CVNode` is a ROS2 node designed to facilitate integration of computer vision algorithms into inference testing infrastructure.

## Overview

`CVNode` introduces the `CVNodeBase` class, which serves as the foundational building block for creating computer vision nodes within your ROS2 project.
This base class provides essential functionality for running a ROS2 node and only requires the implementation of a few abstract methods to get your computer vision algorithm up and running:
* `prepare` - Method responsible for preparing the computer vision algorithm for inference (e.g. load the model).
* `run_inference` - Method responsible for running the computer vision algorithm on a vector of input images.
* `cleanup` - Method responsible for cleaning up the computer vision algorithm after inference.
`CVNode` introduces the `CVNodeBase` class, which serves as a foundational building block for creating computer vision nodes within ROS2 projects.
This base class provides essential functionality for running ROS2 nodes.
It only requires implementation of the following abstract methods to set up your computer vision algorithm:
* `prepare` - responsible for preparing the computer vision algorithm for inference (e.g. load the model).
* `run_inference` - responsible for running the computer vision algorithm on a vector of input images.
* `cleanup` - responsible for cleaning up the computer vision algorithm after inference.

The `CVNode` offers both C++ and Python implementations of the `CVNodeBase` class, allowing choice in the language used to develop computer vision algorithm.
`CVNode` offers both C++ and Python implementations of the `CVNodeBase` class, enabling choice of computer vision algorithm development language.

## Building the CVNode
## Building CVNode

Project dependencies:
* [ROS2 Humble](https://docs.ros.org/en/humble/index.html)
Expand All @@ -30,5 +31,5 @@ colcon build --packages-select cvnode_base

This will build `libbasecvnode.so`, which can later be used as a dependency for your computer vision node.

For example usage of the `CVNodeBase` class, see the `MaskRCNN` demo in [examples/mask_rcnn](./examples/mask_rcnn/) directory.
Also, source code of already implemented nodes can be explored in the [cvnode_base/nodes](./cvnode_base/nodes) directory for Python implementations and [include/cvnode_base/nodes](./include/cvnode_base/nodes) directory for C++ ones.
For a usage sample of the `CVNodeBase` class, see the `MaskRCNN` demo in the [examples/mask_rcnn](./examples/mask_rcnn/) directory.
You can also explore the source code of implemented nodes in the [cvnode_base/nodes](./cvnode_base/nodes) (Python implementations) and [include/cvnode_base/nodes](./include/cvnode_base/nodes) (C++ implementations) directories.

0 comments on commit acc360e

Please sign in to comment.