Skip to content

Update user-facing documentation #4

@samamou

Description

@samamou

Image

How to run onnx models in score

1. Drop an ai-model process in your timeline.

Let's try with BlazePose Detector. It can read from a camera or image input texture, run the model, and output results in real-time.

Image

2. Download and load model

(until we close [#1701]((in progress: ossia/score#1710

  • DONE : add to models to package manager
  • DONE : filter by "AI" category
  • add the rest of the models available in the latest release

3. Add an Input camera device (or video)

Choose camera with resolution with the most square ◾ input

  • For BlazePose landmark fullbody, change the (input) size to 256 x 256
Image

Or drag & drop your video into score, pipe into the ai-model process input.

  • TODO: automatically detect input size and pass to connected input camera device ?

4. Add a "Window" device for output

adjust the output size to match the model's output

Image Image

5. Play

Add a trigger if you want it to run forever.
Image

6. Extract keypoints

To extract the keypoints, we have to understand the model output. For example, here is the ordered keypoints outputted from this pose estimation model (Blazepose).

Image Image

Here are the keypoints for RTMPose

Image

And then with jq in the object filter, you can filter like this:

  • Left wrist = .keypoints[15].position[]
  • Right wrist = .keypoints[16].position[]
  • Nose = .keypoints[0].position[]

7. Use keypoints

Once your model is running in score, and you've got camera input connected, you can extract meaningful keypoints (e.g. wrists, nose) and use them to control any parameter.

Image

You can also send them over OSC to external tools like Wekinator for gesture recognition or interactive control

video input, and the object filter's outputs to the Wekinator wekinator:/wek/inputs
To package those 3 keypoints into a 9 values OSC message that Wekinator accepts, we use the Array Combinor process.
Image

General TODO

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions