I am running an object detection model, which sometimes struggles to detect smallish objects. I’ve thought abouting doing several inferences for each image of my camera similar to the operation done for SAHI.
I would like to split the camera image (1920x1080) into three overlapping image tiles, apply downsampling to each of them, stack them as a batch, and do the batched forward pass.
Could I run these additional operations (slicing, resizing, and batching) on the Hailo as well? Has anyone tried something like this before?
The Hailo-8 is an AI accelerator for inference and not a GPU, therefore the slicing and resizing has to be done on the host (CPU or GPU if you have one).
As far as I know, the Hailo supports resizing (bilinear interpolation, …) as well as slicing operations. Why isn’t it possible to run a tiled inference completely on the Hailo? I am interested in offloading these operations to the Hailo, as it is quite expensive for me to do on the CPU.
Hello. The Hailo Tappas Tiling example uses gstreamer. I would like to know if it’s possible to use the tile cropper and aggregator for object detection on high-resolution images without using gstreamer. If yes, are there any python examples on this? I aim to capture frames from different cameras using OpenCV and run detection every x seconds. Thank you in advance.
Hi, hailo examples is using gstreamer to allow for fast development and high performance. You can definitely create the tiles by yourself in python and send them to inference. You can use our code as reference. There is not an available python only example. You’ll find that running in very high fps in large resolutions is hard. It requires multi threading, zero copy and additional tweaks which are already implemented in gstreamer.
If you are running on a strong machine and do not have strict fps requirements you can definitely do it all in python.