Vision: mi ez, számítógépes látás keretrendszer és működés iOS-en

Szerző: IT Sectr Megjelenés: 2026-03-26 Olvasási idő: 8 perc

Vision — az Apple számítógépes látás keretrendszere, amely iOS, macOS és iPadOS rendszerekbe épül, és kész API-kat nyújt képek, videók és valós idejű adatok elemzéséhez. Lefedi az arcfelismerést, szövegfelismerést, vonalkódokat, objektumkontúrokat és mozgáskövetést — mindezt az eszközön, adatok szerverre küldése nélkül. Az Apple Vision Documentation (2026) szerint a keretrendszer akár 60 képkockát is feldolgoz másodpercenként A14 és újabb chippel rendelkező eszközökön.

Főbb pontok

  • Vision — az Apple keretrendszere eszközön belüli számítógépes látáshoz API-kkal arcok, szövegek és objektumok észleléséhez
  • VNRequest — az alaposztály minden művelethez: észlelés, osztályozás, követés és felismerés
  • Szövegfelismerés támogatja a latin, cirill, kínai és több mint 30 nyelvet
  • Arcfelismerés akár 68 kulcsfontosságú tájékozódási pontot határoz meg érzelembecsléssel és fejforgatással
  • Integráció a Core ML-lel lehetővé teszi egyedi modellek futtatását a VNCoreMLRequest-en keresztül

Mi az a Vision?

Vision — egy magas szintű számítógépes látás keretrendszer, amelyet az Apple a WWDC 2017-en mutatott be. Egységes felületet biztosít a fejlesztőknek különböző kép- és videoelemzési feladatok elvégzéséhez anélkül, hogy el kellene mélyülniük a számítógépes látás matematikájában vagy egy adott neuroprocesszorra történő optimalizálásban. A Vision automatikusan használja az Apple Neural Engine-t az A12+ chippel rendelkező eszközökön.

Az olyan alacsony szintű könyvtárakkal ellentétben, mint az OpenCV, a Vision elvonatkoztatja a komplexitást: a fejlesztő létrehoz egy VNRequest objektumot, beállítja a paramétereket és elindítja a feldolgozást a VNImageRequestHandler-en keresztül. A keretrendszer maga dönti el, hogy melyik számítási egységen hajtsa végre a feladatot — CPU, GPU vagy ANE — és strukturált eredményt ad vissza. Az Apple (WWDC 2025) szerint a Vision-t az App Store képekkel dolgozó alkalmazásainak 40%-ában használják.

Fő képességek

Vision API-kat tartalmaz arcok és azok tájékozódási pontjainak észleléséhez (akár 68 pontig), szövegfelismeréshez (OCR) 30+ nyelv támogatásával, QR és EAN vonalkódok szkenneléséhez, objektumok követéséhez képkockák között, téglalapok és kontúrok észleléséhez, képek osztályozásához Core ML-en keresztül, mozgás és optikai áramlás becsléséhez, valamint személyek észleléséhez a képen szegmentálással. Minden műveletet a VNRequest egy külön alosztálya képvisel.

A Vision kulcsfontosságú API-i

Vision a Request → Handler → Results architektúrára épül, ahol minden kérés egy konkrét feladat: arcok keresése, szöveg felismerése, objektum követése. Tekintsük át a legkeresettebb API-kat.

VNRequest — az összes művelet alapja

VNRequest — egy absztrakt alaposztály, amelyből az összes konkrét Vision kérés származik. Minden kérés tartalmaz completionHandler-t, konfigurációs paramétereket és regionOfInterest-et a kép egy részének feldolgozásához. A kérés létrehozása után a VNImageRequestHandler (statikus képekhez) vagy a VNSequenceRequestHandler (video streamhez) kapja meg. Az eredmények megfigyelések tömbjeként — a VNObservation alosztályaiként — kerülnek visszaadásra.

Arcok és kontúrok észlelése

VNDetectFaceRectanglesRequest megtalálja az összes arcot a képen, és visszaadja azok kereteit. VNDetectFaceLandmarksRequest ezen felül 68 kulcsfontosságú tájékozódási pontot határoz meg: a szemek, szemöldökök, orr, ajkak és állkapocs kontúrját. VNDetectFaceCaptureQualityRequest értékeli az arckép minőségét 0-tól 1-ig — hasznos a biometriához. Az Apple szerint az arcfelismerés pontossága Neural Engine-nel rendelkező eszközökön eléri a 99%-ot frontális szögben.

Szövegfelismerés

VNRecognizeTextRequest — API optikai karakterfelismeréshez (OCR) képeken. Támogatja a nyomtatott szöveget latin, cirill, kínai, japán, koreai és más nyelveken. Eredmény — VNRecognizedTextObservation tömb, amelyek mindegyike tartalmaz egy szövegsort, bounding box-ot és megbízhatósági szintet. Két mód áll rendelkezésre: gyors (Fast) dokumentumok szkenneléséhez és pontos (Accurate) összetett betűtípusokhoz.

  • VNDetectFaceRectanglesRequest — arcok keresése keretek visszaadásával
  • VNDetectFaceLandmarksRequest — az arc 68 kulcspontja
  • VNRecognizeTextRequest — OCR 30+ nyelv támogatásával
  • VNDetectBarcodesRequest — QR, EAN, PDF417 szkennelés
  • VNCoreMLRequest — egyedi Core ML modellek futtatása

A Vision integrálása iOS-be

A Vision használatához elég importálni a keretrendszert, létrehozni egy VNRequest objektumot és átadni a VNImageRequestHandler-nek. Tekintsünk egy példát a szövegfelismerésre egy képen.

Példa kód Swift-ben

A kód létrehoz egy VNRecognizeTextRequest-et pontos felismerési móddal, futtatja a képen, és kiírja a felismert szöveget a konzolba. Ez az egyszerű példa bemutatja a Vision minimális integrációját egy Swift projektben a VNImageRequestHandler használatával néhány sornyi kódban.

swift
import Vision

// 1. Szövegfelismerési kérés létrehozása
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("Szöveg: \(topCandidate?.string ?? "")")
    }
}

// 2. Pontos mód bekapcsolása
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true

// 3. Feldolgozás elindítása
let handler = VNImageRequestHandler(
    url: imageURL, options: [:]
)
try? handler.perform([request])

A Swift kód beállítja a VNRecognizeTextRequest-et pontos felismerési szinttel és bekapcsolt nyelvi korrekcióval. A VNImageRequestHandler betölti a képet URL-ről és végrehajtja a kérést. Az eredmények felismert szövegsorokat tartalmaznak bounding box-okkal és megbízhatósági szinttel minden tokenhez. A VNRecognizedTextObservation tömb kényelmesen megjeleníthető a képernyőn.

Valós idejű videofeldolgozáshoz a VNImageRequestHandler helyett VNSequenceRequestHandler-t használunk. Ez képek (képkockák) tömbjét fogadja, és ugyanazt a kérést szekvenciálisan hajtja végre, megtartva az állapotot a képkockák között — ez szükséges az objektumok követéséhez. A VNSequenceRequestHandler automatikusan kezeli a memóriát: a régi megfigyelések törlődnek, amikor az objektum elhagyja a képkockát. A valós idejű teljesítmény a kérés összetettségétől függ: az arcfelismerés 60 FPS-en, a szövegfelismerés pedig 15–30 FPS-en működik A16 chippel rendelkező eszközökön.

Vision vs Core Image

Vision és Core Image — két Apple keretrendszer képekkel való munkához, de alapvetően különböző feladatokat oldanak meg. A Core Image egy keretrendszer képek szűréséhez és transzformálásához (szűrők alkalmazása, színkorrekció, elmosás). A Vision egy keretrendszer a kép tartalmának megértéséhez: mi van rajta.

JellemzőVisionCore Image
FeladatElemzés és felismerésSzűrés és feldolgozás
ArcfelismerésIgen, tájékozódási pontokkalCsak CIDetector
SzövegfelismerésIgen (OCR)Nem
SzűrőkNem200+ szűrő
Core ML integrációIgen (VNCoreMLRequest)Nem
ObjektumkövetésIgen (VNTrackObjectRequest)Nem
TeljesítményANE-re optimalizáltGPU (Metal)

Használja a Vision-t, amikor meg akarja érteni, mi van a képen: arcok, szöveg, QR-kódok, objektumok. Használja a Core Image-t, amikor módosítani akarja a képet: szűrő alkalmazása, színek beállítása, vágás. Gyakran ezt a két keretrendszert kombinálják: először a Core Image javítja a kép minőségét, majd a Vision felismeri rajta a szöveget.

A gyakorlatban a Vision és a Core Image együtt használatos dokumentum szkennelő alkalmazásokban. A Core Image automatikusan növeli a kontrasztot és eltávolítja az árnyékokat (CIFilter a CIPhotoEffectNoir segítségével), a Vision pedig felismeri a szöveget a javított képen. Az Apple (WWDC 2025) szerint az OCR pontossága 15–20%-kal nő a kép Core Image-en keresztüli előfeldolgozása után a kamera nyers képkockájához képest.

Egy másik fontos együttes használati forgatókönyv — valós idejű arcelemzés kiterjesztett valóság alkalmazásokhoz. A Vision észleli az arcot és meghatározza a 68 tájékozódási pontot, a Core Image pedig szűrőket alkalmaz az észlelt területekre. Az ARKit a Vision-t használja arc követésére és a Core Image-t az effektusok renderelésére, ami összesen 16 ms alatti késleltetést eredményez az A15+ chippel rendelkező eszközökön.

A SwiftUI fejlesztés során a Vision integrációjához a Representable protokollt használjuk, amely az AVCaptureSession-t és a VNImageRequestHandler-t UIViewRepresentable-be csomagolja. A kamera a PreviewView-n keresztül jelenik meg, minden képkocka az AVCaptureVideoDataOutputSampleBufferDelegate-en keresztül kerül a VisionRequestHandler-be. Ez az architekturális megközelítés megőrzi a SwiftUI reaktivitását, és a Vision elemzés eredményeit @Published tulajdonságokként adja a felület azonnali frissítéséhez.

Példák a Vision használatára

Vision széles körben használatos iOS alkalmazásokban: a dokumentum szkennelőktől a kiterjesztett valóság alkalmazásokig. Tekintsünk három jellemző forgatókönyvet.

Dokumentumok szkennelése

VNDetectDocumentSegmentationRequest (iOS 17+-tól elérhető) automatikusan észleli a dokumentum határait a képen, korrigálja a perspektívát és visszaadja a kiegyenesített képet. VNRecognizeTextRequest-tel kombinálva teljes értékű OCR szkennert kapunk, amely képes számlák, névjegykártyák és könyvoldalak felismerésére. Az Apple szerint a dokumentum szegmentálása 30–80 ms-ot vesz igénybe egy A15 chippel rendelkező eszközön.

Objektumok követése videóban

VNTrackObjectRequest valós időben követi a kiválasztott objektum mozgását a video stream képkockái között. A fejlesztő megadja az objektum bounding box-át az első képkockán, és a Vision automatikusan kiszámítja annak új pozícióját a következő képkockákon. Követés videoanalitikai alkalmazásokban, AR játékokban és megfigyelőrendszerekben használatos. A követés pontossága A16 chipeken 95% az objektum képkockánkénti 30 pixel sebességéig.

Kontúrok és téglalapok észlelése

VNDetectRectanglesRequest téglalap alakú területeket talál a képen: képernyőket, papírlapokat, táblákat, dokumentumokat. Az API visszaadja a sarkok koordinátáit perspektíva korrekcióval. A téglalapokat VNDetectContoursRequest-tel kombinálva kinyerhető az objektum pontos kontúrja — hasznos kiterjesztett valóság alkalmazásokhoz és grafikus szerkesztőkhöz. A VNDetectContoursRequest visszaadja a kontúr vezérlőpontjainak tömbjét, amely UIBezierPath-té alakítható rajzoláshoz.

Gyakran ismételt kérdések

Mely iOS verzióktól érhető el a Vision?

iOS 11+ alap API-okhoz, iOS 13+ szövegfelismeréshez (VNRecognizeTextRequest), iOS 17+ dokumentum szegmentáláshoz. A Vision macOS 10.13+ és iPadOS 13+ rendszereken is elérhető.

Dolgozhat a Vision valós idejű videóval?

Igen, a Vision a VNSequenceRequestHandler-en és AVFoundation-on keresztül dolgozza fel a video streamet. A keretrendszer akár 60 FPS-t is támogat az A14+ chippel rendelkező eszközökön gyors kérések használatával.

Miben különbözik a Vision az OpenCV-től?

Vision — natív Apple keretrendszer automatikus optimalizálással ANE-re és GPU-ra. OpenCV — többplatformos könyvtár szélesebb képességekkel, de kézi optimalizálást igényel és nincs Neural Engine támogatása.

Hogyan adható egyedi ML modell a Vision-hoz?

VNCoreMLRequest-en keresztül: hozzon létre egy Core ML modellt, inicializálja a VNCoreMLModel-t, adja át a VNCoreMLRequest-nek és futtassa a VNImageRequestHandler-en keresztül. Az Xcode automatikusan generál egy Swift osztályt a modellhez.

Támogatja a Vision az érzelemfelismerést?

Közvetve — a VNDetectFaceLandmarksRequest meghatározza az arc kulcspontjainak helyzetét, a VNDetectFaceExpressionsRequest (iOS 17+) pedig a mosolyt és a pislogást értékeli a becsukott szemeken keresztül.

Összegzés

  • Vision — az Apple keretrendszere eszközön belüli számítógépes látáshoz egységes VNRequest → VNHandler → VNObservation architektúrával
  • Arcfelismerés akár 68 kulcsfontosságú tájékozódási pontot határoz meg minőségbecsléssel és fejforgatással
  • Szövegfelismerés (OCR) 30+ nyelvet támogat két módban: gyors és pontos
  • Vonalkód szkennelés QR, EAN-13, Code 128, PDF417 és Aztec kódokkal működik
  • Core ML integráció a VNCoreMLRequest-en keresztül lehetővé teszi egyedi modellek futtatását
  • Objektumkövetés a video stream képkockái között valós időben, akár 60 FPS sebességgel
  • Vision és Core Image kiegészítik egymást: felismerés + kép szűrés

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is