সুচিপত্র:

রাস্পবেরি পাই/আরডুইনো এর জন্য এআই ক্যামেরা: 7 টি ধাপ
রাস্পবেরি পাই/আরডুইনো এর জন্য এআই ক্যামেরা: 7 টি ধাপ

ভিডিও: রাস্পবেরি পাই/আরডুইনো এর জন্য এআই ক্যামেরা: 7 টি ধাপ

ভিডিও: রাস্পবেরি পাই/আরডুইনো এর জন্য এআই ক্যামেরা: 7 টি ধাপ
ভিডিও: অ্যাপ থেকে ব্লুটুথের মাধ্যমে আরডুইনোতে পাঠানো কমান্ড বের করার উপায় | Decode Arduino Bluetooth App 2024, নভেম্বর
Anonim
Image
Image

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

ধাপ 1: Sipeed MAix: প্রান্তে AI

Sipeed MAix: প্রান্তে AI
Sipeed MAix: প্রান্তে AI

এতদিন আগে আমি Sipeed M1w K210 ডেভেলপমেন্ট বোর্ডে হাত পেয়েছিলাম, যার ডুয়াল কোর RISC-V 64bit CPU আছে এবং এটি একটি অন-বোর্ড KPU (নিউরাল নেটওয়ার্ক প্রসেসর) নিয়ে গর্ব করে, বিশেষ করে ইমেজ প্রসেসিংয়ের জন্য CNN কে ত্বরান্বিত করার জন্য ডিজাইন করা হয়েছে। আপনি এখানে আরো বিস্তারিত পড়তে পারেন।

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

এই টিউটোরিয়ালটি ব্যাখ্যা করে কিভাবে মোবাইলনেট 20 শ্রেণী সনাক্তকরণ মডেল ব্যবহার করে বস্তু সনাক্ত করা যায় এবং সনাক্তকৃত বস্তুর কোড UART এর মাধ্যমে পাঠানো হয়, যেখান থেকে এটি Arduino/Raspberry Pi দ্বারা প্রাপ্ত হতে পারে।

এখন, এই টিউটোরিয়ালটি অনুমান করে যে আপনি লিনাক্স এবং সি কোড কম্পাইল করার মূল বিষয়গুলির সাথে পরিচিত। যদি এই বাক্যাংশটি শুনে আপনার একটু মাথা খারাপ হয়ে যায়:) তাহলে ধাপ 4 এ যান, যেখানে আপনি আমার পূর্বনির্মিত বাইনারি Sipeed M1 এ আপলোড করুন এবং কম্পাইলিং এড়িয়ে যান।

পদক্ষেপ 2: আপনার পরিবেশ প্রস্তুত করুন

আপনার পরিবেশ প্রস্তুত করুন
আপনার পরিবেশ প্রস্তুত করুন

আমি সি কোড সংকলন এবং আপলোডের জন্য উবুন্টু 16.04 ব্যবহার করেছি। উইন্ডোজে এটি করা সম্ভব, কিন্তু আমি নিজেও চেষ্টা করিনি।

RISC-V GNU কম্পাইলার টুলচেন ডাউনলোড করুন, সমস্ত প্রয়োজনীয় নির্ভরতা ইনস্টল করুন।

git clone-recursive

sudo apt-get autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev

ডাউনলোড করা টুলচেইনে /অপ্ট ডিরেক্টরিতে অনুলিপি করুন। তারপরে নিম্নলিখিত কমান্ডগুলি চালান

./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany

তৈরি করা

আপনার PATH এ এখন/opt/kendryte-toolchain/bin যোগ করুন।

আপনি এখন কোড কম্পাইল করার জন্য প্রস্তুত!

ধাপ 3: কোড কম্পাইল করুন

কোড কম্পাইল করুন
কোড কম্পাইল করুন

আমার github সংগ্রহস্থল থেকে কোড ডাউনলোড করুন।

Kendryte K210 স্বতন্ত্র SDK ডাউনলোড করুন

SDK- এ /src ফোল্ডারে আমার github সংগ্রহস্থল থেকে /kpu ফোল্ডারটি অনুলিপি করুন।

SDK ফোল্ডারে নিম্নলিখিত কমান্ডগুলি চালান (না /src ফোল্ডার!)

mkdir build && cd build

cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make

যেখানে project_name হল আপনার প্রকল্পের নাম (আপনার উপর) এবং -DTOOLCHAIN = আপনার risc -v টুলচেইনের অবস্থান নির্দেশ করা উচিত (আপনি এটি প্রথম ধাপে ডাউনলোড করেছেন, মনে আছে?)

দারুণ! এখন আশা করি আপনি দেখবেন সংকলন কোন ত্রুটি ছাড়াই শেষ হয়েছে এবং আপনার একটি.bin ফাইল আছে যা আপনি আপলোড করতে পারেন।

ধাপ 4:.bin ফাইল আপলোড করা

. Bin ফাইল আপলোড করা হচ্ছে
. Bin ফাইল আপলোড করা হচ্ছে

এখন আপনার Sipeed M1 কে কম্পিউটারে সংযুক্ত করুন এবং /build ফোল্ডার থেকে নিম্নলিখিত কমান্ডটি চালান

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin

যেখানে kpu.bin আপনার.bin ফাইলের নাম।

আপলোডটি সাধারণত 2-3 মিনিট সময় নেয়, এটি সম্পন্ন হওয়ার পরে আপনি বোর্ডটি 20 টি ক্লাস সনাক্তকরণ দেখতে পাবেন। আমাদের জন্য শেষ ধাপ হল এটি Arduino মেগা বা রাস্পবেরি পাই এর সাথে সংযুক্ত করা।

!!! যদি আপনি শুধু ধাপ 2 থেকে এসে থাকেন !

যে ফোল্ডারটি আপনি আমার গিথুব সংগ্রহস্থল ক্লোন করেছেন সেখান থেকে নিম্নলিখিত কমান্ডটি চালান

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin

আপলোডটি সাধারণত 2-3 মিনিট সময় নেয়, এটি সম্পন্ন হওয়ার পরে আপনি বোর্ডটি 20 টি ক্লাস সনাক্তকরণ দেখতে পাবেন। আমাদের জন্য শেষ ধাপ হল এটি Arduino মেগা বা রাস্পবেরি পাই এর সাথে সংযুক্ত করা।

ধাপ 5: Arduino এর সাথে সংযোগ স্থাপন

Arduino এর সাথে সংযোগ স্থাপন
Arduino এর সাথে সংযোগ স্থাপন
Arduino এর সাথে সংযোগ স্থাপন
Arduino এর সাথে সংযোগ স্থাপন
Arduino এর সাথে সংযোগ স্থাপন
Arduino এর সাথে সংযোগ স্থাপন

আমি সিড স্টুডিও মেগা শিল্ডের সাথে আরডুইনো মেগা ব্যবহার করেছি, এজন্যই আমি সিপিড এম 1 বোর্ডে একটি গ্রোভ সংযোগকারী বিক্রি করেছি। যাইহোক আপনি কেবল জাম্পার তার ব্যবহার করতে পারেন এবং এই ওয়্যারিং ডায়াগ্রামটি অনুসরণ করে Sipeed M1 কে সরাসরি Arduino Mega তে সংযুক্ত করতে পারেন।

তারপরে ক্যামেরা.ইনো স্কেচ আপলোড করুন এবং সিরিয়াল মনিটর খুলুন। যখন আপনি ক্যামেরাটিকে বিভিন্ন বস্তুর দিকে নির্দেশ করেন (20 শ্রেণীর তালিকা স্কেচে রয়েছে) তখন এটি সিরিয়াল মনিটরে ক্লাসের নাম আউটপুট করা উচিত!

অভিনন্দন! আপনার এখন আপনার Arduino এর জন্য চিত্র সনাক্তকরণ মডিউল কাজ করছে!

ধাপ 6: রাস্পবেরি পাই এর সাথে সংযোগ স্থাপন

রাস্পবেরি পাই এর সাথে সংযুক্ত
রাস্পবেরি পাই এর সাথে সংযুক্ত
রাস্পবেরি পাই এর সাথে সংযুক্ত
রাস্পবেরি পাই এর সাথে সংযুক্ত

আমি রাস্পবেরি পাই 2 বি এর জন্য গ্রোভ পাই+ টুপি ব্যবহার করেছি, কিন্তু আবার, আরডুইনোর মতো আপনি এই ওয়্যারিং ডায়াগ্রামটি অনুসরণ করে সরাসরি সিপিড এম 1 কে রাস্পবেরি পাই এর ইউএআরটি ইন্টারফেসের সাথে সরাসরি সংযুক্ত করতে পারেন।

এর পরে camera_speak.py চালু করুন এবং ক্যামেরাটিকে বিভিন্ন বস্তুর দিকে নির্দেশ করুন, টার্মিনাল নিম্নলিখিত পাঠ্যটি "আমার মনে হয় এটি" আউটপুট করবে এবং যদি আপনার স্পিকার সংযুক্ত থাকে তবে এটি এই শব্দটি উচ্চস্বরে বলবে। বেশ শান্ত, তাই না?

ধাপ 7: উপসংহার

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

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

প্রস্তাবিত: