Our DEVOXX demo app with realtime object detection

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

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

সংক্ষিপ্ত বিবরণ

আমরা আসল কোডটিতে ডুব দেওয়ার আগে আমি ব্যাখ্যা করব যে আমি কী প্রযুক্তি ব্যবহার করেছি এবং কীভাবে তারা সকলে এই ডেমো অ্যাপ্লিকেশনটি তৈরি করতে একত্রিত হয়েছিল।

ডেমো নিম্নলিখিত প্রযুক্তি ব্যবহার করে:

ইলেকট্রন:

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

কোকো-এসএসডি:

টেনসরফ্লো দ্বারা একটি ডিফল্ট বাস্তবায়ন নিজেই এসএসডি সনাক্তকারী (একক শট মাল্টিবক্স সনাক্তকরণ) ব্যবহার করে using আমি প্রাক প্রশিক্ষিত মডেলটি ডাউনলোড করেছি এবং এটি গিথুব রেপোতে অন্তর্ভুক্ত রয়েছে

জোল ভি 3:

একটি অবজেক্ট সনাক্তকরণ সিস্টেম রয়েছে যা পরীক্ষার সময় পুরো চিত্রটি দেখায় এবং উল্লিখিত চিত্রটির বিশ্বব্যাপী রেফারেন্সের ভিত্তিতে এর পূর্বাভাস পেয়েছে।

node.js:

এছাড়াও এনপিএমের জন্য প্রয়োজনীয় এবং ডেমো অ্যাপ্লিকেশন তৈরির জন্য বৈদ্যুতিন কোডে খালি নোড কোড / প্যাকেজ ব্যবহার করার বিকল্প সরবরাহ করে।

উপসংহার

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

পৃষ্ঠাটি লোড হওয়ার পরে আমরা আমাদের আবিষ্কারক উদাহরণ তৈরি করি। এটি কোনও ওয়েবক্যাম থেকে চিত্রের ডেটা ফিড করতে ব্যবহৃত হবে। আমাদের ওয়েবক্যাম থেকে একটি ভিডিও স্ট্রিমও আনতে হবে, উদাহরণস্বরূপ 720p এ, কারণ আমার কাছে আমার ওয়েবক্যামের সর্বাধিক রেজোলিউশন রয়েছে। দয়া করে নোট করুন যে উচ্চতর রেজোলিউশনের জন্য আরও বেশি প্রক্রিয়াকরণ শক্তি প্রয়োজন।

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

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

সেই তথ্যটি একটি ইউটিলিটি পদ্ধতি দ্বারা খাওয়ানো হয়, যা সীমানার স্থানাঙ্ক এবং তার স্কোর সহ কোনও বস্তুর প্রকারের সাথে একটি লাল আয়তক্ষেত্রযুক্ত ক্যানভাসকে টিকা দেয়। আপডেট ফাংশনটি একটি খুব বেসিক (এবং খুব সীমাবদ্ধ) ফ্রেমরেট সময়সীমার সাথে পুনরায় চাওয়া হবে।

মূলত কোকো ফোল্ডারে অন্যান্য কোড থাকে যা বেশিরভাগ ডিফল্ট গুগল বাস্তবায়ন থেকে প্রাপ্ত এবং এই অ্যাপ্লিকেশনটির প্রয়োজন মেটাতে সংশোধিত। একটি বিষয় লক্ষণীয় হ’ল মডেলের কাজের গতি বাড়ানোর জন্য কোডের একটি ছোট অংশের জন্য এটি অবিচ্ছিন্নভাবে কাজ করার জন্য প্রয়োজনীয় পরিবর্তনগুলি হ’ল:

 

Leave a Comment