Vision: τι είναι, πλαίσιο υπολογιστικής όρασης και λειτουργία στο iOS

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-03-26 Χρόνος ανάγνωσης: 8 λεπ

Vision — πλαίσιο υπολογιστικής όρασης από την Apple, ενσωματωμένο σε iOS, macOS και iPadOS, που παρέχει έτοιμα API για ανάλυση εικόνων, βίντεο και πραγματικού χρόνου. Καλύπτει ανίχνευση προσώπων, αναγνώριση κειμένου, γραμμωτών κωδικών, περιγραμμάτων αντικειμένων και παρακολούθηση κίνησης — όλα στη συσκευή χωρίς αποστολή δεδομένων σε διακομιστή. Σύμφωνα με το Apple Vision Documentation (2026), το πλαίσιο επεξεργάζεται έως 60 καρέ ανά δευτερόλεπτο σε συσκευές με τσιπ A14 και νεότερο.

Κύρια σημεία

  • Vision — πλαίσιο της Apple για υπολογιστική όραση στη συσκευή με API για ανίχνευση προσώπων, κειμένου και αντικειμένων
  • VNRequest — βασική κλάση για όλες τις λειτουργίες: ανίχνευση, ταξινόμηση, παρακολούθηση και αναγνώριση
  • Αναγνώριση κειμένου υποστηρίζει Λατινικά, Κυριλλικά, Κινεζικά και πάνω από 30 γλώσσες
  • Ανίχνευση προσώπων καθορίζει έως 68 βασικά σημεία αναφοράς με αξιολόγηση συναισθημάτων και περιστροφή κεφαλιού
  • Ενσωμάτωση με Core ML επιτρέπει την εκτέλεση προσαρμοσμένων μοντέλων μέσω VNCoreMLRequest

Τι είναι το Vision;

Vision — είναι ένα υψηλού επιπέδου πλαίσιο υπολογιστικής όρασης, που παρουσιάστηκε από την Apple στο WWDC 2017. Παρέχει στους προγραμματιστές μια ενοποιημένη διεπαφή για την εκτέλεση διαφόρων εργασιών ανάλυσης εικόνων και βίντεο χωρίς την ανάγκη εμβάθυνσης στα μαθηματικά της υπολογιστικής όρασης ή βελτιστοποίησης για συγκεκριμένο νευροεπεξεργαστή. Το Vision χρησιμοποιεί αυτόματα το Apple Neural Engine σε συσκευές με τσιπ A12+.

Σε αντίθεση με βιβλιοθήκες χαμηλού επιπέδου όπως το OpenCV, το Vision αφαιρεί την πολυπλοκότητα: ο προγραμματιστής δημιουργεί ένα αντικείμενο VNRequest, ρυθμίζει τις παραμέτρους και εκκινεί την επεξεργασία μέσω VNImageRequestHandler. Το πλαίσιο αποφασίζει μόνο του σε ποια μονάδα υπολογισμού θα εκτελέσει την εργασία — CPU, GPU ή ANE — και επιστρέφει ένα δομημένο αποτέλεσμα. Σύμφωνα με την Apple (WWDC 2025), το Vision χρησιμοποιείται στο 40% των εφαρμογών App Store που εργάζονται με εικόνες.

Βασικές δυνατότητες

Vision περιλαμβάνει API για ανίχνευση προσώπων και των σημείων αναφοράς τους (έως 68 σημεία), αναγνώριση κειμένου (OCR) με υποστήριξη 30+ γλωσσών, σάρωση γραμμωτών κωδικών QR και EAN, παρακολούθηση αντικειμένων μεταξύ καρέ, ανίχνευση ορθογωνίων και περιγραμμάτων, ταξινόμηση εικόνων μέσω Core ML, αξιολόγηση κίνησης και οπτικής ροής, καθώς και ανίχνευση ατόμου στην εικόνα με τμηματοποίηση. Κάθε λειτουργία αντιπροσωπεύεται από μια ξεχωριστή υποκλάση του VNRequest.

Βασικά API του Vision

Vision είναι χτισμένο στην αρχιτεκτονική Request → Handler → Results, όπου κάθε αίτημα είναι μια συγκεκριμένη εργασία: βρες πρόσωπα, αναγνώρισε κείμενο, παρακολούθησε αντικείμενο. Ας δούμε τα πιο δημοφιλή API.

VNRequest — η βάση όλων των λειτουργιών

VNRequest — μια αφηρημένη βασική κλάση από την οποία κληρονομούν όλα τα συγκεκριμένα αιτήματα Vision. Κάθε αίτημα περιέχει completionHandler, παραμέτρους διαμόρφωσης και regionOfInterest για επεξεργασία μέρους της εικόνας. Μετά τη δημιουργία, το αίτημα μεταβιβάζεται στο VNImageRequestHandler (για στατικές εικόνες) ή στο VNSequenceRequestHandler (για ροή βίντεο). Τα αποτελέσματα επιστρέφονται ως πίνακας παρατηρήσεων — υποκλάσεων του VNObservation.

Ανίχνευση προσώπων και περιγραμμάτων

VNDetectFaceRectanglesRequest βρίσκει όλα τα πρόσωπα στην εικόνα και επιστρέφει τα πλαίσιά τους. VNDetectFaceLandmarksRequest επιπλέον καθορίζει 68 βασικά σημεία αναφοράς: περίγραμμα ματιών, φρυδιών, μύτης, χειλιών και γνάθου. VNDetectFaceCaptureQualityRequest αξιολογεί την ποιότητα της φωτογραφίας προσώπου — από 0 έως 1 — χρήσιμο για βιομετρικά στοιχεία. Σύμφωνα με την Apple, η ακρίβεια ανίχνευσης προσώπου σε συσκευές με Neural Engine φτάνει το 99% σε μετωπική γωνία.

Αναγνώριση κειμένου

VNRecognizeTextRequest — API για οπτική αναγνώριση χαρακτήρων (OCR) σε εικόνες. Υποστηρίζει εκτυπωμένο κείμενο σε Λατινικά, Κυριλλικά, Κινεζικά, Ιαπωνικά, Κορεατικά και άλλες γλώσσες. Αποτέλεσμα — πίνακας VNRecognizedTextObservation, κάθε ένα περιέχει μια συμβολοσειρά κειμένου, bounding box και επίπεδο εμπιστοσύνης. Δύο λειτουργίες είναι διαθέσιμες: γρήγορη (Fast) για σάρωση εγγράφων και ακριβής (Accurate) για σύνθετες γραμματοσειρές.

  • VNDetectFaceRectanglesRequest — αναζήτηση προσώπων με επιστροφή πλαισίων
  • VNDetectFaceLandmarksRequest — 68 βασικά σημεία προσώπου
  • VNRecognizeTextRequest — OCR με υποστήριξη 30+ γλωσσών
  • VNDetectBarcodesRequest — σάρωση QR, EAN, PDF417
  • VNCoreMLRequest — εκτέλεση προσαρμοσμένων μοντέλων Core ML

Ενσωμάτωση Vision στο iOS

Για να χρησιμοποιήσετε το Vision, αρκεί να εισαγάγετε το πλαίσιο, να δημιουργήσετε ένα αντικείμενο VNRequest και να το μεταβιβάσετε στο VNImageRequestHandler. Ας δούμε ένα παράδειγμα αναγνώρισης κειμένου σε μια εικόνα.

Παράδειγμα κώδικα σε Swift

Ο κώδικας δημιουργεί ένα VNRecognizeTextRequest με ακριβή λειτουργία αναγνώρισης, το εκτελεί στην εικόνα και εμφανίζει το αναγνωρισμένο κείμενο στην κονσόλα. Αυτό το απλό παράδειγμα δείχνει την ελάχιστη ενσωμάτωση του Vision σε ένα έργο Swift χρησιμοποιώντας VNImageRequestHandler σε λίγες γραμμές κώδικα.

swift
import Vision

// 1. Δημιουργία αιτήματος αναγνώρισης κειμένου
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("Κείμενο: \(topCandidate?.string ?? "")")
    }
}

// 2. Ενεργοποίηση ακριβούς λειτουργίας
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true

// 3. Εκκίνηση επεξεργασίας
let handler = VNImageRequestHandler(
    url: imageURL, options: [:]
)
try? handler.perform([request])

Ο κώδικας Swift ρυθμίζει το VNRecognizeTextRequest με ακριβές επίπεδο αναγνώρισης και ενεργοποιημένη γλωσσική διόρθωση. Το VNImageRequestHandler φορτώνει την εικόνα από URL και εκτελεί το αίτημα. Τα αποτελέσματα περιέχουν αναγνωρισμένες συμβολοσειρές κειμένου με bounding boxes και επίπεδο εμπιστοσύνης για κάθε token. Ο πίνακας VNRecognizedTextObservation μπορεί να εμφανιστεί εύκολα στην οθόνη.

Για επεξεργασία βίντεο σε πραγματικό χρόνο, χρησιμοποιείται το VNSequenceRequestHandler αντί του VNImageRequestHandler. Δέχεται έναν πίνακα εικόνων (καρέ) και εκτελεί το ίδιο αίτημα διαδοχικά, διατηρώντας την κατάσταση μεταξύ των καρέ — αυτό είναι απαραίτητο για την παρακολούθηση αντικειμένων. Το VNSequenceRequestHandler διαχειρίζεται αυτόματα τη μνήμη: οι παλιές παρατηρήσεις διαγράφονται όταν το αντικείμενο εγκαταλείπει το καρέ. Η απόδοση σε πραγματικό χρόνο εξαρτάται από την πολυπλοκότητα του αιτήματος: η ανίχνευση προσώπων λειτουργεί στα 60 FPS, ενώ η αναγνώριση κειμένου στα 15–30 FPS σε συσκευές με τσιπ A16.

Vision εναντίον Core Image

Vision και Core Image — δύο πλαίσια της Apple για εργασία με εικόνες, αλλά επιλύουν θεμελιωδώς διαφορετικές εργασίες. Το Core Image είναι ένα πλαίσιο για φιλτράρισμα και μετασχηματισμό εικόνων (εφαρμογή φίλτρων, διόρθωση χρώματος, θόλωση). Το Vision είναι ένα πλαίσιο για κατανόηση του περιεχομένου της εικόνας: τι απεικονίζεται σε αυτήν.

ΧαρακτηριστικόVisionCore Image
ΕργασίαΑνάλυση και αναγνώρισηΦιλτράρισμα και επεξεργασία
Ανίχνευση προσώπουΝαι, με σημεία αναφοράςΜόνο CIDetector
Αναγνώριση κειμένουΝαι (OCR)Όχι
ΦίλτραΌχι200+ φίλτρα
Ενσωμάτωση Core MLΝαι (VNCoreMLRequest)Όχι
Παρακολούθηση αντικειμένωνΝαι (VNTrackObjectRequest)Όχι
ΑπόδοσηΒελτιστοποιημένο για ANEGPU (Metal)

Χρησιμοποιήστε το Vision όταν θέλετε να καταλάβετε τι υπάρχει στην εικόνα: πρόσωπα, κείμενο, κωδικοί QR, αντικείμενα. Χρησιμοποιήστε το Core Image όταν θέλετε να τροποποιήσετε την εικόνα: εφαρμογή φίλτρου, ρύθμιση χρωμάτων, περικοπή. Συχνά αυτά τα δύο πλαίσια συνδυάζονται: πρώτα το Core Image βελτιώνει την ποιότητα της εικόνας, στη συνέχεια το Vision αναγνωρίζει το κείμενο σε αυτήν.

Στην πράξη, το Vision και το Core Image χρησιμοποιούνται μαζί σε εφαρμογές σάρωσης εγγράφων. Το Core Image αυξάνει αυτόματα την αντίθεση και αφαιρεί τις σκιές (CIFilter με CIPhotoEffectNoir), και το Vision αναγνωρίζει το κείμενο στη βελτιωμένη εικόνα. Σύμφωνα με την Apple (WWDC 2025), η ακρίβεια OCR αυξάνεται κατά 15–20% μετά από προεπεξεργασία της εικόνας μέσω Core Image σε σύγκριση με το ακατέργαστο καρέ από την κάμερα.

Ένα άλλο σημαντικό σενάριο συνδυασμένης χρήσης — ανάλυση προσώπου σε πραγματικό χρόνο για εφαρμογές επαυξημένης πραγματικότητας. Το Vision ανιχνεύει το πρόσωπο και καθορίζει 68 σημεία αναφοράς, και το Core Image εφαρμόζει φίλτρα στις ανιχνευμένες περιοχές. Το ARKit χρησιμοποιεί το Vision για παρακολούθηση προσώπου και το Core Image για απόδοση εφέ, δίνοντας συνολική καθυστέρηση μικρότερη από 16 ms σε συσκευές με τσιπ A15+.

Κατά την ανάπτυξη σε SwiftUI για ενσωμάτωση Vision, χρησιμοποιείται το πρωτόκολλο Representable, που τυλίγει το AVCaptureSession και το VNImageRequestHandler σε UIViewRepresentable. Η κάμερα εμφανίζεται μέσω PreviewView, κάθε καρέ μεταβιβάζεται στο VisionRequestHandler μέσω AVCaptureVideoDataOutputSampleBufferDelegate. Αυτή η αρχιτεκτονική προσέγγιση διατηρεί την αντιδραστικότητα του SwiftUI και λαμβάνει τα αποτελέσματα ανάλυσης Vision ως @Published ιδιότητες για άμεση ενημέρωση της διεπαφής.

Παραδείγματα χρήσης Vision

Vision χρησιμοποιείται σε ένα ευρύ φάσμα εφαρμογών iOS: από σαρωτές εγγράφων έως εφαρμογές επαυξημένης πραγματικότητας. Ας δούμε τρία χαρακτηριστικά σενάρια.

Σάρωση εγγράφων

VNDetectDocumentSegmentationRequest (διαθέσιμο από iOS 17+) ανιχνεύει αυτόματα τα όρια του εγγράφου στην εικόνα, διορθώνει την προοπτική και επιστρέφει μια ισιωμένη εικόνα. Σε συνδυασμό με VNRecognizeTextRequest προκύπτει ένας πλήρης σαρωτής OCR, ικανός να αναγνωρίζει αποδείξεις, επαγγελματικές κάρτες και σελίδες βιβλίων. Σύμφωνα με την Apple, η τμηματοποίηση εγγράφου διαρκεί 30–80 ms σε συσκευή με τσιπ A15.

Παρακολούθηση αντικειμένων σε βίντεο

VNTrackObjectRequest παρακολουθεί την κίνηση του επιλεγμένου αντικειμένου μεταξύ των καρέ της ροής βίντεο σε πραγματικό χρόνο. Ο προγραμματιστής καθορίζει το bounding box του αντικειμένου στο πρώτο καρέ, και το Vision υπολογίζει αυτόματα τη νέα του θέση στα επόμενα καρέ. Παρακολούθηση εφαρμόζεται σε εφαρμογές ανάλυσης βίντεο, παιχνίδια AR και συστήματα επιτήρησης. Η ακρίβεια παρακολούθησης σε τσιπ A16 είναι 95% σε ταχύτητα κίνησης αντικειμένου έως 30 pixel ανά καρέ.

Ανίχνευση περιγραμμάτων και ορθογωνίων

VNDetectRectanglesRequest βρίσκει ορθογώνιες περιοχές στην εικόνα: οθόνες, φύλλα χαρτιού, πινακίδες, έγγραφα. Το API επιστρέφει συντεταγμένες γωνιών με διόρθωση προοπτικής. Συνδυάζοντας ορθογώνια με VNDetectContoursRequest, μπορεί να εξαχθεί το ακριβές περίγραμμα του αντικειμένου — χρήσιμο για εφαρμογές επαυξημένης πραγματικότητας και επεξεργαστές γραφικών. Το VNDetectContoursRequest επιστρέφει έναν πίνακα σημείων ελέγχου του περιγράμματος που μπορούν να μετατραπούν σε UIBezierPath για σχεδίαση.

Συχνές ερωτήσεις

Από ποιες εκδόσεις iOS είναι διαθέσιμο το Vision;

iOS 11+ για βασικά API, iOS 13+ για αναγνώριση κειμένου (VNRecognizeTextRequest), iOS 17+ για τμηματοποίηση εγγράφων. Το Vision είναι επίσης διαθέσιμο σε macOS 10.13+ και iPadOS 13+.

Μπορεί το Vision να λειτουργήσει με βίντεο σε πραγματικό χρόνο;

Ναι, το Vision επεξεργάζεται ροή βίντεο μέσω VNSequenceRequestHandler και AVFoundation. Το πλαίσιο υποστηρίζει έως 60 FPS σε συσκευές με τσιπ A14+ χρησιμοποιώντας γρήγορα αιτήματα.

Σε τι διαφέρει το Vision από το OpenCV;

Vision — εγγενές πλαίσιο της Apple με αυτόματη βελτιστοποίηση για ANE και GPU. OpenCV — βιβλιοθήκη跨πλατφορμική με ευρύτερες δυνατότητες, αλλά απαιτεί χειροκίνητη βελτιστοποίηση και χωρίς υποστήριξη Neural Engine.

Πώς προσθέτω ένα προσαρμοσμένο μοντέλο ML στο Vision;

Μέσω VNCoreMLRequest: δημιουργήστε ένα μοντέλο Core ML, αρχικοποιήστε το VNCoreMLModel, μεταβιβάστε το στο VNCoreMLRequest και εκτελέστε το μέσω VNImageRequestHandler. Το Xcode θα δημιουργήσει αυτόματα μια κλάση Swift για το μοντέλο.

Υποστηρίζει το Vision αναγνώριση συναισθημάτων;

Έμμεσα — το VNDetectFaceLandmarksRequest καθορίζει τη θέση των βασικών σημείων του προσώπου, και το VNDetectFaceExpressionsRequest (iOS 17+) αξιολογεί το χαμόγελο και το κλείσιμο του ματιού μέσω κλειστών ματιών.

Σύνοψη

  • Vision — πλαίσιο της Apple για υπολογιστική όραση στη συσκευή με ενοποιημένη αρχιτεκτονική VNRequest → VNHandler → VNObservation
  • Ανίχνευση προσώπων καθορίζει έως 68 βασικά σημεία αναφοράς με αξιολόγηση ποιότητας και περιστροφή κεφαλιού
  • Αναγνώριση κειμένου (OCR) υποστηρίζει 30+ γλώσσες σε δύο λειτουργίες: γρήγορη και ακριβή
  • Σάρωση γραμμωτών κωδικών λειτουργεί με QR, EAN-13, Code 128, PDF417 και Aztec
  • Ενσωμάτωση Core ML μέσω VNCoreMLRequest επιτρέπει την εκτέλεση προσαρμοσμένων μοντέλων
  • Παρακολούθηση αντικειμένων μεταξύ καρέ ροής βίντεο λειτουργεί σε πραγματικό χρόνο έως 60 FPS
  • Vision και Core Image αλληλοσυμπληρώνονται: αναγνώριση + φιλτράρισμα εικόνων

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης