So I find in hailo-rpi5-examples, they use Yolov5n like below:
class GStreamerInstanceSegmentationApp(GStreamerApp):
def __init__(self, args, user_data):
# Call the parent class constructor
super().__init__(args, user_data)
# Additional initialization code can be added here
# Set Hailo parameters these parameters should be set based on the model used
self.batch_size = 2
self.network_width = 640
self.network_height = 640
self.network_format = "RGB"
self.default_postprocess_so = os.path.join(self.postprocess_dir, 'libyolov5seg_post.so')
self.post_function_name = "yolov5seg"
self.hef_path = os.path.join(self.current_path, '../resources/yolov5n_seg_h8l_mz.hef')
self.app_callback = app_callback
# Set the process title
setproctitle.setproctitle("Hailo Instance Segmentation App")
self.create_pipeline()
I can get yolov8s-seg.hef from github, but how can I get libyolov8seg_post.so
Place the cpp & hpp files for the code under core/hailo/libs/postprocesses in a designated folder - for example, in our case you need to enter core/hailo/libs/postprocesses/instance_segmentation and place the mentioned above files there or have it under a different folder designated for yolov8seg.
Add the relevant commands to the build.meson that is under core/hailo/libs/postprocesses/ - in out example add this:
Go to the /scripts/gstreamer/ and run the install_hailo_gstreamer.sh bash script.
Please notice that even though it should work, these are general instructions to add the yolov8seg, but we cannot guarantee it would compile out of the box just by following these steps.
You can see the expanded instructions on how to add your own postprocess to TAPPAS in the TAPPAS user guide under “Writing Your Own Postprocess”