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

ڈیٹیکٹرون 2 کے ساتھ ازگر میں آبجیکٹ کا پتہ لگانے اور مثال کی تقسیم

تعارف

آبجیکٹ کا پتہ لگانا کمپیوٹر ویژن کا ایک بڑا میدان ہے، اور کمپیوٹر ویژن کی "جنگلی میں" ایک اہم ترین ایپلی کیشن ہے۔ ایک طرف، اسے خود مختار نظام بنانے کے لیے استعمال کیا جا سکتا ہے جو ایجنٹوں کو ماحول کے ذریعے نیویگیٹ کرتے ہیں - چاہے وہ روبوٹ کام انجام دے رہے ہوں یا خود چلانے والی کاریں، لیکن اس کے لیے دوسرے شعبوں کے ساتھ تقاطع کی ضرورت ہے۔ تاہم، بے ضابطگی کا پتہ لگانا (جیسے لائن پر خراب مصنوعات)، تصاویر کے اندر اشیاء کا پتہ لگانا، چہرے کا پتہ لگانا اور آبجیکٹ کی کھوج کی مختلف دیگر ایپلی کیشنز کو دوسرے شعبوں کو ایک دوسرے کو کاٹتے ہوئے بغیر کیا جا سکتا ہے۔

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

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

Meta AI's Detectron2 - مثال کی تقسیم اور آبجیکٹ کا پتہ لگانا

ڈیٹیکٹرون 2 Meta AI (سابقہ ​​FAIR – Facebook AI ریسرچ) کا اوپن سورس آبجیکٹ کا پتہ لگانے، سیگمنٹیشن اور پوز تخمینہ پیکج ہے – سب ایک میں۔ ایک ان پٹ امیج کو دیکھتے ہوئے، یہ لیبلز، باؤنڈنگ بکس، اعتماد کے اسکور، ماسک اور اشیاء کے کنکال واپس کر سکتا ہے۔ یہ ذخیرہ کے صفحہ پر اچھی طرح سے پیش کیا گیا ہے:

اس کا مقصد ایک لائبریری کے طور پر استعمال کرنا ہے جس کے اوپر آپ تحقیقی منصوبے بنا سکتے ہیں۔ یہ پیش کرتا ہے a ماڈل چڑیا گھر RetinaNet کے ساتھ، عام طور پر ماسک R-CNN اور R-CNNs پر انحصار کرنے والے زیادہ تر نفاذ کے ساتھ۔ وہ بھی ایک خوبصورت مہذب ہے دستاویزات. آئیے ایک امتحانی تخمینہ اسکرپٹ چلائیں!

پہلے، آئیے انحصار کو انسٹال کرتے ہیں:

$ pip install pyyaml==5.1
$ pip install 'git+https://github.com/facebookresearch/detectron2.git'

اگلا، ہم Detectron2 یوٹیلیٹیز کو درآمد کریں گے - یہ وہ جگہ ہے جہاں فریم ورک ڈومین کا علم عمل میں آتا ہے۔ آپ کا استعمال کرتے ہوئے ایک ڈیٹیکٹر بنا سکتے ہیں DefaultPredictor کلاس، ایک کنفیگریشن آبجیکٹ میں گزر کر جو اسے سیٹ کرتا ہے۔ دی Visualizer نتائج کو دیکھنے کے لیے تعاون فراہم کرتا ہے۔ MetadataCatalog اور DatasetCatalog Detectron2 کے ڈیٹا API سے تعلق رکھتے ہیں اور بلٹ ان ڈیٹاسیٹس کے ساتھ ساتھ ان کے میٹا ڈیٹا پر معلومات پیش کرتے ہیں۔

آئیے وہ کلاسز اور فنکشنز درآمد کریں جو ہم استعمال کریں گے:

import torch, detectron2
from detectron2.utils.logger import setup_logger
setup_logger()

from detectron2 import model_zoo
from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.utils.visualizer import Visualizer
from detectron2.data import MetadataCatalog, DatasetCatalog

کا استعمال کرتے ہوئے requests، ہم ایک تصویر ڈاؤن لوڈ کریں گے اور اسے اپنی لوکل ڈرائیو میں محفوظ کریں گے:

import matplotlib.pyplot as plt
import requests
response = requests.get('http://images.cocodataset.org/val2017/000000439715.jpg')
open("input.jpg", "wb").write(response.content)
    
im = cv2.imread("./input.jpg")
fig, ax = plt.subplots(figsize=(18, 8))
ax.imshow(cv2.cvtColor(im, cv2.COLOR_BGR2RGB))

اس کے نتائج:

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

اب، ہم کنفیگریشن لوڈ کرتے ہیں، ضرورت پڑنے پر تبدیلیاں نافذ کرتے ہیں (ماڈل بطور ڈیفالٹ GPU پر چلتے ہیں، لہذا اگر آپ کے پاس GPU نہیں ہے، تو آپ کنفیگریشن میں ڈیوائس کو 'cpu' پر سیٹ کرنا چاہیں گے):

cfg = get_cfg()

cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")


یہاں، ہم بتاتے ہیں کہ ہم کس ماڈل سے چلنا چاہتے ہیں۔ model_zoo. ہم نے ماسک R-CNN فن تعمیر پر مبنی، اور ResNet50 بیک بون کے ساتھ ایک مثال سیگمنٹیشن ماڈل درآمد کیا ہے۔ اس پر منحصر ہے کہ آپ کیا حاصل کرنا چاہتے ہیں (کی پوائنٹ کا پتہ لگانا، مثال کی تقسیم، پیناپٹک سیگمنٹیشن یا آبجیکٹ کا پتہ لگانا)، آپ مناسب ماڈل میں لوڈ کریں گے۔

آخر میں، ہم اس کے ساتھ ایک پیشن گوئی کی تعمیر کر سکتے ہیں cfg اور اسے ان پٹ پر چلائیں! دی Visualizer کلاس کا استعمال امیج پر پیشین گوئیاں کرنے کے لیے کیا جاتا ہے (اس معاملے میں، منقسم مثالیں، کلاسز اور باؤنڈنگ بکس:

predictor = DefaultPredictor(cfg)
outputs = predictor(im)

v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)
out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
fig, ax = plt.subplots(figsize=(18, 8))
ax.imshow(out.get_image()[:, :, ::-1])

آخر میں، اس کے نتیجے میں:

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

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

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

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

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

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

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

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

اندر کیاہے؟

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

نتیجہ

مثال کی تقسیم سیمنٹک سیگمنٹیشن سے ایک قدم آگے بڑھتی ہے، اور کسی کلاس (شخص 1، شخص 2، وغیرہ…) کی انفرادی مثالوں کے درمیان معیار کے فرق کو نوٹ کرتی ہے بجائے اس کے کہ ان کا تعلق کسی سے ہو۔ ایک طرح سے - یہ پکسل لیول کی درجہ بندی ہے۔

اس مختصر گائیڈ میں، ہم نے اس پر ایک سرسری نظر ڈالی ہے کہ کس طرح Detectron2 ایک ماسک R-CNN کا استعمال کرتے ہوئے اپنے API کے ذریعے مثال کی تقسیم اور آبجیکٹ کا پتہ لگانے کو آسان اور قابل رسائی بناتا ہے۔

ٹائم اسٹیمپ:

سے زیادہ Stackabuse