সুচিপত্র:

বায়োফিডব্যাক সিনেমা: 7 টি ধাপ
বায়োফিডব্যাক সিনেমা: 7 টি ধাপ

ভিডিও: বায়োফিডব্যাক সিনেমা: 7 টি ধাপ

ভিডিও: বায়োফিডব্যাক সিনেমা: 7 টি ধাপ
ভিডিও: kha all sbji greaves holden dedege biofeedback detritus 2024, জুলাই
Anonim
Image
Image
বায়োফিডব্যাক সিনেমা
বায়োফিডব্যাক সিনেমা

প্রকল্প লেখক

জেসিকা অ্যান

সহযোগীরা

  • গ্রেগরি হাফ
  • সালুদ লোপেজ
  • পেড্রো পেইরা

সম্পর্কিত

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

প্রোটোটাইপ কনফিগারেশন

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

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

নীচে আপনার নিজস্ব বায়োফিডব্যাক সিনেমা সিস্টেম তৈরির নির্দেশাবলী রয়েছে।

সুখী পরীক্ষা

ধাপ 1: সরবরাহ

সরবরাহ
সরবরাহ

আপনার নিজের বায়োফিডব্যাক সিনেমা প্রোটোটাইপ তৈরির জন্য আপনার যা যা প্রয়োজন তা নীচে তালিকাভুক্ত করা হয়েছে।

  1. নিউরোস্কি মাইন্ডওয়েভ মোবাইল ইইজি হেডসেট
  2. রাস্পবেরি পাই বি+ (বি+ আরও ভাল, আরও ইউএসবি পোর্ট, তবে আপনার যদি একটি ইউএসবি হাব থাকে তবে বি মডেলটিও ভাল)।

    1. রাস্পবেরি পাই পাওয়ার অ্যাডাপ্টার বা ব্যাটারি প্যাক
    2. ওয়াইফাই ডংগল -অথবা- ইথারনেট সংযোগ (শুধুমাত্র সেটআপের সময় প্রয়োজন)
    3. ব্লুটুথ ডংগল সামঞ্জস্যপূর্ণ ডংলের জন্য উইকি দেখুন
    4. NOOBS সহ SD কার্ড (কমপক্ষে 8GBs)।
  3. Arduino যে কোন বোর্ড ঠিক আছে, এই নির্দেশে ইউনো ব্যবহার করে। এছাড়াও মনে রাখবেন, আপনি কেবল পাইতে I/O ব্যবহার করতে পারেন।

    1. Arduino পাওয়ার অ্যাডাপ্টার বা ব্যাটারি প্যাক
    2. এ-বি ইউএসবি কেবল
  4. ইউএসবি ওয়েবক্যাম
  5. মিনি প্যান-টিল্ট কিট
  6. W/HDMI ইনপুট মনিটর করুন অথবা আপনার কম্পিউটার থেকে আপনার পাই রিমোট কন্ট্রোল করতে VNC ব্যবহার করুন [এখানে টিউটোরিয়াল]

    HDMI কেবল

  7. ইউএসবি কীবোর্ড এবং মাউস ব্লুটুথ কীবোর্ড এবং মাউস ব্যবহার করে ইউএসবি পোর্টগুলি কমানোর জন্য সুপারিশ করে।

ধাপ 2: রাস্পবেরি পাই সেটআপ করুন

রাস্পবেরি পাই সেটআপ করুন
রাস্পবেরি পাই সেটআপ করুন

1. হার্ডওয়্যার সেটআপ করুন

কীবোর্ড, মাউস, ব্লুটুথ ডংগল, ওয়াইফাই ডংগল (বা ইথারনেট), ওয়েবক্যাম, HDMI কেবলের মাধ্যমে মনিটর, এবং আপনার রাস্পবেরি পাইতে পাওয়ার সংযোগ করুন।

2. অপারেটিং সিস্টেম সেটআপ করুন

  • পাওয়ার টগল করুন এবং আপনার পাই শুরু করা উচিত। Rasbpian OS ইনস্টল করুন, নির্দেশাবলী এখানে:
  • যদি বুট করা থাকে এবং রাস্পিয়ান সঠিকভাবে ইনস্টল করা থাকে তবে আপনার হোম ডেস্কটপ দেখতে হবে [উপরের চিত্র]।

ইঙ্গিত:

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

ধাপ 3: নিউরোস্কি হেডসেট সংযুক্ত করুন

নিউরোস্কি হেডসেট সংযুক্ত করুন
নিউরোস্কি হেডসেট সংযুক্ত করুন
নিউরোস্কি হেডসেট সংযুক্ত করুন
নিউরোস্কি হেডসেট সংযুক্ত করুন

1. ব্লুটুথ কনফিগারেশন

পাই নিউরোস্কির সাথে সংযুক্ত হওয়ার আগে আমাদের ব্লুটুথ সেটআপ করতে হবে:

ডেস্কটপে "LXTerminal" খুলুন (এখানে থেকে টার্মিনাল হিসাবে উল্লেখ করা হয়েছে)। ঘাটতিগুলি সমাধান এবং আপডেট করতে এই কমান্ডটি চালান:

$ sudo apt-get update

এই কমান্ড দিয়ে ব্লুটুথ ইনস্টল করুন:

$ sudo apt- ব্লুটুথ ইনস্টল করুন

সহজ ডেস্কটপ-টুলবার ব্লুটুথ ইউটিলিটি ইনস্টল করুন:

$ sudo apt-get install -y bluetooth bluez-utils blueman

টার্মিনাল থেকে পাই পুনরায় বুট করুন:

$ sudo রিবুট

2. ব্লুটুথ সংযোগ পরীক্ষা করুন

  • নিউরোস্কি হেডসেট চালু করুন
  • ডিভাইসের জন্য টার্মিনাল স্ক্যান থেকে:

hcitool স্ক্যান

মাইন্ডওয়েভ হেডসেট তালিকাভুক্ত করা উচিত, হেডসেটের MAC ঠিকানাটি নোট করুন [উপরের চিত্র]।

3. নিউরোস্কি লাইব্রেরি ইনস্টল করুন

এখন আমরা নিউরোস্কি পাইথন লাইব্রেরিগুলি ইনস্টল করার জন্য প্রস্তুত এবং লাইব্রেরি পরীক্ষার স্ক্রিপ্টের সাথে এর ডেটা স্ট্রিম সংগ্রহ করা শুরু করি:

টার্মিনাল থেকে গিথুব ইউটিলিটি ইনস্টল করুন:

sudo apt-get git-core ইনস্টল করুন

নিউরোস্কি পাইথন লাইব্রেরির সাথে ক্লোন গিথুব সংগ্রহস্থল:

সুডো গিট ক্লোন

আপনার হেডসেটের MAC ঠিকানা সহ MindwaveMobileRawReader.py ফাইল আপডেট করতে হবে। FYI: ফাইলের নাম কেস সংবেদনশীল।

sudo nano /home/pi/python-mindwave-mobile/MindwaveMobileRawReader.py

  • ফাইলে তালিকাভুক্ত MAC ঠিকানা আপডেট করুন। শেষ করার জন্য Ctrl-X, সেভ করার জন্য Y, প্রস্থান করার জন্য Enter।
  • নিউরোস্কি এবং পাই যুক্ত করুন এবং পিন ব্যবহারের জন্য অনুরোধ করা হলে "0000" ব্যবহার করার জন্য স্বয়ংক্রিয় সংযোগ বৈশিষ্ট্যটিকে অনুমতি দিন:

$ sudo bluez-simple-agent hci0 XX: XX: XX: XX: XX: XX: XX

$ sudo bluez-test-device বিশ্বস্ত XX: XX: XX: XX: XX: XX: XX হ্যাঁ

পাইথন ব্লুটুথ লাইব্রেরি ইনস্টল করুন:

sudo apt-get python-bluez ইনস্টল করুন

Pi ডেটাস্ট্রিম প্রিভিউ করতে সক্ষম তা নিশ্চিত করতে লাইব্রেরি টেস্ট স্ক্রিপ্ট চালান। আপনার ডেটা স্ট্রিমিং দেখতে হবে [উপরের চিত্র]:

$ sudo python /home/pi/python-mindwave-mobile/read_mindwave_mobile.py

ধাপ 4: USB ওয়েবক্যাম W/Open CV সংযুক্ত করুন

ইউএসবি ওয়েবক্যাম ডাব্লু/সিভি খুলুন
ইউএসবি ওয়েবক্যাম ডাব্লু/সিভি খুলুন

1. OpenCV ইনস্টল করুন

টার্মিনাল থেকে:

$ sudo apt-get libopencv-dev python-opencv ইনস্টল করুন

শেষ হয়ে গেলে, চালিয়ে যান:

$ sudo apt -get -f ইনস্টল করুন

ভাল পদক্ষেপের জন্য:

$ sudo apt-get libopencv-dev python-opencv ইনস্টল করুন

লাইব্রেরি আমদানি করার চেষ্টা করে ইনস্টলেশন পরীক্ষা করুন:

$ পাইথন

> cv2 আমদানি করুন

ইউএসবি ওয়েবক্যাম দিয়ে পাইথনে OpenCV পরীক্ষা করুন

  • ডেস্কটপে "IDLE" খুলুন (IDLE3 খুলবেন না!)
  • ফাইল মেনু থেকে নতুন উইন্ডো নির্বাচন করুন। আমাদের Cv-Blur-Test স্ক্রিপ্টটি নতুন উইন্ডোতে কপি করুন এবং সেভ করুন। স্ক্রিপ্ট এখানে পাওয়া যাবে:
  • রান মেনু থেকে রান মডিউল নির্বাচন করুন (অথবা F5 চাপুন)। এটি যেতে কয়েক সেকেন্ড সময় লাগতে পারে, কিন্তু আপনার লাইভ ওয়েবক্যাম ফিডের সাথে একটি ছোট ফ্রেম দেখা উচিত এবং ভিডিওটি অস্পষ্ট হওয়া উচিত। অভিনন্দন, OpenCV ইনস্টল করা হয়েছে এবং আপনার ওয়েবক্যামের সাথে সফলভাবে কাজ করছে [উপরের চিত্র]

ধাপ 5: Arduino সংযোগ করুন

1. Arduino IDE ডাউনলোড করুন

টার্মিনাল থেকে:

sudo apt- arduino ইনস্টল করুন

2. Arduino এবং লোড স্কেচ সংযুক্ত করুন

  • A-B USB তারের সাহায্যে Arduino কে Pi এ প্লাগ করুন।
  • ডেস্কটপ স্টার্ট মেনু থেকে ইলেকট্রনিক্সে যান এবং Arduino IDE খুলুন। IDE তে আমাদের arduino-serial-pi স্কেচটি অনুলিপি করুন [নীচের লিঙ্ক]। এটি একটি খুব মৌলিক স্কেচ যা সিরিয়ালে আসা ইনপুটের উপর ভিত্তি করে সার্ভো মোটরগুলিকে সরিয়ে দেবে। আমরা সবকিছুকে একসাথে রেখে শেষ ধাপে পাইথন স্কেচ ব্যবহার করে ব্রেনওয়েভ আউটপুটের উপর ভিত্তি করে সিরিয়ালে ডেটা পাঠাবো।

Arduino-serial-pi স্কেচ অনলাইন এখানে:

Arduino IDE তে, টুলস মেনুতে যান, সিরিয়াল পোর্ট নির্বাচন করুন এবং তালিকাভুক্ত Arduino পোর্ট নির্বাচন করুন, সম্ভবত /dev /ttyACM0 এর মত কিছু। বন্দরের একটি নোট তৈরি করুন।

3. সিরিয়াল কনসোল অক্ষম করুন

সিরিয়াল কনসোল অক্ষম করার জন্য একটি স্ক্রিপ্ট ডাউনলোড করুন এবং চালান যাতে ইউএসবি সিরিয়াল সংযোগটি মসৃণভাবে চলতে পারে:

$ wget

/alamode-setup.tar.gz?raw=true -O alamode-setup.tar.gz

$ tar -xvzf alamode -setup.tar.gz

$ cd অ্যালামোড-সেটআপ

$ sudo./setup

$ sudo রিবুট

FYI:

আপনি যদি B+ ব্যবহার করেন তাহলে সার্ভিসগুলিকে সমর্থন করার জন্য যথেষ্ট I/O থাকতে পারে, (GPIO সেটআপ এবং ব্যবহার করতে এখানে দেখুন)। যাইহোক, আমি ভবিষ্যতে মস্তিষ্ক থেকে ইলেকট্রনিক্স পরীক্ষার জন্য অতিরিক্ত উপাদান যোগ করতে আগ্রহী। সুতরাং, আরডুইনো দিয়ে প্রাথমিক প্রোটোটাইপ স্থাপন করা প্রচুর ব্রেকআউট ইলেকট্রনিক সম্ভাবনা নিশ্চিত করে।

ধাপ 6: সবকিছু একসাথে রাখা

Image
Image

1. চূড়ান্ত পাইথন স্ক্রিপ্ট

"পাইথন-মাইন্ডওয়েভ-মোবাইল" ফোল্ডারে চূড়ান্ত পাইথন স্ক্রিপ্ট যোগ করার আগে আমাদের ফোল্ডারের অনুমতি পরিবর্তন করতে হবে। টার্মিনাল থেকে:

$ chmod a = rwx/home/pi/python-mindwave-mobile

  • আইডিএল খুলুন এবং আমাদের চূড়ান্ত পাইথন স্ক্রিপ্টটি চালান, এখানে অনলাইনে উপলব্ধ: https://github.com/PrivateHQ/biofeedback-cinema/ নিশ্চিত করুন যে এটি পাইথন-মাইন্ডওয়েভ-মোবাইল ফোল্ডারে অবস্থিত। FYI: আপনাকে আমাদের পাইথন স্ক্রিপ্টটি আপনার প্রকৃত Arduino পোর্ট ঠিকানার সাথে আপডেট করতে হবে।
  • যখন আপনি এই স্ক্রিপ্টটি চালাবেন তখন আপনার তিনটি জিনিস ঘটতে হবে: 1) আপনার মনোযোগ স্তরটি পাইথন শেল -এ তালিকাভুক্ত করা হবে, 2) একটি ছোট ফ্রেম প্রদর্শিত হবে যা ওয়েবক্যাম লাইভ ফিডকে ব্লার পরিবর্তন করে মনোযোগের স্তরের উপর ভিত্তি করে, 3) মোটর (s) সরানোর সময় মনোযোগের স্তরটি সিরিয়াল [উপরের ভিডিও] এর মাধ্যমে আরডুইনোতে চলে যাচ্ছে।

ধাপ 7: উন্নতি ও উন্নয়ন

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

প্রস্তাবিত: