AI-For-Beginners/translations/ur/lessons/4-ComputerVision/11-ObjectDetection/README.md

16 KiB
Raw Blame History

آبجیکٹ ڈیٹیکشن

اب تک ہم نے جو امیج کلاسیفیکیشن ماڈلز دیکھے ہیں، وہ ایک تصویر لیتے ہیں اور ایک کیٹیگری کا نتیجہ دیتے ہیں، جیسے MNIST مسئلے میں کلاس 'نمبر'۔ لیکن اکثر ہمیں صرف یہ جاننا نہیں ہوتا کہ تصویر میں اشیاء موجود ہیں - بلکہ ہم ان کی صحیح جگہ کا تعین کرنا چاہتے ہیں۔ یہی آبجیکٹ ڈیٹیکشن کا مقصد ہے۔

پری لیکچر کوئز

آبجیکٹ ڈیٹیکشن

تصویر YOLO v2 ویب سائٹ سے لی گئی ہے۔

آبجیکٹ ڈیٹیکشن کے لیے ایک سادہ طریقہ

فرض کریں کہ ہم تصویر میں ایک بلی کو تلاش کرنا چاہتے ہیں، تو آبجیکٹ ڈیٹیکشن کے لیے ایک بہت سادہ طریقہ یہ ہوگا:

  1. تصویر کو کئی چھوٹے حصوں میں تقسیم کریں۔
  2. ہر حصے پر امیج کلاسیفیکیشن چلائیں۔
  3. وہ حصے جن میں کافی زیادہ ایکٹیویشن ہو، انہیں مطلوبہ آبجیکٹ کے حامل سمجھا جا سکتا ہے۔

سادہ آبجیکٹ ڈیٹیکشن

تصویر ایکسسرس نوٹ بک سے لی گئی ہے۔

لیکن یہ طریقہ مثالی نہیں ہے، کیونکہ یہ الگورتھم کو آبجیکٹ کے باؤنڈنگ باکس کو بہت غیر واضح طریقے سے تلاش کرنے کی اجازت دیتا ہے۔ زیادہ درست مقام کے لیے ہمیں ریگریشن کا استعمال کرنا ہوگا تاکہ باؤنڈنگ باکس کے کوآرڈینیٹس کی پیش گوئی کی جا سکے - اور اس کے لیے مخصوص ڈیٹاسیٹس کی ضرورت ہوتی ہے۔

آبجیکٹ ڈیٹیکشن کے لیے ریگریشن

یہ بلاگ پوسٹ شکلوں کی شناخت کے لیے ایک بہترین تعارف فراہم کرتی ہے۔

آبجیکٹ ڈیٹیکشن کے لیے ڈیٹاسیٹس

آپ اس کام کے لیے درج ذیل ڈیٹاسیٹس دیکھ سکتے ہیں:

  • PASCAL VOC - 20 کلاسز
  • COCO - عام اشیاء کے سیاق و سباق میں۔ 80 کلاسز، باؤنڈنگ باکسز اور سیگمنٹیشن ماسکس

COCO

آبجیکٹ ڈیٹیکشن میٹرکس

انٹرسیکشن اوور یونین

امیج کلاسیفیکیشن کے لیے الگورتھم کی کارکردگی کو جانچنا آسان ہے، لیکن آبجیکٹ ڈیٹیکشن کے لیے ہمیں کلاس کی درستگی کے ساتھ ساتھ باؤنڈنگ باکس کے مقام کی درستگی کو بھی جانچنا ہوتا ہے۔ اس کے لیے ہم انٹرسیکشن اوور یونین (IoU) استعمال کرتے ہیں، جو دو باکسز (یا دو کسی بھی علاقے) کے اوورلیپ کو ماپتا ہے۔

IoU

تصویر 2 اس بہترین بلاگ پوسٹ سے لی گئی ہے۔

خیال سادہ ہے - ہم دو شکلوں کے درمیان انٹرسیکشن کے علاقے کو ان کے یونین کے علاقے سے تقسیم کرتے ہیں۔ دو ایک جیسے علاقوں کے لیے IoU 1 ہوگا، جبکہ مکمل طور پر الگ علاقوں کے لیے یہ 0 ہوگا۔ ورنہ یہ 0 سے 1 کے درمیان ہوگا۔ ہم عام طور پر صرف ان باؤنڈنگ باکسز کو دیکھتے ہیں جن کے IoU ایک خاص قدر سے زیادہ ہو۔

ایوریج پریسیژن

فرض کریں کہ ہم کسی دی گئی کلاس C کی اشیاء کو پہچاننے کی کارکردگی کو ماپنا چاہتے ہیں۔ اس کے لیے ہم ایوریج پریسیژن میٹرکس استعمال کرتے ہیں، جو اس طرح سے حساب کی جاتی ہے:

  1. پریسیژن-ریکال گراف دکھاتا ہے کہ ڈیٹیکشن تھریشولڈ ویلیو (0 سے 1 تک) کے مطابق درستگی کیسے تبدیل ہوتی ہے۔
  2. تھریشولڈ کے مطابق، ہمیں تصویر میں زیادہ یا کم اشیاء ملیں گی، اور پریسیژن اور ریکال کی مختلف قدریں۔
  3. گراف کچھ اس طرح نظر آئے گا:

تصویر NeuroWorkshop سے لی گئی ہے۔

دی گئی کلاس C کے لیے ایوریج پریسیژن اس گراف کے نیچے کے علاقے کے برابر ہے۔ زیادہ تفصیل سے، ریکال محور کو عام طور پر 10 حصوں میں تقسیم کیا جاتا ہے، اور پریسیژن ان تمام پوائنٹس پر اوسط کی جاتی ہے:


AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})

AP اور IoU

ہم صرف ان ڈیٹیکشنز کو دیکھیں گے جن کے IoU ایک خاص قدر سے زیادہ ہو۔ مثال کے طور پر، PASCAL VOC ڈیٹاسیٹ میں عام طور پر \mbox{IoU Threshold} = 0.5 فرض کیا جاتا ہے، جبکہ COCO میں AP مختلف \mbox{IoU Threshold} قدروں کے لیے ماپا جاتا ہے۔

تصویر NeuroWorkshop سے لی گئی ہے۔

مین ایوریج پریسیژن - mAP

آبجیکٹ ڈیٹیکشن کے لیے اہم میٹرک مین ایوریج پریسیژن یا mAP کہلاتا ہے۔ یہ ایوریج پریسیژن کی قدر ہے، جو تمام آبجیکٹ کلاسز پر اوسط کی جاتی ہے، اور کبھی کبھار \mbox{IoU Threshold} پر بھی۔ زیادہ تفصیل سے، mAP کا حساب لگانے کا عمل اس بلاگ پوسٹ میں بیان کیا گیا ہے، اور یہاں کوڈ کے نمونوں کے ساتھ بھی۔

مختلف آبجیکٹ ڈیٹیکشن کے طریقے

آبجیکٹ ڈیٹیکشن الگورتھمز کی دو بڑی اقسام ہیں:

  • ریجن پروپوزل نیٹ ورکس (R-CNN، فاسٹ R-CNN، فاسٹر R-CNN)۔ بنیادی خیال یہ ہے کہ ریجنز آف انٹرسٹ (ROI) بنائیں اور ان پر CNN چلائیں، زیادہ سے زیادہ ایکٹیویشن تلاش کرنے کے لیے۔ یہ سادہ طریقے سے ملتا جلتا ہے، سوائے اس کے کہ ROI زیادہ ذہین طریقے سے بنائے جاتے ہیں۔ ایسے طریقوں کا ایک بڑا نقصان یہ ہے کہ یہ سست ہوتے ہیں، کیونکہ ہمیں تصویر پر CNN کلاسیفائر کے کئی پاسز کی ضرورت ہوتی ہے۔
  • ون پاس (YOLO، SSD، RetinaNet) طریقے۔ ان آرکیٹیکچرز میں ہم نیٹ ورک کو ایک ہی پاس میں کلاسز اور ROI کی پیش گوئی کے لیے ڈیزائن کرتے ہیں۔

R-CNN: ریجن بیسڈ CNN

R-CNN سیلیکٹیو سرچ استعمال کرتا ہے تاکہ ROI ریجنز کی ہائیرارکل ساخت بنائی جا سکے، جنہیں پھر CNN فیچر ایکسٹریکٹرز اور SVM کلاسیفائرز کے ذریعے آبجیکٹ کلاس کا تعین کرنے کے لیے پاس کیا جاتا ہے، اور باؤنڈنگ باکس کے کوآرڈینیٹس کا تعین کرنے کے لیے لینیئر ریگریشن۔ آفیشل پیپر

RCNN

تصویر van de Sande et al. ICCV11 سے لی گئی ہے۔

RCNN-1

تصاویر اس بلاگ سے لی گئی ہیں۔

F-RCNN - فاسٹ R-CNN

یہ طریقہ R-CNN سے ملتا جلتا ہے، لیکن ریجنز کنوولوشن لیئرز کے بعد ڈیفائن کیے جاتے ہیں۔

FRCNN

تصویر آفیشل پیپر، arXiv، 2015 سے لی گئی ہے۔

فاسٹر R-CNN

اس طریقے کا بنیادی خیال یہ ہے کہ ریجنز کی پیش گوئی کے لیے نیورل نیٹ ورک استعمال کیا جائے - جسے ریجن پروپوزل نیٹ ورک کہا جاتا ہے۔ پیپر، 2016

FasterRCNN

تصویر آفیشل پیپر سے لی گئی ہے۔

R-FCN: ریجن بیسڈ فل کنوولوشنل نیٹ ورک

یہ الگورتھم فاسٹر R-CNN سے بھی زیادہ تیز ہے۔ بنیادی خیال یہ ہے:

  1. ہم ResNet-101 استعمال کرتے ہوئے فیچرز نکالتے ہیں۔
  2. فیچرز پوزیشن سینسیٹو اسکور میپ کے ذریعے پروسیس کیے جاتے ہیں۔ C کلاسز کی ہر آبجیکٹ کو k\times k ریجنز میں تقسیم کیا جاتا ہے، اور ہم آبجیکٹس کے حصے کی پیش گوئی کرنے کی تربیت دیتے ہیں۔
  3. k\times k ریجنز کے ہر حصے کے لیے تمام نیٹ ورکس آبجیکٹ کلاسز کے لیے ووٹ دیتے ہیں، اور زیادہ سے زیادہ ووٹ کے ساتھ آبجیکٹ کلاس منتخب کی جاتی ہے۔

r-fcn image

تصویر آفیشل پیپر سے لی گئی ہے۔

YOLO - یو اونلی لک ونس

YOLO ایک ریئل ٹائم ون پاس الگورتھم ہے۔ بنیادی خیال یہ ہے:

  • تصویر کو S\times S ریجنز میں تقسیم کیا جاتا ہے۔
  • ہر ریجن کے لیے، CNN n ممکنہ آبجیکٹس، باؤنڈنگ باکس کے کوآرڈینیٹس اور کانفیڈنس=پروببلیٹی * IoU کی پیش گوئی کرتا ہے۔

YOLO

تصویر آفیشل پیپر سے لی گئی ہے۔

دیگر الگورتھمز

✍️ مشقیں: آبجیکٹ ڈیٹیکشن

اپنی تعلیم کو درج ذیل نوٹ بک میں جاری رکھیں:

ObjectDetection.ipynb

نتیجہ

اس سبق میں آپ نے آبجیکٹ ڈیٹیکشن کے مختلف طریقوں کا ایک مختصر جائزہ لیا!

🚀 چیلنج

ان مضامین اور نوٹ بکس کو پڑھیں جو YOLO کے بارے میں ہیں اور انہیں خود آزمائیں:

پوسٹ لیکچر کوئز

جائزہ اور خود مطالعہ

اسائنمنٹ: آبجیکٹ ڈیٹیکشن

ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستگی ہو سکتی ہیں۔ اصل دستاویز، جو اس کی مقامی زبان میں ہے، کو مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے لیے ہم ذمہ دار نہیں ہیں۔