সুচিপত্র:
- ধাপ 1: আপনার যা প্রয়োজন হবে:
- পদক্ষেপ 2: পাইথন পরিবেশ স্থাপন করা:
- ধাপ 3: পাইথন স্ক্রিপ্ট:
- ধাপ 4: Arduino কোড:
- ধাপ 5: প্যান-টিল্ট মেকানিজম:-
- ধাপ 6: সংযোগ তৈরি করা:
- ধাপ 7: পরীক্ষা:
ভিডিও: আরডুইনো ব্যবহার করে ফেস ট্র্যাকিং !!!: 7 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
পূর্ববর্তী নির্দেশনায় আমি ভাগ করেছিলাম কিভাবে আপনি 'পিসেরিয়াল' মডিউল ব্যবহার করে আরডুইনো এবং পাইথনের মধ্যে যোগাযোগ করতে পারেন এবং একটি LED নিয়ন্ত্রণ করতে পারেন। আপনি যদি এটি না দেখে থাকেন তবে এটি এখানে দেখুন: আরডুইনো এবং পাইথনের মধ্যে যোগাযোগ!
এবং কিভাবে আপনি একটি বস্তুর রঙ সনাক্ত করতে পারেন এবং স্ক্রিনে এটি ট্র্যাক করতে পারেন, তা এখানে দেখুন: OPENCV এবং PYTHON ব্যবহার করে রঙ সনাক্তকরণ।
এই নির্দেশনায় আমি আপনাকে দেখাব কিভাবে Arduino এবং Python ব্যবহার করে মুখগুলি ট্র্যাক করতে হয় এবং ক্যামেরাটিকে মুখ অনুসরণ করতে হয়। এটি কঠিন মনে হতে পারে কিন্তু আমার উপর বিশ্বাস করুন এটি নয়, আপনার প্রয়োজন শুধু আরডুইনো এবং পাইথনের প্রাথমিক জ্ঞান।
চল শুরু করা যাক…
ধাপ 1: আপনার যা প্রয়োজন হবে:
প্রয়োজনীয়তা সর্বনিম্ন। এখানে আমি আপনার প্রয়োজনীয় সবকিছু অংশ তালিকা প্রদান করেছি:
হার্ডওয়্যারের প্রয়োজনীয়তা:
- আরডুইনো ইউএনও (অ্যামাজন ইউএস / আমাজন ইইউ)
- ওয়েব ক্যাম (অ্যামাজন ইউএস / আমাজন ইইউ)
- Servos x 2 (Amazon US / Amazon EU)
- ব্রেডবোর্ড (অ্যামাজন ইউএস / আমাজন ইইউ)
- Servo Pan Tilt Kit (Amazon US / Amazon EU)
সফটওয়্যারের প্রয়োজনীয়তা:
- পাইথন 2.7 (ইনস্টল করা উচিত, লিনাক্স ওএস সাধারণত এটি আগে থেকেই ইনস্টল করা থাকে)
- ওপেনসিভি (আপনি এটি আলাদাভাবে ডাউনলোড করতে পারেন বা 'পিপ ইনস্টল' ব্যবহার করে আরও ব্যাখ্যা করতে পারেন)
- pyserial (পিপ দিয়ে ইনস্টল করা যায়)
- অসাড়
- হারকাসকেড।
প্রতিটি জিনিস একত্রিত হওয়ার পরে আমরা ইনস্টলেশন ধাপে যেতে পারি …
পদক্ষেপ 2: পাইথন পরিবেশ স্থাপন করা:
পাইথন ইনস্টল করা হচ্ছে:
তাই প্রথমে আমাদের পাইথন 2.7 আপ এবং চলমান প্রয়োজন। এটি করার জন্য প্রথমে পাইথন 2.7.14 ডাউনলোড এবং ইনস্টল করুন। এটি সঠিকভাবে ইনস্টল করা আছে কিনা তা পরীক্ষা করতে গোটো: উইন্ডোজ অনুসন্ধান >> টাইপ করুন "আইডিএল" >> এন্টার টিপুন। একটি পাইথন শেল পপ আপ করা উচিত।
অথবা
সার্চে টাইপ করুন 'সিএমডি' এবং কমান্ড প্রম্পট খুলতে এন্টার চাপুন। সিএমডি টাইপ >> পাইথন এবং এন্টার চাপুন, পাইথন ইন্টারফেস প্রদর্শন করা উচিত।
যদি আপনি সিএমডিতে একটি ত্রুটি দেখতে পান, তাহলে আতঙ্কিত হবেন না আপনাকে সম্ভবত পরিবেশের পরিবর্তনশীল সেট করতে হবে। এনভায়রনমেন্ট ভেরিয়েবল সেট করতে আপনি এই টিউটোরিয়ালটি অনুসরণ করতে পারেন।
পাইথনে 'pyserial', 'OpenCV' এবং 'numpy' ইনস্টল করা হচ্ছে:
এই মডিউলগুলি ইনস্টল করার জন্য আমরা পিপ ইনস্টল ব্যবহার করব, প্রথমে সিএমডি খুলুন এবং নিম্নলিখিত কোডগুলি টাইপ করুন:-
পিপ ইনস্টল সিরিয়াল
pip install opencv-python> pip install numpy
এই কমান্ডগুলি প্রয়োজনীয় মডিউলগুলি ইনস্টল করবে। এখন আমরা কোডিং অংশে যেতে পারি …
ধাপ 3: পাইথন স্ক্রিপ্ট:
কোড লিখতে শুরু করার আগে প্রথমে একটি নতুন ফোল্ডার তৈরি করা উচিত কারণ সমস্ত কোড একই ফোল্ডারে সংরক্ষণ করা প্রয়োজন। সুতরাং একটি নতুন ফোল্ডার তৈরি করুন, আপনি যা চান তার নাম দিন। এবং নিচ থেকে 'হারকাসকেড' ডাউনলোড করে ফোল্ডারে পেস্ট করুন।
এখন নোটপ্যাড খুলুন এবং নীচে দেওয়া স্ক্রিপ্টটি লিখুন, এটিকে 'face.py' হিসাবে হারকাসকেডের মতো ফোল্ডারে সংরক্ষণ করুন। (নীচের ফাইলটি আমি যে কোডটি দিয়েছি তা আপনি ডাউনলোড করতে পারেন):
#সমস্ত প্রয়োজনীয় মডিউল আমদানি করুন
nmp আমদানি সিরিয়াল আমদানি সময় হিসাবে আমদানি করুন sys আমদানি cv2 #arduino এর জন্য যোগাযোগের পথ সেট করুন ('COM5' এর জায়গায় আপনার arduino সংযুক্ত পোর্টটি রাখুন) arduino = serial. Serial ('COM5', 9600) time.sleep (2) প্রিন্ট ("arduino- এর সাথে সংযুক্ত …") #মুখ সনাক্তকরণের জন্য হারকাসকেড আমদানি করা face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml') #ওয়েবক্যাম থেকে ভিডিও স্ট্রিম ক্যাপচার করতে। cap = cv2. VideoCapture (0) #ক্যাপচার করা ছবিটি পড়ুন, ধূসর ছবিতে রূপান্তর করুন এবং 1: ret, img = cap.read () cv2.resizeWindow ('img', 500, 500) cv2.line (img, (500, 250), (0, 250), (0, 255, 0), 1) cv2.line (img, (250, 0), (250, 500), (0, 255, 0), 1) cv2.circle (img, (250, 250), 5, (255, 255, 255), -1) ধূসর = cv2.cvtColor (img, cv2. COLOR_BGR2GRAY) face = face_cascade.detectMultiScale (ধূসর, 1.3) # মুখটি সনাক্ত করুন এবং এর চারপাশে একটি আয়তক্ষেত্র তৈরি করুন। মুখে (x, y, w, h) জন্য: cv2.rectangle (img, (x, y), (x+w, y+h), (0, 255, 0), 5) roi_gray = ধূসর [y: y+h, x: x+w] roi_color = img [y: y+h, x: x+w] arr = {y: y+h, x: x+w} print (arr) print ('X: '+str (x)) print (' Y: '+str (y)) print (' x+w: '+str (x+w)) print (' y+h: '+str (y+h))) # রই কেন্দ্র (আয়তক্ষেত্র) xx = int (x+(x+h))/2 yy = int (y+(y+w))/2 print (xx) print (yy) center = (xx, yy) # arduino প্রিন্টে ডেটা পাঠানো ("আয়তক্ষেত্রের কেন্দ্র হল:", কেন্দ্র) ডেটা = "X {0: d} Y {1: d} Z".ফরম্যাট (xx, yy) প্রিন্ট ("আউটপুট = '" +ডেটা + "'") arduino.write (ডেটা) #স্ট্রিম প্রদর্শন করুন। cv2.imshow ('img', img) #হিট 'Esc' এক্সিকিউশন বন্ধ করতে k = cv2.waitKey (30) & 0xff যদি k == 27: break
একবার এটি হয়ে গেলে, আরডুইনো এর জন্য কোড লিখতে এগিয়ে যান …
ধাপ 4: Arduino কোড:
পাইথন স্ক্রিপ্ট প্রস্তুত হওয়ার পর সার্ভো নিয়ন্ত্রণের জন্য আমাদের আরডুইনো স্কেচ দরকার। নীচের কোডটি পড়ুন, এটি Arduino IDE এ পেস্ট করুন এবং face.py এবং haarcascade- এর মতো একই ফোল্ডারে 'servo.ino' হিসাবে সংরক্ষণ করুন। কোড আপলোড করুন এবং সংযোগগুলি তৈরি করতে পরবর্তী ধাপে যান।
(ডাউনলোডযোগ্য ফাইল নিচে দেওয়া আছে)
#অন্তর্ভুক্ত
Servo servoVer; // উল্লম্ব Servo Servo servoHor; // অনুভূমিক Servo int x; int y; int prevX; int prevY; অকার্যকর সেটআপ () {Serial.begin (9600); servoVer.attach (5); // 5 servoHor.attach (6) পিন করার জন্য উল্লম্ব Servo সংযুক্ত করুন; // অনুভূমিক Servo পিন 6 servoVer.write (90) সংযুক্ত করুন; servoHor.write (90); } অকার্যকর পস () {যদি (prevX! = x || prevY! = y) {int servoX = মানচিত্র (x, 600, 0, 70, 179); int servoY = মানচিত্র (y, 450, 0, 179, 95); servoX = মিনিট (servoX, 179); servoX = সর্বোচ্চ (servoX, 70); servoY = মিনিট (servoY, 179); servoY = সর্বোচ্চ (servoY, 95); servoHor.write (servoX); servoVer.write (servoY); }} void loop () {if (Serial.available ()> 0) {if (Serial.read () == 'X') {x = Serial.parseInt (); যদি (Serial.read () == 'Y') {y = Serial.parseInt (); পস (); }} while (Serial.available ()> 0) {Serial.read (); }}}
ধাপ 5: প্যান-টিল্ট মেকানিজম:-
আমি প্যান-টিল্টের জন্য একটি সহজলভ্য কিট ব্যবহার করেছি। আপনি চাইলে কাঠ/প্লাস্টিক বা এমনকি থ্রিডি প্রিন্ট ব্যবহার করে নিজেই তৈরি করতে পারেন।
আমি যেটি ব্যবহার করেছি তা বেশ সস্তা, এবং একত্রিত করা খুব সহজ। তবুও যদি আপনি এটি কীভাবে করবেন তার নির্দেশাবলী চান, আপনি এটি এখানে খুঁজে পেতে পারেন।
ধাপ 6: সংযোগ তৈরি করা:
সার্কিটটি বেশ সহজ। আরডুইনোতে কেবল দুটি সার্ভস সংযুক্ত করুন।
- পিন 5 থেকে উল্লম্ব
- অনুভূমিকভাবে পিন 6
- +5V পাওয়ার
- GND থেকে GND
রেফারেন্সের জন্য সার্কিট ডায়াগ্রাম চেক করুন।
ধাপ 7: পরীক্ষা:
- সবকিছু শেষ হয়ে গেলে শেষ কাজ হল পরীক্ষা করা যদি এটি কাজ করে। প্রথমে পরীক্ষা করার জন্য নিশ্চিত করুন যে সার্ভিসগুলি সঠিকভাবে arduino এর সাথে সংযুক্ত এবং স্কেচ আপলোড করা হয়েছে।
- স্কেচ আপলোড করার পরে আইডিই বন্ধ করতে ভুলবেন না যাতে পোর্টটি পাইথনের সাথে সংযোগের জন্য মুক্ত থাকে।
- এখন Python IDLE দিয়ে 'face.py' খুলুন এবং কোডটি চালানোর জন্য 'F5' টিপুন। আরডুইনোতে সংযোগ করতে কয়েক সেকেন্ড সময় লাগবে এবং তারপরে আপনি ওয়েব ক্যাম স্ট্রিমিং করে একটি উইন্ডো দেখতে সক্ষম হবেন। এখন কোডটি আপনার মুখ সনাক্ত করবে এবং সার্ভোসগুলি এটিকে ট্র্যাক করবে।
- আপনি বস্তু সরানোর সময় Servo সরানো উচিত। এখন শুধু সার্ভিসের সাথে ক্যামেরা সংযুক্ত করুন যাতে এটি সার্ভোসের সাথে চলবে।
ধন্যবাদ.
প্রস্তাবিত:
ESP32-CAM বোর্ড ব্যবহার করে ফেস ডিটেকশন সহ আইপি ক্যামেরা: 5 টি ধাপ
ESP32-CAM বোর্ড ব্যবহার করে ফেস ডিটেকশন সহ আইপি ক্যামেরা: এই পোস্টটি অন্যদের তুলনায় আলাদা এবং আমরা খুব আকর্ষণীয় ESP32-CAM বোর্ডের দিকে নজর রাখি যা আশ্চর্যজনকভাবে সস্তা ($ 9 এর কম) এবং ব্যবহার করা সহজ। আমরা একটি সাধারণ আইপি ক্যামেরা তৈরি করি যা 2 ব্যবহার করে একটি লাইভ ভিডিও ফিড স্ট্রিম করতে ব্যবহার করা যেতে পারে
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: 5 টি ধাপ
ফেস ট্র্যাকিং ডিভাইস! পাইথন এবং আরডুইনো: হ্যালো সবাই এই নির্দেশাবলী পড়ছেন। এটি একটি ফেস ট্র্যাকিং ডিভাইস যা OpenCV নামে একটি পাইথন লাইব্রেরিতে কাজ করে। সিভি মানে 'কম্পিউটার ভিশন'। তারপরে আমি আমার পিসি এবং আমার আরডুইনো ইউএনও এর মধ্যে একটি সিরিয়াল ইন্টারফেস সেট আপ করেছি। সুতরাং এর মানে এই যে
ফেস ট্র্যাকিং এবং হাসি সনাক্তকারী হ্যালোইন রোবট: 8 টি ধাপ (ছবি সহ)
ফেস ট্র্যাকিং এবং হাসি সনাক্তকারী হ্যালোইন রোবট: হ্যালোইন আসছে! আমরা কিছু সুন্দর করার সিদ্ধান্ত নিয়েছি। ভূত এবং স্কলি রোবটের সাথে দেখা করুন। তারা আপনার মুখ অনুসরণ করতে পারে এবং তারা জানে আপনি যখন আপনার সাথে হাসতে হাসছেন! এই প্রকল্পটি আইরবি অ্যাপ ব্যবহার করার আরেকটি উদাহরণ যা আইফোনকে রূপান্তর করে
Arduino এর সাথে 2.4Ghz NRF24L01 মডিউল ব্যবহার করে ওয়্যারলেস রিমোট - Nrf24l01 4 চ্যানেল / 6 চ্যানেল ট্রান্সমিটার রিসিভার কোয়াডকপ্টার - আরসি হেলিকপ্টার - আরডুইনো ব্যবহার করে আরসি প্লেন: 5 টি ধাপ (ছবি সহ)
Arduino এর সাথে 2.4Ghz NRF24L01 মডিউল ব্যবহার করে ওয়্যারলেস রিমোট | Nrf24l01 4 চ্যানেল / 6 চ্যানেল ট্রান্সমিটার রিসিভার কোয়াডকপ্টার | আরসি হেলিকপ্টার | আরডুইনো ব্যবহার করে আরসি প্লেন: একটি আরসি গাড়ি চালানোর জন্য | চতুর্ভুজ | ড্রোন | আরসি প্লেন | RC নৌকা, আমাদের সবসময় একটি রিসিভার এবং ট্রান্সমিটার দরকার, ধরুন RC QUADCOPTER এর জন্য আমাদের একটি 6 টি চ্যানেল ট্রান্সমিটার এবং রিসিভার দরকার এবং সেই ধরনের TX এবং RX খুব ব্যয়বহুল, তাই আমরা আমাদের একটি তৈরি করতে যাচ্ছি
ফেস ট্র্যাকিং গান: 4 টি ধাপ
ফেস ট্র্যাকিং গান: এই প্রকল্পটি এখানে দেখানো লেজার ট্রিপ তারের বন্দুক প্রকল্প থেকে একটি সম্প্রসারণ-https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/ সর্বোপরি পার্থক্য শুধু এই যে বন্দুকটি লেজার দ্বারা ট্রিগার হবে না কিন্তু