Vision: nima, kompyuter ko'rish freymvorki va iOS-da ishlashi

Muallif: IT Sectr Nashr etilgan: 2026-03-26 O'qish vaqti: 8 daq

Vision — Apple-ning kompyuter ko'rish freymvorki, iOS, macOS va iPadOS-ga o'rnatilgan bo'lib, tasvirlar, videolar va real vaqtni tahlil qilish uchun tayyor API-larni taqdim etadi. U yuzlarni aniqlash, matnni tanib olish, shtrixkodlar, ob'ekt konturlari va harakatni kuzatishni qamrab oladi — hammasi qurilmada, ma'lumotlarni serverga yubormasdan. Apple Vision Documentation (2026) ma'lumotiga ko'ra, freymvork A14 va undan yangi chipli qurilmalarda sekundiga 60 kadrgacha ishlaydi.

Asosiy nuqtalar

  • Vision — yuz, matn va ob'ektlarni aniqlash uchun API-lar bilan Apple-ning qurilmadagi kompyuter ko'rish freymvorki
  • VNRequest — barcha operatsiyalar uchun asosiy sinf: aniqlash, tasniflash, kuzatish va tanib olish
  • Matnni tanib olish lotin, kirill, xitoy va 30 dan ortiq tillarni qo'llab-quvvatlaydi
  • Yuzni aniqlash hissiyotlarni baholash va bosh aylanishi bilan 68 ta asosiy yo'nalish nuqtasini aniqlaydi
  • Core ML bilan integratsiya VNCoreMLRequest orqali shaxsiy modellarni ishga tushirishga imkon beradi

Vision nima?

Vision — Apple tomonidan WWDC 2017 da taqdim etilgan yuqori darajadagi kompyuter ko'rish freymvorki. U dasturchilarga kompyuter ko'rish matematikasiga yoki ma'lum bir neyroprotsessor uchun optimallashtirishga ehtiyoj sezmasdan turli xil tasvir va video tahlil vazifalarini bajarish uchun yagona interfeysni taqdim etadi. Vision A12+ chipli qurilmalarda avtomatik ravishda Apple Neural Engine-dan foydalanadi.

OpenCV kabi past darajadagi kutubxonalardan farqli o'laroq, Vision murakkablikni abstraktsiyalashtiradi: dasturchi VNRequest obyektini yaratadi, parametrlarni sozlaydi va VNImageRequestHandler orqali ishlov berishni ishga tushiradi. Freymvork vazifani qaysi hisoblash qurilmasida — CPU, GPU yoki ANE da bajarishni o'zi hal qiladi va tuzilgan natijani qaytaradi. Apple (WWDC 2025) ma'lumotiga ko'ra, Vision tasvirlar bilan ishlaydigan App Store ilovalarining 40 foizida qo'llaniladi.

Asosiy imkoniyatlar

Vision yuzlarni va ularning yo'nalish nuqtalarini aniqlash (68 nuqtagacha), matnni tanib olish (OCR) 30+ tilni qo'llab-quvvatlash bilan, QR va EAN shtrixkodlarini skanerlash, ob'ektlarni kadrlar orasida kuzatish, to'rtburchaklar va konturlarni aniqlash, Core ML orqali tasvirlarni tasniflash, harakat va optik oqimni baholash, shuningdek segmentatsiya bilan tasvirda odamni aniqlash uchun API-larni o'z ichiga oladi. Har bir operatsiya VNRequest ning alohida kichik sinfi bilan ifodalanadi.

Vision-ning asosiy API-lari

Vision Request → Handler → Results arxitekturasi asosida qurilgan, bu erda har bir so'rov aniq bir vazifadir: yuzlarni top, matnni tanib ol, ob'ektni kuzat. Eng ko'p talab qilinadigan API-larni ko'rib chiqamiz.

VNRequest — barcha operatsiyalarning asosi

VNRequest — barcha aniq Vision so'rovlari meros qilib oladigan mavhum asosiy sinf. Har bir so'rov completionHandler, konfiguratsiya parametrlari va tasvir qismini qayta ishlash uchun regionOfInterest ni o'z ichiga oladi. So'rov yaratilgandan so'ng, u VNImageRequestHandler (statik tasvirlar uchun) yoki VNSequenceRequestHandler (video oqimi uchun) ga uzatiladi. Natijalar VNObservation kichik sinflari massivi sifatida qaytariladi.

Yuz va konturlarni aniqlash

VNDetectFaceRectanglesRequest tasvirdagi barcha yuzlarni topadi va ularning ramkalarini qaytaradi. VNDetectFaceLandmarksRequest qo'shimcha ravishda 68 ta asosiy yo'nalish nuqtasini aniqlaydi: ko'z, qosh, burun, lab va jag' konturlari. VNDetectFaceCaptureQualityRequest yuz suratining sifatini 0 dan 1 gacha baholaydi — biometriya uchun foydali. Apple ma'lumotiga ko'ra, Neural Engine li qurilmalarda frontal burchakda yuzni aniqlash aniqligi 99% ga etadi.

Matnni tanib olish

VNRecognizeTextRequest — tasvirlarda optik belgilarni tanib olish (OCR) uchun API. Lotin, kirill, xitoy, yapon, koreys va boshqa tillardagi bosma matnni qo'llab-quvvatlaydi. Natija — har biri matn qatori, bounding box va ishonch darajasini o'z ichiga olgan VNRecognizedTextObservation massivi. Ikki rejim mavjud: hujjatlarni skanerlash uchun tez (Fast) va murakkab shriftlar uchun aniq (Accurate).

  • VNDetectFaceRectanglesRequest — ramkalar bilan yuzlarni qidirish
  • VNDetectFaceLandmarksRequest — yuzning 68 ta asosiy nuqtasi
  • VNRecognizeTextRequest — 30+ tilni qo'llab-quvvatlovchi OCR
  • VNDetectBarcodesRequest — QR, EAN, PDF417 skanerlash
  • VNCoreMLRequest — shaxsiy Core ML modellarini ishga tushirish

Vision-ni iOS-ga integratsiya qilish

Vision dan foydalanish uchun freymvorkni import qilish, VNRequest obyektini yaratish va uni VNImageRequestHandler ga uzatish kifoya. Tasvirda matnni tanib olish misolini ko'rib chiqamiz.

Swift-da kod namunasi

Kod aniq tanib olish rejimi bilan VNRecognizeTextRequest yaratadi, uni tasvirda ishga tushiradi va tanib olingan matnni konsolga chiqaradi. Bu oddiy misol Swift loyihasida VNImageRequestHandler yordamida Vision ning minimal integratsiyasini bir necha qator kod bilan namoyish etadi.

swift
import Vision

// 1. Matnni tanib olish so'rovini yaratish
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("Matn: \(topCandidate?.string ?? "")")
    }
}

// 2. Aniq rejimni yoqish
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true

// 3. Qayta ishlashni ishga tushirish
let handler = VNImageRequestHandler(
    url: imageURL, options: [:]
)
try? handler.perform([request])

Swift kodi VNRecognizeTextRequest ni aniq tanib olish darajasi va yoqilgan til tuzatishi bilan sozlaydi. VNImageRequestHandler URL dan tasvirni yuklaydi va so'rovni bajaradi. Natijalar har bir token uchun bounding box va ishonch darajasi bilan tanib olingan matn qatorlarini o'z ichiga oladi. VNRecognizedTextObservation massivi ekranda qulay ko'rsatilishi mumkin.

Real vaqtda video qayta ishlash uchun VNImageRequestHandler o'rniga VNSequenceRequestHandler ishlatiladi. U tasvirlar (kadrlar) massivini qabul qiladi va bir xil so'rovni ketma-ket bajaradi, kadrlar orasida holatni saqlaydi — bu ob'ektlarni kuzatish uchun zarur. VNSequenceRequestHandler xotirani avtomatik boshqaradi: ob'ekt kadrdan chiqqanda eski kuzatuvlar o'chiriladi. Real vaqt ishlashi so'rovning murakkabligiga bog'liq: yuzni aniqlash 60 FPS da, matnni tanib olish esa A16 chipli qurilmalarda 15–30 FPS da ishlaydi.

Vision vs Core Image

Vision va Core Image — Apple-ning tasvirlar bilan ishlash uchun ikkita freymvorki, ammo ular tubdan farqli vazifalarni hal qiladi. Core Image tasvirlarni filtrlash va o'zgartirish (filtrlarni qo'llash, ranglarni tuzatish, xiralashtirish) uchun freymvorkdir. Vision tasvir mazmunini tushunish uchun freymvorkdir: unda nima tasvirlangan.

XususiyatVisionCore Image
VazifaTahlil va tanib olishFiltrlash va qayta ishlash
Yuzni aniqlashHa, yo'nalish nuqtalari bilanFaqat CIDetector
Matnni tanib olishHa (OCR)Yo'q
FiltrlariYo'q200+ filtr
Core ML integratsiyasiHa (VNCoreMLRequest)Yo'q
Ob'ektlarni kuzatishHa (VNTrackObjectRequest)Yo'q
IshlashANE uchun optimallashtirilganGPU (Metal)

Vision dan foydalaning, tasvirda nima borligini tushunish kerak bo'lsa: yuzlar, matn, QR kodlar, ob'ektlar. Core Image dan foydalaning, tasvirni o'zgartirish kerak bo'lsa: filtr qo'llash, ranglarni sozlash, kesish. Ko'pincha bu ikki freymvork birlashtiriladi: avval Core Image tasvir sifatini yaxshilaydi, keyin Vision unda matnni taniydi.

Amalda Vision va Core Image hujjatlarni skanerlash ilovalarida birgalikda ishlatiladi. Core Image avtomatik ravishda kontrastni oshiradi va soyalarni olib tashlaydi (CIFilter CIPhotoEffectNoir bilan), Vision esa yaxshilangan tasvirda matnni taniydi. Apple (WWDC 2025) ma'lumotiga ko'ra, OCR aniqligi Core Image orqali oldindan qayta ishlashdan so'ng kameradan olingan xom kadrga nisbatan 15–20% ga oshadi.

Yana bir muhim birgalikda foydalanish stsenariysi — kengaytirilgan haqiqat ilovalari uchun real vaqtda yuz tahlili. Vision yuzni aniqlaydi va 68 yo'nalish nuqtasini belgilaydi, Core Image esa aniqlangan joylarga filtrlarni qo'llaydi. ARKit yuzni kuzatish uchun Vision dan va effektlarni render qilish uchun Core Image dan foydalanadi, bu A15+ chipli qurilmalarda umumiy kechikishni 16 ms dan pastga tushiradi.

SwiftUI da Vision integratsiyasi uchun AVCaptureSession va VNImageRequestHandler ni UIViewRepresentable ga o'rab oluvchi Representable protokoli ishlatiladi. Kamera PreviewView orqali ko'rsatiladi, har bir kadr AVCaptureVideoDataOutputSampleBufferDelegate orqali VisionRequestHandler ga uzatiladi. Bunday arxitektura yondashuvi SwiftUI ning reaktivligini saqlashga va Vision tahlili natijalarini interfeysni darhol yangilash uchun @Published xususiyatlari sifatida olishga imkon beradi.

Vision-dan foydalanish misollari

Vision keng ko'lamli iOS ilovalarida qo'llaniladi: hujjat skanerlaridan tortib kengaytirilgan haqiqat ilovalarigacha. Uch xarakterli stsenariyni ko'rib chiqamiz.

Hujjatlarni skanerlash

VNDetectDocumentSegmentationRequest (iOS 17+ dan mavjud) tasvirda hujjat chegaralarini avtomatik aniqlaydi, perspektivani to'g'rilaydi va tekislangan tasvirni qaytaradi. VNRecognizeTextRequest bilan birgalikda hisoblarni, vizitkalarni va kitob sahifalarini taniy oladigan to'liq OCR skaneri olinadi. Apple ma'lumotiga ko'ra, hujjat segmentatsiyasi A15 chipli qurilmada 30–80 ms davom etadi.

Videoda ob'ektlarni kuzatish

VNTrackObjectRequest tanlangan ob'ektning video oqimi kadrlari orasidagi harakatini real vaqtda kuzatadi. Dasturchi birinchi kadrda ob'ektning bounding box ini belgilaydi va Vision avtomatik ravishda uning keyingi kadrlardagi yangi joylashuvini hisoblaydi. Kuzatish videoanalitika, AR o'yinlar va kuzatuv tizimlari ilovalarida qo'llaniladi. A16 chiplarida kuzatish aniqligi kadrga 30 pikselgacha ob'ekt tezligida 95% ni tashkil qiladi.

Kontur va to'rtburchaklarni aniqlash

VNDetectRectanglesRequest tasvirda to'rtburchak joylarni topadi: ekranlar, qog'oz varaqlari, lavhalar, hujjatlar. API perspektivani tuzatish bilan burchak koordinatalarini qaytaradi. To'rtburchaklarni VNDetectContoursRequest bilan birlashtirib, ob'ektning aniq konturini ajratib olish mumkin — kengaytirilgan haqiqat ilovalari va grafik muharrirlar uchun foydali. VNDetectContoursRequest chizish uchun UIBezierPath ga aylantirilishi mumkin bo'lgan konturning boshqaruv nuqtalari massivini qaytaradi.

Tez-tez so'raladigan savollar

Vision iOS ning qaysi versiyalaridan mavjud?

iOS 11+ asosiy API-lar uchun, iOS 13+ matnni tanib olish uchun (VNRecognizeTextRequest), iOS 17+ hujjat segmentatsiyasi uchun. Vision shuningdek macOS 10.13+ va iPadOS 13+ da mavjud.

Vision real vaqtda video bilan ishlay oladimi?

Ha, Vision VNSequenceRequestHandler va AVFoundation orqali video oqimini qayta ishlaydi. Freymvork tezkor so'rovlar yordamida A14+ chipli qurilmalarda 60 FPS gacha qo'llab-quvvatlaydi.

Vision OpenCV dan qanday farq qiladi?

Vision — ANE va GPU uchun avtomatik optimallashtirish bilan Apple ning mahalliy freymvorki. OpenCV — kengroq imkoniyatlarga ega, ammo qo'lda optimallashtirishni talab qiladigan va Neural Engine qo'llab-quvvatlamaydigan ko'p platformali kutubxona.

Vision ga shaxsiy ML modelini qanday qo'shish mumkin?

VNCoreMLRequest orqali: Core ML modelini yarating, VNCoreMLModel ni ishga tushiring, uni VNCoreMLRequest ga uzating va VNImageRequestHandler orqali ishga tushiring. Xcode model uchun avtomatik Swift klassini yaratadi.

Vision hissiyotlarni tanib olishni qo'llab-quvvatlaydimi?

Bilvosita — VNDetectFaceLandmarksRequest yuzning asosiy nuqtalari holatini aniqlaydi, VNDetectFaceExpressionsRequest (iOS 17+) esa yopiq ko'zlar orqali tabassum va ko'z qisishni baholaydi.

Xulosa

  • Vision — yagona VNRequest → VNHandler → VNObservation arxitekturasi bilan Apple-ning qurilmadagi kompyuter ko'rish freymvorki
  • Yuzni aniqlash sifatni baholash va bosh aylanishi bilan 68 ta asosiy yo'nalish nuqtasini aniqlaydi
  • Matnni tanib olish (OCR) ikki rejimda 30+ tilni qo'llab-quvvatlaydi: tez va aniq
  • Shtrixkodlarni skanerlash QR, EAN-13, Code 128, PDF417 va Aztec bilan ishlaydi
  • Core ML bilan integratsiya VNCoreMLRequest orqali shaxsiy modellarni ishga tushirishga imkon beradi
  • Ob'ektlarni kuzatish video oqimi kadrlari orasida real vaqtda 60 FPS gacha ishlaydi
  • Vision va Core Image bir-birini to'ldiradi: tanib olish + tasvir filtrlash

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing