Autonome Roboter müssen Objekte erkennen können um ihre Umgebung zu verstehen und sich selbst auf Karten finden zu können. Deswegen ist der Kern jeder Vision Pipeline Software, die solche Objekte von Interesse, genannt Features oder Merkmale, erkennen und verfolgen kann. Klassische Computer-Vision-Algorithmen definieren den Ort solcher Objekte basierend auf der Farbe und Helligkeit von Pixeln. Typischerweise hängt eine solche Merkmalerkennung nicht nur von den exakten Pixelwerten an deren Ort ab, sondern auch von den Nachbarpixeln und anderen sorgfältig ausgearbeiteten Bedingungen.
Um eine moderne CPU voll auszulasten ist die korrekte Benutzung der Vektoreinheiten von äußerster Bedeutung. Wir konnten eine siebenfache Beschleunigung mit einer handgearbeiteten Vektorisierung eines Kundenalgorithums erreichen.
Ein paar schnelle Fakten
Hardware:
- SoC: Qualcomm® QCS610
- CPU: Arm® Cortex®-A76 + Arm Cortex-A55
Betriebssystem:
- Linux
Compiler:
- GNU Compiler Collection (GCC)
Zusammenfassung der von uns erzielten Ergebnisse:
- Beschleunigung eines grundlegenden Merkmalerkennungsalgorithmus um den Faktor 7 auf Cortex-A76 und um den Faktor 5 auf Cortex-A55.