ایپس میں Face Detection: یہ کیا ہے، طریقے اور لائبریریاں

مصنف: IT Sectr اشاعت: 2026-07-18 مطالعے کا وقت: 10 منٹ

Face Detection ایک کمپیوٹر وژن ٹیکنالوجی ہے جو ڈیجیٹل تصاویر اور ویڈیو اسٹریمز میں انسانی چہروں کو تلاش کرنے اور مقام معلوم کرنے کے لیے استعمال ہوتی ہے۔ Face Recognition (شخص کی شناخت) کے برعکس، Face Detection صرف چہرے کی موجودگی اور اس کی حدود — bounding box اور keypoints (آنکھیں، ناک، منہ) کا تعین کرتا ہے۔ موبائل ڈویلپمنٹ میں، Face Detection ML Kit، ARKit، Vision Framework اور OpenCV میں استعمال ہوتا ہے۔ Google ML Kit، 2025 کے مطابق، جدید آلات پر 98% درستگی کے ساتھ 5–15 ملی سیکنڈ میں چہرے کا پتہ لگایا جاتا ہے۔

اہم نکات

  • Face Detection — تصویر میں چہرے تلاش کرنا، شخص کی شناخت نہیں
  • Bounding box — چہرے کے گرد x, y, w, h کوآرڈینیٹ کے ساتھ مستطیل
  • Keypoints — چہرے کے اہم نکات: آنکھیں، ناک، منہ، کان (ML Kit میں 468 نکات)
  • آن ڈیوائس — پتہ لگانا سرور کے بغیر ڈیوائس پر مقامی طور پر چلتا ہے
  • ریئل ٹائم — HD ویڈیو کے لیے جدید سمارٹ فونز پر 30+ FPS

Face Detection کیا ہے: اصول اور الگورتھم

Face Detection کمپیوٹر وژن کا ایک کام ہے جو تصویر میں انسانی چہروں کی موجودگی اور مقام کا پتہ لگاتا ہے۔ الگورتھم ایک bounding box (چہرے کے گرد مستطیل) اور confidence score (چہرہ ہونے کا امکان) لوٹاتا ہے۔ جدید الگورتھم facial landmarks بھی لوٹاتے ہیں — اہم نکات (آنکھیں، ابرو، ناک، منہ، چہرے کا کنٹور)۔ Face Detection بہت سے ML کاموں کے لیے پہلا قدم ہے: شخص کی شناخت، AR فلٹرز، توجہ کا تجزیہ۔

الگورتھم کی تاریخ Viola-Jones (2001) سے شروع ہوئی — CPU پر Haar جیسی خصوصیات کا جھرن۔ 2010 کی دہائی میں HOG + SVM (Histogram of Oriented Gradients) کا غلبہ تھا۔ 2016 سے، تمام جدید الگورتھم convolutional neural networks (CNN) پر مبنی ہیں: MTCNN، RetinaFace، SSH، MobileNet-SSD، YOLO-Face۔ GPU پر CNN الگورتھم 95–99% درستگی دیتے ہیں جبکہ کلاسک طریقے 85–90% دیتے ہیں۔ WiderFace بینچ مارک (2025) کے مطابق، RetinaFace سب سے مشکل ذیلی سیٹ پر 96.3% mAP حاصل کرتا ہے۔

MTCNN (Multi-Task Cascaded CNN) ایک کلاسک تین مرحلہ ڈیٹیکٹر ہے: P-Net (Proposal Network) امیدوار تلاش کرتا ہے، R-Net (Refine Network) انہیں فلٹر کرتا ہے، O-Net (Output Network) bounding box کو بہتر بناتا ہے اور landmarks نکالتا ہے۔ MTCNN 640x480 ریزولوشن پر CPU پر 30–50 ملی سیکنڈ فی فریم چلتا ہے۔ موبائل آلات کے لیے، MTCNN GPU کے بغیر رفتار اور درستگی کا بہترین توازن فراہم کرتا ہے۔

الگورتھمدرستگی (WiderFace)رفتار (640x480)پلیٹ فارم
RetinaFace96.3%15 ms (GPU)Android، iOS
MTCNN91.2%30–50 ms (CPU)کراس پلیٹ فارم
ML Kit98.0%5–15 ms (GPU/NPU)Android، iOS
OpenCV Haar82.5%5–10 ms (CPU)کراس پلیٹ فارم

ریئل ٹائم Face Detection کے لیے ویڈیو کے لیے 30+ FPS درکار ہے۔ یہ NPU (Neural Processing Unit) — Qualcomm Hexagon، Apple Neural Engine، MediaTek APU کی بدولت جدید سمارٹ فونز پر ممکن ہے۔ NPU 50–100 mW بجلی کی کھپت کے ساتھ 2–5 ms میں پتہ لگاتا ہے، جبکہ GPU 500–2000 mW کھپت کرتا ہے۔ مسلسل پتہ لگانے (کیمرہ ہمیشہ آن) کے لیے، ڈیوائس کے زیادہ گرم ہوئے بغیر NPU واحد عملی آپشن ہے۔

Android اور iOS پر ML Kit Face Detection

ML Kit Face Detection موبائل آلات پر چہرے کا پتہ لگانے کے لیے سب سے مشہور SDK ہے۔ ML Kit دو موڈ فراہم کرتا ہے: کنٹور موڈ (عین مطابق ماسک اوورلے کے لیے 468 چہرے کے کنٹور نکات) اور درجہ بندی موڈ (جذبات کا پتہ لگانا: مسکراہٹ، آنکھیں کھلی، منہ کھلا)۔ موڈز FaceDetectorOptions میں مل جاتے ہیں۔ ML Kit NNAPI/GPU Delegate کے ذریعے اصلاح کے ساتھ Google کے MobileNetV2-SSD نیورل نیٹ ورک کا استعمال کرتا ہے۔

ML Kit Face Detection کنفیگریشن: setPerformanceMode(FACE_DETECTION_FAST / ACCURATE)، setLandmarkMode (اہم نکات)، setContourMode (کنٹور نکات)، setClassificationMode (جذبات)۔ زیادہ سے زیادہ رفتار کے لیے FAST + LANDMARKS_ONLY + بغیر کنٹور استعمال کریں۔ AR فلٹرز کے لیے — ACCURATE + ALL_CONTOURS۔ Google (2025) کے مطابق، FAST موڈ 5 ms پر 98% درستگی، ACCURATE — 15 ms پر 99% درستگی دیتا ہے۔

kotlin
// ML Kit Face Detection with contours
val options = FaceDetectorOptions.Builder()
    .setContourMode(FaceDetectorOptions.ContourMode.ALL)
    .setClassificationMode(FaceDetectorOptions.ClassificationMode.ALL)
    .setPerformanceMode(FaceDetectorOptions.PerformanceMode.FAST)
    .enableTracking()
    .build()
val detector = FaceDetection.getClient(options)

detector.process(inputImage)
    .addOnSuccessListener { faces ->
        faces.forEach { face ->
            val trackingId = face.trackingId
            val smile = face.smilingProbability
            val leftEyeOpen = face.leftEyeOpenProbability
        }
    }

ML Kit میں Face Tracking — ویڈیو اسٹریمز کے لیے ایک منفرد خصوصیت۔ ہر دریافت شدہ چہرے کو ایک tracking ID (عدد صحیح) تفویض کی جاتی ہے جو فریموں کے درمیان برقرار رہتی ہے۔ یہ دوبارہ پتہ لگائے بغیر کسی مخصوص چہرے سے AR اشیاء منسلک کرنے کی اجازت دیتا ہے۔ ٹریکر Optical Flow استعمال کرتا ہے اور جزوی چہرے کے چھپنے پر بھی ID برقرار رکھتا ہے۔ جب چہرہ 1 سیکنڈ سے زیادہ فریم سے باہر ہوتا ہے تو tracking ID ری سیٹ ہو جاتی ہے۔

Apple Vision Framework: VNDetectFaceRectanglesRequest

Apple Vision Framework iOS کے لیے ایک مقامی فریم ورک ہے جو Apple Neural Engine پر Core ML کے ذریعے Face Detection کے لیے کام کرتا ہے۔ Vision فراہم کرتا ہے: VNDetectFaceRectanglesRequest (صرف bounding box) اور VNDetectFaceLandmarksRequest (کنٹور نکات کے ساتھ)۔ Vision Framework iOS 11 سے iOS میں شامل ہے اور اسے اضافی SDK کی ضرورت نہیں — یہ Foundation کا حصہ ہے۔

Vision Framework کے فوائد: تیسرے فریق کی لائبریریوں پر صفر انحصار، A12+ چپس پر Apple Neural Engine (ANE) کے ذریعے کام، exifOrientation کے ذریعے خودکار تصویر واقفیت ہینڈلنگ، رفتار/درستگی ایڈجسٹمنٹ کے لیے CIDetectorAccuracy سپورٹ۔ Vision VNFaceObservation کو bounding box (معمول کے کوآرڈینیٹ 0..1) اور landmarks (VNFaceLandmarkRegion2D) کے ساتھ لوٹاتا ہے۔

iOS پر Vision بمقابلہ ML Kit: Vision پرانے آلات (A12–A15) پر تیز ہے کیونکہ یہ مقامی Apple نیورل انجن استعمال کرتا ہے۔ ML Kit Google ماڈل استعمال کرتا ہے اور پیچیدہ زاویوں (پروفائل، شدید جھکاؤ) پر زیادہ درست ہو سکتا ہے۔ سادہ پتہ لگانے (کیمرہ، تصاویر) کے لیے — Vision استعمال کریں۔ AR فلٹرز اور کنٹور ماسک کے لیے — ML Kit استعمال کریں (Vision میں 76 نکات کے مقابلے 468 نکات)۔

swift
import Vision

let request = VNDetectFaceRectanglesRequest { request, error in
    guard let observations = request.results as? [VNFaceObservation] else { return }
    for face in observations {
        let rect = face.boundingBox // normalized 0..1
        let confidence = face.confidence
    }
}

let handler = VNImageRequestHandler(
    cgImage: cgImage, orientation: .up, options: [:]
)
try handler.perform([request])

VNDetectFaceLandmarksRequest اہم نکات کے لیے توسیعی ورژن ہے۔ ہر پوائنٹ گروپ (leftEye، rightEye، nose، faceContour، innerLips، outerLips) کے لیے VNFaceLandmarkRegion2D لوٹاتا ہے۔ ہر گروپ CGPoint (معمول شدہ) کی ایک صف ہے۔ Vision ML Kit کی طرح 468 نکات نہیں لوٹاتا — صرف 76 اہم نکات۔ عین مطابق چہرے کے ماسک کے لیے، ML Kit بہتر ہے؛ بنیادی پتہ لگانے کے لیے، Vision کافی ہے۔

OpenCV Haar Cascade: کلاسک طریقہ

OpenCV Haar Cascade Haar جیسی خصوصیات (Viola-Jones، 2001) کے جھرن پر مبنی ایک کلاسک Face Detection الگورتھم ہے۔ عمر کے باوجود، Haar Cascade اب بھی محدود وسائل والے منصوبوں میں استعمال ہوتا ہے: Raspberry Pi، IoT آلات، ایمبیڈڈ سسٹم۔ الگورتھم کو GPU یا NPU کی ضرورت نہیں — یہ VGA ریزولوشن فریم پر کسی بھی CPU پر 5–15 ms فی فریم چلتا ہے۔

LBP Cascade (Local Binary Patterns) OpenCV میں Haar Cascade کا ایک متبادل ہے۔ LBP تیز (2–5 ms) اور روشنی کے لیے کم حساس ہے، لیکن زیادہ غلط مثبت نتائج پیدا کرتا ہے۔ Haar زیادہ درست (LBP کے 80–85% کے مقابلے 85–90%) ہے، لیکن چمک اور سایہ کے لیے حساس ہے۔ موبائل ایپس کے لیے، OpenCV Face Detection درستگی میں نیورل نیٹ ورک طریقوں سے کمتر ہے، لیکن مطابقت میں جیتتا ہے — یہ کسی بھی ڈیوائس پر کام کرتا ہے۔

kotlin
// OpenCV Face Detection via CascadeClassifier
val cascadeFile = File(context.filesDir, "haarcascade_frontalface_default.xml")
val faceDetector = CascadeClassifier(cascadeFile.absolutePath)

val gray = Mat()
Imgproc.cvtColor(colorFrame, gray, Imgproc.COLOR_RGBA2GRAY)
val faces = MatOfRect()
faceDetector.detectMultiScale(gray, faces)

faces.toList().forEach { rect ->
    // rect = face bounding box
}

OpenCV کی حدود: اعلی غلط مثبت شرح (15% تک)، پروفائل زاویوں پر خراب کارکردگی (>30° — درستگی 50% تک گر جاتی ہے)، اضافی ماڈل کے بغیر landmarks نہیں، فریموں کے درمیان کوئی ٹریکنگ نہیں۔ جدید موبائل ایپس کے لیے، OpenCV Face Detection Google Play Services (Huawei، Amazon Fire) کے بغیر آلات کے لیے فال بیک کے طور پر کام کرتا ہے۔ اہم منظرناموں کے لیے — ML Kit یا Vision استعمال کریں۔

Face Detection بمقابلہ Face Recognition: فرق

Face Detection — تصویر میں چہرے کی موجودگی اور مقام کا تعین۔ نتیجہ: bounding box اور اہم نکات۔ Face Recognition — کسی شخص کی اس کے چہرے سے شناخت: یہ تعین کرنا کہ یہ چہرہ کسی مخصوص فرد کا ہے۔ Face Recognition embeddings (ایک عددی ویکٹر جو چہرے کی نمائندگی کرتا ہے) استعمال کرتا ہے اور ان کا معلوم چہروں کے ڈیٹا بیس سے موازنہ کرتا ہے۔ Face Recognition کے لیے Face Detection ایک لازمی پہلا قدم ہے۔

Face Recognition ٹیکنالوجیز: FaceNet (Google، 2015) — 128–512 فلوٹ ویلیو embeddings کی تربیت کے لیے triplet loss، ArcFace (2019) — additive angular margin loss، بہترین درستگی (LFW پر 99.83%)۔ موبائل ایپس کے لیے، Face Recognition کو حسب ضرورت TFLite ماڈل کی ضرورت ہے — ML Kit شناخت کے لیے تیار API فراہم نہیں کرتا (صرف پتہ لگانا)۔

موبائل آلات پر رازداری: Face Detection محفوظ ہے — یہ صارف کا ڈیٹا ذخیرہ نہیں کرتا۔ Face Recognition کو موازنہ کے لیے embeddings یا تصاویر ذخیرہ کرنے کی ضرورت ہے۔ Apple کو Face Recognition کے لیے واضح صارف کی رضامندی درکار ہے اور اشتہارات کے لیے اس کے استعمال پر پابندی ہے۔ Google ML Kit جان بوجھ کر Face Recognition شامل نہیں کرتا تاکہ رازداری کے خطرات سے بچا جا سکے۔ شناخت کے بغیر پتہ لگانے کے لیے — کوئی پابندیاں نہیں ہیں۔

خصوصیتFace DetectionFace Recognition
نتیجہتصویر میں چہرہ کہاں ہےچہرہ کس کا ہے
الگورتھمMTCNN، RetinaFace، ML KitFaceNet، ArcFace، DeepFace
ذخیرہضرورت نہیںایمبیڈنگ ڈیٹا بیس
رازداریکم خطرہGDPR، CCPA پابندیاں

Face Liveness Detection — اس بات کو یقینی بنانے کے لیے ایک اضافی جانچ کہ چہرہ حقیقی ہے (تصویر/ویڈیو نہیں)۔ آنکھوں کی حرکت کا تجزیہ (blink detection)، مائیکرو ایکسپریشنز، ڈیپتھ میپ (3D کیمرہ) استعمال کرتا ہے۔ Liveness Detection بینکاری اور ادائیگی کی ایپلی کیشنز کے لیے لازمی ہے۔ ML Kit میں بلٹ ان liveness نہیں ہے — تصدیق کے لیے حسب ضرورت ماڈل یا Google Play Integrity API استعمال کریں۔

موبائل ایپس میں Face Detection کے استعمال

AR فلٹرز اور ماسک — Face Detection کا سب سے مشہور استعمال۔ چہرے کے کنٹور نکات (468 نکات) کی بنیاد پر، 3D ماسک، ٹوپیاں، چشمے، مونچھیں اوورلے کی جاتی ہیں۔ ML Kit Face Detection + SceneKit (iOS) یا Filament (Android) ریئل ٹائم AR تجربہ تخلیق کرتا ہے۔ Snapchat اور Instagram MobileNet + MTCNN پر مبنی اپنے ڈیٹیکٹر استعمال کرتے ہیں۔ حسب ضرورت AR فلٹرز کے لیے، ML Kit اور 3D انجن کافی ہے۔

فوٹو ایڈیٹرز اور ری ٹچ — Face Detection خودکار اصلاح کے لیے چہرے کے علاقے کی نشاندہی کرتا ہے: جلد کے رنگ کا توازن، خامیاں ہٹانا، آنکھوں اور دانتوں میں بہتری۔ OpenCV + ML Kit Face Detection Selective Gaussian Blur (جلد کی ہمواری) اور آنکھوں کے کنٹراسٹ کے لیے کوآرڈینیٹ فراہم کرتا ہے۔ حقیقی ایپلی کیشنز — Facetune، BeautyPlus، YouCam Makeup۔

توجہ کی نگرانی — نظر کی سمت کا تعین (gaze detection)۔ Face Detection bounding box اور آنکھوں کے landmarks لوٹاتا ہے۔ آنکھ کے نسبت پتلی کی پوزیشن سے تعین ہوتا ہے کہ صارف کہاں دیکھ رہا ہے: اسکرین پر، بائیں، دائیں، اوپر۔ ای لرننگ (طالب علم لیکچر دیکھ رہا ہے یا نہیں اس کی نگرانی)، اشتہارات (توجہ کے میٹرکس)، ڈرائیور اسسٹنٹ (تھکاوٹ کی نگرانی) میں استعمال ہوتا ہے۔

swift
// ARKit + Vision for AR filter
let faceLandmarksRequest = VNDetectFaceLandmarksRequest { req, _ in
    guard let face = req.results?.first as? VNFaceObservation else { return }
    if let leftEye = face.landmarks?.leftEye {
        // AR object overlay on left eye
    }
}

let handler = VNSequenceRequestHandler()
for pixelBuffer in videoStream {
    try handler.perform([faceLandmarksRequest], on: pixelBuffer)
}

طب اور تندرستی — Face Detection چہرے کی غیر متناسبیت کے تجزیہ (اعصابی عوارض کی تشخیص)، جلد کی مائیکرو وائبریشن سے نبض کا تخمینہ (کیمرے کے ذریعے فوٹوپلیتھیسموگرافی)، جلد کی نمی کے تعین کے لیے استعمال ہوتا ہے۔ ML Kit Face Detection + OpenCV طبی سرٹیفیکیشن کے بغیر ابتدائی اسکریننگ کے لیے کافی درستگی فراہم کرتے ہیں۔ پروڈکشن طب کے لیے، FDA/CE سرٹیفیکیشن درکار ہے۔

اکثر پوچھے گئے سوالات

Face Detection اور Face Recognition میں کیا فرق ہے؟

Face Detection — تصویر میں چہرہ ڈھونڈتا ہے اور اس کی حدود (مستطیل کوآرڈینیٹ) لوٹاتا ہے۔ Face Recognition — معلوم چہروں کے ڈیٹا بیس سے موازنہ کرکے تعین کرتا ہے کہ چہرہ کس کا ہے۔ پتہ لگانا شناخت کا پہلا قدم ہے۔ ML Kit اور Vision Framework صرف Face Detection فراہم کرتے ہیں۔ شناخت کے لیے، آپ کو ڈیوائس پر حسب ضرورت TFLite ماڈل (FaceNet، ArcFace) + ایمبیڈنگ ڈیٹا بیس کی ضرورت ہے۔

موبائل آلات پر سب سے تیز Face Detection SDK کون سا ہے؟

ML Kit Face Detection NNAPI/GPU Delegate کی بدولت جدید آلات پر سب سے تیز ہے (5–15 ms فی فریم)۔ Apple Vision Framework iOS پر تیز ہے (A12+ ANE کے ذریعے) — 3–10 ms۔ OpenCV Haar Cascade — CPU پر 5–10 ms، لیکن کم درستگی (ML Kit کے 98% کے مقابلے 82%)۔ NPU والے آلات (Snapdragon 8 Gen 3، Apple A17 Pro) پر ML Kit اور Vision 2–5 ms میں پتہ لگاتے ہیں۔

کیا Face Detection گہرے چشمے یا ماسک کے ساتھ کام کرتا ہے؟

ML Kit اور Vision Framework چشموں (گہرے رنگ سمیت) اور طبی ماسک کے ساتھ صحیح کام کرتے ہیں۔ ماسک کے ساتھ پتہ لگانے کی درستگی 98% سے 90–92% تک گر جاتی ہے، لیکن چہرہ اب بھی اوپری حصے (آنکھیں، ابرو، پیشانی) سے پتہ چل جاتا ہے۔ کنٹور نکات (چہرے کا کنٹور) کم درست ہو جاتے ہیں — ماسک کے لیے کنٹور کے بغیر صرف درجہ بندی موڈ (مسکراہٹ، آنکھیں کھلی) استعمال کریں۔

کیا Face Detection ریئل ٹائم میں استعمال کیا جا سکتا ہے؟

ہاں، ریئل ٹائم Face Detection تمام جدید SDKs میں معاون ہے۔ ML Kit — CameraX Analyzer کے ذریعے 480p پر 60 FPS تک۔ Apple Vision — AVFoundation کے ذریعے iOS پر 30 FPS تک۔ ریئل ٹائم کے لیے FAST موڈ استعمال کریں، ریزولوشن 480p تک کم کریں، اور ہر فریم کو دوبارہ ڈیٹیکٹ کیے بغیر فریموں کے درمیان ID برقرار رکھنے کے لیے face tracking (ML Kit) فعال کریں۔

کیا ڈیوائس پر Face Detection کے لیے انٹرنیٹ ضروری ہے؟

نہیں، تمام جدید موبائل Face Detection SDKs مکمل طور پر آن ڈیوائس کام کرتے ہیں۔ ML Kit پہلے لانچ پر Google Play Services کے ذریعے ماڈل ڈاؤن لوڈ کرتا ہے (اگر ڈاؤن لوڈ موڈ منتخب ہو)، جس کے بعد آف لائن کام کرتا ہے۔ Apple Vision Framework — iOS میں شامل، انٹرنیٹ کی ضرورت نہیں۔ OpenCV — مکمل طور پر آف لائن۔ کلاؤڈ APIs (Google Cloud Vision، AWS Rekognition) کے لیے انٹرنیٹ ضروری ہے، لیکن وہ ریئل ٹائم پتہ لگانے کے لیے موبائل ایپس میں استعمال نہیں ہوتے۔

خلاصہ

  • Face Detection — تصویر میں چہرے تلاش کرنا: bounding box اور اہم نکات
  • ML Kit — 5–15 ms، 98% درستگی، 468 کنٹور نکات، ٹریکنگ ID
  • Apple Vision — مقامی iOS، ANE کے ذریعے، 3–10 ms، 76 landmarks
  • OpenCV Haar — کلاسک طریقہ، CPU، 82% درستگی، پرانے آلات کے لیے فال بیک
  • Face Detection ≠ Face Recognition — پتہ لگانا شخص کی شناخت نہیں کرتا
  • ریئل ٹائم — NPU کے ذریعے جدید آلات پر 60 FPS تک
  • استعمال — AR فلٹرز، ری ٹچ، توجہ کی نگرانی، طب

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں