
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36

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

এখন ইমেজ প্রসেসিং স্টাফের গভীরে যাওয়ার সময় এসেছে:
কিভাবে কিছু ওয়েবক্যাম স্ট্রিম ইমেজ পেতে এবং সনাক্ত করা যায় যে কিছু সেখানে সরানো হয়েছে।
এটি পাঁচটি ধাপে গঠিত:
ধাপ 1: বস্তুর চলাফেরায় হাইলাইট করা
শাস্ত্রীয় পদার্থবিজ্ঞানে যেমন সংজ্ঞায়িত করা হয়েছে, কোন কিছু নড়াচড়া করছে বা স্থির আছে কিনা তা বোঝার জন্য একটি রেফারেন্স প্রয়োজন। এখানে, কিছু সরানো হয়েছে তা নির্ধারণ করার জন্য, এটি বেশ একই রকম: প্রতিটি একক ওয়েবক্যাম স্ট্রিম ক্যাপচার ফ্রেমকে একটি রেফারেন্স ফ্রেমের সাথে তুলনা করা হবে। যদি কিছু ভিন্ন হয়, কিছু সরানো হয়েছে। এটা যেমন সহজ শোনাচ্ছে।
এই রেফারেন্স ফ্রেমটি সবচেয়ে নিখুঁত অবস্থায় ক্যাপচার করতে হবে (উদাহরণস্বরূপ, কিছুই চলমান নয়)। ইমেজ প্রসেসিং এর জগতে, একটি ক্যাপচার করা ফ্রেম এবং একটি রেফারেন্স ফ্রেমের মধ্যে এই তুলনাটি ব্যাকগ্রাউন্ড বিয়োগ নামক একটি টেকনিক নিয়ে গঠিত। ব্যাকগ্রাউন্ড সাবট্রেশন ক্যাপচার করা ফ্রেম এবং রেফারেন্স ফ্রেম থেকে পিক্সেল-টু-পিক্সেল রঙের তথ্য আক্ষরিকভাবে বিয়োগ করে থাকে। সুতরাং, এই প্রসেস থেকে প্রাপ্ত ইমেজটি এই দুই ফ্রেমের মধ্যে কি আলাদা (বা, কি সরানো হয়েছে / কি মুভমেন্ট পেয়েছে) শুধুমাত্র আরও বিশদ বিবরণ সহ হাইলাইট / দেখাবে এবং বাকি সবকিছু ইমেজে কালো হবে (একটি ধূসরতে শূন্য মানের রঙ -স্কেল পিক্সেল)। গুরুত্বপূর্ণ: ক্যাপচার করা ওয়েবক্যামের ইমেজের লাইটিং কনডিকশন এবং কোয়ালিটি (ক্যাপচার সেন্সরের কোয়ালিটির কারণে) ফ্রেম থেকে ফ্রেমে ভিন্নতা থাকতে পারে। এটি বোঝায় যে রেফারেন্স ফ্রেম থেকে "সমান অংশ" এবং অন্য ফ্রেমগুলি ব্যাকগ্রাউন্ড বিয়োগের পরে পুরো কালো হবে না। এই আচরণের সত্ত্বেও, এই প্রকল্পে পরবর্তী পদক্ষেপগুলিতে চিত্র প্রক্রিয়াকরণের কোনও গুরুতর পরিণতি নেই।
ইমেজ প্রসেসিং টাইম কমানোর জন্য, ব্যাকগ্রাউন্ড সাবট্রেশন করার আগে, ক্যাপচার করা ফ্রেম এবং রেফারেন্স ফ্রেম একটি ধূসর স্কেলের ছবিতে রূপান্তরিত হয়। কিন্তু কেন? এটি একটি কম্পিউটিং দক্ষতা সমস্যা: একটি ছবি যা একাধিক রঙ উপস্থাপন করে (রঙের ছবি) প্রতি পিক্সেল তিনটি তথ্য রয়েছে: লাল, নীল এবং সবুজ রঙের উপাদান (পুরানো কিন্তু সোনার আরজিবি মান)। সুতরাং, matematically, প্রতিটি পিক্সেল একটি তিনটি মান অ্যারে হিসাবে সংজ্ঞায়িত করা যেতে পারে, প্রতিটি একটি রঙ উপাদান প্রতিনিধিত্ব করে। অতএব, এটি পুরো ছবিতে প্রসারিত করে, চূড়ান্ত চিত্রটি আসলে তিনটি চিত্র উপাদানগুলির মিশ্রণ হবে: লাল, নীল এবং সবুজ চিত্র উপাদান।
এটি প্রক্রিয়া করার জন্য, অনেক কাজ প্রয়োজন! যাইহোক, ধূসর স্কেলের চিত্রগুলিতে, প্রতিটি পিক্সেলের একটি মাত্র রঙের তথ্য রয়েছে। সুতরাং, ধূসর স্কেল চিত্রের তুলনায় একটি রঙিন চিত্রের প্রক্রিয়াকরণ তিনগুণ ধীর (কমপক্ষে তিনবার, কোন কৌশল জড়িত তা নির্ভর করে)। এবং আরও আছে: কিছু উদ্দেশ্যে (এই প্রকল্পের মতো), সমস্ত রঙ প্রক্রিয়া করা আবশ্যক বা গুরুত্বপূর্ণ নয়। অতএব, আমরা এই সিদ্ধান্তে এসেছি: ইমেজ প্রক্রিয়াকরণের উদ্দেশ্যে ধূসর-স্কেল ইমেজ ব্যবহার অত্যন্ত সুপারিশ করা হয়। ব্যাকগ্রাউন্ড সাবট্রেশনের পরে, গাউসিয়ান ব্লার ফিল্টার প্রয়োগ করা প্রয়োজন।
গাউসিয়ান ব্লার ফিল্টারটি ব্যাকগ্রাউন্ড বিয়োগ করা ছবির উপর প্রয়োগ করা চলমান সনাক্তকৃত বস্তুর সমস্ত রূপকে মসৃণ করে। নিশ্চিতভাবে, ইমেজ প্রক্রিয়াকরণের পরবর্তী ধাপে এটি সহায়ক হবে।
ধাপ 2: বাইনারাইজেশন

ইমেজ প্রক্রিয়াকরণের বেশিরভাগ ক্ষেত্রে, একটি ছবিতে হাইলাইট অবজেক্টস / ক্যারেক্টারটিক্সের পরে বাইনারাইজেশন প্রায় একটি বাধ্যতামূলক পদক্ষেপ। কারণ: একটি বাইনারি ইমেজে, প্রতিটি পিক্সেল রঙ শুধুমাত্র দুটি মান ধরে নিতে পারে: 0x00 (কালো) অথবা 0xFF (সাদা)। এটি ইমেজ প্রসেসিংকে অনেক সাহায্য করে যাতে পরবর্তী ধাপে ইমেজ প্রসেসিং কৌশল প্রয়োগ করার জন্য এমনকি কম "কম্পিউটিং পাওয়ার" প্রয়োজন হয়। ধূসর-স্কেল চিত্রের প্রতিটি পিক্সেল রঙকে একটি নির্দিষ্ট প্রান্তিকের সাথে তুলনা করে বাইনারাইজেশন করা যেতে পারে। যদি পিক্সেল রঙের মান থ্রেশহোল্ডের চেয়ে বেশি হয়, এই পিক্সেল রঙটি সাদা মান (0xFF) ধরে নেবে, এবং যদি পিক্সেল রঙের মান থ্রেশহোল্ডের চেয়ে কম হয়, তাহলে এই পিক্সেল রঙটি কালো মান (0x00) ধরে নেবে। দুর্ভাগ্যবশত, থ্রেশহোল্ড ভ্যালুর পছন্দ করা এত সহজ নয়। এটি পরিবেশের কারণের উপর নির্ভর করে, যেমন আলোর অবস্থা। একটি থ্রেশহোল্ড মান একটি ভুল পছন্দ আরও সব ধাপ নষ্ট করতে পারে। অতএব, আমি দৃ strongly়ভাবে সুপারিশ করছি যে আপনি কোনও পদক্ষেপ নেওয়ার আগে আপনার ক্ষেত্রে প্রকল্পের ম্যানুয়ালি একটি থ্রেশহোল্ড সামঞ্জস্য করুন। এই থ্রেশহোল্ড মানটি অবশ্যই নিশ্চিত করতে হবে যে চলমান বস্তুটি বাইনারি ইমেজে দেখায়। আমার ক্ষেত্রে, থ্রেশহোল্ডের পর্যাপ্ত পছন্দের পরে, আপনি চিত্র 5 এ যা দেখছেন তার ফলাফল।
চিত্র 5 - বাইনারি ইমেজ
ধাপ 3: প্রসারিত করুন
এখন পর্যন্ত, চলন্ত বস্তুগুলি সনাক্ত করা, সেগুলি হাইলাইট করা এবং বাইনারাইজেশন প্রয়োগ করা সম্ভব ছিল, যার ফলে চলমান বস্তুর একটি সুন্দর স্পষ্ট চিত্র পাওয়া যায় (= চিত্র প্রক্রিয়াকরণের উদ্দেশ্যে বস্তুর বেশ স্পষ্ট চিত্র)। বস্তু গণনার প্রস্তুতি প্রায় সম্পন্ন হয়েছে। এখানে "সর্বমোট" এর মানে হল যে এগিয়ে যাওয়ার আগে কিছু সূক্ষ্ম সমন্বয় করা হয়েছে। এই মুহুর্তে, বস্তুগুলিতে "গর্ত" উপস্থিত হওয়ার প্রকৃত সম্ভাবনা রয়েছে (সাদা হাইলাইট করা বস্তুর মধ্যে পিক্সেলের কালো ভর)। এই ছিদ্র কিছু হতে পারে, বিশেষ আলোর অবস্থা থেকে বস্তুর আকৃতির কিছু অংশ পর্যন্ত। একবার গর্তগুলি প্রকৃত বস্তুর ভিতরে মিথ্যা বস্তু "উত্পাদন" করতে পারে (তারা কত বড় এবং কোথায় অবস্থিত তার উপর নির্ভর করে), একটি ছবিতে গর্তের উপস্থিতির ফলাফল বস্তুর গণনার জন্য বিপর্যয়কর হতে পারে। এই ছিদ্রগুলি দূর করার একটি উপায় হল ডাইলেট নামে একটি ইমেজ প্রসেসিং টেকনিক ব্যবহার করা। এটি ব্যবহার করুন এবং গর্তগুলি চলে যায়।
ধাপ 4: কনট্যুরের জন্য অনুসন্ধান (এবং এর সেন্ট্রয়েড)

এই মুহুর্তে, আমাদের কাছে হাইলাইট করা বস্তু আছে, এর ভিতরে কোন ছিদ্র নেই এবং পরবর্তী কি আছে তার জন্য প্রস্তুত: কনট্যুর (এবং এর সেন্ট্রয়েড) অনুসন্ধান। ওপেনসিভিতে স্বয়ংক্রিয়ভাবে কনট্যুর সনাক্ত করার জন্য রিসোর্স আছে, কিন্তু সনাক্তকৃত কাউন্টারগুলি বুদ্ধিমানের সাথে বেছে নেওয়া উচিত (শুধুমাত্র আসল বস্তু বা বস্তু বাছাই করার জন্য)। সুতরাং, কনট্যুর সনাক্ত করার মানদণ্ড হল বস্তুর ক্ষেত্রফল, যা পিক্সেল² এ পরিমাপ করা হয়। যদি একটি কনট্যুরের একটি সীমার চেয়ে বেশি এলাকা থাকে (সফটওয়্যারে কনফিগার করা থাকে), তাহলে এটি গণনা করার জন্য একটি বাস্তব বস্তু হিসাবে বিবেচিত হতে হবে। এই এলাকার সীমা/মানদণ্ডের পছন্দ খুবই গুরুত্বপূর্ণ, এবং এখানে একটি খারাপ পছন্দ মানে ভুল গণনা। আপনি কিছু এলাকা মান সীমা মান চেষ্টা করতে হবে এবং আপনার ব্যবহারের জন্য কি ভাল ফিট করে তা পরীক্ষা করুন। চিন্তা করবেন না, এই সীমা খুঁজে পাওয়া / সামঞ্জস্য করা এতটা সহজ নয়। একবার চিত্রের সমস্ত বস্তু বাছাই করা হলে, পরবর্তী ধাপে এটির উপর একটি রেটঙ্গল আঁকতে হবে (এই রেটঙ্গলে এর ভিতরে একটি সম্পূর্ণ সনাক্ত বস্তু থাকতে হবে)। এবং এই আয়তক্ষেত্রের কেন্দ্র হল …. বস্তু সেন্ট্রয়েড! আপনি হয়তো ভাবছেন "এই সেন্ট্রয়েডের সাথে বড় ব্যাপার কি?", তাই না? আপনার উত্তর এখানে: বস্তুর আকার কত বড় বা কেমন তা বিবেচ্য নয়, এর গতিবিধি সেন্ট্রয়েডের সমান। অন্য কথায়: সেন্ট্রয়েড নামক এই সরল বিন্দুটি বস্তুর সমস্ত গতিবিধি প্রতিনিধিত্ব করে। এটা এখন গণনা খুব সহজ করে তোলে, তাই না? নীচের চিত্রটি দেখুন (চিত্র 6), যেখানে বস্তুর কেন্দ্রবিন্দু একটি কালো বিন্দু হিসাবে উপস্থাপিত হয়।
ধাপ 5: Centorid এর আন্দোলন এবং বস্তু গণনা
গ্র্যান্ড ফিনালে: বস্তুর সেন্ট্রয়েড স্থানাঙ্কগুলিকে প্রবেশ এবং প্রস্থান রেখার স্থানাঙ্কগুলির সাথে তুলনা করুন এবং পূর্বে বর্ণিত গণনা অ্যালগরিদম প্রয়োগ করুন। এবং চলমান বস্তুর গণনা হবে!
চূড়ান্ত ফলাফল যেমন এই পোস্টের একেবারে শুরুতে দেখানো হয়েছে, এখানে প্রকল্পটি কাজ করছে:
প্রস্তাবিত:
রাস্পবেরি পাই 3/4 এক্সটেনশন বোর্ড রাস্পবেরি পাইতে অতিরিক্ত বৈশিষ্ট্য যুক্ত করার জন্য: 15 টি ধাপ (ছবি সহ)

রাস্পবেরি পাইতে অতিরিক্ত বৈশিষ্ট্য যুক্ত করার জন্য রাস্পবেরি পাই 3/4 এক্সটেনশন বোর্ড: আমরা জানি যে রাস্পবেরি পাই 3/4 বিল্ট ইন এডিসি (এনালগ টু ডিজিটাল কনভার্টার) এবং আরটিসি (রিয়েল টাইম ক্লক) দিয়ে আসে না তাই আমি একটি পিসিবি ডিজাইন করি যাতে 16 টি থাকে চ্যানেল 12 বিট এডিসি, আরটিসি, সিম 7600 4 জি মডিউল, পুশ বোতাম, রিলে, ইউএসবি পাওয়ার আউট, 5 ভি পাওয়ার আউট, 12 ভি পাওয়ার
রাস্পবেরি পাই বস্তু সনাক্তকরণ: 7 টি ধাপ

রাস্পবেরি পাই অবজেক্ট ডিটেকশন: এই গাইড রাস্পবেরি পাই তে টেনসারফ্লো অবজেক্ট ডিটেকশন এপিআই কিভাবে সেট আপ করবেন তার জন্য ধাপে ধাপে নির্দেশনা প্রদান করে। এই গাইডের ধাপগুলি অনুসরণ করে, আপনি আপনার রাস্পবেরি পাই ব্যবহার করতে পারবেন একটি পি থেকে লাইভ ভিডিওতে বস্তু সনাক্তকরণ করতে
রাস্পবেরি পাই সহ LED ব্লিঙ্ক - রাস্পবেরি পাইতে কীভাবে জিপিআইও পিন ব্যবহার করবেন: 4 টি ধাপ

রাস্পবেরি পাই সহ LED ব্লিঙ্ক | রাস্পবেরি পাইতে কীভাবে জিপিআইও পিন ব্যবহার করবেন: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা শিখব কিভাবে জিপিআইওর রাস্পবেরি পাই ব্যবহার করতে হয়। আপনি যদি কখনো Arduino ব্যবহার করে থাকেন তাহলে সম্ভবত আপনি জানেন যে আমরা LED সুইচ ইত্যাদি তার পিনের সাথে সংযুক্ত করতে পারি এবং এটিকে এর মত কাজ করতে পারি। এলইডি ব্লিংক করুন বা সুইচ থেকে ইনপুট পান তাই
রাস্পবেরি পাই 3 এ রাস্পবিয়ান বাস্টার ইনস্টল করা রাস্পবেরি পাই 3 বি / 3 বি+: 4 ধাপ সহ রাস্পবিয়ান বাস্টার দিয়ে শুরু করা

রাস্পবেরি পাই 3 তে রাস্পবিয়ান বাস্টার ইনস্টল করা রাস্পবেরি পাই 3b / 3b+দিয়ে রাস্পবিয়ান বাস্টার দিয়ে শুরু করা: হাই বন্ধুরা, সম্প্রতি রাস্পবেরি পাই সংস্থা রাস্পবিয়ান বাস্টার নামে নতুন রাস্পবিয়ান ওএস চালু করেছে। এটি রাস্পবেরি পাই এর জন্য রাস্পবিয়ানের একটি নতুন সংস্করণ। তাই আজ এই নির্দেশাবলীতে আমরা শিখব কিভাবে আপনার রাস্পবেরি পাই 3 এ রাস্পবিয়ান বাস্টার ওএস ইনস্টল করতে হয়
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা - রাস্পবেরি পাই 3B দিয়ে শুরু করা - আপনার রাস্পবেরি পাই 3: 6 ধাপ সেট আপ করা হচ্ছে

HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা | রাস্পবেরি পাই 3B দিয়ে শুরু করা | আপনার রাস্পবেরি পাই 3 সেট আপ করা: আপনারা কেউ কেউ জানেন যে রাস্পবেরি পাই কম্পিউটারগুলি বেশ দুর্দান্ত এবং আপনি কেবলমাত্র একটি ছোট বোর্ডে পুরো কম্পিউটারটি পেতে পারেন। 1.2 GHz এ ঘড়ি। এটি পাই 3 কে মোটামুটি 50 রাখে