|
|
||
|---|---|---|
| .. | ||
| lab | ||
| ObjectDetection.ipynb | ||
| README.md | ||
README.md
آبجیکٹ ڈیٹیکشن
اب تک ہم نے جو امیج کلاسیفیکیشن ماڈلز دیکھے ہیں، وہ ایک تصویر لیتے ہیں اور ایک کیٹیگری کا نتیجہ دیتے ہیں، جیسے MNIST مسئلے میں کلاس 'نمبر'۔ لیکن اکثر ہمیں صرف یہ جاننا نہیں ہوتا کہ تصویر میں اشیاء موجود ہیں - بلکہ ہم ان کی صحیح جگہ کا تعین کرنا چاہتے ہیں۔ یہی آبجیکٹ ڈیٹیکشن کا مقصد ہے۔
پری لیکچر کوئز
تصویر YOLO v2 ویب سائٹ سے لی گئی ہے۔
آبجیکٹ ڈیٹیکشن کے لیے ایک سادہ طریقہ
فرض کریں کہ ہم تصویر میں ایک بلی کو تلاش کرنا چاہتے ہیں، تو آبجیکٹ ڈیٹیکشن کے لیے ایک بہت سادہ طریقہ یہ ہوگا:
- تصویر کو کئی چھوٹے حصوں میں تقسیم کریں۔
- ہر حصے پر امیج کلاسیفیکیشن چلائیں۔
- وہ حصے جن میں کافی زیادہ ایکٹیویشن ہو، انہیں مطلوبہ آبجیکٹ کے حامل سمجھا جا سکتا ہے۔
تصویر ایکسسرس نوٹ بک سے لی گئی ہے۔
لیکن یہ طریقہ مثالی نہیں ہے، کیونکہ یہ الگورتھم کو آبجیکٹ کے باؤنڈنگ باکس کو بہت غیر واضح طریقے سے تلاش کرنے کی اجازت دیتا ہے۔ زیادہ درست مقام کے لیے ہمیں ریگریشن کا استعمال کرنا ہوگا تاکہ باؤنڈنگ باکس کے کوآرڈینیٹس کی پیش گوئی کی جا سکے - اور اس کے لیے مخصوص ڈیٹاسیٹس کی ضرورت ہوتی ہے۔
آبجیکٹ ڈیٹیکشن کے لیے ریگریشن
یہ بلاگ پوسٹ شکلوں کی شناخت کے لیے ایک بہترین تعارف فراہم کرتی ہے۔
آبجیکٹ ڈیٹیکشن کے لیے ڈیٹاسیٹس
آپ اس کام کے لیے درج ذیل ڈیٹاسیٹس دیکھ سکتے ہیں:
- PASCAL VOC - 20 کلاسز
- COCO - عام اشیاء کے سیاق و سباق میں۔ 80 کلاسز، باؤنڈنگ باکسز اور سیگمنٹیشن ماسکس
آبجیکٹ ڈیٹیکشن میٹرکس
انٹرسیکشن اوور یونین
امیج کلاسیفیکیشن کے لیے الگورتھم کی کارکردگی کو جانچنا آسان ہے، لیکن آبجیکٹ ڈیٹیکشن کے لیے ہمیں کلاس کی درستگی کے ساتھ ساتھ باؤنڈنگ باکس کے مقام کی درستگی کو بھی جانچنا ہوتا ہے۔ اس کے لیے ہم انٹرسیکشن اوور یونین (IoU) استعمال کرتے ہیں، جو دو باکسز (یا دو کسی بھی علاقے) کے اوورلیپ کو ماپتا ہے۔
تصویر 2 اس بہترین بلاگ پوسٹ سے لی گئی ہے۔
خیال سادہ ہے - ہم دو شکلوں کے درمیان انٹرسیکشن کے علاقے کو ان کے یونین کے علاقے سے تقسیم کرتے ہیں۔ دو ایک جیسے علاقوں کے لیے IoU 1 ہوگا، جبکہ مکمل طور پر الگ علاقوں کے لیے یہ 0 ہوگا۔ ورنہ یہ 0 سے 1 کے درمیان ہوگا۔ ہم عام طور پر صرف ان باؤنڈنگ باکسز کو دیکھتے ہیں جن کے IoU ایک خاص قدر سے زیادہ ہو۔
ایوریج پریسیژن
فرض کریں کہ ہم کسی دی گئی کلاس C کی اشیاء کو پہچاننے کی کارکردگی کو ماپنا چاہتے ہیں۔ اس کے لیے ہم ایوریج پریسیژن میٹرکس استعمال کرتے ہیں، جو اس طرح سے حساب کی جاتی ہے:
- پریسیژن-ریکال گراف دکھاتا ہے کہ ڈیٹیکشن تھریشولڈ ویلیو (0 سے 1 تک) کے مطابق درستگی کیسے تبدیل ہوتی ہے۔
- تھریشولڈ کے مطابق، ہمیں تصویر میں زیادہ یا کم اشیاء ملیں گی، اور پریسیژن اور ریکال کی مختلف قدریں۔
- گراف کچھ اس طرح نظر آئے گا:
تصویر 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 کلاسیفائرز کے ذریعے آبجیکٹ کلاس کا تعین کرنے کے لیے پاس کیا جاتا ہے، اور باؤنڈنگ باکس کے کوآرڈینیٹس کا تعین کرنے کے لیے لینیئر ریگریشن۔ آفیشل پیپر
تصویر van de Sande et al. ICCV’11 سے لی گئی ہے۔
تصاویر اس بلاگ سے لی گئی ہیں۔
F-RCNN - فاسٹ R-CNN
یہ طریقہ R-CNN سے ملتا جلتا ہے، لیکن ریجنز کنوولوشن لیئرز کے بعد ڈیفائن کیے جاتے ہیں۔
تصویر آفیشل پیپر، arXiv، 2015 سے لی گئی ہے۔
فاسٹر R-CNN
اس طریقے کا بنیادی خیال یہ ہے کہ ریجنز کی پیش گوئی کے لیے نیورل نیٹ ورک استعمال کیا جائے - جسے ریجن پروپوزل نیٹ ورک کہا جاتا ہے۔ پیپر، 2016
تصویر آفیشل پیپر سے لی گئی ہے۔
R-FCN: ریجن بیسڈ فل کنوولوشنل نیٹ ورک
یہ الگورتھم فاسٹر R-CNN سے بھی زیادہ تیز ہے۔ بنیادی خیال یہ ہے:
- ہم ResNet-101 استعمال کرتے ہوئے فیچرز نکالتے ہیں۔
- فیچرز پوزیشن سینسیٹو اسکور میپ کے ذریعے پروسیس کیے جاتے ہیں۔
Cکلاسز کی ہر آبجیکٹ کوk\times kریجنز میں تقسیم کیا جاتا ہے، اور ہم آبجیکٹس کے حصے کی پیش گوئی کرنے کی تربیت دیتے ہیں۔ k\times kریجنز کے ہر حصے کے لیے تمام نیٹ ورکس آبجیکٹ کلاسز کے لیے ووٹ دیتے ہیں، اور زیادہ سے زیادہ ووٹ کے ساتھ آبجیکٹ کلاس منتخب کی جاتی ہے۔
تصویر آفیشل پیپر سے لی گئی ہے۔
YOLO - یو اونلی لک ونس
YOLO ایک ریئل ٹائم ون پاس الگورتھم ہے۔ بنیادی خیال یہ ہے:
- تصویر کو
S\times Sریجنز میں تقسیم کیا جاتا ہے۔ - ہر ریجن کے لیے، CNN
nممکنہ آبجیکٹس، باؤنڈنگ باکس کے کوآرڈینیٹس اور کانفیڈنس=پروببلیٹی * IoU کی پیش گوئی کرتا ہے۔
تصویر آفیشل پیپر سے لی گئی ہے۔
دیگر الگورتھمز
- RetinaNet: آفیشل پیپر
- SSD (سنگل شاٹ ڈیٹیکٹر): آفیشل پیپر
✍️ مشقیں: آبجیکٹ ڈیٹیکشن
اپنی تعلیم کو درج ذیل نوٹ بک میں جاری رکھیں:
نتیجہ
اس سبق میں آپ نے آبجیکٹ ڈیٹیکشن کے مختلف طریقوں کا ایک مختصر جائزہ لیا!
🚀 چیلنج
ان مضامین اور نوٹ بکس کو پڑھیں جو YOLO کے بارے میں ہیں اور انہیں خود آزمائیں:
- اچھا بلاگ پوسٹ جو YOLO کو بیان کرتا ہے۔
- آفیشل سائٹ
- YOLO: Keras امپلیمنٹیشن، اسٹیپ بائی اسٹیپ نوٹ بک
- YOLO v2: Keras امپلیمنٹیشن، اسٹیپ بائی اسٹیپ نوٹ بک
پوسٹ لیکچر کوئز
جائزہ اور خود مطالعہ
- آبجیکٹ ڈیٹیکشن نکھل سردانا کے ذریعے
- آبجیکٹ ڈیٹیکشن الگورتھمز کا ایک اچھا موازنہ
- آبجیکٹ ڈیٹیکشن کے لیے ڈیپ لرننگ الگورتھمز کا جائزہ
- آبجیکٹ ڈیٹیکشن الگورتھمز کا ایک مرحلہ وار تعارف
- Python میں فاسٹر R-CNN کے ساتھ آبجیکٹ ڈیٹیکشن کا امپلیمنٹیشن
اسائنمنٹ: آبجیکٹ ڈیٹیکشن
ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستگی ہو سکتی ہیں۔ اصل دستاویز، جو اس کی مقامی زبان میں ہے، کو مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے لیے ہم ذمہ دار نہیں ہیں۔









