Grafik-Boost: Raspberry Pi unterstützt OpenVX-API

Autor Sebastian Gerstl

Mit OpenVX 1.3 ist nun eine starke Bildverarbeitungs-API für das Raspberry Pi verfügbar. Die quelloffene, lizenzgebührenfreie API der Khronos-Gruppe sorgt für wesentlich bessere Grafikeigenschaften des Einplatinenrechners.

Anbieter zum Thema

Um mit den Raspberry Pi Modellen 3 und 4B bessere Grafikeigenschaften zu erreichen, lässt sich nun die OpenVX1.3-API der Khronos Group auf dem beliebten Einplatinenrechner implementieren.
Um mit den Raspberry Pi Modellen 3 und 4B bessere Grafikeigenschaften zu erreichen, lässt sich nun die OpenVX1.3-API der Khronos Group auf dem beliebten Einplatinenrechner implementieren.
(Bild: Raspberry Pi Foundation)

„Die Khronos Group und Raspberry Pi haben sich zusammengetan, um an einer Open-Source-Implementierung von OpenVX 1.3 zu arbeiten, die alle Konformitätstests auf einem Raspberry Pi besteht“, erklärte Kiriti Nagesh Gowda, MTS-Softwareentwicklungsingenieur von AMD. Der Prozessor- und GPU-Hersteller AMD ist neben Apple, Arm, Epic Games, Google, Samsung, Intel und Nvidia eines der bedeutendsten Tech-Unternehmen innerhalb der Khronos Group, zu der auch Mitglieder wie Boeing oder IKEA zählen. Die Khronos Group zeigt sich für zahlreiche Grafik-Standards und APIs nach Open-Source-Lizenz verantwortlich, wie beispielsweise Vulcan oder OpenCL.

Beispiel für Bildverarbeitung mit der OpenVX1.3-API.
Beispiel für Bildverarbeitung mit der OpenVX1.3-API.
(Bild: Khronos Group)

Die Open-Source-Implementierung von auf dem Raspberry Pi besteht die von der Khronos Group Konformitätsprofile für Vision, Enhanced Vision und Neural Net. Wie Gowda ausführt, sollen die OpenVX 1.3-Konformitätstests sicherstellen, „dass die Khronos-Standards von mehreren Anbietern konsistent implementiert werden, um eine zuverlässige Plattform für Entwickler zu schaffen“.

OpenVX zielt darauf ab, effiziente Echtzeit-Bildverarbeitung und Grafikbeschleunigung auf Embedded Devices wie Überwachungskameras, fortschrittlichen Fahrerassistenzsystemen, Augmented-Reality-Anwendungen und in der Robotik zu bringen. „Die Entwickler können die Vorteile dieser robusten API in ihrer Anwendung nutzen und wissen, dass die Anwendung auf die gesamte konforme Hardware portierbar ist“, sagt Gowda.

Die Konformitätstests der Khronos Group lassen sich von offizieller Seite problemlos auf den Modellvarianten Raspberry Pi 3 und das Raspberry Pi 4 durchführen.

Die Khronos-Gruppe hat eine OpenVX 1.3-Beispielimplementierung sowie Beispielanwendungen für die API in einem GitHub-Repository veröffentlicht.

So installieren Sie OpenVX 1.3 auf einem Raspberry Pi

Für die Implementierung von OpenVX 1.3 empfiehlt die Raspberry Pi Foundation folgende Vorgehensweise:

Klonen Sie das existierende GitHub-Projekt mit dem rekursiven Flag, um Untermodule zu erhalten. Die API-Dokumente und die Konformitätstest-Suite werden hierbei als Untermodule im Beispielimplementierungsprojekt festgelegt.

git clone --recursive https://github.com/KhronosGroup/OpenVX-sample-impl.git

Die API-Dokumente und die Konformitätstest-Suite werden hierbei als Untermodule im Beispielimplementierungsprojekt festgelegt.

Nun können Sie das Build.py-Skript nutzen, um aus dem Projekt die API zu generieren und OpenVX1.3 auf dem Rspberry Pi zu installiern:

cd OpenVX-sample-impl/python Build.py --os=Linux --venum --conf=Debug --conf_vision --enh_vision --conf_nn

Nun generieren Sie noch die Konformitätsprüfung und implementieren diese abschließend:

export OPENVX_DIR=$(pwd)/install/Linux/x32/Debugexport VX_TEST_DATA_PATH=$(pwd)/cts/test_data/mkdir build-ctscd build-ctscmake -DOPENVX_INCLUDES=$OPENVX_DIR/include -DOPENVX_LIBRARIES=$OPENVX_DIR/bin/libopenvx.so\;$OPENVX_DIR/bin/libvxu.so\;pthread\;dl\;m\;rt -DOPENVX_CONFORMANCE_VISION=ON -DOPENVX_USE_ENHANCED_VISION=ON -DOPENVX_CONFORMANCE_NEURAL_NETWORKS=ON ../cts/cmake --build .LD_LIBRARY_PATH=./lib ./bin/vx_test_conformance

(ID:46745471)