Vision: Computer-Vision-Framework und seine Funktionsweise auf iOS

Autor: IT Sectr Veröffentlicht: 2026-03-26 Lesezeit: 8 Min.

Vision ist ein Computer-Vision-Framework von Apple, das in iOS, macOS und iPadOS integriert ist und fertige APIs zur Analyse von Bildern, Videos und Echtzeitdaten bereitstellt. Es umfasst Gesichtserkennung, Texterkennung, Barcodes, Objektkonturen und Bewegungsverfolgung — alles auf dem Gerät ohne Daten an einen Server zu senden. Laut Apple Vision Documentation (2026) verarbeitet das Framework bis zu 60 Bilder pro Sekunde auf Geräten mit A14-Chip und neuer.

Wichtige Erkenntnisse

  • Vision — Apples On-Device-Computer-Vision-Framework mit APIs zur Gesichts-, Text- und Objekterkennung
  • VNRequest — die Basisklasse für alle Operationen: Erkennung, Klassifikation, Verfolgung und Identifikation
  • Texterkennung unterstützt Lateinisch, Kyrillisch, Chinesisch und über 30 Sprachen
  • Gesichtserkennung identifiziert bis zu 68 wichtige Orientierungspunkte mit Emotionsschätzung und Kopfdrehung
  • Core ML-Integration ermöglicht das Ausführen benutzerdefinierter Modelle über VNCoreMLRequest

Was ist Vision?

Vision ist ein hochrangiges Computer-Vision-Framework, das von Apple auf der WWDC 2017 vorgestellt wurde. Es bietet Entwicklern eine einheitliche Schnittstelle zur Durchführung verschiedener Bild- und Videoanalyseaufgaben, ohne sich in die Mathematik der Computer Vision oder die Optimierung für bestimmte neuronale Prozessoren vertiefen zu müssen. Vision nutzt automatisch die Apple Neural Engine auf Geräten mit A12+-Chips.

Im Gegensatz zu Low-Level-Bibliotheken wie OpenCV abstrahiert Vision die Komplexität: Der Entwickler erstellt ein VNRequest-Objekt, konfiguriert Parameter und führt die Verarbeitung über VNImageRequestHandler aus. Das Framework entscheidet selbst, welche Recheneinheit verwendet wird — CPU, GPU oder ANE — und gibt strukturierte Ergebnisse zurück. Laut Apple (WWDC 2025) wird Vision in 40% der App Store-Anwendungen verwendet, die mit Bildern arbeiten.

Hauptfunktionen

Vision umfasst APIs zur Gesichts- und Markierungserkennung (bis zu 68 Punkte), Texterkennung (OCR) mit Unterstützung für über 30 Sprachen, QR- und EAN-Barcode-Scanning, Objektverfolgung zwischen Frames, Rechteck- und Konturerkennung, Bildklassifizierung über Core ML, Bewegungsschätzung und optischen Fluss sowie Personenerkennung mit Segmentierung. Jede Operation wird durch eine separate VNRequest-Unterklasse repräsentiert.

Wichtige Vision-APIs

Vision basiert auf der Request → Handler → Results-Architektur, bei der jede Anfrage eine bestimmte Aufgabe ist: Gesichter finden, Text erkennen, Objekt verfolgen. Werfen wir einen Blick auf die am häufigsten verwendeten APIs.

VNRequest — die Grundlage aller Operationen

VNRequest ist eine abstrakte Basisklasse, von der alle konkreten Vision-Anfragen erben. Jede Anfrage verfügt über einen completionHandler, Konfigurationsparameter und eine regionOfInterest zur Verarbeitung eines Teils eines Bildes. Nach dem Erstellen einer Anfrage wird sie an VNImageRequestHandler (für statische Bilder) oder VNSequenceRequestHandler (für Videostreams) übergeben. Die Ergebnisse werden als Array von Beobachtungen zurückgegeben — Unterklassen von VNObservation.

Gesichts- und Markierungserkennung

VNDetectFaceRectanglesRequest findet alle Gesichter in einem Bild und gibt deren Begrenzungsrahmen zurück. VNDetectFaceLandmarksRequest identifiziert zusätzlich 68 wichtige Orientierungspunkte: Augenkonturen, Augenbrauen, Nase, Lippen und Kiefer. VNDetectFaceCaptureQualityRequest bewertet die Aufnahmequalität des Gesichts — von 0 bis 1 — nützlich für die Biometrie. Laut Apple erreicht die Gesichtserkennungsgenauigkeit auf Geräten mit Neural Engine 99% bei frontalen Winkeln.

Texterkennung

VNRecognizeTextRequest ist die API zur optischen Zeichenerkennung (OCR) auf Bildern. Es unterstützt gedruckten Text in Lateinisch, Kyrillisch, Chinesisch, Japanisch, Koreanisch und anderen Sprachen. Das Ergebnis ist ein Array von VNRecognizedTextObservation-Objekten, die jeweils eine Textzeichenfolge, einen Begrenzungsrahmen und ein Konfidenzniveau enthalten. Zwei Modi sind verfügbar: Schnell (Fast) für das Scannen von Dokumenten und Genau (Accurate) für komplexe Schriftarten.

  • VNDetectFaceRectanglesRequest — Gesichtserkennung mit Rückgabe von Begrenzungsrahmen
  • VNDetectFaceLandmarksRequest — 68 Gesichtsmarkierungspunkte
  • VNRecognizeTextRequest — OCR mit Unterstützung für 30+ Sprachen
  • VNDetectBarcodesRequest — QR-, EAN-, PDF417-Scanning
  • VNCoreMLRequest — Ausführung benutzerdefinierter Core ML-Modelle

Integration von Vision in iOS

Um Vision zu verwenden, importieren Sie einfach das Framework, erstellen ein VNRequest-Objekt und übergeben es an VNImageRequestHandler. Sehen wir uns ein Beispiel zur Texterkennung auf einem Bild an.

Swift-Codebeispiel

Der Code erstellt einen VNRecognizeTextRequest mit genauem Erkennungsmodus, führt ihn auf einem Bild aus und gibt den erkannten Text in der Konsole aus. Dieses einfache Beispiel demonstriert die minimale Vision-Integration in einem Swift-Projekt mit VNImageRequestHandler in nur wenigen Codezeilen.

swift
import Vision

// 1. Texterkennungsanfrage erstellen
let request = VNRecognizeTextRequest { request, error in
    guard let observations = request.results
        as? [VNRecognizedTextObservation]
    else { return }

    for observation in observations {
        let topCandidate = observation
            .topCandidates(1)
            .first
        print("Text: \(topCandidate?.string ?? "")")
    }
}

// 2. Genauen Modus aktivieren
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true

// 3. Handler ausführen
let handler = VNImageRequestHandler(
    url: imageURL, options: [:]
)
try? handler.perform([request])

Der Swift-Code konfiguriert einen VNRecognizeTextRequest mit genauem Erkennungsniveau und aktivierter Sprachkorrektur. VNImageRequestHandler lädt das Bild von einer URL und führt die Anfrage aus. Die Ergebnisse enthalten erkannte Textzeichenfolgen mit Begrenzungsrahmen und Konfidenzwerten für jedes Token. Das VNRecognizedTextObservation-Array kann bequem auf dem Bildschirm angezeigt werden.

Für die Echtzeit-Videoverarbeitung verwenden Sie VNSequenceRequestHandler anstelle von VNImageRequestHandler. Er akzeptiert ein Array von Bildern (Frames) und führt dieselbe Anfrage sequenziell aus, wobei der Zustand zwischen den Frames beibehalten wird — wesentlich für die Objektverfolgung. VNSequenceRequestHandler verwaltet den Speicher automatisch: Alte Beobachtungen werden entfernt, wenn ein Objekt den Frame verlässt. Die Echtzeitleistung hängt von der Komplexität der Anfrage ab: Die Gesichtserkennung läuft mit 60 FPS, während die Texterkennung mit 15–30 FPS auf Geräten mit A16-Chip läuft.

Vision vs Core Image

Vision und Core Image sind zwei Apple-Frameworks für die Arbeit mit Bildern, lösen aber grundlegend unterschiedliche Aufgaben. Core Image ist ein Framework zum Filtern und Transformieren von Bildern (Anwenden von Filtern, Farbkorrektur, Weichzeichnen). Vision ist ein Framework zum Verstehen des Bildinhalts: Was darauf dargestellt ist.

EigenschaftVisionCore Image
AufgabeAnalyse und ErkennungFilterung und Verarbeitung
GesichtserkennungJa, mit MarkierungenNur CIDetector
TexterkennungJa (OCR)Nein
FilterNein200+ Filter
Core ML-IntegrationJa (VNCoreMLRequest)Nein
ObjektverfolgungJa (VNTrackObjectRequest)Nein
LeistungOptimiert für ANEGPU (Metal)

Verwenden Sie Vision, wenn Sie verstehen möchten, was sich in einem Bild befindet: Gesichter, Text, QR-Codes, Objekte. Verwenden Sie Core Image, wenn Sie ein Bild verändern möchten: Filter anwenden, Farben anpassen, zuschneiden. Oft werden diese beiden Frameworks kombiniert: Zuerst verbessert Core Image die Bildqualität, dann erkennt Vision den Text darauf.

In der Praxis werden Vision und Core Image gemeinsam in Dokumentenscan-Anwendungen eingesetzt. Core Image erhöht automatisch den Kontrast und entfernt Schatten (CIFilter mit CIPhotoEffectNoir), während Vision den Text auf dem verbesserten Bild erkennt. Laut Apple (WWDC 2025) steigt die OCR-Genauigkeit um 15–20%, wenn Bilder im Vergleich zu rohen Kamerabildern durch Core Image vorverarbeitet werden.

Ein weiterer wichtiger Anwendungsfall für die kombinierte Nutzung ist die Echtzeit-Gesichtsanalyse für Augmented-Reality-Anwendungen. Vision erkennt das Gesicht und identifiziert 68 Markierungen, während Core Image Filter auf die erkannten Regionen anwendet. ARKit verwendet Vision zur Gesichtsverfolgung und Core Image zur Effektdarstellung, was zu einer Gesamtlatenz von weniger als 16 ms auf Geräten mit A15+-Chips führt.

Bei der Entwicklung in SwiftUI für die Vision-Integration wird das Representable-Protokoll verwendet, das AVCaptureSession und VNImageRequestHandler in UIViewRepresentable kapselt. Die Kamera wird über PreviewView angezeigt, jeder Frame wird über AVCaptureVideoDataOutputSampleBufferDelegate an VisionRequestHandler übergeben. Dieser architektonische Ansatz bewahrt die Reaktivität von SwiftUI und liefert Vision-Analyseergebnisse als @Published-Eigenschaften für sofortige UI-Updates.

Anwendungsfälle von Vision

Vision wird in einer Vielzahl von iOS-Anwendungen eingesetzt: von Dokumentenscannern bis hin zu Augmented-Reality-Apps. Sehen wir uns drei typische Szenarien an.

Dokumentenscan

VNDetectDocumentSegmentationRequest (verfügbar ab iOS 17+) erkennt automatisch die Grenzen eines Dokuments in einem Bild, korrigiert die Perspektive und gibt ein ausgerichtetes Bild zurück. In Kombination mit VNRecognizeTextRequest entsteht ein vollwertiger OCR-Scanner, der Rechnungen, Visitenkarten und Buchseiten erkennen kann. Laut Apple dauert die Dokumentensegmentierung 30–80 ms auf einem Gerät mit A15-Chip.

Objektverfolgung in Videos

VNTrackObjectRequest verfolgt die Bewegung eines ausgewählten Objekts zwischen Videoframes in Echtzeit. Der Entwickler gibt den Begrenzungsrahmen des Objekts im ersten Frame an, und Vision berechnet automatisch seine neue Position in nachfolgenden Frames. Die Verfolgung wird in Videoanalyse-Anwendungen, AR-Spielen und Überwachungssystemen eingesetzt. Die Verfolgungsgenauigkeit auf A16-Chips beträgt 95% bei Objektbewegungsgeschwindigkeiten von bis zu 30 Pixeln pro Frame.

Rechteck- und Konturerkennung

VNDetectRectanglesRequest findet rechteckige Bereiche in einem Bild: Bildschirme, Papierbögen, Schilder, Dokumente. Die API gibt Eckkoordinaten mit Perspektivkorrektur zurück. Durch die Kombination von Rechtecken mit VNDetectContoursRequest können präzise Objektkonturen extrahiert werden — nützlich für Augmented-Reality-Anwendungen und Grafikeditoren. VNDetectContoursRequest gibt ein Array von Kontrollpunkten der Kontur zurück, die für die Darstellung in UIBezierPath konvertiert werden können.

Häufig gestellte Fragen

Ab welchen iOS-Versionen ist Vision verfügbar?

iOS 11+ für grundlegende APIs, iOS 13+ für Texterkennung (VNRecognizeTextRequest), iOS 17+ für Dokumentensegmentierung. Vision ist auch auf macOS 10.13+ und iPadOS 13+ verfügbar.

Kann Vision mit Echtzeit-Video arbeiten?

Ja, Vision verarbeitet Videostreams über VNSequenceRequestHandler und AVFoundation. Das Framework unterstützt bis zu 60 FPS auf Geräten mit A14+-Chips bei Verwendung schneller Anfragen.

Wie unterscheidet sich Vision von OpenCV?

Vision ist ein natives Apple-Framework mit automatischer Optimierung für ANE und GPU. OpenCV ist eine plattformübergreifende Bibliothek mit breiteren Fähigkeiten, erfordert jedoch manuelle Optimierung und unterstützt Neural Engine nicht.

Wie füge ich ein benutzerdefiniertes ML-Modell zu Vision hinzu?

Über VNCoreMLRequest: Erstellen Sie ein Core ML-Modell, initialisieren Sie VNCoreMLModel, übergeben Sie es an VNCoreMLRequest und führen Sie es über VNImageRequestHandler aus. Xcode generiert automatisch eine Swift-Klasse für das Modell.

Unterstützt Vision die Emotionserkennung?

Indirekt — VNDetectFaceLandmarksRequest bestimmt die Position der wichtigsten Gesichtspunkte, und VNDetectFaceExpressionsRequest (iOS 17+) bewertet Lächeln und Zwinkern durch geschlossene Augen.

Zusammenfassung

  • Vision — Apples On-Device-Computer-Vision-Framework mit einheitlicher VNRequest → VNHandler → VNObservation-Architektur
  • Gesichtserkennung identifiziert bis zu 68 wichtige Markierungen mit Qualitätsbewertung und Kopfdrehung
  • Texterkennung (OCR) unterstützt 30+ Sprachen in zwei Modi: schnell und genau
  • Barcode-Scanning funktioniert mit QR, EAN-13, Code 128, PDF417 und Aztec
  • Core ML-Integration über VNCoreMLRequest ermöglicht die Ausführung benutzerdefinierter Modelle
  • Objektverfolgung zwischen Videoframes funktioniert in Echtzeit bis zu 60 FPS
  • Vision und Core Image ergänzen sich: Erkennung + Bildfilterung

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch