সুচিপত্র:
- সরবরাহ
- ধাপ 1: পাইথন এবং ওপেনসিভি ইনস্টল করা
- ধাপ 2: হার-এর মত বৈশিষ্ট্য কি?
- ধাপ 3: পাইথনে কোডিং
- ধাপ 4: Arduino প্রোগ্রামিং
- ধাপ 5: উপসংহার
ভিডিও: ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
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
প্রস্তাবিত:
আরডুইনো ব্যবহার করে ফেস ট্র্যাকিং !!!: 7 টি ধাপ
আরডুইনো ব্যবহার করে ফেস ট্র্যাকিং !!! যদি আপনি এটি না দেখে থাকেন তবে এটি এখানে দেখুন: আরডুইনোর মধ্যে যোগাযোগ & পাইথন! এবং আপনি কিভাবে রঙ সনাক্ত করতে পারেন
মুখ সনাক্তকরণ এবং সনাক্তকরণ - OpenCV পাইথন এবং Arduino ব্যবহার করে Arduino ফেস আইডি: 6 ধাপ
মুখ সনাক্তকরণ এবং সনাক্তকরণ | ওপেনসিভি পাইথন এবং আরডুইনো ব্যবহার করে আরডুইনো ফেস আইডি: মুখের স্বীকৃতি AKA ফেস আইডি আজকাল মোবাইল ফোনের অন্যতম গুরুত্বপূর্ণ বৈশিষ্ট্য। সুতরাং, আমার একটি প্রশ্ন ছিল " আমি কি আমার আরডুইনো প্রকল্পের জন্য একটি ফেস আইডি রাখতে পারি " এবং উত্তর হল হ্যাঁ … আমার যাত্রা নিম্নরূপ শুরু হয়েছিল: ধাপ 1: আমাদের প্রবেশাধিকার
Arduino ব্যবহার করে জিপিএস ট্র্যাকিং এবং সতর্কতা সহ মহিলাদের নিরাপত্তা ডিভাইস: 6 টি ধাপ
আরডুইনো ব্যবহার করে জিপিএস ট্র্যাকিং এবং সতর্কতা সহ মহিলাদের সুরক্ষা ডিভাইস: সাম্প্রতিক সময়ে আমাদের কাছে উপলব্ধ সমস্ত প্রযুক্তির সাথে, মহিলাদের জন্য একটি সুরক্ষা ডিভাইস তৈরি করা কঠিন নয় যা কেবল একটি জরুরি অ্যালার্ম তৈরি করবে না বরং আপনার বন্ধু, পরিবারকে একটি বার্তাও পাঠাবে , অথবা সংশ্লিষ্ট ব্যক্তি। এখানে আমরা একটি ব্যান্ড তৈরি করব
ফেস ট্র্যাকিং এবং হাসি সনাক্তকারী হ্যালোইন রোবট: 8 টি ধাপ (ছবি সহ)
ফেস ট্র্যাকিং এবং হাসি সনাক্তকারী হ্যালোইন রোবট: হ্যালোইন আসছে! আমরা কিছু সুন্দর করার সিদ্ধান্ত নিয়েছি। ভূত এবং স্কলি রোবটের সাথে দেখা করুন। তারা আপনার মুখ অনুসরণ করতে পারে এবং তারা জানে আপনি যখন আপনার সাথে হাসতে হাসছেন! এই প্রকল্পটি আইরবি অ্যাপ ব্যবহার করার আরেকটি উদাহরণ যা আইফোনকে রূপান্তর করে
জিপিএস এবং টু-ওয়ে রেডিও থেকে ক্রুড ট্র্যাকিং ডিভাইস: 7 টি ধাপ
জিপিএস এবং টু-ওয়ে রেডিও থেকে ক্রুড ট্র্যাকিং ডিভাইস: সুতরাং, আমি একটি ট্র্যাকিং ডিভাইস পেতে চেয়েছিলাম। যত তাড়াতাড়ি আমি বাজারের দিকে তাকালাম, আমি বুঝতে পারলাম those জিনিসগুলির একটির দাম হাত থেকে শুরু হয়, এবং এক পা বা তারও বেশি পর্যন্ত যায়! উন্মাদনা বন্ধ করতে হবে! অবশ্যই কিছু জানার নীতি আমি কোথায়