ইন্দ্রিয়তন্ত্র/কম্পিউটার মডেল/রেটিনার কার্যকারিতার সিমুলেশন
নিচের অংশে রেটিনার গ্যাংলিয়ন কোষের কার্যকলাপের একটি বাস্তবসম্মত সিমুলেশন ব্যাখ্যা করা হয়েছে, যেখানে কম্পিউটার ভাষা Python এবং ছবি ও ভিডিও প্রক্রিয়াকরণের প্যাকেজ OpenCV ব্যবহার করা হয়েছে। শুরুতে রেটিনার গুরুত্বপূর্ণ বৈশিষ্ট্যগুলোর সংক্ষিপ্ত বিবরণ দেওয়া হয়েছে, এরপর প্রয়োজনীয় সফটওয়্যার প্যাকেজ ইনস্টল করার নিয়ম দেখানো হয়েছে। বাকি অংশে সিমুলেশন এবং সংশ্লিষ্ট প্যারামিটারগুলো উপস্থাপন করা হয়েছে।
রেটিনার শারীরবৃত্তীয় গঠন
[সম্পাদনা]যখন আলো চোখের পেছনে পৌঁছায়, তখন এটি রেটিনার কোষীয় স্তরে প্রবেশ করে। রেটিনার যে কোষগুলো আলো শনাক্ত করে এবং প্রতিক্রিয়া জানায়, সেগুলোকে বলা হয় ফটো-রিসেপ্টর। এই কোষগুলো রেটিনার একেবারে পেছনের দিকে অবস্থিত। ফটো-রিসেপ্টরের দুই ধরণের কোষ আছে: রডস এবং কনস। রডস আমাদের কম আলোতেও দেখতে সাহায্য করে, কিন্তু রঙ শনাক্ত করতে পারে না। অন্যদিকে কনস স্বাভাবিক আলোতে রঙ দেখা সম্ভব করে তোলে। রেটিনার বেশিরভাগ অংশে রডস-এর সংখ্যা কনস-এর চেয়ে বেশি। রেটিনার যে অংশে সবচেয়ে স্পষ্টভাবে দেখা যায়, সেটি হলো আমাদের দৃষ্টির কেন্দ্রস্থলে। যখন আলো ফটো-রিসেপ্টরে পড়ে, তখন এটি "Photopigment" নামক একটি অণুর সাথে প্রতিক্রিয়া করে এবং একটি সিগনাল উৎপন্ন হয়। এই সিগনাল Bipolar cells-এ যায়, যেগুলো ফটো-রিসেপ্টর ও গ্যাংলিয়ন কোষের মধ্যে সংযোগ তৈরি করে। এরপর Bipolar কোষ থেকে সিগনাল গ্যাংলিয়ন কোষে যায়। গ্যাংলিয়ন কোষগুলো চোখ ছেড়ে একটি গুচ্ছ আকারে Optic Disc নামক স্থানে একত্রিত হয়। এরপর এই কোষগুলোকে বলা হয় Optic Nerve। অপটিক নার্ভ এই ভিজ্যুয়াল তথ্য মস্তিষ্কে পাঠায় প্রক্রিয়াকরণের জন্য। রেটিনায় আরও দুটি গুরুত্বপূর্ণ কোষ আছে: হরিজোন্টাল এবং অ্যামাক্রিন কোষ। হরিজোন্টাল কোষ একাধিক ফটো-রিসেপ্টর কোষ থেকে ইনপুট পায়। অ্যামাক্রিন কোষ বাইপোলার কোষ থেকে সিগনাল গ্রহণ করে এবং বাইপোলার ও গ্যাংলিয়ন কোষের কার্যক্রম নিয়ন্ত্রণ ও সমন্বয় করে [১]। রেটিনার আরও কিছু চিত্র এখানে পাওয়া যাবে।

রেটিনার কোষ দুটি স্তর গঠন করে: Outer Plexiform Layer (OPL) এবং Inner Plexiform Layer (IPL)। প্রতিটি স্তর নির্দিষ্ট ফিল্টারের সাহায্যে মডেল করা হয়। IPL স্তর হচ্ছে রেটিনার আউটপুট স্তর এবং এখানে বিভিন্ন তথ্যচ্যানেল শনাক্ত করা যায়। এখানে দুইটি গুরুত্বপূর্ণ চ্যানেলের কথা বলা হয়েছে: Parvocellular (Parvo) এবং Magnocellular (Magno)। Parvo চ্যানেল সূক্ষ্ম বিবরণ শনাক্ত করতে কাজ করে এবং Magno চ্যানেল গতি সংক্রান্ত তথ্য শনাক্ত করতে সাহায্য করে। মানুষের রেটিনায়, Parvo চ্যানেল মূলত ফোভিয়ার কেন্দ্রীয় অংশে সক্রিয় থাকে এবং Magno চ্যানেল প্রান্তীয় দৃষ্টিতে বেশি সক্রিয় থাকে [২]। আশ্চর্যের বিষয়, Parvo চ্যানেলের সংকেত Magno চ্যানেলের চেয়ে দেরিতে পৌঁছায়, যেমন বাম পাশের ছবিতে দেখানো হয়েছে [৩]।
Magno এবং Parvo কোষ কীভাবে কাজ করে তা বোঝার জন্য বিজ্ঞানীরা মস্তিষ্কে তথ্য প্রেরণকারী পথগুলোর ক্ষতি করে পরীক্ষা চালিয়েছেন এবং প্রাণীর কর্মক্ষমতা দেখেছেন। একটি বানরের lateral geniculate nucleus-এর Parvo স্তরের কোষ নষ্ট করলে, রঙ পার্থক্য এবং প্যাটার্ন শনাক্ত করার ক্ষমতা হ্রাস পায় [৪]। সবচেয়ে তথ্যবহুল ফলাফল হলো, যখন Magno স্তরের নিউরন ধ্বংস করা হয়, প্রাণী কম ফ্রিকোয়েন্সির দ্রুত ঝলকানির প্রতি সংবেদনশীলতা হারায়। এই সংবেদনশীলতা হারানো দেখায় যে Magno পথ আমাদের উচ্চ টেম্পোরাল ফ্রিকোয়েন্সির তথ্য বিশ্লেষণে সহায়তা করে [৩]। Magno পথ এমন তথ্য বহন করে যা গতি শনাক্ত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। যদিও এই সংকেত না থাকলেও, উদ্দীপনার কনট্রাস্ট বাড়িয়ে কিছুটা ক্ষতিপূরণ সম্ভব। এ কারণেই Magno পথের তথ্য গতি শনাক্ত করার জন্য খুব উপযোগী। এছাড়াও, Parvo এবং Magno পথগুলো আলঝেইমার ও পারকিনসনের মত স্নায়ুবিক রোগের সাথে সম্পর্কিত। আরও বিস্তারিত তথ্য পাওয়া যাবে [৫] এ।
নিচে OpenCV ব্যবহার করে Python-এ কিছু সিমুলেশন দেখানো হয়েছে। Fig 1-এ বিখ্যাত Lena ছবির Parvo ও Magno স্তরের আউটপুট দেখানো হয়েছে। দেখা যায়, Parvo স্তরে রঙ ও প্যাটার্ন সংরক্ষিত থাকে এবং Magno স্তরে কম ফ্রিকোয়েন্সির কনট্যুর থাকে। রেটিনার শারীরবৃত্তীয় গঠনকে গাণিতিক মডেলে প্রকাশ করা দরকার, যাতে রেটিনাল ইমপ্লান্ট এবং দৃষ্টিবিজ্ঞানের গবেষণা এগিয়ে যায়। রেটিনাল ইমপ্লান্ট নিয়ে কিছু আকর্ষণীয় প্রবন্ধ পাওয়া যাবে [৬] এবং webvision এ।
নিচের অংশগুলোতে বিস্তারিতভাবে প্যাকেজ, প্যারামিটার সেটিং ও ডেমো নিয়ে আলোচনা করা হয়েছে।
ইনস্টলেশন গাইড এবং সোর্স কোড
[সম্পাদনা]

এই প্যাকেজটি বর্তমানে GitHub-এ হোস্ট করা হয়েছে, সোর্স কোড দেখতে এখানে ক্লিক করুন। এই প্যাকেজটি Python 2.x এবং 3.x উভয় ভার্সন সাপোর্ট করে।

সফলভাবে এই প্যাকেজ ইনস্টল ও চালাতে Anaconda ব্যবহারের জন্য জোরালোভাবে সুপারিশ করা হয়। এটি থার্ড পার্টি প্যাকেজ আপডেট ও ইনস্টলে সমস্যার ঝুঁকি কমাবে।
প্রয়োজনীয়তা
[সম্পাদনা]- OpenCV3: ছবি ও ভিডিও প্রক্রিয়াকরণের জন্য। OpenCV ইনস্টল করার বিভিন্ন উপায় রয়েছে। আপনি চাইলে OpenCV-এর ওয়েবসাইটে ডকুমেন্টেশন দেখে সোর্স থেকে কম্পাইল করতে পারেন (Python অপশন ও এক্সট্রা মডিউল চালু রাখতে ভুলবেন না)। Anaconda ব্যবহারকারীরা সরাসরি নিচের কমান্ড চালাতে পারেন:
conda install -c menpo opencv3=3.1.0
উপরের কমান্ডটি লিনাক্স টার্মিনাল বা উইন্ডোজ কনসোলে টাইপ করলেই Anaconda স্বয়ংক্রিয়ভাবে ইনস্টল করবে।
- PyQtGraph: GUI ডিজাইন ও ব্যবস্থাপনার জন্য। Anaconda দিয়ে নিচের কমান্ডে ইনস্টল করুন:
conda install pyqtgraph
PyPI থেকে সরাসরি ইনস্টল না করাই ভালো, কারণ এতে কিছু জটিলতা থাকতে পারে।
- অন্যান্য প্রয়োজনীয় প্যাকেজ যেমন numpy, PyPI দিয়ে ইনস্টল করা যাবে এবং ইনস্টলেশনের সময় চেক করা হবে।
ইনস্টলেশন
[সম্পাদনা]PyPI থেকে (সুপারিশকৃত)
[সম্পাদনা]উপরের প্যাকেজগুলো ইনস্টল হয়ে থাকলে, PyPI থেকে নিচের কমান্ডে সর্বশেষ ভার্সন ইনস্টল করুন:
pip install simretina
GitHub থেকে
[সম্পাদনা]আপনার কম্পিউটারে Git ইনস্টল থাকা উচিত। উইন্ডোজ ব্যবহারকারীদের ক্ষেত্রে Git executable আপনার path-এ থাকা উচিত।
OpenCV3 ও pyqtgraph ইনস্টল করার পর, রেটিনা সিমুলেশন প্যাকেজটি ইনস্টল করতে নিচের কমান্ড দিন:
pip install git+git://github.com/duguyue100/retina-simulation.git \
-r https://raw.githubusercontent.com/duguyue100/retina-simulation/master/requirements.txt
pip স্বয়ংক্রিয়ভাবে প্যাকেজের সর্বশেষ সংস্করণ সংগ্রহ ও ইনস্টল করবে।
Retina Viewer চালু করুন
[সম্পাদনা]Retina Viewer এই প্যাকেজের প্রধান উপাদান। এটি বিভিন্ন প্যারামিটার সেটিং সহ রেটিনা মডেলের কার্যক্রম দেখতে সহায়তা করে।
ইনস্টলেশন সফলভাবে শেষ হলে নিচের কমান্ড দিন:
retina_viewer.py
উল্লেখ্য, উপরের কমান্ডটি একটি ফাইল নয় বরং একটি কমান্ড, যা ইনস্টলেশনের পর টার্মিনাল বা কনসোল থেকে ব্যবহার করা যাবে।
উইন্ডোজ ব্যবহারকারীরা, সিস্টেম সরাসরি ভিউয়ার চালু করতে পারে অথবা কোন প্রোগ্রাম দিয়ে ফাইলটি খুলবে জিজ্ঞাসা করতে পারে। তখন আপনাকে Anaconda ইনস্টলেশন ফোল্ডার থেকে python.exe নির্বাচন করতে হবে। যদি কাজ না করে, তাহলে নতুন কনসোল খুলে আবার কমান্ড দিন।
দ্রষ্টব্য: FFMPEG প্রথমবারের মতো প্রয়োজন হলে স্বয়ংক্রিয়ভাবে ডাউনলোড হবে।
সফটওয়্যার GUI ব্যাখ্যা
[সম্পাদনা]
retina_viewer.py (বামে দেখানো হয়েছে) বর্তমানে ৫টি প্যানেলে বিভক্ত। উপরের দিকে, বাম থেকে ডানে তিনটি ডিসপ্লে: মূল ছবি/ভিডিও, Parvocellular আউটপুট এবং Magnocellular আউটপুট। নিচের বাম পাশে, বিভিন্ন মোডে ভিউয়ার চালানোর ফাংশনগুলো আছে। নিচের মাঝখানে, Parvocellular পথের জন্য IPL ও OPL স্তরের প্যারামিটার আছে। নিচের ডানে, Magnocellular পথের জন্য IPL স্তরের প্যারামিটার আছে।
আপনি সিমুলেশনের সময় প্যারামিটার পরিবর্তন করতে পারেন। তবে যেহেতু রেটিনা মডেল সময়িক মাত্রা বিবেচনা করে, তাই প্যারামিটার পরিবর্তনের পর কিছুটা সময় নিয়ে মানিয়ে নিতে হয়। বিস্তারিত প্যারামিটার সেটিং পরবর্তী অংশে ব্যাখ্যা করা হয়েছে।
ডান দিকের নিচের প্যানেল থেকে প্রথমে Operation Mode নির্বাচন করতে হয়, এখানে ৫টি মোড আছে:
| অপারেশন মোড | বর্ণনা |
|---|---|
| Image | Builtin Examples থেকে ছবি বেছে নেওয়া যায়। এখানে দুইটি ছবি আছে: Lena এবং Dog। Lena হলো স্ট্যান্ডার্ড টেস্ট ইমেজ এবং Dog ছবিটি Caltech-256 ওপেন ইমেজ ডেটাসেট থেকে নেওয়া। |
| Image (External) | আপনার সিস্টেম থেকে বাহ্যিক ছবি দিতে পারবেন। জনপ্রিয় ছবির ফরম্যাটগুলো সাপোর্ট করে। Open Image/Video বাটনে ক্লিক করে ছবি দিন। |
| Video | Builtin Examples থেকে ২টি ভিডিও আছে: Horse Riding এবং Taichi। এগুলো UCF-101 Action Recognition Dataset থেকে নেওয়া। |
| Video (External) | আপনার সিস্টেম থেকে বাহ্যিক ভিডিও দিতে হবে। Open Image/Video বাটনে ক্লিক করে দিন। |
| Webcam | যদি আপনার কম্পিউটারে ওয়েবক্যাম থাকে, তবে সেখান থেকে ভিডিও সংগ্রহ করে তা প্রসেস করবে। |
Parameters and Settings
[সম্পাদনা]Brief Mathematical Description of the Retina Model
[সম্পাদনা]
এই অংশে আমরা সংক্ষেপে রেটিনার মডেলটি পর্যালোচনা করব যা [৭] এ উপস্থাপন করা হয়েছে। ডান পাশে একটি ধারণামূলক চিত্র দেখানো হয়েছে। প্রথমে, ইনপুট ফ্রেমের আলোকমাত্রা ফটো রিসেপ্টর দ্বারা স্বাভাবিকীকরণ করা হয়, এরপর এটি Outer Plexiform Layer (OPL) ও Inner Plexiform Layer (IPL) দ্বারা প্রক্রিয়াকৃত হয়। IPL স্তরের আউটপুট দুটি চ্যানেলে যায়: Parvo চ্যানেল যেটি বিস্তারিত বিশ্লেষণ করে এবং Magno চ্যানেল যেটি গতি বিশ্লেষণ করে।
ফটো রিসেপ্টর ব্যবহার করে আলোকমাত্রার ভিন্নতা স্বাভাবিকীকরণ
[সম্পাদনা]নিচের সমীকরণগুলো ইনপুট ল্যুমিন্যান্স কে সামঞ্জস্যকৃত ল্যুমিন্যান্স এ রূপান্তর করে, যা পরিসরে থাকে। এখানে হচ্ছে ছবির সর্বোচ্চ অনুমোদিত পিক্সেল মান (৮-বিট ছবির ক্ষেত্রে এটি ২৫৫, অন্য ফরম্যাট হলে মান ভিন্ন হতে পারে)। ফটো রিসেপ্টর পার্শ্ববর্তী আলো অনুসারে সংবেদনশীলতা পরিবর্তন করতে পারে বলেই এই রূপান্তর সম্ভব হয়।
এখানে, একটি স্থির সংকোচন প্যারামিটার, একটি সংকোচন প্যারামিটার যা স্থানীয় ল্যুমিন্যান্স এর সঙ্গে রৈখিকভাবে সম্পর্কযুক্ত। গণনার জন্য ইমেজে একটি স্পেশিয়াল লো পাস ফিল্টার প্রয়োগ করা হয়, যা horizontal cell নেটওয়ার্ক দ্বারা অর্জিত হয়।
এই মডেলটি অন্ধকার অঞ্চলে কনট্রাস্ট দৃশ্যমানতা বৃদ্ধি করে এবং উজ্জ্বল অঞ্চলে তা বজায় রাখে।
Outer Plexiform Layer
[সম্পাদনা]OPL এর একটি মডেল ফটো রিসেপ্টর থেকে আগত সিগনালে horizontal cell গুলোর প্রভাব বর্ণনা করে। এটি একটি nonseparable spatio-temporal ফিল্টার দ্বারা মডেল করা যায় যেখানে স্পেশিয়াল ফ্রিকোয়েন্সি এবং টেম্পোরাল ফ্রিকোয়েন্সি নির্দেশ করে, ফিল্টারটি নিম্নরূপ:
যেখানে,
উপরের দুটি সমীকরণ হল দুটি লো পাস স্পেশিয়াল-টেম্পোরাল ফিল্টার যা ফটো রিসেপ্টর নেটওয়ার্ক ও horizontal cell নেটওয়ার্ক কে মডেল করে। নেটওয়ার্কের আউটপুটে কেবলমাত্র ছবির খুব কম স্পেশিয়াল ফ্রিকোয়েন্সি থাকে, এটি হিসেবে ব্যবহৃত হয়। ও যথাক্রমে ফিল্টার ও এর গেইন, ও টেম্পোরাল কনস্ট্যান্ট, ও হল স্পেশিয়াল ফিল্টারিং কনস্ট্যান্ট যেখানে উচ্চ ফ্রিকোয়েন্সি কেটে দেয় এবং নিম্ন ফ্রিকোয়েন্সি কেটে দেয়।
ও এর পার্থক্য BipON ও BipOFF নামে দুটি অপারেটর দ্বারা প্রকাশ করা যায় যা যথাক্রমে ph ও h ইমেজের পজিটিভ ও নেগেটিভ অংশ প্রদান করে। এটি বাইপোলার সেলের কাজ অনুকরণ করে, যা OPL আউটপুটকে ON এবং OFF দুটি চ্যানেলে ভাগ করে। এই ফিল্টার স্পেশিয়াল-টেম্পোরাল নয়েজ দূর করে এবং ক
- ↑ Helga Kolb. How the retina works. American scientist, 91(1):28{35, 2003
- ↑ D.M. Dacey, Higher order processing in the visual system, in: Ciba Foundation Symposium, vol. 184, Wiley, Chichester, 1994, pp. 12–34.
- ↑ ৩.০ ৩.১ Wandell, Brian A; Foundations of Vision. 1995.
- ↑ Pasternak, Tatiana, and William H. Merigan. "Motion perception following lesions of the superior temporal sulcus in the monkey." Cerebral Cortex 4.3 (1994): 247-259.
- ↑ Yoonessi, Ali, and Ahmad Yoonessi. "Functional assessment of magno, parvo and konio-cellular pathways; current state and future clinical applications." Journal of ophthalmic & vision research 6, no. 2 (2011): 119-126. Harvard
- ↑ Dagnelie, G. (2012). Retinal implants: emergence of a multidisciplinary field. Current opinion in neurology, 25(1), 67-75.
- ↑ A. Benoit, A. Caplier, B. Durette, J. Herault, Using Human Visual System modeling for bio-inspired low level image processing, Computer Vision and Image Understanding, Volume 114, Issue 7, July 2010, Pages 758-773, ISSN 1077-3142, http://dx.doi.org/10.1016/j.cviu.2010.01.011.