Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

Cv2.Canny() সহ পাইথনে OpenCV এজ সনাক্তকরণ

ভূমিকা

প্রান্ত সনাক্তকরণ এমন কিছু যা আমরা স্বাভাবিকভাবেই করি, কিন্তু কম্পিউটারের জন্য নিয়ম সংজ্ঞায়িত করার ক্ষেত্রে এটি ততটা সহজ নয়। যদিও বিভিন্ন পদ্ধতি উদ্ভাবন করা হয়েছে, রাজত্বের পদ্ধতিটি 1986 সালে জন এফ ক্যানি দ্বারা বিকশিত হয়েছিল। এবং যথাযথভাবে ক্যানি পদ্ধতির নামকরণ করা হয়েছে।

এটি দ্রুত, মোটামুটি মজবুত, এবং এটি যে ধরনের টেকনিকের জন্য কাজ করতে পারে তার জন্য কাজ করে। গাইডের শেষ নাগাদ, আপনি ভিডিওতে রিয়েল-টাইম এজ ডিটেকশন কিভাবে করতে হয় তা জানতে পারবেন এবং এর লাইন বরাবর কিছু তৈরি করবেন:

ক্যানি এজ ডিটেকশন

ক্যানি পদ্ধতি কি? এটি চারটি স্বতন্ত্র অপারেশন নিয়ে গঠিত:

  • গাউসিয়ান মসৃণকরণ
  • কম্পিউটিং গ্রেডিয়েন্ট
  • নন-ম্যাক্স দমন
  • হিস্টেরেসিস থ্রেশহোল্ডিং

গাউসিয়ান মসৃণকরণ ইনপুট ইমেজকে "আয়রন আউট" করার প্রথম ধাপ হিসেবে ব্যবহার করা হয়, এবং শব্দকে নরম করে, চূড়ান্ত আউটপুটকে অনেক বেশি পরিষ্কার করে।

ইমেজ গ্রেডিয়েন্ট প্রান্ত সনাক্তকরণের জন্য পূর্ববর্তী অ্যাপ্লিকেশনগুলিতে ব্যবহার করা হয়েছে। সবচেয়ে উল্লেখযোগ্যভাবে, Sobel এবং Scharr ফিল্টার ইমেজ গ্রেডিয়েন্টের উপর নির্ভর করে। সোবেল ফিল্টার দুটি কার্নেলে ফুটতে থাকে (Gx এবং Gy), কোথায় Gx অনুভূমিক পরিবর্তন সনাক্ত করে, যখন Gy উল্লম্ব পরিবর্তন সনাক্ত করে:

G

x

=

[

-
1

0

+
1

-
2

0

+
2

-
1

0

+
1

]

G

y

=

[

-
1

-
2

-
1

0

0

0

+
1

+
2

+
1

]

আপনি যখন তাদের একটি চিত্রের উপর স্লাইড করবেন, তারা প্রত্যেকে তাদের নিজ নিজ অভিযোজনে লাইনগুলিকে "পিক আপ" (জোর) করবে। Scharr কার্নেল একই ভাবে কাজ করে, বিভিন্ন মান সহ:

G

x

=

[

+
3

0

-
3

+
10

0

-
10

+
3

0

-
3

]

G

y

=

[

+
3

+
10

+
3

0

0

0

-
3

-
10

-
3

]

এই ফিল্টারগুলি, একবার চিত্রের সাথে জড়িত, বৈশিষ্ট্য মানচিত্র তৈরি করবে:

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

ইমেজ ক্রেডিট: ডেভিডউকেনেডি

এই বৈশিষ্ট্য মানচিত্র জন্য, আপনি গণনা করতে পারেন গ্রেডিয়েন্ট মাত্রা এবং গ্রেডিয়েন্ট অভিযোজন – অর্থাৎ পরিবর্তনটি কতটা তীব্র (এটি কতটা সম্ভব যে কিছু একটি প্রান্ত) এবং পরিবর্তনটি কোন দিকে নির্দেশ করছে। যেহেতু Gy উল্লম্ব পরিবর্তন (Y-গ্রেডিয়েন্ট) নির্দেশ করে, এবং Gx অনুভূমিক পরিবর্তন (এক্স-গ্রেডিয়েন্ট) নির্দেশ করে - আপনি "বাম" দ্বারা গঠিত ত্রিভুজটির হাইপোথেনুস পেতে, কেবল পিথাগোরিয়ান উপপাদ্য প্রয়োগ করে মাত্রা গণনা করতে পারেন এবং "সঠিক" দিকনির্দেশ:

$$
{G} ={sqrt {{{G} _{x}}^{2}+{{G} _{y}}^{2}}}
$$

মাত্রা এবং অভিযোজন ব্যবহার করে, আপনি একটি চিত্র তৈরি করতে পারেন যার প্রান্ত হাইলাইট করা হয়েছে:

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

ইমেজ ক্রেডিট: ডেভিডউকেনেডি

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

নন-ম্যাক্স দমন

সোবেল ফিল্টারের সাথে একটি লক্ষণীয় সমস্যা হল যে প্রান্তগুলি সত্যিই পরিষ্কার নয়। এটি এমন নয় যে কেউ একটি পেন্সিল নিয়ে ছবিটির লাইনআর্ট তৈরি করতে একটি লাইন আঁকে। প্রান্তগুলি সাধারণত চিত্রগুলিতে এতটা পরিষ্কার হয় না, কারণ আলো ধীরে ধীরে ছড়িয়ে পড়ে। যাইহোক, আমরা প্রান্তগুলিতে সাধারণ রেখাটি খুঁজে পেতে পারি, এবং এর চারপাশে বাকি পিক্সেলগুলিকে চাপা দিতে পারি, পরিবর্তে একটি পরিষ্কার, পাতলা বিচ্ছেদ রেখা পাওয়া যায়। এটি নন-ম্যাক্স সাপ্রেশন নামে পরিচিত! নন-ম্যাক্স পিক্সেল (একটি ছোট স্থানীয় ক্ষেত্রে আমরা যেগুলির সাথে তুলনা করছি তার চেয়ে ছোট, যেমন 3×3 কার্নেল) চাপা পড়ে যায়। ধারণাটি এর চেয়ে আরও বেশি কাজের ক্ষেত্রে প্রযোজ্য, তবে আপাতত এটিকে এই প্রসঙ্গে আবদ্ধ করা যাক।

হিস্টেরেসিস থ্রেশহোল্ডিং

আলোর অবস্থা, চিত্রের উপাদান ইত্যাদির কারণে অনেক অ-প্রান্তকে প্রান্ত হিসাবে মূল্যায়ন করা যেতে পারে এবং সম্ভবত তা মূল্যায়ন করা হবে। বিভিন্ন কারণে এই ভুল গণনাগুলি ঘটতে পারে – একটি প্রান্ত অবশ্যই কী এবং কী নয় তার একটি স্বয়ংক্রিয় মূল্যায়ন করা কঠিন। না আপনি গ্রেডিয়েন্ট থ্রেশহোল্ড করতে পারেন, এবং শুধুমাত্র শক্তিশালীগুলি অন্তর্ভুক্ত করতে পারেন, ধরে নিই যে "আসল" প্রান্তগুলি "নকল" প্রান্তগুলির চেয়ে বেশি তীব্র।

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

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

আসুন একটি ইমেজ লোড করি এবং এটিকে গ্রেস্কেল করি (ক্যানি, ঠিক যেমন সোবেল/Scharr-এর জন্য ছবিগুলিকে গ্রেস্কেল করা প্রয়োজন):

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('finger.jpg', cv2.IMREAD_GRAYSCALE)
img_blur = cv2.GaussianBlur(img, (3,3), 0)

plt.imshow(img_blur, cmap='gray')

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

একটি আঙুলের ক্লোজআপ চিত্রটি প্রান্ত সনাক্তকরণের জন্য একটি ভাল পরীক্ষার স্থল হিসাবে কাজ করবে - ছবিটি থেকে একটি আঙ্গুলের ছাপ সনাক্ত করা সহজ নয়, তবে আমরা একটি আনুমানিক করতে পারি।

cv2.Canny() সহ চিত্রগুলিতে প্রান্ত সনাক্তকরণ

ওপেনসিভি ব্যবহার করে ক্যানির অ্যালগরিদম প্রয়োগ করা যেতে পারে Canny() পদ্ধতি:

cv2.Canny(input_img, lower_bound, upper_bound)

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

নিম্ন আবদ্ধ এবং উপরের সীমানার মধ্যে সঠিক ভারসাম্য খুঁজে পাওয়া কঠিন হতে পারে। যদি উভয়ই কম হয় - আপনার কয়েকটি প্রান্ত থাকবে। যদি নীচের সীমা কম হয় এবং উপরেরটি উচ্চ হয় - আপনার গোলমাল থাকবে। যদি উভয়ই উচ্চ এবং একে অপরের কাছাকাছি হয় - আপনার কয়েকটি প্রান্ত থাকবে। সঠিক স্পটটির সীমানার মধ্যে যথেষ্ট ব্যবধান রয়েছে এবং সেগুলি সঠিক স্কেলে রয়েছে৷ এক্সপেরিমেন্ট !

ইনপুট ইমেজ ক্যানি পদ্ধতি দ্বারা ঝাপসা করা হবে, কিন্তু প্রায়ই, আপনি এটি ঝাপসা থেকে উপকৃত হবেন আগে এটা পাশাপাশি যায়. পদ্ধতিটি বাকি ক্রিয়াকলাপের মধ্য দিয়ে যাওয়ার আগে ইনপুটে একটি 5×5 গাউসিয়ান ব্লার প্রয়োগ করে, তবে এই অস্পষ্টতার সাথেও, কিছু শব্দ এখনও প্রবেশ করতে পারে, তাই আমরা অ্যালগরিদমে ফিড করার আগে ছবিটি অস্পষ্ট করেছি:


edge = cv2.Canny(img_blur, 20, 30)

fig, ax = plt.subplots(1, 2, figsize=(18, 6), dpi=150)
ax[0].imshow(img, cmap='gray')
ax[1].imshow(edge, cmap='gray')

এর ফলে:

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

এর মান 20 এবং 30 এখানে স্বেচ্ছাচারী নয় - আমি বিভিন্ন পরামিতিগুলিতে পদ্ধতিটি পরীক্ষা করেছি এবং একটি সেট বেছে নিয়েছি যা একটি শালীন ফলাফল তৈরি করেছে বলে মনে হচ্ছে। আমরা এটি স্বয়ংক্রিয় করার চেষ্টা করতে পারি?

cv2.Canny() এর জন্য স্বয়ংক্রিয় থ্রেশহোল্ডিং?

আপনি কি থ্রেশহোল্ড মানগুলির একটি সর্বোত্তম সেট খুঁজে পেতে পারেন? হ্যাঁ, কিন্তু এটা সবসময় কাজ করে না। আপনি কিছু ভাল মানের জন্য আপনার নিজের গণনা করতে পারেন, এবং তারপর a এর সাথে পরিসরটি সামঞ্জস্য করতে পারেন sigma সেই প্রান্তিকের চারপাশে:

lower_bound = (1-sigma)*threshold
upper_bound = (1+sigma)*threshold

কখন sigma, বলে, 0.33 - সীমা হবে 0.66*threshold এবং 1.33*threshold, এটির চারপাশে একটি ~1/3 পরিসরের অনুমতি দেয়৷ যদিও, খুঁজে threshold এটা কি আরো কঠিন. ওপেনসিভি আমাদের ওটসুর পদ্ধতি (দ্বি-মোডাল চিত্রগুলির জন্য দুর্দান্ত কাজ করে) এবং ত্রিভুজ পদ্ধতি সরবরাহ করে। আসুন তাদের উভয়ই চেষ্টা করে দেখি, পাশাপাশি তৃতীয় বিকল্প হিসাবে পিক্সেল মানগুলির একটি সাধারণ মধ্যক নেওয়া যাক:

otsu_thresh, _ = cv2.threshold(img_blur, 0, 255, cv2.THRESH_OTSU)
triangle_thresh, _ = cv2.threshold(img_blur, 0, 255, cv2.THRESH_TRIANGLE)
manual_thresh = np.median(img_blur)

def get_range(threshold, sigma=0.33):
    return (1-sigma) * threshold, (1+sigma) * threshold

otsu_thresh = get_range(otsu_thresh)
triangle_thresh = get_range(triangle_thresh)
manual_thresh = get_range(manual_thresh)

print(f"Otsu's Threshold: {otsu_thresh} nTriangle Threshold: {triangle_thresh} nManual Threshold: {manual_thresh}")

এর ফলে:

Otsu's Threshold: (70.35, 139.65) 
Triangle Threshold: (17.419999999999998, 34.58) 
Manual Threshold: (105.18999999999998, 208.81)

এগুলো বেশ আলাদা! আমরা আগে দেখেছি মানগুলি থেকে, আমরা ত্রিভুজ পদ্ধতিটি এখানে সবচেয়ে ভাল কাজ করার অনুমান করতে পারি। ম্যানুয়াল থ্রেশহোল্ডটি খুব বেশি অবহিত নয়, যেহেতু এটি শুধুমাত্র মধ্যম পিক্সেল মান নেয় এবং একটি উচ্চ বেস থ্রেশহোল্ড থাকে যা এই চিত্রের জন্য আরও বিস্তৃত পরিসরে গুণিত হয়৷ Otsu এর পদ্ধতি এটি থেকে কম ভোগে, কিন্তু তবুও ভোগে।

যদি আমরা চালান Canny() এই থ্রেশহোল্ড ব্যাপ্তি সহ পদ্ধতি:

edge_otsu = cv2.Canny(img_blur, *otsu_thresh)
edge_triangle = cv2.Canny(img_blur, *triangle_thresh)
edge_manual = cv2.Canny(img_blur, *manual_thresh)

fig, ax = plt.subplots(1, 3, figsize=(18, 6), dpi=150)
ax[0].imshow(edge_otsu, cmap='gray')
ax[1].imshow(edge_triangle, cmap='gray')
ax[2].imshow(edge_manual, cmap='gray')

বিঃদ্রঃ: ফাংশনটি একাধিক আর্গুমেন্ট আশা করে এবং আমাদের থ্রেশহোল্ডগুলি একটি একক টিপল। আমরা পারি ধ্বংস এর সাথে উপসর্গ বসিয়ে একাধিক আর্গুমেন্টের মধ্যে টিপল *. এটি তালিকা এবং সেটগুলিতেও কাজ করে এবং প্রোগ্রাম্যাটিক উপায়ে সেগুলি পাওয়ার পরে একাধিক আর্গুমেন্ট সরবরাহ করার একটি দুর্দান্ত উপায়।

এর ফলে:

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

ত্রিভুজ পদ্ধতি এখানে বেশ ভাল কাজ করেছে! এটি অন্য ক্ষেত্রেও ভাল কাজ করবে এমন কোন গ্যারান্টি নেই।

cv2.Canny() সহ ভিডিওগুলিতে রিয়েল-টাইম এজ সনাক্তকরণ

অবশেষে, আসুন রিয়েল-টাইমে একটি ভিডিওতে ক্যানি প্রান্ত সনাক্তকরণ প্রয়োগ করি! আমরা ব্যবহার করে প্রসেস করা ভিডিওটি প্রদর্শন করব (প্রতিটি ফ্রেম যেমন হয়ে গেছে) cv2.imshow() যা ফ্রেমের সাথে একটি উইন্ডো প্রদর্শন করে যা আমরা প্রদর্শন করতে চাই। যদিও, আমরা ভিডিওটিকে একটি MP4 ফাইলে সংরক্ষণ করব যা পরে পরিদর্শন এবং ভাগ করা যেতে পারে।

OpenCV ব্যবহার করে একটি ভিডিও লোড করতে, আমরা ব্যবহার করি VideoCapture() পদ্ধতি যদি আমরা পাস করি 0 - এটি বর্তমান ওয়েবক্যাম থেকে রেকর্ড করবে, যাতে আপনি কোডটি আপনার ওয়েবক্যামেও চালাতে পারেন! আপনি যদি একটি ফাইলের নাম পাস করেন তবে এটি ফাইলটি লোড করবে:

def edge_detection_video(filename):
    cap = cv2.VideoCapture(filename)
    
    fourcc = cv2.VideoWriter_fourcc(*'MP4V')
    out = cv2.VideoWriter('output.mp4', fourcc, 30.0, (int(cap.get(3)), int(cap.get(4))), isColor=False)
    
    while cap.isOpened():
        (ret, frame) = cap.read()
        if ret == True:
            frame = cv2.GaussianBlur(frame, (3, 3), 0)
            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            edge = cv2.Canny(frame, 50, 100)
            out.write(edge)
            cv2.imshow('Edge detection', edge)
        else:
            break

        if cv2.waitKey(10) & 0xFF == ord('q'):
            break

    cap.release()
    out.release()
    cv2.destroyAllWindows()

edge_detection_video('secret_video.mp4')

সার্জারির VideoWriter বেশ কিছু পরামিতি গ্রহণ করে - আউটপুট ফাইলের নাম, ফোরসিসি (চারটি কোডেক কোড, ভিডিও এনকোড করার জন্য ব্যবহৃত কোডেককে বোঝায়), ফ্রেমরেট এবং রেজোলিউশন একটি টিপল হিসেবে। ভিডিওটি অনুমান বা আকার পরিবর্তন না করার জন্য - আমরা মূল ভিডিওটির প্রস্থ এবং উচ্চতা ব্যবহার করেছি, যা এর মাধ্যমে প্রাপ্ত VideoCapture উদাহরণ যেটিতে ভিডিও সম্পর্কে ডেটা রয়েছে, যেমন প্রস্থ, উচ্চতা, ফ্রেমের মোট সংখ্যা ইত্যাদি।

ক্যাপচার খোলার সময়, আমরা পরবর্তী ফ্রেমটি পড়ার চেষ্টা করি cap.read(), যা একটি ফলাফল কোড এবং পরবর্তী ফ্রেম প্রদান করে। ফলাফল কোড হল True or False, পরবর্তী ফ্রেমের উপস্থিতি বা এর অভাব নির্দেশ করে৷ শুধুমাত্র যখন একটি ফ্রেম থাকে, আমরা এটিকে আরও প্রক্রিয়া করার চেষ্টা করব, অন্যথায়, আমরা লুপটি ভেঙে ফেলব। প্রতিটি বৈধ ফ্রেমের জন্য, আমরা এটিকে একটি গাউসিয়ান ব্লার দিয়ে চালাই, এটিকে গ্রেস্কেলে রূপান্তর করি, চালাই cv2.Canny() এটিতে এবং এটি ব্যবহার করে লিখুন VideoWriter ডিস্কে, এবং ব্যবহার করে প্রদর্শন করুন cv2.imshow() একটি লাইভ দেখার জন্য।

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

আপনি যখন একটি পদ্ধতি চালান secret_video.mp4 ইনপুট - আপনি একটি উইন্ডো পপ আপ দেখতে পাবেন এবং এটি শেষ হয়ে গেলে, আপনার কাজের ডিরেক্টরিতে একটি ফাইল:

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

উপসংহার

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

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

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

Cv2.Canny() PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ পাইথনে OpenCV এজ সনাক্তকরণ। উল্লম্ব অনুসন্ধান. আ.

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

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

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

ভিতরে কি?

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

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

থেকে আরো Stackabuse