Skip to content

Orsi In - Out - Body Detection sample app

Authors: Jasper Hofman (Orsi Academy)
Supported platforms: x86_64, aarch64
Last modified: March 18, 2025
Language: C++
Latest version: 1.0
Minimum Holoscan SDK version: 0.6.0
Tested Holoscan SDK versions: 0.6.0
Contribution metric: Level 3 - Developmental

Fig. 1: Example of anonymized result after inference

Introduction

In robotic surgery, anonymization of video is necessary to ensure privacy and protect patient data. During e.g. swapping of robotic tools or lens cleaning the endoscope is removed from the body, possibly capturing faces, recognizable tattoos or written patient data. Therefore, going out of body is a suiting definition for an anonymization boundary.

Pipeline

Fig. 2: Schematic overview of Holoscan application

Towards realtime anonymization, a binary out-of-body classifier was trained and deployed using Holoscan platform. Figure 2 shows a schematic overview of the application. After capturing the frame, the alpha channel is dropped by the Format Converter operator. Additionally, the black padding borders added by the robotic system are removed, the tensor is resized to 512x512 pixels and the tensor type is converted from int [0, 255] to float [0, 1]. In the Anonymization Preprocessor operator the tensor pixel values of every collor channel are normalized using the corresponding means and standard deviations of the anonymization dataset. After model inference with the Multi-AI inference operator, the result frame is anonymized in the Orsi Visualizer operator according to the model output. The blurring is applied using a glsl program.

Controls

Action Control
Enable anonymization B

Build app

./run build orsi_in_out_body

Launch app

C++

./run launch orsi_in_out_body cpp

Python

./run launch orsi_in_out_body python