Skip to content

Commit

Permalink
add megapose pipeline diagram in documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
SamFlt committed Aug 21, 2023
1 parent 7b7d44b commit dbab55d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 10 additions & 4 deletions doc/tutorial/tracking/tutorial-tracking-megapose.dox
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,25 @@ It has however, several drawbacks:
You may thus require a way to detect the object, such as an object detection neural network (available in ViSP with the class vpDetectorDNNOpenCV, see \ref tutorial-detection-dnn).
For initial tests, the bounding box can also be provided by the user via click.

For the 3D model and detection inputs required by megapose, we provide tutorials to help you get setup. See \ref tutorial-megapose-model for the 3D model creation and \ref tutorial-synthetic-blenderproc to train a detection network.
With these tutorials and the tools presented therein, the work to use megapose can be almost fully automated as summed up in the figure below:

\image html tutorial/tracking/megapose/megapose_pipeline.png



The MegaPose integration in ViSP is based on a client-server model:
- The client, that uses either vpMegaPose or vpMegaPoseTracker, is C++-based. It sends pose estimation requests to the server.
- The server is written in Python. It wraps around the MegaPose model. Each time a pose estimation is requested, the server reshapes the data and forwards it to MegaPose.
It then sends back the information to the client.
- The server is written in Python. It wraps around the MegaPose model. Each time a pose estimation is requested, the server reshapes the data and forwards it to MegaPose.
It then sends back the information to the client.

\note The computer running the server needs a GPU. The client can run on the same computer as the server. It can also run on another computer without a GPU.
As Ethernet is used to communicate between client and server, both computers must be accessible on the Ethernet network.
\note The computer running the server needs a GPU. The client can run on the same computer as the server. It can also run on another computer without a GPU. To obtain have a decent tracking speed, it is recommended to have both machines on the same network.

This tutorial will explain how to install and run MegaPose and
then demonstrate its usage with a simple object tracking application.



\section megapose_install Installation

\subsection megapose_cpp_install Installing the client
Expand Down

0 comments on commit dbab55d

Please sign in to comment.