সুচিপত্র:

ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ

ভিডিও: ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ

ভিডিও: ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ
ভিডিও: রোবোটিকস | রোবট বানাতে প্রয়োজনীয় উপকরণ | Materials for making robot 2024, নভেম্বর
Anonim
Image
Image
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো

Techovator0819 আমার ইউটিউব চ্যানেল লেখকের আরও অনুসরণ করুন:

আইওটি: আবহাওয়া বাক্স (কাস্টম অ্যালার্ম এবং টাইমার সহ)
আইওটি: আবহাওয়া বাক্স (কাস্টম অ্যালার্ম এবং টাইমার সহ)
আইওটি: আবহাওয়া বাক্স (কাস্টম অ্যালার্ম এবং টাইমার সহ)
আইওটি: আবহাওয়া বাক্স (কাস্টম অ্যালার্ম এবং টাইমার সহ)
বহু-কার্যকরী স্বায়ত্তশাসিত রোবট: 'সম্পদ'
বহু-কার্যকরী স্বায়ত্তশাসিত রোবট: 'সম্পদ'
বহুমুখী স্বায়ত্তশাসিত রোবট: 'সম্পদ'
বহুমুখী স্বায়ত্তশাসিত রোবট: 'সম্পদ'

সম্পর্কে: আমি শুধু নতুন জিনিস করতে ভালোবাসি। মাইক্রো-কন্ট্রোলার, মেকানিক্যাল ইঞ্জিনিয়ারিং, আর্টিফিশিয়াল ইন্টেলিজেন্স, কম্পিউটার সায়েন্স এবং যেকোনো কিছু যা আমার আগ্রহের বিষয় নিয়ে কাজ করে। এবং এখানে আপনি সব পাবেন… Techovator0819 সম্পর্কে »

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

এই ডিভাইসটি ফ্রেমে আপনার চেহারা চিনতে পারে, তারপর এটি Arduino কে কিছু কমান্ড পাঠায় যাতে ক্যামেরাটি এমনভাবে অবস্থান করে যে এটি ফ্রেমের ভিতরে থাকে! ঠান্ডা লাগছে? আসুন তাহলে এটিতে প্রবেশ করি।

সরবরাহ

1. আরডুইনো ইউএনও

2. 2 x Servo Motors (যেকোনো servo মোটর ঠিক থাকবে কিন্তু আমি টাওয়ার প্রো SG90 ব্যবহার করেছি)

3. পাইথন ইনস্টল করা

4. OpenCV ইনস্টল করা

5. ওয়েব-ক্যামেরা

ধাপ 1: পাইথন এবং ওপেনসিভি ইনস্টল করা

পাইথন ইনস্টল করা বেশ সোজা এগিয়ে!

www.python.org/downloads/

আপনি পাইথন সংস্করণ (ম্যাক, উইন্ডোজ বা লিনাক্স) ডাউনলোড করতে উপরের লিঙ্কটি অনুসরণ করতে পারেন যা আপনার জন্য সবচেয়ে উপযুক্ত (64 বিট বা 32 বিট)। বাকি ইনস্টলেশন প্রক্রিয়াটি সহজ এবং আপনি ইন্টারফেসের মাধ্যমে পরিচালিত হবেন।

একবার আপনি ইনস্টলেশন সম্পন্ন হলে, আপনার কমান্ড প্রম্পট খুলুন এবং নিম্নলিখিত টাইপ করুন:

pip opencv-python ইনস্টল করুন

যে openCV লাইব্রেরি ইনস্টল করা উচিত। শুটিং করতে সমস্যা হলে, আপনি এই পৃষ্ঠাটি দেখতে পারেন।

পরিবেশ এবং সমস্ত পূর্বশর্তগুলি স্থাপন করার পরে, আসুন আমরা কীভাবে এটি তৈরি করতে পারি তা দেখি!

ধাপ 2: হার-এর মত বৈশিষ্ট্য কি?

হার-এর মতো বৈশিষ্ট্যগুলি একটি ডিজিটাল চিত্রের বৈশিষ্ট্য। নামটি তরঙ্গ তরঙ্গ থেকে এসেছে। এগুলি বর্গাকৃতির আকৃতির তরঙ্গের পরিবার যা ডিজিটাল ছবিতে বৈশিষ্ট্য চিহ্নিত করতে ব্যবহৃত হয়। হার ক্যাসকেডগুলি মূলত একটি শ্রেণীবদ্ধকারী যা আমাদের হার-এর মতো বৈশিষ্ট্যগুলি ব্যবহার করে বস্তুগুলি সনাক্ত করতে সহায়তা করে (আমাদের ক্ষেত্রে মুখগুলি)।

আমাদের ক্ষেত্রে, সরলতার জন্য, আমরা মুখ সনাক্ত করার জন্য প্রাক-প্রশিক্ষিত হার ক্যাসকেড ব্যবহার করব আপনি একটি গিথুব পৃষ্ঠার এই লিঙ্কটি অনুসরণ করতে পারেন এবং হার ক্যাসকেডের জন্য xml ফাইলটি ডাউনলোড করতে পারেন।

1. 'haarcascade_frontalface_alt.xml' এ ক্লিক করুন

2. কোড উইন্ডোর উপরের ডানদিকে 'কাঁচা' বোতামে ক্লিক করুন।

3. এটি আপনাকে কেবল পাঠ্য সহ অন্য পৃষ্ঠায় পরিচালিত করবে।

4. ডান ক্লিক করুন এবং 'সংরক্ষণ করুন..' টিপুন

5. আপনি যে পাইথন কোডটি লিখেছেন সেই একই ডিরেক্টরি বা ফোল্ডারে সংরক্ষণ করুন।

ধাপ 3: পাইথনে কোডিং

আমদানি cv2

np আমদানি সিরিয়াল আমদানি সময় হিসাবে numpy আমদানি

আমরা আমাদের প্রয়োজনীয় সমস্ত লাইব্রেরি আমদানি করি।

ard = serial. Serial ("COM3", 9600)

আমরা 'ard' নামে একটি সিরিয়াল বস্তু তৈরি করি। আমরা পোর্টের নাম এবং বাউডরেটকেও প্যারামিটার হিসেবে উল্লেখ করি।

face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml')

আমরা আমাদের হার ক্যাসকেডের জন্য আরেকটি বস্তু তৈরি করি। নিশ্চিত করুন যে HaarCascade ফাইলটি এই পাইথন প্রোগ্রামের মতো একই ফোল্ডারে রয়ে গেছে।

vid = cv2। ভিডিও ক্যাপচার (0)

আমরা একটি বস্তু তৈরি করি যা ওয়েবক্যাম থেকে ভিডিও ধারণ করে। প্যারামিটার হিসাবে 0 মানে আমার পিসির সাথে সংযুক্ত প্রথম ওয়েব ক্যাম।

docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html

যখন সত্য:

_, ফ্রেম = vid.read ()#বর্তমান ফ্রেমটি ভেরিয়েবল ফ্রেম ধূসর = cv2.cvtColor (ফ্রেম, cv2. COLOR_BGR2GRAY)#রূপান্তর ফ্রেম -> ধূসর চিত্র#নিচের লাইন মুখ সনাক্ত করে। #প্রথম প্যারামিটার হল সেই ছবি যার উপর আপনি #মিনিসাইজ = () পিক্সেলের দিক দিয়ে মুখের সর্বনিম্ন আকার নির্দিষ্ট করেন #ক্যাসকেড শ্রেণীবিভাগ সম্পর্কে আরও জানতে উপরের লিঙ্কে ক্লিক করুন = face_cascade.detectMultiScale (ধূসর, minSize = (,০,)০), মিনি প্রতিবেশী =)) #A লুপের জন্য মুখ সনাক্ত করতে। মুখে (x, y, w, h) জন্য: cv2.rectangle (ফ্রেম, (x, y), (x+w, y+h), (255, 0, 0), 2) মুখ Xpos = x+(w/2)#মুখের কেন্দ্রের X স্থানাঙ্ক গণনা করে। Ypos = y+(h/2) #Xpos> 280: #মুখের কেন্দ্রের Y কো-অর্ডিনেট গণনা করে বাম, ডান, উপরের বা নীচের সময়টির সাথে। ঘুম (0.01) #ফ্রেমের কেন্দ্র। elif Xpos 280: ard.write ('D'.encode ()) time.sleep (0.01) elif Ypos <200: ard.write (' U'.encode ()) time.sleep (0.01) else: ard.write ('S'.encode ()) time.sleep (0.01) break cv2.imshow (' frame ', frame)#একটি পৃথক উইন্ডোতে ফ্রেমটি প্রদর্শন করে। k = cv2। বিরতি

cv2.destroyAllWindows () #সব উইন্ডো বন্ধ করে দেয়

ard.close () #সিরিয়াল যোগাযোগ বন্ধ করে দেয়

vid.release () #ওয়েব ক্যাম থেকে ভিডিও গ্রহণ বন্ধ করে দেয়।

ধাপ 4: Arduino প্রোগ্রামিং

আপনার প্রয়োজন অনুসারে আপনার হার্ডওয়্যার সেটআপ অনুযায়ী প্রোগ্রামটি বিনা দ্বিধায় পরিবর্তন করুন।

#অন্তর্ভুক্ত

Servo servoX;

Servo servoY;

int x = 90;

int y = 90;

অকার্যকর সেটআপ() {

// আপনার সেটআপ কোড এখানে রাখুন, একবার চালানোর জন্য: Serial.begin (9600); servoX.attach (9); servoY.attach (10); servoX.write (x); servoY.write (y); বিলম্ব (1000); }

চার ইনপুট = ""; // সিরিয়াল ইনপুট এই ভেরিয়েবলে সংরক্ষণ করা হয়

অকার্যকর লুপ () {

// বারবার চালানোর জন্য এখানে আপনার প্রধান কোডটি রাখুন: // একটি ভেরিয়েবলে ডেটা পড়ে যদি (ইনপুট == 'ইউ') {servoY.write (y+1); // ইনপুট y += 1 অনুযায়ী servo কোণ সমন্বয় করে; // কোণের মান আপডেট করে} অন্যথায় (ইনপুট == 'ডি') {servoY.write (y-1); y -= 1; } অন্য {servoY.write (y); } যদি (ইনপুট == 'এল') {servoX.write (x-1); x -= 1; } অন্যথায় যদি (ইনপুট == 'আর') {servoX.write (x+1); x += 1; } অন্য {servoX.write (x); } ইনপুট = ""; // ভেরিয়েবল সাফ করে} // প্রক্রিয়াটি পুনরাবৃত্তি করতে থাকে !!:)}

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

এটি একটি চমৎকার এবং একটি ইন্টারেক্টিভ উপায় যার মাধ্যমে আপনি আপনার Arduino প্রকল্পে কম্পিউটার ভিশন অন্তর্ভুক্ত করতে পারেন। কম্পিউটার ভিশন আসলে বেশ মজার। এবং আমি সত্যিই আশা করি আপনারা এটা পছন্দ করেছেন। যদি হ্যাঁ, আমাকে মন্তব্যগুলিতে জানান। এবং দয়া করে আমার ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুন। অগ্রিম ধন্যবাদ <3 <3

youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/videos

প্রস্তাবিত: