YOLOv7 PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ۔ عمودی تلاش۔ عی

YOLOv7 کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ

تعارف

آبجیکٹ کا پتہ لگانا کمپیوٹر ویژن کا ایک بڑا میدان ہے، اور کمپیوٹر ویژن کی "جنگلی میں" ایک اہم ترین ایپلی کیشن ہے۔

آبجیکٹ کا پتہ لگانا تصویر کی درجہ بندی کی طرح معیاری نہیں ہے، بنیادی طور پر اس لیے کہ زیادہ تر نئی پیشرفتیں بڑی لائبریریوں اور فریم ورک کے بجائے انفرادی محققین، دیکھ بھال کرنے والوں اور ڈویلپرز کے ذریعے کی جاتی ہیں۔ TensorFlow یا PyTorch جیسے فریم ورک میں ضروری یوٹیلیٹی اسکرپٹس کو پیک کرنا اور API کے رہنما خطوط کو برقرار رکھنا مشکل ہے جو اب تک ترقی کی رہنمائی کرتے ہیں۔

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

خوش قسمتی سے عوام کے لیے - Ultralytics نے اپنے YOLOv5 کے ارد گرد ایک سادہ، بہت طاقتور اور خوبصورت آبجیکٹ کا پتہ لگانے والا API تیار کیا ہے جسے دیگر ریسرچ اور ڈیولپمنٹ ٹیموں نے YOLOv7 جیسے نئے ورژنز میں بڑھا دیا ہے۔

اس مختصر گائیڈ میں، ہم جدید ترین YOLOv7 کے ساتھ ازگر میں آبجیکٹ کا پتہ لگانے کا کام انجام دیں گے۔

YOLO لینڈ اسکیپ اور YOLOv7

یولو (آپ صرف ایک بار دیکھیں) ایک طریقہ کار ہے، اور ساتھ ہی آبجیکٹ کا پتہ لگانے کے لیے بنائے گئے ماڈلز کا خاندان۔ 2015 میں آغاز کے بعد سے، YOLOv1، YOLOv2 (YOLO9000) اور YOLOv3 ایک ہی مصنف (مصنفوں) کی طرف سے تجویز کیے گئے ہیں - اور گہری سیکھنے والی کمیونٹی نے مسلسل سالوں میں کھلے ذرائع سے ترقی کے ساتھ جاری رکھا۔

Ultralytics' YOLOv5 PyTorch میں YOLO کا پہلا بڑے پیمانے پر نفاذ ہے، جس نے اسے پہلے سے کہیں زیادہ قابل رسائی بنایا ہے، لیکن YOLOv5 کے اس قدر قدم جمانے کی بنیادی وجہ بھی اس کے ارد گرد بنایا گیا خوبصورت سادہ اور طاقتور API ہے۔ پراجیکٹ غیر ضروری تفصیلات کو ختم کرتا ہے، جبکہ حسب ضرورت کی اجازت دیتا ہے، عملی طور پر تمام قابل استعمال برآمدی فارمیٹس، اور حیرت انگیز طریقوں کو استعمال کرتا ہے جو پورے پروجیکٹ کو موثر اور بہترین بناتا ہے۔

YOLOv5 اب بھی ایک اہم پروجیکٹ ہے جس کے ساتھ آبجیکٹ ڈیٹیکشن ماڈلز کی تعمیر ہے، اور بہت سی ریپوزٹریز جن کا مقصد YOLO طریقہ کار کو آگے بڑھانا ہے YOLOv5 کو ایک بیس لائن کے طور پر شروع کرتے ہیں اور اسی طرح کا API پیش کرتے ہیں (یا صرف اس پروجیکٹ کو فورک کریں اور اس کے اوپر تعمیر کریں)۔ کا معاملہ ایسا ہی ہے۔ YOLOR (آپ صرف ایک نمائندگی سیکھتے ہیں) اور YOLOv7 جو YOLOR (ایک ہی مصنف) کے اوپر بنایا گیا ہے۔ YOLOv7 YOLO طریقہ کار میں تازہ ترین پیشرفت ہے اور خاص طور پر، YOLOv7 نئے ماڈل ہیڈز فراہم کرتا ہے، جو کلیدی پوائنٹس (کنکال) کو آؤٹ پٹ کر سکتا ہے اور صرف باؤنڈنگ باکس ریگریشن کے علاوہ مثال کی تقسیم بھی کر سکتا ہے، جو پچھلے YOLO ماڈلز کے ساتھ معیاری نہیں تھا۔

یہ مثال کی تقسیم اور کلیدی پوائنٹ کا پتہ لگانے کو پہلے سے کہیں زیادہ تیز تر بناتا ہے!

اس کے علاوہ، YOLOv7 کم پیرامیٹر کی گنتی اور اعلیٰ کمپیوٹیشنل کارکردگی کی وجہ سے پچھلے ماڈلز کے مقابلے میں تیز اور اعلیٰ درجے کی درستگی پر کارکردگی دکھاتا ہے:

YOLOv7 PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ۔ عمودی تلاش۔ عی

یہ ماڈل خود تعمیراتی تبدیلیوں کے ساتھ ساتھ تربیت کے پہلوؤں کو بہتر بنانے کے ذریعے بنایا گیا تھا، جسے "بیگ آف فریبیز" کا نام دیا گیا، جس نے تخمینہ لاگت میں اضافہ کیے بغیر درستگی میں اضافہ کیا۔

YOLOv7 انسٹال کرنا

YOLOv7 کو انسٹال اور استعمال کرنا آپ کی مقامی مشین میں GitHub ریپوزٹری کو ڈاؤن لوڈ کرنے اور اس کے ساتھ پیک شدہ اسکرپٹس کو چلانے کے لیے ابلتا ہے۔

نوٹ: بدقسمتی سے، تحریر کے مطابق، YOLOv7 کلین پروگرامیٹک API پیش نہیں کرتا جیسا کہ YOLOv5، جو عام طور پر اس سے لوڈ ہوتا ہے۔ torch.hub(), GitHub ریپوزٹری کو پاس کرنا۔ یہ ایک ایسا فیچر لگتا ہے جو کام کرنا چاہیے لیکن فی الحال ناکام ہو رہا ہے۔ جیسے ہی یہ ٹھیک ہو جائے گا، میں گائیڈ کو اپ ڈیٹ کروں گا یا پروگرامیٹک API پر ایک نیا شائع کروں گا۔ ابھی کے لیے - ہم ریپوزٹری میں فراہم کردہ انفرنس اسکرپٹس پر توجہ مرکوز کریں گے۔

اس کے باوجود، آپ ویڈیوز، تصاویر وغیرہ پر حقیقی وقت میں پتہ لگانے کا کام انجام دے سکتے ہیں اور نتائج کو آسانی سے محفوظ کر سکتے ہیں۔ یہ پروجیکٹ YOLOv5 جیسے ہی کنونشنوں کی پیروی کرتا ہے، جس میں ایک وسیع دستاویزات موجود ہیں، لہذا اگر آپ کے پاس کچھ ہیں تو آپ کو YOLOv5 ریپوزٹری میں مزید مخصوص سوالات کے جوابات ملنے کا امکان ہے۔

آئیے ریپوزٹری کو ڈاؤن لوڈ کریں اور کچھ اندازہ لگائیں:

! git clone https://github.com/WongKinYiu/yolov7.git

یہ تخلیق کرتا ہے a yolov7 آپ کی موجودہ ورکنگ ڈائرکٹری میں ڈائریکٹری، جس میں پروجیکٹ موجود ہے۔ آئیے اس ڈائریکٹری میں جائیں اور فائلوں پر ایک نظر ڈالیں:

%cd yolov7
!ls
/Users/macbookpro/jup/yolov7
LICENSE.md       detect.py        models           tools
README.md        export.py        paper            train.py
cfg              figure           requirements.txt train_aux.py
data             hubconf.py       scripts          utils
deploy           inference        test.py          runs

نوٹ: گوگل کولاب نوٹ بک پر، آپ کو جادو چلانا پڑے گا۔ %cd ہر سیل میں کمانڈ جس میں آپ اپنی ڈائرکٹری کو تبدیل کرنا چاہتے ہیں۔ yolov7، جب کہ اگلا سیل آپ کو آپ کی اصل ورکنگ ڈائرکٹری میں واپس لوٹاتا ہے۔ مقامی Jupyter نوٹ بک پر، ڈائریکٹری کو تبدیل کرنا ایک بار آپ کو اس میں رکھتا ہے، لہذا کمانڈ کو متعدد بار دوبارہ جاری کرنے کی ضرورت نہیں ہے۔

۔ detect.py انفرنس اسکرپٹس ہے جو پتہ چلاتی ہے اور نتائج کو اس کے تحت محفوظ کرتی ہے۔ runs/detect/video_name، جہاں آپ وضاحت کرسکتے ہیں۔ video_name کال کرتے وقت detect.py سکرپٹ. export.py ماڈل کو مختلف فارمیٹس میں برآمد کرتا ہے، جیسے ONNX، TFLite، وغیرہ۔ train.py اپنی مرضی کے مطابق YOLOv7 ڈیٹیکٹر کو تربیت دینے کے لیے استعمال کیا جا سکتا ہے (دوسرے گائیڈ کا موضوع)، اور test.py ڈٹیکٹر کو جانچنے کے لیے استعمال کیا جا سکتا ہے (وزن کی فائل سے بھری ہوئی)۔

کئی اضافی ڈائریکٹریز کنفیگریشنز رکھتی ہیں (cfgمثال کے طور پر ڈیٹا (inference)، ماڈلز اور COCO کنفیگریشنز کی تعمیر سے متعلق ڈیٹا (data)، وغیرہ

YOLOv7 سائز

YOLO پر مبنی ماڈلز اچھی طرح سے پیمانے پر ہیں، اور عام طور پر چھوٹے، کم درست ماڈلز، اور بڑے، زیادہ درست ماڈلز کے طور پر برآمد کیے جاتے ہیں۔ پھر ان کو بالترتیب کمزور یا مضبوط آلات پر تعینات کیا جاتا ہے۔

YOLOv7 کئی سائز پیش کرتا ہے، اور انہیں MS COCO کے خلاف بینچ مارک کیا:

بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!

ماڈل ٹیسٹ سائز APٹیسٹ APسب سے پہلے APسب سے پہلے بیچ 1 ایف پی ایس بیچ 32 اوسط وقت
YOLOv7 640 51.4٪ 69.7٪ 55.9٪ 161 FPS 2.8 MS
YOLOv7-X 640 53.1٪ 71.2٪ 57.8٪ 114 FPS 4.3 MS
YOLOv7-W6 1280 54.9٪ 72.6٪ 60.1٪ 84 FPS 7.6 MS
YOLOv7-E6 1280 56.0٪ 73.5٪ 61.2٪ 56 FPS 12.3 MS
YOLOv7-D6 1280 56.6٪ 74.0٪ 61.8٪ 44 FPS 15.0 MS
YOLOv7-E6E 1280 56.8٪ 74.4٪ 62.1٪ 36 FPS 18.7 MS

بنیادی ہارڈ ویئر پر منحصر ہے کہ آپ ماڈل کے چلنے کی توقع کر رہے ہیں، اور مطلوبہ درستگی - آپ ان میں سے انتخاب کر سکتے ہیں۔ سب سے چھوٹا ماڈل V160 پر سائز 640 کی تصاویر پر 100FPS سے زیادہ مارتا ہے! آپ زیادہ عام صارف GPUs پر بھی حقیقی وقت کی تسلی بخش کارکردگی کی توقع کر سکتے ہیں۔

YOLOv7 کے ساتھ ویڈیو کا اندازہ

بنائیں ایک inference-data تصاویر اور/یا ویڈیوز کو ذخیرہ کرنے کے لیے فولڈر جس سے آپ پتہ لگانا چاہتے ہیں۔ یہ فرض کرتے ہوئے کہ یہ اسی ڈائرکٹری میں ہے، ہم اس کے ساتھ ایک پتہ لگانے کا اسکرپٹ چلا سکتے ہیں:

! python3 detect.py --source inference-data/busy_street.mp4 --weights yolov7.pt --name video_1 --view-img

یہ آپ کے ڈیسک ٹاپ پر ایک Qt پر مبنی ویڈیو کا اشارہ کرے گا جس میں آپ لائیو پیشرفت اور تخمینہ، فریم کے لحاظ سے فریم، اور ساتھ ہی ہمارے معیاری آؤٹ پٹ پائپ پر اسٹیٹس آؤٹ پٹ دیکھ سکتے ہیں:

Namespace(weights=['yolov7.pt'], source='inference-data/busy_street.mp4', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=True, save_txt=False, save_conf=False, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='runs/detect', name='video_1', exist_ok=False, no_trace=False)
YOLOR 🚀 v0.1-112-g55b90e1 torch 1.12.1 CPU

Downloading https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt to yolov7.pt...
100%|██████████████████████████████████████| 72.1M/72.1M [00:18<00:00, 4.02MB/s]

Fusing layers... 
RepConv.fuse_repvgg_block
RepConv.fuse_repvgg_block
RepConv.fuse_repvgg_block
Model Summary: 306 layers, 36905341 parameters, 6652669 gradients
 Convert model to Traced-model... 
 traced_script_module saved! 
 model is traced! 
 
video 1/1 (1/402) /Users/macbookpro/jup/yolov7/inference-data/busy_street.mp4: 24 persons, 1 bicycle, 8 cars, 3 traffic lights, 2 backpacks, 2 handbags, Done. (1071.6ms) Inference, (2.4ms) NMS
video 1/1 (2/402) /Users/macbookpro/jup/yolov7/inference-data/busy_street.mp4: 24 persons, 1 bicycle, 8 cars, 3 traffic lights, 2 backpacks, 2 handbags, Done. (1070.8ms) Inference, (1.3ms) NMS

نوٹ کریں کہ پروجیکٹ سی پی یو پر مبنی مشینوں پر سست چلے گا (جیسے اوپر کے آؤٹ پٹ میں 1000ms فی تخمینہ مرحلہ، Intel-based 2017 MacBook Pro پر چلتا ہے)، اور GPU پر مبنی مشینوں پر نمایاں طور پر تیزی سے (~5ms/فریم کے قریب) V100 پر)۔ یہاں تک کہ سی پی یو پر مبنی سسٹمز جیسے کہ اس پر، yolov7-tiny.pt پر چلتا ہے 172ms/frameجو کہ اصل وقت سے بہت دور ہے، CPU پر ان آپریشنز کو سنبھالنے کے لیے اب بھی بہت مہذب ہے۔

ایک بار رن مکمل ہوجانے کے بعد، آپ نتیجے میں آنے والی ویڈیو کو نیچے تلاش کرسکتے ہیں۔ runs/video_1 (وہ نام جو ہم نے میں فراہم کیا ہے۔ detect.py کال)، بطور محفوظ کیا گیا۔ .mp4:

YOLOv7 PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ۔ عمودی تلاش۔ عی

تصاویر پر اندازہ

امیجز کا اندازہ اسی عمل پر ابلتا ہے - فائل سسٹم میں کسی تصویر کو یو آر ایل فراہم کرنا، اور کال کرنا detect.py:

! python3 detect.py --source inference-data/desk.jpg --weights yolov7.pt

نوٹ: تحریر کے مطابق، آؤٹ پٹ لیبلز کو تصویر کے سائز تک نہیں پیمانہ کرتا، چاہے آپ سیٹ کریں۔ --img SIZE. اس کا مطلب ہے کہ بڑی تصاویر میں واقعی پتلی باؤنڈنگ باکس لائنیں اور چھوٹے لیبل ہوں گے۔

YOLOv7 PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ۔ عمودی تلاش۔ عی

نتیجہ

اس مختصر گائیڈ میں - ہم نے YOLOv7 پر ایک مختصر نظر ڈالی ہے، YOLO خاندان کی تازہ ترین پیشرفت، جو YOLOR کے سب سے اوپر بنتی ہے۔ ہم نے آپ کی مقامی مشین پر ریپوزٹری کو انسٹال کرنے اور ویڈیوز اور تصاویر پر پہلے سے تربیت یافتہ نیٹ ورک کے ساتھ آبجیکٹ ڈٹیکشن انفرنس اسکرپٹس کو چلانے کے طریقہ پر ایک نظر ڈالی ہے۔

مزید گائیڈز میں، ہم کلیدی پوائنٹ کا پتہ لگانے اور مثال کی تقسیم کا احاطہ کریں گے۔

مزید جانا - کمپیوٹر وژن کے لیے عملی گہری تعلیم

آپ کی جستجو کرنے والی فطرت آپ کو مزید آگے بڑھنا چاہتی ہے؟ ہم اپنے کو چیک کرنے کی تجویز کرتے ہیں۔ کورس: "Python کے ساتھ کمپیوٹر وژن کے لیے عملی گہری تعلیم".

YOLOv7 PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ ازگر میں ریئل ٹائم آبجیکٹ کا پتہ لگانے کا اندازہ۔ عمودی تلاش۔ عی

ایک اور کمپیوٹر وژن کورس؟

ہم MNIST ہندسوں یا MNIST فیشن کی درجہ بندی نہیں کریں گے۔ انہوں نے بہت پہلے اپنے حصے کی خدمت کی۔ بہت سارے سیکھنے کے وسائل بنیادی ڈیٹاسیٹس اور بنیادی فن تعمیرات پر توجہ مرکوز کر رہے ہیں اس سے پہلے کہ جدید بلیک باکس فن تعمیر کو کارکردگی کا بوجھ اٹھانے دیا جائے۔

ہم توجہ مرکوز کرنا چاہتے ہیں۔ demystification, عملیی, افہام و تفہیم, انترجشتھان اور حقیقی منصوبوں. سیکھنا چاہتے ہیں۔ کس طرح کیا آپ فرق کر سکتے ہیں؟ ہم آپ کو ایک سفر پر لے جائیں گے جس طرح سے ہمارے دماغ چھاتی کے کینسر کے لیے ایک ریسرچ گریڈ ڈیپ لرننگ کلاسیفائر لکھنے سے لے کر گہرے سیکھنے کے نیٹ ورکس تک لے جائیں گے جو کہ "فریب" کرتے ہیں، عملی کام کے ذریعے آپ کو اصول اور تھیوری سکھاتے ہیں، کمپیوٹر وژن کو حل کرنے کے لیے گہری سیکھنے کا اطلاق کرنے میں ماہر بننے کا طریقہ اور اوزار۔

اندر کیاہے؟

  • بصارت کے پہلے اصول اور کمپیوٹر کو "دیکھنا" کیسے سکھایا جا سکتا ہے۔
  • کمپیوٹر وژن کے مختلف کام اور ایپلی کیشنز
  • تجارت کے اوزار جو آپ کے کام کو آسان بنائیں گے۔
  • کمپیوٹر وژن کے لیے ڈیٹاسیٹس کی تلاش، تخلیق اور استعمال
  • Convolutional Neural Networks کا نظریہ اور اطلاق
  • ڈیٹا سیٹس میں ڈومین شفٹ، شریک ہونے اور دیگر تعصبات کو ہینڈل کرنا
  • سیکھنے کو منتقل کریں اور دوسروں کے تربیتی وقت اور کمپیوٹیشنل وسائل کو اپنے فائدے کے لیے استعمال کریں۔
  • ایک جدید ترین چھاتی کے کینسر کی درجہ بندی کرنے والے کی تعمیر اور تربیت
  • مرکزی دھارے کے خیالات پر شکوک و شبہات کی صحت مند خوراک کو کیسے لاگو کیا جائے اور وسیع پیمانے پر اختیار کی جانے والی تکنیکوں کے مضمرات کو کیسے سمجھا جائے
  • T-SNE اور PCA کا استعمال کرتے ہوئے ConvNet کی "تصور کی جگہ" کا تصور کرنا
  • کیس اسٹڈیز کہ کمپنیاں بہتر نتائج حاصل کرنے کے لیے کمپیوٹر ویژن تکنیک کا استعمال کیسے کرتی ہیں۔
  • ماڈل کی مناسب تشخیص، اویکت جگہ کا تصور اور ماڈل کی توجہ کی نشاندہی کرنا
  • ڈومین ریسرچ کرنا، آپ کے اپنے ڈیٹا سیٹس پر کارروائی کرنا اور ماڈل ٹیسٹ قائم کرنا
  • جدید فن تعمیر، خیالات کی ترقی، انہیں کیا منفرد بناتا ہے اور انہیں کیسے نافذ کیا جائے
  • KerasCV – جدید ترین پائپ لائنز اور ماڈل بنانے کے لیے ایک WIP لائبریری
  • پیپرز کو کیسے پارس کریں اور پڑھیں اور خود ان پر عمل کریں۔
  • آپ کی درخواست پر منحصر ماڈلز کا انتخاب
  • آخر سے آخر تک مشین لرننگ پائپ لائن بنانا
  • تیز تر R-CNNs، RetinaNets، SSDs اور YOLO کے ساتھ آبجیکٹ کا پتہ لگانے پر زمین کی تزئین اور بصیرت
  • مثال اور سیمنٹک سیگمنٹیشن
  • YOLOv5 کے ساتھ ریئل ٹائم آبجیکٹ کی شناخت
  • YOLOv5 آبجیکٹ ڈیٹیکٹر کی تربیت
  • KerasNLP (صنعت کی طاقت WIP لائبریری) کا استعمال کرتے ہوئے ٹرانسفارمرز کے ساتھ کام کرنا
  • تصاویر کے کیپشن بنانے کے لیے ConvNets کے ساتھ ٹرانسفارمرز کو مربوط کرنا
  • DeepDream
  • کمپیوٹر ویژن کے لیے ڈیپ لرننگ ماڈل کی اصلاح

ٹائم اسٹیمپ:

سے زیادہ Stackabuse