This repository was created to show implementations of YOLOv8 pose detection (estimation) powered by ONNX and TFJS on the browser environment. It is written in vanilla JavaScript without any frameworks, can be run without any server(on frontend) and demonstrates pose detection on image and web camera.
The repository contains the following implementations of YOLOv8 on the browser:
- Web camera based YOLOv8 pose detection (estimation) powered by TFJS. Works very fast.
- Image based YOLOv8 pose detection (estimation) powered by TFJS. Works very fast.
- Web camera based YOLOv8 pose detection (estimation) powered by ONNX.It recognizes multiple classes/objects. Works slower.
- Image based YOLOv8 pose detection (estimation) powered by ONNX. It recognizes multiple classes/objects. Works very fast.
Copy the contents of each folder and just run respective html file. All code, i.e. style and scripts are included in each html file.
ONNX. Original YOLOv8n-pose model taken from official Ultralytics repository and converted to onnx. NMS file was created using adapted version of Wahyu Sentianto's graph surgeon example.
used model : yolov8n-pose.onnx
size : ~ 12.7Mb
NMS model
nms-yolov8n-pose.onnx
TFJS. Original YOLOv8n-pose model taken from official Ultralytics repository and converted to TFJS.
It is possible to use bigger models converted to onnx, however this might impact the total loading time.
To use another YOLOv8-pose model, download it from Ultralytics and convert it to ONNX or TFJS format.
Custom YOLOv8 Pose Detection Models
The example of custom YOLOv8 pose detection model will be demonstrated soon.