Detectron2 PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে অবজেক্ট ডিটেকশন এবং ইনস্ট্যান্স সেগমেন্টেশন। উল্লম্ব অনুসন্ধান. আ.

Detectron2 এর সাথে পাইথনে অবজেক্ট ডিটেকশন এবং ইনস্ট্যান্স সেগমেন্টেশন

ভূমিকা

অবজেক্ট ডিটেকশন হল কম্পিউটার ভিশনের একটি বৃহৎ ক্ষেত্র, এবং কম্পিউটার ভিশনের অন্যতম গুরুত্বপূর্ণ অ্যাপ্লিকেশন "বন্যে"। এক প্রান্তে, এটি স্বায়ত্তশাসিত সিস্টেম তৈরি করতে ব্যবহার করা যেতে পারে যা পরিবেশের মাধ্যমে এজেন্টদের নেভিগেট করতে পারে - তা রোবটগুলি কার্য সম্পাদন করে বা স্ব-ড্রাইভিং গাড়িই হোক, তবে এর জন্য অন্যান্য ক্ষেত্রের সাথে ছেদ প্রয়োজন। যাইহোক, অসঙ্গতি সনাক্তকরণ (যেমন একটি লাইনে ত্রুটিপূর্ণ পণ্য), চিত্রের মধ্যে বস্তুর অবস্থান, মুখের সনাক্তকরণ এবং বস্তু সনাক্তকরণের অন্যান্য বিভিন্ন অ্যাপ্লিকেশন অন্যান্য ক্ষেত্রগুলিকে ছেদ না করেই করা যেতে পারে।

অবজেক্ট ডিটেকশন ইমেজ শ্রেণীবিভাগের মতো প্রমিত নয়, প্রধানত কারণ বেশিরভাগ নতুন বিকাশ সাধারণত বড় লাইব্রেরি এবং ফ্রেমওয়ার্কের পরিবর্তে পৃথক গবেষক, রক্ষণাবেক্ষণকারী এবং বিকাশকারীদের দ্বারা করা হয়। TensorFlow বা PyTorch-এর মতো একটি কাঠামোতে প্রয়োজনীয় ইউটিলিটি স্ক্রিপ্টগুলি প্যাকেজ করা এবং এপিআই নির্দেশিকাগুলি বজায় রাখা কঠিন যা এখন পর্যন্ত বিকাশকে নির্দেশ করেছে।

এটি বস্তুর শনাক্তকরণকে কিছুটা জটিল করে তোলে, সাধারণত আরও ভার্বস (কিন্তু সবসময় নয়), এবং চিত্রের শ্রেণীবিভাগের তুলনায় কম পৌঁছানো যায়। একটি ইকোসিস্টেমে থাকার প্রধান সুবিধাগুলির মধ্যে একটি হল এটি আপনাকে ভাল অভ্যাস, সরঞ্জাম এবং ব্যবহারের পদ্ধতির উপর দরকারী তথ্য অনুসন্ধান না করার একটি উপায় প্রদান করে। অবজেক্ট ডিটেকশনের সাথে - বেশিরভাগকে ভাল গ্রিপ পেতে ক্ষেত্রের ল্যান্ডস্কেপ নিয়ে আরও বেশি গবেষণা করতে হবে।

Meta AI এর Detectron2 - ইনস্ট্যান্স সেগমেন্টেশন এবং অবজেক্ট ডিটেকশন

ডিটেকট্রন2 মেটা এআই (সাবেক FAIR – Facebook AI রিসার্চ) এর ওপেন সোর্স অবজেক্ট ডিটেকশন, সেগমেন্টেশন এবং পোজ এস্টিমেশন প্যাকেজ – সবই এক। একটি ইনপুট ইমেজ দেওয়া হলে, এটি লেবেল, বাউন্ডিং বক্স, কনফিডেন্স স্কোর, মুখোশ এবং বস্তুর কঙ্কাল ফেরত দিতে পারে। এটি সংগ্রহস্থলের পৃষ্ঠায় ভালভাবে উপস্থাপন করা হয়েছে:

এটি একটি লাইব্রেরি হিসাবে ব্যবহার করা বোঝানো হয়েছে যার উপরে আপনি গবেষণা প্রকল্পগুলি তৈরি করতে পারেন। এটি একটি অফার করে মডেল চিড়িয়াখানা বেশিরভাগ বাস্তবায়ন মাস্ক R-CNN এবং R-CNN-এর উপর নির্ভর করে, সাধারণভাবে রেটিনানেটের পাশাপাশি। তারা একটি চমত্কার শালীন আছে ডকুমেন্টেশন. এর একটি পরীক্ষামূলক অনুমান স্ক্রিপ্ট চালানো যাক!

প্রথমে, নির্ভরতাগুলি ইনস্টল করা যাক:

$ 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. আমরা মাস্ক আর-সিএনএন আর্কিটেকচারের উপর ভিত্তি করে এবং একটি 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])

অবশেষে, এর ফলে:

সেরা-অভ্যাস, শিল্প-স্বীকৃত মান এবং অন্তর্ভুক্ত চিট শীট সহ গিট শেখার জন্য আমাদের হ্যান্ডস-অন, ব্যবহারিক গাইড দেখুন। গুগলিং গিট কমান্ড এবং আসলে বন্ধ করুন শেখা এটা!

Detectron2 PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে অবজেক্ট ডিটেকশন এবং ইনস্ট্যান্স সেগমেন্টেশন। উল্লম্ব অনুসন্ধান. আ.

আরও এগিয়ে যাওয়া - কম্পিউটার ভিশনের জন্য ব্যবহারিক গভীর শিক্ষা

আপনার অনুসন্ধিৎসু প্রকৃতি আপনাকে আরও যেতে চায়? আমরা আমাদের চেক আউট সুপারিশ পথ: "পাইথনের সাথে কম্পিউটার ভিশনের জন্য ব্যবহারিক গভীর শিক্ষা".

Detectron2 PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে অবজেক্ট ডিটেকশন এবং ইনস্ট্যান্স সেগমেন্টেশন। উল্লম্ব অনুসন্ধান. আ.

আরেকটি কম্পিউটার ভিশন কোর্স?

আমরা MNIST সংখ্যা বা MNIST ফ্যাশনের শ্রেণিবিন্যাস করব না। তারা অনেক আগে থেকেই তাদের দায়িত্ব পালন করেছে। উন্নত ব্ল্যাক-বক্স আর্কিটেকচারগুলিকে পারফরম্যান্সের ভার বহন করতে দেওয়ার আগে অনেকগুলি শেখার সংস্থান মৌলিক ডেটাসেট এবং মৌলিক আর্কিটেকচারের উপর ফোকাস করছে।

আমরা ফোকাস করতে চাই demystification, বাস্তবতা, বোধশক্তি, স্বজ্ঞা এবং বাস্তব প্রকল্প. শিখতে চাই কিভাবে আপনি একটি পার্থক্য করতে পারেন? স্তন ক্যান্সারের জন্য আমাদের মস্তিষ্ক যেভাবে ছবিগুলিকে প্রক্রিয়াকরণ করে, তার থেকে শুরু করে স্তন ক্যান্সারের জন্য একটি গবেষণা-গ্রেড ডিপ লার্নিং ক্লাসিফায়ার লেখা পর্যন্ত আমরা আপনাকে "হ্যালুসিনেট" করার নেটওয়ার্কগুলিতে নিয়ে যাব, আপনাকে ব্যবহারিক কাজের মাধ্যমে নীতি ও তত্ত্ব শেখাবো, আপনাকে সজ্জিত করব কম্পিউটারের দৃষ্টিভঙ্গি সমাধানের জন্য গভীর শিক্ষা প্রয়োগে বিশেষজ্ঞ হওয়ার উপায় এবং সরঞ্জাম।

ভিতরে কি?

  • দৃষ্টির প্রথম নীতি এবং কীভাবে কম্পিউটারকে "দেখতে" শেখানো যায়
  • কম্পিউটার ভিশনের বিভিন্ন কাজ এবং অ্যাপ্লিকেশন
  • ট্রেডের টুল যা আপনার কাজকে সহজ করে তুলবে
  • কম্পিউটার ভিশনের জন্য ডেটাসেট খোঁজা, তৈরি এবং ব্যবহার করা
  • কনভোল্যুশনাল নিউরাল নেটওয়ার্কের তত্ত্ব এবং প্রয়োগ
  • ডেটাসেটে ডোমেন শিফট, সহ-ঘটনা এবং অন্যান্য পক্ষপাতগুলি পরিচালনা করা
  • আপনার সুবিধার জন্য শেখার স্থানান্তর এবং অন্যদের প্রশিক্ষণের সময় এবং গণনামূলক সংস্থানগুলি ব্যবহার করুন
  • একটি অত্যাধুনিক স্তন ক্যান্সারের শ্রেণীবিভাগ তৈরি এবং প্রশিক্ষণ
  • কীভাবে মূলধারার ধারণাগুলিতে সংশয়বাদের একটি স্বাস্থ্যকর ডোজ প্রয়োগ করা যায় এবং ব্যাপকভাবে গৃহীত কৌশলগুলির প্রভাব বোঝা যায়
  • T-SNE এবং PCA ব্যবহার করে একটি ConvNet-এর "ধারণা স্থান" ভিজ্যুয়ালাইজ করা
  • কোম্পানিগুলি কীভাবে ভাল ফলাফল অর্জন করতে কম্পিউটার দৃষ্টি কৌশল ব্যবহার করে তার কেস স্টাডি
  • সঠিক মডেল মূল্যায়ন, সুপ্ত স্থান ভিজ্যুয়ালাইজেশন এবং মডেলের মনোযোগ সনাক্তকরণ
  • ডোমেন গবেষণা সম্পাদন করা, আপনার নিজস্ব ডেটাসেট প্রক্রিয়াকরণ এবং মডেল পরীক্ষা স্থাপন করা
  • অত্যাধুনিক স্থাপত্য, ধারণাগুলির অগ্রগতি, কী সেগুলিকে অনন্য করে তোলে এবং কীভাবে সেগুলি বাস্তবায়ন করা যায়
  • KerasCV – একটি আধুনিক পাইপলাইন এবং মডেল তৈরি করার জন্য একটি WIP লাইব্রেরি
  • কিভাবে পার্স এবং পেপার পড়ুন এবং সেগুলি নিজেই প্রয়োগ করুন
  • আপনার আবেদনের উপর নির্ভর করে মডেল নির্বাচন করুন
  • এন্ড-টু-এন্ড মেশিন লার্নিং পাইপলাইন তৈরি করা
  • দ্রুত আর-সিএনএন, রেটিনানেট, এসএসডি এবং ইওলোর সাহায্যে অবজেক্ট সনাক্তকরণের উপর ল্যান্ডস্কেপ এবং অন্তর্দৃষ্টি
  • উদাহরণ এবং শব্দার্থিক বিভাজন
  • YOLOv5 এর সাথে রিয়েল-টাইম অবজেক্ট রিকগনিশন
  • YOLOv5 অবজেক্ট ডিটেক্টর প্রশিক্ষণ
  • KerasNLP ব্যবহার করে ট্রান্সফরমারের সাথে কাজ করা (শিল্প-শক্তি WIP লাইব্রেরি)
  • চিত্রের ক্যাপশন তৈরি করতে ConvNets-এর সাথে ট্রান্সফরমার একীভূত করা
  • ডিপড্রিম

উপসংহার

ইন্সট্যান্স সেগমেন্টেশন শব্দার্থিক বিভাজন অতিক্রম করে এক ধাপ এগিয়ে যায়, এবং একটি শ্রেণীর (ব্যক্তি 1, ব্যক্তি 2, ইত্যাদি...) এর মধ্যে গুণগত পার্থক্য লক্ষ্য করে না শুধুমাত্র তারা একটির অন্তর্গত কিনা। একটি উপায়ে - এটি পিক্সেল-স্তরের শ্রেণীবিভাগ।

এই সংক্ষিপ্ত গাইডে, আমরা একটি মাস্ক R-CNN ব্যবহার করে কিভাবে Detectron2 দৃষ্টান্ত বিভাজন এবং বস্তু সনাক্তকরণকে তাদের API-এর মাধ্যমে সহজ এবং অ্যাক্সেসযোগ্য করে তোলে তা দ্রুত দেখেছি।

সময় স্ট্যাম্প:

থেকে আরো Stackabuse