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 — 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.
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.
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 — 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.
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.
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.
Untuk menggunakan Vision, cukup impor framework, buat objek VNRequest, dan teruskan ke VNImageRequestHandler. Mari kita lihat contoh pengenalan teks pada gambar.
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.
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 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.
| Karakteristik | Vision | Core Image |
|---|---|---|
| Tugas | Analisis dan pengenalan | Penyaringan dan pemrosesan |
| Deteksi wajah | Ya, dengan titik referensi | Hanya CIDetector |
| Pengenalan teks | Ya (OCR) | Tidak |
| Filter | Tidak | 200+ filter |
| Integrasi Core ML | Ya (VNCoreMLRequest) | Tidak |
| Pelacakan objek | Ya (VNTrackObjectRequest) | Tidak |
| Kinerja | Dioptimalkan untuk ANE | GPU (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.
Vision digunakan dalam berbagai aplikasi iOS: dari pemindai dokumen hingga aplikasi realitas tertambah. Mari kita lihat tiga skenario karakteristik.
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.
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.
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
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+.
Ya, Vision memproses aliran video melalui VNSequenceRequestHandler dan AVFoundation. Framework mendukung hingga 60 FPS pada perangkat dengan chip A14+ saat menggunakan permintaan cepat.
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.
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.
Secara tidak langsung — VNDetectFaceLandmarksRequest menentukan posisi titik kunci wajah, dan VNDetectFaceExpressionsRequest (iOS 17+) mengevaluasi senyuman dan kedipan melalui mata tertutup.
Kesimpulan
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.
Baca juga