Vision — Apple کا کمپیوٹر ویژن فریم ورک ہے جو iOS، macOS اور iPadOS میں شامل ہے اور تصاویر، ویڈیو اور ریئل ٹائم تجزیہ کے لیے تیار APIs فراہم کرتا ہے۔ یہ چہرے کی شناخت، متن کی پہچان، بارکوڈز، اشیاء کی شکلیں اور حرکت سے باخبر رہنے کا احاطہ کرتا ہے — یہ سب ڈیوائس پر سرور کو ڈیٹا بھیجے بغیر ہوتا ہے۔ Apple Vision Documentation (2026) کے مطابق، یہ فریم ورک A14 اور نئے چپس والے ڈیوائسز پر 60 فریم فی سیکنڈ تک پروسیس کر سکتا ہے۔
اہم نکات
Vision — ایک اعلیٰ سطح کا کمپیوٹر ویژن فریم ورک ہے جسے Apple نے WWDC 2017 میں متعارف کرایا۔ یہ ڈویلپرز کو کمپیوٹر ویژن کی ریاضی یا مخصوص نیورل پروسیسر کے لیے اصلاح میں پڑے بغیر تصویر اور ویڈیو تجزیہ کے مختلف کاموں کو انجام دینے کے لیے ایک متحد انٹرفیس فراہم کرتا ہے۔ Vision A12+ چپس والے ڈیوائسز پر Apple Neural Engine کو خودکار طور پر استعمال کرتا ہے۔
OpenCV جیسی نچلی سطح کی لائبریریوں کے برعکس، Vision پیچیدگی کو تجریدی شکل دیتا ہے: ڈویلپر VNRequest آبجیکٹ بناتا ہے، پیرامیٹرز ترتیب دیتا ہے اور VNImageRequestHandler کے ذریعے پروسیسنگ شروع کرتا ہے۔ فریم ورک خود فیصلہ کرتا ہے کہ کام کس کمپیوٹر پر انجام دینا ہے — CPU، GPU یا ANE — اور منظم نتیجہ واپس کرتا ہے۔ Apple کے مطابق (WWDC 2025)، Vision App Store کی 40% ایپلیکیشنز میں استعمال ہوتا ہے جو تصاویر کے ساتھ کام کرتی ہیں۔
Vision میں چہروں اور ان کے نکات (68 نکات تک) کی شناخت، 30+ زبانوں کی حمایت کے ساتھ متن کی پہچان (OCR)، QR اور EAN بارکوڈ اسکیننگ، فریموں کے درمیان اشیاء کی پیروی، مستطیل اور شکلوں کا پتہ لگانا، Core ML کے ذریعے تصویر کی درجہ بندی، حرکت اور آپٹیکل فلو کا اندازہ، اور سیگمینٹیشن کے ساتھ تصویر میں انسان کی شناخت کے APIs شامل ہیں۔ ہر کارروائی VNRequest کے ایک علیحدہ ذیلی طبقے سے ظاہر ہوتی ہے۔
Vision Request → Handler → Results فن تعمیر پر مبنی ہے، جہاں ہر درخواست ایک مخصوص کام ہے: چہرے ڈھونڈنا، متن پہچاننا، شے کی پیروی کرنا۔ سب سے زیادہ استعمال ہونے والے APIs کا جائزہ لیتے ہیں۔
VNRequest — ایک تجریدی بنیادی طبقہ ہے جس سے تمام Vision درخواستیں وراثت میں ملتی ہیں۔ ہر درخواست میں completionHandler، ترتیب کے پیرامیٹرز اور تصویر کے حصے کی پروسیسنگ کے لیے regionOfInterest ہوتا ہے۔ درخواست بنانے کے بعد اسے VNImageRequestHandler (جامد تصاویر کے لیے) یا VNSequenceRequestHandler (ویڈیو سٹریم کے لیے) کو بھیجا جاتا ہے۔ نتائج VNObservation کے ذیلی طبقات کی ایک صف کے طور پر واپس کیے جاتے ہیں۔
VNDetectFaceRectanglesRequest تصویر میں تمام چہرے ڈھونڈتا ہے اور ان کی باؤنڈنگ باکسز واپس کرتا ہے۔ VNDetectFaceLandmarksRequest مزید 68 کلیدی نکات کا تعین کرتا ہے: آنکھوں، ابرو، ناک، ہونٹوں اور جبڑے کی شکل۔ VNDetectFaceCaptureQualityRequest چہرے کی تصویر کے معیار کو 0 سے 1 تک جانچتا ہے — بائیو میٹرکس کے لیے مفید۔ Apple کے مطابق، Neural Engine والے ڈیوائسز پر چہرے کی شناخت کی درستگی سامنے کے زاویے سے 99% تک پہنچتی ہے۔
VNRecognizeTextRequest — تصاویر پر آپٹیکل کریکٹر شناخت (OCR) کے لیے API ہے۔ یہ لاطینی، سیریلیک، چینی، جاپانی، کورین اور دیگر زبانوں میں چھپے ہوئے متن کو سپورٹ کرتا ہے۔ نتیجہ — VNRecognizedTextObservation کی ایک صف، جس میں ہر ایک میں متن کی سٹرنگ، باؤنڈنگ باکس اور اعتماد کی سطح ہوتی ہے۔ دو موڈ دستیاب ہیں: دستاویز اسکیننگ کے لیے تیز (Fast) اور پیچیدہ فونٹس کے لیے درست (Accurate)۔
Vision استعمال کرنے کے لیے فریم ورک کو امپورٹ کرنا، VNRequest آبجیکٹ بنانا اور اسے VNImageRequestHandler کو بھیجنا کافی ہے۔ تصویر پر متن کی پہچان کی مثال دیکھتے ہیں۔
کوڈ درست شناخت موڈ کے ساتھ ایک VNRecognizeTextRequest بناتا ہے، اسے تصویر پر چلاتا ہے اور پہچانے گئے متن کو کنسول میں پرنٹ کرتا ہے۔ یہ سادہ مثال Swift پروجیکٹ میں VNImageRequestHandler کے ساتھ Vision کے کم سے کم انضمام کو کوڈ کی چند سطروں میں دکھاتی ہے۔
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 سے لوڈ کرتا ہے اور درخواست کو انجام دیتا ہے۔ نتائج میں ہر ٹوکن کے لیے باؤنڈنگ باکسز اور اعتماد کے اسکور کے ساتھ پہچانی گئی متن کی سٹرنگیں شامل ہیں۔ VNRecognizedTextObservation کی صف اسکرین پر ظاہر کرنے کے لیے موزوں ہے۔
ریئل ٹائم ویڈیو پروسیسنگ کے لیے VNSequenceRequestHandler استعمال کیا جاتا ہے۔ یہ تصاویر (فریموں) کی ایک صف لیتا ہے اور ایک ہی درخواست کو ترتیب وار چلاتا ہے، فریموں کے درمیان حالت برقرار رکھتا ہے — یہ اشیاء کی پیروی کے لیے ضروری ہے۔ VNSequenceRequestHandler میموری کو خود بخود منظم کرتا ہے: جب شے فریم سے نکل جاتی ہے تو پرانے مشاہدات حذف ہو جاتے ہیں۔ ریئل ٹائم کارکردگی درخواست کی پیچیدگی پر منحصر ہے: چہرے کی شناخت 60 FPS پر کام کرتی ہے، جبکہ متن کی پہچان A16 چپ والے ڈیوائسز پر 15–30 FPS پر کام کرتی ہے۔
Vision اور Core Image — تصاویر کے ساتھ کام کرنے کے لیے Apple کے دو فریم ورک ہیں، لیکن یہ بنیادی طور پر مختلف کام حل کرتے ہیں۔ Core Image تصاویر کو فلٹر کرنے اور تبدیل کرنے (فلٹر لگانا، رنگ درست کرنا، دھندلا کرنا) کا فریم ورک ہے۔ Vision تصویر کے مواد کو سمجھنے (تصویر میں کیا ہے) کا فریم ورک ہے۔
| خصوصیت | Vision | Core Image |
|---|---|---|
| کام | تجزیہ اور شناخت | فلٹرنگ اور پروسیسنگ |
| چہرے کی شناخت | ہاں، نکات کے ساتھ | صرف CIDetector |
| متن کی پہچان | ہاں (OCR) | نہیں |
| فلٹرز | نہیں | 200+ فلٹرز |
| Core ML انضمام | ہاں (VNCoreMLRequest) | نہیں |
| اشیاء کی پیروی | ہاں (VNTrackObjectRequest) | نہیں |
| کارکردگی | ANE کے لیے بہتر بنایا گیا | GPU (Metal) |
Vision کا استعمال کریں جب آپ کو یہ سمجھنا ہو کہ تصویر میں کیا ہے: چہرے، متن، QR کوڈز، اشیاء۔ Core Image کا استعمال کریں جب آپ کو تصویر کو تبدیل کرنا ہو: فلٹر لگانا، رنگ ایڈجسٹ کرنا، کراپ کرنا۔ اکثر یہ دونوں فریم ورک مل کر استعمال ہوتے ہیں: پہلے Core Image شوٹ کے معیار کو بہتر بناتا ہے، پھر Vision اس پر متن پہچانتا ہے۔
عملی طور پر Vision اور Core Image دستاویز اسکین کرنے والی ایپلیکیشنز میں ایک ساتھ استعمال ہوتے ہیں۔ Core Image CIFilter اور CIPhotoEffectNoir کے ساتھ خود بخود کنٹراسٹ بڑھاتا ہے اور سائے ہٹاتا ہے، جبکہ Vision بہتر تصویر پر متن پہچانتا ہے۔ Apple کے مطابق (WWDC 2025)، Core Image کے ذریعے پہلے سے پروسیسنگ کرنے پر OCR کی درستگی کیمرے سے خام فریم کے مقابلے میں 15–20% بڑھ جاتی ہے۔
مشترکہ استعمال کا ایک اور اہم منظر نامہ — ریئل ٹائم چہرے کا تجزیہ بڑھی ہوئی حقیقت والی ایپلیکیشنز کے لیے ہے۔ Vision چہرے کا پتہ لگاتا ہے اور 68 نکات کا تعین کرتا ہے، جبکہ Core Image شناخت شدہ علاقوں پر فلٹر لگاتا ہے۔ ARKit چہرے کی پیروی کے لیے Vision اور اثرات پیش کرنے کے لیے Core Image استعمال کرتا ہے، جو A15+ چپس والے ڈیوائسز پر 16 ms سے کم کل تاخیر دیتا ہے۔
SwiftUI میں Vision انضمام کے لیے، Representable پروٹوکول استعمال کیا جاتا ہے جو AVCaptureSession اور VNImageRequestHandler کو UIViewRepresentable میں لپیٹتا ہے۔ کیمرہ PreviewView کے ذریعے دکھایا جاتا ہے، ہر فریم AVCaptureVideoDataOutputSampleBufferDelegate کے ذریعے VisionRequestHandler کو بھیجا جاتا ہے۔ یہ آرکیٹیکچرل نقطہ نظر SwiftUI کی رد عمل کو برقرار رکھتے ہوئے Vision تجزیہ کے نتائج کو انٹرفیس کو فوری اپ ڈیٹ کرنے کے لیے @Published خصوصیات کے طور پر حاصل کرنے کی اجازت دیتا ہے۔
Vision iOS ایپلیکیشنز کی ایک وسیع رینج میں استعمال ہوتا ہے: دستاویز اسکینرز سے لے کر بڑھی ہوئی حقیقت والی ایپلیکیشنز تک۔ تین خصوصیت والے منظر ناموں کا جائزہ لیتے ہیں۔
VNDetectDocumentSegmentationRequest (iOS 17+ سے دستیاب) تصویر میں دستاویز کی حدود کو خود بخود ڈھونڈتا ہے، زاویہ درست کرتا ہے اور سیدھی کی گئی تصویر واپس کرتا ہے۔ VNRecognizeTextRequest کے ساتھ مل کر ایک مکمل OCR اسکینر ملتا ہے جو بلوں، کارڈز اور کتابوں کے صفحات کو پہچان سکتا ہے۔ Apple کے مطابق، A15 چپ والے ڈیوائس پر دستاویز کی سیگمینٹیشن 30–80 ms لیتی ہے۔
VNTrackObjectRequest منتخب شے کی ویڈیو سٹریم کے فریموں کے درمیان ریئل ٹائم میں نقل و حرکت کا پتہ لگاتا ہے۔ ڈویلپر پہلے فریم پر شے کی باؤنڈنگ باکس بتاتا ہے، اور Vision اگلے فریموں پر اس کی نئی پوزیشن خود بخود حساب کرتا ہے۔ پیروی ویڈیو اینالیٹکس ایپلیکیشنز، AR گیمز اور نگرانی کے نظاموں میں استعمال ہوتی ہے۔ A16 چپس پر پیروی کی درستگی 30 پکسلز فی فریم کی شے کی رفتار پر 95% ہے۔
VNDetectRectanglesRequest تصویر میں مستطیل علاقے ڈھونڈتا ہے: اسکرینیں، کاغذ کی شیٹس، بورڈ، دستاویزات۔ API زاویہ کی اصلاح کے ساتھ کونوں کے کوآرڈینیٹ واپس کرتا ہے۔ مستطیلوں کو VNDetectContoursRequest کے ساتھ ملا کر شے کی صحیح شکل نکالی جا سکتی ہے — بڑھی ہوئی حقیقت والی ایپلیکیشنز اور گرافک ایڈیٹرز کے لیے مفید۔ VNDetectContoursRequest کنٹرول پوائنٹس کی ایک صف واپس کرتا ہے جسے ڈرائنگ کے لیے UIBezierPath میں تبدیل کیا جا سکتا ہے۔
اکثر پوچھے جانے والے سوالات
iOS 11+ بنیادی APIs کے لیے، iOS 13+ متن کی پہچان (VNRecognizeTextRequest) کے لیے، iOS 17+ دستاویز سیگمینٹیشن کے لیے۔ Vision macOS 10.13+ اور iPadOS 13+ پر بھی دستیاب ہے۔
ہاں، Vision VNSequenceRequestHandler اور AVFoundation کے ذریعے ویڈیو سٹریم کو پروسیس کرتا ہے۔ فریم ورک تیز درخواستوں کے استعمال پر A14+ چپس والے ڈیوائسز پر 60 FPS تک سپورٹ کرتا ہے۔
Vision — ANE اور GPU کے لیے خودکار اصلاح کے ساتھ Apple کا مقامی فریم ورک ہے۔ OpenCV — وسیع تر صلاحیتوں والی کراس پلیٹ فارم لائبریری ہے لیکن اسے دستی اصلاح کی ضرورت ہے اور Neural Engine کی حمایت نہیں ہے۔
VNCoreMLRequest کے ذریعے: Core ML ماڈل بنائیں، VNCoreMLModel کو انیشی ایلیز کریں، اسے VNCoreMLRequest میں دیں اور VNImageRequestHandler کے ذریعے چلائیں۔ Xcode خود بخود ماڈل کے لیے Swift کلاس جنریٹ کرے گا۔
بالواسطہ طور پر — VNDetectFaceLandmarksRequest چہرے کے کلیدی نکات کی پوزیشن کا تعین کرتا ہے، اور VNDetectFaceExpressionsRequest (iOS 17+) مسکراہٹ اور آنکھ مارنے کا اندازہ لگاتا ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں