Vision Apple का कंप्यूटर विज़न फ्रेमवर्क है, जो iOS, macOS और iPadOS में बिल्ट-इन है और इमेज, वीडियो और रीयल-टाइम डेटा के विश्लेषण के लिए तैयार API प्रदान करता है। इसमें फेस डिटेक्शन, टेक्स्ट रिकॉग्निशन, बारकोड, ऑब्जेक्ट कंटूर और मोशन ट्रैकिंग शामिल है — सब कुछ डिवाइस पर ही बिना सर्वर पर डेटा भेजे। 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 का उपयोग इमेज के साथ काम करने वाले 40% App Store एप्लिकेशन में किया जाता है।
Vision में फेस और लैंडमार्क डिटेक्शन (68 पॉइंट तक), टेक्स्ट रिकॉग्निशन (OCR) 30+ भाषाओं के सपोर्ट के साथ, QR और EAN बारकोड स्कैनिंग, फ्रेमों के बीच ऑब्जेक्ट ट्रैकिंग, रेक्टेंगल और कंटूर डिटेक्शन, Core ML के माध्यम से इमेज क्लासिफिकेशन, मोशन एस्टीमेशन और ऑप्टिकल फ्लो, और सेग्मेंटेशन के साथ ह्यूमन डिटेक्शन के लिए API शामिल हैं। प्रत्येक ऑपरेशन को VNRequest के एक अलग सबक्लास द्वारा दर्शाया जाता है।
Vision Request → Handler → Results आर्किटेक्चर पर बनाया गया है, जहाँ प्रत्येक रिक्वेस्ट एक विशिष्ट कार्य है: चेहरे ढूँढना, टेक्स्ट पहचानना, ऑब्जेक्ट ट्रैक करना। आइए सबसे अधिक उपयोग किए जाने वाले API देखें।
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 को एक्यूरेट रिकॉग्निशन मोड के साथ बनाता है, इसे इमेज पर चलाता है और पहचाने गए टेक्स्ट को कंसोल में आउटपुट करता है। यह सरल उदाहरण कोड की कुछ पंक्तियों में VNImageRequestHandler का उपयोग करके Swift प्रोजेक्ट में न्यूनतम 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 ऐरे को स्क्रीन पर आसानी से प्रदर्शित किया जा सकता है।
रीयल-टाइम वीडियो प्रोसेसिंग के लिए, VNImageRequestHandler के बजाय 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 with CIPhotoEffectNoir), जबकि Vision बेहतर इमेज पर टेक्स्ट पहचानता है। Apple (WWDC 2025) के अनुसार, कच्चे कैमरा फ्रेम की तुलना में Core Image के माध्यम से इमेज को प्रीप्रोसेस करने पर OCR सटीकता 15–20% बढ़ जाती है।
संयुक्त उपयोग का एक और महत्वपूर्ण मामला ऑगमेंटेड रियलिटी एप्लिकेशन के लिए रीयल-टाइम फेस विश्लेषण है। Vision चेहरे का पता लगाता है और 68 लैंडमार्क की पहचान करता है, जबकि Core Image पहचाने गए क्षेत्रों पर फ़िल्टर लगाता है। ARKit फेस ट्रैकिंग के लिए Vision और इफ़ेक्ट रेंडरिंग के लिए Core Image का उपयोग करता है, जिसके परिणामस्वरूप A15+ चिप वाले डिवाइसों पर 16 ms से कम की कुल विलंबता होती है।
Vision इंटीग्रेशन के लिए SwiftUI में डेवलप करते समय, Representable प्रोटोकॉल का उपयोग किया जाता है, जो AVCaptureSession और VNImageRequestHandler को UIViewRepresentable में लपेटता है। कैमरा PreviewView के माध्यम से प्रदर्शित होता है, प्रत्येक फ्रेम AVCaptureVideoDataOutputSampleBufferDelegate के माध्यम से VisionRequestHandler को भेजा जाता है। यह आर्किटेक्चरल दृष्टिकोण SwiftUI की रिएक्टिविटी को संरक्षित करता है और तत्काल UI अपडेट के लिए 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+ बेसिक API के लिए, 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 एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें