In this tutorial, we will go through the step by step process to make an Object Detection function on Ohmni robot (with attached Edge TPU dongle).
This application will contain 2 module:
- A docker container running a console process on Ohmni robot that will execute a pre-train object detection model from the camera stream and send the bounding box of recognized object to the front-end web application through WebAPI.
- A web application (either running in the call or on the screen of the robot) that display the bounding box of the recognized object from the camera stream.
What you need
- Ohmni Robot
- Coral USB accelerator (https://coral.ai/products/accelerator/)
- Ohmni USB expansion kit (https://store.ohmnilabs.com/collections/developer-edition-expansion-kits/products/usb-expansion-kit)
- Web applications for displaying bounding boxes: On robot's screen (link), In-call overlay (link)
- Object detection model and code (https://gitlab.com/ohmni-sdk/demo-objectdetection)
- Ohmni TPU docker (link to docker file and install script)
- Plug the Coral USB accelerator into any ports on the Ohmni USB extension kit.
Install Ohmni TPU Docker
* skip this section if you already have an existing Ohmni TPU docker image
- Remote access the robot using SSH or ADB
- Create /var/dockerhome if it doesn't exist and cd to it.
- Copy dockerfile and install.sh to /var/dockerhome
- From /var/dockerhome build the docker image,
ohmni_up:/# docker build --network="host" --tag ohmnilabs/tpusupportdocker .
Install Object Detection Docker
- Copy the object detection sample code to a new folder called demo-objectdetection in your working directory
- Copy the dockerfile to the working directory
- From the working directory, build the docker image,
ohmni_up:/# docker build --network="host" --tag ohmnilabs/tpusupportdocker:objectdetectiondemo .
Run the code
ohmni_up:/# docker-ohmnirun ohmnilabs/tpusupportdocker:objectdetectiondemo
Displaying the bounding boxes
Method 1: On robot's screen
- Load the URL of the on screen web application in the Load URL field (link to webSDK).
Method 2: In-call
- Load the URL of the in-call overlay web application in the overlay URL field (link to webSDK).