Vision: apa itu, framework computer vision dan pengoperasian di iOS

Penulis: IT Sectr Diterbitkan: 2026-03-26 Waktu membaca: 8 mnt

Vision — framework computer vision dari Apple, tertanam di iOS, macOS, dan iPadOS yang menyediakan API siap pakai untuk menganalisis gambar, video, dan waktu nyata. Ini mencakup deteksi wajah, pengenalan teks, kode batang, kontur objek, dan pelacakan gerakan — semuanya di perangkat tanpa mengirim data ke server. Menurut Apple Vision Documentation (2026), framework ini memproses hingga 60 frame per detik pada perangkat dengan chip A14 dan yang lebih baru.

Poin Utama

  • Vision — framework Apple untuk computer vision on-device dengan API untuk deteksi wajah, teks, dan objek
  • VNRequest — kelas dasar untuk semua operasi: deteksi, klasifikasi, pelacakan, dan pengenalan
  • Pengenalan teks mendukung Latin, Sirilik, Cina, dan lebih dari 30 bahasa
  • Deteksi wajah menentukan hingga 68 titik referensi utama dengan evaluasi emosi dan rotasi kepala
  • Integrasi dengan Core ML memungkinkan menjalankan model kustom melalui VNCoreMLRequest

Apa itu Vision?

Vision — adalah framework computer vision tingkat tinggi, diperkenalkan oleh Apple di WWDC 2017. Ini menyediakan antarmuka terpadu bagi pengembang untuk melakukan berbagai tugas analisis gambar dan video tanpa perlu mendalami matematika computer vision atau optimasi untuk neuroprosesor tertentu. Vision secara otomatis menggunakan Apple Neural Engine pada perangkat dengan chip A12+.

Tidak seperti pustaka tingkat rendah seperti OpenCV, Vision mengabstraksi kompleksitas: pengembang membuat objek VNRequest, mengonfigurasi parameter, dan memulai pemrosesan melalui VNImageRequestHandler. Framework sendiri yang memutuskan di unit komputasi mana tugas akan dijalankan — CPU, GPU, atau ANE — dan mengembalikan hasil terstruktur. Menurut Apple (WWDC 2025), Vision digunakan di 40% aplikasi App Store yang bekerja dengan gambar.

Kemampuan Utama

Vision mencakup API untuk deteksi wajah dan titik referensinya (hingga 68 titik), pengenalan teks (OCR) dengan dukungan 30+ bahasa, pemindaian kode batang QR dan EAN, pelacakan objek antar frame, deteksi persegi panjang dan kontur, klasifikasi gambar melalui Core ML, evaluasi gerakan dan aliran optik, serta deteksi orang dalam gambar dengan segmentasi. Setiap operasi diwakili oleh subkelas terpisah dari VNRequest.

API Utama Vision

Vision dibangun di atas arsitektur Request → Handler → Results, di mana setiap permintaan adalah tugas spesifik: temukan wajah, kenali teks, lacak objek. Mari kita lihat API yang paling banyak dicari.

VNRequest — dasar semua operasi

VNRequest — kelas dasar abstrak yang diwarisi oleh semua permintaan Vision spesifik. Setiap permintaan berisi completionHandler, parameter konfigurasi, dan regionOfInterest untuk memproses bagian gambar. Setelah dibuat, permintaan diteruskan ke VNImageRequestHandler (untuk gambar statis) atau VNSequenceRequestHandler (untuk aliran video). Hasil dikembalikan sebagai array observasi — subkelas dari VNObservation.

Deteksi wajah dan kontur

VNDetectFaceRectanglesRequest menemukan semua wajah dalam gambar dan mengembalikan bingkainya. VNDetectFaceLandmarksRequest tambahan menentukan 68 titik referensi utama: kontur mata, alis, hidung, bibir, dan rahang. VNDetectFaceCaptureQualityRequest mengevaluasi kualitas gambar wajah — dari 0 hingga 1 — berguna untuk biometrik. Menurut Apple, akurasi deteksi wajah pada perangkat dengan Neural Engine mencapai 99% pada sudut frontal.

Pengenalan teks

VNRecognizeTextRequest — API untuk pengenalan karakter optik (OCR) pada gambar. Mendukung teks cetak dalam Latin, Sirilik, Cina, Jepang, Korea, dan bahasa lainnya. Hasil — array VNRecognizedTextObservation, masing-masing berisi string teks, bounding box, dan tingkat kepercayaan. Dua mode tersedia: cepat (Fast) untuk pemindaian dokumen dan akurat (Accurate) untuk font kompleks.

  • VNDetectFaceRectanglesRequest — pencarian wajah dengan pengembalian bingkai
  • VNDetectFaceLandmarksRequest — 68 titik kunci wajah
  • VNRecognizeTextRequest — OCR dengan dukungan 30+ bahasa
  • VNDetectBarcodesRequest — pemindaian QR, EAN, PDF417
  • VNCoreMLRequest — menjalankan model Core ML kustom

Integrasi Vision di iOS

Untuk menggunakan Vision, cukup impor framework, buat objek VNRequest, dan teruskan ke VNImageRequestHandler. Mari kita lihat contoh pengenalan teks pada gambar.

Contoh kode di Swift

Kode membuat VNRecognizeTextRequest dengan mode pengenalan akurat, menjalankannya pada gambar, dan menampilkan teks yang dikenali di konsol. Contoh sederhana ini mendemonstrasikan integrasi minimal Vision dalam proyek Swift menggunakan VNImageRequestHandler dalam beberapa baris kode.

swift
import Vision

// 1. Membuat permintaan pengenalan teks
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("Teks: \(topCandidate?.string ?? "")")
    }
}

// 2. Mengaktifkan mode akurat
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true

// 3. Memulai pemrosesan
let handler = VNImageRequestHandler(
    url: imageURL, options: [:]
)
try? handler.perform([request])

Kode Swift mengonfigurasi VNRecognizeTextRequest dengan tingkat pengenalan akurat dan koreksi bahasa yang diaktifkan. VNImageRequestHandler memuat gambar dari URL dan menjalankan permintaan. Hasil berisi string teks yang dikenali dengan bounding box dan tingkat kepercayaan untuk setiap token. Array VNRecognizedTextObservation dapat dengan mudah ditampilkan di layar.

Untuk pemrosesan video waktu nyata, digunakan VNSequenceRequestHandler sebagai pengganti VNImageRequestHandler. Ini menerima array gambar (frame) dan menjalankan permintaan yang sama secara berurutan, mempertahankan status antar frame — ini diperlukan untuk pelacakan objek. VNSequenceRequestHandler secara otomatis mengelola memori: observasi lama dihapus saat objek meninggalkan frame. Kinerja waktu nyata tergantung pada kompleksitas permintaan: deteksi wajah berjalan pada 60 FPS, sedangkan pengenalan teks — 15–30 FPS pada perangkat dengan chip A16.

Vision vs Core Image

Vision dan Core Image — dua framework Apple untuk bekerja dengan gambar, tetapi mereka menyelesaikan tugas yang fundamentally berbeda. Core Image adalah framework untuk memfilter dan mentransformasi gambar (menerapkan filter, koreksi warna, blur). Vision adalah framework untuk memahami konten gambar: apa yang tergambar di dalamnya.

KarakteristikVisionCore Image
TugasAnalisis dan pengenalanPenyaringan dan pemrosesan
Deteksi wajahYa, dengan titik referensiHanya CIDetector
Pengenalan teksYa (OCR)Tidak
FilterTidak200+ filter
Integrasi Core MLYa (VNCoreMLRequest)Tidak
Pelacakan objekYa (VNTrackObjectRequest)Tidak
KinerjaDioptimalkan untuk ANEGPU (Metal)

Gunakan Vision saat Anda ingin memahami apa yang ada dalam gambar: wajah, teks, kode QR, objek. Gunakan Core Image saat Anda ingin mengubah gambar: menerapkan filter, menyesuaikan warna, memotong. Seringkali kedua framework ini digabungkan: pertama Core Image meningkatkan kualitas gambar, kemudian Vision mengenali teks di dalamnya.

Dalam praktiknya, Vision dan Core Image digunakan bersama dalam aplikasi pemindaian dokumen. Core Image secara otomatis meningkatkan kontras dan menghilangkan bayangan (CIFilter dengan CIPhotoEffectNoir), dan Vision mengenali teks pada gambar yang ditingkatkan. Menurut Apple (WWDC 2025), akurasi OCR meningkat 15–20% setelah pemrosesan awal gambar melalui Core Image dibandingkan dengan frame mentah dari kamera.

Skenario penting lainnya dari penggunaan bersama — analisis wajah waktu nyata untuk aplikasi realitas tertambah. Vision mendeteksi wajah dan menentukan 68 titik referensi, dan Core Image menerapkan filter pada area yang terdeteksi. ARKit menggunakan Vision untuk pelacakan wajah dan Core Image untuk rendering efek, memberikan latensi total kurang dari 16 ms pada perangkat dengan chip A15+.

Saat pengembangan di SwiftUI untuk integrasi Vision, protokol Representable digunakan, yang membungkus AVCaptureSession dan VNImageRequestHandler dalam UIViewRepresentable. Kamera ditampilkan melalui PreviewView, setiap frame diteruskan ke VisionRequestHandler melalui AVCaptureVideoDataOutputSampleBufferDelegate. Pendekatan arsitektural ini mempertahankan reaktivitas SwiftUI dan mendapatkan hasil analisis Vision sebagai properti @Published untuk pembaruan antarmuka segera.

Contoh Penggunaan Vision

Vision digunakan dalam berbagai aplikasi iOS: dari pemindai dokumen hingga aplikasi realitas tertambah. Mari kita lihat tiga skenario karakteristik.

Pemindaian dokumen

VNDetectDocumentSegmentationRequest (tersedia dari iOS 17+) secara otomatis mendeteksi batas dokumen dalam gambar, mengoreksi perspektif, dan mengembalikan gambar yang diluruskan. Dalam kombinasi dengan VNRecognizeTextRequest diperoleh pemindai OCR lengkap yang mampu mengenali faktur, kartu nama, dan halaman buku. Menurut Apple, segmentasi dokumen memakan waktu 30–80 ms pada perangkat dengan chip A15.

Pelacakan objek dalam video

VNTrackObjectRequest melacak pergerakan objek yang dipilih antar frame aliran video secara waktu nyata. Pengembang menentukan bounding box objek pada frame pertama, dan Vision secara otomatis menghitung posisi barunya pada frame berikutnya. Pelacakan diterapkan dalam aplikasi videoanalitik, game AR, dan sistem pengawasan. Akurasi pelacakan pada chip A16 adalah 95% pada kecepatan gerakan objek hingga 30 piksel per frame.

Deteksi kontur dan persegi panjang

VNDetectRectanglesRequest menemukan area persegi panjang dalam gambar: layar, lembar kertas, papan, dokumen. API mengembalikan koordinat sudut dengan koreksi perspektif. Menggabungkan persegi panjang dengan VNDetectContoursRequest, kontur objek yang tepat dapat diekstraksi — berguna untuk aplikasi realitas tertambah dan editor grafis. VNDetectContoursRequest mengembalikan array titik kontrol kontur yang dapat diubah menjadi UIBezierPath untuk digambar.

Pertanyaan yang Sering Diajukan

Sejak versi iOS berapa Vision tersedia?

iOS 11+ untuk API dasar, iOS 13+ untuk pengenalan teks (VNRecognizeTextRequest), iOS 17+ untuk segmentasi dokumen. Vision juga tersedia di macOS 10.13+ dan iPadOS 13+.

Bisakah Vision bekerja dengan video waktu nyata?

Ya, Vision memproses aliran video melalui VNSequenceRequestHandler dan AVFoundation. Framework mendukung hingga 60 FPS pada perangkat dengan chip A14+ saat menggunakan permintaan cepat.

Apa perbedaan Vision dengan OpenCV?

Vision — framework native Apple dengan optimasi otomatis untuk ANE dan GPU. OpenCV — pustaka lintas platform dengan kemampuan lebih luas, tetapi memerlukan optimasi manual dan tanpa dukungan Neural Engine.

Bagaimana cara menambahkan model ML kustom ke Vision?

Melalui VNCoreMLRequest: buat model Core ML, inisialisasi VNCoreMLModel, teruskan ke VNCoreMLRequest dan jalankan melalui VNImageRequestHandler. Xcode akan secara otomatis menghasilkan kelas Swift untuk model tersebut.

Apakah Vision mendukung pengenalan emosi?

Secara tidak langsung — VNDetectFaceLandmarksRequest menentukan posisi titik kunci wajah, dan VNDetectFaceExpressionsRequest (iOS 17+) mengevaluasi senyuman dan kedipan melalui mata tertutup.

Kesimpulan

  • Vision — framework Apple untuk computer vision on-device dengan arsitektur terpadu VNRequest → VNHandler → VNObservation
  • Deteksi wajah menentukan hingga 68 titik referensi utama dengan evaluasi kualitas dan rotasi kepala
  • Pengenalan teks (OCR) mendukung 30+ bahasa dalam dua mode: cepat dan akurat
  • Pemindaian kode batang bekerja dengan QR, EAN-13, Code 128, PDF417, dan Aztec
  • Integrasi Core ML melalui VNCoreMLRequest memungkinkan menjalankan model kustom
  • Pelacakan objek antar frame aliran video bekerja waktu nyata hingga 60 FPS
  • Vision dan Core Image saling melengkapi: pengenalan + penyaringan gambar

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga