Wichtige Daten

Important Data

Patient:Patient:
John Doe

Prozedur:Procedure:
Linke Thorakotomie zur Resektion eines Lungenknotens Left thoracotomy for resection of a lung nodule

Allergien:Allergies:
Penizilin (Ausschlag), Latex (Anaphylaxie) Penicillin (rash), Latex (anaphylaxis)

Medikamente:Medications:
Lisinopril 20mg täglich
Lisinopril 20mg daily
Metoprolol 50mg 2x täglich
Metoprolol 50mg twice daily

K
Icon 1
Icon 2
Icon 3
Icon 4

00:00

00:00

PULS PULSE

BLUTDRUCK BLOOD PRESSURE

SP02 SP02

KKT CORE TEMP

Momentan erkannte Geste:

Currently Recognized Gesture:

Screen 1
Screen 2
Screen 3
Screen 4
Dynamic
Erkannte Geste

GUI Funktionsweise

GUI functionality

Das System bietet eine innovative Steuerung mehrerer Bildschirme durch den Einsatz von Handgesten. Zeigt man mit der Hand eine "1", wechselt das System zum ersten Bildschirm. Eine "2" ruft den zweiten Bildschirm auf, eine "3" den dritten, und eine "4" den vierten Bildschirm.

Auf den Bildschirmen 1 bis 3 kann eine spezielle Geste, bei der die Fingerspitze den Daumen berührt, verwendet werden, um dynamische Aktionen auszuführen. Diese Aktionen umfassen beispielsweise das Bewegen von Bildern oder das Navigieren durch einen CT-Scan. Besonders auf dem dritten Bildschirm wird eine dreidimensionale Darstellung visualisiert, welche in der aktuellen Version der Benutzeroberfläche durch ein Teekannenmodell repräsentiert wird.

Zusätzlich zeigt die Benutzeroberfläche wichtige Informationen, wie Patientendaten, auf der linken Seite und die Vitalwerte auf der rechten Seite an. Unten rechts wird die erkannte Geste angezeigt, zusammen mit der Wahrscheinlichkeit, mit der die Geste erkannt wird. In der Web-Demo kann die erkannte Geste durch das Klicken auf entsprechende Buttons simuliert werden, wodurch die Geste angezeigt wird, die man im eigentlichen Programm mit der Hand ausführen würde.

The system offers innovative control of multiple screens using hand gestures. Displaying the hand gesture for "1" switches the system to the first screen, "2" brings up the second screen, "3" the third, and "4" the fourth screen.

On screens 1 through 3, a special gesture, where the fingertip touches the thumb, can be used to perform dynamic actions. These actions include, for example, moving images or navigating through a CT scan. Notably, on the third screen, a three-dimensional representation is visualized, which in the current version of the user interface is represented by a teapot model.

Additionally, the user interface displays important information, such as patient data on the left side and vital signs on the right side. The recognized gesture is shown at the bottom right, along with the probability of gesture recognition. In the web demo, the recognized gesture can be simulated by clicking the corresponding buttons, which shows the gesture that would be performed with the hand in the actual program.

Technische Funktionsweise

Technical Functionality

Es wurden zwei Hauptansätze für die Gestenerkennung implementiert: Zum einen die Kombination von MediaPipe mit benutzerdefinierten Landmarkenberechnungen, bei der mathematische Modelle verwendet werden, um Gesten anhand von Handgelenk- und Fingerpositionen zu erkennen. Zum anderen wird MediaPipe mit dem maschinellen Lernframework Scikit-learn kombiniert, das den k-Nearest-Neighbors-Algorithmus (KNN) verwendet, um Gesten basierend auf trainierten Modellen zu klassifizieren.

Die Software wurde in Rust entwickelt, wobei für die Integration von Python-basierten Machine-Learning-Bibliotheken PyO3 genutzt wurde. PyO3 ermöglicht es, Python-Code innerhalb der Rust-Umgebung auszuführen und Daten effizient zwischen den beiden Sprachen auszutauschen. Dies ist besonders wichtig, da die Kamera-Streams sowohl für die Darstellung in der Benutzeroberfläche als auch für die Gestenerkennung benötigt werden und eine schnelle Datenübertragung unerlässlich ist, um eine reibungslose Benutzererfahrung zu gewährleisten.

Two main approaches to gesture recognition were implemented: First, the combination of MediaPipe with custom landmark calculations, which uses mathematical models to recognize gestures based on wrist and finger positions. Second, MediaPipe is paired with the machine learning framework Scikit-learn, employing the k-Nearest Neighbors (KNN) algorithm to classify gestures based on trained models.

The software was developed in Rust, with PyO3 used to integrate Python-based machine learning libraries. PyO3 enables the execution of Python code within the Rust environment and facilitates efficient data exchange between the two languages. This is crucial, as the camera streams are needed for both display in the user interface and gesture recognition, making fast data transfer essential for a seamless user experience.