সুচিপত্র:

Sipeed MaiX বিট OpenMV ডেমো - কম্পিউটার ভিশন: 3 ধাপ
Sipeed MaiX বিট OpenMV ডেমো - কম্পিউটার ভিশন: 3 ধাপ

ভিডিও: Sipeed MaiX বিট OpenMV ডেমো - কম্পিউটার ভিশন: 3 ধাপ

ভিডিও: Sipeed MaiX বিট OpenMV ডেমো - কম্পিউটার ভিশন: 3 ধাপ
ভিডিও: Technology Stacks - Computer Science for Business Leaders 2016 2024, নভেম্বর
Anonim
Image
Image

এটি এজ মাইক্রোকন্ট্রোলার প্ল্যাটফর্মে Sipeed AI সম্পর্কে সিরিজের দ্বিতীয় নিবন্ধ। এইবার আমি মাইক্স বিট (সীড স্টুডিও শপের লিঙ্ক) সম্পর্কে লিখব, একটি ছোট, রুটিবোর্ড প্রস্তুত উন্নয়ন বোর্ড। এর স্পেসিফিকেশনগুলি মাইক্স ডকের অনুরূপ, আমি যে বোর্ডটি শেষ টিউটোরিয়ালের জন্য ব্যবহার করেছি, যেহেতু তারা একই চিপ, কেন্ড্রাইট কে 210 ব্যবহার করে।

আমরা কিছু OpenMV ডেমো চেষ্টা করার জন্য মাইক্রোপাইথন ফার্মওয়্যার ব্যবহার করতে যাচ্ছি। এখানে OpenMV হোমপেজ থেকে বর্ণনা দেওয়া হল:

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

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

কিছু ব্যবহারের ক্ষেত্রে আমার মনে আসে:

1) লাইন ফলোয়ার বটের জন্য লাইন ডিটেকশন

2) বৃত্ত এবং রঙ সনাক্তকরণ সহ ট্রাফিক লাইট সনাক্তকরণ

3) মুখ সনাক্তকরণ ব্যবহার করে মুখ সনাক্তকরণের জন্য মুখগুলি খুঁজে পেতে (ডিএনএন সহ)

এই নিবন্ধের জন্য Github সংগ্রহস্থল

ধাপ 1: ফ্ল্যাশ মাইক্রোপাইথন ফার্মওয়্যার

মাইক্স বিটের সাথে সংযোগ করুন
মাইক্স বিটের সাথে সংযোগ করুন

প্রথমে আমাদের বোর্ডে মাইক্রোপাইথন ফার্মওয়্যার ফ্ল্যাশ করতে হবে। Kflash.py (একটি ফ্ল্যাশ ইউটিলিটি) সহ এই প্রবন্ধের জন্য একটি পূর্ব -সংকলিত বাইনারি github সংগ্রহস্থলে অন্তর্ভুক্ত করা হয়েছে। আপনি যদি সোর্স কোড থেকে ফার্মওয়্যার কম্পাইল করতে চান, তাহলে শুধু https://github.com/sipeed/MaixPy থেকে সোর্স কোড ডাউনলোড করুন, টুলচেইন ইনস্টল করুন এবং maixpy.bin ফাইলে সোর্স কোড কম্পাইল করুন। বিস্তারিত নির্মাণ নির্দেশাবলী এখানে পাওয়া যাবে।

সঙ্গে বাইনারি ফাইল ফ্ল্যাশ করুন

sudo python3 kflash.py kpu.bin

সফল ঝলকানি পরে পরবর্তী ধাপ অনুসরণ করুন।

ধাপ 2: মাইক্স বিটের সাথে সংযোগ করুন

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

পর্দার সাথে একটি সিরিয়াল যোগাযোগ সেশন প্রতিষ্ঠার কমান্ড হল

sudo স্ক্রিন /dev /ttyUSB0 115200

যেখানে /dev /ttyUSB0 আপনার ডিভাইসের ঠিকানা।

শুভেচ্ছা বার্তা এবং পাইথন ইন্টারপ্রেটার প্রম্পট দেখতে আপনার মাইক্রোকন্ট্রোলারে রিসেট বোতাম টিপতে হতে পারে।

ধাপ 3: ডেমো চালান

এখন আপনি Ctrl+E চেপে কপি মোডে প্রবেশ করতে পারেন এবং ডেমো কোডগুলো কপি-পেস্ট করতে পারেন। সেগুলি চালানোর জন্য কপি মোডে Ctrl+D চাপুন।

আপনি যদি ভিডিও রেকর্ড করতে না চান, তাহলে আপনাকে ভিডিও রেকর্ডিং লাইনগুলি মন্তব্য করতে হবে। অন্যথায় কোন এসডি কার্ড ertedোকানো না থাকলে কোডটি ব্যতিক্রম ঘটবে।

এখানে প্রতিটি ডেমোর সংক্ষিপ্ত বিবরণ দেওয়া হল:

চেনাশোনা খুঁজুন - OpenMV থেকে find_circles ফাংশন ব্যবহার করে। আপনার সুনির্দিষ্ট অ্যাপ্লিকেশনের জন্য আরো টুইকিং প্রয়োজন, বিশেষ করে থ্রেশহোল্ড (হাফ ট্রান্সফর্ম থেকে কোন চেনাশোনা সনাক্ত করা হয় তা নিয়ন্ত্রণ করে। থ্রেশহোল্ডের চেয়ে বেশি বা সমান মাত্রার চক্রগুলি ফেরত দেওয়া হয়) এবং r_min, r_max মান।

আয়তক্ষেত্র খুঁজুন - OpenMV থেকে find_rects ফাংশন ব্যবহার করে। আপনি থ্রেশহোল্ড মান দিয়ে খেলতে পারেন, কিন্তু ডেমোতে আমার যে মান আছে তা আয়তক্ষেত্র খুঁজে পেতে বেশ ভালো কাজ করে।

মুখ খুঁজুন, চোখ খুঁজুন - ছবিতে চোখ এবং সামনের মুখ সনাক্ত করার জন্য হার ক্যাসকেডগুলির সাথে find_features ফাংশন ব্যবহার করে। আপনি সঠিক গতি-নির্ভুলতা ট্রেড-অফের জন্য থ্রেশহোল্ড এবং স্কেল মানগুলির সাথে খেলতে পারেন।

অসীম লাইন খুঁজুন - হাফ ট্রান্সফর্ম ব্যবহার করে ছবিতে সমস্ত অসীম লাইন খুঁজে পেতে find_lines ফাংশন ব্যবহার করে।

রঙ সনাক্ত করুন - পার্সেন্টাইল বস্তু পেতে get_statistics ফাংশন ব্যবহার করে এবং তারপর LAB tuple এর গড় মানগুলিকে RGB মান tuple এ রূপান্তর করে। আমি এই উদাহরণটি নিজেই লিখেছি এবং এটি বেশ ভাল কাজ করে, কিন্তু মনে রাখবেন রঙ সনাক্তকরণের ফলাফল পরিবেষ্টিত আলোর অবস্থার দ্বারা প্রভাবিত হবে।

আপনি OpenMV github সংগ্রহস্থলে আরও অনেক আকর্ষণীয় ডেমো খুঁজে পেতে পারেন! এগুলি বেশিরভাগই মাইক্স বিট মাইক্রোপাইথনের সাথে সামঞ্জস্যপূর্ণ, পিক্সফরম্যাট এবং ফ্রেমসাইজ সেট করার পরে আপনার কেবল মনে রাখা দরকার সেন্সর.রুন (1) যুক্ত করা।

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

প্রস্তাবিত: